Методы и средства инженерии программного обеспечения

       

Проектирование ПО (Software design)


Проектирование ПО – процесс определения архитектуры, компонентов, интерфейсов, других характеристик системы  и конечного результата.

Область знаний «Проектирование ПО (Software Design)» состоит из следующих разделов:

– базовые концепции проектирования ПО (Software Design Basic Concepts),

– ключевые вопросы проектирования ПО  (Key Issue in Software Design),

–  структура и архитектура ПО (Software Structure and Architecture),

– анализ и  оценка качества проектирования ПО  (Software Design Quality Analysis and Evaluation),

–  нотации проектирования ПО  (Software Design Notations),

–  стратегия и методы проектирования ПО (Software Design Strategies and Methods).

 

К базовым концепциям проектирования ПО относятся процессы ЖЦ (стандарт  ISO/IEC 12207),  процесс  проектирования архитектуры с использованием разных принципов (объектного, компонентного и др.) и техник: абстракции, декомпозиции, инкапсуляции и др.  Автоматизируемая система декомпозируется на отдельные  компоненты, выбираются необходимые  артефакты (нотации, методы и др.)  программной инженерии и строится  архитектура ПО.

 

К ключевым вопросам проектирования ПО  относятся:  декомпозиция на функциональные компоненты для независимого и параллельного их выполнения,   принципы распределения компонентов в среде выполнения и их взаимодействие между собой,  механизмы обеспечения  качества и живучести системы и др.

 

При проектировании структуры ПО

используется архитектурный  стиль проектирования, основанный  на  определении основных элементов структуры –   подсистем,  компонентов  и связей между ними.

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

Паттерн – это конструктивный элемент ПО, который задает взаимодействие объектов (компонентов)  проектируемой системы,  определение ролей  и ответственности исполнителей. Основным языком  задания этого элемента является UML.

Паттерн может быть: структурным, в котором определяются типовые композиции структур  из  объектов и классов диаграммами классов, объектов, связей и др.; поведенческим,  определяющим  схемы взаимодействия классов объектов и их поведение диаграммами активностей, взаимодействия, потоков управления и др.;  креативным,  отображающим типовые схемы  распределения  ролей экземпляров  объектов  диаграммами взаимодействия, кооперации и др.



Содержание раздела