- •Теоретическое обоснование
- •Алгоритм выполнения работы
- •Задания (варианты, исходные данные)
- •Анализ полученных результатов
- •Ответить на вопросы
- •Список литературы
- •Практическая работа № 2
- •Выполнение работы
- •1.Теоретическое обоснование
- •2.Алгоритм выполнения работы
- •3.Задание (варианты, исходные данные и т.П.)
- •4.Анализ полученных результатов
- •5.Ответить на вопросы
- •Практическая работа № 3
- •Выполнение работы
- •1.Теоретическое обоснование
- •2.Алгоритм выполнения работы
- •4.Анализ полученных результатов
- •5.Ответить на вопросы
- •Практическая работа № 4
- •Выполнение работы
- •1.Теоретическое обоснование
- •2.Алгоритм выполнения работы
- •4.Анализ полученных результатов
- •5.Ответить на вопросы
- •Практические работы № 5-6
- •Выполнение работы
- •1.Теоретическое обоснование
- •2.Алгоритм выполнения работы
- •4.Анализ полученных результатов
- •5.Ответить на вопросы
- •Практические работы № 7-8
- •Выполнение работы
- •1.Теоретическое обоснование
- •Часть 1. Моделирование исходного программного текста
- •Алгоритм выполнения работы
- •Задание (варианты, исходные данные и т.П.)
- •Анализ полученных результатов
- •Часть 2. Моделирование реализации системы
- •Алгоритм выполнения работы
- •Задание (варианты, исходные данные и т.П.)
- •Анализ полученных результатов
- •Ответить на вопросы
- •Практические работы № 9-10
- •Выполнение работы
- •1.Теоретическое обоснование
- •2.Алгоритм выполнения работы
- •3.Задание (варианты, исходные данные и т.П.)
- •4.Анализ полученных результатов
- •5.Ответить на вопросы
- •Список литературы
- •Практическая работа № 11
- •Выполнение работы
- •1.Теоретическое обоснование
- •2.Алгоритм выполнения работы
- •4.Анализ полученных результатов
- •5.Ответы на вопросы
- •Практическая работа № 12
- •Выполнение работы
- •1.Теоретическое обоснование
- •2.Алгоритм выполнения работы
- •3.Задание (варианты, исходные данные и т.П.)
- •4.Анализ полученных результатов
2.Алгоритм выполнения работы
Работа выполняется дуальной группой студентов (в составе 2-х человек)
В соответствии с поставленной задачей (по варианту) анализируется предметная область, выбираются актеры, определяется набор требований к будущей системе (элементы Use Case), составляется диаграмма Use Case
Постепенно диаграмма усложняется по мере уточнения требований и детализации
Формируется отчет по работе
3.Задание (варианты, исходные данные и т.п.)
вариант |
Задача |
1 |
Представление на стипендию |
2 |
Учет поступления материалов на склады предприятия |
3 |
Составление расписания занятий по колледжу |
4 |
Реализация заказов на приобретение товаров |
5 |
Бронирование ж/д билетов |
6 |
Библиотека колледжа |
7 |
Учет успеваемости и посещаемости студентов |
8 |
Учет продаж в супермаркете |
9 |
Оперативное управление движением автобусов |
10 |
Назначение на стипендию (в т.ч.социальную и др.) |
11 |
Приемная комиссия; абитуриенты |
12 |
Оборотная ведомость движения материалов на складе |
13 |
Система учета штрафов по ГИБДД |
14 |
Постановка на учет автомобилей |
15 |
Учет расхода ГСМ по автопарку |
4.Анализ полученных результатов
На основании созданной диаграммы сформулировать требования к будущей программной системе.
5.Ответить на вопросы
Основное назначение диаграмм Use Case.
Виды отношений в диаграммах .
В чем отличие расширения и включения?
Как изображается обобщение?
Какие отношения возможны между актерами?
Какие отношения между актерами и элементами Use Case:
Какие отношения возможны между элементами Use Case?
Преподаватель _________________И.И.Александрова
Практические работы № 7-8
по дисциплине «Технология разработки программных продуктов»
Тема: Составление компонентных диаграмм.
Цель: владеть нотациями языка визуального моделирования UML..
Средства, оборудование: ПК, инструментарий UML
Литература: Орлов С. А. Технология разработки программного обеспечения, – СПб: Питер, 2003, глава 10
Выполнение работы
1.Теоретическое обоснование
Модели реализации обеспечивают представление системы в физическом мире, рассматривая вопросы упаковки логических элементов в компоненты и размещения компонентов в аппаратных узлах. Элементами компонентных диаграмм являются компоненты и интерфейсы, а также отношения зависимости и реализации.
Компоненты. По своей сути компонент является физическим фрагментом реализации системы, который заключает в себе программный код (исходный, двоичный, исполняемый) сценарные описания или наборы команд операционной системы (имеются в виду командные файлы). Язык UML. дает следующее определение: Компонент — физическая и заменяемая часть системы, которая соответствует набору интерфейсов и обеспечивает реализацию этого набора интерфейсов. Графически компонент изображается как прямоугольник с вкладками, обычно включающий имя (рис.1).
Рис.1. Обозначение компонента
Компонент — базисный строительный блок физического представления ПО, поэтому интересно сравнить его с базисным строительным блоком логического представления ПО - классом. Классы — логические абстракции, компоненты — физические предметы. Компоненты являются физическими упаковками, контейнерами, инкапсулирующими в себе различные логические элементы. Классы имеют свойства и операции. Компоненты имеют только операции, которые доступны через их интерфейсы. Как показано на рис. 2, с помощью отношения зависимости можно явно отобразить отношение между компонентом и классами, которые он реализует.
Рис.2. Классы в компоненте
Интерфейсы Интерфейс — список операций, которые определяют услуги класса или компонента. Возможны два способа отображения взаимосвязи между компонентом и его интерфейсами. В первом, свернутом способе, как показано на рис. 3, интерфейс изображается в форме пиктограммы. Компонент Образ.java, который реализует интерфейс, соединяется со значком интерфейса (кружком) НаблюдательОбраза простой линией. Компонент РыцарьПечальногоОбраза.java, который использует интерфейс, связан с ним отношением зависимости.
Рис. 3. Представление интерфейса в форме пиктограммы
Второй способ представления интерфейса иллюстрирует рис. 4. Здесь используется развернутая форма изображения интерфейса, в которой могут показываться его операции. Компонент, который реализует интерфейс, подключается к нему отношением реализации. Компонент, который получает доступ к услугам другого компонента через интерфейс, по-прежнему подключается к интерфейсу интерфейсом зависимости.
Рис.4 Развёрнутая форма представления интерфейса.
Компоновка системы
Основная цель программных компонентов — допускать сборку системы из двоичных заменяемых частей. Они должны обеспечить начальное создание системы из компонентов, а затем и ее развитие — добавление новых компонентов и замену некоторых старых компонентов без перестройки системы в целом. Ключ к воплощению такой возможности – интерфейсы. После того как интерфейс определён, к выполняемой системе можно подключить любой компонент, который удовлетворяет ему или обеспечивает этот интерфейс. Для расширения системы производятся компоненты, которые обеспечивают дополнительные услуги через новые интерфейсы. Компонент может появляться на различных уровнях иерархии представления сложной системы. Система на одном уровне абстракции может стать простым компонентом на более высоком фоне абстракции.
Разновидности компонентов
стереотип |
описание |
«executable» |
Компонент, который может выполняться в физическом узле(имеет расширение/ exe) |
«library» |
Статическая или динамическая объектная библиотека (имеет расширение .dll) |
«file» |
Компонент, который представляет файл, содержащий исходный код или данные (имеет расширение.ini) |
«table» |
Компонент, который представляет таблицу базы данных(имеет расширение .tbl) |
«document» |
компонент, который представляет документ (имеет расширение .htp) |
В языке UML не определены пиктограммы для перечисленных стереотипов; применяемые на практике пиктограммы компонентов показаны на рис 5 – 9 .
Использование компонентных диаграмм
Компонентные диаграммы используют для моделирования статического представления реализации системы. Это представление поддерживает управление конфигурацией системы, составляемой из компонентов. Подразумевается, что для получения работающей системы существуют различные способы сборки компонентов.
Компонентные диаграммы показывают отношения:
периода компиляции (среди текстовых компонентов);
периода сборки, линковки (среди объектных двоичных компонентов);
периода выполнения (среди машинных компонентов);
Рассмотрим типовые варианты применения компонентных диаграмм.
Моделирование программного текста системы
При разработке сложных систем программный текст (исходный код) разбросан по многим файлам исходного кода. Между файлами существуют многочисленные зависимости компиляции. Если к этому добавить, что по мере разработки рождаются новые версии файлов, то становится очевидной необходимость управления конфигурацией системы, визуализации компиляционных зависимостей.
В качестве примера приведена компонентная диаграмма, где изображены файлы исходного кода, используемые для построения библиотеки Визуализация.dll. Имеются четыре заголовочных файла (Визуализация.h, ВизЯдро.h, Прил.h, ТабЦветов.h), которые представляют исходный код для спецификации определённых классов. Файл реализации здесь один (Визуализация.cpp), он является реализацией одного из заголовков. Отметим , что для каждого файла явно указана его версия, причём для файла Визуализация.h показаны три версии и история их появления.
Далее повторяется та же диаграмма, но здесь для обозначения компонентов использованы специальные пиктограммы
.
Моделирование реализации системы
Реализация системы может включать большое количество разнообразных компонентов: исполняемых элементов; динамических библиотек; файлов данных, справочных
документов; файлов инициализации; файлов регистрации; сценариев; файлов упаковки. Моделирование этих компонентов, отношений между ними – важная часть управления конфигурацией системы.
Далее показана часть реализации системы, группируемая вокруг исполняемого элемента Видеоклип.exe. Здесь изображены четыре библиотеки (Регистратор.dll, СвернФормат.dll, Визуализация.dll, ТрассЛучей.dll), один документ (Видеоклип.htp), один простой файл (Видеоклип.ini), а также таблица базы данных (Фигуры.tbl). В диаграмме указаны отношения зависимости, существующие между компонентами. Для исполняемого компонента Видеоклип.exe указан номер (с помощью теговой величины), представлены его экспортируемые интерфейсы (IСценарии, IВизуализация, IМодели, IПрименение). Эти интерфейсы образуют API компонента (интерфейс прикладного программирования).
Ниже повторяется та же диаграмма, моделирующая реализацию, но здесь для обозначения компонентов использованы специальные пиктограммы.
Моделирование реализации с помощью пиктограмм.
