А.М. Вендров - Объектно-ориентированный анализ и проектирование, страница 28
Описание файла
PDF-файл из архива "А.М. Вендров - Объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 28 страницы из PDF
Information technology - Guideline for the evaluation170and selection of CASE Tools, основные положения которого во многомсовпадают с положениями IEEE Std 1209-1992). Цель приведенных встандартах рекомендаций - предоставить руководство, позволяющееповысить вероятность успешного внедрения ТС ПО.
Эти рекомендациидостаточно актуальны и ценны, поскольку отражают опыт, накопленныймногими зарубежными пользователями и разработчиками в течениедлительного периода.4.4. Пример ТС ПО - RUP (Rational Unified Process)На сегодняшний день практически все ведущие компании разработчики технологий и программных продуктов (IBM, Microsoft,Oracle, Borland, Computer Associates, Sybase и др.) располагают развитымитехнологиями создания ПО, которые создавались как собственнымисилами, так и за счет приобретения продуктов и технологий, созданныхнебольшими специализированными компаниями. Одна из наиболеесовершенныхтехнологий,претендующихнарольмировогокорпоративного стандарта - Rational Unified Process [16]. RUP представляетсобой программный продукт, разработанный компанией Rational Software(www.rational.com), которая в настоящее время входит в состав IBM.RUP в значительной степени соответствует стандартам инормативным документам, связанным с процессами ЖЦ ПО и оценкойтехнологической зрелости организаций-разработчиков (ISO 12207, ISO9000, CMM и др.).
Ее основными принципами являются:1. Итерационный и инкрементный (наращиваемый) подход ксозданию ПО.2. Планирование и управление проектом на основе функциональныхтребований к системе - вариантов использования.3. Построение системы на базе архитектуры ПО.Первый принцип является определяющим. В соответствии с нимразработка системы выполняется в виде нескольких краткосрочных минипроектов фиксированной длительности (от 2 до 6 недель), называемыхитерациями.
Каждая итерация включает свои собственные этапы анализатребований, проектирования, реализации, тестирования, интеграции изавершается созданием работающей системы.Итерационный цикл основывается на постоянном расширении идополнении системы в процессе нескольких итераций с периодическойобратной связью и адаптацией добавляемых модулей к существующемуядру системы. Система постоянно разрастается шаг за шагом, поэтомутакой подход называют итерационным и инкрементным.При таком подходе исключено и слишком быстрое написание кода(без детальной проработки) и чрезмерно длительный этап детальногопроектирования и построения моделей без обратной связи.171На рис. 4.2 показано общее представление RUP в двух измерениях:• горизонтальное измерение представляет время, отражаетдинамические аспекты процессов и оперирует такими понятиями,как стадии, итерации и контрольные точки;• вертикальное измерение отражает статические аспекты процессов иоперируеттакимипонятиями, каквиды деятельности(технологические операции), рабочие продукты, исполнители идисциплины (технологические процессы).СтадииОсновныепроцессы Начальная РазработкаПостроениебизнес-моделейОпределениетребованийАнализ ипроектированиестадияКонструированиеВвод вдействиеРеализацияТестированиеРазвертываниеПоддерживающиепроцессыУправлениеконфигурациейУправлениепроектомСозданиеинфраструктурыПредварит.
Итер. Итер. Итер. Итер. Итер. Итер. Итер.#1#2#n #n+1 #n+2 #m #m+1итерацияИтерацииРис. 4.2. Общее представление RUPДинамический аспектСогласно технологии RUP, ЖЦ ПО разбивается на отдельные циклы, вкаждом из которых создается новое поколение продукта.
Каждый цикл, всвою очередь, разбивается на четыре последовательные стадии:• начальная стадия (inception);• стадия разработки (elaboration);• стадия конструирования (construction);• стадия ввода в действие (transition).172Каждая стадия завершается в четко определенной контрольной точке(milestone). В этот момент времени должны достигаться важныерезультаты и приниматься критически важные решения о дальнейшейразработке.Первыми двумя стадиями являются начальная стадия проекта иразработка. Начальная стадия может принимать множество разных форм.Для крупных проектов начальная стадия может вылиться во всестороннееизучение всех возможностей реализации проекта, которое займет месяцы.Во время начальной стадии вырабатывается бизнес-план проекта определяется, сколько приблизительно он будет стоить и какой доходпринесет.
Определяются также границы проекта, и выполняетсянекоторый начальный анализ для оценки размеров проекта.Для того, чтобы выполнить такую работу, необходимоидентифицировать все внешние сущности (действующие лица), скоторыми система будет взаимодействовать, и определить в самом общемвиде природу этого взаимодействия. Это подразумевает идентификациювсех вариантов использования и описание наиболее важных из них.Бизнес-план включает критерии успеха, оценку риска, оценкунеобходимых ресурсов и общий план по стадиям, включающий датыосновных контрольных точек.Результатами начальной стадии являются:• общее описание системы: основные требования к проекту, егохарактеристики и ограничения;• начальная модель вариантов использования (степень готовности 10-20%);• начальный проектный глоссарий (словарь терминов);• начальный бизнес-план;• план проекта, отражающий стадии и итерации;• один или несколько прототипов.На стадии разработки выявляются более детальные требования ксистеме, выполняется высокоуровневый анализ предметной области ипроектирование для построения базовой архитектуры системы, создаетсяплан конструирования и устраняются наиболее рискованные элементыпроекта.Результатами стадии разработки являются:• модель вариантов использования (завершенная по крайней мере на80%), определяющая функциональные требования к системе;• перечень дополнительных требований, включая требованиянефункционального характера и требования, не связанные сконкретными вариантами использования;• описание базовой архитектуры будущей системы;• работающий прототип;• уточненный бизнес-план;173• план разработки всего проекта, отражающий итерации и критерииоценки для каждой итерации.Самым важным результатом стадии разработки является описаниебазовой архитектуры будущей системы.
Эта архитектура включает:• модель предметной области, которая отражает понимание бизнесаи служит отправным пунктом для формирования основных классовпредметной области;• технологическую платформу, определяющую основные элементытехнологии реализации системы и их взаимодействие.Эта архитектура является основой всей дальнейшей разработки, онаслужит своего рода проектом для последующих стадий. В дальнейшемнеизбежны незначительные изменения в деталях архитектуры, однако,серьезные изменения маловероятны.Стадия разработки занимает около пятой части общейпродолжительности проекта.
Основными признаками завершения стадииразработки являются два события:• разработчики в состоянии оценить с достаточно высокойточностью, сколько времени потребуется на реализацию каждоговарианта использования;• идентифицированы все наиболее серьезные риски, и степеньпонимания наиболее важных из них такова, что известно, каксправиться с ними.Сущностьпланированиязаключаетсявопределениипоследовательностиитерацийконструированияивариантовиспользования, реализуемых на каждой итерации.Планирование завершается, когда определены место каждого вариантаиспользования в некоторой итерации и дата начала каждой итерации. Наданном этапе более детальное планирование не делается.RUP представляет собой итерационный и пошаговый процессразработки, в котором программное обеспечение разрабатывается иреализуется по частям.
На стадии конструирования построение системывыполняется путем серии итераций. Каждая итерация является своего родамини-проектом. На каждой итерации для конкретных вариантовиспользования выполняются анализ, проектирование, кодирование,тестирование и интеграция. Итерация завершается демонстрациейрезультатов пользователям и выполнением системных тестов с цельюконтроля корректности реализации вариантов использования.Назначением этого процесса является снижение степени риска.Причиной появления риска зачастую является откладывание решениясложных проблем на самый конец проекта.
Тестирование и интеграция это достаточно крупные задачи, они всегда занимают больше времени, чеможидается. Чем позже выполнять тестирование и интеграцию, тем болеетрудными задачами они становятся и тем более способны дезорганизовать174весь проект. При итеративной разработке на каждой итерации выполняетсявесь процесс, что позволяет оперативно справляться со всемивозникающими проблемами.Итерации на стадии конструирования являются одновременноинкрементными и повторяющимися:• итерации являются инкрементными в соответствии с той функцией,которую они выполняют. Каждая итерация добавляет очередныеконструкции к вариантам использования, реализованным во времяпредыдущих итераций;• итерации являются повторяющимися по отношению кразрабатываемому коду. На каждой итерации некоторая частьсуществующего кода переписывается с целью сделать его болеегибким.Процесс интеграции должен быть непрерывным.