
- •Архитектуры баз данных. Преимущества и недостатки
- •Реляционные базы данных, основные понятия.
- •Понятия и терминология, связанные с таблицей реляционной базы данных
- •1.4.1. Отношение "один-ко-многим"
- •Отношение "один-к-одному"
- •Отношение "многие-ко-многим"
- •Понятия терминология, связанные с полем таблицы
- •Понятия ключевых атрибутов для таблиц и индексов.
- •1.7. Индексы и методы доступа
- •Реляционные отношения и целостность данных. Пример
- •1.4.1. Отношение "один-ко-многим"
- •1.4.2. Отношение "один-к-одному"
- •1.4.3. Отношение "многие-ко-многим"
- •1.4.4. Связь между записями одной таблицы
- •1.5. Ссылочная целостность и каскадные воздействия
- •Навигационный и sql ориентированный подход к обработке данных.
- •Нормализация данных. Первая нормальная форма. Пример
- •Нормализация данных. Третья нормальная форма. Пример
- •Индексы. Определение, назначение, характеристики.
- •Жизненный цикл программного обеспечения. Модели жизненного цикла.
- •Основные этапы программирования (структурный, rad технологии, case технологии). Кризис программирования.
- •Методология системного анализа и системного моделирования. Диаграммы idefo.
- •Язык uml. Назначение.
- •Статические диаграммы uml (варианты использования, классов)
- •Диаграммы поведения uml ( состояний, последовательности, деятельности).
- •Основные принципы организации процесса разработки по по rup.
- •Понятие rup. Основные принципы. Структура процесса проектирования. Инструментальная поддержка.
- •Статическая структура описания rup. Понятия исполнителей и артефактов. Основные технологические процессы.
- •Технологический процесс управления проектом.
- •Технологический процесс процесса моделирования производства. 6 сценариев разработки моделей.
- •Технологический процесс управления требованиями
- •Технологический процесс анализа и проектирования
- •Технологический процесс реализации
- •Технологический процесс тестирования
- •Технологический процесс управления конфигурацией и изменениями
- •Технологический процесс управления средой
- •Технологический процесс распространения
- •Конфигурирование и реализация rup
Технологический процесс анализа и проектирования
Целью технологического процесса анализа и проектирования является перевод системных требований в технические инструкции, указывающие, как реализовать систему. Для этого следует понять требования и преобразовать их в проект системы, выбрав при этом лучшую стратегию реализации. На ранних стадиях проекта необходимо создать устойчивую архитектуру с тем, чтобы можно было спроектировать систему, легкую для понимания, построения и развертывания. После этого требуется согласовать проект со средой реализации и добиться удовлетворения требований производительности, устойчивости, модульной наращиваемости и тестируемости.
Анализ против проектирования
Целью анализа является преобразование требований системы в форму, понятную разработчику программного обеспечения. Иными словами требования следует выразить через набор классов и подсистем. Это преобразование управляется прецедентами, и его дальнейшую форму определят нефункциональные требования системы. В процессе анализа рассматриваются только функциональные требования, а нефункциональные требования и ограничения среды реализации игнорируются. В результате анализ отражает практически идеальную картину системы.
Цель проектирования состоит в согласовании результатов анализа с ограничениями, навязанными нефункциональными требованиями, средой реализации, требованиями к производительности и т.д. Иными словами, проектирование — это уточнение анализа, направленное на оптимизацию проекта системы при обязательном удовлетворении всех требований.
Насколько стоит продумывать проект
Проект должен содержать ровно столько информации, сколько достаточно для однозначной его реализации. Что подразумевается под словом "достаточно" — зависит от компании и разрабатываемой системы. В некоторых случаях проект может обдумываться до того момента, пока еще возможна реализация системы с помощью прямого, планомерного преобразования проекта в код.
В других случаях проектирование подобно схематическим наброскам, уточненным ровно настолько, чтобы конструктор мог создать набор компонентов, удовлетворяющих заданным требованиям. В данной ситуации степень детализации плана зависит от опыта конструктора, сложности проекта и наличия риска возможного неправильного истолкования проекта.
Если проект задается точно, то он может переплетаться с процессом кодирования и образовывать синхронизированную структуру, известную как циклическое проектирование, что позволяет избежать дополнительного этапа преобразования, а следовательно—устранить потенциальный источник ошибок.
Если степень полноты и точности проекта довольно высока — настолько, что указанное преобразование можно выполнять путем непосредственной интерпретации проекта или быстрого создания из проекта небольшого фрагмента кода,— то преобразование практически незаметно для разработчика, а проект можно считать "инструкцией к действию".
Исполнители и артефакты
Архитектор Архитектор координирует технические виды деятельности и артефакты и руководит ими. Он определяет общую структуру каждого архитектурного представления: декомпозицию представления, группировку элементов и интерфейсы между основными группами. В отличие от других исполнителей, архитектор скорее должен в общем представлять себе весь процесс, чем интенсивно участвовать в какой-то его части. Подробнее об этом в главе 5, "Процесс, основанный на архитектуре".
Разработчик Разработчик определяет обязанности, действия, параметры одного или нескольких классов и отношения между ними. Он также устанавливает, как согласовывать классы со средой реализации. Кроме того, разработчик может отвечать за один или несколько пакетов проектов или подсистем проектов, в том числе за классы, принадлежащие пакетам или подсистемам.
В процессе анализа и проектирования могут участвовать и другие исполнители.
Разработчик базы данных. Данный исполнитель необходим при наличии в разрабатываемой системе базы данных.
Разработчик оболочки (для систем реального времени). Этот исполнитель отвечает за возможность системы своевременно реагировать на события. Для обеспечения этого используются методы параллельного проектирования.
Рецензент архитектуры и рецензент проекта. Эти специалисты рецензируют ключевые артефакты, создаваемые в данном технологическом процессе.
В технологическом процессе анализа и проектирования создаются следующие ключевые артефакты.
Модель проектирования — основной чертеж разрабатываемой системы
Документ архитектуры программного обеспечения, в котором собраны различные архитектурные представления системы
Процесс анализа и проектирования заполняет брешь между процессами управления требованиями и реализации. Этот процесс использует прецеденты для определения набора объектов, которые последовательно превращаются в классы, подсистемы и пакеты.
Основные обязанности процесса анализа и проектирования ложатся на плечи архитектора (общие вопросы), разработчика (подробности) и разработчика базы данных (подробности, требующие специальных знаний по обработке постоянно хранимых объектов).
В процессе анализа и проектирования создается модель проектирования, которую можно обобщить с использованием трех архитектурных представлений. Логическое представление отражает декомпозицию системы в набор логических элементов (классов, подсистем, пакетов и взаимодействий). Процедурное представление отображает эти элементы в процессы и подпроцессы (потоки) системы. Представление распространения отображает эти процессы в набор узлов, на которых они выполняются.