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

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

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

Actor. Роль объекта вне системы, который прямо взаимодействует с ее частью — конкретным элементом

Use Case (вариант использования). Описание поведения системы, когда она взаимодействует с кем-то (или чем-то) из внешней среды

Sequence Diagram. Диаграмма, на которой для некоторого набора объектов на единой временной оси показан жизненный цикл какого-либо определенного объекта и взаимодействие актеров ИС в рамках какого-либо определённого прецедента

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

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

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

В данном занятии демонстрируется построение диаграммы последовательности ответа фитнес-тренера на заявку клиента. Основные шаги построения диаграммы последовательности:

  1. добавление основных элементов
  2. работа с сообщениями

Важно

Для построения диаграммы последовательности используется шаблон UML Sequence из раздела Software and Database программы Visio

Добавление основных элементов

Важно

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

2. Добавляем полосы активности на линии жизни

Важно

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

1. Отображаем основные взаимодействия

Важно

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

Важно

Условия, как и циклы, изображаются с помощью фреймов взаимодействий (англ. interaction frames), позволяющих разметить диаграмму взаимодействия. Каждый фрейм представляет собой разделенную на несколько фрагментов область диаграммы, причем каждый фрейм имеет оператор, а каждый фрагмент может иметь защиту. В данном примере для условной логики используется оператор alt и будет выполнено условие, защита которого имеет истинное значение (т.е. либо принятие заявки «ApplyRequest ()», либо отказ от заявки с указанием причины «DeclineRequest (String reason)»

Важно

Для отображения цикла применяется оператор loop с единственным фрагментом, причем тело итерации помещается в защиту. В данном случае для добавления тренером упражнений в план занятий используется метод «AddExercise». Данный метод создает объект «newPersonalTraining», который далее возвращается тренеру

Вы познакомились с правилами построения диаграммы последовательности UML. Давайте перейдем от теории к практике!

Для закрепления полученных знаний пройдите тест

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

Объект не обязательно изображается в виде прямоугольника

Сообщения на диаграмме читаются в любом порядке

Диаграммы последовательности предназначены для описания взаимодействия объектов

Какой элемент на диаграмме последовательности предназначен для демонстрации интервала, на протяжении которого участник участвует во взаимодействии?

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

К сожалению, вы ответили неправильно

Прочитайте лекцию и посмотрите видео еще раз

Но можно лучше. Прочитайте лекцию и посмотрите видео еще раз

Вы отлично справились. Теперь можете ознакомиться с другими компетенциями

Project Manager Skills: UML

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

При разработке протоколов интеграции бывает очень и очень много вводных. Например: две 1С, CRM, где и физический и юридические лица, одни с дисконтными картами, другие без е-мейлов… Экспортируй оттуда, импортируй сюда… впору кинуть документы в воздух, подышать и присесть собирать их обратно. Чтобы голова не лопнула и было понятно и клиенту, и вам, и программисту — рисуйте диаграммы последовательности UML.

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

Возьмем упрощенный сценарий «Заказ в ресторане».

uml диаграмма

Есть главные лица сценария: клиент, официант, повар и кассир. В UML их называют «акторы» — какие-то действующие лица или объекты, с которыми происходят операции.

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

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

Читаем диаграмму:

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

В McDonald’s или Michelin 5 звезд диаграмма будет другая, поскольку процессы обслуживания там устроены иначе. Все зависит от конкретной ситуации, где применяется диаграмма.

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

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

Есть разные типы объектов, которые могут между собой взаимодействовать:

Менеджер заказа

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

Менеджер заказа

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

Заказ

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

Синхронный вызов (связь)

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

Асинхронный вызов (связь)

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

Запрос данных

Объект сам у себя запрашивает данные.

uml диаграмма

Читаем диаграмму:

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

Как это использовать на практике

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

Все совпадения случайны, ситуация надуманная и высосанная из пальца.

Ситуация:

Идет интеграция сайта с 1С — разрабатывается протокол интеграции. По ходу обсуждения выясняется:

  • 1С-ки будет две: Тверская и Московская;
  • Основная интеграция — с Тверской;
  • Вся товарная база хранится в Тверской 1С;
  • Помимо товаров, нужна выгрузка контрагентов;
  • Контрагент привязывается при регистрации к Москве или к Твери;
  • Контрагенты хранятся частично в Московской, частично — в Тверской базе;
  • Не у всех текущих контрагентов заполнены поля емейл и телефон;
  • Создание новых контрагентов требует премодерации;
  • Кроме того, заказы необходимо передавать в CRM.

Клиент ожидает, что ему предложат решение, как будет работать схема с CRM, сайтом и 1С-ками.

Решение: составляем диаграммы последовательности. Одна и та же структура будет описана в двух вариантах UML-диаграмм.

Диаграмма 1: Регистрация юридического лица (Москва)

uml диаграмма

Читаем диаграмму:

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

Диаграмма 2: Регистрация физического лица (Тверь)

uml диаграмма

Читаем диаграмму:

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

Диаграмма 3: Оформление заказа (Тверь)

uml диаграмма

Читаем диаграмму:

Зарегистрированный клиент создает заказ на сайте, выбирая город Тверь. В тверской 1С создается заказ (и менеджер в ручную дублирует заказ в 1С). После создания заказа в 1С у заказа меняется статус, который передается сайту и показывается клиенту.

Диаграмма 4: Оформление заказа (Москва)

uml диаграмма

Читаем диаграмму:

Зарегистрированный клиент создает заказ на сайте, выбирая город Москва. В московской 1С создается заказ (и менеджер в ручную дублирует заказ в 1С). После создания заказа в 1С у заказа меняется статус, который передается сайту и показывается клиенту.

Обзор программ для построения UML-диаграмм

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

Бесплатно.

Интегрирован с Google Drive, G Suite, Dropbox, Confluence, Jira от Atlassian, Trello и другими сервисами. Можно работать как онлайн, так и в настольном приложении для MacOS, Windows и Linux. Схемы в этой статье мы сделали в этой программе.

uml диаграмма

Платно: от 312,50 или 937,50 руб в месяц.

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

uml диаграмма

Бесплатно 15 дней. Далее от $ 99 в год. Если не купить, то данные, нарисованные за 15 дней, не сохранятся.

Аналог Microsoft Visio. Принцип работы и интерфейсы у обеих программ похожи. Здесь миллиард видов диаграмм, но пользоваться ими интуитивно понятно.

uml диаграмма

Бесплатно.

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

uml диаграмма

Бывают диаграммы с альтернативными сценариями, диагональными линиями (процесс идет и занимает какое-то время, например, обработка заказа занимает 30 секунд) и диаграммы с циклами (сколько раз повторяется сценарий). Но это все формализм и сложности. Чем здесь UML может быть плох, так это тем, что можно нарисовать такие детализации, которые кодом потом никогда не реализовать.

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

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

Файл «Пояснительная записка Аушев» внутри архива находится в папке «Разработка WEB-приложения для строительной компании». Документ из архива «Разработка WEB-приложения для строительной компании»,
который расположен в категории «».
Всё это находится в предмете «дипломы и вкр» из 8 семестр, которые можно найти в файловом архиве ДВГУПС.
Не смотря на прямую связь этого архива с ДВГУПС, его также можно найти и в других разделах. .

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

  • схема БД – логическая (рисунок 2.7);

  • схема БД– физическая (рисунок 2.8);

  • логическая диаграмма классов приложения (рисунок 2.9);

  • физическая диаграмма классов приложения – физическая (рисунок 2.10).

Рисунок 2.7 – Схема БД – «Логическая»

Рисунок 2.8 – Схема БД – «Физическая»

Рисунок 2.9 – Диаграмма классов приложения – логическая

Рисунок 2.10 – Диаграмма классов приложения – физическая

2.3 Разработка поведенческой модели

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

2.3.1 Разработка диаграмм последовательности

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

При разработке информационной системы Интернет-магазина строительной компании спроектировано две диаграммы последовательности «Регистрация пользователя» и «Аутентификация пользователя» для одноименных вариантов использования.

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

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

Рисунок 2.11 –Диаграмма последовательности «Регистрация нового пользователя»

Другая диаграмма последовательности «Аутентификация пользователя» изображена на рисунке 2.12. Она отображает процесс входа пользователя в систему. После того, как пользователь вводит логин и пароль проходит проверка, существует ли пользователь. Если пользователь не существует либо данные не верны, выходит сообщение об ошибке.

Рисунок 2.12 – Диаграмма последовательности «Аутентификация пользователя»

Диаграммы коммуникации

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

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

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

Диаграммы коммуникации могут быть построены на основе диаграмм последовательностей (рисунок 2.13).

Рисунок 2.13 – Диаграмма коммуникации «Аутентификации»

2.3.2 Разработка диаграмм деятельности

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

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

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

Рисунок 2.14 – Диаграмма деятельности «Покупка материалов»

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

Рисунок 2.15 – Диаграмма деятельности «Создание учетной записи »

2.4 Разработка компонентной модели

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

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

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

  • визуализации общей структуры исходного кода программной системы;

  • спецификации исполняемого варианта программной системы;

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

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

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

В языке UML выделяют три вида компонентов:

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

  • рабочие продукты это файлы с исходными текстами программ;

  • исполнения, представляющие собой исполняемые модули (файлы с расширением ехе).

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

  • «file» – любой файл, кроме таблицы:

  • «executable» – программа (исполняемый файл);

  • «library» – статическая или динамическая библиотека;

  • «source» – файл с исходным текстом программы;

  • «document» – остальные файлы (например, файл справки);

  • «table» – таблица базы данных.

На рисунках 2.17 показана диаграмма компонентов для информационной системы «Строительной компании».

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

Клиентское приложение построено на взаимодействии форм, соответствующих им классов, представленных стереотипами «form» и «source» соответственно, и подключаемых библиотек. Серверная часть представлена в общем виде как взаимодействие СУБД, в качестве которой используется MS SQL Server 2016 , и непосредственно БД «DBLibrary».Последняя в свою очередь строится на совокупности связанных таблиц.

Диаграмма развертывания

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

Главными элементами диаграммы являются узлы, связанные информационными путями. Узел– это то, что может содержать программное обеспечение. Узлы бывают двух типов:

  • устройство – это физическое оборудование: компьютер или устройство, связанное с системой;

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

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

Диаграммы развертывания разрабатываются совместно системными аналитиками, сетевыми инженерами и системотехниками.

На рисунке 2.18 представлена диаграмма развертывания для проектируемой информационной системы.Взаимодействие между клиентской и серверной частью, как показано на рисунке, осуществляется через интерфейс ADO.NET (ActiveXDataObject для .NET) технологии, предоставляющей доступ к данным для приложений, основанных на Microsoft .NET.

Рисунок 2.14– Диаграмма развертывания

3 Практическая часть

3.1 Выбор программных средств

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

Разработка web-приложения для интернетмагазина строительных материалов осуществляется на базе технологии ASP.NETMVCcиспользованием СУБД MSSQLServer 2016. Создание приложение производится в среде разработки Visual Studio 2017.

3.1.1 ASP.NETMVC

ASP.NET (ActiveServerPages) – инфраструктура разработки web-приложений.ASP.NET автоматизирует большую часть процесса разработки сложных web-приложений, включая взаимодействие с web-сервером, начальную обработку запросов и генерацию результирующего HTML.

ASP.NET MVC представляет собой платформу для создания сайтов и web-приложений с использованием паттерна (или шаблона) MVC (Model — View — Controller).

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

Концепция MVC представлена на рисунке 3.1.

Рисунок 3.1 – Концепция технологии ASP.NETMVC

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

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

План действий

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

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

Замечания (описание)

Здесь представлен основной набор символов диаграммы последовательности, необходимый для того, чтобы суметь прочитать диаграмму. После ознакомления с другими разделами («Пример», «Применение») вы сможете составлять диаграммы последовательности самостоятельно!

 Термин Изображение  Описание
 Найденное сообщение  Найденное сообщение диаграммы последовательности UML  У первого сообщения нет участника, пославшего его, поскольку оно приходит из неизвестного источника. Оно называется найденным сообщением (found message).
 Сообщение  Сообщение диаграммы последовательности UML  Команда, отправляемая другому участнику. Может содержать только передаваемые данные.
 Линия жизни  Линия жизни диаграммы последовательности UML  Каждая линия жизни имеет полосу активности, которая показывает интервал активности участника при взаимодействии. Она соответству ет времени нахождения в стеке одного из методов участника. В языке UML полосы активности не обязательны, но я считаю их исключительно удобными при пояснении поведения.
 Участник  Участник диаграммы последовательности UML  В большинстве случаев можно считать участников диаграммы взаимодействия объектами, как это и было в действительности в UML 1. Но в UML 2 их роль значительно сложнее. Поэтому здесь употребляется термин участники (participants), который формально не входит в спецификацию UML.
 Самовызов  Самовызов диаграммы последовательности UML  Участник отправляет сообщение (команду) самому себе.
 Возврат  Возврат диаграммы последовательности UML  Передача управления обратно участнику, который до этого инициировал сообщение.
 Активация  Активация - диаграмма последовательности UML  На изображении это — белый вертикальный прямоугольник. Момент, когда участник начинает действовать в ответ на принятое сообщение.
 Создание  Создание - диаграмма последовательности UML  В случае создания участника надо нарисовать стрелку сообщения, на правленную к прямоугольнику участника. Если применяется конст руктор, то имя сообщения не обязательно, но можно маркировать его словом «new» в любом случае. Если участник выполняет что- нибудь непосредственно после создания, например команду запроса, то надо
начать активацию сразу после прямоугольника участника.
 Самоудаление  Самоудаление - диаграмма последовательности UML  Удаление участника обозначается большим крестом (X). X в конце линии жизни показывает, что участник удаля ет сам себя.
 Удаление из другого объекта  Удаление из другого объекта - диаграмма последовательности UML  Удаление участника обозначается большим крестом (X). Стрелка сооб щения, идущая в X, означает, что один участник явным образом уда ляет другого.
 Фреймы взаимодействия  Фреймы взаимодействия - диаграмма последовательности UML  

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

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

Диаграмма последова тельности применяется для визуализации процесса взаимодействия объектов, а не как средство моделирования алгоритма управления.
Как было сказано, существуют дополнительные обозначения. И для циклов, и для условий используются фреймы взаимодействий (inter action frames), представляющие собой средство разметки диаграммы взаимодействия.

Как применять технику креативности

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

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

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

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

CRC-карточки

Одним из наиболее полезных приемов, соответствующих хорошему стилю ООП, является исследование взаимодействия объектов, поскольку его цель состоит в том, чтобы исследовать работу программы, а не данные. CRC-диаграммы (Class-Responsibility-Collaboration, класс-обязанность-кооперация), придуманные Уордом Каннингемом (Ward Cunningham) в конце 80-х годов, выдержали проверку временем и стали высокоэффективным инструментом решения этой задачи (рис. 4.6). И хотя они не входят в состав UML, все же являются очень популярными среди высококвалифицированных разработчиков в области объектных технологий.

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

Важным моментом в CRC-методике является определение ответственностей. Ответственность (responsibility) – это краткое описание того, что объект должен делать: операция, которую выполняет объект, некоторый объем знаний, который объект поддерживает, или какие-либо важные решения, принимаемые объектом. Идея состоит в том, чтобы вы могли взять любой класс и сформулировать его разумно ограниченные обязанности. Такой образ действия поможет вам яснее представить себе архитектуру классов.

Вторая буква «С» (в CRC) означает взаимодействие (collaboration): другие классы, с которыми должен работать рассматриваемый класс. Это дает вам некоторое представление о связях между классами, но все еще на высоком уровне.

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

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

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

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

Как научиться

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

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

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

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

Для того чтобы начать обсуждение метода «Диаграмма последовательности» UML (ЮМЛ), рассмотрим простой сценарий.

Предположим, что у нас есть заказ, и мы собираемся вызвать команду для определения его стоимости. При этом объекту заказа (Order) необ ходимо просмотреть все позиции заказа (Line Items) и определить их цены, основанные на правилах построения цены продукции в строке заказа (Order Line). Проделав это для всех позиций заказа, объект за каза должен вычислить общую скидку, которая определяется индиви дуально для каждого клиента.
На рис. 4.1 приведена диаграмма, представляющая реализацию дан ного сценария. Диаграммы последовательности показывают взаимо действие, представляя каждого участника вместе с его линией жизни (lifeline), которая идет вертикально вниз и упорядочивает сообщения на странице; сообщения также следует читать сверху вниз.

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

Одно из преимуществ диаграммы последовательности заключается в том, что почти не придется объяснять ее нотацию. Можно видеть, что экземпляр заказа посылает строке заказа сообщения getQuantity и getProduct. Можно также видеть, как заказ применяет метод к самому себе и как этот метод посылает сообщение getDiscountInfo экземпляру клиента.

Однако диаграмма не все показывает так хорошо. Последовательность сообщений getQuantity, getProduct, getPricingDetails и calculateBasePrice должна быть реализована для каждой строки заказа, тогда как метод calculateDiscounts вызывается лишь однажды.

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

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

У первого сообщения нет участника, пославшего его, поскольку оно приходит из неизвестного источника. Оно называется найденным со общением (found message).

Создание и удаление участников

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

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

В случае создания участника надо нарисовать стрелку сообщения, направленную к прямоугольнику участника. Если применяется конструктор, то имя сообщения не обязательно, но обычно маркируем его словом «new» в любом случае. Если участник выполняет что -нибудь непосредственно после создания, например команду запроса, то надо
начать активацию сразу после прямоугольника участника.

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

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

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

Как было сказано, существуют дополнительные обозначения. И для циклов, и для условий используются фреймы взаимодействий (inter action frames), представляющие собой средство разметки диаграммы взаимодействия. На рис. 4.4 показан простой алгоритм, основанный на следующем псевдокоде.
foreach (lineitem)
if (product.value > $10K)
careful.dispatch
else
regular.dispatch
end if
end for
if (needsConfirmation) messenger.confirm
end procedure

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

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

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

Диаграммы последовательности UML - общепринятые операторы для фреймов взаимодействия

Подписывайтесь на новости сайта, форму подписки вы можете найти в правой колонке сайта.

Если вы хотите научиться работать на фрилансе профессионально, приглашаем на курс «Как зарабатывать на фрилансе».


Перейти на страницу курса

0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

1

Диаграмма строительной компании

23.03.2020, 18:12. Показов 3837. Ответов 15


Здравствуйте! Есть строительная компания.
Виды деятельности: поддержка договоров на проведение строительных работ; составление сметы затрат для договоров; учет закупок и расхода материалов; учет проведенных работ; распределение работ между сотрудниками; учет поэтапной оплаты по договорам.

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

Миниатюры

Диаграмма строительной компании
 



0



8552 / 5424 / 567

Регистрация: 27.03.2013

Сообщений: 18,703

23.03.2020, 18:45

2

Связей между таблицами нет.
Значит на 99% не правильно.
Ибо в Акцессе это 99% успеха в задуманном.
А почему вы кстати на бумажке делаете схему данных, а не в самом Аксе?



0



0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

23.03.2020, 19:04

 [ТС]

3

VinniPuh, я аксессом не пользуюсь, сейчас просто необходимость такая появилась, а ради одного случая качать не особо хочется. Вот со связями, что скажете?

Миниатюры

Диаграмма строительной компании
 



0



Модератор

Эксперт MS Access

11306 / 4633 / 743

Регистрация: 07.08.2010

Сообщений: 13,390

Записей в блоге: 4

23.03.2020, 19:05

4

Цитата
Сообщение от ShaRaKos
Посмотреть сообщение

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

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



0



8552 / 5424 / 567

Регистрация: 27.03.2013

Сообщений: 18,703

23.03.2020, 19:16

5

Цитата
Сообщение от ShaRaKos
Посмотреть сообщение

…я аксессом не пользуюсь,…

А зачем тогда в разделе про — Access вопрос задаёте.
В чЁм собираетесь делать, то в том разделе логичнее было бы и задавать вопросы, ибо програмка програмке — Рознь и там всяческие правила и синтаксисы частенько очень даже различаются.
Потом перестраиваться будете?



0



0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

23.03.2020, 19:21

 [ТС]

6

VinniPuh, где бы я это не делал — мне все равно нужна помощь.



0



0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

23.03.2020, 19:22

 [ТС]

7

shanemac51, а если так?

Миниатюры

Диаграмма строительной компании
 



0



8552 / 5424 / 567

Регистрация: 27.03.2013

Сообщений: 18,703

23.03.2020, 19:28

8

Ну так логичнее просить помощи там, в какой программе собираетесь делать, а не там, хоть в где.
Кстати, а почему при установке — Офиса вы Акцесс не установили?
Он же в пакете идёт с Вордом и Экселем наверное, ну или так раньше точно было.
Место на диске хотели съэкономить?,
Аж целых 100-500 МБ?
Ужасть какой та.
Ладно.
Если не хотите как лучше и быстрее было бы, возможным помогальщикам вам помочь, то отхожу в сторону.



0



0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

23.03.2020, 19:31

 [ТС]

9

VinniPuh, с чего вы взяли, что у меня вообще MCOffice есть?



0



Модератор

Эксперт MS Access

11306 / 4633 / 743

Регистрация: 07.08.2010

Сообщений: 13,390

Записей в блоге: 4

23.03.2020, 19:34

10

Цитата
Сообщение от ShaRaKos
Посмотреть сообщение

а если так?

мне не нравится
просто лень и некогда смотреть, рабочий день закончился
вы бы сами попробовали СЛОВАМИ описать структуру базы, наподобие
— имеется некая фирма РОГА И КОПЫТА
— в фирме трудится множество сотрудников, часть из них в бригадах
— фирма заключила множество договоров с разными клиентами в разные даты



0



8552 / 5424 / 567

Регистрация: 27.03.2013

Сообщений: 18,703

23.03.2020, 19:39

11

Цитата
Сообщение от ShaRaKos
Посмотреть сообщение

…с чего вы взяли, что у меня вообще MCOffice есть?…

Потому что — Access , неотъемлемая часть — MC Office и вы задаёте вопрос, именно в разделе — Access.
Вы с логикой точно дружите?
Всё.
Больше на такие — Мягко говоря — неопределенные(неконкретные) вопросы, отвечать не буду.

 Комментарий модератора 
не заводись!



0



0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

23.03.2020, 19:41

 [ТС]

12

VinniPuh,

Кстати, а почему при установке — Офиса вы Акцесс не установили?

Для особо внимательных, спрошу еще раз. С чего вы взяли, что у меня вообще MCOffice есть/ устанавливал?



0



802 / 316 / 59

Регистрация: 29.03.2016

Сообщений: 680

23.03.2020, 20:20

13

Цитата
Сообщение от ShaRaKos
Посмотреть сообщение

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

Несмотря на отсутствие подробного ТЗ, можно уверенно ответить: Нет.



1



0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

23.03.2020, 20:24

 [ТС]

14

Jamaica, ТЗ: построить ER-диаграмму по таким данным : Строительная компания
Виды деятельности: поддержка договоров на проведение строительных работ; составление сметы затрат для договоров; учет закупок и расхода материалов; учет проведенных работ; распределение работ между сотрудниками; учет поэтапной оплаты по договорам.

Вот что у меня по итогу вышло :

Миниатюры

Диаграмма строительной компании
 



0



802 / 316 / 59

Регистрация: 29.03.2016

Сообщений: 680

23.03.2020, 20:35

15

Лучший ответ Сообщение было отмечено ShaRaKos как решение

Решение

То, что у Вас имеется — это не ТЗ, это можно назвать «хотелка».

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

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



1



0 / 0 / 0

Регистрация: 28.04.2019

Сообщений: 118

23.03.2020, 20:39

 [ТС]

16

Jamaica, у меня более этого условия — нет. Спасибо, буду исправлять!



0




Разработка ИС для строительной компании.(Прочитано 11372 раз)

Здравствуйте.
Я пишу дипломную работу на тему «Разработка ИС для строительной компании на платформе 1С:Предприятие 8.2».
На данном этапе мне нужно разработать оптимизацию бизнес-процессов. т.е составить диаграмму UML, чтобы иметь четкое представление того, что в принципе я должна делать.
Я сделала 2 диаграммы разные, но вот не знаю, подойдут они мне или нет.
Помогите пожалуйста


Записан



Здравствуйте.
Я пишу дипломную работу на тему «Разработка ИС для строительной компании на платформе 1С:Предприятие 8.2».
На данном этапе мне нужно разработать оптимизацию бизнес-процессов. т.е составить диаграмму UML, чтобы иметь четкое представление того, что в принципе я должна делать.
Я сделала 2 диаграммы разные, но вот не знаю, подойдут они мне или нет.
Помогите пожалуйста

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


Записан



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

Добрый день!
Если речь идет об оптимизации бизнес-процессов, значит какие-то процессы уже есть, но чем-то они не устраивают.
Для начала надо сделать описание процессов «as is», как они выглядят сейчас. А потом уже думать как и где их оптимизировать.


Записан



Дело в том, что проблем никаких нет. Я четко представляю, какую систему буду внедрять, но надо что бы была диаграмма.
Целью данной дипломной работы является  разработка информационной системы для строительно – отделочной фирмы на платформе «1С:Предприятие 8.2». Данная система предназначена для автоматизации основных бизнес-процессов фирмы, таких как: поставка материалов, ведение учета, оказание услуг, расчет заработной платы, ведение учета клиентов, персонала и так далее. Просто я не очень понимаю то, что требуется сделать. Сделала 2 диаграммы, они хоть правильны?)


