IEEE 1016-2009
IEEE STD 1016-2009 - IEEE Standard for Information Technology--Systems Design--Software Design Descriptions
Стандарт предлагает документировать весь этап проектирования с помощью проектных описаний программного обеспечения (SDD - software design description).
Проектные описания
Оглавление SDD имеет следующий вид:
- Аннотация
- Дата создания и статус
- Выпускающая организация
- Авторство
- Перечень изменений
- Введение
- Цель
- Область действия
- Контекст
- Выводы
- Ссылки
- Словарь
- Основная часть
- Заинтересованные лица и проектные понятия
- Проектная точка зрения 1
- Проектное представление 1
- …
- Проектная точка зрения N
- Проектное представление N
- Обоснование проектирования.
Проектные представления
Cтандарт задает, что SDD должно быть организовано в виде нескольких проектных представлений (Design Views). Каждое представление отражает конкретный набор понятий заинтересованных лиц (Design Stakeholders).
Точки зрения
Каждое проектное представление описывается с некоторой точки зрения на проектирование (Design Viewpoints). Точка зрения определяет набор проектных понятий, отражаемых в представлении, а также используемый язык проектирования (Design Language).
Стандарт определяет следующие точки зрения:
- Контекстная точка зрения. Отражает услуги, оказываемые пользователям и другим заинтересованным лицам, взаимодействующим с системой. Система рассматривается как черный ящик.
- Композитная точка зрения. Описывает систему как структуру, состоящую из нескольких частей, и определяет роль каждой части.
- Логическая точка зрения. Выявляет существующие и проектируемые типы, а также их реализацию (классы и интерфейсы, их структурные статические отношения). Могут использоваться экземпляры типов.
- Точка зрения зависимостей. Определяются отношения взаимодействия и доступа отдельных сущностей. Эти отношения описывают разделяемую информацию, порядок выполнения, параметры интерфейсов.
- Информационная точка зрения. Точка зрения применима, если ожидается присутствие персистентных (устойчивых) данных.
- Точка зрения с использованием паттернов. Рассматривается сотрудничество паттернов, их абстрактные роли и соединения.
- Интерфейсная точка зрения. Обеспечивает проектировщиков, программистов и тестировщиков информацией о правильном использовании сервисов системы. Здесь описываются детали внешних и внутренних интерфейсов, не заданные в спецификации требований. Предлагается набор интерфейсных описаний для каждой сущности.
- Структурная точка зрения. Используется для документирования внутренних составляющих частей и организации системы в терминах элементов.
- Точка зрения взаимодействий. Определяет стратегии для взаимодействия сущностей, выделяя почему, где, как и зачем происходят действия.
- Точка зрения динамики состояний. Применима к событийно-управляемым системам.
- Алгоритмическая точка зрения. Детальное описание операций (методов, функций), внутренние детали и логика каждой сущности.
- Ресурсная точка зрения. Моделируются характеристики и использование ресурсов системы.