Диаграмма вариантов использования uml страховая компания

компании

В
страховом бизнесе, как и в любой другой
области экономики, идет беспрерывный
поиск эффективных технологий и методов
повышения рентабельности. Современное
рыночное общество невозможно себе
представить без страхования как особого
вида экономических отношений. Существует
прямая связь между уровнем благосостояния
общества, степенью развития рыночных
отношений и уровнем развития страхования.
В странах, которые являются мировыми
лидерами в области социальных и рыночных
отношений (США, Япония, европейские
государства и другие), страхование есть
одной из наиболее стабильных и динамических
областей народного хозяйства.

Развитие
страховой деятельности на Украине
сопровождается рядом проблем. Одной из
наиболее важных проблем страхования
есть медленная (в сравнении с банковской
деятельностью) автоматизация страхования.
Эта проблема наиболее остро проявляется
в получении оперативной информации
относительно заключенных договоров
страхования, что, в свою очередь, не
разрешает в полной мере реагировать на
внешние воздействия
и эффективно принимать управленческие
решения. Особенно это касается небольших
страховых компаний, которые мало известны
на страховом рынке.

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

Так,
модульная информационная система
ІNSTRAS-4 предназначена для комплексной
автоматизации учета в страховых и
перестраховочных компаниях. Основное
назначение ІNSTRAS-4 – повышение
конкурентоспособности страховой
компании за счет важного улучшения
управляемости. Замыкает все данные и
все бизнес-процессы в страховой компании
в единое информационное пространство,
согласовывая и оптимизируя их. Обеспечивает
комплексную автоматизацию всех ключевых
отделов и служб страховой (перестраховочной)
компании. Представляет собой могущественный
инструмент преобразований и
совершенствования работы компании,
создания и вывода на рынок новых страховых
продуктов. Разрешает организовать
бесперебойный обмен информацией с
филиалами, агентствами и точками продаж.
Включает интерфейс к наиболее популярным
на украинском рынке программам
бухгалтерского учета. Допускает
минимальные расходы на приобретение,
внедрение, поддержку, сопровождение и
развитие.

Для
использования в страховом маркетинге
предлагается еще целый ряд программных
продуктов. Например, Marketіng Expert и БЕСТ
Маркетинг – для стратегического
планирования, Касатка и Маркетинг Микс
– для стратегического и оперативного
планирования. Программа Marketіng Analytіc
предназначена для анализа, прогноза,
планирования и содержит в себе элементы
CRM. Программа Sales Expert обеспечивает
управление прямыми продажами.
Специализированные программные продукты,
предназначенные для решения задач
планирования, имеют и другие встроенные
маркетинговые инструменты, используемые
для SWОТ-анализа и ряда других маркетинговых
операций в процессе обработки данных.
В той или иной мере вышеперечисленные
программные продукты можно применять
с целью прогнозирования и разработки
сценариев развития событий в интересах
решения маркетинговых задач страховой
компании.

Рынок
ІТ-технологий предлагает и другие
информационные решение. Например,
система Contact Manager является универсальным
средством администрирования рабочего
времени и управления системой сбыта.
Она позволяет эффективно контролировать
деловую активность сотрудников системы
продаж на всех уровнях руководства,
отслеживать историю контактов специалистов
агентской сети – от первого телефонного
звонка к заключению договора. Contact
Manager интегрирован с системой операционного
учета договоров. Возможна интеграция
с технологиями саll-центра, бизнес-планирования
и отчетности.

Новая
версия информационной системы UNІCUS EASY
ОСАГО v. 1.6. представляет собой
автоматизированное рабочее место (АРМ)
работника страховой компании и позволяет
выполнять следующие операции:
полнофункциональную продажу полисов
ОСАГО; урегулирование убытков; учет
бланков строгой отчетности; экспорт
данных в формате XML во внешние информационные
базы.

Система
ІCІ (Іnsurance Company Іnformatіon System), которая
выпускается фирмой T-systems, адаптируется
к разнообразнейшим бизнесам-моделям и
может рассматриваться как промежуточный
вариант между индивидуальным и стандартным
программным обеспечениями. В этой
системе комплексной автоматизации,
разработанной специально для страховых
компаний, есть такие современные функции,
как CRM, управление документооборотом,
ведение статистики и другие. Эта система
легко интегрируется с уже имеющимися
в страховой компании бэк-офисными
решениями. Программа Connect Іnsurance,
разработанная австрийской компанией,
работает по принципу “tіme to market” (процесс
от возникновения идеи о новом страховом
продукте до его выхода на рынок) и
модернизации системы продаж страховой
компании без внесения изменений в
существующую ІT архитектуру.

Но
надо помнить, что интегрированные
информационные системы типа Іnsurance
Company
используются, в основном, большими
страховыми компаниями, так как имеют
высокую рыночную стоимость и потому
недоступны для мелких страховых компаний.
Для автоматизации своей деятельности
мелкие страховые компании используют
или системы собственных разработок,
или недорогие системы, которые предлагают
ограниченный набор возможностей.

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

Разработка
информационной системы традиционно
проводится в три этапа: объектно-ориентированный
анализ предметной области; концептуальное,
логическое и физическое моделирование
информационной системы; программная
реализация разработанной модели.

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

На втором этапе
создается информационная модель
проектируемой системы, для чего
используется унифицированный язык
моделирования UML.

Проектирование
начинается с формулирования требований
к разрабатываемой системе, определения
функций, которые она должна реализовывать,
и задач, которые она должна решать. На
основе этих данных формируется диаграмма
вариантов использования (рис.125). В нашем
случае диаграмма вариантов использования
(«прецедентов») основывается на
требованиях, функциях, задачах страховой
компании, которые должна выполнять
разрабатываемая система. Согласно
диаграмме, прецедент «Работа с данными»
является основой для прецедентов:
получение данных; введение данных;
модификация данных; просмотр данных;
контроль правильности введенных данных.

Прецедент
«Обработка данных» является основой
для прецедентов: просмотр данных; сверка
данных; формирование отчета; выдача
исходной информации.

Прецедент
«Работа с исходной информацией» является
основой для таких прецедентов: просмотр
данных; обработка исходной информации;
формирование отчетов.

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

Рисунок 125 – Диаграмма
вариантов использования

Анализ
предметной области процесса функционирования
небольшой страховой компании изображен
на рис. 126.

Клиент-страхователь
обращается в страховую компанию к
клиенту-агенту с целью заключить договор
страхования. Согласовываются условия
страхования, подписывается договор
страхования.

Рисунок 126 — Диаграмма ассоциаций
классов

Клиент-агент
передает записанные исходные данные
клиента-страхователя (страховой полис)
клиенту-оператору ввода, который, в свою
очередь, обрабатывает эти данные и
заносит в ПК (сохранение в базу). Также
клиенту-оператору ввода поступают
бухгалтерские данные от клиента-бухгалтера.
После того, как все данные обработаны
и сохранены в базе, клиент-оператор
ввода формирует исходную информацию
(в виде отчета определенной формы) и
передает клиенту-бухгалтеру для сверки.
В свою очередь, клиент-бухгалтер после
просмотра и обработки полученной
информации также формирует исходную
информацию (в виде отчета определенной
формы). Сформированные и обработанные
данные, как клиентом-оператором ввода,
так и клиентом-бухгалтером передаются
клиенту-группе конечных пользователей.
Вербальное описание процесса работы
страховой компании с клиентами разрешает
выделить следующие классы:
клиент-страхователь, клиент-агент,
клиент-оператор ввода, клиент-бухгалтер,
клиент-группа конечных пользователей,
входящие данные, исходящие данные. На
рис. 127 представлена детализация классов.

Рисунок 127 – Диаграмма детализации
классов

Диаграмма
последовательностей показывает измерение
времени по взаимодействию объектов
(рис. 128). В нашем случае фигурка представляет
страхователя (исполнителя), который
инициирует последовательность, хотя,
в принципе, эта фигурка не является
частью диаграммы последовательностей.
Объект «Оператор ввода» получает
сообщение от агента, после чего происходит
обработка полученных данных. В процессе
работы объект «Оператор ввода» получает
асинхронное сообщение от объекта
«Бухгалтер» (т.е. объект «Бухгалтер» не
ожидает ответа от объекта «Оператор
ввода»). После обработки данных объект
«Оператор ввода» передает данные объекту
«Бухгалтер» в виде синхронного сообщения,
т.е. ожидает ответ от объекта «Бухгалтер»,
а именно идет уточнение со стороны
объекта «Бухгалтер» в виде условия:
обработанные данные верны или обработанные
данные неверны. В случае данные неверны
— идет доработка, а в случае данные верны
— происходит отправление сообщения
конечному пользователю, т.е. группе
конечных пользователей.

Рисунок 128 – Диаграмма
последовательности

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

На
рис. 129 показана диаграмма кооперации
работы страховой компании. Диаграмма
описывает последовательность информации,
которая поступает объекту в виде
сообщения. В нашем случае некоторые
сообщения являются дочерними относительно
других. Они представлены с использованием
десятичной точки для обозначения уровня
вложенности. Так, объект «Оператор
ввода» может передать обработанные
данные объекту «Бухгалтер» только после
того, как получит бухгалтерские данные
от этого же объекта. Так как без
бухгалтерских данных невозможно
сформировать конечные данные. В свою
очередь, конечные данные объект «Группа
конечных пользователей» от объекта
«Оператор ввода» получает только после
передачи исходящих
данных от
объекта «Бухгалтер».

Рисунок 129 –
Диаграмма кооперации

Диаграмма
состояний отображает, как объекты
изменяют свое состояние в ответ на
события, которые происходят. При включении
компьютера происходит загрузка. Поэтому
включение компьютера является
переключающим событием, которое приводит
к переходу интерфейса в состояние
инициализация, а загрузка – действие,
которое происходит во время перехода.
Результатом выполнения действий в
состоянии инициализации есть изготовление
переключающего события, которое вызывает
переход в состояние роботы. При щелчке
по кнопке завершения работы осуществляется
переход в состояние завершения работы,
и в конечном итоге компьютер выключается.
Состояние регистрации нового страхового
полиса в базе является подчиненным.
Система находится в состоянии «Ожидание
ввода данных», пока оператор ввода не
введет соответствующее условие. Дальше
активизируются состояния «Обработка
данных» и «Сохранение данных». Итоговое
состояние – «Визуализация результатов».

