Автор работы: Пользователь скрыл имя, 10 Ноября 2014 в 02:32, шпаргалка
Методология процедурно-ориентированного программирования.
Методология объектно-ориентированного программирования.
Методология объектно-ориентированного анализа и проектирования.
Начальное состояние представляет собой частный случай состояния, которое не содержит никаких внутренних действий (псевдосостояния). В этом состоянии находится объект по умолчанию в начальный момент времени. Графически начальное состояние в языке UML обозначается в виде закрашенного кружка, из которого может только выходить стрелка, соответствующая переходу.
Конечное (финальное) состояние представляет собой частный случай состояния, которое также не содержит никаких внутренних действий (псевдосостояния). В этом состоянии будет находиться объект по умолчанию после завершения работы автомата в конечный момент времени. Графически конечное состояние в языке UML обозначается в виде закрашенного кружка, помещенного в окружность, в которую может только входить стрелка, соответствующая переходу.
Составное состояние (composite state) – такое сложное состояние, которое состоит из других вложенных в него состояний. Последние будут выступать по отношению к первому как подсостояния (substate). Хотя между ними имеет место отношение композиции, графически все вершины диаграммы, которые соответствуют вложенным состояниям, изображаются внутри символа составного состояния. В этом случае размеры графического символа составного состояния увеличиваются, так чтобы вместить в себя все подсостояния.
Последовательные подсостояния (sequential substates) используются для моделирования такого поведения объекта, во время которого в каждый момент времени объект может находиться в одном и только одном подсостояний.
Параллельные подсостояния (concurrent substates) позволяют специфицировать два и более подавтомата, которые могут выполняться параллельно внутри составного события.
Историческое состояние (history state) применяется в контексте составного состояния. Оно используется для запоминания того из последовательных подсостояний, которое было текущим в момент выхода из составного состояния. При этом существует две разновидности исторического состояния: недавнее и давнее.
Недавнее историческое состояние (shallow history state) обозначается в форме небольшой окружности, в которую помещена латинская буква "Н". При первом переходе в недавнее историческое состояние оно заменяет собой начальное состояние подавтомата.
Давнее историческое состояние (deep history state) обозначается в форме небольшой окружности, в которую помещена латинская буква "Н" с символом "*" и служит для запоминания всех подсостояний любого уровня вложенности для текущего подавтомата.
Синхронизирующее состояние (synch state) обозначается небольшой окружностью, внутри которой помещен символ звездочки "*". Оно используется совместно с переходом-соединением или переходом-ветвлением для того, чтобы явно указать события в других подавтоматах, оказывающие непосредственное влияние на поведение данного подавтомата.
Главное предназначение этой диаграммы - описать возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение элемента модели в течение его жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакции на восприятие некоторых конкретных событий. Системы, которые реагируют на внешние действия от других систем или от пользователей, иногда называют реактивными. Если такие действия инициируются в произвольные случайные моменты времени, то говорят об асинхронном поведении модели.
Диаграмма деятельности является частным случаем диаграммы состояний и используется для моделирования процесса выполнения операций, определенных в проектируемой системе.
Графическая нотация диаграммы деятельности во многом схожа с нотацией диаграммой состояний, то есть идентичное представление состояний и переходов. Отличие заключается в семантике состояний, которая используется для представления деятельности и действий и в отсутствии на переходах описания событий. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние срабатывает только при завершении операции в предыдущем состоянии. Переходы на диаграмме деятельности означают передачу данных.
Графически диаграмма деятельности представляется в форме графа деятельности, вершинами которого являются состояния действия, а дугами переходы из одного состояния действия в другое.
В контексте языка UML, деятельность представляет собой некоторую совокупность отдельных вычислений, выполняемых конечным автоматом. При этом отдельные элементарные вычисления могут приводить к некоторому результату или осуществлению действия.
Акцент на диаграмме деятельности ставится на то, ни как и в какие сроки выполняется действие, а к какому результату действие приходит и куда этот результат передается далее.
Как правило, результат, то есть его получение и передача, всегда приводит к смене состояния действия.
Единственное отличие представления диаграммы деятельности от диаграммы состояний заключается в представлении дорожек.
Актер 1 |
Актер 2 |
Актер N |
|
||
|
||
|
||
|
||
|
Для каждого актера выделяются его состояния действия в системе, это выделение отображается представлением этих состояний на его дорожке.
Все предыдущие диаграммы. Разрабатываемые на этапе проектирования, отражали различные концептуальные аспекты, построения модели системы и относятся к логическому уровню представления.
Основное назначение логического представления состоит в анализе структурных и функциональных взаимоотношений между элементами системы. Но для реализации любой системы или программного комплекса, этого недостаточно, так как все логические модели не имеют физического представления.
Чтобы отличить логическое представление от физического необходимо подробнее рассмотреть процесс разработки некоторой программной системы. Ее логическим представлением могут служить структуры и алгоритмы обработки данных (внутреннее представление данных в виде файлов, структур, баз и банков данных, а также процедуры и алгоритмы, написанные на конкретном языке программирования, имеющие доступ к этим данным). Описание интерфейсов структурных частей взаимодействия различных частей программной системы, а также ее физическое расположение на вычислительных платформах.
Тем не менее, даже разработанные исходные тексты программ не являются конечной реализацией любого проекта, хотя являются фундаментом его физического представления. Именно данный аспект и представляет диаграмма компонентов.
При построении данной диаграммы предполагается, что разработчик физически представляет не только модули, исполняемых функций, библиотеки классов и процедур, реализованные графические интерфейсы, а также различные структуры хранилищ данных, но и их взаимодействие в процессе функционирования программной системы.
На первом этапе развития UML языка, диаграммы физического представления (диаграмма компонентов и диаграмма развертывания) назывались диаграммами реализаций. Поскольку именно они позволяют описать программную систему на физическом уровне ее материального выражения.
Диаграмма компонентов позволяет определить архитектуру разрабатываемой системы, установив зависимости и взаимосвязи между всеми программными компонентами, в роли которых выступает код в следующих представлениях:
Из этого следует, что разработчик, приступив к построению диаграммы компонентов, должен обладать знаниями в области программирования на языках высокого и низкого уровня, знать принцип разработки баз данных, иметь представление о сетевых разработках и представлениях и знать как эти структурные части взаимодействуют между собой.
Практически во всех средах разработки (за малейшим исключением) все виды кодов представляются в виде файлов.
Для представления физических сущностей в языке UML применяется специальный термин – компонент. Компонент служит для общего обозначения элементов физической модели и может реализовывать в себе некоторый набор интерфейсов.
Интерфейс – код для сопряжения двух отдельных элементов системы.
Компонент графически представляется следующим образом.
<тип ресурса>:<имя компонента>
Тип ресурса, который поддерживается в данный момент в языке UML. (в рэйшн роулз при указании конкретного типа ресурса, графическое представление компонента может автоматически изменяться):
Виды компонентов:
Поскольку компонент, как элемент модели, может иметь различную физическую реализацию, его изображают часто в виде специального символа (нестандартного значка компонента). Данные изменения не входят в стандарт UML, но упрощают чтение диаграммы и понимание ее взаимосвязи с другими диаграммами.
Для наглядного представления в языке введены следующие графические стереотипы.
Другой способ спецификации – указание текстового стереотипа компонента перед его именем.
Интерфейсы.
Графически интерфейс представляется малой окружностью, имя которой начинается с заглавной буквы I<имя>.
В общем случае интерфейс соединяется с элементом компонента, отрезком линии без стрелки (ассоциация). Семантически данная линия обозначает реализацию интерфейса, а наличие интерфейса у компонента означает, что данный компонент реализует соответствующий набор интерфейса.
При разработке программных систем интерфейсы обеспечивают не только совместимость различных версий, но и возможность вносить существенные изменения в отдельные элементы и модули системы, не изменяя при этом другие элементы системы. Таким образом, назначение интерфейсов существенно шире, чем спецификация взаимодействия с пользователями системы – актерами.
Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих лишь на этапе ее исполнения (runtime). При этом представляются только компоненты-экземпляры программы, являющиеся исполнимыми файлами или динамическими библиотеками. Те компоненты, которые не используются на этапе исполнения, на диаграмме развертывания не показываются. Так, компоненты с исходными текстами программ могут присутствовать только на диаграмме компонентов. На диаграмме развертывания они не указываются.
Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними. В отличие от диаграмм логического представления, диаграмма развертывания является единой для системы в целом, поскольку должна всецело отражать особенности ее реализации. Эта диаграмма, по сути, завершает процесс ООАП для конкретной программной системы и ее разработка, как правило, является последним этапом спецификации модели.
Информация о работе Шпаргалка по "Программированию и компьютерам"