Case-засоби
Термін CASE - Computer Aided System/Software Engineering використовується при автоматизації процесу розробки складних інформаційних систем в цілому. Появі CASE-засобів передували дослідження в області методології проектування. Методологія визначає етапи і кроки реалізації проекту, а також правила використання методів, якими розробляється проект.
CASE-засоби - це спеціальні програми, які підтримують одну або декілька методологій аналізу і проектування інформаційних систем.
Основні поняття
Rational Rose - це CASE-засіб фірми Rational Software Corporation (США), призначений для автоматизації етапів аналізу і проектування програмного забезпечення, для генерації кодів на різних мовах і випуску проектної документації. Rational Rose використовує методологію об'єктно-орієнтованого аналізу і проектування, засновану на підходах трьох провідних фахівців в даній області: Буча, Рамбо і Джекобсона. Розроблена ними універсальна нотація для моделювання об'єктів (UML - Unified Modeling Language) претендує на роль стандарту в області об'єктно-орієнтованого аналізу і проектування. Конкретний варіант Rational Rose визначається мовою, на якій генеруються коди програм (С++Smalltalk, PowerBuilder, Ada, SQLWindows і ObjectPro). Основний варіант - Rational Rose/C++ - дозволяє розробляти проектну документацію у вигляді діаграм і специфікацій, а також генерувати програмні коди на С++. Крім того, Rational Rose містить засоби реінжинірингу програм, що забезпечують повторне використання програмних компонентів у нових проектах.
Структура і функції
У основі роботи Rational Rose лежить побудова різного роду діаграм і специфікацій, що визначають логічну і фізичну структури моделі, її статичні і динамічні аспекти. До їх числа входять діаграми класів, станів, сценаріїв, модулів,процесів. У складі Rational Rose можна виділити 6 основних структурних компонента:
До них додаються генератор кодів (індивідуальний для кожної мови) і аналізатор для С++, забезпечуючий реінжиніринг - відновлення моделі проекту по початкових текстах програм. Репозиторій є об'єктно-орієнтованою базою даних.
Засоби перегляду забезпечують "навігацію" за проектом, зокрема: переміщення по ієрархіях класів і підсистем, перемикання від одного виду діаграм до іншого і так далі. Засоби контролю і збору статистики дають можливість знаходити і усувати помилки по мірі розвитку проекту, а не після завершення його опису. Генератор звітів формує тексти вихідних документів на основі інформації, що міститься в репозиторії. Засоби автоматичної генерації кодів програм на мові С++, використовуючи інформацію, що міститься в логічній і фізичній моделях проекту, формують файли заголовків і файли описів класів і об'єктів. Створюваний таким чином скелет програми може бути уточнений шляхом прямого програмування на мові С++. Аналізатор кодів С++ реалізований у вигляді окремого програмного модуля. Його призначення полягає у тому, щоб створювати модулі проектів у формі Rational Rose на основі інформації, що міститься у визначених користувачем початкових текстах на С++. В процесі роботи аналізатор здійснює контроль правильності початкових текстів і діагностику помилок.
Модель, отримана в результаті його роботи, може цілком або фрагментарно використовуватися в різних проектах. Аналізатор володіє широкими можливостями налаштування по входу і виходу. Наприклад можна визначити типи початкових файлів, базовий компілятор, задати, яка інформація має бути включена у формовану модель і які елементи вихідної моделі слід виводити на екран.
Таким чином, Rational Rose/C++ забезпечує можливість повторного використання програмних компонентів.
В результаті розробки проекту за допомогою CASE-засобу Rational Rose формуються наступні документи:
Останній з перерахованих документів є текстовим файлом, що містить всю необхідну інформацію про проект (зокрема необхідну для отримання всіх діаграм і специфікацій).
Взаємодія з іншими засобами і організація групової роботи Rational Rose інтегрується із засобом PVCS для організації групової роботи і управління проектом і із засобом SODA - для документування проектів. Інтеграція Rational Rose і SODA забезпечується засобами SODA. Для організації групової роботи в Rational Rose можливе розбиття моделі на керовані підмоделі. Кожна з них незалежно зберігається на диску або завантажується в модель. Як підмодель може виступати категорія класів або підсистема. Для керованої підмоделі передбачені операції:
Найефективніше групова робота організовується при інтеграції Rational Rose із спеціальними засобами управління конфігурацією і контролю версій (PVCS). В цьому випадку захист від модифікації встановлюється на всі керовані підмоделі,окрім тих, які виділені конкретному розробникові. В цьому випадку ознака захисту від запису встановлюється для файлів, які містять підмоделі, тому при прочитуванні "чужих" підмоделей захист їх від модифікації зберігається і випадкові дії виявляться неможливими.
Варіант індивідуального завдання для виконання розрахункової роботи
15. Клієнти роблять покупки різних товарів в магазинах торгової фірми готівкою, за картками і в кредит.
Завдання
Побудувати діаграму прецедентів за розробленим технічним завданням.
Рис.1 Діаграма прецедентів
Технологія виконання роботи
Технологічний процес створення діаграми прецедентів.
1. Підготовка:
a) У навігаторі моделі відкриваємо Use Case View.
b) Там же відкриваємо Main.
c) Дати ім'я діаграмі прецедентів.
o У контекстному меню для Main вибираємо команду Rename.
o Вводимо ім'я діаграми прецедентів.
2. Створення суб'єкта:
a) Натискуемо кнопку створення суб'єкта.
b) У вікні діаграми прецедентів вказуємо місце суб'єкта.
c) Клацанням викликаємо зображення суб'єкта.
d) Вводимо ім'я суб'єкта.
3. Створення аспекту:
a) Натискуємо кнопку створення аспекту.
b) Повторити пункти 2b, с, d для аспекту.
4. Створення асоціації:
a) Натискуємо кнопку створення асоціації.
b) Намалювати стрілку від одного елементу діаграми прецедентів до
іншого.
c) Відрегулювати розміщення елементів діаграми прецедентів.
5. Створення нотації:
а)Натискуємо кнопку створення нотації.
b) Повторити пункти 2b, с, d для нотації.
Завдання
5. Визначити об'єкти (суть), прив'язавши їх до діаграми прецедентів.
a) Дати ім'я класу для однотипної групи об'єктів, наприклад об'єкти Менеджери можна помістити в клас Менеджер.
b) Назначить атрибут - ключ (ідентифікатор об'єкту), наприклад для об'єкту Менеджер - це може бути Код менеджера.
c) Вказати основну операцію над класом, наприклад для класу Менеджер - Додати().
6. Побудувати стосунки між класами на основі асоціацій
Визначити напрям і множинність, вказавши нижню і верхню межі.
Рис.2 Діаграма класів
Технологія виконання роботи
Технологічний процес створення діаграми класів
1. Підготовка:
a) У навігаторі моделі відкриваємо Logical View.
b) Там же відкриваємо Main.
c) Даємо ім'я діаграмі класів.
i. У контекстному меню для Main вибираємо команду Rename.
ii. Вводимо ім'я діаграми класів.
2.Створення класу:
a) Натиснути кнопку створення класу.
b) У вікні діаграми класів вказуємо місце класу.
c) Клацанням викликати зображення класу.
d) Ввести ім'я класу:
i. яке не повторюється з іменами суб'єктів діаграми прецедентів;
3.Оформити клас:
a) У контекстному меню класу вибрати команду New Attribute.
b) Ввести ім'я атрибуту.
c) Активізувавши клас, клацнути по значку атрибуту.
d) У списку вибрати необхідний значок атрибуту:
public (default)
protected
private
implemented
d) У контекстному меню класу вибрати команду New Operation.
e) Ввести ім'я операції.
f) Повторити п.п. 2е, iii, iv для операції.
4.Створення асоціації:
a) Натиснути кнопку створення асоціації.
b) Намалювати стрілку від одного класу до іншого.
c) Відрегулювати розміщення класів в діаграмі.
5. Оформити асоціацію:
a) У контекстному меню асоціації вибрати команду Multiplicity.
b) У списку вибрати необхідний вид асоціації.
1 - обов'язкова однозначна;
О .. * - Zero or More, необов'язкова багатозначна;
1 .. * - One or More, обов'язкова багатозначна;
О .. 1 - Zero or One, необов'язкова однозначна;
c) У контекстному меню асоціації вибрати команду Navigable прибравши
(при необхідності) "галочку".
Завдання
Побудувати діаграму послідовності на основі діаграм класів і діаграми представлення використання, розроблених на попередніх заняттях
Привласнити імена повідомленням.
Рис.3 Діаграма послідовності
Рис.4 Кооперативна діаграма
Технологія виконання роботи
Технологічний процес створення діаграми послідовності:
1. Підготовка:
a) У меню вибрати команду Browse/Interaction Diagram/New
b) виклику вікна Select Interaction Diagram.
c) У підвікні Package вікна Select Interaction Diagram вибрати Use Case View, натиснути ОК.
d) У діалоговому вікні New Interaction Diagram в полі Title ввести ім'я діаграми послідовності.
e) У діалоговому вікні New Interaction Diagram вибрати тип діаграми
sequence, натиснути ОК.
2. Створення об'єкту:
a) Натиснути кнопку створення об'єкту.
b) У вікні діаграми класів вказати місце об'єкту.
c) Клацанням викликати зображення об'єкту і відповідною йому лінії
життя.
d) Через контекстне меню відкрити вікно Object Specification і ввести ім'я об'єкту і відповідний йому клас.
Створення повідомлення:
a) Натиснути кнопку створення повідомлення Object Message.
b) Намалювати стрілку від лінії одного об'єкту до лінії життя іншого
об'єкту
c) Відрегулювати розміщення елементів діаграми прецедентів.
4. Побудова відповідної діаграми кооперації:
a) Натиснути функціональну клавішу F5.
b) Змінити повідомлення, викликавши закладку Messages.
Завдання
Побудувати діаграму стану на основі діаграм класів і діаграми представлення використання, розроблених на попередніх заняттях.
Рис. 5 Діаграма стану
Технологія виконання роботи
Технологічний процес створення діаграми стану
1. Підготовка:
a) У меню вибрати команду Browse/Interaction Diagram/New для виклику вікна Select Interaction Diagram.
b) У підвікні Package вікна Select Interaction Diagram вибрати Logical View, натиснути ОК.
c) У діалоговому вікні New Interaction Diagram вибрати тип діаграми New State Machine Diagram і підтип Statechart, натиснути ОК.
d) У діалоговому вікні New State Machine Diagram в полі Title ввести ім'я
діаграми.
2. Початок і створення діаграми:
a) Вибрати об'єкт, використавши кнопку Selection Tool.
b) викликати початковий стан об'єкту значком Start State.
3. Створення переходу і нового стану:
a) Відобразити перехід в інший стан, використавши кнопку State
Transition.
b) Відобразити стан, в який перейшов об'єкт, використавши кнопку State.
c) Ввести ім'я переходу, використавши кнопку.
d) Відобразити при необхідності перехід на себе кнопкою Transition То
Self.
e) Специфікація стану.
f) Параметри дії.
4. Створення завершення діаграми:
a) Відобразити перехід.
b) Викликати завершуючий стан об'єкту значком EndState.
Завдання
Побудувати діаграму послідовності на основі діаграм класів і діаграми представлення використання, розроблених на попередніх заняттях
Рис.6 Діаграма активності
Технологія виконання роботи
Технологічний процес створення діаграми активності
Підготовка:
Початок створення діаграми:
Створення переходу і нового стану:
Налаштування специфікацій:
Додавання рішення.
Синхронізація процесів.
Завдання
Побудувати для модельованої системи загальну діаграму пакетів відзначити на ній додатки і залежності між пакетами.
Рис.7 Діаграма пакетів
Технологія виконання роботи
Технологічний процес створення діаграми активності
Підготовка:
Початок створення діаграми:
Створення залежностей між пакетами: