Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПІ_книжка_лаб_11.doc
Скачиваний:
0
Добавлен:
13.11.2019
Размер:
704.51 Кб
Скачать

Структура звіту з лабораторної роботи № 3

  1. Титульна сторінка (див. Додаток А)

  2. Тема, мета, завдання.

  3. Копії екранів з результатами виконання завдання 1.

  4. Результати виконання завдання 2.

  5. Висновок.

Основні запитання

  1. Основні характеристики діаграми потоків даних.

  2. Класифікація вимог.

  3. Що означає процес формулювання вимог?

  4. Основні підходи до формулювання вимог.

Варіанти завдань до лабораторних робіт № 3 та №4

  1. Модель страхування

  2. Створення BPwin-моделі для інформаційної системи «Авіа-каса»

  3. Бібліотека

  4. Обмін валюти

  5. Відділ кадрів

  6. Проектування і створення ПП

  7. Інформаційна система фірми-провайдера

  8. Кредитний відділ

  9. Діяльність складу

  10. Діяльність компанії збору і тестування комп’ютерів.

  11. Облік пацієнтів в медичних закладах

  12. Навчальний заклад

  13. Оформлення працівників та облік їх відпустки

  14. Діяльність компанії-дистрибютора

  15. Диспетчер таксі

  16. Модель документообороту

  17. Робота касира

  18. Робота бухгалтера

  19. Робота диспетчера

  20. Косметичний салон

  21. Діяльність компанії з виготовлення продукції

  22. Робота рієлторської агенції

  23. Служба зайнятості

  24. Робота приймальної комісії

  25. Готельна сфера

  26. Туристичний бізнес

  27. Робота фотолабораторії

  28. Будівництво будинку

  29. Випуск номера газети

  30. Продаж автомобіля

  31. Пошиття одягу

  32. Виготовлення меблів

Лабораторна робота № 4

Тема: Дослідження особливостей проектування ПЗ

Мета: Дослідити особливості проектування ПЗ

Завдання:

Відповідно до умови варіанта побудувати UML-діаграми:

  • діаграму прецедентів;

  • діаграму активності;

  • діаграму послідовностей дій

  • діаграму класів згідно з варіантом.

Теоретичні відомості

Технології написання ПЗ на даний час вийшли на но­вий рівень складності, так як вони включають велику кількість етапів пов'язаних між собою та велику кількість людей, задіяних при розробці ПЗ. які повинні коор­динувати свої дії. Спробуємо з'ясувати технологію розробки великих програмних проектів.

По-перше, на даний час все більше ПЗ створюється в режимі офшорного аутсорсинта (передача процесу розробки ПЗ в інші країни, з дешевою робочою силою, наприклад, Ін­дію, Малайзію, Україну, Росію та ін.). По-друге, вважається хорошим тоном розміщення «проб­ної» безкоштовної версії на сайті розробника. По-третє, програма матиме комерційний успіх, якщо вона розроблена швидко. Тому масштабні програмні продукти створюються великими колектива­ми, і виникає необхідність в координації і управлінні процесами розробки ПЗ.

Стандартом де-факто в цій області сьогодні є RUP (Rational Unified Process), для якого є відповідний інструментарій, зокрема Open Source: написано безліч документів і керівництв, а також існує величезна кількість прикладів успішного застосування цієї методики на практиці. Проте як насправді розробляється ПО в компаніях, які орієнтовані на індустріальний ринок? На першому етапі відбувається заключення контракту, головною метою цього етапу є отримання ТЗ (технічно­го завдання) і оцінки вартості проекту (кількість строчок коду). ТЗ, як правило, проектується за допомогою діаграм прецедентів (UseCases) в UML-нотації замовником. Далі відбувається моделювання і уточнення ТЗ також за допомогою UML. Наступний етап - аналіз і проектування -також базується на UML (створюється набір візуальних діаграм, який повністю описує всю логіку роботи майбутнього ПЗ) і є самим складним і відповідальним, так як помилки які були допущенні при проектуванні можуть бути виявлені на етапі тестування вже готового продукту. Наступний етап - це реалізація. На цьому етапі відбувається безпосередній «кодпнг» ПЗ за допомогою, на­приклад. C++. Java або С# на основі розробленого проекту і моделі. Даний етап не є складним і відповідальним, так як вже побудована модель, є проект і все зводиться до кодування необхідних дій. Наступний етап - тестування, на цьому етапі завдання тестувальника - якомога повніше ви­явити приховані проблеми ПЗ, його недоліки, незручності і ін. Тут також використовується діаг­рами прецедентів в UML-нотації. які показують, що, як і в якій послідовності необхідно проводити тестування практично готового ПЗ. Наступний етап - впровадження та установка, для великого і складного ПЗ (наприклад. ERP-системи. для керування бізнес-процесами великих підприємств) також можуть використовуватись діаграми розгортання UML, які показують, що і в якій послідов­ності необхідно робити для розгортання великих програмних продуктів. Етапи експлуатації і під­тримки, супровід та виведення з експлуатації також можуть базуватися на діаграмах UML. Так що ж таке UML? В найбільш простому випадку діаграму UML можна побудувати за допомогою олівця та клаптика паперу або використовуючи спеціальні продукти, наприклад, Rational Rose (IBM), Poseidon, Thorn та ін. Дамо означення UML.

