Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ІПЗ_НА / лаб 5 / lab

.doc
Скачиваний:
22
Добавлен:
23.02.2016
Размер:
479.74 Кб
Скачать

Чернівецький національний університет імені Юрія Федьковича

факультет комп’ютерних наук

кафедра комп’ютерних систем та мереж

ЗВІТ

по лабораторній роботі №5

з курсу “Створення діаграми компонентів.

Кодогенерація проекта”

Варіант №1

Виконав студент 322 групи

Няун А.І.

Перевірила доц. кафедри КСМ Танасюк Ю.В.

Дата______________

Підпис____________

Чернівці, 2013 р.

Сутності (Entities)

Границі (Boundaries)

Управління (Control)

Журнал успішності

Журнал відвідування

Звіт

База данних

Друк

Довідка

Авторизація

Головне вікно

Рис1. Діаграма Boundaries Рис2.Діаграма Control

Рис3. Діаграма Entities

Рис4. Діаграма System

Розділивши класи на три групи, ми одержали новий вигляд діаграми класів:

Рис5. Діаграма Класів

Контрольні відповіді

  1. На мові С++ кожен файл співвідноситься з двома компонентами, один з яких відповідає файлу .срр, а інший -.h. На JAVA кожен файл відповідає одному компоненту – файлу з розширенням. Java цього класу.

При генерації коду Rational Rose використовує цю інформацію для створення відповідного файлу бібліотек.

Після створення компоненти розміщують на діаграмі Компонентів і зображають зв’язки між ними. Єдиним типом зв’язку є залежність. Вона відображає, що один з компонентів повинен компілюватися перед початком компіляції іншого компонента.

Типи компонентів

В середовищі Rational Rose можна використовувати різні піктограми для зображення компонентів різних типів. Отже, існує два типи компонентів: бібліотеки вихідного коду та виконувані компоненти. Для їх позначення застосовують декілька різних зображень:

Компонент (Component) – ця позначка відповідає програмному модулю з добре визначеним інтерфейсом. В полі Stereotype вікна специфікації компонента можна визначити йоготип (ActiveX, Applet, Application, DLL, виконуваний файл, тощо).

Специфікація та тіло пакета (Package Specification and Body) Пакет у даному випадку – це реалізація класу. Специфікацією пакета є заготовочний файл, в якому містяться прототипи функцій для класу. На мові С++ - це заготовочний файл з розширенням .h. Тіло пакета містить код операцій класу. Мовою С++ - це файл з розширенням .срр.

Файл DLL позначається як:

Специфікація та тіло задачі (Task Specification and Body). Ці піктограми відображають пакети, які містять незалежні потоки управління. Виконувані файли зазвичай зображають, як специфікацію задач з розширенням .ехе.

----------------------------------------------------------------------------------------------------

  1. Діаграма компонентів (Component diagram) – це діаграма UML, на якій відображаються компоненти системи і залежності між ними.

На такій діаграмі можна побачити вихідний код і виконувані компоненти системи.

З її допомогою відповідальні за компіляцію і розміщення системи з’ясовують які бібліотеки існують і які виконувані файли будуть створені при його компіляції. Залежності між компонентами відображають порядок їх компіляції.

----------------------------------------------------------------------------------------------------

  1. Єдиний можливий тип зв’язку між компонентами – це залежність, яка відображає те, що один компонент залежить від іншого.

Тут компонент А залежить від В. Інакше кажучи, в компоненті А існує деякий клас, який залежить від деякого класу компонента В.

Ці зв’язки мають значення при компіляції. Оскільки А залежить від В, А неможна скомпілювати раніше за В.

Слід уникати циклічних залежностей між компонентами. Якщо А залежить від В, а В – від А, тоді неможливо відкомпілювати жоден з них, поки не буде скомпільовано інший.

У наведеній залежності будь-які зміни в В впливатимуть на А.

Тіло компонента завжди залежить від специфікації компонента.

Нарешті, залежності дають змогу зрозуміти які частини системи можна використовувати повторно. У нашому прикладі А важко застосувати вдруге, адже при такій залежності, А можна використовувати лише сумісно з В. З іншого боку, В легко використовувати повторно, адже цей компонент не від чого не залежить.

7

Соседние файлы в папке лаб 5