3. Графические средства представления проектных решений на разных этапах проектирования ИС. Язык UML. Общая характеристика. Принципы построения. Основные элементы.

В структурном подходе система проектируется в виде модели, используются в основном 2 группы средств, которые: * описывают функциональную структуру системы; * отображают отношения между данными.

Каждой группе средств соответствует определенные виды моделей (диаграмм), наиболее распространенные: 1. SADT - диаграммы анализа структуры и проектирования; 2. DFD - диаграммы потоков данных; 3. ERD - диаграммы «сущность - связь».

Конкретный вид перечисленных диаграмм и интерпретация их конструкций зависят от стадии ЖЦ ПО.

На стадии формирования требований используются SADT-диаграммы для построения модели «AS-IS» и «TO-BE». На данной стадии могут быть разработаны модели DFD и ERD-диаграмм.

На стадии проектирования производится более детальная обработка DFD и ERD - диаграмм. Производится детализация SADT-диаграмм и разрабатываются на ее основе другие диаграммы.

Унифицированный язык моделирования UML

Большинство существующих методов объектно-ориентированного анализа и проектирования (ООАП) включают как язык моделирования, так и описание процесса моделирования.

Одним из унифицированных языков моделирования является язык UML (графический язык моделирования). Унифицированный язык UML - это прямое объединение и унификация методов Буча, Рамбо и Якобсона, плюс ко всему он дополняет их новыми возможностями.

Концептуальная модель UML включает в себя три составные части:

1) основные строительные блоки языка: - сущности; - отношения; -диаграммы; 2) правила их сочетания; 3) некоторые общие для всего языка механизмы.

3.2.1. Строительные блоки UML

Сущности - это абстракции, являющиеся основными элементами модели. Сущности являются основными объектно-ориентированными блоками языка. С их помощью можно создавать корректные модели.

В UML имеется четыре типа сущностей:

Структурные сущности - статические части модели, соответствующие концептуальным или физическим элементам системы. Существует семь разновидностей структурных сущностей:

Класс - это описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Класс реализует один или несколько интерфейсов.

Интерфейс - это совокупность операций, которые определяют сервис (набор услуг), предоставляемый классом или компонентом. Таким образом, интерфейс описывает видимое извне поведение элемента. Интерфейс может представлять поведение класса или компонента полностью или частично; он определяет только спецификации операций (сигнатуры), но никогда - их реализации. Интерфейс редко существует сам по себе - обычно он присоединяется к реализующему его классу или компоненту

Кооперация определяет взаимодействие; она представляет собой совокупность ролей и других элементов, которые, работая совместно, производят некоторый кооперативный эффект, не сводящийся к простой сумме слагаемых. Кооперация имеет как структурный, так и поведенческий аспект. Один и тот же класс может принимать участие в нескольких кооперациях; таким образом, они являются реализацией образцов поведения, формирующих систему

Прецедент - это описание последовательности выполняемых системой действий, которая производит наблюдаемый результат, значимый для какого-то определенного актера. Прецеденты применяются для структурирования поведенческих сущностей модели и реализуются посредством кооперации. Прецедент всегда рассматривается по отношению к некоторой внешней сущности, которая называется актером.

Актер или внешняя сущность - это класс, точнее совокупность ролей классов выступающая по отношению к системе как внешний объект, для достижения целей которого функционирует система.

Активный класс - класс, объекты которого вовлечены в один или несколько процессов, или нитей, и поэтому могут инициировать управляющее воздействие. Его объекты представляют собой элементы, деятельность которых осуществляется одновременно с деятельностью других элементов. Выглядит как класс, только контур жирный.

Компонент - это физическая заменяемая часть системы, которая соответствует некоторому набору интерфейсов и обеспечивает его реализацию. Компонент представляет собой физическую упаковку логических элементов, таких как классы, интерфейсы и кооперации.

Узел - это элемент реальной (физической) системы, который существует во время функционирования программного комплекса и представляет собой вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а часто еще и способностью обработки. Совокупность компонентов может размещаться в узле, а также мигрировать с одного узла на другой.

Поведенческие сущности являются динамическими составляющими модели UML. Это глаголы языка: они описывают поведение модели во времени и пространстве. Существует всего два основных типа поведенческих сущностей.

Взаимодействие - это поведение, суть которого заключается в обмене сообщениями между объектами в рамках конкретного контекста для достижения определенной цели. С помощью взаимодействия можно описать как отдельную операцию, так и поведение совокупности объектов. Взаимодействие предполагает ряд других элементов, таких как сообщения, последовательности действий (поведение, инициированное сообщением) и связи (между объектами).

Автомат - это алгоритм поведения, определяющий последовательность состояний, через которые объект или взаимодействие проходят на протяжении своего жизненного цикла в ответ на различные события, а также реакции на эти события. С помощью автомата можно описать поведение отдельного класса или кооперации классов. С автоматом связан ряд других элементов: состояния, переходы (из одного состояния в другое), события (сущности, инициирующие переходы) и виды действий (реакция на переход).

Группирующие сущности являются организующими частями модели UML. Это блоки, на которые можно разложить модель. Есть только одна первичная группирующая сущность - пакет.

Пакеты - представляют собой универсальный механизм организации элементов в группы. В пакет можно поместить структурные, поведенческие и даже другие группирующие сущности. В отличие от компонентов, существующих во время работы программы, пакеты носят чисто концептуальный характер, то есть существуют только во время разработки.

Аннотационные сущности - пояснительные части модели UML. Это комментарии для дополнительного описания, разъяснения или замечания к любому элементу модели. Имеется только один базовый тип аннотационных элементов - примечание. Примечания используются, чтобы снабдить диаграммы комментариями или ограничениями, которые можно выразить в виде неформального или формального текста.

Существуют вариации этого элемента, например требования, где описывают некое желательное поведение с точки зрения внешней по отношению к модели.

В языке UML определены четыре типа отношений. Эти отношения являются основными связующими строительными блоками в UML и применяются для создания корректных моделей.

Отношения:

1.Зависимость - это семантическое отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой.

2.Ассоциация - структурное отношение, описывающее совокупность связей.

3.Обобщение - это отношение «специализация/обобщение», при котором объект специализированного элемента (потомок) может быть подставлен вместо объекта обобщенного элемента (родителя или предка). Потомок наследует структуру и поведение своего родителя.

4.Реализация - это семантическое отношение между классификаторами, при котором один классификатор определяет «контракт», а другой гарантирует его выполнение. Отношения реализации встречаются в двух случаях: во-первых, между интерфейсами и реализующими их классами или компонентами, а во-вторых, между прецедентами и реализующими их кооперациями.

Диаграмма в UML - это графическое представление набора элементов, изображаемое чаще всего в виде связанного графа с вершинами (сущностями) и ребрами (отношениями).

В UML выделяют девять типов диаграмм: 1) диаграммы классов; 2) диаграммы объектов; 3) диаграммы прецедентов; 4) диаграммы последовательностей; 5) диаграммы кооперации; 6) диаграммы состояний; 7) диаграммы действий; 8) диаграммы компонентов; 9)диаграммы развертывания

Строительные блоки UML нельзя произвольно объединять друг с другом. Как и любой другой язык, UML характеризуется набором правил, определяющих, как должна выглядеть хорошо оформленная модель, т.е. семантически самосогласованная и находящаяся в гармонии со всеми моделями, которые с нею связаны.

Hosted by uCoz