архитектуры, компонентов, интерфейсов, других характеристик системы и
конечного результата.
К базовым концепциям проектирования ПО относятся методы
проектирования архитектуры с использованием принципов (структурного,
объектного, компонентного и др.) и техник: абстракции, декомпозиции,
инкапсуляции и др. Проектируемая система декомпозируется на отдельные
компоненты, осуществляется выбор готовых артефактов (нотации, методы и др.),
компонентов и на их основе создается архитектура ПО.
Ключевые вопросы проектирования ПО – это декомпозиция на
функциональные компоненты для независимого и параллельного их выполнения;
принципы распределения компонентов и способов их взаимодействия между собой
в операционной среде, а также механизмы обеспечения качества, живучести
системы и др.
Проектирование структуры и архитектуры ПО выполняется архитектурным
стилем путем определения основных элементов архитектуры – подсистемы,
паттерны, компоненты и связи между ними.
Архитектура проекта – высокоуровневое представление структуры,
задаваемое с помощью паттернов, компонентов и их идентификации. В
описание архитектуры входит описание логики отдельных компонентов системы и
связей между ними. Существуют и другие виды структур ПО, основанные на
проектировании образцов, семейств программ и их каркасов.
Паттерн – это элемент структуры, в котором задается взаимодействие
совокупности элементов проектируемой системы с определением ролей и
ответственности актеров с помощью средств языка UML. Структурный паттерн
включает в себя типовые композиции структур объектов и классов, задаваемых с
помощью диаграмм классов, объектов, связей и др. Поведенческий паттерн состоит
из схем взаимодействия классов объектов и их поведений, задаваемых
диаграммами активностей, взаимодействия, потоков управления и др.
Анализ и оценка качества проектирования ПО – это системные
мероприятия по анализу атрибутов качества, сформулированных в требованиях,
оценка различных характеристик ПО (размер, число функций и др.) с применением
функционально-ориентированных, структурных и объектно-ориентированных
метрик, а также методы статического анализа, моделирования и прототипирования
архитектуры ПО.
Нотации проектирования – средства представления артефактов ПО, его
структуры и поведения. Существует два типа нотаций: структурные и
поведенческие, а также множество различных их представлений.
Структурные нотации – графические способы представления аспектов
проектирования, компонентов и их взаимосвязей, элементов архитектуры и их
интерфейсов. К нотациям относятся языки спецификаций и проектирования: ADL
(Architecture Description Language), UML (Unified Modeling Language), ERD (Entity
Relation Diagrams), IDL (Interface Description Language), классы и объекты,
компоненты и классы (CRC Cards), Use Case Driven и др.
Поведенческие нотации отражают динамический аспект поведения систем и их
компонентов и задаются с помощью диаграмм: Data Flow, Decision Tables, Activity,
Collaboration, Pre-Post Conditions, Sequence и др.
К стратегиям и методам проектирования ПО относятся: методы снизу–