Collaboration diagram (диаграммы сотрудничества);
Class diagram (диаграммы классов);
Component diagram (диаграммы компонент).
Для целей анализа деятельности предприятия все большее распространение получает средство моделирования Rational Rose компании Rational Software.
Rational Rose - мощный инструмент анализа и проектирования объектно-ориентированных программных систем. Он позволяет моделировать системы до написания кода, так что вы можете с самого начала быть уверены в адекватности их архитектуры. С помощью готовой модели недостатки проекта легко обнаружить на стадии, когда их исправление не требует еще значительных затрат. Среда Rational Rose позволяет проектировать варианты использования и их диаграммы для визуализации функциональных возможностей системы.
UML и Rational Rose являются универсальными средствами, которые вполне подходят и для моделирования бизнес-процессов.
Use case diagram (диаграммы прецедентов) - позволяет создать список операций, которые выполняет система. Часто этот вид диаграмм называют диаграммой функций, потому что на основе набора таких диаграмм создается список требований к системе и определяется множество выполняемых системой функций. Каждая такая диаграмма или, как ее обычно называют, каждый Use case - это описание сценария поведения, которому следуют действующие лица (Actors). Данный тип диаграмм используется при описании бизнес процессов автоматизируемой предметной области, определении требований к будущей системе. Отражает объекты как системы, так и предметной области и задачи, ими выполняемые.
Исходя из поиска ответов на следующие вопросы:
Кто взаимодействует с системой или использует систему?
Кто передает или принимает информацию в/из системы?
Кто является внешним по отношению к системе?
Я выявил следующих субъектов.
Рис.3 Субъекты системы "Обслуживание абонентов"
Прецедент представляет собой целостный набор функций, имеющих определенную ценность для субъекта. Прецеденты можно вывести в результате определения задач для субъекта. Для этого следует задаться вопросом: "Каковы обязанности субъекта по отношению к системе и чего он ожидает от системы?" Каждый вариант использования (прецедент) определяет набор действий, совершаемых системой при диалоге с актером. При этом ничего не говорится о том, как конкретно будет реализовано взаимодействие актеров с системой и собственно выполнение вариантов использования. Прецедент изображается в виде эллипса, внутри или ниже которого помещается имя прецедента.
Рис.4. Прецеденты системы "Обслуживание абонентов"
Структура документа, описывающего прецеденты, может варьироваться, однако типичное описание должно содержать следующие разделы.
1. Краткое описание.
2. Участвующие субъекты.
3. Предусловия, необходимые для инициирования прецедента.
4. Детализированное описание потока событий, которое включает:
основной поток, который можно разбить для того, чтобы показать подчиненные потоки событий (подчиненные потоки могут быть разделены дальше на еще более мелкие потоки, с целью сделать читаемость документа более удобной);
альтернативные потоки для определения исключительных ситуаций.
5. Постусловия, определяющие состояние системы, по достижении которого прецедент завершается.
Приведу описательную документацию выше одного из обозначенных прецедентов.
Документ, содержащий описания прецедента, развивается по ходу разработки. На ранней стадии определения требований составляется только краткое описание. Остальные части документа создаются постепенно и итеративно. Полный документ возникает в конце этапа спецификации требований.
Прецедент | Заключение договора |
Краткое описание | Данный прецедент необходим для регистрации нового абонента в сети. |
Субъект | Оператор, клиент |
Предусловия | Оператору необходимо ознакомить с имеющимися операторами связи и выдать форму анкеты потенциальному абоненту |
Основной поток | После выбора клиентом соответствующего оператора, он заполняет форму, после чего оператор проверяет правильность заполнение формы на бумажном носителе и вводит данные в систему следующим действием "Выбор оператора связи - Договор об оказании услуг связи". После чего в системе "Обслуживание абонентов" открывается форма по заключению абонента сети в системе. При этом сначала система спрашивает, кто будет регистрироваться: Физическое лицо или Юридическое, и только после этого выводится соответствующая регистрационная форма. Оператор вводит информацию об организации-клиенте, о контактном лице юридического лица, а также вводит номера счетов организации. Далее договор сохраняется. Производится сеанс связи с Сервером в процессе которого эти данные передаются на сервер. |
Альтернативный поток | В случае, если пользователь не ввел все поля, система выдает сообщение "Введите все поля", дает возможность пройти процесс регистрации снова при ошибке. Также оператор и имеет возможность отказа от регистрации абонента путем выбора соответствующей команды (Отмена или аналогичной). |
Постусловия | После успешного завершения прецедента, клиент внесен в базу данных Абоненты сети на сервере. |
Прецедент | Замена абонентского номера |
Краткое описание | Данный прецедент необходим для удовлетворения потребности абонента, а именно, замены его номера. |
Субъект | Оператор, клиент |
Предусловия | Оператору необходимо ознакомиться с заявлением клиента. |
Основной поток | После проверки твердой копии заявления оператор в БД системы находит данного абонента, вызывает функцию "замена номера", после чего появляется соответствующая форма, которую необходимо заполнить. При нажатии кнопка ОК (или аналогичной) система автоматически меняет в БД номер клиента, оставляя при этом остальные данные неизменными. Далее изменения сохраняются. Производится сеанс связи с Сервером в процессе которого эти данные передаются на сервер. |
Альтернативный поток | В случае, если пользователь не ввел все поля либо, система выдает сообщение об ошибке. |
Постусловия | После успешного завершения прецедента, внесены изменения в базу данных. |
Этот вид диаграмм позволяет создать список операций, которые выполняет система. Часто этот вид диаграмм называют диаграммой функций, потому что на основе набора таких диаграмм создается список требований к системе и определяется множество выполняемых системой функций.
Каждая такая диаграмма или, как ее обычно называют, каждый Use case - это описание сценария поведения, которому следуют действующие лица (Actors).
Диаграмма прецедентов приписывает прецеденты к субъектам. Она также позволяет пользователю установить отношения между прецедентами, конечно, если такие отношения существуют.
Диаграмма прецедентов - это наглядное представление субъектов и прецедентов вместе с любыми дополнительными определениями и спецификациями. На данном виде диаграмм отображаются основные функции, которые выполняет система, лица, оказывающие влияния на систему - внешние сущности, а также связи между ними. Диаграмма прецедентов представляет собой не просто некую схему, а является полностью документированной моделью предполагаемого поведения системы. Достоинства модели вариантов использования заключаются в том, что она:
определяет пользователей и границы системы;
определяет системный интерфейс;
удобна для общения пользователей с разработчиками;
используется для написания тестов;
является основой для написания пользовательской документации;
хорошо вписывается в любые методы проектирования (как объектно-ориентированные, так и структурные).
Варианты использования и субъекты, выделенные для данной модели, можно представить в виде следующей диаграммы прецедентов:
Рис.5. Диаграмма прецедентов системы "Обслуживание абонентов"
Диаграмма прецедентов представляет собой не просто некую схему, а является полностью документированной моделью предполагаемого поведения системы. Это вид диаграмм особенно важен при организации и моделирования поведения системы. На них представлены прецеденты и актеры (частный случай классов), а также отношения между ними. Актер - это роль, которую пользователь играет по отношению к системе.
Между субъектами и вариантами использования могут быть различные виды взаимодействия. Так, из построенной диаграммы видно, что Оператор, инициирует различные варианты использования: Рассмотрение заявления, Замена абонентского номера, Детализация счета, Замена SIM-карты, Блокировка номера и так далее. Клиент также может инициировать варианты использования, например, Заполнение заявления, Составление анкеты, Выбор оператора связи и т.д. Остановлюсь подробнее на некоторых отношениях между вариантами использования.
Рис.6. Диаграмма прецедентов для субъекта Оператор.
Следует прокомментировать некоторые особенно "привлекательные" отношения между вариантами использования.