© Н.А. Трушин, НП АТС © С.В. Тупчиенко, НП АТС |
Цель данной публикации состоит в описании подхода к формированию и структурированию требований к программному обеспечению.
Предлагаемая технология относится к этапу формирования требований к ПО и предлагает один из возможных вариантов структурирования, ввода и хранения требований. Использование предлагаемой технологии позволяет подготовить систему требований, неразрывно связанную с процессной моделью и моделью сущностей предметной области разрабатываемой системы (термин "функциональная" модель не отражает сути предлагаемого подхода).
Технология также включает в себя методику автоматической подготовки документа "Техническое задание на разработку ПО" (или "Спецификация требований к программному обеспечению").
Технология предназначена в первую очередь для использования её системными и бизнес аналитиками на этапе формирования требований.
Предлагаемая технология основана на использовании программных продуктов AllFusion Process Modeler (ранее BPwin), AllFusion ERwin Data Modeler (ранее: ERwin) и системы управления требованиями Doors (возможно, также, использование системы управления требованиями IBM Rational RequisitePro).
Традиционно структурирование требований к программному обеспечению производится в рамках отдельного документа, например в формате Word, в соответствии с одним из шаблонов ГОСТ/SRS. Современные системы управления требованиями также предоставляют возможность ведения требований в специализированных базах данных или гибридных структурах Текстовый процессор + БД.
Рассмотрим кратко характеристики предлагаемых вариантов.
Таким образом, на собственном опыте автора логичным выбором для разработки технического задания, или SRS, является ведение требований в рамках единого документа с возможностью управления требованиями как отдельными объектами.
В рассмотренных системах управления требованиями (RequisitePro & Doors) предоставляется также возможность связывания отдельных требований с объектами (классами, или прецедентами) аналитических моделей (UML), разрабатываемых на последующих этапах разработки.
По сути, возможности современных систем управления требований покрывают все потребности аналитиков, но всё же остаётся разрыв между аналитическими моделями, и собственно требованиями к ПО. Предоставляемые возможности связывания требований и объектов
Ещё один подход к формированию требований к ПО.
Стандарт IDEF0 и продукты, поддерживающие его, достаточно хорошо известны в нашей стране, так что нет смысла останавливаться на его плюсах и минусах, а также на самой применимости парадигмы к проектированию ПО.
Рассмотрим возможности ведения требований на примере одного из самых известных продуктов, поддерживающих моделирование в стандарте IDEF0, AllFusion Process Modeler (ранее BPwin).
Продукт позволяет в соответствии со стандартом создавать связные графические модели разрабатываемых систем, а в дополнение к стандарту, для каждого графического элемента имеется возможность задавать значения множества атрибутов.
Таким образом, в рамках единой структурированной модели имеется возможность совместить и графическое и текстовое (в виде определений к графическим элементам) представление требований к ПО. Но остаётся проблема получения единого документа, содержащего все требования к ПО, структурированные в соответствии с одним из шаблонов ГОСТ/SRS, так как существующий генератор отчётов AllFusion Process Modeler (Bpwin) предоставляет достаточно скудные средства форматирования. Невозможна также трассировка требований и их версионирование (использование AllFusion Model Manager (ранее ModelMart) для получения истории изменения требований представляется сложным).
В описываемой технологии предлагается использование связки нескольких систем. Далее приведены этапы предлагаемой технологии структурирования требований.
Построение процессной модели (IDEF0/DFD/IDEF3)
На первом этапе, в соответствии с принятыми ограничениями, аналитик производит формирование процессной модели системы (методология IDEF0/DFD/IDEF3) с использованием программного продукта AllFusion Process Modeler. По мере уточнения требований производится декомпозиция функций системы до необходимого уровня. Все функции системы должны быть связны, а информационные потоки, увязывающие функции должны быть строго определены.
Построение ER модели (IDEF1X)
В рамках сбора требований к ПО производится определение требований к информации, которую будет обрабатывать система. Данные требования обычно включают в себя описание видов и атрибутики обрабатываемой информации.
Технология предполагает разработку связной ER модели сущностей предметной области на этапе сбора требований. ER модель разрабатывается с использование программного продукта AllFusion Data Modeler (ERwin), при этом ERwin рассматривается как система формирования требований к информации.
Связывание процессной и ER моделей
Между процессной моделью и моделью сущностей устанавливается связь с использованием механизма связи, предоставляемого AllFusion Process Modeler (Bpwin). При установлении связи в AllFusion Process Modeler модель копируется словарь сущностей и атрибутов, включая определения и типы данных.
Для каждого информационного потока модели AllFusion Process Modeler при помощи средств AllFusion Process Modeler выбирается набор сущностей и атрибутов, включённых в соответствующий поток.
Экспорт данных в систему управления требованиями
После разработки связной функциональной модели при помощи специального модуля сопряжения производится экспорт информации, подготовленной в AllFusion Process Modeler модели, в систему управления требованиями. В настоящий момент разработан модуль сопряжения с системой Doors, однако, существующий API для RequisitePro позволяет осуществлять экспорт требований в базу данных этой системы.
Для экспорта требований используется шаблон документа Doors, включающий в себя разделы, которые соответствуют разделам технического задания (также разработан шаблон документа описания бизнес-процесса).
В систему управления требованиями экспортируется иерархия деятельностей (наименования и определения), введённая в процессной модели. Кроме того, экспортируется информация об информационных потоках, связях между функциями и других элементах существенных для описания системы (полный список экспортируемых данных показан на примере подготовки ТЗ).
Таким образом, например, уникальным функциональным требованием в системе будет являться деятельность с заданными в AllFusion Process Modeler наименованием и определением. Иерархия экспортируемых функциональных требований полностью повторяет иерархию деятельностей AllFusion Process Modeler.
Ведение нефункциональных требований
Нефункциональные требования ведутся в рамках системы Doors в отдельных разделах документа в соответствии со структурой шаблона документа.
Трассировка требований
Между любыми требованиями, как экспортированными, так и введёнными в DOORS вручную может быть установлена связь, которая остаётся неизменной при повторном экспорте.
Изменение требований
Для соотнесения требований в Doors и объектов AllFusion Process Modeler используется уникальный идентификатор объектов, присваиваемый AllFusion Process Modeler. При экспорте производится проверка неизменности передаваемой информации, в случае изменения, требование Doors модифицируется новым значением.
При изменении атрибутов требований Doors автоматически производит сохранение версий требований.
Формирование печатной версии документа
Для формирования печатной версии документа используется стандартное средство экспорта документа Doors в формат Microsoft Word. При этом производится форматирование информации на основании стилей документа Microsoft Word в соответствии с её типом (примеры типов: наименование требования, определение требования, наименование сущности, атрибут…).
Далее, кратко, описана структура разделов результирующего документа, которые автоматически заполняются при экспорте требований из AllFusion Process Modeler модели в Doors. Кроме них в документе существуют разделы, которые изначально ведутся в Doors, однако они не рассматриваются.
Краткая характеристика системы
В разделе приводится:
Выводятся:
Фактически, это краткая характеристика основных прецедентов.
Выводится перечень деятельностей первого уровня (диаграмма A0) вместе с их кратким текстовым описанием (Description);
Описание окружения
В разделе перечисляются Externals & Referents, которые являются источниками, или приёмниками информационных потоков AllFusion Process Modeler модели и помечены, как внешние системы (при помощи UDP переменной). Вместе с наименованиями внешних систем, выводится их описание.
Описание ролей
В разделе перечисляются все роли, которые были указаны в каких-либо деятельностях AllFusion Process Modeler модели. Для каждой роли приводится список деятельностей, в которых она принимает участие.
Требования к функциям
В раздел полностью переносится иерархия деятельностей, представленная в AllFusion Process Modeler модели.
Для каждой функции выводится:
Если входящие, или исходящие стрелки имеют своим источником/приёмником External или Referent, то вместе с наименованием стрелки приводится наименование источника/приёмника информации.
Все типы стрелок сгруппированы под соответствующими заголовками.
Существует возможность вывода в документ нескольких сценариев (декомпозиций) IDEF3 для одной деятельности.
Требования к информации
В раздел выводится информация по входящим, или исходящим дугам AllFusion Process Modeler модели, которые помечены (при помощи UDP переменной) для вывода в раздел требований к информации. В зависимости от типа пометки, информация по дугам относится в один из подразделов: "Информационные потоки", "Системные сообщения", "Документы/неструктурированная информация".
Для каждой дуги выводится:
Для каждой сущности выводится:
Для каждого атрибута выводится:
Недостатки подхода
Преимущества и другие характеристики
Отдельные элементы технологии разрабатывались и применялись с 2002-го года. Полностью технология была внедрена в эксплуатацию в начале текущего года и успешно используется и совершенствуется в настоящее время.
С использованием данного подхода сформулированы требования к пяти подсистемам, которые разработаны и внедрены, изменения к требованиям к данным подсистемам также проводятся с использованием описанной технологии.
Кроме того, технология позволила построить модель основных бизнес-процессов компании, документировать их и поддерживать модель и документацию в актуальном состоянии.
Подсистема контроля качества должна обеспечивать возможность проведения комплексного анализа данных, характеризующих процесс оперативного управления, проводимого дочерним предприятием.
Регламентирующая/управляющая информация
Входящая информация
Ресурсы
Исходящая информация
Загрузка данных
Данные, предоставляемые филиалом, загружаются в БД Системы контроля, проводится контроль корректности данных и их предварительная обработка.
Контроль расчётных значений за сутки
Пользователь, посредством табличных и графических форм, проводит оценку индикативных результатов работы филиала за выбранный расчетный период.
Контроль суммарных расчётных значений
Для заданного временного интервала, посредством табличных форм, пользователь проводит оценку индикативных величин, характеризующих ведение режима Системным оператором, агрегированных за период.
Система хранения данных накапливает информацию о финансовых потоках филиалов.
Отдел контроля филиалов
Оператор контролер
Отдел обмена данными с филиалами
Оператор обмена данными
Процесс загрузки данных, полученных от информационной системы филиала, должен осуществляться в соответствии с порядком, установленным Техническим заданием на Технические средства обмена данными между головным офисом и филиалами.
Регламентирующая/управляющая информация
Входящая информация
Ресурсы
Исходящая информация
Исполнители
Загрузка данных о филиалах во временные структуры данных (A1.1)
Загрузка пакета данных о филиалах должна производиться по команде оператора.
На этапе предварительной загрузки данных должна проводиться проверка корректности формата переданного информационного пакета.
В случае несоответствия формата переданного пакета, в системный журнал Системы контроля филиалов должно записываться соответствующее сообщение, кроме того, оператор, инициировавший загрузку должен информироваться об ошибочном формате.
Входящая информация
Исходящая информация
Актуализация данных о филиалах (A1.2)
При загрузке данных о файлах должна проводиться их проверка на непротиворечивость, включая:
При отрицательном результате указанных проверок, в системном журнале должны быть сохранены соответствующие сообщения, данные не подлежат загрузке.
Для обеспечения выполнения процедур контроля для любого периода времени и с учётом периодического изменения данных о филиалах при загрузке должны сохраняться "исторические" состояния данных о филиалах.
В целях унификации и с учётом существующих наработок, для хранениия истории реестра, должна быть использована методика, принятая в "Подсистеме контроля за работой предприятия".
Входящая информация
Исходящая информация
Загрузка данных о движении товара (A1.3)
В случае успешной актуализации данных о филиалах, должна быть произведена загрузка данных о движении товара.
Загрузка данных по движению товара должна проводиться с использованием новых данных о филиалах. На этапе загрузки расчётных данных должен быть проведён ряд проверок, включая проверку на наличие информации по всем филиалам из загруженных данных о филиалах и проверку на отсутствие данных по несуществующим в филиалам.
В случае обнаружения ошибок в системном журнале должны быть сохранены соответствующие сообщения.
Для каждого филиала, для каждого рабочего дня, при наличии признака собственное управление, информация о движении товара, должна преобразовываться следующим образом:
Оборот товара (шт) = Продажа товара (шт) + Приход товара на склад (шт)
Баланс на складе (шт) = Продажа товара (шт) - Приход товара на склад (шт)
При загрузке информации о движении товара должна проводиться проверка на повторно передаваемую информацию, при наличии изменений к ранее загруженной информации, новая информация должна замещать ранее загруженную, а старая информация должна сохраняться в исторических данных, с указанием даты замещения. Контролю на изменения подлежат следующие величины:
Как варианты, возможны следующие решения:
Входящая информация
Исходящая информация
Загрузка финансовых данных (A1.4)
Вне зависимости от результатов загрузки данных о движении товара, должна быть проведена загрузка финансовых данных.
При загрузке финансовых данных, должны проводиться проверки на корректность данных, включая:
В случае наличия данных, которые не проходят проверку в системный журнал подсистемы контроля филиалов должны записываться соответствующие сообщения.
Входящая информация
Исходящая информация
Для проведения контроля ежедневных объемов операций филиалов, должен быть разработан функциональный блок, позволяющий производить обработку объемов операций филиалов, включая все выды операций по движению всех видов товаров и все операции по движению денежных средств в едином формате и компактной форме.
Исходные данные и расчётные значения должны предоставляться пользователю, как в табличной, так и в графической форме.
Регламентирующая/управляющая информация
Входящая информация
Ресурсы
Исходящая информация
Исполнители
Для проведения контроля ежедневных объемов операций, должен быть разработан функциональный блок, позволяющий производить обработку суммарных расчётных данных за период (включая объемы движения всех типов товара и все виды движения денежных средств) в едином формате и компактной форме.
Расчётные значения должны предоставляться пользователю в табличной форме.
Регламентирующая/управляющая информация
Входящая информация
Ресурсы
Исходящая информация
Исполнители
Данные о филиалах
Данные о филиалах являются составляющей частью пакета данных о деятельнсти филиала и описывают основные характеристики филиала.
Филиал
Атрибуты
Пакет данных о деятельности филиала (XML-файл)
Пакет данных о деятельности филиалов поступает по электронной почте в виде прикрепленного файла в формате XML
Движение товара
Атрибуты
Объемы продаж
Атрибуты
Расчетные данные
Филиал
Атрибуты
Расчётные данные о товарах
Расчетные данные
Атрибуты
Тарифы на продукт деятельности филиала
Тариф на продукт деятельности филиала предоставляется региональным представительтвом по определению тарифов на продукты в регионе
Товар
Атрибуты
За дополнительной информацией обращайтесь в компанию Interface Ltd.
Обсудить на форуме Computer Associates
INTERFACE Ltd. |
|