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

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

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

Добавлен: 22.04.2024

Просмотров: 319

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

12

 

Актѐры не подлежит контролю со стороны ПС, потому что определяют всѐ то, что находится вне системы.

Актѐры делятся на четыре основных типа:

1.Физические личности. Например, в банковской системе к актѐрам относятся клиенты и обслуживающий персонал.

2.Другая система. Когда другая система становится действующим лицом, предполагается, что она не будет меняться вообще. Например, у банка имеется кредитная система для работы с кредитными счетами клиентов. Банковская система должна иметь возможность взаимодействовать с кредитной системой, в таком случае последняя становится актѐром. Если кредитная система будет разрабатываться в рамках банковской системы, то она не может быть показана как актѐр.

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

4.Электромеханические устройства. Для последующей обработки ПС может получать сигналы от этих устройств, а также само может управлять их работой.

Прецедент – use case

Прецедент (вариант использования) представляет собой описание системной функции, которая производит конкретный результат, значимый (полезный) для конкретного пользователя (участника-актѐра).

Графическое изображение прецедента показано на рис. 1-4.

Рис. 1-4. Графическое изображение прецедента

Прецедент – это документ с текстовым описанием последовательности действий, которые должны быть выполнены системой для актѐра по его запросу.

Последовательности действий называют потоками событий.

Нормальная последовательность действий (без отклонений и без ошибок), которая должна быть выполнена ПС для достижения конкретного результата, называется основным потоком событий.

Альтернативные потоки событий отражают отклонения от основного потока событий, а также потоки ошибок.

Основной поток событий всегда один, альтернативных потоков может не быть или может быть несколько альтернативных потоков для одного основного.

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

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

13

 

выполнен, то по какому-либо альтернативному потоку система сообщает о невозможности получения результата.

С основным потоком событий связаны два понятия: предусловие и постусловие.

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

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

Не у всех вариантов использования бывают предусловия и постусловия. Пример основного потока для прецедента Снятие денег со счѐта:

1.Клиент банка вставляет карту в прорезь банкомата.

2.Клиент отвечает на вопрос о коде.

3.Система проверяет соответствие карты и кода.

4.Клиент вводит сумму.

5.Система проверяет наличие соответствующей суммы на счету клиента.

6.Клиент получает деньги.

Для этого же прецедента альтернативные потоки для строки 3 и строки 5: 3 А. Введѐнный код не соответствует карте.

3.1.Система сообщает клиенту о неверном коде.

3.2.Система предлагает ввести другой код или завершить сеанс.

5 А. Баланс счѐта меньше введѐнной суммы.

5.1.Система сообщает клиенту о невозможности снятия денег со счѐта.

5.2.Система завершает сеанс работы с клиентом.

Компонент – component

Компонент – это физический элемент реализации с чѐтко определѐнным интерфейсом, предназначенный для использования в качестве заменяемой части системы.

Компонент изображается в виде прямоугольника с вкладками (рис. 1-5).

Рис. 1-5. Графическое изображение компонента

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

К наиболее распространѐнным стереотипам компонентов относятся:

1.<<EXE>> – исполняемый (executable) компонент, который может быть выполнен компьютером.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

14

 

2.<<DLL>> – динамическая объектная библиотека (library).

3.<<DB>> – реляционная или объектная база данных (database).

Компоненты имеют следующие особенности:

Компоненты включают отношения тех классов ПС, которые они реализуют.

Способ реализации компонентов зависит от используемого языка программирования.

Узел – node

Узел – физически существующий элемент системы, который представляет собой процессор или устройство.

Процессор (processor) – узел, способный обрабатывать данные, то есть исполнять компонент.

Устройство (device) – узел, не способный обрабатывать данные. Графическое обозначение узлов показано на рис. 1-6.

1-6. Графическое обозначение узлов

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

датчики;

принтеры;

модемы;

цифровые камеры;

сканеры;

манипуляторы.

Между узлами и компонентами существует соответствие:

1.Узлы исполняют компоненты. Компоненты исполняются на узлах.

2.Узлы – это средства физического развѐртывания компонентов. Компоненты включают в спецификацию узла как процесс. Один и тот же компонент можно разворачивать на одном или нескольких узлах системы.

Множество компонентов, приписанных на узел как группа, называется элементом распределения (Distribution Unit).

Каждый узел должен иметь уникальное имя, которое может быть произвольной последовательностью символов. Например, Сервер, Принтер HP DeskJet 400.

Дополнительно к узлу можно использовать стереотипы. Несмотря на то, что стандартных стереотипов в UML не существует, они приписываются узлам. Например,

процессор, консоль, сеть, модем, факс, принтер, плоттер, датчик.

Чаще всего используются стереотипы: процессор и устройство.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

15

1.1.2. Отношения

 

Отношением (relationship) называется набор однотипных связей между отдельными элементами (актѐрами и прецедентами, классами, компонентами).

Отношения между классами

Связь (link) – это физическое или концептуальное соединение между объектами. Например, Марк учится в ПГУПС. Чаще всего связь соединяет ровно два объекта.

Отношение – это набор связей, которые обладают общей структурой и общей се-

мантикой. Например, студент может учиться в каком-либо учебном заведении.

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

Самым распространѐнным типом отношений является ассоциация (association), которая отражает значимые и полезные связи объектов. По своей природе ассоциация двусторонняя, имеет два конца и может быть прослежена как в одном, так и в обоих направлениях.

В UML двунаправленная ассоциация обозначается при помощи прямой линии. Когда ассоциация однонаправлена, линия заканчивается стрелкой, указывающей направление ассоциации. На рис. 1-7 показаны оба вида обозначений.

Рис. 1-7. Обозначение

ассоциаций

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

1 – точно один объект; 0..1 – ноль или один объект;

0..* – ноль или больше объектов; 1..* – один или больше объектов;

*– много объектов.

На рис. 1-8 показана двунаправленная ассоциация с кратностью на одном полюсе много, а на другом – один. Эта ассоциация двунаправленная, поэтому справедливы

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения 16

оба утверждения: много людей работает на одном предприятии, и на одном предпредприятии работает много людей.

Рис. 1-8. Кратность ассоциации

Полюс может иметь не только кратность, но и располагать именем роли, которое описывает роль объектов. Представление ролей в ассоциации не является обязательным, однако значительно улучшает понимание диаграмм классов, а также обеспечивает простоту добавления уникальных атрибутов при программировании классов. Имя роли указывается около конца ассоциации. На рис. 1-9 показаны роли в двух однонаправленных ассоциациях: управляет и назначает. Роль объектов класса Человек в ассоциации назначает определена как менеджер: одно предприятие назначает некоторых из многих людей менеджерами. В ассоциации управля-

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

Рис. 1-9. Роли в ассоциации

Агрегация (aggregation) – специализированный вид ассоциации, который обозначает отношение часть целого (part of, has), где каждая пара классов определяется отдельно.

Агрегация имеет два важных свойства:

1.Транзитивность (если A является частью B, а B – частью C, то A является частью C).

2.Асимметричность (если A является частью B, то B не является частью A).

Для отношения часть целого в UML существует две формы: общая (агрегация) и частная (композиция). Композиция (composition) – особый случай агрегации с дополнительными ограничениями: часть может принадлежать не более чем одному целому; приписанная к некоторому целому часть автоматически получает срок жизни, совпадающий со сроком жизни целого. Агрегация допускает независимую обработку объектов-частей и объекта-целого. Обработка частей в композиции возможна только через объект целого, равно как и доступ внешних объектов к частям.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011