ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.04.2024
Просмотров: 320
Скачиваний: 3
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
7 |
|
доставляет возможность создавать и разбираться в правильно построенных моделях, но не говорит какие модели и когда нужно создавать.
Разработка UML началась в компании Rational Software в 1995 году с объединения метода Booch’93 Гради Буча, техники объектного моделирования OMT (Object Modeling Technique) Айвара Якобсона и методологии объектно-ориентированной разработки программного обеспечения Objectory, или OOSE (Object-Oriented Software Engineering) Джима Рамбо.
В 1997 году язык UML утверждѐн консорциумом по технологии манипулирования объектами OMG в качестве открытого стандарта UML 1.1 (http://www.omg.org/uml) для представления объектно-ориентированных моделей. В 2004 году одобрен второй выпуск UML 2.0.
UML – язык для визуализации, специфицирования, конструирования и документирования компонентов программных средств.
UML – язык визуализации (зрительного восприятия). Для многих программистов время между обдумыванием и написанием кода равно нулю. Код получается прекрасный, но программист при этом моделирует в уме. В связи с этим возникает несколько проблем, которые можно решить, используя UML:
1.Проблема чтения кода. Существуют некоторые вещи в ПС, которые невозможно понять по тексту кода (даже хорошо прокомментированного). UML – графический язык и, следовательно, решает проблему.
2.Проблема потери информации. Если разработчик уничтожил часть кода и никогда не записывал в каком-либо виде модель, тогда этот код будет утрачен навсегда. UML обеспечивает восстановление кода по модели.
3.Проблема интерпретации модели. Как правило, в проектной группе вырабатывается некоторый внутренний язык (совершенно непонятный извне). UML обладает корректно-определѐнной семантикой и, поэтому, разные разработчики будут одинаково трактовать модель.
UML – язык специфицирования. Он позволяет определить все важные решения по анализу, проектированию и реализации, которые принимаются в процессе создания и внедрения ПС.
UML – язык конструирования. Созданные с его помощью модели могут быть переведены на различные языки программирования. Модель можно отобразить на такие языки, как C++, Java, Visual Basic и даже на таблицы реляционной базы данных.
Возможно как прямое (forward engineering), так и обратное (reverse engineering)
отображение.
UML – язык документирования. При создании ПС создаѐтся много вторичных по отношению к исполняемому коду продуктов: требования к системе, архитектура системы, проект, исходный код, проектные планы, тесты, прототипы, версии. UML предоставляет возможности документирования принятых решений.
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
8 |
|
Язык UML предназначен, прежде всего, для разработки программных средств. Его использование наиболее эффективно в следующих областях:
−информационные системы масштабов предприятия;
−транспорт, в том числе железнодорожный;
−банковские и финансовые услуги;
−распределѐнные Web-системы;
−оборонная промышленность, авиация и космонавтика;
−розничная торговля;
−медицинская электроника;
−телекоммуникации;
−наука.
Структура UML включает следующее:
1.Строительные блоки – основные элементы, отношения и диаграммы.
2.Общие механизмы – пути для достижения определѐнных целей.
3.Архитектура – представление системной архитектуры.
1.1. Строительные блоки UML
В UML задействованы три вида блоков:
1.Сущности (things).
2.Отношения (relationships).
3.Диаграммы (diagrams).
1.1.1. Сущности
Сущность – это абстракция, являющаяся основным элементом UML-модели.
На рис. 1-1 показаны графические обозначения некоторых сущностей.
Рис. 1-1. Графические
обозначения сущностей в UML
Все сущности можно разделить на следующие группы:
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
9 |
|
–Структурные сущности. Представляют статические части модели. Структурными сущностями являются: класс (class), интерфейс (interface), актѐр
(actor), прецедент (use case), компонент (component), узел (node).
–Поведенческие сущности. Представляют динамические части UML-модели. К поведенческим сущностям относятся: взаимодействия (interaction), дея-
тельности (activity), автоматы (state machine).
–Группирующая сущность – пакет (package). Объединяет семантически связанные элементы UML-модели в единое целое.
–Аннотационная сущность – примечание (note). Добавляется к UML-модели для записи специальных уточняющих сведений.
Класс – class
Класс – это описание набора объектов с общими атрибутами, операциями и семантикой.
Графически класс изображается в виде разделѐнного на три части прямоугольника (рис.1-2), где записаны его имя, атрибуты и операции.
Рис. 1-2. Графическое изображение класса
Объединение объектов в классы вводит в процесс разработки ПС абстракцию. Цель абстракции – ограничить универсальность, всеобщность понятия (вещи).
Абстракция – это наиболее существенные характеристики объекта, которые отличают его от всех других видов объектов и чѐтко определяют особенности данного объекта с точки зрения дальнейшего анализа.
Абстракция концентрирует внимание на внешних свойствах объекта и позволяет отделить существенные особенности поведения от деталей их реализации. Такое разделение поведения от реализации называется барьером абстракции, который основывается на двух принципах:
1.Принцип наименьшей выразительности, по которому абстракция должна охватывать лишь самую суть объекта, не больше (но и не меньше).
2.Принцип минимизации связей, когда интерфейс объекта содержит только существенные аспекты поведения.
Следует заметить, что на разных этапах создания ПС разработчики имеют дело с разными классами:
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
10 |
|
−на этапе анализа ПС классы – это концептуальные абстракции, являющиеся частью предметной области;
−на этапе проектирования – логические (программные) абстракции;
−на этапе реализации – это классы выбранного для реализации логических абстракций языка программирования.
Одна из целей разработки ПС заключается в том, что необходимо описать классы/объекты, составляющие в совокупности проектируемую систему.
Основными характеристиками класса/объекта являются:
1.Уникальное имя. Позволяет отличить объекты друг от друга.
2.Атрибут – именованное свойство объектов класса. Каждый атрибут имеет своѐ значение для каждого объекта. Среди атрибутов различают:
−статические (условно постоянные свойства);
−динамические (условно переменные свойства);
−производные (вычисляемые свойства), значения которых определяются при помощи значений статических и динамических атрибутов объекта.
3.Состояние объекта – ситуация в ходе жизни объекта, в течение которой он удовлетворяет некоторому условию, выполняет некоторую деятельность или ожидает некоторого события. Выражается состояние всеми текущими значениями объекта. При изменении значений атрибутов меняется состояние.
4.Поведение – это то, как объект действует и реагирует (то есть, как он меняет своѐ состояние). Поведение выражается в терминах состояния объекта и передачи сообщений. Поведение может изменять состояние. Понятие сообщение совпадает с понятием операция.
5.Операция – действие, которое должен выполнить объект для реализации своего поведения, или сервис, который может быть востребован одним объектом у другого. У каждой операции есть свой объект-получатель, то есть объект, для которого операция применяется. Операция может иметь дополнительные аргументы, которые еѐ параметризуют. Некоторые операции могут приобретать разные формы в различных классах, такие операции называют полиморфными. К стереотипным операциям для всех классов относятся следующие операции:
−создать и инициировать (create and initialize) объект.
−удалить (delete) объект.
−получить (get…) значение атрибута.
−установить (set…) значение атрибута.
−добавить объект (add…) – добавить связь с другим объектом.
−исключить объект (remove…) – исключить связь с другим объектом.
Кнаиболее распространѐнным операциям относятся:
−модификатор – операция, которая меняет состояние объекта.
−запрос (селектор) – операция, которая считывает состояние объекта, но не меняет состояние.
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011
Скачано с сайта http://ivc.clan.su
Технология разработки программного обеспечения |
11 |
|
−итератор – операция, которая позволяет организовать доступ ко всем частям объекта-контейнера для последующего их использования в строго определѐнной последовательности (например, просмотр очереди).
−преобразование – операция, производящая объект другого типа.
6.Метод – конкретная реализация операции.
Для выбора кандидатов в объекты можно воспользоваться списком категорий понятий из табл. 1-1.
|
Таблица 1-1. Категория понятий |
|
|
|
|
Категория понятий |
Пример |
|
|
|
|
Физические или материальные объекты |
Самолѐт |
|
|
|
|
Спецификации, элементы дизайна или описания |
Описание полѐта |
|
|
|
|
Места |
Аэропорт |
|
|
|
|
Транзакции |
Резервирование, Продажа |
|
|
|
|
Элементы транзакций |
Элемент продажи |
|
|
|
|
Роли людей |
Пилот |
|
|
|
|
Контейнеры для других объектов |
Самолѐт |
|
|
|
|
Содержимое контейнеров |
Пассажир |
|
|
|
|
Другие компьютерные или электромеханические системы, |
Система управления полѐтами |
|
внешние по отношению к данной системе |
||
|
||
|
|
|
Абстрактные понятия |
Боязнь высоты |
|
|
|
|
Организации |
Авиалиния |
|
|
|
|
События |
Полѐт, Крушение |
|
|
|
|
Процессы (в основном, не представляются в виде понятий) |
Продажа, Бронирование места |
|
|
|
|
Правила и политика |
Политика аннулирования заказа |
|
|
|
|
Каталоги |
Каталог частей |
|
|
|
|
Записи финансовой, трудовой, юридической |
Чек, Трудовой контракт, |
|
и другой деятельности |
Журнал обслуживания |
|
|
|
|
Финансовые инструменты и службы |
Кредитная линия, Акция |
|
|
|
|
Руководства, книги |
Должностные инструкции, |
|
Руководства по восстановлению |
||
|
||
|
|
Актѐр – actor
Актѐр – это любая сущность, которая взаимодействует с системой извне.
Графическое изображение актѐра показано на рис. 1-3.
Рис. 1-3. Графическое изображение актѐра
Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011