Диаграмма
деятельности реально описывает все,
что происходит во время операции или в
процессе. В нашем случае диаграмма видов
деятельности разбивается на «плавательные
дорожки» – параллельные сегменты,
которые отвечают ролям (рис. 130).

Рисунок 130 – Диаграмма деятельности

На
диаграмме компонентов в нашем случае
для работы с данными необходим компонент
«Таблица», а для представления данных
таблицы – интерфейс «Работа с данными».
В свою очередь, работа с данными может
содержать просмотр данных, регистрацию
новых данных, редактирование данных,
формирование отчета по заданному
условию. Выделим следующие интерфейсы:
«Просмотр», «Редактирование», «Выбор»,
«Автоматический подбор» и «Отчет» (рис.
131).

Система
была реализована в среде программирования
Borland
Delphi
и внедрена в отделении страховой компании
[22-25]. Проведенный расчет экономической
эффективности показал, что срок
окупаемости системы составит 0,15 года.

Рисунок 131 – Диаграмма компонентов

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Содержание:

ВВЕДЕНИЕ

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

Основной особенностью организации информационного обеспечения АИС страховой компании является необходимость иметь полную базу данных по всем договорам компании за максимально длительный период. Это связано с тем, что при заключении нового договора с клиентом необходимо иметь полную информацию о его предыдущих страховках (наличие и характер выплат) и обеспечить просмотр всех связанных с этими случаями документов. Такая информация должна храниться в базе данных, постоянно обновляться и получать ее надо сразу после запроса. Так, при расчетах ставки взноса или тарифа, необходимо загрузить из базы данных необходимую статистику и выполнить расчетные действия по договорам страхования за длительный прошедший период, при этом обработке подвергается каждый договор.

Отсюда вытекает требование к полноте базы данных информационной системы центрального офиса. В остальных крупных подразделениях страховой компании (региональные филиалы, отделения) необходимости иметь базу данных всей компании, ибо в каждом из подразделений имеется база данных своих страхователей. Собственная база данных каждого подразделения страховой компании охватывает свое страховое поле, формируемое по территориальному принципу, поэтому пересечений по страхователям у одноуровневых подразделений нет. Необходимость запросов информации из всей базы компании возникает лишь при переезде страхователя либо когда страхователь — крупная организация и ее подразделения расположены в более чем одном регионе.

ГЛАВА 1 Аналитическая часть

1.1 Описание предметной области. Постановка задачи.

Компания предоставляет услуги по страхованию частным лицам. Компания осуществляет страхование по нескольким видам договоров (страхование жизни, страхование имущества и т. д.). Клиент заключает с компанией договор страхования сроком на заданное число лет. В договоре указывается сумма страховки, получаемой страховщиком при наступлении страхового случая. Сумма страхового взноса, уплачиваемого страховщиком страхователю (компании) зависит от размеров страховой суммы, вида и срока страхования.

Если в период действия договора наступает страховой случай, компания (после проверки обстоятельств) производит выплату клиенту страховой суммы. На этом действие договора прекращается. Если страховые обстоятельства не наступают до окончания срока действия договора, он утрачивает силу. В таком случае компания обычно предупреждает клиента о скором истечении срока действия договора, предлагая ему перезаключить этот договор.

Руководство компании интересует спрос на виды страхования, поэтому оно периодически анализирует количество и суммы заключенных договоров по каждому из видов, а также оценивает риски, подсчитывая суммы страховых выплат по каждому виду договоров. Кроме того, составляется финансовый отчет деятельности компании за заданный период времени.

С целью повышения эффективности труда сотрудников страховой компании и снижения вероятности ошибок при оформлении договоров в информационной системе необходимо реализовать следующие функции:

• расчет суммы взносов и подготовку к печати договора страхования;

• возможность выбора видов страхования из перечня действующих;

• составление перечня действующих договоров;

• формирование отчета по видам страхования;

• составление извещений клиентам об истечении сроков действия договоров в ближайшие две недели;

• подсчет и подготовка к печати отчета по итогам работы страховой компании за заданный период времени.

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

Область применения

Система предназначена для применения в фирме предоставляющей услуги по страхованию для общего пользования сотрудниками, в том числе главный офис, филиалы и представительства и удаленные пользователи (инспекторы, агенты).

Таблица 1

Определения, акронимы и сокращения

номер

термин

значение

1

сотрудник

работник предприятия выполняющий определенные действия, имеющий фамилию, имя и отчество

2

удаленные пользователи

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

3

Сценарий

некоторая последовательность действий, иллюстрирующая поведение системы

4

Страховщики

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

5

Страхователи

лица, заключившие со страховщиком договор обязательного страхования

6

ОСАГО

обязательное Страхование Автогражданской Ответственности

7

ДСАГО

добровольное страхование автогражданской ответственности

8

Полис ДСАГО

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

9

страховой случай

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

10

страховые тарифы

ценовые ставки, установленные в соответствии с настоящим Федеральным законом, применяемые страховщиками при определении страховой премии по договору обязательного страхования и состоящие из базовых ставок и коэффициентов

11

Класс

Описание набора объектов, обладающих одинаковыми свойствами

12

компенсационные выплаты

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

13

Интерфейс

Набор операций, используемых для определения сервисов, предлагаемых классом или компонентом

14

ИБ

Информационная база организации

15

Сигнал

Асинхронное сообщение, передаваемое между объектами

16

Прецедент

Описание последовательностей действий, осуществляемых системой для предоставления пользователю результата

17

Реализация

Устройство механизма или системы

18

Ограничения

Расширяют семантику элемента, обеспечивая возможность добавлять новые правила

19

Помеченные значения

Обеспечивают возможность определять новые элементы модели UML на основании уже существующих элементов

20

СУБД

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

Возможности системы

Данная система предоставляет следующие виды работ:

• добавление информации о новых клиентах страховой фирмы;

• добавление новых видов страхования уже существующим в информационной базе клиентам;

• формирование данных для оценки статистики случаев ДТП клиентов;

• поиск наиболее подходящих параметров страхования;

• предоставление информации, необходимой для консультации клиентов

Формулировка проблемы

Таблица 2

Для

Сотрудников

Которые

Производят ввод, анализ данных

Является

Инструментом, предоставляющим своевременный ввод новых данных, поиск и анализ текущего состояния клиентов

Который

Значительно упростит работу сотрудников компании и ускорит оказание услуг клиентам

Описание заинтересованных лиц и пользователей

Потенциальные потребители

Сотрудники, клиенты страховой фирмы.

Таблица 3

Заинтересованные лица

Наименование лица

Кого представляет

Роль

Сотрудник

Организацию

Работник фирмы

Пользователь

Физическое лицо

Клиент

Таблица 4

Пользователи

Наименование

Описание

Сотрудник

Работник организации

Клиент

Физическое лицо, являющееся клиентом организации

Пользовательская среда

Распространенная операционная система Windows 7/Vista/XP

Интерфейс в виде таблиц, а так же специальных форм ввода данных.

Таблица 5

Основные потребности заинтересованных лиц/пользователей

Потребность

Приоритет

Проблема

Существующее

решение

Предлагаемые решения

Оперативный ввод и получение информации

1

Несвоевременное оказание услуг, либо их полное отсутствие

Предоставление удаленным пользователям технических средств имеющих доступ к сети, для оперативного внесения новых данных

1.2 Предлагаемые мероприятия по улучшению технологии решения задачи

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

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

Для данного способа также характерны следующие недостатки:

Невысокая скорость и точность выполнения расчетов.

Неэффективное использование рабочего времени.

Возможность потери важных документов (заявки, данные клиентов, договора)

Бюрократия – увеличивающийся «поток» бумажной работы.

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

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

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

Таблица 6

Возможности продукта

Достоинство

Свойство системы

Автоматизация информационных процессов, связанная с обслуживанием клиентов банка.

Централизованное хранение информации о клиентах страховой фирмы и оперативный доступ к ней.

Удобный поиск и ввод новых значений

Возможность внесения изменений в ИБ сразу после заключения договора, изменения данных о клиентах, используя доступ в интернет

Удобство в использовании

Работа с наглядными таблицами и формами ввода данных для поиска необходимого номера

Проектные ограничения

Система должна функционировать в среде наиболее распространенных операционных средств, необходим доступ к сети интернет.

Стоимость проекта

Стоимость проекта не может превышать 1 000 000 рублей

Лицензирование и установка

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

Функциональные возможности продукта

Ввод данных в систему, поиск клиентов, анализ и оценка текущего состояния клиентов.

Вход в систему

Осуществляется по средствам вызова приложения и регистрации пользователя в системе.

Требования к качеству

Готовность:

Система находится в режиме готовности после ее запуска. Система работает 6 дней в неделю под постоянным наблюдением системного администратора готовым устранить ошибки системы. 7-ой день недели предназначен для профилактики и резервного копирования системы.

Удобство использования:

работа с таблицами и формами ввода.

Сопровождаемость:

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

Приоритеты

Отсутствуют

Прочие требования к продукту

Отсутствуют

Используемые стандарты

ISO 13407 — описан процесс проектирования интерактивных систем, ориентированных на пользователей. Этот стандарт содержит рекомендации по организации процесса проектирования интерфейсов и органичному встраиванию этого процесса в общий процесс производства ПО.

ISO 16071 — эргономика взаимодействия «человек-система». Руководящие указания по доступу к интерфейсам «человек-машина»

ISO 16982 — эргономика взаимодействия человек-система. Методы, основанные на удобстве применения, для обеспечения проектирования, ориентированного на человека

Системные требования

32-разрядный (x86) или 64-разрядный (x64) процессор с тактовой частотой 1 гигагерц (ГГц) или выше;

1024 мегабайт оперативной памяти (ОЗУ);

Интегрированная видеокарта с 256 Мб памяти;

Сервер должен обладать как минимум 10 Тб внешней памяти, сетевым маршрутизатором для подключения всех рабочих мест к серверу, с последующим увеличением характеристик. Находиться в отдельном защищенном от сотрудников месте;

Требования к окружающей среде

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

Не допускается перекрытие вентиляционных отверстий, находящихся на задней стороне системного блока, а также вентиляционных отверстий монитора.

Требования к электропитанию:

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

