Файл: Применение объектно-ориентированного подхода при проектировании информационных систем.pdf
Добавлен: 28.03.2023
Просмотров: 103
Скачиваний: 2
СОДЕРЖАНИЕ
1. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД ПРИ ПРОЕКТИРОВАНИИ ИС
1.2 Принципы объектно-ориентированного проектирования ИС
2. ОБЗОР СРЕДСТВ РАЗРАБОТКИ ИС С ПОДДЕРЖКОЙ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА
2.1 Унифицированный язык моделирования UML
2.1.2. Диаграммы вариантов использования
2.1.3. Диаграммы последовательности
2.2 Использование CASE-средств при разработке ИС
2.2.1. CASE-технология. Общие сведения
2.2.2. CASE-средство Rational Rose
Рисунок 6. Варианты представления класса на диаграмме классов
Имя класса – уникальное обозначение класса, по смыслу соответствующее его назначению. Атрибуты класса – свойства класса, представленные в виде кратких описаний, указывающих значения его отдельных переменных. Данные, содержащиеся в атрибутах класса подчиняются принципу инкапсуляции и имеют свои модификаторы доступа. Операциями класса являются процедуры (методы) класса, имеющие свои имена и модификаторы доступа [7, c.21-25] [10, c.34-37]. Отношениями между классами называются их взаимодействия и зависимости. Существует четыре типа отношения между классами: ассоциации, обобщения, агрегации и композиции [7, c.26].
Ассоциация (association) – какое-либо отношение между классами, имеющее произвольный характер. Изображается в виде сплошной линии, которая соединяет классы между собой. Ассоциации, также могут быть однонаправленными (на диаграмме отображаются в виде прямой линии с одной стрелкой) и двунаправленными (изображаются две стрелки, либо линия без стрелок) (рисунок 7) [10, c.127].
Рисунок 7. Графическое изображение ассоциаций
Для удобства, ассоциация может снабжаться именем, которое записывается над линией ассоциации с заглавной буквы. Кратностью плюса ассоциации называется определение возможного количества объектов (экземпляров класса), связанных при помощи ассоциации с объектом, происходящим от другого класса. Графически изображается в конце линии ассоциации в виде константы, либо интервала целых чисел. Полюс ассоциации, также может иметь имя [7, c.31-33].
Обобщение (generalization) – отношение между суперклассом (базовым классом) и его дочерними классами (наследниками, подклассами). Данное отношение подчиняется принципам наследования и полиморфизма, когда дочерний класс наследует свойства и методы класса со способностью их переопределения. Также дочерний класс может иметь свои собственные свойства и методы [7, c.38] [8, c.38-42]. Графически изображается в виде полой, треугольной стрелки, при этом, как правило, классы располагаются иерархически (рисунок 8) [10, c.204].
Рисунок 8. Графическое изображение обобщения
для нескольких классов-наследников
Агрегация (aggregation) – вид отношения между классами, когда один класс является элементом (составной частью) другого класса. Агрегация иллюстрирует общую систему отношений «часть-целое», состоящую из некоторых взаимосвязанных компонентов. Графически изображается в виде прямой линии, с полым ромбом со стороны агрегата (класса-элемента) (рисунок 9) [7, c.47].
Рисунок 9. Пример отношения агрегации
Композиция (composition) – вид отношения между классами, когда один класс является элементом (составной частью) другого класса, но, в отличие от агрегации, жизненные циклы элементов и целого числа совпадают. Из этого следует, что отдельные элементы не могут существовать без целого, также как и не могут принадлежать нескольким классам одновременно. Графически изображается в виде прямой линии, с закрашенным ромбом со стороны класса-композита (рисунок 10) [7, с.48] [10, c.205].
Рисунок 10. Пример отношения композиции
2.1.2. Диаграммы вариантов использования
Диаграмма прецедентов, или диаграмма вариантов использования (use case diagram) – графическая нотация, создаваемая на этапе формирования требований к будущей системе и ее объектно-ориентированного анализа. В данной нотации изображаются отношения между элементами системы и актерами (actor), под которыми понимаются внешние сущности, взаимодействующими с данной системой, но не являющимися ее частью [10, c.645] [7, c.80]. Вариантом использования или прецедентом, называется порядок специфических действий, выполняемых ИС в случае взаимодействия с актерами. Графически изображается в виде эллипса, содержащего имя в виде краткого описания прецедента. Актеры изображаются в виде схематичной фигурки человека (проволочная фигурка), внизу которой указывается имя актера [6, c.187] [7, c.80-82].
Как правило, все варианты использования, подразумеваемые системой, заключаются на диаграмме в прямоугольник, в то время как актеры изображаются снаружи. Это связано с тем, что актер, как сущность, находится вне проектируемой ИС и не имеет определения внутренней структуры (рисунок 11) [7, c.83].
Рисунок 11. Варианты использования на примере торгового автомата
Существует четыре типа отношения между актерами и вариантами использования: ассоциации, включения, расширения и обобщения [7, c.84] .
Ассоциация (association) – обозначение взаимодействия актера с прецедентом, когда происходит инициация одного из вариантов взаимодействия. Изображается в виде сплошной линии со стрелкой, которая соединяет актера и прецедент между собой. Стрелка является необязательной и может не указываться (рисунок 12, а) [7, c.85].
Включение (include) – обозначает ситуацию, когда существует альтернативный вариант поведения одного и того же варианта использования. Графически изображается пунктирной линией со стрелкой, направленной на включаемый (целевой) прецедент, с указанием ключевого слова «include» (рисунок 12, б) [7, c.85-86] [6, c.187].
Расширение (extend) – обозначает взаимосвязь двух вариантов использования (базового и расширяющего). Поведение базового расширяется за счет добавления к нему расширяющего варианта использования, если выполнено заранее установленное для этого условие. Условие указывается в специальном примечании (note), которое изображается в виде прямоугольника, правый верхний угол которого загнут. Графически расширение изображается пунктирной линией со стрелкой, направленной на базовый (целевой) прецедент, с указанием ключевого слова «extend». Условие также соединяется с расширением пунктирной линией (рисунок 12, в) [7, c.86-87].
Обобщение (generalization) – служит для описания вариаций поведения базового варианта использования, при этом, зависимые прецеденты обладают всеми особенностями поведения базового прецедента. При этом, дочерний класс может содержать собственные атрибуты, которые могут быть добавлены в базовый класс. Подобным образом реализуется отношение обобщения между актерами (рисунок 12, г) [7, c.88-91].
Рисунок 12. Графическое обозначение отношений между актерами и прецедентами
2.1.3. Диаграммы последовательности
Диаграммы последовательности (sequence diagram) (рисунок 13) – графическое представление потока событий, представленных во времени, упорядоченных по мере их возникновения [6, c.190]. Такие диаграммы служат для организации обмена сообщениями между актерами ИС, либо описания жизненного цикла какого-либо объекта в рамках данной ИС [7, c.95-96] [10, c.593]. Графически диаграммы последовательности представляются в виде сообщений между объектами и линией жизни объекта.
Линия жизни объекта (lifetime) – графическое представление временного участка существования отдельного актера или сущности в виде вертикальной линии. Объекты на диаграмме изображаются в виде прямоугольников, содержащих уникальные имена и информацию для идентификации каждой линии жизни [7, c.98].
Для выделения участков активности какого-либо из объектов используется специальный символ – фокус управления (focus of control), называемый также спецификацией исполнения (execution specification) – вытянутый вертикальный прямоугольник, расположенный внизу активного объекта [7, c100] [10, c.594].
Рисунок 13. Диаграмма последовательности на примере потока событий варианта использования банкомата
Сообщения – способ реализации взаимодействий между элементами ИС. Графически изображаются в виде стрелок, имеющих разную форму, в зависимости от типа сообщения. Порядок передачи сообщений или наступления событий во времени зависит от их расположения относительно линий жизни объектов – сообщения, которые расположены выше, передаются раньше, чем те, что расположены ниже. Распространены три основных типа сообщения: синхронные, асинхронные, и ответные сообщения [7, c.101].
Синхронные сообщения (synchCall) предназначены для вызова функций (методов), а также для обозначения вложенных потоков управления, при этом, поток управления отправителя останавливается до тех пор, пока ответное сообщение не будет получено. Графически синхронные сообщения представляются в виде прямой линии с закрашенной стрелкой (рисунок 14, а) [7, с.101].
Ответные сообщения (reply message) предназначены для выхода (возврата) из процедур или функций (методов). Графическое изображение ответного метода представляет собой пунктирную линию, оканчивающуюся открытой стрелкой с противоположной стороны от сообщения, на который производится ответ. Ответные сообщения на диаграммах часто не изображаются, поскольку принято считать, что любые вызываемые процедуры и функции, не имеющие безусловного замкнутого цикла, имеют возврат (рисунок 14, б) [10, c.471].
Асинхронные сообщения (asynchCall) – сообщения, передаваемые в произвольный момент, без ожидания ответа отправителем. В отличие от синхронных сообщений, асинхронные не вызывают остановку потока управления, а принимающая сторона не получает фокус управления. Графически асинхронные сообщения представляются в виде прямой линии с открытой стрелкой (рисунок 14, в) [7, c.102].
Рисунок 14. Графическое изображение различных типов сообщений меду объектами
2.1.4. Диаграммы состояний
Диаграммы состояний (statechart diagram) – описание поведения ИС в виде конечного автомата, являющегося по своей сути графом с вершинами, описывающими состояния ИС и дугами – переходами между этими состояниями (рисунок 15) [7, c.58].
Событием (event) называется некое происшествие, возникшее на каком-либо отрезке времени в виде внешнего воздействия [7, c.59].
Состоянием (state) называется совокупность всех свойств и значений объекта. Графическое обозначение – прямоугольник с закругленными углами, в котором указывается имя, деятельность при входе, текущая деятельность и деятельность при выходе [7, c.60].
Деятельностью (activity) называется поведение объекта на момент нахождения в каком-либо состоянии. Деятельность при входе помечается при помощи ключевого слова «entry/», текущая деятельность – с помощью «do/», а деятельность при выходе – при помощи «exit/».
Переход (transition) из одного состояния ИС в другое графически изображается в виде прямой линии с открытой стрелкой со стороны целевого состояния. Также над прямой линией может быть указана метка перехода [7, c.61].
Рисунок 15. Пример диаграммы состояний
2.1.5. Диаграммы деятельности
Диаграмма деятельности (activity diagram) – модель, определяющая последовательной действий, выполняемые элементами ИС. Графически представляется в виде блок-схем с изображением последовательной и параллельной деятельности (рисунок 16) [10, с.377].
Действие (action) – единица поведения, шаг, из последовательности которых состоит деятельность, описываемая посредством потока управления, являющегося по своей сути графом с вершинами, описывающими узлы деятельности и дугами деятельности [7, c.116].
Узел управления (activity) служит для координации потоков управления и подразделяется на:
- начальный узел (initial);
- финальный узел (final);
- узел финального потока (flow final);
- узел соединения (merge);
- узел решения (decision);
- узел разделения (fork);
- узел слияния (join) (рисунок 16) [7, c.117].
Рисунок 16. Пример диаграммы деятельности
2.2 Использование CASE-средств при разработке ИС
2.2.1. CASE-технология. Общие сведения
CASE-технология (Computer Aided Software Engineering) – технология автоматизированной разработки и сопровождения программных средств различных ИС [9, c.221].
CASE-средства – программное обеспечение специального класса для автоматизированного проектирования ИС [9, c.9]. Представляет собой набор инструментов (программных средств) для моделирования предметной области с последующим анализом данной модели на всех этапах ее жизненного цикла. К CASE-средствам можно отнести любое ПО, способное автоматизировать процессы жизненного цикла ИС и обладающее следующими характеристиками: