КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Пример использования модели прецедентов ⇐ ПредыдущаяСтр 4 из 4 Для более глубокого понимания моделей прецедентов и их применения рассмотрим более сложный пример. Предположим, необходимо спроектировать локальную вычислительную сеть (LAN) для консалтинговой фирмы и определить функциональность этой сети. С чего начать? Локальная сеть — это сеть коммуникаций, используемая организацией на небольших расстояниях. Она позволяет пользователям совместно обращаться к ресурсам и информации. Изучение предметной области Работа над системой начинается с общения с клиентом и создания диаграммы классов, отражающей предметную область консалтинга. Диаграмма классов может включать следующие: Консультант, Клиент, Проект, Предложение, Данные И Отчет. На рис. 8 представлен общий вид диаграммы. Рис. 8. Диаграмма классов для предметной области консалтинга Работа с пользователями После изучения предметной области нужно переходить к работе с пользователями, потому что в разрабатываемой системе должны поддерживаться выполняемые ими функции. На практике для этого нужно интервьюировать пользователей. В рассматриваемом примере будем опираться на общие знания о локальных сетях и предметной области задачи. Однако при этом следует помнить, что в процессе анализа систем общение с реальными людьми ничем заменить нельзя. Одна группа пользователей будет консультантами, в другую можно включить обслуживающий персонал. Кроме того, потенциальными пользователями системы будут руководители корпорации, маркетологи, сетевые администраторы, офисные менеджеры и менеджеры проектов. (Можете придумать других?) На этом этапе полезно изобразить пользователей в иерархии обобщения, как это сделано на рис. 9. Рис. 9. Иерархия пользователей, которые будут взаимодействовать с локальной сетью Описание прецедентов А как же прецеденты? В процессе общения с пользователями системы можно выявить следующие: Обеспечение безопасности, Создание предложения, Сохранение предложения. Использование электронной почты, Совместное использование базы данных, Выполнение расчетов, Подключение к сети, Соединение с Internet, Организация каталога предложений. Использование существующих предложений, Совместное использование принтеров. На рис. 10 изображена диаграмма высокоуровневых прецедентов, построенная на основании полученной информации. Приведенный набор прецедентов определяет функциональные требования к локальной сети.
Рис.10. Высокоуровневая диаграмма прецедентов модели локальной сети Уточнение деталей Выберем один из высокоуровневых прецедентов и построим для него модель. В консалтинговой фирме важнейшим видом деятельности является написание предложений, поэтому исследуем прецедент Создание предложения. Интервью с консультантами позволит определить, что этот прецедент состоит из некоторого количества шагов. Во-первых, инициирующим исполнителем является консультант. Он должен зарегистрироваться в сети и пройти аутентификацию. Затем с помощью офисных программ (текстового редактора, электронных таблиц и графических приложений) консультант подготовит предложения. Во время работы он может использовать фрагменты созданных ранее предложений. Допустим, на фирме существует порядок, согласно которому один из ее руководителей и два других консультанта должны просмотреть предложение перед отправкой клиенту. Чтобы выполнить это требование, консультант загружает свое предложение в общее хранилище, доступное через локальную сеть, и с помощью электронной почты сообщает трем сотрудникам о готовности предложения и его местонахождении. После получения ответа и внесения необходимых изменений (с помощью того же набора офисного программного обеспечения), консультант распечатывает предложение и отправляет его по почте клиенту. По окончании работы консультант отключается от сети. Теперь он закончил подготовку предложения и является исполнителем, получающим выходную информацию прецедента. Когда во время интервью обсуждается упомянутая выше политика "трех рецензий", нужно тщательно протоколировать такие подробности. Речь идет о бизнес-логике — наборе правил, определяющих организацию работы. Чем больше бизнес-правил вы сможете выявить, тем более профессиональным аналитиком станете. Это позволит глубже понять принципы работы и потребности организации клиента. Из приведенного описания ясно, что некоторые шаги одного прецедента повторяются в другом. Это наводит на мысль об использовании других (возможно, включенных) прецедентов, о которых нельзя было догадаться раньше. Регистрация в сети и проверка учетной записи — два шага, которые можно включить во многие другие прецеденты. С этой точки зрения следует создать прецедент Регистрация пользователя, который будет включен в прецедент Создание предложения. Два других включаемых прецедента — Использование офисного программного обеспечения и Отключение от сети. Анализ процесса подготовки предложения позволяет сделать вывод о том, что предложение, написанное для нового клиента, отличается от предложений, составленных для постоянных клиентов. В самом деле, предложение для нового клиента должно включать характеристику фирмы. Постоянным клиентам такого рода информацию отправлять не нужно. Таким образом, новый прецедент Создание предложения для нового клиента расширяет прецедент Создание предложения. На рис. 11 представлена диаграмма, полученная по результатам анализа прецедента Создание предложения. Рис. 11. Прецедент Создание предложения в системе локальной сети Этот пример подтверждает достаточно важный момент, уже упомянутый ранее: анализ прецедентов позволяет описать поведение системы. Он никоим образом не касается реализации. Это особенно важно подчеркнуть на данном этапе, потому что вопросы разработки локальной сети выходят за рамки лабораторных работ. Резюме Прецедент — это конструкция, позволяющая описать систему с точки зрения потенциальных пользователей. Прецедент представляет собой набор сценариев, инициируемых исполнителями (людьми, аппаратными средствами, другими системами или интервалами времени). Результат прецедента должен быть полезен исполнителю, инициировавшему этот прецедент, либо какому-то другому исполнителю. Прецеденты можно использовать повторно. Один из способов предполагает включение шагов одного прецедента в последовательность действий другого. Другой путь сводится к созданию нового прецедента путем добавления нескольких шагов к существующему — расширению прецедента. Опрос пользователей — лучший способ определения прецедентов. При этом важно выявить предусловия для инициализации прецедента и постусловия, реализуемые в результате выполнения прецедента. Опрос пользователей осуществляется после общения с клиентами и составления перечня классов-кандидатов. Это обеспечивает базовую терминологию для общения с пользователями. Желательно опрашивать группы пользователей. Задачей этого этапа является формирование списка возможных прецедентов и всех возможных исполнителей. Прецедент — мощное средство для формирования функциональных требований к системе. Диаграммы прецедентов — еще более мощный инструмент: они визуализируют прецеденты, служат основой для взаимодействия между аналитиками и пользователями, а также между аналитиками и клиентами. На диаграмме прецедент обозначается символом эллипса. Исполнителя обозначают упрощенной фигуркой. Линия ассоциации соединяет исполнителя с прецедентом. Обычно прецеденты располагаются внутри прямоугольника, отображающего границы системы. Включение представляется линией зависимости со стереотипом «включает». Два других типа взаимосвязи прецедентов — это обобщение, при котором один прецедент наследует значение и поведение другого, и группировка, позволяющая систематизировать набор прецедентов. Обозначение отношения обобщения на диаграмме совпадает с обозначением наследования для классов. Группировку изображают с применением пакетов. Диаграммы прецедентов активно используются в процессе анализа. Сначала на основе общения с клиентом строятся диаграммы классов, обеспечивающие основу для интервьюирования пользователей. В результате предлагается высокоуровневая диаграмма прецедентов, которая отражает функциональные требования системы. Для создания моделей прецедентов нужно детально изучить каждый высокоуровневый прецедент. На основе полученных моделей прецедентов выполняется проектирование и разработка системы. Объектно-ориентированный подход и прецеденты — два краеугольных камня UML. Ознакомившись с ними, нетрудно сформировать общую структуру UML. Вопросы и ответы Для чего введено понятие прецедента? Нельзя ли ограничиться опросом пользователей? Нет, нельзя. Ответы пользователей нужно структурировать. А это делается с помощью прецедентов. Такая структура полезна для обсуждения результатов опроса пользователей с клиентами и разработчиками. Насколько сложно выделить прецеденты? Я убедился на своем опыте, что сформулировать прецеденты (даже высокого уровня) совсем не сложно. Трудности возникают при детальном составлении каждого сценария. При построении системы пользователям очень сложно сформулировать последовательность действий, поскольку эти действия им слишком хорошо знакомы. Поэтому работа в группах обычно позволяет лучше сформулировать мысли, которые трудно выразить отдельному пользователю. Я заметил, что на высокоуровневых диаграммах прецедентов не показаны ассоциации между исполнителями и прецедентами. Почему? Высокоуровневая диаграмма прецедентов строится на ранней стадии общения с пользователями. Это некое умственное упражнение, его цель — выявление общих требований и границ, в которых будет действовать система. Ассоциации приобретают смысл, когда после нескольких бесед с клиентом разработчик глубоко разобрался в каждом требовании. Тогда модели прецедентов приобретают законченный вид. Почему важно понимать общую картину UML? Нельзя ли просто знать, когда использовать каждый тип диаграммы? Если вам понятна организация UML, вы сможете разобраться в новых задачах и распознать ситуацию, когда существующий элемент UML не выполняет требуемую функцию. В этом случае нужно сконструировать новый элемент. Вы также будете знать, как создать смешанную диаграмму (которая содержит набор разнотипных элементов UML), если это единственный способ представить модель в понятной форме. Задание 1. Для рассмотренного примера с автоматом по продаже лимонада создайте прецедент, включающий прецеденты Проникновение внутрь и Выход наружу. 2. Набросайте эскиз диаграммы прецедентов пульта дистанционного управления телевизора. Не забудьте в качестве прецедентов включить все функции пульта. 3. Прецеденты позволяют проанализировать и экономический процесс, и саму систему. Приведем в качестве примера супермаркет по продаже компьютерной техники, где представлены аппаратные средства, периферия и программные продукты. Кто в этой системе является исполнителями? Выделите основные прецеденты для этой системы. Какие сценарии существуют в рамках каждого прецедента? Постройте высокоуровневую диаграмму прецедентов, основанную на проделанной тогда работе. Затем создайте модель хотя бы для одного высокоуровневого прецедента. Постарайтесь использовать взаимосвязи «включает» и «расширяет». 4. Вспомните, как происходит покупка продуктов и других необходимых товаров в супермаркете. Разработайте модель устройства, устраняющего некоторые неудобства, связанные с этим мероприятием, и модель прецедентов для этого устройства. В наборе прецедентов при необходимости используйте отношения включения, расширения и обобщения.
|