Электропитание ПК осуществляется от однофазной сети переменного тока напряжением 220 (20 В с частотой 50 — 60 Гц. Для питания ПК необходимо использовать отдельную электролинию, к которой не должно быть подключено сильноточное и коммутационное оборудование. Согласно Правилам устройства электроустановок.

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

При работающем ПК к розеткам электропитания не рекомендуется подключать устройства, создающие большие импульсные помехи в электрической сети (кондиционеры, холодильники, пылесосы, электрокамины и т.д.). Это может вызвать сбои в работе ПК и привести к порче программных продуктов и потере информации. Для снижения уровня помех в электрической сети необходимо применять сетевой фильтр.

Требования к документации

Руководство пользователя

Руководство пользователя является отдельным приложением к системе, с полным описанием использования информационной системы страховой фирмы.

Диалоговая помощь

Приложение имеет краткую справку, по работе с системой.

Руководство по установке, конфигурированию

Инструкция по установке и конфигурированию предоставляется вместе с продуктом в виде текстового файла.

Маркировка и упаковка

Маркировка отсутствует, поставляется на информационном носителе.

ГЛАВА 2 Проектная часть

2.1 Выбор средства для моделирования предметной области решаемой задачи

Язык UML предназначен для создания моделей информационных систем с целью их последующей реализации в виде объектно-ориентированных программ.

Язык UML объединил наиболее известные методы OOA/OOD и очень быстро приобрел широкую популярность среди разработчиков программного обеспечения.

Основными «строительными блоками» UML являются диаграммы, которые условно можно разделить на две категории:

структурные модели, описывающие структуру системы, классы, компоненты, подсистемы и т.д.;

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

В дальнейшем язык UML стал применяться не только и не столько для создания информационных систем (ИС), сколько для анализа и перепроектирования бизнес-процессов. Вместо моделей процессов, реализуемых информационной системой, строятся модели бизнес-процессов, даже если они и не будут подвергнуты автоматизации, вместо объектов ИС (программных объектов) в моделях отражаются объекты бизнес-процессов (исполнители, продукция, услуги и т.д.), вместо окружения ИС (пользователей ИС) моделируется окружение бизнеса (поставщики, партнеры, клиенты).

Моделирование бизнеса с помощью UML предполагает по-следовательное построение двух видов моделей:

прецедентной модели (аналога модели поведения), описывающей функциональность — бизнес-процессы (прецеденты), их взаимодействие с окружением;

объектной модели (аналога структурной модели), описывающей внутреннее устройство бизнеса — объекты, участвующие в выполнении бизнес-процессов, их взаимодействие.

Стандарт UML версии 1.1, принятый OMG в 1997 г., предлагает следующий набор диаграмм для моделирования:

– диаграммы вариантов использования (use case diagrams) – для моделирования бизнес-процессов организации и требований к создаваемой системе);

– диаграммы классов (class diagrams) – для моделирования статической структуры классов системы и связей между ними;

диаграммы поведения системы (behavior diagrams):

диаграммы взаимодействия (interaction diagrams):

диаграммы последовательности (sequence diagrams) и

кооперативные диаграммы (collaboration diagrams) – для моделирования процесса обмена сообщениями между объектами;

диаграммы состояний (statechart diagrams) – для моделирования поведения объектов системы при переходе из одного состояния в другое;

диаграммы деятельностей (activity diagrams) – для моделирования поведения системы в рамках различных вариантов использования, или моделирования деятельностей; – диаграммы реализации (implementation diagrams):

диаграммы компонентов (component diagrams) – для моделирования иерархии компонентов (подсистем) системы;

диаграммы размещения (deployment diagrams) – для моделирования физической архитектуры системы.

Существует достаточно много CASE-инструментов моделирования и проектирования систем и баз данных (не только с помощью UML). В данном учебном пособии для примера моделирования системы выбран программный инструмент моделирования StarUML [7]. Данная программная платформа имеет свободную лицензию и доступна для установки с официального сайта StarUML [7]. StarUML поддерживает одиннадцать различных типов диаграмм, принятых в нотации UML 2.0, а также подход MDA (модельно- настраиваемая архитектура), предлагает настройку параметров пользователя для адаптации среды разработки, поддерживает расширения, предоставляет различного рода модули, расширяющие возможности StarUML.

Инструмент поддерживает возможность добавить плагины к базовой системе. Несмотря на то, что записано на языке Delphi, эти плагины могут быть записаны на любом COM-совместимом языке, таком как C++, Delphi, C# и VB.

На завершении проектирования программного обеспечения, представленного как набор модели, режим Обзор схемы позволяет пользователю видеть сразу представление полного решения перед завершением.

Для создания профессиональных моделей UML со следованием через возможность создания кодированного решения этот пакет трудно разбить, если Вы не готовы заплатить за коммерческий инструмент. Однако это не инструмент, нацеленный на новичка, просто схватившегося с UML, несмотря на то, что это — вероятно, самое удобное для пользователя введение для тех, кто должен понять, что полный вес UML базировал методы разработки.

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

Из прочих достоинств можно выделить:

— Генерация кода в языки: C#, Java, С++

-Поддержка работы с фреймворками

-Удобный графический редактор

-Полное соответствие стандарту UML 2.0

— Возможность расширения функционала (про это написано отдельное руководство разработчика)

-Экспорт документации в форматы: DOC, PPT, TXT, XLS…

— Поддержка паттернов

— Импорт проектов Rational Rose

— Приятный размер дистрибутива

2.2 Моделирование предметной области решаемой задачи с использованием объектно-ориентированного подхода к проектированию

Диаграмма вариантов использования

Рисунок 1 Диаграмма вариантов использования

Действующие лица:

  1. Страховой агент — посредник в отношении страховой компании и клиента, человек, который заключает договор с клиентом, выписывает полис, подбирает оптимальные условия страхования, осматривает машину, рассчитывает, сколько стоит страховка.
  2. Руководитель – директор организации, занимается управлением страховой фирмой, проводит различные мероприятие, по улучшению работы организации.
  3. Клиент – физическое лицо, являющееся клиентом организации.

Варианты использования:

  1. Ввод данных о новом клиенте – вариант использования дает возможность агенту заполнить данные о новом клиенте.
  2. Заключение нового договора — вариант использования позволяет агенту заключить новый договор, с уже существующим в БД клиентом.
  3. Продление уже существующего договора – вариант использования позволяет страховому агенту продлить страховой договор, то есть оформить аналогичный договор на предстоящий период.
  4. Обновление данных — данный вариант использования позволяет агенту отредактировать данные о клиенте и внести изменения в БД.
  5. Получение сгруппированной информации – различного вида отчеты и формы, содержащие данные, необходимые для анализа текущего состояния организации.
  6. Расчет стоимости полиса – вариант использования позволяет клиенту провести расчет возможной стоимости страховой услуги в данной организации.

Диаграмма последовательности.

Рисунок 2 Диаграмма последовательности

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

На данную диаграмму помещены следующие объекты:

  • Страховой агент – действующее лицо;
  • «ZapyskProgrammi» — содержит форму авторизации в программе
  • «ZapyskGlavnoiFormi» – содержит форму главного меню, необходимого для навигации по системе.
  • «OtkritieFormiPoiska» – содержит форму в которую необходимо ввести данные о клиенте, для поиска его в базе данных.
  • «OpenFormClient» – основная форма работы с клиентскими данными: отображает личные данные клиента, а так же данные о личном транспорте и оформленные страховки.
  • «DataBase» – содержит информацию о клиентах и заключенных договорах.
  • «PrintPolis» — процедура, выполняющая печать полиса.

Сообщения между объектами на диаграмме:

  • «Authorization» — авторизоваться в программе;
  • «Access Denied» — доступ запрещен;
  • «Soobshit ob oshibke» — системное сообщение пользователю, о том что авторизация не удалась;
  • «OpenMenu» – открыть форму главного меню;
  • «OpenSearch» – открыть форму поиска клиента по различным параметрам;
  • «SearchBD» – запрос к базе данных на поиск клиента, по указанным параметрам;
  • «ReturnSearch» — возврат на форму поиска, в случае если процедура поиска не удалась;
  • «Soobshit klient otsytstvyet» — выдача системного сообщения об отсутствии клиента в базе;
  • «ReturnMenu» — возврат в меню;
  • «OpenClientBD» — открытие клиентской формы, после удчано выполненного запроса;
  • «OpenClient» — открытее клиентской формы для внесения в БД нового пользователя;
  • «AddNewClientBD» — запись нового клиента в базу;
  • «AddEditClientBD» — сохранение в БД измененных данных о клиенте;
  • «PrintPolis» — печать сформированного полиса.
  • «CloseProgramm» — завершение работы с программой

Кооперативная диаграмма

Рисунок 3 Кооперативная диаграмма.

Иерархия классов системы

Класс (class) — это описание группы объектов с общими свойствами (атрибутами), поведением (операциями), отношениями с другими объектами и семантикой. Таким образом, класс представляет собой шаблон для создания объекта.

  • Каждый объект является экземпляром конкретного класса и не может быть экземпляром нескольких классов.

Рисунок 4 Иерархия классов системы.

Рисунок 5 Главная диаграмма классов.

Описание классов

Классы пакета Boundaries.

Рисунок 6 Диаграмма классов пакета Boundaries.

Класс Client содержит следующие атрибуты.

Имя

Описание

Тип

ID

Идентификационный номер клиента

Integer

Fam

Фамилия клиента

String

Im

Имя клиента

String

Otch

Отчество клиента

String

Adress

Место жительства

String

desc

описание

String

NomerDogovora

Знак автора

String

Data zaklucheniya

Дата заключения договора

Date

Операции класса Client

Имя

Описание

OpenClientBD ()

В результате данной операции происходит открытие формы клиента с результатом запроса по поиску конкретного человека, заключившего договор с организацией

Open Client ()

Открытие клиентской формы из меню, для добавления нового клиента

Класс Menu содержит атрибуты.

Имя

Описание

Тип

CloseForm

В данном атрибуте содержится логическое выражение, Отражающее закрытие формы меню

Boolean

Операции класса Menu

Имя

Описание

OpenMenu ()

Открытие формы главного меню, в котором осуществляется работа с системой, производится открытие форм, таких как клиент и поиск

Return Menu ()

Операция возврата в главное меню, после закрытия форм клиент и поиск

Класс Search содержит следующие атрибуты.

Имя

Описание

Тип

Fam

Фамилия клиента

String

Im

Имя клиента

String

Otch

Отчество клиента

String

NomerPolisa

Номер страхового свидетельства

Integer

NomerAvto

