- •Вводное занятие
- •Процесс разработки программного обеспечения
- •Задачи аналитика в заказной разработке
- •Качества и навыки аналитика
- •Важные термины
- •Область проблем и область решений
- •Задача №1 «Поиск решений»
- •Простые диаграммы
- •Контекстная диаграмма (см. К. Вигреса, с 70-74 и 150-155).
- •Диаграмма вариантов использования (прецедентов)
- •Декомпозиция
Контекстная диаграмма (см. К. Вигреса, с 70-74 и 150-155).
Диаграмма потоков данных (DFD). В самом простом виде состоит из блоков, которые обозначают функции, и стрелок, которые обозначают передачу данных от функции к функции (см. Рисунок 5). К. Вигерс описывает эту диаграмму немного иначе.
Рисунок 5 – DFD –диаграмма
Swimline– диаграмма. Блоки функций размещаются в дорожках. Каждая дорожка соответствует определенной роли пользователя системы (см. Рисунок 6)
Рисунок 6 − Swimline – диаграмма
Рекомендации по рисованию диаграмм:
Тщательно декомпозировать процесс (если выбрать большую глубину декомпозиции, диаграмма будет сложна для восприятия; если малюю – мы не сможем установить связи между функциями).
Определить границы процесса (проверить, что на диаграмме не изображены функции, «захваченные» из другого процесса или другим процессом).
Все элементы на диаграмме должны быть читаемы.
Не должно быть «паука из стрелок».
Рядом с диаграммой должна быть легенда.
Диаграмма вариантов использования (прецедентов)
Описывает группы действий, каждая из которых приводит к определенной бизнес-цели, позволяет связать пользователей системы с их бизнес-целями, определить границы системы. Это одна из диаграмм UML.
Элементы диаграммы:
овалы - варианты использования;
человечки – акторы;
стрелки.
Рекомендации по рисованию диаграммы прецедентов:
Определяем акторов - все «действующие лица» лица процесса, которые работают с системой.
Для каждого актера бизнес-цели, рисуем прецеденты, используя расширение и включение. Расширение: специальный случай по отношению к базовому случаю. Включение: «вложенность» вариантов использования (без вложенных вариантов использования базовый вариант не может быть выполнен).
Не отображаем другие особенности процесса.
Акторы не должны быть связаны друг с другом.
Прецедент всегда должен иметь инициатора (актора).
Помним, что вариант использования – это не функция системы (нет варианта использования «Ввести ФИО»).
Пример диаграммы вариантов использования приведен на рисунке (см. Рисунок 7).
Рисунок 7 – Диаграмма вариантов использования
IDEF0
Первый этап анализа. Цель – снятие неопределенности.
Архитектура системы остается за рамками.
Результат - оптимизация процесса, а не создание системы.
Подходит, чтобы быстро фиксировать информацию о процессе заказчика.
Рекомендации по рисованию:
Имя функции - глагол.
Оптимальное число блоков 3-6.
Подумать, какой вход нужен для данного выхода.
Рецензировать каждый блок после отрисовки.
Декомпозиция
Задачи
Задача 1. Лифт
В одной организации возникла проблема. Этажи соединяются одним лифтом. Лестничных пролетов нет. Чтобы попасть с одного этажа на другой, сотрудники пользуются лифтом. Поскольку лифт один, то среднее ожидание очереди, чтобы доехать 5 минут. Сотрудники полагают, что это много. Вынужденные дожидаться лифта они нервничают и раздражаются. Это сказывается на производительности труда, т.к. возмущенные сотрудники потом обсуждают эту проблему некоторое время перед тем, как приступить к работе (у руководителя есть несколько решений: технические и психологические. Определите эти решения, оцените затраты по их реализации. Выберите оптимальные. Для технического решения нарисуйте блок-схему).
Задача 2. Заявка в типографию
Система работает следующим образом: клиент через сайт типографии загружает свои материалы, выбирает настройки печати (и брошюровки), т.е. формат бумаги, тип бумаги, количество копий и т.д. Клиенту выдаётся номер заявки. После он едет в типографию, где оплачивает печать (и брошюровку). После факта оплаты заявка попадает в очередь. Оператор печатает (и брошюрует) материалы последовательно из очереди, после чего приносит менеджеру материалы на выдачу. Другой вариант - покупатель привозит сам электронную версию материала, менеджер формирует заявку на месте, потом клиент оплачивает услуги в кассе, и его заявка попадает в очередь. Если клиенту нужна брошюровка готовых листов, оформляется заявка, которая попадает в очередь после оплаты.
Задача 3. Парикмахерская
Клиенты заходят в систему записи в парикмахерскую. Просматривают доступные виды услуг (прически, окраска и т.д.). Услуги делятся на мужские и женские. Для каждой услуги указаны: стоимость, время выполнения, краткое описание. Также клиент может просматривать доступное свободное время женского и мужского мастеров. В расписании мастера указаны дата и время, на которые можно записаться. Если клиент хочет записаться в парикмахерскую, он выбирает услуги и удобное для себя время из списка. Также он указывает свое имя и фамилию, номер телефона. После этого он подтверждает свой заказ и получает чек, в котором указаны номер записи, время, на которое записан, стоимость выбранных услуг, фамилия парикмахера. Выбранное время становиться занятым в списке свободного времени. Также клиент может отменить запись. Для этого он указывает номер записи и фамилию. Администратор заходит в систему записи в парикмахерскую. Просматривает доступные виды услуг (прически, окраска и т.д.). Он может удалить или добавить новую услугу. Для новой услуги он указывает стоимость, время выполнения и краткое описание. Также администратор может просматривать доступное свободное время мастеров. Он может редактировать свободное время. Свободное время рассчитывается исходя из списка парикмахеров и списка записей. В списке парикмахеров отражены все работающие парикмахеры. У парикмахера есть график работы, в котором указаны дата и время работы. Парикмахер может быть женским либо мужским. Для парикмахера указывается его фамилия. Также администратор может просматривать список записей. В нем указаны номер записи, дата и время, имя и фамилия клиента, телефон и парикмахер.
Задача 4. Такси
Требуется разработать модель программной системы автоматизации работы службы такси. Служба такси предоставляет услуги по пассажирским перевозкам. Служба не имеет собственного таксопарка, а работает по договору с водителями, имеющими личный автомобиль. Каждый водитель имеет свой позывной и график работы. Служба имеет несколько точек-стоянок по городу, на которых водитель может дожидаться поступления близлежащего заказа. С системой работает два диспетчера. Первый диспетчер занимается приемом заказов, второй распределением заказов между водителями. При приеме заказов клиент сообщает свое текущее местонахождение и телефон, а также адрес назначения. Фиксируется время приема заказа, а также время его выполнения. Для определения оптимального маршрута по городуиспользуется геоинформационная система. Клиент может сделать предварительный заказ, т.е. заказать такси в определенное место к определенному времени. Клиент идентифицируется номером телефона. Система хранит информацию о заказах клиента и вычисляет его рейтинг, что позволяет клиенту со временем получать накопительную скидку. При желании клиент может сообщить о себе дополнительную информацию (ФИО, другие телефоны и т.п.), что позволит его более точно идентифицировать. Если с заказом были какие-либо проблемы (ложный вызов, неоплата и т.п.), этот факт фиксируется, и телефон заносится в черный список. Бухгалтерия анализирует отчеты о заказах, выполненных каждым водителем, и на основании их проводит денежные расчеты с водителями. Аналогично, заработная плата диспетчеров зависит от количества принятых заказов. Система также должна обеспечивать отчеты о заказах, выполненных за период времени, выполненных конкретным водителем и заказах конкретного клиента. Нарисовать диаграмму прецедентов (use case diagram) системы автоматизации работы службы такси.