UML - це мова для специфікації, візуалізації, конструю­вання і документування артефактів програмних систем, а та­кож процесів бізнесу і інших непрограмних систем. Відразу сконцентруємо увагу на переліку "обов'язків" UML. Специфі­кація, візуалізація, конструювання і документування - все це має безпосереднє відношення до високорівневого проектування:

  • UML як метод використовується для вивчення поведінки систем:

  • UML як мова використовується для "вичленення" знань про предметну область;

  • UML як моделююча мова використовується для розуміння (і, можливо, формалізації) закономір­ностей функціонування систем:

  • UML як уніфікована мова використовується для координації діяльності розробників.

І нарешті, відразу виключимо можливі неправильні тлумачення: UML не є ні візуальною мо­вою програмування (що означає - на ньому не можна писати виконуваних програм), ні інструмен­том (а, швидше, специфікацією набору правил), ні процесом проектування/конструювання (але, можливо, поглядом на ці процеси).

Rational Rose - могутній CASE-засібо для проектування програмних систем будь-якої складності. Однією із переваг цього програмного продукту є можливість використання діаграм на мові UML. Можна сказати, що Rational Rose є графічним редактором UML діаграм.

У розпорядження проектувальника системи Rational Rose надає наступні типи діаграм, послідовне створення яких дозволяє отримати повне уявлення про всю проектовану систему і про окремі її компоненти:

  • Use case diagram (діаграми прецедентів);

  • Deployment diagram (діаграми топології);

  • Statechart diagram (діаграми станів);

  • Activity diagram (діаграми активності);

  • Interaction diagram (діаграми взаємодії);

    • Sequence diagram (діаграми послідовностей дій);

    • Collaboration diagram (діаграми співпраці);

  • Class diagram (діаграми класів);

  • Component diagram (діаграми компонент).

Діаграми прецедентів (Use case diagram)

Цей вид діаграм дозволяє створити список операцій, які виконує система. Часто цей вид діаграм називають діаграмою функцій, тому що на основі набору таких діаграм створюється список вимог до системи і визначається безліч виконуваних системою функцій.

Кожна така діаграма або, як її зазвичай називають, кожен Use case - це опис сценарію поведінки, якій слідують дійові особи (Actors).

Даний тип діаграм використовується при описі бізнес процесів автоматизованої предметної області, визначенні вимог до майбутньої програмної системи. Відображає об'єкти як системи, так і предметної області і задачі, ними виконувані.

Діаграми топології (Deployment diagram)

Цей вид діаграм призначений для аналізу апаратної частини системи, тобто «заліза», а не програм. У прямому перекладі з англійського Deployment означає «розгортання», але термін «топологія» точніше відображає суть цього типу діаграм.

Для кожної моделі створюється тільки одна така діаграма, що відображає процесори (Processor), пристрої (Device) і їх з'єднання.

Зазвичай цей тип діаграм використовується на самому початку проектування системи для аналізу апаратних засобів, на яких вона експлуатуватиметься.

Діаграми станів (State Maсhine diagram)

Кожен об'єкт системи, що володіє певною поведінкою, може знаходиться в певних станах, переходити із стану в стан, здійснюючи певні дії в процесі реалізації сценарію поведінки об'єкту. Поведінку більшості об'єктів реальних систем можна представити з погляду теорії кінцевих автоматів, тобто поведінка об'єкту відбивається в його станах, і даний тип діаграм дозволяє відобразити це графічно. Для цього використовується два види діаграм: Statechart diagram (діаграма станів) і Activity diagram (діаграма активності).