Номерной знак транспортного средства

String

Операции класса Search

Имя

Описание

OpenSearch ()

Открытие формы поиска из главного меню

Return Search ()

Операция возврата на форму поиска, обнаружения отсутствия клиента в базе

Soobshit ob ots

Выдача системного сообщения пользователю, об отсутствии клиента в БД

Классы пакета Entities.

Рисунок 7 Диаграмма классов пакета Entities.

Класс BD не содержит никаких атрибутов, так как он только передает управление СУБД, которая в свою очередь выполняет все операции по работе с запросами пользователей.

Операции класса BD

Имя

Описание

AddNewClientBD ()

Отправка запроса на добавление нового клиента организации

AddEditClientBD ()

Отправка запроса на внесение в базу изменений об уже существующем клиенте

SearchBD ()

Формирование результирующей информации и выдача данных о запрашиваемом клиенте на соответствующей форме клиент

Классы пакета Control

Рисунок 8 Диаграмма классов пакета Control

Класс Open содержит следующие атрибуты.

Имя

Описание

Тип

LogIn

Логин пользователя

String

Password

Пароль пользователя

String

Access

Доступ разрешен, либо запрещен

Boolean

Операции класса Open

Имя

Описание

Сигнатура

Authorization

Проверка правильности ввода данных пользователем при входе в систему, операция возвращает значение логического типа.

+ Authorization (): Boolean

Классы пакета View

Рисунок 9 Диаграмма классов пакета View

Класс Print не содержит никаких атрибутов, так как данный класс реализует только печать страхового договора.

Операции класса Open

Имя

Описание

Сигнатура

PrintPolis

Операция реализует печать полиса, данные берутся из БД

Рисунок 10 Диаграмма классов «страховой агент»

Диаграммы состояний определяют все возможные состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате наступления некоторых событий.

На диаграмме имеются два специальных состояния — начальное (start) и конечное (stop). Начальное состояние выделено черной точкой, оно соответствует состоянию объекта, когда он только что был создан. Конечное состояние обозначается черной точкой в белом кружке, оно соответствует состоянию объекта непосредственно перед его уничтожением. На диаграмме состояний может быть одно и только одно начальное состояние.

Рисунок 11 Диаграмма состояний «страховой агент»

/

ЗАКЛЮЧЕНИЕ

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

В процессе выполнения данного курсового проекта была разработана объектно-ориентированная модель информационной подсистемы для учета товаров с использованием языка UML.

Основой информационных коммуникаций будущего являются информационные магистрали. Сеть Internet уже представляет собой некоторый прообраз информационной супермагистрали. Перемещение сферы деловой активности человека в так называемое киберпространство приведет к изменению самого назначения персонального компьютера. Из вспомогательного инструмента он превратится в полномочного представителя, клиента страховой компании.

Очевидно, что для успешного формирования единого информационного пространства страховой деятельности необходима совместимость различных супермагистралей. Один из возможных подходов к этому — стандартизация электронного взаимодействия.

В ходе ее разработки мною были изучены основы языка моделирования UML и построены следующие диаграммы:

  • диаграмма вариантов использования;
  • диаграмма последовательности;
  • кооперативная диаграмма;
  • диаграмма классов;
  • диаграмма состояний;
  • диаграмма компонентов;

В качестве среды разработки информационной подсистемы был использован программный продукт Rational Rose Enterprise Edition.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1. Леоненков А. В., «Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose, М. Интуит.ру, 2006 – 320с.
  2. 11. Мартин Фаулер, Кендалл Скотт, «UML. Основы», Символ-Плюс, Санкт-Петербург, 2007 – 192с.
  3. 12. Грейди Буч, Джеймс Рамбо, Айвар Джекобсон, «Язык UML. Руководство пользователя», СПб ДМК Пресс, Санкт-Петербург, 2004 – 432с.
  4. 13. Вендров А.М., «Проектирование программного обеспечения экономических информационных систем», М. Финансы и статистика, 2006 – 544с.
  5. http://bugabooks.com/book/8-avtomatizirovannye-it-v-yekonomike/73-104-avtomatizirovannaya-informacionnaya-sistema-straxovoj-firmy-i-texnologiya-ee-funkcionirovaniya.html, АИС страховой фирмы и технология ее функционирования;
  6. Мартин Фаулер, Кендалл Скотт, «UML. Основы», Символ-Плюс, Санкт-Петербург, 2007;
  7. Грейди Буч, Джеймс Рамбо, Айвар Джекобсон, «Язык UML. Руководство пользователя», СПб ДМК Пресс, Санкт-Петербург, 2004;
  8. Автоматизированные информационные технологии в экономике: Учеб. для вузов / М. И. Семенов, И. Т. Трубилин, В. И. Лойко, Т. П. Барановская; Под ред. И. Т. Трубилина.- М.: Финансы и статистика, 2003.- 414 с.
  9. Марка Д., МакГоуэн К. Методология структурного анализа и проектирования SADT (Structured Analysis & Design Technique): Пер. с англ. М.: МетаТехнология, 1993. – 240 с.

СПИСОК ДЛЯ ТРЕНИРОВКИ ССЫЛОК

  • Классификация языко в программирования. Критерии выбора среды и языка разработки программ
  • Разработка конфигурации «Продажи» в среде 1СПредприятие 8.3
  • Офис управления проектами: функции, структура, особенности формирования
  • Аттестация персонала. Оценка результативности деятельности персонала организации (Понятие и цели оценки персонала)
  • Методы управления инновационными проектами
  • Международный валютный фонд: цели, функции, особенности
  • Коммерческая деятельность розничного торгового предприятия и ее совершенствование (на примере ИП Хузина)
  • МОТИВАЦИЯ И ЕЕ ТЕОРИИ
  • Менеджмент человеческих ресурсов
  • Бухгалтерская отчетность организации: порядок ее составления и анализ
  • Учет поступления основных средств (Теоретические основы бухгалтерского учета поступления основных средств)
  • Особенности коммерческой деятельности в сфере малого бизнеса

Время на прочтение
10 мин

Количество просмотров 159K

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

Обычно при проектировании разработчики изображают  систему графически, поскольку человеку легко разобраться в таком представлении. Именно поэтому вместо написания громоздких текстов про каждую возможность будущей программы разработчики строят различные диаграммы для описания своих систем. Это помогает им не забывать, что нужно реализовать в программе, и быстро вводить в курс дела своих коллег.


Сегодня мы разберемся с тем, как использовать диаграмму вариантов использования UML (англ. «Unified Modeling Language») – стандартизированный язык моделирования при проектировании программ.

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

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

  • Что будет делать приложение?

  • Кто будет пользоваться этим приложением?

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

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

Диаграмма вариантов использования

Диаграмма вариантов использования (англ. use-case diagram) – диаграмма, описывающая, какой функционал разрабатываемой программной системы доступен каждой группе пользователей.

По ходу этой статьи мы разберём элементы этой диаграммы, которые чаще всего применяются при построении, на множестве небольших примеров диаграмм и на примере одной большой диаграммы. Эта большая диаграмма будет использоваться при проектировании какой-нибудь программной системы. В качестве такой системы давайте выберем информационную систему для школы (можно рассматривать ее как сайт или как отдельное приложение). Пример, разумеется, демонстрационный и не претендует на законченность.

В этой системе можно выделить следующие группы пользователей:

  • Обучающиеся

  • Преподаватели

  • Классные руководители

  • Заместители директора

Заместители директора есть, а где же сам директор?

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

Каждая из групп пользователей может пользоваться нашей системой по-своему.

Обучающиеся могут:

  • Смотреть расписание

  • Просматривать свои оценки

Преподаватели могут:

  • Размещать материалы для уроков

  • Выставлять оценки в электронный журнал

Классные руководители могут делать все то же самое, что и преподаватели плюс:

  • Составлять расписание родительских собраний

Заместители директора могут:

  • Составлять расписание

  • Публиковать посты с важной информацией

Кроме того, у системы есть функционал, который доступен всем группам пользователей. В разрабатываемой нами системе актуально будет добавить мессенджер, в котором можно будет быстро связываться с интересующим человеком. Получается, эта функциональность должна быть доступна каждому пользователю. Так и запишем. Все пользователи могут:

  • Отправлять сообщения

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

А почему мы описываем так мало возможностей?

Заметьте, что на диаграмме мы хотим отобразить только ключевой функционал системы. Например, действия «войти в систему», «выйти из системы» или «восстановить пароль» могут присутствовать в любой системе, и их наличие не стоит дополнительно описывать, поскольку это загрязняет диаграмму несущественными элементами.

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

А теперь, когда мы выделили группы пользователей и функциональность системы, начнём строить диаграмму, чтобы зафиксировать и структурировать полученные данные.

Построение диаграммы

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

Этот человечек обозначает всех преподавателей,
которые будут пользоваться системой

Этот человечек обозначает всех преподавателей,
которые будут пользоваться системой

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

В терминологии UML, этот человечек называется актёром (англ. «actor»). В общем случае, актёр обозначает любые сущности, использующие систему. Этими сущностями могут быть люди, технические устройства или даже другие системы.

Так же изобразим актёров для оставшихся групп пользователей:

Здесь изображены все группы пользователей, которые могут пользоваться нашей системой

Здесь изображены все группы пользователей, которые могут пользоваться нашей системой

Как я упоминал ранее, каждая группа пользователей использует определённые функции системы. На диаграмме вариантов использования функция системы изображается эллипсом, внутри которого записывается имя функции в форме глагола с пояснительными словами.

Этот эллипс представляет действие
"Выставить оценки в электронный журнал"

Этот эллипс представляет действие
«Выставить оценки в электронный журнал»

В терминологии UML, этот эллипс называется вариантом использования (англ. «use-case»). В общем случае, вариант использования – набор действий, который может быть использован актёром для взаимодействия с системой.

Связи между элементами

На диаграммах UML для связывания элементов используются различные соединительные линии, которые называются отношениями. Каждое такое отношение имеет собственное название и используется для достижения определённой цели. В качестве справочной информации перечислю все виды отношений, которые мы будем использовать в этой статье.

Отношение ассоциации (англ. "association relationship")

Отношение ассоциации (англ. «association relationship»)
Отношение обобщения (англ. "generalization relationship")
Отношение обобщения (англ. «generalization relationship»)
Отношение включения (англ. "include relationship")
Отношение включения (англ. «include relationship»)
Отношение расширения (англ. "extend relationship")
Отношение расширения (англ. «extend relationship»)

