ВУЗ: Пермская государственная сельскохозяйственная академия имени академика Д. Н. Прянишникова
Категория: Методичка
Дисциплина: Проектирование информационных систем
Добавлен: 18.10.2018
Просмотров: 2648
Скачиваний: 14
СОДЕРЖАНИЕ
ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ
Шаг 1. Определение рамок системы
Шаги 2 и 3. Определение основных исполнителей и задач
Основные и вспомогательные исполнители
Таблица 1.1 – Перечень исполнителей и их задач
Определение исполнителей и задач путем анализа событий
Таблица 1.2 – Перечень исполнителей и их задач на основе анализа внешних событий
Шаг 4. Определение прецедентов
Описание прецедентов, относящихся к интерфейсу пользователя
Шаг 5. Построить диаграмму прецедентов
Система обозначений для диаграммы прецедентов
Дополнительная спецификация (фрагмент)
Функциональность (Имеющая отношение ко многим прецедентам)
Регистрация событий и обработка ошибок
Бесплатные компоненты на основе открытого кода
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Пермская государственная сельскохозяйственная академия
имени академика Д.Н. Прянишникова»
ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ
направление 230700 «Прикладная информатика»
Лабораторное занятие № 3
Тема: Модель прецедентов: диаграмма прецедентов
Учебные вопросы:
-
Алгоритм построения прецедентов.
-
Дополнительная спецификация.
-
Видение.
-
Словарь терминов.
Вопрос 1. Алгоритм построения прецедентов
POS-система (point-of-sale system) – это компьютеризированное приложение, предназначенное для организации товарооборота и обработки платежей в обычных магазинах.
Система автоматизации торговли включает аппаратные компоненты (компьютер и устройство считывания штрих-кода), а также программное обеспечение, выполняющее основные задачи системы.
Это приложение связано с различными служебными программами, например с программой вычисления налогов, разработанной сторонними производителями, или с системой складского учета товаров.
Подобные системы должны быть устойчивыми к сбоям, т.е. работоспособными при временном выходе из строя удаленных служб (например, системы складского учета товаров). В критических ситуациях они должны обслуживать продажу товаров и обеспечивать обработку хотя бы платежей наличными (чтобы хозяин магазина не обанкротился).
Желательно, чтобы POS-система поддерживала различные типы клиентских терминалов и интерфейсов, в том числе клиентский терминал с Web-браузером ("тонкого" клиента), обычный персональный компьютер с графическим интерфейсом пользователя, сенсорный ввод информации и т.п.
Более того, коммерческие POS-системы должны уметь работать с различными категориями потребителей, для которых определены отдельные бизнес-правила. Для каждого потребителя может быть предусмотрена своя логика выполнения отдельных операций в рамках сценария использования системы, например, специфические действия при добавлении нового товара или создании новой продажи. Следовательно, необходимо предусмотреть механизм обеспечения этой гибкости и настройки системы.
На основе итеративной стратегии разработки выполним все необходимые этапы создания системы: формулировку требований, объектно-ориентированный анализ, проектирование и реализацию.
Процедура выделения прецедентов:
-
Определить рамки системы: является ли она программным приложением, аппаратно-программным комплексом, включает ли в себя своих пользователей или всю организацию.
-
Идентифицировать основных исполнителей, потребности (цели) которых удовлетворяются с помощью системы.
-
Для каждого исполнителя определить его задачи. Составить иерархию: в соответствии с рекомендациями по выделению ЕВР.
-
Определить прецеденты, удовлетворяющие потребности каждого исполнителя, и присвоить им имена в соответствии с задачами (Обычно основные прецеденты соответствуют задачам пользователей).
-
Построить диаграмму прецедентов.
Пояснения по каждому шагу процедуры:
Шаг 1. Определение рамок системы
Для данного прецедента разрабатываемой системой является сама POS-система. Все, что находится за ее пределами, включая кассира, службу авторизации платежей и т.д., в эти рамки не включается.
Для определения рамок системы следует, в первую очередь, указать, что к ней не относится, т.е. определить внешних, основных и вспомогательных исполнителей. После идентификации внешних исполнителей рамки системы очерчиваются более четко. Например, возлагается ли на систему полная ответственность за авторизацию платежей? Нет, эту задачу выполняет внешний исполнитель – служба авторизации платежей.
Шаги 2 и 3. Определение основных исполнителей и задач
Нельзя однозначно указать последовательность определения исполнителей и задач. Иногда исполнители определяются после формулировки задач, а иногда наоборот.
В процессе анализа основное внимание следует уделить определению основных исполнителей, поскольку это расширит возможности для дальнейшего исследования.
При определении основных исполнителей и задач пользователей следует ответить на следующие вопросы, чтобы не упустить из виду некоторые неочевидные моменты:
-
Кто запускает и выключает систему?
-
Кто является системным администратором?
-
Кто осуществляет управление пользователями и безопасностью?
-
Относится ли время к числу исполнителей, другими словами, должна ли система выполнять какие-либо действия в ответ на события времени?
-
Существует ли процесс мониторинга, благодаря которому система перезапускается в случае сбоя?
-
Кто контролирует деятельность и производительность системы?
-
Как выполняется обновление программного обеспечения?
-
Кто анализирует журналы регистрации? Можно ли обеспечить удаленный доступ к ним?
Основные и вспомогательные исполнители
Основные исполнители – это те, чьи потребности удовлетворяются с помощью системы. Для решения своих задач они используют систему. В отличие от них, вспомогательные исполнители (supporting actor) занимаются обслуживанием системы.
Пока сосредоточимся на идентификации основных исполнителей. Следует помнить, что основными исполнителями, среди прочего, могут быть другие компьютерные системы (отсутствие внешних компьютерных систем среди основных исполнителей должно насторожить разработчиков).
Составьте список основных исполнителей и их задач. В терминах артефактов унифицированного процесса этот список должен быть разделом артефакта "Видение". Рассмотрим следующую таблицу.
Таблица 1.1 – Перечень исполнителей и их задач
Исполнители |
Задачи |
Кассир |
Оформляет продажи Оформляет кредиты Выполняет возврат товара Регистрирует выручку … |
Менеджер |
Включает систему Выключает систему … |
Системный администратор |
Добавляет и удаляет пользователей Изменяет параметры пользователей Управляет безопасностью |
Система анализа торговой деятельности |
Анализирует информацию о продажах Оценивает производительность |
… |
… |
Примечание: Система анализа торговой деятельности (Sales Activity System) – это удаленное приложение, которое достаточно часто будет запрашивать данные от каждого узла POS-системы по сети.
Основной исполнитель и задачи системы зависят от ее рамок.
Почему основным исполнителем для прецедента Оформление продажи является кассир, а не покупатель? Почему покупатель не включен в список исполнителей?
Ответ определяется рамками разрабатываемой системы, как показано на рис. 1.1. Если предприятие или торговую организацию рассматривать как агрегатную систему, то для нее основным исполнителем должен являться покупатель, задача которого – приобретение товаров или услуг. Однако с точки зрения самой POS-системы (которая определяет рамки системы для данного прецедента), основным исполнителем является кассир, задача которого – обслуживание продаж.
Рисунок 1.1 – Основные исполнители и их задачи при определении рамок системы
Определение исполнителей и задач путем анализа событий
Для определения исполнителей, их задач и прецедентов можно также использовать внешние события. Что это означает? Зачастую к одному и тому же уровню ЕВР или прецеденту, например, относится целая группа событий.
Таблица 1.2 – Перечень исполнителей и их задач на основе анализа внешних событий
Внешнее событие |
Инициатор |
Задача |
Ввод информации о наименовании товара |
Кассир |
Оформить продажу |
Ввод информации о платеже |
Кассир или покупатель |
Оформить продажу |
… |
… |
… |
Шаг 4. Определение прецедентов
Как правило, каждой задаче пользователя соответствует один прецедент уровня ЕВР. Его имя должно соответствовать названию задачи, например, задаче оформления продажи должен соответствовать прецедент Оформление продажи.
Как правило, имя прецедента начинается с существительного, описывающего действие.
Типичным исключением из правила соответствия задач и прецедентов является прецедент, решающий четыре задачи – создание, восстановление, обновление и удаление. Обычно такой прецедент называется Управление <чем-либо>. Например, задачи "изменение информации о пользователях", "удаление пользователей" и т.д. решаются в рамках прецедента Управление пользователями.
Определение прецедентов выполняется за несколько этапов, одни из которых занимают несколько минут (например, присвоение имен прецедентам), а другие – по несколько дней (развернутое описание).
Описание прецедентов, относящихся к интерфейсу пользователя
Исследование целей, а не обязанностей и процедур позволяет сосредоточить внимание на основных требованиях.
Например, на одном из семинаров кассир может сказать, что одной из его целей является регистрация в системе. При этом он может иметь в виду элементы интерфейса пользователя, соответствующие диалоговые окна, ввод идентификатора и пароля. Однако все это – механизмы достижения цели, а не сама цель. Изучая иерархию целей (отвечая на вопрос "какова цель этой задачи?"), системный аналитик приходит к формулировке, независимой от механизма реализации: "идентифицировать себя и выполнить аутентификацию", или на более высоком уровне – "предотвратить утечку информации".
Такой процесс исследования позволяет получить новые и более эффективные решения.
Например, в настоящее время достаточно распространены и недорого стоят клавиатура и мышь с устройствами считывания биометрической информации, в частности отпечатков пальцев. Если целью является идентификация и аутентификация, то почему бы для ее достижения не использовать эффективное и быстрое средство считывания биометрических данных с клавиатуры? Однако, отвечая на этот вопрос, следует принимать во внимание удобство использования. В данном случае придется установить профили типичных пользователей. А если их пальцы чем-то испачканы? А если они травмированы?
Базовый стиль описания
Эта идея была сформулирована в различных рекомендациях типа "не уделяйте внимания вопросам интерфейса пользователя, сосредоточьте внимание на содержательной стороне вопроса". Подобные идеи и предложения наиболее полно были изучены Ларри Константином (Larry Constantine) в контексте создания наиболее удачного интерфейса пользователя и исследования удобства использования программных продуктов.
Если описание не содержит подробной информации о реализации пользовательского интерфейса, а основное внимание в нем сосредоточено на содержательных моментах, то такой стиль описания Константин называет базовым (essential).1
Базовый стиль описания предполагает изложение на уровне намерений пользователя и обязанностей системы, а не на уровне их конкретных действий. При таком стиле описания не нужно углубляться в детали технологии и механизма реализации, особенно при рассмотрении вопросов, связанных с интерфейсом пользователя.
Описывайте прецеденты в базовом стиле. Не уделяйте внимания интерфейсу пользователя, а сосредоточьтесь на содержательной стороне вопроса.
Все приведенные выше примеры прецедентов были выдержаны в базовом стиле описания, в том числе прецедент Оформление продажи.
Следует заметить, что понятия цель и намерение являются синонимами. Этим подтверждается взаимосвязь между базовым стилем описания и ориентацией на цели (задачи), предлагаемой выше. Действительно, многие намерения исполнителей можно трактовать как вспомогательные цели.
Конкретный стиль описания
Существует и другой стиль описания прецедентов – конкретный (concrete). При таком стиле описания проектные решения, относящиеся к пользовательскому интерфейсу, внедряются в описание прецедента. В тексте описания могут, например, даже содержаться копии экранов, описываться элементы управления и Другие элементы пользовательского интерфейса.
-
Администратор вводит идентификатор и пароль в диалоговом окне.
-
Система аутентифицирует администратора,
-
Система отображает окно Изменение пользователей.
-
...
Такое конкретное описание потребуется на следующих этапах проектирования GUI, а не стадии анализа требований. В процессе формулировки требований "не уделяйте внимания вопросам интерфейса пользователя, сосредоточьте внимание на содержательной стороне вопроса".
Исполнители
Исполнитель (actor) – это сущность, обладающая поведением. К числу исполнителей может относиться и сама рассматриваемая система, если она вызывает службы других систем.2 В прецеденте могут участвовать основные и вспомогательные (второстепенные) исполнители. Исполнителями являются не только люди, но и организации, машины и программы. Существует три типа внешних по отношению к разрабатываемой системе исполнителей.
-
Основной исполнитель (primary actor) – его задачи выполняются с использованием системы. Примером основного исполнителя является кассир.
-
Зачем его идентифицировать? Чтобы определить цели пользователя, на основе которых формулируются прецеденты.
-
Вспомогательный исполнитель (supporting actor) – обслуживает систему (например, предоставляет информацию). Примером вспомогательного исполнителя является служба авторизации платежей.
-
Зачем его идентифицировать? Чтобы определить внешние интерфейсы и протоколы.
-
Закулисный исполнитель (offstage actor) – заинтересован в реализации прецедента, но не является основным или вспомогательным исполнителем. Примером закулисного исполнителя является налоговая служба.
-
Зачем его идентифицировать? Чтобы удостовериться, что все интересы определены и удовлетворены. Интересы закулисных исполнителей обычно не очевидны и их легко упустить из виду, если не идентифицировать их в явной форме.
Шаг 5. Построить диаграмму прецедентов
В языке UML существует система обозначений для диаграммы прецедентов, иллюстрирующей имена прецедентов, исполнителей и взаимосвязи между ними (рис. 1.2).
Все сущности, включая разрабатываемую систему, могут играть различные роли.
Рисунок 1.2 – Фрагмент диаграммы прецедентов
Диаграммы прецедентов и их взаимосвязей имеют второстепенное значение при работе над прецедентами. Прецеденты – это текстовые документы. Работать над прецедентами – значит составлять текстовые описания.
Обычно новички в области моделирования прецедентов начинают с составления диаграмм прецедентов и их взаимоотношений, а не с составления текстовых описаний. Однако специалисты по написанию прецедентов мирового класса основное внимание уделяют составлению текстовых описаний, а не диаграмм. В таком ракурсе диаграмма лишь иллюстрирует способы использования системы внешними исполнителями.
Замечание: Целесообразно строить простые диаграммы прецедентов в соответствии со списком исполнителей и их задач.
Диаграмма прецедентов – это изображение системного контекста, поскольку она отображает границы системы, внешние для системы понятия и способы использования системы. Она подытоживает поведение системы и ее исполнителей. Фрагмент простой диаграммы прецедентов для системы "ТТ" показан выше на рис. 1.2.