Записан



Речь не про ваши проблемы, а про проблемы заказчика.

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

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


Записан



На данном этапе мне нужно разработать оптимизацию бизнес-процессов.

Представил, как наяву: сидят прожженые прораб, снабженец и главбух ООО «Таджбетон». Трут за гешефт, тщательно взвешивая слова. Тут дверь открывается, появляется прелестное дитя и заявляет: «А какие тут у вас бизнес-процессы? Мне дали задание их соптимизировать!»

Я пишу дипломную работу на тему «Разработка ИС для строительной компании на платформе 1С:Предприятие 8.2».

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

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

Правильно наоборот. Сначала составить представление, что в принципе нужно сделать, а затем браться за дело.

Я сделала 2 диаграммы разные, но вот не знаю, подойдут они мне или нет.

Первая Вам идет, вторая немного полнит.

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

Просто я не очень понимаю то, что требуется сделать.

Давайте для начала попробуем разрешить вот эту ситуацию. Какая часть задания Вам понятна, а какая — нет?


Записан



Представил, как наяву: сидят прожженые прораб, снабженец и главбух ООО «Таджбетон». Трут за гешефт, тщательно взвешивая слова. Тут дверь открывается, появляется прелестное дитя и заявляет: «А какие тут у вас бизнес-процессы? Мне дали задание их соптимизировать!»

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