Отношение ассоциации

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

Изображаем на диаграмме информацию о том, что преподаватели могут выставлять оценки

Изображаем на диаграмме информацию о том, что преподаватели могут выставлять оценки

Мы соединили актеров с вариантом использования с помощью сплошной линии без стрелки. Такая линия называется отношением ассоциации.

Отношение ассоциации предназначено только для соединения актёров и вариантов использования. Нет никакого смысла соединять отношением ассоциации двух актёров или два варианта использования.

Изображаем на диаграмме возможность покупателей оплачивать заказы

Изображаем на диаграмме возможность покупателей оплачивать заказы

Если на диаграмме вариантов использования актёр соединен с вариантом использования с помощью отношения ассоциации, это означает, что данный актёр может выполнять действия, описанные вариантом использования.

Почему отношение ассоциации называется так и не иначе?

Чтобы лучше понять это отношение, вспомним, каким образом мы выделяли функционал для различных групп пользователей. Некоторые обязанности у нас ассоциируются с определённой группой людей, поэтому мы связываем актёров с ассоциируемыми с ними действиями.

Добавим еще вариантов использования и соединим их с соответствующими актёрами:

Первая версия диаграммы

Первая версия диаграммы

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

Отношение обобщения

Заметим, что в нашей системе группы пользователей «Преподаватель» и «Классный руководитель» обладают схожими возможностями. Чтобы изобразить это на диаграмме, мы можем пойти одним из трёх путей:

  1. Дублировать варианты использования, чтобы связать их с каждым схожим актёром (очевидно, неудачный вариант).

  2. Соединить каждого актёра со всеми нужными вариантами использования. Это может породить множество пересечений линий, что не самым лучшим образом скажется на читаемости диаграммы.

  3. Показать с помощью одного из видов отношений, что актёры связаны между собой. Это будет означать, что один из них может пользоваться всеми вариантами использования, с которыми соединён другой актёр.

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

Разумеется, мы воспользуемся третьим путём. В этом нам поможет, так называемое, отношение обобщения. Отношение обобщения обозначается сплошной линией с полой треугольной стрелкой.

Отношение обобщения означает, что некоторый актёр (вариант использования) может быть обобщён до другого актёра (варианта использования).  Стрелка направлена  от частного случая(специализации) к общему случаю.

Ниже представлены несколько примеров использования отношения обобщения.

Покупка горного и скоростного велосипеда -
ЧАСТНЫЙ случай покупки велосипеда

Покупка горного и скоростного велосипеда —
ЧАСТНЫЙ случай покупки велосипеда
Физическое лицо и юридическое лицо
можно ОБОБЩИТЬ до обычного покупателя
Физическое лицо и юридическое лицо
можно ОБОБЩИТЬ до обычного покупателя

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

Вернёмся к нашему основному примеру. Изобразим отношение обобщения от актёра «Кл. руководитель» к актёру «Преподаватель».

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

Давайте обратим внимание на действие «Узнать свои оценки». Логично предположить, что обучающиеся захотят не только знать список своих оценок, но и знать свою среднюю оценку за некоторый период времени или среднюю оценку по определённому предмету.

Изобразим это на диаграмме. Для этого создадим два варианта использования «Узнать среднюю оценку за некоторый период времени» и «Узнать среднюю оценку по предмету» и соединим их с вариантом использования «Узнать свои оценки» отношением обобщения.

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

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

Присоединим это к основной диаграмме:

Вторая версия диаграммы

Вторая версия диаграммы

Отношение включения

Для заместителя директора мы отмечали, что ему нужно составлять расписания. Условно расписание можно поделить на три категории:

  1. Расписание занятий

  2. Расписание мероприятий

  3. Расписание каникул

Всё это составляется заместителем директора, поэтому покажем это на диаграмме. Для этого будем использовать отношение включения. Отношение включения обозначается пунктирной линией с V-образной стрелкой на конце, над стрелкой добавляется надпись “include”.

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

Когда мы используем отношение включения, мы подразумеваем, что составные варианты использования ОБЯЗАТЕЛЬНО входят в состав общего варианта использования.

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

Отношение включения используется для
изображения составного действия

Отношение включения используется для
изображения составного действия

Снова вернёмся к нашему основному примеру.

Составление расписания ВКЛЮЧАЕТ в себя составление
расписания занятий, мероприятий, каникул(обязательно)

Составление расписания ВКЛЮЧАЕТ в себя составление
расписания занятий, мероприятий, каникул(обязательно)

Как итог, наша диаграмма принимает следующий вид:

Третья версия диаграммы

Третья версия диаграммы

В целом, на этом можно остановиться. Хоть наш пример и демонстрационный, он немного отражает функциональность реального приложения. Тем не менее, остался еще один элемент, который мы не рассмотрели.

Отношение расширения

Нужно сказать, что в диаграммах вариантов использования применяется ещё один вид связи – отношение расширения. На мой взгляд, применение отношение расширения несколько специфично, поскольку неправильное его использование может запутать читателя диаграммы. Тем не менее, для полноты картины мы всё равно рассмотрим применение этого отношения на практике. В последний раз модифицируем нашу диаграмму!

Во время дистанционного обучения школьникам необходимо выполнять домашние задания и присылать их в виде архива или фотографий учителям. Получается, нужно добавить возможность прикреплять файл к сообщению в нашей системе. Чтобы отобразить это на диаграмме мы будем использовать отношение расширения. Отношение расширения обозначается пунктирной линией с V-образной стрелкой на конце (похоже на отношение включения), над стрелкой добавляется надпись “extend ”.

Зачем над пунктирными линиями добавлять надписи “include” и “extend”?

В UML пунктирная линия с V-образной стрелкой, в общем случае, называется отношением зависимости. Для диаграммы вариантов использования выделяют различные виды зависимостей: отношение включения и отношение расширения. Чтобы их различать, над стрелками пунктирной линией пишут “include” и “extend” соответственно.

Чтобы лучше понять этот тип отношений рассмотрим пример. Допустим, вы делаете заказ в сети быстрого питания. Вы хотите заказать бургер. Вам, скорее всего, вам предложат расширить ваш заказ картошкой фри или соусом. Давайте изобразим процесс заказа на диаграмме вариантов использования.

На диаграмме предполагается, что к заказу МОЖЕТ БЫТЬ
добавлена картошка фри или соус (необязательно)

На диаграмме предполагается, что к заказу МОЖЕТ БЫТЬ
добавлена картошка фри или соус (необязательно)

Два нижних варианта использования описывают возможные «расширения» для базового варианта использования. Исходя из этого примера, мы можем сделать важное замечание.

Можно сказать, что отношение расширения — это выборочное отношение включения. Если отношение включения обозначает, что элемент обязательно включается в состав другого элемента, то в случае отношения расширения это включение необязательно.

Понимание этого критически важно для грамотного использования этого вида отношений.

Вернёмся к нашему основному примеру. Мы хотим, чтобы действие «прикрепить файл к сообщению» расширяло действие «отправить сообщение». На диаграмме это изображается следующим образом:

Расширяем функционал отправки сообщений
с помощью функции прикрепления файлов к сообщению
(Необязательно прикреплять файл к каждому сообщению)

Расширяем функционал отправки сообщений
с помощью функции прикрепления файлов к сообщению
(Необязательно прикреплять файл к каждому сообщению)

Как итог, получим такую диаграмму:

Четвёртая версия диаграммы

Четвёртая версия диаграммы

Вот и всё. Я постарался рассказать вам про все моменты построения диаграммы вариантов использования при проектировании программных систем. В следующем вашем проекте обязательно попробуйте построить данную диаграмму на стадии проектирования. Ваши усилия обязательно окупятся!

Что делать, если я путаюсь в направлении стрелок?

При построении диаграмм UML часто возникает путаница, в какую сторону направлена та или иная стрелка. Это пройдёт после небольшой практики. Общая рекомендация к запоминанию правильного направления стрелок на диаграмме вариантов использования: стрелка обычно направлена от «зависимого» объекта к «независимому» (от специального к общему). Например:

Проектирование программы ЗАВИСИТ от составления
функциональных требований, обдумывания функционала программы,
выделения групп пользователей ,потому что ВКЛЮЧАЕТ в
себя эти этапы

Проектирование программы ЗАВИСИТ от составления
функциональных требований, обдумывания функционала программы,
выделения групп пользователей ,потому что ВКЛЮЧАЕТ в
себя эти этапы
Программист на каждом следующем уровне должности
ПЕРЕНИМАЕТ знания с предыдущих уровней,
без которых не может развиваться дальше. Получается,
что актёры ЗАВИСЯТ от предыдущих ступеней
Программист на каждом следующем уровне должности
ПЕРЕНИМАЕТ знания с предыдущих уровней,
без которых не может развиваться дальше. Получается,
что актёры ЗАВИСЯТ от предыдущих ступеней

Тем не менее, в любом правиле есть исключение. Этим исключением является отношение расширение:

