ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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