- •Распределённые информационные системы.
- •Модель «Сущность-Связь»
- •Объектно-ориентированный подход
- •Объектно-ориентированный анализ
- •Методики объектно-ориентированного анализа
- •Классы и объекты. Отношения между классами.
- •Отношения между классами
- •Вопросы качества при создании классов и объектов.
- •Объектно-ориентированное проектирование и программирование
- •Объектно-ориентированное тестирование
- •Case-технологии Методологические основы Case-средств
- •Унифицированных язык моделирования (uml)
- •Диаграмма деятельности
- •Модульное программирование.
Унифицированных язык моделирования (uml)
UML – стандартный язык для написания моделей анализа, проектирования и реализации объектно-ориентированных программных систем. UML может использоваться для визуализации, спецификации, конструирования и документирования результатов программных проектов. Модели, основанные на UML прямо транслируются в текст на языках программирования и даже в таблицы для реляционной базы данных.
Предметы в UML
Существует 4 разновидности предметов:
-
Структурные предметы
-
Предметы поведения
-
Группирующие предметы
-
Поясняющие предметы
Структурные предметы
1)Класс – описание множества проектов, которые разделяют одинаковые свойства, операции, отношения и семантику. Графически класс отображается в виде прямоугольника и включает следующие секции:
2)Интерфейс – это. Графический интерфейс представляется в виде круга с именем(обычно начинается с “I”). Интерфейс редко показывают самостоятельно, обычно его присоединяют к классу и компоненту, которые реализует класс.
3)Актёр – набор согласованных ролей, которые могут играть пользователи, при взаимодействии с системой. Каждая роль требует от системы определённого поведения
4)Сотрудничество(кооперация) – определяет взаимодействие и является совокупностью ролей или других элементов, которые работают вместе для обеспечения коллективного ведения. Конкретный класс может участвовать в нескольких кооперациях. Графически кооперация представляет собой пунктирный эллипс, в который вписывается имя кооперации.
5)Элемент Use CASE (Прецедент) – это описание последовательности действий, выполняемых системой в интересах отдельного актёра и производящих видимый для актёра результат.
6)Активный класс – класс, чьи объекты имеют один или несколько процессов и поэтому могут инициировать управляющую деятельность. Активный класс похож на обычный класс за исключением того, что его объекты действуют одновременно, с объектами других классов.
7)Компонент – заменяемая часть системы, которая соответствует набору интерфейса и обеспечивает его реализацию. В систему включаются как компоненты, являющиеся результатами процесса разработки (различные файлы исходного кода), так и различные разновидности используемых компонентов. Компонент изображается как прямоугольник с вкладками, обычно включающие имя.
8)Узел – физический элемент, который существует в период работы системы и представляет собой ресурс, имеющий возможность обработки. В узле размещается набор компонентов, который может перемещаться от узла к узлу. На рисунке узел изображается как куб с именем внутри
Предметы поведения
- это динамические части UML-моделей. Они являются глаголами моделей, представлением поведения во времени и пространстве. Существует две основные разновидности предметов поведения:
-
Взаимодействие – это поведение, заключающее в себе набор сообщений, которыми обмениваются объекты между собой для достижения каких-то целей. Элементами взаимодействия могут быть:
-
Сообщения – представляются в виде направленной линии, с именем е операции.
-
Последовательность действий (поведение, вызываемое сообщениями).
-
Связью (соединения между сообщениями).
-
-
Конечный автомат – это последовательность состояний объекта, во время его существования. Элементами конечного автомата являются:
-
Переходы (от состояния к состоянию).
-
События (предметы, вызывающие переходы).
-
Действие (реакция на переходы). Состояние изображается как прямоугольник, отображающий состояние (может включать подсостояние)
-
3)Группирующие предметы – это организационная часть UML-модели. Предусмотрена одна разновидность – пакет – это общий механизм для распределения элементов по группам. В пакет могут помещаться структурные предметы, предметы поведения и другие группировки объектов. Компонент существует в период выполнения, а пакет в период разработки. Изображается как папка с вкладкой, на которой обозначено его имя (иногда содержание)
4)Поясняющие предметы, это разъясняющие части UML-моделей. Предусмотрена одна разновидность – примечание – это символ для отображения ограничений и замечаний, присоединяемых к элементу или их совокупности. Изображается в виде прямоугольника, с загнутым углом, в который вписывается текстовый или графический комментарий.
UML-диаграммы
UML-диаграммы могу быть либо статического вида, либо динамического.
При рассмотрении статических частей модели используется следующие 4 типа диаграмм:
-
классов
-
объектов
-
компонентов
-
развёртывания
Для работы с динамическими частями модели используют следующие пять видов диаграмм:
-
Прецедентов
-
Последовательности
-
Кооперации
-
Состояний
-
Деятельности
Диаграмма прецедентов
- применяется для моделирования вида системы с точки зрения прецедента. Каждая такая диаграмма показывает множество актёров, прецедентов и отношений между ними.
Отношения между актёрами и прецедентами показываются с помощью стрелок, которые бывают 4-х видов:
-
Коммуникации
-
Включения
-
Расширения
-
Обобщения
Моделирование системы можно производить двумя способами:
-
Для моделирования контекста системы
-
Для моделирования требований
Моделирование контекстной системы необходимо для определения актёров и их ролей. Важно правильно определить что является актёром, а что нет, как и с помощь чего ограничить актёров между собой.
Данный способ состоит из следующих шагов:
-
Определяются окружающие системы актёров
-
Организовать похожих актёров с помощью отношения обобщения.
-
Ввести стереотип для каждого актёра, чтобы облегчить понимание системы.
-
Поместить актёров на диаграмму прецедентов и определить связь актёров с прецедентами системы.
Моделирование требований к системы. Требования – это особенности объекта, свойства или поведения. Моделирование требований производится по следующим шагам:
-
Определение актёров системы
-
Для каждого актёра рассматривается поведение, которое он ожидает или требует от системы.
-
Проименовывается каждая роль, как прецедент на диаграмме.
-
Выделить общее поведение в новые прецеденты и расширить основные потоки событий.
-
Создать диаграмму прецедентов
-
Дополнить прецеденты примечаниями, описывающие требования систем.
Принципы построения диаграмм прецедентов.
-
Задать имя диаграмме, соответствующее её назначению.
-
Расположить элементы так, чтобы свести к минимуму число пересечений на диаграмме.
-
Пространственно организуются элементы так, чтобы близкие сущности физически располагались рядом.
-
Использовать различные примечания и цвет, чтобы привлечь внимание пользователя к важным особенностям диаграммы.
-
Минимизировать множество видов отношений и в общем случае если есть много сложных отношений, к примеру, отношения включения и расширения, то выделять их в отдельную диаграмму.
<имя_пакета>::<имя_класса>
Атрибуты класса (свойства) – записываются во вторую секции прямоугольника и имеют следующий синтаксис:
<квантор_видимости><имя_атрибута>[кратность]:<тип_атрибута>=<исходное значение>{строка-свойство}
Обязательный элемент в синтаксисе – «имя атрибута». Все остальные элементы могут опускаться.
Квантор видимости:
-
“+” – область видимости, типа public. Этот атрибут виден или виден из любого класса, в котором определена диаграмма.
-
”#” – область видимости, типа protected. Этот атрибут не виден для всех классов, за исключением подклассов, данного класса.
-
”-“ – область видимости, типа private. Этот атрибут не виден для всех классов без исключения.
Имя атрибута – это обязательный элемент, который обладает свойством уникальности в пределах данного класса.
Кратность атрибута – характеризует общее количество конкретных атрибутов данного типа.
Тип атрибута – представляет собой выражение, характеризующего тип, к которому может относиться данный атрибут. Имя_сотрудника[1..2]:string
Исходные значения относятся к типу атрибута и служат для задания начального значения. Цвет: Color = (255,0,0)
Строка-свойство – служит для указания значения атрибута, которые не могут быть изменены в программе.
Операции находятся в третьей секции прямоугольника. Совокупность операций характеризует поведение класса.
<квантор_видимости><имя_операции>(список параметров):<выражение_типа_возвращаемого_значения>{строка-свойство}
Имя операции – это обязательный элемент, который обладает свойством уникальности в пределах данного класса.
Список параметров – перечень параметров, которыми обладают операции.
выражение_типа_возвращаемого_значения – это значения, которые возвращаются объектам после выполнения операции.
-
Создать()
-
+нарисовать (форма:многоугольник=прямоугольник,цвет_заливки:Color(0,0,255))
Отношения между классами
Базовыми отношениями в языке UML являются отношения:
-
зависимости
-
ассоциации
-
обобщения (агрегации)
1)Отношения зависимости – показывает отношение между элементами модели и графически изображается пунктирной линией со стрелкой, направленной от класса-клиента к классу-источнику. В качестве класса-клиента и класса-источника могут выступать целые множества элементов. В этом случае одна линия со стрелкой разделяется на несколько линий в некоторой точке.
2)Отношение ассоциаций – может характеризовать отдельные свойства конкретной ассоциации. Графически изображается сплошной стрелкой с дополнительными специальными символами
2
1
Связывает 2 класса, причём направление треугольника указывают порядок класса
Если на стрелке нет специальных символов, то это означает, что порядок следования классов не определён
n-арная ассоциация – связывает некоторым отношение 3 и более классов
Отношение агрегации изображается сплошной линией, один из концов которой представляет незакрашенный ромб – он рисуется у того класса, который является целым, остальные – его части
Диаграмма состояний определяет все возможные состояния в которых может находиться объект, а так же процесс смены состояний в результате наступления некоторых событий.
Рисунок….
Диаграмма состояний включает в себя два специальных состояния:
-
начальное – графически изображается заштрихованного круга и соответствует состоянию объекта, когда он был создан
-
Конечное – круг, с чёрной точкой внутри. Соответствует конечному состоянию объекта, когда произведён выходи из состояния.
Начальное состояние только одно и является обязательным, конечных состояний может быть много, либо не быть совсем.
Кроме этого на диаграмме есть следующие типы объектов:
-
Входное действие – поведение, которое выполняется когда объект переходит в данное состояние. На диаграмме после «entry:»
-
Действие (деятельность) – поведение, реализуемое объектом пока он находится в данном состоянии. На диаграмме после «do:»
-
Выходное действие – поведение, когда объект выходит из состояния. На диаграмме после «exit:»
-
Переход – перемещение из одного состояния в другое. Совокупность переходов диаграммы – показывает, как объект может перемещаться между своими состояниями. На диаграмме в виде стрелки, которая начинается на первоначальном состоянии и заканчивается последующим. Кроме этого переходы могут быть рефлексивными (переход в тоже состояние, в котором находиться). В этом случае стрелка начинается и заканчивается на одном и том же состоянии.
-
Событие – это то, что вызывает переход из одного состояния в другое. Событие «клиент хочет закрыть счёт» вызывает переход из закрытое. Событие всегда изображают над стрелкой или рядом. В примере 6 переходов и 4 события. На диаграмме для отображения событий могут использовать как имя операций, так и обычные выражения. Большинство переходов должны иметь события, т.к. именно они заставляют переход осуществиться
-
Ограждающее условие – определяет куда может осуществиться . Изображается на диаграмме вдоль линии перехода после имени события и заключается в []. Ограждающие условия помогают пользователю понять, как осуществляется переход. Событие «вклад денег» может произойти только в том случае, если будет положительный баланс. На диаграмме показано 3 ограждающие условия. Диаграмма состояний может создаваться не для каждого класса и если объект класса может находиться в нескольких состояниях, то на диаграмме мы обязаны их показать.
Case-технологии, язык UML (элементы, классификация), диаграммы вариантов использования (в виде контекста, ), диаграмма классов.