Поведенческие описания, динамический взгляд (Behavioral Descriptions, dynamic view)



Следующие нотации и языки (часть из которых – графические, часть - текстовые) используются для описания динамического поведения программных систем и их компонентов. Многие из этих нотаций успешно используются для проектирования деталей дизайна, но не только для этого.

  • Диаграммы деятельности или операций (Activitydiagrams): используются для описания потоков работ и управления;
  • Диаграммы сотрудничества (Collaborationdiagrams): показывают динамическое взаимодействие, происходящее в группе объектов и уделяют особое внимание объектам, связям между ними и сообщениям, которыми обмениваются объекты посредством этих связей;
  • Диаграммы потоков данных (Dataflowdiagrams,DFD): описывают потоки данных внутри набора процессов (не в терминах процессов операционной среды, но в понимании обмена информацией в бизнес-контексте);
  • Таблицы и диаграммы <принятия> решений (Decisiontablesanddiagrams): используются для представления сложных комбинаций условий и действий (операций);
  • Блок-схемы и структурированные блок-схемы (Flowchartsandstructuredflowcharts): применяются для представления потоков управления (контроля) и связанных операций;
  • Диаграммы последовательности (Sequencediagrams): используются для показа взаимодействий внутри группы объектов с акцентом на временной последовательности сообщений/вызовов;
  • Диаграммы перехода и карты состояний(Statetransitionandstatechartdiagrams): применяются для описания потоков управления переходами между состояниями;
  • Формальные языки спецификации (Formalspecificationlanguages): текстовые языки, использующие основные понятия из математики (например, множества) для строгого и абстрактного определения интерфейсов и поведения программных компонентов, часто в терминах пред- и пост-условий;
  • Псевдокод и программные языки проектирования (Pseudocodeandprogramdesignlanguages,PDL): языки, используемые для описания поведения процедур и методов, в основном на стадии детального проектирования; подобны структурным языкам программирования.

Стратегии и методы проектирования программного обеспечения. Общие стратегии. Функционально-ориентированное или структурное проектирование. Объектно-ориентированное проектирование. Проектирование на основе структур данных. Компонентное проектирование. Другие методы.

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

Таким образом, методы в данном контексте это не просто некие “слабоформализованные” или просто частные практические подходы или техники. Методы здесь являются более общими понятиями, это - методологии, сконцентрированные на процессе (в частности, проектирования) и предполагающие следование определенным правилам и соглашениям, в том числе – по используемым выразительным средствам. Такие методы полезны как инструмент систематизации (иногда, формализации) и передачи знаний в виде общего фреймворка (то есть комплексного набора понятий, подходов, техник и инструментов) не только для отдельных специалистов, но для команд и проектных групп программных проектов.

Общие стратегии (General Strategies)

Это обычно часто упоминаемые и общепринятые стратегии:

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

Функционально-ориентированное или структурное проектирование (Function-Oriented – Structured Design)

Это один из классических методов проектирования, в котором декомпозиция сфокусирована на идентификации основных программных функций и, затем, детальной разработке и уточнении этих функций “сверху-вниз”. Структурное проектирование, обычно, используется после проведения структурного анализа с применением диаграмм потоков данных и связанным описанием процессов. Исследователи предлагают различные стратегии и метафоры или подходы для трансформации DFD в программную архитектуру, представляемую в форме структурных схем. Например, сравнивая управление и поведение с получаемым эффектом.


Дата добавления: 2018-05-12; просмотров: 316; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!