- •Содержание
- •Лекция 1. Введение. Группа проекта. Жизненный цикл. Предварительные замечания Предварительные замечания
- •Группа проекта
- •Жизненный цикл Предварительные замечания
- •Последовательный тип
- •Эволюционный тип
- •Выбор типа жизненного цикла
- •Лекция 2. Архитектура программных систем Предварительные замечания
- •Структурные сущности
- •Архитектурные виды
- •Лекция 3. Рациональный унифицированный процесс Предварительные замечания
- •Характеристики процесса
- •Фазы, итерации и циклы разработки
- •Рабочие процессы
- •Артефакты
- •Другие артефакты
- •Лекция 4. Анализ и проектирование. Стадия анализа Предварительные замечания
- •Стадия анализа Стандарты семейства idef
- •Анализ на базе семейства idef
- •Объектно-ориентированный анализ и проектирование
- •Лекция 5. Модель анализа прецедентов Предварительные замечания
- •Поток событий, сценарий, кооперация
- •Организация прецедентов
- •Лекция 6. Типичные приемы анализа прецедентов Поведение элемента
- •Диаграмма прецедентов
- •Моделирование контекста системы
- •Моделирование требований к системе
- •Лекция 7. Введение в унифицированный процесс моделирования Предварительные замечания
- •Сущности uml
- •Отношения uml
- •Диаграммы uml
- •Правила языка uml
- •Общие механизмы языка uml
- •Лекция 8. Системы и модели Предварительные замечания
- •Системы и подсистемы. Модели и представления
- •Моделирование системной архитектуры
- •Различные представления системы
- •Лекция 9. Информационные технологии и средства анализа и проектирования информационных систем Предварительные итоги
- •Компонентная архитектура
- •Краткий перечень производителей и программных продуктов
- •Сравнительный обзор возможностей Rational Rose и paradigm plus
- •Поддерживаемая нотация
- •Методологии
- •Компонентно-базируемое проектирование
- •Ведение репозитария объектов
- •Построение диаграмм моделей. Пользовательский интерфейс
- •Генерирование программного кода
- •Наличие реинжиниринга
- •Проектирование баз данных. Поддержка sql и мостов для реляционных баз данных, idl для corba
- •Создание экранного интерфейса
- •Возможность групповой работы
- •Наличие Script-языка
- •Генерирование отчетов и формирование проектной документации
- •Поддерживаемые платформы
- •Место в общем цикле разработки программной системы
Другие артефакты
Артефакты в Рациональном Унифицированном Процессе подразделяются на две группы: административные и технические. Технические артефакты, в свою очередь, делятся на четыре большие подгруппы:
группа требований - описывает, что система должна делать;
группа проектирования - описывает, как система должна быть построена;
группа реализации - описывает сборку разработанных программных компонентов;
группа развертывания - содержит все данные, необходимые для конфигурирования предоставленной системы.
В группу требований включается информация о том, что система должна делать. В составе этих артефактов могут быть модели прецедентов, нефункциональных требований, предметной области и иные формы выражения потребностей пользователя, в том числе макеты, прототипы интерфейсов, юридические ограничения и т. д.
Группа проектирования содержит информацию о том, как система должна быть построена с учетом ограничений по времени и бюджету, наличия унаследованных систем, повторного использования, требований к качеству и т. д. Сюда относятся проектная модель, модель тестирования и иные формы выражения потребностей пользователя, в том числе прототипы и исполняемые архитектуры.
К группе реализации относится вся информация о программных элементах, из которых состоит система, в том числе исходный код на различных языках программирования, конфигурационные файлы, файлы данных, программные компоненты и т.д., а также информация о том, как собирать систему.
Лекция 4. Анализ и проектирование. Стадия анализа Предварительные замечания
Для создания программного приложения необходимо описать проблему и требования к системе. Стадия анализа (analysis) состоит в исследовании проблемы, а не в поисках ее решения. Например, при разработке новой экономической информационной системы необходимо описать экономические процессы, связанные с ее использованием.
При разработке приложения необходимо также обеспечить высокий уровень и подробное документирование логики решения, удовлетворяющего требованиям к системе и налагаемым ограничениям. В процессе проектирования (design) основное внимание уделяется логическому решению, обеспечивающему выполнение основных требований. Например, как будет функционировать новая экономическая информационная система? Естественно, проект может быть реализован в виде аппаратных средств и программного обеспечения.
В реальной жизни программные проекты чаще всего достаточно сложны, и их декомпозиция (по принципу "разделяй и властвуй") - это основная и, наверное, единственная стратегия борьбы со сложностью. Она состоит в разбиении проблемы на мелкие управляемые элементы. До появления объектно-ориентированного подхода во времена господства парадигмы структурного программирования наиболее популярной методологией декомпозиции являлись структурный анализ и проектирование (structured analysis and design). Этот подход заключается в декомпозиции задачи на функции или процессы, приводящий к созданию иерархии процессов и подпроцессов. Существовали и существуют и другие методы декомпозиции. В следующем разделе мы рассмотрим наиболее известные и часто применяемые методики анализа, позволяющие минимизировать риски и решать ключевые проблемы, возникающие на различных этапах жизненного цикла.