- •Процесс разработки программного обеспечения
- •Модель совершенствования процессов разработки cmm – Capability Maturity Model
- •Rational Unified Process (Рационально-унифицированный процесс)
- •Принцип многомодельности;
- •Концептуальная модель языка uml
- •Обобщение;
- •Реализация;
- •Описание требований в контексте модели прецедентов
- •Вводимые элементы
- •Заинтересованные лица
Принцип абстрагирования – предписывает включать в модель только те аспекты проектируемой системы, которые имеют непосредственное отношение к выполнению системой своих функций;
Принцип многомодельности;
Принцип иерархического построения – предписывает рассматривать процесс построения модели на разных уровнях детализации или абстрагирования в рамках фиксированных представлений;
Концептуальная модель языка uml
Составные части:
Основные строительные блоки языка (сущности, связи);
Правила их сочетания;
Общие для языка механизмы;
Сущности бывают 4 основных типов:
Структурные сущности (класс, интерфейс, прецедент, кооперация, компонент, узел);
Поведенческие сущности (взаимодействия, автомат);
Аннотационные сущности (примечание);
Группирующие сущности (пакет);
Отношение:
Зависимости – семантическое отношение между сущностями, при котором изменение независимой влияет на семантику зависимой;
Ассоциация – структурное отношение описывающее совокупность связей;
Обобщение;
Реализация;
Общие механизмы языка UML:
Спецификации;
Дополнения;
Принятые деления;
Механизмы расширения:
Стереотипы;
Помеченные значения;
Ограничения;
Архитектура ПС – это совокупность важных решений в отношении:
Организации ПС
Выбора структурных элементов
Поведение этих элементов специф. Операциями с другими элементами
Составление из этих структурных и поведенческих элементов все более крупных подсистем
В отношении архитектурного стиля, определяющего всю организацию ПС
Архитектура программной системы может быть описана с помощью пяти взаимосвязанных представлений.
Рисунок в тетради. (сверху над всеми в овале) Вид с точки зрения прецедентов (СНИЗУ в прямоугольниках) Вид с точки зрения проектирования; Вид с точки зрения реализации; Вид с точки зрения процессов; Вид с точки зрения развертывания;
Вид с тз прецедентов описывает поведение системы, наблюдаемое конечными пользователями. Статические аспекты данного вида представляются диаграммами прецедентов. Динамические – диаграммами поведения и взаимодействия.
Вид с точки зрения проектирования охватывает классы, интерфейсы, кооперации, формирующие словарь задачи и ее решение. Поддерживает функциональные требования к системе. Статич асп – диаграммы классов, динам – диаграммы взаимодействия и поведения.
Вид с тз процессов охватывает нити и процессы, формирующие механизмы параллелизма и синхронизации. Описывает производительность, масштабируемость, пропускную способность.
Вид с тз реализации охватывает компоненты и файлы, которые используются для сборки конечного продукта. Предназначен для управления конфигурацией версии системы. Статические аспект- диаграммы компонентов, дин – диаграммы поведения.
Вид с тз развертывания – охватывает узлы, формирующие топологию аппаратных средств, на которых выполняется система. Вид связан с распределением, поставкой и установкой частей физической системы. Стат – диаграммы развертывания, дин – д. поведения.
Начальная фаза проекта по методологии RUP
Артефакты начальной фазы:
Видение проекта Текстовый док: описываются общие задачи, ограничения. Приводится заключение.
Модель прецедентов: Описывает функциональные требования(завершение на этом этапе не обязательно)
Дополнительная спецификация: Описываются другие требования
Словарь терминов: Содержит ключевую терминологию по данному проекту
Перечень рисков и план управления ими
Прототипы системы: Осмысление проекта
План итераций: Разработка итераций проекта
План разработки: Ресурсы материальные и человеческие для проекта
Перечень документов: Описание артефактов
Типичная информационная система:
Graphical user interface GUI
Уровень логики приложения (программные классы)
Технические службы (объекты и подсистемы системного уровня, выполняющие вспомогательные фции типа регистрации событий, использования бд)
Классификация требований, применительно к программным системам: FURPS+
Функциональные требования (Свойства, возможности и безопасность)
Удобство
Надежность (частота сбоев, возможность восстановления, предсказуемость поведения)
Производительность( время отклика, точность, доступность)
Возможность поддержки (адаптивность, возможность поддержки)
Реализация (языки и средства реализации программного обеспечения)
Интерфейс (ограничения, накладываемые необходимостью взаимодействия с внешними системами)
Проектные ограничения
Юридические вопросы (сертификация)
Файловая система