Правильно наоборот. Сначала составить представление, что в принципе нужно сделать, а затем браться за дело.

Первая Вам идет, вторая немного полнит.

Давайте для начала попробуем разрешить вот эту ситуацию. Какая часть задания Вам понятна, а какая — нет?

Целью моей дипломной работы является  разработка информационной системы для строительно – отделочной фирмы на платформе «1С:Предприятие 8.2». Данная система предназначена для автоматизации основных бизнес-процессов фирмы, таких как: поставка материалов, ведение учета, оказание услуг, расчет заработной платы, ведение учета клиентов, персонала и так далее. В подсистеме конфигуратора у меня будет 4 подсистемы:
Учет материалов
Оказание услуг
Бухгалтерия
Складской учет.
Сделала ещё 2 диаграммы, но и они не правильны.


Записан




Записан



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


Записан



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

А кто считает, что это неправильные диаграммы? Чем он это мотивирует?
Мне они тоже представляются весьма спорными.
Например, первая имеет незнакомую мне нотацию. Хотя изображенное, кажется довольно логичным, но например, у меня мало возможностей для экспертной оценки. Не понятна цель изображения модели БП, чья точка зрения.
Модель БП вероятно должна включать: владельца этого процесса, его участников, входные и выходные величины, управляющие воздействия.
Правда, следует обратится к материалу кафедры и опыту ваших преподавателей в этом вопросе.

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


Записан



 Из того, что вы написали-я ничего не поняла!!!
слишком заумно написано, мой мозг пока это не воспринимает и не понимает.


Записан



Из того, что вы написали-я ничего не поняла!!!
слишком заумно написано, мой мозг пока это не воспринимает и не понимает.

Полагаете, что есть надежда, что он проснется вдруг?


Записан



Из того, что вы написали-я ничего не поняла!!!

Гм… Похоже, аутсорсинг диплома будет оптимальным бизнес-решением.


Записан



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