IEEE 1016-2009

IEEE STD 1016-2009 - IEEE Standard for Information Technology--Systems Design--Software Design Descriptions

Стандарт предлагает документировать весь этап проектирования с помощью проектных описаний программного обеспечения (SDD - software design description).

Проектные описания

Оглавление SDD имеет следующий вид:

  1. Аннотация
    • Дата создания и статус
    • Выпускающая организация
    • Авторство
    • Перечень изменений
  2. Введение
    • Цель
    • Область действия
    • Контекст
    • Выводы
  3. Ссылки
  4. Словарь
  5. Основная часть
    • Заинтересованные лица и проектные понятия
    • Проектная точка зрения 1
    • Проектное представление 1
    • Проектная точка зрения N
    • Проектное представление N
    • Обоснование проектирования.

Проектные представления

Cтандарт задает, что SDD должно быть организовано в виде нескольких проектных представлений (Design Views). Каждое представление отражает конкретный набор понятий заинтересованных лиц (Design Stakeholders).

Точки зрения

Каждое проектное представление описывается с некоторой точки зрения на проектирование (Design Viewpoints). Точка зрения определяет набор проектных понятий, отражаемых в представлении, а также используемый язык проектирования (Design Language).

Стандарт определяет следующие точки зрения:

  • Контекстная точка зрения. Отражает услуги, оказываемые пользователям и другим заинтересованным лицам, взаимодействующим с системой. Система рассматривается как черный ящик.
  • Композитная точка зрения. Описывает систему как структуру, состоящую из нескольких частей, и определяет роль каждой части.
  • Логическая точка зрения. Выявляет существующие и проектируемые типы, а также их реализацию (классы и интерфейсы, их структурные статические отношения). Могут использоваться экземпляры типов.
  • Точка зрения зависимостей. Определяются отношения взаимодействия и доступа отдельных сущностей. Эти отношения описывают разделяемую информацию, порядок выполнения, параметры интерфейсов.
  • Информационная точка зрения. Точка зрения применима, если ожидается присутствие персистентных (устойчивых) данных.
  • Точка зрения с использованием паттернов. Рассматривается сотрудничество паттернов, их абстрактные роли и соединения.
  • Интерфейсная точка зрения. Обеспечивает проектировщиков, программистов и тестировщиков информацией о правильном использовании сервисов системы. Здесь описываются детали внешних и внутренних интерфейсов, не заданные в спецификации требований. Предлагается набор интерфейсных описаний для каждой сущности.
  • Структурная точка зрения. Используется для документирования внутренних составляющих частей и организации системы в терминах элементов.
  • Точка зрения взаимодействий. Определяет стратегии для взаимодействия сущностей, выделяя почему, где, как и зачем происходят действия.
  • Точка зрения динамики состояний. Применима к событийно-управляемым системам.
  • Алгоритмическая точка зрения. Детальное описание операций (методов, функций), внутренние детали и логика каждой сущности.
  • Ресурсная точка зрения. Моделируются характеристики и использование ресурсов системы.