Файл: Ю. Ю. Громов, В. Е. Дидрих, О. Г. Иванова, В. Г. Однолько теория информационных.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.02.2024
Просмотров: 127
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
154
5. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА СИСТЕМНОГО
АНАЛИЗА И МОДЕЛИРОВАНИЯ
5.1. СРЕДА РАЗРАБОТКИ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ
МОДЕЛЕЙ UMBRELLO UML MODELLER
Для выполнения лабораторных работ по объектно-ориетиро- ванному моделированию предлагается использовать среду Umbrello, которая удовлетворяет двум ключевым требованиям: бесплатность и кроссплатформеность.
Umbrello – среда UML-моделирования. Это приложение является свободным программным обеспечением, предназначенным для по- строения UML-диаграмм на платформе Unix. Является CASE- инструментом. Umbrello входит в пакет kdesdk оконного менеджера
KDE, но также хорошо работает и с другими оконными менеджерами.
Пользовательский интерфейс программы прост и функционален.
Umbrello поддерживает все стандартные типы UML-диаграмм.
Также поддерживается импорт из C++, IDL, Pascal/Delphi, Ada, Python,
Java, Perl (с помощью внешнего инструмента) и экспорт диаграмм в различные языки программирования. Формат файла, используемый при хранении диаграмм, основан на XMI.
Umbrello позволяет хранить данные модели в форматах DocBook и XHTML. Это было сделано с целью поддержки модели совместной разработки, когда не все разработчики имеют доступ к Umbrello. Эта возможность незаменима при необходимости размещения контента модели на web-сайте.
Окно программы представлено на рис. 5.1 и имеет следующие ос- новные элементы управления:
1. Меню создания (добавления) UML-диаграмм в проект.
2. Меню выбора языковых примитивов открытой диаграммы.
3. Закладки открытых диаграмм проекта.
4. Иерархическое дерево типов диаграмм, созданных в проекте.
5. Рабочая область (Полотно языкового выражения).
Диаграмма классов является основным логическим представлени- ем модели и содержит детальную информацию о внутреннем устрой- стве объектно-ориентированной программной системы или, используя современную терминологию, об архитектуре программной системы.
Активизировать рабочее окно диаграммы классов можно несколькими способами:
– окно диаграммы классов появляется по умолчанию в рабочем окне диаграммы после создания нового проекта;
155
Рис. 5.1. Главное окно среды UML-моделирования Umbrello
– раскрыть логическое представление (Logical View) в браузере проекта и выделить элемент class diagram;
– выбрать пункт главного меню Diagram->New->class diagram
(Диаграмма->Новая->Диаграмма классов).
При этом появляется новое окно с чистым рабочим листом диа- граммы классов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы классов. Назначение отдельных кнопок панели можно узнать также из всплывающих подсказок. (табл. 5.1).
5.1. Назначение кнопок специальной панели инструментов
диаграммы классов
Графическое изображение
Всплывающая подсказка
Назначение кнопки
Select
Превращает изображение курсора в стрелку для последующего вы- деления элементов на диаграмме
Note
Добавляет на диаграмму приме- чание
Anchor
Добавляет связь примечания с соответствующим графическим элементом диаграммы
Label
Добавляет на диаграмму тексто- вую область
1 ... 12 13 14 15 16 17 18 19 20
156
Продолжение табл. 5.1
Графическое изображение
Всплывающая подсказка
Назначение кнопки
Box
Добавляет на диаграмму коробку
(пакет)
Class
Добавляет на диаграмму класс
Interface
Добавляет на диаграмму интер- фейс
Datatype
Добавляет на диаграмму тип дан- ных
Enum
Добавляет на диаграмму перечис- ление
Package
Добавляет на диаграмму пакет
Association
Добавляет на диаграмму ассоциа- цию
Directional
Association
Добавляет на диаграмму направ- ленную ассоциацию
Dependency
Добавляет на диаграмму отноше- ние зависимости
Implements
Добавляет на диаграмму отноше- ние принадлежности
Composition
Добавляет на диаграмму отноше- ние композиции
Aggregation
Добавляет на диаграмму отноше- ние агрегации
Containment
Добавляет на диаграмму отноше- ние «содержится»
157
Рассмотрим добавление класса на диаграмму классов и редакти- рование его свойств.
Для добавления класса на диаграмму классов нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы класса на специальной панели инструментов, отпустить левую кнопку мыши и щёлкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение класса с мар- керами изменения его геометрических размеров и предложенным сре- дой именем по умолчанию NewClass. Продолжая разработку модели банкомата в качестве сквозного примера проекта, построим для этой модели следующую каноническую диаграмму – диаграмму классов. С этой целью следует изменить предложенное по умолчанию имя диа- граммы «class diagram» на «Диаграмма классов ATM», а имя добав- ленного на диаграмму класса – на «Транзакция Банкомата».
Поскольку разрабатываемая модель банкомата на начальных эта- пах работы над проектом используется для анализа общей архитекту- ры проекта и согласования ее с различными участниками рабочей группы, имена классов, их атрибутов и операций для большей нагляд- ности и понимания задаются на русском языке с пробелами и записы- ваются символами кириллицы. В последующем по мере выполнения проекта и реализации модели на некотором языке программирования,
Рис. 5.2. Диаграмма классов модели банкомата после добавления
на неё класса «Транзакция Банкомата»
158
имена соответствующих классов, атрибутов и операций должны быть преобразованы в символы латиницы. При этом имена этих элементов модели должны быть записаны без пробелов. В контексте управляемой моделью архитектуры первую модель еще называют независимой от платформы реализации, а вторую – зависимой от платформы реализа- ции. Для класса «Транзакция Банкомата» можно уточнить его назна- чение в модели с помощью указания стереотипа и пояснительного тек- ста в форме документации. С этой целью следует щелчком правой кнопки мыши на изображении этого класса на диаграмме открыть диа- логовое окно спецификации свойств этого класса (рис. 5.3) и на вклад- ке General (Общие) указать в категории «Stereotype name» стереотип entity (сущность).
Выбор данного стереотипа означает, что соответствующий класс предназначен для хранения информации, которая должна сохраняться в системе после уничтожения объектов данного класса. Далее в сек- цию документации данного класса можно ввести поясняющий текст:
«Используется для сохранения информации о выполненных банкома- том транзакциях» и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования свойств выбранного класса. После назна-
Рис. 5.3. Диалоговое окно свойств класса
159
чения стереотипа классу Транзакция банкомата текст данного стереотипа в угловых скобках появится выше имени данного класса
(рис. 5.4).
Для отдельного класса можно уточнить также и другие его свойства, доступные для редактирования на вкладках Attributes,
Operations, Templates, Associations окна спецификации свойств этого класса. Например, на вкладке Attributes можно создать новый атри- бут (поле) для рассматриваемого класса, который будет иметь тип
(bool, char, double, float, int, long, short, string, unsigned int, unsigned long и unsigned short), имя, начальное значение, имя стереотипа, воз- можность указания спецификатора static. По умолчанию видимость нового атрибута (поля) класса будет иметь спецификатор доступа
«private» (рис. 5.5).
Также для класса можно создать новую функцию – метод класса, используя вкладку Operations диалогового окна свойств класса. При этом указываются имя, имя стереотипа, тип возвращаемого значения и список параметров (рис. 5.6). Можно указать спецификаторы const, static и принадлежность операции к абстрактным (виртуальным). По умолчанию видимость нового метода класса будет иметь специфика- тор доступа «public».
Рис. 5.4. Диаграмма классов модели банкомата после выбора
стереотипа для класса Транзакция Банкомата
160
Рис. 5.5. Добавление нового атрибута класса
Рис. 5.6. Добавление нового метода класса
На вкладке Templates диалогового окна свойств класса можно указать параметры добавленного в описание класса шаблона (рис. 5.7).
На вкладке Associations задаются ассоциации данного класса с други- ми элементами диаграммы. Вкладки Display, Color и Font позволяют управлять отображением класса, например на вкладке Display можно
161
указать, будут ли определённые элементы класса (поля, методы, шаб- лоны, стереотипы и другое) отображаться на поле диаграммы классов.
Для того, чтобы специфицировать класс как абстрактный, т.е. не имеющий экземпляров, следует на этой же вкладке выставить отметку в свойстве Abstract (Абстрактный). Применительно к рассматриваемой модели для класса «Транзакция банкомата» следует отметку для свой- ства Abstract оставить пустой. Следует заметить, что для предотвра- щения потери информации о разрабатываемой модели и результатов редактирования свойств её графических элементов необходимо перио- дически сохранять модель во внешнем файле. Для этого следует вы- полнить операцию главного меню: File->Save (Файл ->Сохранить) или нажать комбинацию клавиш: Ctrl+S. Для этой же цели служит соответ- ствующая кнопка на стандартной панели инструментов.
Разработка диаграммы классов модели банкомата.
На разрабатываемой диаграмме классов выбран текстовый способ изображения стереотипов классов, при котором стереотип записывает- ся в угловых кавычках выше имени соответствующего класса.
Выделить все графические элементы на диаграмме классов, так же как и на любой другой диаграмме модели, можно с помощью вы- полнения операции главного меню: Edit->Select All (Редактирование-
>Выделить все) или с помощью комбинации клавиш Ctrl+А. Продол- жая разработку модели банкомата, добавим на диаграмму второй класс с именем «Контроллер Банкомата», для которого в окне спецификации свойств выберем стереотип control (управляющий класс), а в качестве документации введём текст: «Реализует логику функционирования банкомата». При этом атрибуты и операции у данного класса будут отсутствовать. Соответствующий фрагмент диаграммы классов после добавления управляющего класса Контроллер Банкомата будет иметь следующий вид (рис. 5.8).
Рис. 5.7. Добавление шаблона