- •Фундаментальные основы конструирования программного обеспечения
- •2. Минимизация сложности программного обеспечения
- •3. Ожидание изменений в программном обеспечении как фактор, влияющий на конструирование по
- •4. Конструирование по с возможностью проверки
- •7 Планирование конструирования (Construction Planning)
- •8 Измерения в конструировании (Construction Measurement)
- •9 Проектирование в конструировании (Construction Design)
- •10 Языки конструирования (Construction Languages)
- •13 Повторное использование по (Reuse)
- •18 Определение дисциплины программная инженерия
- •19 Состав коллективов при создании больших программных проектов
- •20. Основы программных требований
- •21 Инженерия требований к по
- •22 Управление требованиями к по
- •23 Выявление требований
- •24. Анализ требований
- •26 Валидация требований к по
- •27 Управление требованиями
- •28 Определение термина Проектирование по (Software design)
- •29 Базовые концепции проектирования по
- •30 Базовые элементы Архитектуры по
- •31 Анализ и оценка качества проектирования по
- •32 Нотации проектирования
- •33. Определение термина «Конструирование по»
- •34 Виды тестирования по
- •35 Техники тестирования по
- •36 Управление тестированием по
- •37 Измерение результатов тестирования.
- •38 Сопровождение по (Software maintenance)
- •39 Основные концепции сопровождения по
- •40 Эволюция по.
- •41 Управление конфигурацией по (Software Configuration Management–
- •42 Управление инженерией по (Software Engineering Management)
- •43 Организационное управление инженерией по
- •44 Процесс управления проектом разработки по
- •45 Управление рисками при разработке программного проекта
- •47 Процесс инженерии по (Software Engineering Process)
- •48 Инфраструктура процесса разработки по
- •49 Определение процесса разработки по
- •50 Оценка процесса разработки по
- •51 Модели жизненного цикла при разработке программных систем
- •52 Каскадная модель жц
- •53 Инкрементная модель жц
- •54 Спиральная модель
- •55 Эволюционная модель жц
- •56 Стандартизованная модель системы
- •57 Основные процесс стандарта iso/iec 12207
- •58 Вспомогательные процессы стандарта iso/iec 12207
- •59 Организационные процессы стандарта iso/iec 12207
- •60 Характеристика модели процессов в ядре swebok
31 Анализ и оценка качества проектирования по
включает мероприятия по анализу сформулированных в требованиях атрибутов качества, оценки различных аспектов ПО
– размера и структуры ПО, функций и качества проектирования с помощью
формальных метрик (функционально-ориентированных, структурных и объектно-
ориентированных), а также проведения качественного анализа результатов
проектирования путем статического анализа, моделирования и прототипирования.
32 Нотации проектирования
позволяют представить артефакты ПО и его структуру, а
также поведение системы. Существует два типа нотаций: структурные, поведенческие
и множество различных их представлений.
Структурные нотации являются графическими, они используются для представления
структурных аспектов проектирования, компонентов и их взаимосвязей, элементов
архитектуры и их интерфейсов. К ним относятся формальные языки спецификаций и
проектирования: 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, Colloboration, Pre-Post Conditions, Sequence, таблицы принятия решений,
формальные языки спецификации, языки проектирования PDL и др.
33 Стратегия и методы проектирования ПО. Данный раздел знаний представляет
различные стратегии и методы, которые используются при проектировании. К общим
стратегиям относятся: снизу-вверх, сверху–вниз, абстракции, паттерны и др.
Функционально–ориентированные (структурные) методы базируются на структурном
анализе, структурных картах, Dataflow-диаграммах и др. Они ориентированы на
идентификацию функций и их уточнение сверху–вниз, после чего проводится
разработка диаграмм потоков данных и описание процессов. В обьектно–
ориентированном проектировании ключевую роль играет наследование, полиморфизм
и инкапсуляция, а также абстрактные структуры данных и отображение объектов [30]
Подходы, ориентированные на структуры данных, базируются на методе Джексона
(Jackson) [8] и используются для задания входных и выходных данных структурными
диаграммами.
Компонентное проектирование ориентировано на использование и интеграцию
компонентов (особенно компонентов повторного использования) и на их интерфейс,
обеспечивающий взаимодействие компонентов; является базисом других видов
программирования, в том числе сервисно-ориентированного, в котором группы
компонентов обеспечивают функциональный сервис. К другим методам относятся:
формальные, точные и трансформационные методы, а также UML для моделирования
архитектурных решений с помощью диаграмм [31].