Модель знаний о требованиях (IREB)

Зачем нужна модель знаний

За уже несколько десятков лет существования индустрии информационных технологий создана значительная теоретическая база. Множеством ассоциаций и организаций разработаны своды знаний и методологии в различных областях.

Вот некоторые из них:

  • BABOK (A Guide to the Business Analysis Body of Knowledge) - руководство к своду знаний по бизнес-анализу от Международного института IIBA (International Institute of Business Analysis)
  • SWEBOK (Software Engineering Body of Knowledge) - международный стандарт ISO/IEC TR 19759 от 2015 г., в котором описана общепринятая сумма знаний о программной инженерии
  • SEBOK (Systems Engineering Body of Knowledge) - свод знаний в области системной инженерии, разработанный организацией BKCASE, которая контролируется Управляющим советом, состоящим из трех ассоциаций (т.е. Международного совета по системной инженерии, Центра исследований системной инженерии и Компьютерного общества IEEE)
  • BPM CBOK (Guide to the Business Process Management Body of Knowledge) - свод знаний по управлению бизнес-процессами Ассоциации профессионалов управления бизнес-процессами (ABPMP)
  • PMBOK (Project Management Body Of Knowledge) - свод профессиональных знаний по управлению проектами института управления проектами PMI
  • сертификация IREB CPRE (certification in Requirements Engineering) Foundation Level - методология инженерии требований сообщества IREB

Эти документы не сложно найти на просторах интернета, однако, чтобы изучить их потребуется значительное количество времени. Сотни страниц сухого текста: определения, классификации, зачастую, отсутствует русский перевод — все это препятствует усвоению ценного материала, изложенного в источниках. Для систематизации и использования в работе такого объема информации требуется представление знаний в более удобном для восприятия и сжатом виде.

На текущий момент существует множество способов представления знаний: семантические сети, фреймы, языки и нотации и др. (Википедия).

Один из этих способов можно было бы использовать для конспектирования изученного материала в виде модели знаний с целью:

  • извлечь существенные понятия о концепциях, описанных в своде знаний
  • получить структурированное системное представление о связях между концепциями
  • обеспечить быстрый доступ к изученной информации, чтобы в дальнейшем быстро и удобно использовать ее в работе.

Что должна включать модель знаний

Cводы знаний и методологии инженерии требований и системного анализа описывают процессы, техники и подходы, применяемые в проектировании и создании информационных систем.

А раз это процессы, то классический подход к такой модели - ответить на основные вопросы:

  • кто? - какие действующие лица с какими наборами компетенций выполняют активности в процессах
  • как? - какие активности, техники и события включают в себя процессы, в какой последовательности выполняются; кроме описания самих активностей важно отразить:
    • ключевые принципы, на которых базируются активности
    • ключевые свойства и аспекты активностей
    • основные ограничения
    • определения и факты, связанные с процессами
  • что? - какие поставляемые результаты и прочие сущности являются результатом активностей или поступают на вход активностей
  • зачем? - какую ценность вносят активности и процессы в общий процесс инженерии требований и системного анализа.

Кроме того, между концептами системы важно отразить связи:

  • структурные - отношение к группе, связь части и общего
  • зависимости - влияние концептов друг на друга или операции, связывающие концепты друг с другом
  • динамические - обозначить последовательность выполнения, направление потока информации
  • обобщение и специализация - связь между абстрактным и конкретным представлением одного концепта, отразить наследование.

Archimate для представления знаний

Для практической реализации модели потребуется простой и удобный в использовании инструмент, который смог бы визуально (в графической форме) представить выявленные концепции, определения и связи.

Далее описана попытка представить методологию инженерии требований сообщества IREB в виде модели знаний в нотации ArchiMate.

Нотация ArchiMate предназначена для описания архитектуры информационных систем, имеет собственное бесплатное кросс-платформенное программное обеспечение и описывает широкий спектр аспектов информационных систем на различных слоях (уровнях абстракции) системы: стратегия, бизнес, приложения, технологии, производство, реализация и переходы, мотивация. Позволяет описать пассивную и активную структуру системы, ее поведение, различные типы связей между элементами.

Некоторые примеры описания модели знаний элементами нотации Archimate:

  1. Активности, группы активностей и связи между ними

    Цель описания: ответить на вопрос «Как?» - описать последовательность и структуру выполняемых в процессе активностей, а так же применяемые техники.

    С помощью элемента слоя реализации «Пакет работ» (Work Package) можно отразить активности и техники используемые в процессах.

    Связь «Композиция» (Composition) отражает то, что одна активность является частью более крупной группы активностей. Связь «Триггер» (Triggering) позволяет отобразить последовательность выполнения активностей.

    Например, процесс организации работы с требованиями включает в себя активность по управлению жизненным циклом, которая состоит из последовательности этапов: Определение моделей жизненного цикла → Контроль переходов и т.д.

    Активности, группы активностей и связи между ними

    Элемент «Ценность» (Value) позволяет указать ценность или преимущества использования активности в общем процессе и ответить на вопрос модели «Зачем?».

  2. Результаты активностей

    Цель описания: ответить на вопрос «Что?» - описать основные ключевые результаты активностей и процессов, информационные потоки.

    Результаты активностей описываются элементом «Поставляемые результаты» (Deliverable).

    С помощью связи «Реализация» (Realization) отражается - какая активность создает поставляемые результаты. Связь «Доступ» (Access) позволяет показать чтение или запись информации из/в поставляемые результаты. Связь «Поток» отражает факт передачи информации (без конкретизации сущностей) между активностями или событиям.

    Например, результатом активности по выявлению заинтересованных сторон являются списки заинтересованных сторон, которые поступают на вход активности по выявлению требований. Кроме того, активность по выявлению требований использует информацию о потребности к изменениям.

    Результаты активностей

  3. Свойства активностей

    Цель описания: отразить основные принципы, свойства, ограничения и аспекты активностей, а так же определения, связанные с ними.

    Используя элементы слоя мотивации ArchiMate можно описать ключевые свойства, аспекты, определения и ограничения, связанные с активностями и поставляемыми результатами системы.

    С помощью элемента «Требование» (Requirement) описываются свойства или аспекты, связанные с активностью или поставляемыми результатами процесса. Элемент «Принцип» (Principle) позволяет описать ключевые принципы, связанные с активностью. Элемент «Понятие» (Meaning) можно использовать для описания ключевых понятий и определений.

    С помощью связи «Ассоциация» (Association) описанные артефакты связываются с активностями и поставляемыми результатами.

    Например, процесс инженерии требований имеет «Ключевые аспекты процесса RE» (декомпозируются в отдельном представлении) и основывается на девяти ключевых принципах. «Принцип 4. Контекст» связан с концептом «Контекст» (само определение дано в описании элемента).

    Свойства активностей

    Факторы, каким то образом ограничивающие пространство свойств или оказывающие влияние на свойство отражаются элементом «Ограничение» (Constraint), а само влияние отражается связью «Влияние» (Influence).

    Влияние факторов на свойства артефактов

  4. Взаимосвязи между активностями и выполняющими их сущностями: роль или актор являются ответственными или выполняют некоторые активности

    Цель описания: ответить на вопрос «Кто?» - описать наборы компетенций и основных действующих лиц, участвующих в процессах.

    Элемент «Роль» (Business Role) позволяет отразить набор компетенций или зону ответственности, связанных с активностью. Элемент «Актор» (Business Actor) представляет бизнес-сущность, выполняющую активность. Это может быть как конкретное лицо, так и структурные единицы, например, подразделения.

    С помощью связи «Назначение» (Assignment) устанавливается связь между соответствующим активным элементом и активностью, им выполняемой.

    Например, «Заинтересованные стороны» формируют «Потребность в изменениях», запускающую процесс инженерии требований, который выполняет роль «Инженер по требованиям», обладающая некоторым набором компетенций (указаны в описании).

    Активные элементы схемы

  5. Структурные связи между сущностями. Обобщение и специализация

    С помощью связи «Агрегация» (Aggregation) однотипные элементы могут быть объединены в группы, организованные в сложные иерархии. На схеме элементы могут отражаться как отдельные элементы, связанные между собой, так и располагаться в границах родительского элемента. Например, в группу ключевых аспектов процесса инженерии требований входит аспект «Требование и время», который, в свою очередь, включает аспект «Спецификация, ориентированная на риск».

    Группы элементов

    С использованием связи «Композиция» (Composition) отображаются случаи, когда один элемент является неотъемлемой частью другого (не может существовать без него). Например, активность по обучению пользователей является частью процесса выбора CASE-инструмента.

    Композиция элементов

    Отразить связь между абстрактным концептом и его конкретными реализациям позволяет связь «Специализация» (Specialization). Например, к концепту «Модель» относятся модели системного контекста, которые в свою очередь могут быть реализованы как DFD-диаграммы или UML-варианты использования.

    Обобщение и специализация

  6. Что еще может Archi

    К каждому элементу может быть составлено описание или дано текстовое уточнение.

    Описания элементов

    В состав ArchiMate входит инструмент для просмотра всех связей выбранного элемента. Глубина связей может настраиваться.

    Навигатор связей

    В состав Archi входит плагин, который позволяет выгрузить модель в html-формат для размещения на сайте с минимальными доработками. В формате реализована навигация по модели: переходы от представления к представлению по щелчку на ссылку представления, отображение описания по выбранным элементам.

    Преставление в HTML

Заключение

Методология инженерии требований сообщества IREB описана моделью представления знаний в формате ArchiMate. Результат здесь:

Что удалось:

  • в графической форме представить знания об инженерии требований
  • выделить основные концепции, связи между ними и зафиксировать описание ключевых определений
  • реализовать простой и удобный доступ к модели в интернете.

Какие остались вопросы:

  • для описания активностей и поставляемых результатов использованы элементы реализации, что ограничивает применение типов связей между элементами схемы; возможно было бы лучше использовать элементы для описания бизнес-процессов
  • область применения модели - достаточность для описания других областей знаний системного анализа
  • возможность описания в одной модели нескольких сводов и методологий; например, в описанной методологии не выделен отдельно процесс анализа требований, что ограничивает возможность совместить эту модель с областью знаний о системном анализе в целом.