Поведенческие описания, динамический взгляд (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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!