Если DLC было куплено, то игра зависит от
контента, который содержится в нём.
Наше правило "зависимости" рушится :(

Если DLC было куплено, то игра зависит от
контента, который содержится в нём.
Наше правило «зависимости» рушится :(

Общие рекомендации:

  1. Диаграммы очень просто изменять. Не нужно пугаться того, что требования к программе могут измениться или что вы что-то забыли отобразить на диаграмме. Вы можете добавить элементы к диаграмме, когда вам угодно.

  2. Не нужно засорять диаграмму слишком мелкими действиями. Объедините все общие действия в одну группу под общим названием, чтобы было просто читать диаграмму.

  3. Старайтесь не допускать пересечений соединительных линий. Это может затруднить чтение диаграммы для вас и для ваших коллег.

  4. Не дублируйте варианты использования на диаграмме. Если приходится дублировать варианты использования, то элементы диаграммы надо постараться расставить по-другому.

  5. Пользуйтесь специальными компьютерными программами для построения диаграмм. Это существенно упростит весь процесс моделирования.

Недавно мы разбирали, как построить UML-диаграмму последовательности на примере проведения платежей в интернет-магазине с помощью защищенного банковского шлюза. В продолжение этого кейса, сегодня построим UML-диаграммы вариантов использования, классов и состояний для системы оплаты курса с применением промокода на скидку.

Границы системы, акторы и варианты использования: что такое диаграмма Use Case

Проектируя программную систему, аналитик прежде всего отвечает на вопрос, что она должна делать, т.е. какие возможности представлять для разных пользователей. Для описания таких вариантов использования в UML есть одноименная диаграмма – Use Case. Она позволяет наглядно показать границы системы и ее функции, сгруппированные по контексту – прецеденты. При том, что каждый прецедент фактически отражает одно или сразу несколько функциональных требований, UML-диаграмма Use Case и одноименная форма представления требований – это разные вещи, хоть и связанные между собой. Подробнее об этом мы рассказывали в отдельной статье.

В качестве иллюстративного примера рассмотрим систему онлайн-оплаты учебного курса. Пользователем этой системы является клиент. В терминологии UML он будет называться актор – сущность за пределами системы, которая взаимодействует с ней. На UML-диаграмме Use Case он изображается в виде человечка. Актору «Клиент» доступен основной вариант использования – «Оплатить договор» (на проведение обучающего курса по бизнес-анализу).  Расширением этого варианта использования является «Оплатить со скидкой по промокоду», который уменьшает сумму платежа. Этот вариант использования является опциональным и расширяет основной, поэтому он будет связан с основным через связь extend, которая выглядит как пунктирная стрелочка с соответствующей надписью.

UML use case diagram example, обучение UML, пример UML диаграммы вариантов использования, обучение UML, курсы по UML, тренинг по UML

Пример UML-диаграммы вариантов использования (Use Case)

Далее следует детализировать, как именно выполняется процесс оплаты, раскрыв прецедент со схемы Use Case на UML-диаграмме последовательности. Однако, чтобы сделать это с привязкой к внутренним сущностям нашей программной системы, классам, следует сперва описать их на UML-диаграмме классов. Как это сделать, мы рассмотрим далее.

Ликбез по ООП или как построить UML-диаграмму классов

UML соответствует объектно-ориентированной парадигме программирования (ООП), ключевым понятием которой является класс. Класс – это абстракция сущностей с одинаковыми свойствами (атрибутами, полями) и поведением (методами, функциями). Классы могут быть связаны друг с другом через наследование и ассоциации. При наследовании класс-потомки имеют (наследуют) атрибуты и методы класса-родителя, а также свои собственные. А конкретные значения этих атрибутов задаются в реализации классов в виде их отдельных экземпляров, называемых объектами. Например, ООО «Рога и Копыта» и Иванов Иван Иваныч – это конкретные реализации классов «Юрлицо» и «Физлицо» соответственно. В частности, у объекта класса Физлицо есть поля с паспортными данными (ФИО и № паспорта), а у юрлица обязательно должны быть название и ИНН. При этом оба этих класса наследуют от родителя (Класс «Клиент») общие для них атрибуты (тип, номер телефона, email и адрес).

Ассоциация означает логическую связь между объектами разных классов. Например, договор на обучение связан с курсом. Поскольку в договоре нужно обязательно указать курс, эти классы будут связаны не простой ассоциацией, а ее более сложным вариантом – агрегацией. В этом случае у класса, который является целым, появится значок в виде незакрашенного ромбика. Если связь между объектами разных классов настолько сильная, что при уничтожении целого, уничтожаются и его части, ромбик будет закрашенным. Такая связь называется композицией и является самым сильным вариантом ассоциации. Можно также указать кратность связи, к примеру, в 1-м договоре на обучение могут быть указаны сразу несколько курсов. При этом над концами связи отобразятся мультипликаторы, обозначающие ее кратность.

UML для бизнес-аналитика: основы ООП и разработка моделей

Код курса
BUML
Ближайшая дата курса

23 марта, 2023

Длительность обучения
8 ак.часов
Стоимость обучения
15 000 руб.

Таким образом, в нашей системе интернет-оплаты договора с применением промокода по конкретному курсу будут следующие классы:

  • Клиент – абстрактный класс-родитель для классов «Юрлицо» и «Физлицо»;
  • Физлицо;
  • Юрлицо;
  • Договор;
  • Курс;
  • Промокод;
  • Платеж.

Объекты разных классов могут взаимодействовать друг с другом через интерфейсы. В ООП интерфейс можно рассматривать как класс без атрибутов, но с методами, которые описывают поведение объекта класса, реализующего этот интерфейс, отвечая за предоставляемые функции. Это позволяет обеспечить один из ключевых принципов ООП – полиморфизм, чтобы унифицировать методы работы с разными объектами, вне зависимости от их типа и внутренней структуры. Например, класс «Промокод» предоставляет интерфейс «Управление промокодом», который используют объекты класса «Платеж». В результате, UML-диаграмма классов для нашего примера примет следующий вид.

UML class diagram example, обучение UML, пример UML диаграммы классов, обучение UML, курсы по UML, тренинг по UML

Пример UML-диаграммы классов

Теперь, имея диаграмму классов, которая на концептуальном уровне описывает доменную область проектируемой системы, можно показать, как объекты разных классов взаимодействуют друг с другом на UML-диаграмме последовательности (Sequence).

UML sequence diagram, проектирование UML, курсы по UML, тренинг по UML, как построить UML-диаграмму последовательности пример

Пример UML диаграммы последовательности

Чтобы упростить рассмотрение основ ООП и базовых концепций UML, эта диаграмма последовательности не полностью отражает весь процесс интернет-оплаты через банковский шлюз. Как это происходит в реальности, мы рассматриваем здесь.

А в заключение покажем, как выглядит жизненный цикл объектов класса «Промокод» с помощью UML-диаграммы состояний (StateChart или State Machine). На мой взгляд, из всех UML-диаграмм она самая простая и понятная без дополнительных объяснений. Начиная со стартового события, объект последовательно проходит разные стадии жизненного цикла, меняя свое состояние в зависимости от некоторых условий.

UML state diagram, проектирование UML, курсы по UML, тренинг по UML, как построить UML-диаграмму состояний пример

Пример UML-диаграммы состояний

Как описать архитектурные аспекты проектируемой информационной системы с помощью UML, читайте в нашей новой статье.

Проверить свои знания UML вы можете прямо на нашем сайте, выполнив бесплатный интерактивный тест.

Открытый тест по UML: основы бизнес-анализа для начинающих

А научиться самостоятельно разрабатывать эти и другие UML-диаграммы вам поможет специализированный курс «UML для бизнес-аналитиков». Только практика на реальных примерах. После 8-часового интенсива вы сможете дополнять текстовые схемы представления требований User Story и Use Case UML-диаграммами вариантов использования и детализировать их далее в диаграммы деятельности, последовательности и состояний, чтобы наглядно объяснить разработчикам, что именно должна делать программная система.

Что такое диаграмма вариантов использования?

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

В этом уроке UML Diagram вы узнаете больше о:

  • Зачем нужна схема использования?
  • Обозначения диаграмм вариантов использования
  • Как нарисовать диаграмму вариантов использования?
  • Советы по составлению схемы использования
  • Пример диаграммы варианта использования
  • Когда использовать диаграмму прецедентов?

Зачем нужна схема использования?

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

Обозначения диаграмм вариантов использования

Ниже приведены общие обозначения, используемые в диаграмме прецедентов:

Использование регистра:

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

UML UseCase Нотация

Актер:

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

UML Нота актера

Как нарисовать диаграмму вариантов использования?

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

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

После того, как актеры и варианты использования зачислены, вам необходимо изучить связь конкретного актера с вариантом использования или системой. Нужно определить общее количество способов взаимодействия актера с системой. Один субъект может взаимодействовать с несколькими вариантами использования одновременно или одновременно с несколькими вариантами использования.

Следующие правила должны соблюдаться при рисовании сценария использования для любой системы:

  1. Имя актера или сценарий использования должны быть значимыми и относиться к системе.
  2. Взаимодействие актера с вариантом использования должно быть определено четко и понятно.
  3. Аннотации должны использоваться везде, где они необходимы.
  4. Если сценарий использования или субъект имеют несколько связей, то должны отображаться только существенные взаимодействия.

Советы по составлению схемы использования

  1. Диаграмма вариантов использования должна быть максимально простой.
  2. Диаграмма вариантов использования должна быть полной.
  3. Диаграмма прецедентов должна представлять все взаимодействия с прецедентом.
  4. Если существует слишком много вариантов использования или участников, то должны быть представлены только основные варианты использования.
  5. Диаграмма прецедентов должна описывать хотя бы один модуль системы.
  6. Если диаграмма варианта использования велика, ее следует обобщить.

Пример диаграммы варианта использования

Следующая схема использования представляет работу системы управления студентами:

UML UseCase Diagram

На приведенной выше диаграмме сценариев использования есть два актера: ученик и учитель. Всего существует пять вариантов использования, которые представляют специфическую функциональность системы управления студентами. Каждый актер взаимодействует с конкретным вариантом использования. Студент-актер может проверить посещаемость, расписание, а также тестовые отметки в приложении или системе. Этот субъект может выполнять только эти взаимодействия с системой, даже если в системе остаются другие варианты использования.

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

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

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

Диаграмма вариантов использования интернет-магазина

Происхождение варианта использования

В наши дни моделирование вариантов использования часто ассоциируется с UML, хотя оно было введено до появления UML. Его краткая история такова:

  • В 1986 году  Ивар Якобсон  впервые сформулировал методы текстового и визуального моделирования для определения вариантов использования.
  • В 1992 году его соавторская книга «  Объектно-ориентированная разработка программного обеспечения — подход, основанный на прецедентах»  помогла популяризировать метод определения функциональных требований, особенно при разработке программного обеспечения.

Диаграмма вариантов использования

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

  • Укажите контекст системы
  • Зафиксируйте требования системы
  • Проверка системной архитектуры
  • Управляйте внедрением и создавайте тестовые примеры
  • Разработано аналитиками совместно с экспертами в предметной области

Что такое диаграмма вариантов использования в UML?

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

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

Вариант использования (или набор вариантов использования) имеет следующие характеристики:

  1. Организует функциональные требования
  2. Моделирует цели взаимодействия системы/актора (пользователя)
  3. Описывает один основной поток событий (основные сценарии) и, возможно, другие исключительные потоки (альтернативы), также называемые путями или пользовательскими сценариями.

Обозначения диаграмм вариантов использования

Варианты использования  определяют взаимодействие между внешними субъектами и системой для достижения конкретных целей. Диаграмма вариантов использования содержит четыре основных компонента.

Актер

Актерами обычно являются лица, вовлеченные в систему, определенные в соответствии со своими ролями. Действующим лицом может быть человек или другая внешняя система.

Вариант использования

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

Отношение

Взаимоотношения между действующими лицами и варианты использования.

Системная граница

Граница системы определяет интересующую систему по отношению к окружающему миру.

Преимущества диаграммы вариантов использования

  1. Сценарии использования — это мощная техника для выявления и документирования функциональных требований черного ящика.
  2. Потому что варианты использования просты для понимания и обеспечивают отличный способ общения с клиентами и пользователями, поскольку они написаны на естественном языке.
  3. Сценарии использования могут помочь справиться со сложностью крупных проектов, разбивая проблему на основные пользовательские функции (т. е. варианты использования) и определяя приложения с точки зрения пользователей.
  4. Сценарий варианта использования, часто представленный диаграммой последовательности, включает в себя сотрудничество нескольких объектов и классов, варианты использования помогают идентифицировать сообщения (операции и требуемую информацию или данные — параметры), которые объединяют объекты и классы.
  5. Сценарии использования обеспечивают хорошую основу для установления связи между проверкой моделей более высокого уровня (т. е. взаимодействие между участниками и набором совместно используемых объектов) и, впоследствии, для проверки функциональных требований (т. е. плана теста белого ящика).
  6. Подход, основанный на вариантах использования, обеспечивает прослеживаемые связи для отслеживания проекта, в котором основные действия по разработке, такие как варианты использования, реализованы, протестированы и доставлены, выполняя цели и задачи с точки зрения пользователя.

Как нарисовать диаграмму вариантов использования?

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

  1. Определите Актеров (роли пользователей) системы.
  2. Для каждой категории пользователей определите все роли, которые играют пользователи, относящиеся к системе.
  3. Определите, какие пользователи требуют, чтобы система выполнялась для достижения этих целей.
  4. Создавайте варианты использования для каждой цели.
  5. Структурируйте варианты использования.
  6. Расставьте приоритеты, просмотрите, оцените и подтвердите пользователей.

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

Вы также можете:

  1. Нарисуйте пакеты для логического разделения вариантов использования на связанные подсистемы.

Структурирование вариантов использования

UML определяет три стереотипа связи между вариантами использования:

<<включить>> Пример использования

Время использовать отношение <<include>> наступает после того, как вы завершили первое описание всех ваших основных вариантов использования. Теперь вы можете просмотреть варианты использования и определить общие последовательности взаимодействия пользователя с системой.

<<расширить>> Вариант использования

Расширенный вариант использования фактически является альтернативой базовому варианту использования. Вариант использования «расширить» выполняет это, концептуально вставляя дополнительные последовательности действий в последовательность базового варианта использования.

Абстрактный и обобщенный вариант использования

Общий вариант использования является абстрактным. Его нельзя создать, так как он содержит неполную информацию. Название абстрактного варианта использования выделено курсивом.

Пример

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

После того, как базовые варианты использования были определены в первом варианте, возможно, мы могли бы дополнительно структурировать эти варианты использования с помощью <<extend>> и <<include>> вариантов использования во втором раунде, как показано на рисунке ниже:

Пример использования в бизнесе

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

Как определить актеров

Часто люди считают, что проще всего начать процесс выявления требований с определения действующих лиц. Следующие вопросы могут помочь вам определить действующих лиц вашей системы (Шнайдер и Винтерс, 1998 г.):

  • Кто использует систему?
  • Кто устанавливает систему?
  • Кто запускает систему?
  • Кто обслуживает систему?
  • Кто отключает систему?
  • Какие другие системы используют эту систему?
  • Кто получает информацию из этой системы?
  • Кто предоставляет информацию системе?
  • Происходит ли что-нибудь автоматически в настоящее время?

Как определить варианты использования?

Идентификация вариантов использования, а затем процесс извлечения данных на основе сценариев продолжается путем выяснения того, какую внешне видимую, наблюдаемую ценность желает каждый действующий субъект. Следующие вопросы могут быть заданы для определения вариантов использования после того, как будут определены ваши действующие лица (Шнайдер и Винтерс, 1998 г.):

  • Какие функции актор хочет получить от системы?
  • Хранит ли система информацию? Какие действующие лица будут создавать, читать, обновлять или удалять эту информацию?
  • Должна ли система уведомлять актора о шансах во внутреннем состоянии?
  • Существуют ли какие-либо внешние события, о которых система должна знать? Какой актор информирует систему об этих событиях?

Советы по диаграмме вариантов использования

Теперь ознакомьтесь с приведенными ниже советами, чтобы узнать, как эффективно применять варианты использования в вашем программном проекте.

  • Всегда структурируйте и организуйте диаграмму вариантов использования с точки зрения действующих лиц.
  • Сценарии использования должны начинаться с простого и максимально возможного просмотра. Только после этого их можно уточнять и детализировать.
  • Диаграммы вариантов использования основаны на функциональности и поэтому должны фокусироваться на том, «что», а не «как».

Уровни детализации вариантов использования

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

Аластер Кокберн в  « Написание эффективных вариантов использования  » дает нам простой способ визуализировать различные уровни уровня цели, думая с точки зрения моря:

Обратите внимание, что:

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

Надеюсь, теперь вы сможете ответить на вопрос «что такое диаграмма вариантов использования» и сможете применить вариант использования в своем проекте. Если вы хотите узнать больше о других типах диаграмм UML, ознакомьтесь с руководством по UML:  Обзор 14 типов диаграмм UML .

Просто показать диаграмму вариантов использования в  нотации UML  недостаточно. Каждый вариант использования сопровождается текстом, объясняющим цель варианта использования, а также то, какая функциональность реализуется при выполнении варианта использования.

Спецификация варианта использования обычно создается на этапе анализа и проектирования итеративным образом.

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

Вариант использования против спецификации варианта использования

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

Вариант использования (задача — заказчик хочет выполнить) может быть:

  • Интерактивный — вариант использования системы описывает взаимодействие актера с системой для достижения определенной бизнес-цели.
  • Руководство — последовательность действий, выполняемых актером.
  • Автоматизированный — последовательность шагов, выполняемых программой или сценарием.

Характеристики вариантов использования

Вариант использования имеет:

  • Только одна цель
  • Единая отправная точка
  • Единая конечная точка
  • Несколько путей для прохождения от начала до конца
  • т.е. указать поведение для множества возможных условий
  • Каждое условие может потребовать определенных действий.

Например — Клиент оплачивает счет:

Есть несколько путей достижения цели:

  • Оплата по телефону
  • По почте
  • Лично
  • чеком
  • наличными и др.

Путь, не ведущий к цели:

  • Кредитная карта отклонена

Гибкий подход к вариантам использования

Модель вариантов использования и ее отдельные варианты использования со временем развиваются уровень за уровнем. Не все варианты использования модели обязательно должны быть указаны с одинаковым уровнем детализации.

Точно вовремя и достаточно

Варианты использования могут быть написаны на разных уровнях данных и области действия, каждый из которых служит определенной цели:

  • Резюме: общие описания и общие обзоры функциональных возможностей системы или бизнес-процессов.
  • Уровень пользователя: описания пользователей, связанные с задачами, и то, как они взаимодействуют с системой; описание конкретного бизнес-процесса. Сценарии использования на уровне пользователя обычно считаются на уровне задачи, которая является основной работой пользователя.
  • Подфункция: описания действий более низкого уровня, которые используются для выполнения подчастей основного варианта использования.

Примечание. Некоторые варианты использования могут быть достаточно определены до уровня II. Вы останавливаетесь, когда достигается достаточное количество деталей, используя метод «точно вовремя» и «достаточно точно».

Подробная спецификация варианта использования

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

Использование шаблона заявки — пример заявки на снятие денег в банкомате

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

Спецификация варианта использования — визуальная парадигма
Спецификация варианта использования — базовый путь
Спецификация вариантов использования — альтернативные пути
Спецификация варианта использования — бизнес-правила
Спецификация варианта использования — нефункциональные требования

Создание простых диаграмм вариантов использования

Если вы хотите рисовать случайные диаграммы случаев,  Visual Paradigm Online  будет вашим лучшим выбором. Поскольку это абсолютно бесплатно навсегда, без ограничений, без установки и настройки.

Вы также можете использовать  Visual Paradigm Community Edition , это также бесплатно для создания вариантов использования для различных платформ.

Выполнение формального моделирования и анализа вариантов использования

Если вы хотите выполнить и разработать моделирование вариантов использования, вам рекомендуется использовать  платную версию Visual Paradigm  , которая позволяет разработать правильную и полную спецификацию вариантов использования, как указано выше.

Сделай сам прямо сейчас с  Visual Paradigm  Online

Попробуйте сейчас и получайте удовольствие от всех этих готовых к редактированию примеров и шаблонов, перечисленных ниже:

Система вещания

банкомат

Используйте шаблон структурирования прецедентов

Структурирование вариантов использования со стереотипом

Выражение нескольких проектов с использованием системных границ

Система онлайн-экзаменов

Пассажирское обслуживание

Управление разработкой программного обеспечения

Система парковки

Система обработки заказов

Вариант использования обобщения

Включайте и расширяйте варианты использования

Веб-сайт (структурирование вариантов использования с расширением и включением варианта использования)

Используйте шаблон диаграммы прецедентов

Внешняя система как актор

банкомат

Это первая статья из цикла про методологию ICONIX, посвящена UML-диаграммам вариантов использования. В публикациях и книгах по ICONIX, use-case диаграммы обычно описываются очень бегло, а в книгах по UML — слишком подробно. Я постараюсь сделать это настолько подробно, чтобы можно было приступить к использованию диаграмм, но при этом не было скучно. Важно, что до тех пор, до знакомства с ICONIX я не считал use-case диаграммы хоть сколько-нибудь полезными, поэтому в статье я попробую сконцентрироваться на том, что они могут принести проекту.

Вне зависимости от методологии разработки, которую вы применяете, первым этапом разработки будет являться формулировка требований к продукту (Градди Буч описывает Rational Unified Process [1], а Розенберг — ICONIX [2]). Набор требований к продукту представляет собой техническое задание, при этом требования делятся на функциональные (то, что система позволяет сделать, желаемая функциональность) и нефункциональные (требования к оборудованию, операционной системе и т.п.). В языке UML для формализации функциональных требований применяются диаграммы использования.

Диаграмму вариантов использования есть смысл строить во время изучения технического задания, она состоит из графической диаграммы, описывающей действующие лица и прецеденты, а также спецификации, представляющего собой текстовое описание конкретных последовательностей действий (потока событий), которые выполняет пользователь при работе с системой. Спецификация затем станет основой для тестирования и документации, а на следующих этапах проектирования она дополняется и оформляется в виде диаграммы (в рамках ICONIX используется диаграмма последовательности, но в UML для этого имеются также диаграммы деятельности). Кроме того, use-case диаграмма достаточно проста, чтобы ее мог понять заказчик, следовательно вы можете использовать ее для согласования ТЗ (ведь диаграмма описывает функциональные требования к системе).

На диаграмме использования изображаются:

  • акторы — группы лиц или систем, взаимодействующих с нашей системой;
  • варианты использования (прецеденты) — сервисы, которые наша система предоставляет акторам;
  • комментарии;
  • отношения между элементами диаграммы.

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

  1. выделить группы действующих лиц (работающих с системой по-разному, часто из-за различных прав доступа);
  2. идентифицировать как можно больше вариантов использования (процессов, которые могут выполнять пользователи). При этом не следует делить процессы слишком мелко, нужно выбирать лишь те, которые дадут пользователю значимый результат. Например, кассир может «продать товар» (это будет являться прецедентом), однако «ввод штрих-кода товара для получения цены» самостоятельным прецедентом не является;
  3. дополнить прецеденты словесным описанием (сценарием):
    • для каждого прецедента создать разделы: «главная последовательность» и «альтернативные последовательности»;
    • при составлении сценария нужно упорно задавать заказчику вопросы «что происходит?», «что дальше?», «что еще может происходить?» и записывать ответы на них.

Сценарии являются очень важной частью диаграмм использования, хотя их формат и не регламентирован. Ряд авторов предлагает использовать псевдокод для представления сценария и даже сразу строить диаграммы деятельности или взаимодействия, но на мой взгляд, наиболее предпочтительным вариантом на этапе построения use-case диаграмм является текстовый, описывающий систему с точки зрения пользователя (т.к. именно этот формат будет наиболее понятен заказчику, с которым вам предстоит согласовывать техническое задание).

Рассмотрим разработку диаграмм вариантов использования на примере — пусть заказчик дал нам следующее техническое задание:

Цель — развитие у детей математических навыков.
Платформа: Linux, Windows, Android.
Функциональность:

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

При первом запуске система должна позволять ввести пароль учителя. Задания представляют собой математические задачи на сложение, вычитание, умножение и деление. В блоке задач могут быть задачи различных типов (указывается количество). Помимо ввода типа выполняемой в примере операции необходимо указывать допустимые диапазоны чисел (или даже отдельные числа, т.к. при изучении таблицы умножения часто сначала учат умножение на 2, затем на 5, а только потом все остальное). Кроме того, для операции вычитания необходимо иметь возможность установить вычитаемое меньше уменьшаемого (т.к. в противном случае результат будет отрицательным, а отрицательные числа в школе проходят гораздо позже).

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

use-case-example

Пример диаграммы использования

Сплошные линии на диаграмме представляют собой отношения ассоциации, отражающие возможность использования актором прецедента. После того, как определен набор вариантов использования, можно приступать к составлению сценариев. Сценарии должны описываться с точки зрения пользователя, при этом важно описывать взаимодействие пользователя с элементами интерфейса. Так например сценарий прецедента регистрации ученика мог бы выглядеть следующим образом:

Название прецедента: регистрация ученика

Действующее лицо: учитель

Цель: добавить ученика в систему, получив его пароль

Предусловия: учитель осуществил вход в систему

Главная последовательность:

  1. учитель выбирает в главном меню пункт «добавить ученика«;
  2. система показывает учителю окно добавления ученика, содержащее поля для ввода логина и пароля, а также кнопки «далее» и «назад»;
  3. учитель вводит желаемый логин и пароль ученика, нажимает кнопку «далее»;
  4. система добавляет ученика;
  5. учителю открывается главное меню и в течении 5 секунд выводится уведомление о том, что ученик был добавлен успешно.

Альтернативная последовательность (возврат в главное меню без добавления ученика):

  1. учитель выбирает в главном меню пункт «добавить ученика«;
  2. система показывает учителю окно добавления ученика, содержащее поля для ввода логина и пароля, а также кнопки «далее» и «назад»;
  3. учитель нажимает кнопку «назад»;
  4. учителю открывается главное меню (при этом данные, введенные в формы окна добавления ученика не сохраняются).

Альтернативная последовательность (добавление ученика, уже имеющегося в системе):

  1. учитель выбирает в главном меню пункт «добавить ученика«;
  2. система показывает учителю окно добавления ученика, содержащее поля для ввода логина и пароля, а также кнопки «далее» и «назад»;
  3. учитель вводит желаемый логин и пароль ученика, нажимает кнопку «далее»;
  4. учителю в течении 5 секунд отображается уведомление о том, что запрашиваемый логин занят.

Аналогичным образом должны быть прописаны все прецеденты, изображенные на диаграмме. Составлять сценарии нужно достаточно упорно чтобы описать все возможные варианты действий пользователя в системе. Заказчик может делать это с большим удовольствием, а программист за счет этого раньше узнает возможные пожелания заказчика (так из приведенного сценария он мог бы выяснить, что программа должна отображать всплывающие уведомления).

Несмотря на простоту приведенного сценария, в его последовательностях можно найти дублирование, если оно имеет место в ваших сценариях — вы можете выделить некоторые фрагменты описания в отдельные прецеденты (которые могут быть как самостоятельными, так и являться лишь частью других вариантов использования). При этом между прецедентами появится либо отношение расширения (extend), либо включения (include), которые отображаются на диаграммах (в UML также существует отношение обобщения, а в OML — вызова и предшествования).

Отношение включения указывает на то, что поведение одного прецедента включается в некоторой точке в другой прецедент в качестве составного компонента. Особенности включения заключаются в том, что включаемый прецедент должен быть обязательным для дополняемого (включение должно быть безусловным, а дополняемый вариант использования без включения не сможет выполняться), т.е. это это отношение задает очень сильную связь. Например, если мы хотим изобразить на диаграмме тот факт, что удаление набора задач учителем и выполнение задач учеником не должно происходить без обязательного просмотра всех наборов задач — то нам нужно использовать отношение включения:

use-case-include-example

Отношение включения на диаграмме использования

Отношение расширения отражает возможное присоединение одного варианта использования к другому в некоторой точке (точке расширения). При этом подчеркивается то, что расширяющий вариант использования выполняется лишь при определенных условиях и не является обязательным для выполнения основного прецедента. На диаграмме такой вид отношения изображается стрелкой, направленной к расширяемому прецеденту, в отдельном разделе которого может быть описана точка расширения, а условия расширения могут быть приведены в комментарии с ключевым словом Condition. Таким образом, расширение позволяет моделировать необязательное поведение системы, которое является условным и не изменяет поведение основного прецедента. Например отношение расширения нужно применить, если по техническому заданию требуется возможность удаления набора задач в прецеденте просмотра отчетов при условии, что все ученики решили этот набор.

use-case-extend-example

Отношение расширения на диаграмме использования

Таким образом можно показать, что у учителя появляется возможность (но не обязанность) удалить набор задач при просмотре отчетов если все ученики выполнили этот набор.

На последней диаграмме используется символ комментария для задания условий расширения, при этом комментарий связывается пунктирной линией с отношением расширения, т.к. относится к нему. В ряде публикаций по UML и ICONIX предлагается описывать с помощью комментариев на диаграмме прецедентов:

  • нефункциональные требования к системе (при этом используется стереотип <<requirement>>);
  • сценарии вариантов использования (связывая комментарий с соответствующим прецедентом);
  • детали реализации и другие выводы, к которым разработчики пришли в процессе обсуждения задачи (не все с этим согласны, т.к. use-case диаграмма показывается заказчику, которому не нужны детали).

Наиболее типичными ошибками при построении этого вида диаграмм являются:

  • неправильное использование отношений расширения и включения, в том числе попытки использовать диаграммы для функциональной декомпозиции системы. Возникает из-за непонимания различий между этими двумя видами отношений и того, что use-case диаграмма должна выражать лишь требования к системе, а не детали ее реализации;
  • разработка диаграммы с точки зрения программиста, а не пользователя. В сценариях должны использоваться названия элементов управления (видимые пользователю), но нежелательно изображать детали реализации (такие как менеджер событий), не понятные заказчику;
  • не достаточная проработка сценариев:
    • отсутствие или недостаточное количество альтернативных последовательностей, в которых должен быть учтен, в том числе, ввод некорректных данных в систему;
    • описание действий пользователя без указания конкретных элементов интерфейса системы и отсутствие описаний реакции системы в сценариях.

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

Стоит отметить, что нет единого мнения по поводу использования в текстах сценария условных операторов или циклов. Ряд аналитиков считают, что наличие слов типа «если» в сценарии является ошибкой, которая исправляется добавлением альтернативной последовательности. Другие — допускают использование 1-2 ветвлений в сценарии, при этом отмечают, что такой подход улучшает читабельность сценариев.

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

В статье приведены основные возможности use-case диаграмм, по моему мнению их должно быть достаточно для разработки подавляющего большинства систем, при необходимости большее количество информации и примеров можно почерпнуть в следующей литературе:

  1. Буч Градди Объектно-ориентированный анализ и проектирование с примерами приложений, 3-е изд. / Буч Градди, Максимчук Роберт А., Энгл Майкл У., Янг Бобби Дж., Коналлен Джим, Хьюстон Келли А.: Пер с англ. – М.: ООО “И.Д. Вильямс”, 2010. – 720 с.
  2. Розенберг Д., Скотт К. Применение объектного моделирования с использованием UML и анализ прецедентов.: Пер. с англ. М.: ДМК Пресс, 2002
  3. Бабич А. В. Введение в UML // Интернет университет информационных технологий. 2008. URL: http://www.intuit.ru/studies/courses/1007/229/info (дата обращения: 19.03.2016).
  4. Леоненков, A.B. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose: учеб. пособие Текст. / A.B. Леоненков. М.: Интернет-Ун-т информ. технологий: БИНОМ, Лаборатория знаний, 2006. — 320 с.

Понравилась статья? Поделить с друзьями:

Другие крутые статьи на нашем сайте:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии