За уже несколько десятков лет существования индустрии информационных технологий создана значительная теоретическая база. Множеством ассоциаций и организаций разработаны своды знаний и методологии в различных областях.
Вот некоторые из них:
Эти документы не сложно найти на просторах интернета, однако, чтобы изучить их потребуется значительное количество времени. Сотни страниц сухого текста: определения, классификации, зачастую, отсутствует русский перевод — все это препятствует усвоению ценного материала, изложенного в источниках. Для систематизации и использования в работе такого объема информации требуется представление знаний в более удобном для восприятия и сжатом виде.
На текущий момент существует множество способов представления знаний: семантические сети, фреймы, языки и нотации и др. (Википедия).
Один из этих способов можно было бы использовать для конспектирования изученного материала в виде модели знаний с целью:
Cводы знаний и методологии инженерии требований и системного анализа описывают процессы, техники и подходы, применяемые в проектировании и создании информационных систем.
А раз это процессы, то классический подход к такой модели - ответить на основные вопросы:
Кроме того, между концептами системы важно отразить связи:
Для практической реализации модели потребуется простой и удобный в использовании инструмент, который смог бы визуально (в графической форме) представить выявленные концепции, определения и связи.
Далее описана попытка представить методологию инженерии требований сообщества IREB в виде модели знаний в нотации ArchiMate.
Нотация ArchiMate предназначена для описания архитектуры информационных систем, имеет собственное бесплатное кросс-платформенное программное обеспечение и описывает широкий спектр аспектов информационных систем на различных слоях (уровнях абстракции) системы: стратегия, бизнес, приложения, технологии, производство, реализация и переходы, мотивация. Позволяет описать пассивную и активную структуру системы, ее поведение, различные типы связей между элементами.
Некоторые примеры описания модели знаний элементами нотации Archimate:
Цель описания: ответить на вопрос «Как?» - описать последовательность и структуру выполняемых в процессе активностей, а так же применяемые техники.
С помощью элемента слоя реализации «Пакет работ» (Work Package) можно отразить активности и техники используемые в процессах.
Связь «Композиция» (Composition) отражает то, что одна активность является частью более крупной группы активностей. Связь «Триггер» (Triggering) позволяет отобразить последовательность выполнения активностей.
Например, процесс организации работы с требованиями включает в себя активность по управлению жизненным циклом, которая состоит из последовательности этапов: Определение моделей жизненного цикла → Контроль переходов и т.д.
Элемент «Ценность» (Value) позволяет указать ценность или преимущества использования активности в общем процессе и ответить на вопрос модели «Зачем?».
Цель описания: ответить на вопрос «Что?» - описать основные ключевые результаты активностей и процессов, информационные потоки.
Результаты активностей описываются элементом «Поставляемые результаты» (Deliverable).
С помощью связи «Реализация» (Realization) отражается - какая активность создает поставляемые результаты. Связь «Доступ» (Access) позволяет показать чтение или запись информации из/в поставляемые результаты. Связь «Поток» отражает факт передачи информации (без конкретизации сущностей) между активностями или событиям.
Например, результатом активности по выявлению заинтересованных сторон являются списки заинтересованных сторон, которые поступают на вход активности по выявлению требований. Кроме того, активность по выявлению требований использует информацию о потребности к изменениям.
Цель описания: отразить основные принципы, свойства, ограничения и аспекты активностей, а так же определения, связанные с ними.
Используя элементы слоя мотивации ArchiMate можно описать ключевые свойства, аспекты, определения и ограничения, связанные с активностями и поставляемыми результатами системы.
С помощью элемента «Требование» (Requirement) описываются свойства или аспекты, связанные с активностью или поставляемыми результатами процесса. Элемент «Принцип» (Principle) позволяет описать ключевые принципы, связанные с активностью. Элемент «Понятие» (Meaning) можно использовать для описания ключевых понятий и определений.
С помощью связи «Ассоциация» (Association) описанные артефакты связываются с активностями и поставляемыми результатами.
Например, процесс инженерии требований имеет «Ключевые аспекты процесса RE» (декомпозируются в отдельном представлении) и основывается на девяти ключевых принципах. «Принцип 4. Контекст» связан с концептом «Контекст» (само определение дано в описании элемента).
Факторы, каким то образом ограничивающие пространство свойств или оказывающие влияние на свойство отражаются элементом «Ограничение» (Constraint), а само влияние отражается связью «Влияние» (Influence).
Цель описания: ответить на вопрос «Кто?» - описать наборы компетенций и основных действующих лиц, участвующих в процессах.
Элемент «Роль» (Business Role) позволяет отразить набор компетенций или зону ответственности, связанных с активностью. Элемент «Актор» (Business Actor) представляет бизнес-сущность, выполняющую активность. Это может быть как конкретное лицо, так и структурные единицы, например, подразделения.
С помощью связи «Назначение» (Assignment) устанавливается связь между соответствующим активным элементом и активностью, им выполняемой.
Например, «Заинтересованные стороны» формируют «Потребность в изменениях», запускающую процесс инженерии требований, который выполняет роль «Инженер по требованиям», обладающая некоторым набором компетенций (указаны в описании).
С помощью связи «Агрегация» (Aggregation) однотипные элементы могут быть объединены в группы, организованные в сложные иерархии. На схеме элементы могут отражаться как отдельные элементы, связанные между собой, так и располагаться в границах родительского элемента. Например, в группу ключевых аспектов процесса инженерии требований входит аспект «Требование и время», который, в свою очередь, включает аспект «Спецификация, ориентированная на риск».
С использованием связи «Композиция» (Composition) отображаются случаи, когда один элемент является неотъемлемой частью другого (не может существовать без него). Например, активность по обучению пользователей является частью процесса выбора CASE-инструмента.
Отразить связь между абстрактным концептом и его конкретными реализациям позволяет связь «Специализация» (Specialization). Например, к концепту «Модель» относятся модели системного контекста, которые в свою очередь могут быть реализованы как DFD-диаграммы или UML-варианты использования.
К каждому элементу может быть составлено описание или дано текстовое уточнение.
В состав ArchiMate входит инструмент для просмотра всех связей выбранного элемента. Глубина связей может настраиваться.
В состав Archi входит плагин, который позволяет выгрузить модель в html-формат для размещения на сайте с минимальными доработками. В формате реализована навигация по модели: переходы от представления к представлению по щелчку на ссылку представления, отображение описания по выбранным элементам.
Методология инженерии требований сообщества IREB описана моделью представления знаний в формате ArchiMate. Результат здесь:
Что удалось:
Какие остались вопросы: