Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка требований к программному продукту. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
на некотором этапе работы они становятся неинформативными. Это мо­жет выражаться в следующем:
пользователи уже не предлагают новых задач, которые они смогут
решать с помощью разрабатываемого продукта;
пользователи предлагают новые задачи, но их выполнение воз- можно с использованием уже запланированного функционала про­дукта;
предлагаемые новые пользовательские или
функциональные тре-
бования выходят за рамки проекта;
предлагаемые требования имеют низкий приоритет для реализа- ции в данном проекте или могут быть реализованы, например, в следу­ющей версии продукта;
при оценке качества требования разработчики и тестировщики практически не задают уточняющих вопросов.
19. Какие характеристики определяют качество отдельных требований?
Полнота
Полное требование
информации, когда оно понятно любому заин-
содержит достаточно
тересованному лицу. Если это функциональ­ное требование, то имеющейся информации должно быть достаточно для продолжения работ на следующем этапе разработки проекта.
Корректное требование описывает опре-
Корректность
деленную потребность заинтересованного
лица проекта и функцию продукта, которую нужно разработать для удовлетворения этой потребности. Оно также имеет описание первоисточника требования (пользователя, высоко­уровневое системное требование, вариант использования, бизнес-пра­вило или другой документ).
Осуществимое требование может быть
Осуществимость
реализовано с использованием определен-
ных программных инструментов и ресурс­ного обеспечения проекта. Построение прототипов позволяет проверять осуществимость требований. Если требование решено удалить из-за его неосуществимости, то следует учесть его
влияние на концепцию и гра-
ницы проекта.
21
Необходимое требование может пре-
Необходимость
доставить заинтересованным лицам воз-
можность решать задачу в конкретной предметной области, выделить продукт на рынке или позволить выпол­нить требования внешних стандартов. Источник каждого требования имеет право предлагать требования. Важно отследить каждое требова­ние до бизнес-целей. Это самый неоспоримый источник требований.
Двусмысленность требований можно
Недвусмысленность
обнаружить
в процессе оценки качества
требований заинтересованными лицами. Они могут сравнить свое понимание требований с пониманием других людей и при необходимости уточнить формулировки двусмыслен­ных требований. Полностью устранить двусмысленность из требова­ний в условиях ограниченных ресурсов проекта невозможно. В таких случаях может выручить способность специалистов правильно пони­мать некорректные требования. На это
лучше не рассчитывать, но са­мые досадные и значимые двусмысленности таким способом удастся устранить.
Проверяемое требование имеет тесты
Проверяемость
для проверки правильности его реализа-
ции. Если соответствующих тестов нет, то правильность реализации требования может быть только оценена экс­пертами, но не объективно подтверждена результатами тестирования.
Неполные, невыполнимые или двусмысленные требования также не поддаются качественной проверке. Важно привлекать тестиров­щиков к оценке качества требований на их пригодность для проверки уже на этапе разработки требований, что в будущем сохранит ре­сурсы проекта.
Если считать все требования одинаково
Назначение приоритетов
важными для реализации, то внесение новых требований или корректировка имеющихся может привести к существенному наруше­нию сроков
завершения проекта.
Приоритеты требований из предметной области целесообразно определять на основании их важности для получения требуемой пользы. Исходя из этого, для конкретного выпуска продукта можно назначить приоритеты каждому функциональному или пользовательскому требо­ванию, варианту использования или функции.
22
Для приоритизации требований следует привлекать заинтересо­ванных лиц проекта – это позволит учесть их интересы в получении продукта.
20. Какие дополнительные способы представления информации кроме текста можно использовать в проекте?
Сложность понимания, оценки качества и корректировки списка требований, оформленного в виде текста, заставляет привлекать различ­ные модели анализа информации, используемой для формулирования требований к продукту.
В процессе общения с заинтересованными лицами аналитику нужно выделить ключевые слова, которые задают конкретные элементы вы­бранных моделей анализа данных. В табл. 2 показано возможное соот­ветствие ключевых слов, выделенных аналитиком у пользователей, компонентам моделей, которые частично рассматриваются в настоящем учебном пособии.
Таблица 2
Соответствие между ключевыми словами
и компонентами моделей анализа [1, с. 263]
Тип Примеры Компоненты модели анализа
Существи­тельное
Глагол Действия, задачи,
Условие Если…, то… Решения (деревья решений, таблицы решений
Люди, организации, ПО, данные, объ­екты
которые пользова­тель может выпол­нить; события, кото­рые могут про­изойти
Внешние сущности, хранилища данных, потоки данных (диаграммы потоков данных). Действующие лица (диаграммы вариантов исполь­зования). Сущности или их атрибуты (диаграммы «Сущ­ность – связь»). Дорожки (диаграммы swimlane). Объекты с состояниями (STD)
Процессы (диаграммы потоков данных). Шаги процессов (диаграммы swimlane). Варианты использования (диаграммы вариантов
использования). Взаимосвязи (диаграммы «Сущность – связь»). Переходы (диаграммы переходов состояний). Действия (диаграммы действий). События (таблица событий и реакций)
или диаграммы действий). Ветвление (диаграмма swimlane или диаграмма действий)
23
В процессе проектирования нужно будет определять связи каждого компонента той или иной модели с конкретными пользовательскими требованиями.
В табл. 2 перечислены разнообразные компоненты модели анализа данных, сами модели указаны в скобках. Для каждого проекта нужно решить, какой набор моделей использовать с целью упорядочения ин­формации об объекте, для которого разрабатывается продукт
. На при­нятое решение будут влиять сложность процессов работы объекта, наличие версии продукта, уровень подготовки заинтересованных лиц и опыт команды разработчиков.
В настоящем учебном пособии все модели анализа данных подго­товлены для системы закупок химических веществ, описанной в [1] и приложении 3. Примеры рассматриваемых моделей анализа в учеб­ном пособии размещены в
приложениях 4–8 (ссылки даются из описа-
ния модели анализа данных того или иного типа).
При разработке моделей анализа данных нужно моделировать слож­ные в организации и опасные по последствиям возможных событий участки или процессы объекта. В таких случаях цена неправильно по­нятых сведений, использованных для формулирования требований, резко возрастает, поскольку увеличивается риск
ошибок при проекти-
ровании.
В табл. 3 частично приведены способы представления различных компонентов исследуемой системы.
Таблица 3
Способы представления различных компонентов
исследуемой системы [1, с. 265]
Отображаемая
информация
Процессы Общее представление о преобразовании потоков данных
в исследуемой системе дает диаграмма потоков данных. Диаграмма swimline определяет лица и устройства, которые выполняют действия в процессах.
Детальное описание процессов преобразования данных можно выполнить, используя диаграммы потоков данных и диаграммы swimline на более низких уровнях описания.
Для описания деталей процессов также можно использовать диаграммы потоков и диаграммы действий
Способы представления
24
Окончание табл. 3
Отображаемая
информация
Данные и связи объек­тов данных
Состояния системы и объектов
Сложная логика
Пользователь­ские интер­фейсы
Способы представления
Диаграмма сущностьсвязь показывает логические отно­шения между объектами данных (сущностями). Диаграмма классов показывает логические связи между классами объек­тов и связанными с ними данными
Диаграммы переходов состояния и таблицы состояния дают представление высокого уровня общности возможных состояний системы и переходов между состояниями, кото­рые происходят при определенных условиях. Этот тип моде­лей полезен, если в исследуемой системе определяют значи­тельное число состояний.
Можно создать таблицу событий и реакций для определе­ния
границ продукта. В этой таблице можно привести от­дельные функциональные требования, определяя внешние обстоятельства и состояния системы, а также реакцию си­стемы на них. Функциональные требования описывают, как действия си­стемы и пользователя изменяют состояние системы
Дерево решений показывает результаты связанных условий и решений. Таблица решений определяет уникальные функ­циональные требования, связанные с различными комбина­циями результатов TRUE и FALSE для наборов решений или условий
Карта диалоговых окон предоставляет высокоуровневое представление предлагаемого или фактического пользова­тельского интерфейса, показывая разные элементы отобра­жения и пути навигации между ними.
Макеты экрана и прототипы показывают, как должны вы- глядеть элементы интерфейса
21. Какую модель анализа можно использовать
для анализа потоков данных в исследуемом объекте?
Для анализа потоков данных в исследуемой системе используют, как правило, диаграммы потоков данных. Это основной инструмент структурного анализа. Диаграмма потоков данных определяет про­цессы преобразования данных и материалов в системе, хранилища
25
данных или материалов, которыми система управляет, а также потоки данных или материалов между процессами, хранилищами и внешним миром.
В сложных случаях для системного анализа процессов преобразова­ния данных и материалов в системе используют метод декомпозиции. При этом возникает иерархическая совокупность диаграмм потоков данных. Такой подход хорошо описывает потоки данных в
системах
с большой функциональностью.
Дополнительно к моделям потоков данных строят диаграммы swimlane. Они показывают весь процесс преобразования потока данных или материалов, включая информацию о лицах или устройствах, выпол­няющих преобразования. Следует отметить, что модели потоков дан­ных четко демонстрируют совместную переработку нескольких пото­ков данных и последствия этого процесса. Это средство
часто использу­ется при интервьюировании клиентов, потому что очень просто набро­сать диаграмму потоков данных на доске при обсуждении того, как ра­ботает бизнес пользователя.
Диаграммы потоков данных рекоменду-
Когда использовать?
ется использовать в следующих случаях:
для обнаружения пропущенных требо-
ваний к данным;
определения функциональных требований, поскольку диаграммы
потоков данных описывают
, как пользователь выполняет свои задачи.
Дополнительно в диаграммах «сущность – связь» и в словаре дан­ных полезно представить данные, поступающие в систему от внешних сущностей.
Диаграммы потоков данных помогают участникам проекта лучше понять друг друга, поэтому команды могут при необходимости разраба­тывать дополнительные правила построения этого типа моделей ана­лиза данных.
Процессы принято обозначать круж-
Правила построения модели потоков данных
ком, хранилища данных – прямоугольни­ком, потоки данных – стрелками.
Разрешены переходы потоков дан-
ных от одного процесса к другому только через хранилище данных или от одного хранилища данных к другому только через процесс.
26
Диаграммы потоков данных не предназначены для описания эта-
пов процесса.
Рекомендуется для имен процессов использовать шаблон «дей- ствие (глагол) + объект» (например, «Создать список покупок»). Нужно использовать термины, которые заинтересованные лица используют в своих предметных областях. Подобные термины и их синонимы указы­вают в словаре проекта.
Рекомендуется в
именах процессов использовать шаблон: [номер уровня детализации] + [порядковый номер на своем уровне детализа­ции]. Процессам нужно присваивать уникальные номера согласно иерархии.
На одном уровне диаграммы потоков данных продуктивно разме- стить 8–10 процессов. Диаграммы с большим количеством процессов трудно анализировать. Это правило можно реализовать, используя ме­тод декомпозиции для процессов.
Следует особо тщательно анализировать процессы, которые имеют или только входящие, или только исходящие потоки данных, чтобы исключить возможные неточности в описании процесса преобра­зования данных в системе.
При анализе диаграммы потока данных важно убедиться, что на ней отображены все известные и относящиеся к делу процессы и что у них нет
отсутствующих или ненужных входящих или исходящих потоков.
Чаще всего при анализе диаграммы потоков данных выявляются но­вые группы пользователей, процессы и связи с другими системами.
Полезным видом диаграммы потока данных
Контекстная диаграмма
является контекстная диаграмма, которая пред­ставляет всю исследуемую систему как единое целое (один процесс) в виде кружка. Это самый
высокий уровень
обобщения описания исследуемой системы в моделях
анализа.
Контекстная диаграмма показывает информационные и материаль­ные связи системы с внешними объектами. Информационные потоки на контекстной диаграмме часто представляют сложные структуры дан­ных, определенные в словаре данных.
В приложении 4 приведен пример диаграммы потоков данных для системы из приложения 3.
27
22. Какая модель анализа может пошагово представить
описание процессов исследуемой системы, а также участвующих
в них лиц или устройств?
Для этой цели используют диаграммы swimlane, которые отличает простота понимания и соответственно частое использование для описа­ния процессов и взаимодействия между пользователем и системой.
Для пошагового описания процессов в диаграммах используют сле­дующие
обозначения:
прямоугольники представляют шаги процесса;
стрелки показывают переходы между шагами процесса;
ромбы с несколькими исходящими ветками и надписями иллю-
стрируют условия и принимаемые решения;
горизонтальные или вертикальные линии выделяют дорожки (swimlane), которые задают роли, подразделения или системы, выпол­няющие непосредственно действия на данном шаге процесса.
Использование диаграммы
swimlane
Диаграммы этого в семинарах с заинтересованными лицами для выявления детальных требований на каждом шаге анализируемого процесса,
типа используют
а также для описания процессов, выделен-
ных в диаграмме потоков данных кружками.
Диаграммы swimlane иногда называют межфункциональными диа­граммами. Они похожи на UML-диаграммы действий и помогают свя­зать вместе функциональные требования, которые позволяют пользова­телям
выполнять определенные задачи.
В приложении 5 приведен пример частичной диаграммы swimlane для системы заказов химикатов (описание системы см. в приложении 3).
23. Как полно без пропусков представить разрешенные
и запрещенные изменения состояний исследуемой системы?
Понимание поведения системы существенно облегчается, если в спецификации представлено полное описание возможных состоя­ний системы и переходов между ними. Обеспечить
такой вариант описания на естественном языке сложно. Чаще получается фрагмен­тарное описание с пропусками некоторых состояний.
28
Диаграмма переходов состояний (swimlane) позволяет получить полное и недвусмысленное представление о состояниях объекта или си­стемы и возможных переходах между ними.
В унифицированном языке моделирования UML, который модели­рует состояния объекта в течение его жизненного цикла, есть полезный инструмент – диаграмма состояний. На диаграмме используются следу­ющие обозначения:
1) прямоугольники показывают возможные состояния
системы;
2) стрелки между состояниями (прямоугольниками) задают разре-
шенные переходы;
3) каждая стрелка имеет текстовое пояснение, указывающее на со-
бытия или условия, вызывающие соответствующий переход;
4) диаграмма переходов состояний может иметь несколько конеч-
ных состояний. У конечных состояний есть входящие стрелки перехо­дов, но нет исходящих.
Заинтересованные лица могут понимать диаграммы переходов
со-
стояний и работать с ними после небольшого инструктажа.
Диаграммы переходов состояний помогают найти пропущенные, лишние или неверные состояния и переходы и скорректировать требо­вания. Это сложнее сделать, оценивая функциональные требования.
Модели анализа предоставляют менее детализированную информа­цию, но нередко такой вариант представления информации обеспечи­вает обнаружение проблем в описании
исследуемой системы, что отра­жается на качестве требований. Различные модели анализа описывают исследуемую систему на разных уровнях детализации, дополняя друг друга.
Все возможные переходы между состояниями можно определить
с помощью таблиц состояний в виде матрицы.
Все состояния записывают в первом
Правила построе­ния таблицы состояний
столбце и повторяют в первой строке. Со­держимое ячейки на пересечении
столбца и строки указывает на возможность пере­хода из состояния, заданного в левом
столбце, в состояние, заданное в верхней строке матрицы, а также ука­зывает событие перехода между состояниями.
Диаграмма переходов состояний дает возможность тестировщи­кам разработать тесты на ранних стадиях проектирования продукта, что способствует успеху проекта в целом. Эта
модель анализа дает
29
возможность проверить в функциональных требованиях полноту и правильность представления всех возможных состояний системы и переходов между ними.
В приложении 6 приведены примеры частичной диаграммы перехо­дов состояний и таблицы состояний для системы заказов химикатов (описание системы см. в приложении 3).
24. Как можно в графической форме представить дизайн пользовательского интерфейса?
Дизайн пользовательского
интерфейса на высоком уровне абстрак­ции представляет карта диалоговых окон. Высокий уровень абстракции нужен на ранних стадиях разработки продукта для получения целост­ного представления о дизайне.
Карта диалоговых окон включает в себя элементы диалоговых окон в системе и навигационные связи между ними без подробного дизайна экранов.
Важно!
Полезным является подход, когда пользователь
ский интерфейс рассматривается как набор изменений
-
состояний. В данный момент активным может быть только один элемент окна, например, меню, рабочая область, диалоговое окно или командная строка. У пользователя есть возможность начать ра­боту с любым определенным в окне элементом. Важно, что все возмож­ные пути навигации можно определить, несмотря на
их большое количе-
ство и сложность в некоторых случаях.
Для того чтобы выработать общее пред-
Правила исполь­зования карт диалоговых окон
ставление разработчиков и пользователей о взаимодействии пользователя с продуктом для выполнения его задач, им нужно изучать
карты диалоговых окон. Для моделирования визуальной архитектуры веб-сайта тоже используют этот тип моделей анализа. Ссылки для перемещений по веб
-сайту представляют как пере­ходы. При этом возможности перемещения с помощью поля ввода URL­адреса или кнопок «Вперед» и «Назад» не показывают.
Для выявления отсутствующих, неправильных или ненужных тре­бований пользователям нужно определить отсутствующие, неправиль­ные или ненужные переходы на картах диалоговых окон. Такая карта, проанализированная и отредактированная вместе с требованиями,
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]