Діаграма станів (Statechart) призначена для відображення станів об'єктів системи, що мають складну модель поведінки. Це одна з двох діаграм State Machine, доступ до якої здійснюється з одного пункту меню.

Діаграми активності (Activity diagram)

Це подальший розвиток діаграми станів. Фактично даний тип діаграм може використовуватися і для віддзеркалення станів модельованого об'єкту, проте, основне призначення Activity diagram в тому, щоб відображати бізнес-процеси об'єкту. Цей тип діаграм дозволяє показати не тільки послідовність процесів, але і розгалуження і навіть синхронізацію процесів.

Цей тип діаграм дозволяє проектувати алгоритми поведінки об'єктів будь-якої складності, зокрема може використовуватися для складання блок-схем.

Діаграми взаємодії (Interaction diagram)

Цей тип діаграм включає діаграми Sequence diagram (діаграми послідовностей дій) і Collaboration diagram (діаграми співпраці). Ці діаграми дозволяють з різних точок зору розглянути взаємодію об'єктів в створюваній системі.

Діаграми послідовностей дій (Sequence diagram)

Взаємодія об'єктів в системі відбувається за допомогою прийому і передачі повідомлень об'єктами-клієнтами і обробки цих повідомлень об'єктами-серверами. При цьому в різних ситуаціях одні і ті ж об'єкти можуть виступати і як клієнти, і як сервери.

Даний тип діаграм дозволяє відобразити послідовність передачі повідомлень між об'єктами.

Цей тип діаграми не акцентує увагу на конкретній взаємодії, головний акцент приділяється послідовності прийому/передачі повідомлень. Для того, щоб охопити всі взаємозв'язки об'єктів, використовуються Collaboration diagram.

Діаграми співпраці (Collaboration diagram)

Цей тип діаграм дозволяє описати взаємодії об'єктів, абстрагуючись від послідовності передачі повідомлень. На цьому типі діаграм в компактному вигляді відображаються всі повідомлення конкретного об'єкту, що приймаються і передаються, і типи цих повідомлень.

Унаслідок того, що діаграми Sequence і Collaboration є різними поглядами на одні і ті ж процеси, Rational Rose дозволяє створювати з Sequence діаграми діаграму Collaboration і навпаки, а також проводить автоматичну синхронізацію цих діаграм.

Діаграми класів (Class diagram)

Цей тип діаграм дозволяє створювати логічне представлення системи, на основі якого створюється початковий код описаних класів.

Значки діаграми дозволяють відображати складну ієрархію систем, взаємозв'язки класів (Classes) і інтерфейсів (Interfaces). Даний тип діаграм протилежний за змістом діаграмі Collaboration, на якому відображаються об'єкти системи. Rational Rose дозволяє створювати класи за допомогою даного типу діаграм в різних нотаціях. Таким чином, звертаючись до класиків, Г.Буч намагається показати, що клас - це лише шаблон, по якому надалі буде створений конкретний об'єкт.

Нотація OMT, на мій погляд, строгіша.

І звичайно ж, Rational Rose дозволяє створювати діаграму класів в уніфікованій нотації.

Діаграми компонентів (Component diagram)

Цей тип діаграм призначений для розподілу класів і об'єктів по компонентах при фізичному проектуванні системи. Часто даний тип діаграм називають діаграмами модулів.

При проектуванні великих систем може опинитися, що система повинна бути розкладена на декілька сотень або навіть тисяч компонентів, і цей тип діаграм дозволяє не загубитися у великій кількості модулів і їх зв'язків.

Структура звіту з лабораторної роботи № 4

  1. Титульна сторінка (див. Додаток А)

  2. Тема, мета, завдання.

  3. Копії екранів з результатами виконання завдання.

  4. Висновок.

Основні запитання

  1. Що таке моделі даних?

  2. Нотації в моделях даних за допомогою UML та нотації Чена.

  3. Нотації в об'єктних моделях за допомогою UML.

  4. Опишіть прецендент з моделі прецендентів.

Лабораторна робота № 5

Тема: Дослідження середовищ тестування ПЗ.

Мета: Дослідження можливостей стандартних засобів тестування ПЗ.

Завдання

  1. Написати програму відповідно до варіанту.

  2. Дослідити процес компіляції програми в середовищі тестування AutomatedQA TestComplete7.50.Ent.

Варіанти завдання 1 до лабораторної роботи № 5

  1. Дано натуральне число. Визначити:

а) чи є воно парним;

б) чи закінчується на 7.

  1. Дано двозначне число. Визначити:

а) яка з його цифр більша: перша чи друга;

б) чи однакові його цифри.

  1. Дано двозначне число. Визначити, чи дорівнює квадрат цього числа,збільшений у 4 рази, сумі кубів його цифр.

  2. Дане двозначне число.Визначити:

а) чи є сума його цифр двузначним числом;

б) чи більша сума його цифр від числа а.

  1. Дано трьохзначне число. Визначити,яка з його цифр більша:

а) перша чи третя;

б) друга чи третя;

в) перша чи друга.

  1. Дано трьохзначне число. Визначити, чи дорівнює квадрат числа сумі кубів його цифр.

  2. Дано трьохзначне число. Визначити:

а) чи є сума його цифр двузначним числом;

б) чи є добуток його цифр трьхзначним числом.

  1. Дано трьохзначне число. Визначити:

а) чи більший добуток його цифр за число а;

б) чи ділиться сума його цифр на 5.

  1. Дано натуральне число. Визначити:

а) чи закінчується воно парною цифрою;

б) чи закінчується воно непарною цифрою.

  1. Перевірити,чи належить число,введене з клавіатури,інтервалу [-5;3] і знайти суму цифр цього числа.

  2. Дано три числа a, b, i c. Перевірити:

а) чи виконується нерівність a < b < c;

б) чи виконується нерівність b > a > c.

  1. Дано трьохзначне число. Визначити:

а) чи належить йому цифра 4;

б) чи належить йому цифра а.

  1. Дано двозначне число. Знайти:

а) число десятків у ньому;

б) суму його цифр.

  1. Дано двозначне число. Знайти:

а) число, утворене при перестановці цифр заданого числа;

б) число одиниць у ньому;

  1. Дано тризначне число. Знайти:

а) число, отримане при прочитанні його цифр справа наліво;

б) суму його цифр.

  1. Дано тризначне число.

а) знайти число одиниць в ньому;

б) у ньому закреслили першу зліва цифру і приписали її в кінці, знайти отримане число.

  1. Дано тризначне число.

а) знайти добуток його цифр;

б) у ньому закреслили останню справа цифру і приписали її на початку; знайти отримане число.

  1. Дано тризначне число. Знайти:

а) число десятків у ньому;

б) число, отримане при перестановці першої і другої цифр заданого числа.

  1. Дано тризначне число. Знайти:

а) суму його першої та другої цифр;

б) число, отримане при перестановці другої і третьої цифр заданого числа.

  1. Дано тризначне число, в якому всі цифри різні. Отримати п’ять чисел, утворених при перестановці цифр заданого числа.

  2. Дано чотиризначне число. Знайти:

а) суму його цифр;

б) число десятків в ньому.

  1. Дано чотиризначне число. Знайти:

а) число, отримане при прочитанні його цифр справа наліво;

б) число, що утворюється при перестановці першої і другої, третьої і четвертої цифр заданого числа.

  1. Дано чотиризначне число. Знайти:

а) число, що утворюється при перестановці другої і третьої цифр заданого числа;

б) число, що утворюється при перестановці два перших і двох останніх цифр заданого числа. Наприклад, з числа 4566 отримати 6645, з числа 7304 — 473.

  1. З тризначного числа х відняли його останню цифру. Коли результат розділили на 10, а зліва приписали останню цифру числа х, то вийшло число 237. Знайти число х і суму його цифр.

  2. У тризначному числі х закреслили його другу цифру. Коли до утвореного при цьому двозначного числа зліва приписали другу цифру числа х, то вийшло число 546. Знайти число х і суму його цифр.

  3. Дано двозначне число. Визначити:

а) чи є сума його цифр двузначним числом;

б) чи більша сума його цифр від числа a.

  1. Дано тризначне число. Визначити:

а) чи ділиться добуток його цифр на 3;

б) чи є сума його цифр тризначним числом.

  1. Дано двозначне число. Визначити:

а) чи більша сума його цифр від числа а;

б) чи є сума його цифр двузначним числом.

  1. Дано двозначне число. Визначити:

а) яка з його цифр більша;

б) число десятків.

  1. Перевірити,чи належить число,введене з клавіатури,інтервалу [-4;2] і знайти суму цифр цього числа.

  2. Дано двозначне число. Визначити:

а) чи є добуток його цифр двузначним числом;

б) чи більша сума його цифр від числа 30.

  1. Дано тризначне число. Перевірити:

а) чи є в ньому цифра 5;

б) чи закінчуеться воно парною цифрою.