Главная » Просмотр файлов » В.В. Кулямин - Технологии программирования. Компонентный подход

В.В. Кулямин - Технологии программирования. Компонентный подход (1134162), страница 12

Файл №1134162 В.В. Кулямин - Технологии программирования. Компонентный подход (В.В. Кулямин - Технологии программирования. Компонентный подход) 12 страницаВ.В. Кулямин - Технологии программирования. Компонентный подход (1134162) страница 122019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 12)

SEI Technical Report CMU/SEI-2002TR-012, Software Engineering Institute, Pittsburgh, March 2002.http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr012.pdf[13] W. W. Royce. Managing the Development of Large Software Systems. Proceedings of IEEEWESCON, pp. 1–9, August 1970.Переиздана: Proceedings of the 9th International Software Engineering Conference, ComputerSociety Press, pp. 328–338, 1987.[14] B. Randell, F. W. Zurcher. Iterative Multi-Level Modeling: A Methodology for ComputerSystem Design.

Proc. IFIP, IEEE CS Press, 1968.[15] B. Boehm. A Spiral Model of Software Development and Enhancement. Computer, May 1988,pp. 61-72.[16] И. Соммервилл. Инженерия программного обеспечения. М.: Вильямс, 2002.[17] У. Ройс. Управление проектами по созданию программного обеспечения. М.: Лори, 2002.[18] Э. Дж. Брауде. Технология разработки программного обеспечения. СПб.: Питер, 2004.34Лекция 3. Унифицированный процесс разработки и экстремальноепрограммированиеАннотацияРассматриваются в деталях модели разработки ПО, предлагаемые в рамках унифицированногопроцесса разработки Rational (RUP) и экстремального программирования (XP).Ключевые слова«Тяжелые» процессы разработки, «живые» методы разработки, унифицированный процессRational, экстремальное программирование, модели ПО.Текст лекции«Тяжелые» и «легкие» процессы разработкиВ этой лекции мы рассмотрим детально два процесса разработки — унифицированный процессRational (Rational Unified Process, RUP) и экстремальное программирование (ExtremeProgramming, XP).

Оба они являются примерами итеративных процессов, но построены на основеразличных предположений о природе разработки программного обеспечения и, соответственно,достаточно сильно отличаются.RUP является примером так называемого «тяжелого» процесса, детально описанного ипредполагающего поддержку собственно разработки исходного кода ПО большим количествомвспомогательных действий. Примерами подобных действий являются разработка планов,технических заданий, многочисленных проектных моделей, проектной документации, и пр.Основная цель такого процесса — отделить успешные практики разработки и сопровождения ПОот конкретных людей, умеющих их применять. Многочисленные вспомогательные действия даютнадежду сделать возможным успешное решение задач по конструированию и поддержке сложныхсистем с помощью имеющихся работников, не обязательно являющихся суперпрофессионалами.Для достижения этого выполняется иерархическое пошаговое детальное описаниепредпринимаемых в той или иной ситуации действий, чтобы можно было научить обычногоработника действовать аналогичным образом.

В ходе проекта создается много промежуточныхдокументов, позволяющих разработчикам последовательно разбивать стоящие перед ними задачина более простые. Эти же документы служат для проверки правильности решений, принимаемыхна каждом шаге, а также отслеживания общего хода работ и уточнения оценок ресурсов,необходимых для получения желаемых результатов.Экстремальное программирование, наоборот, представляет так называемые «живые» (agile)методы разработки, называемые также «легкими» процессами.

Они делают упор на использованиихороших разработчиков, а не хорошо отлаженных процессов разработки. Живые методы избегаютфиксации четких схем действий, чтобы обеспечить большую гибкость в каждом конкретномпроекте, а также выступают против разработки дополнительных документов, не вносящихнепосредственного вклада в получение готовой работающей программы.Унифицированный процесс RationalRUP [1,2] является довольно сложной, детально проработанной итеративной модельюжизненного цикла ПО.Исторически RUP является развитием модели процесса разработки, принятой в компанииEricsson в 70-х–80-х годах XX века.

Эта модель была создана Джекобсоном (Ivar Jacobson),впоследствии, в 1987, основавшим собственную компанию Objectory AB именно для развитиятехнологического процесса разработки ПО как отдельного продукта, который можно было быпереносить в другие организации. После вливания Objectory в Rational в 1995 разработкиДжекобсона были интегрированы с работами Ройса (Walker Royce, сын автора «классической»каскадной модели), Крухтена (Philippe Kruchten) и Буча (Grady Booch), а также с развивавшимсяпараллельно универсальным языком моделирования (Unified Modeling Language, UML).35RUP основан на трех ключевых идеях.• Весь ход работ направляется итоговыми целями проекта, выраженными в виде вариантовиспользования (use cases) — сценариев взаимодействия результирующей программнойсистемы с пользователями или другими системами, при выполнении которых пользователиполучают значимые для них результаты и услуги.

Разработка начинается с выделениявариантов использования и на каждом шаге контролируется степенью приближения к ихреализации.• Основным решением, принимаемым в ходе проекта, является архитектурарезультирующей программной системы. Архитектура устанавливает набор компонентов, изкоторых будет построено ПО, ответственность каждого из компонентов (т.е. решаемые имподзадачи в рамках общих задач системы), четко определяет интерфейсы, через которыеони могут взаимодействовать, а также способы взаимодействия компонентов друг сдругом.Архитектура является одновременно основой для получения качественного ПО и базой дляпланирования работ и оценок проекта в терминах времени и ресурсов, необходимых длядостижения определенных результатов.

Она оформляется в виде набора графическихмоделей на языке UML.• Основой процесса разработки являются планируемые и управляемые итерации, объемкоторых (реализуемая в рамках итерации функциональность и набор компонентов)определяется на основе архитектуры.РуководительпроектаСтарт проектаПодготовка средыпроекта и итерацийКонтроль иуправлениеИнженер попроцессуПланированиепроекта и итерацийРуководительпроектаАнализ задачпроектаАнализ потребностейзаинтересованных лицОпределениеконцепции системыРуководительпроектаОценка результатовитерацийСистемныйаналитикСистемныйаналитикСистемныйаналитикОпределениевозможных архитектурАрхитектор ПООпределение методовтестированияТестировщикиРисунок 7.

Пример хода работ на фазе начала проекта.RUP выделяет в жизненном цикле на 4 основные фазы, в рамках каждой из которых возможнопроведение нескольких итераций. Кроме того, разработка системы может пройти через несколькоциклов, включающих все 4 фазы.1. Фаза начала проекта (Inception)Основная цель этой фазы — достичь компромисса между всеми заинтересованнымилицами относительно задач проекта и выделяемых на него ресурсов.На этой стадии определяются основные цели проекта, руководитель и бюджет, основныесредства выполнения — технологии, инструменты, ключевые исполнители. Также,возможно, происходит апробация выбранных технологий, чтобы убедиться в возможностидостичь целей с их помощью, и составляются предварительные планы проекта.36На эту фазу может уходить около 10% времени и 5% трудоемкости одного цикла.Пример хода работ показан на Рис. 7.Инженер попроцессуПодготовка средыдля итерацийПрограммистыКонтроль иуправлениеУточнениезадач системыПоддержка средыОтработкаизмененийПланированиепроекта и итерацийАнализ возможныхархитектурСистемныйаналитикАрхитекторПОРуководительпроектаРазработкакомпонентовАнализ эффективноститестированияУточнениеархитектурыТестированиеи оценкаТестировщикиРуководительпроектаОценка результатовитерацийРисунок 8.

Пример хода работ на фазе проектирования.2. Фаза проектирования (Elaboration)Основная цель этой фазы — на базе основных, наиболее существенных требованийразработать стабильную базовую архитектуру продукта, которая позволяет решатьпоставленные перед системой задачи и в дальнейшем используется как основа разработкисистемы.На эту фазу может уходить около 30% времени и 20% трудоемкости одного цикла.Пример хода работ представлен на Рис. 8.Инженер попроцессуКонтроль иуправлениеПодготовка средыдля итерацийРазработкадокументацииПоддержка средыПланированиепроекта и итерацийОтработкаизмененийОценка результатовитерацийПрограммистыТестированиеи оценкаТестировщикиТехническийписательРуководительпроектаРуководительпроектаРазработкакомпонентовПодготовкаразвертыванияРуководительразвертыванияРисунок 9. Пример хода работ на фазе построения.3.

Фаза построения (Construction)Основная цель этой фазы — детальное прояснение требований и разработка системы,удовлетворяющей им, на основе спроектированной ранее архитектуры. В результатедолжна получиться система, реализующая все выделенные варианты использования.37На эту фазу уходит около 50% времени и 65% трудоемкости одного цикла.Пример хода работ на этой фазе представлен на Рис. 9.4.

Фаза внедрения (Transition)Цель этой фазы — сделать систему полностью доступной конечным пользователям. Наэтой стадии происходит развертывание системы в ее рабочей среде, бета-тестирование,подгонка мелких деталей под нужды пользователей.На эту фазу может уходить около 10% времени и 10% трудоемкости одного цикла.Пример хода работ представлен на Рис. 10.Инженер попроцессуПодготовка средыдля итерацийПрограммистыКонтроль иуправлениеПоддержка средыРазработкадокументацииРаз/доработкакомпонентовНетПланированиепроекта и итерацийОтработкаизмененийТехническийписательТестированиеи оценкаРуководительпроектаИнтеграцияРуководительразвертыванияРуководительпроектаОценка результатовитерацийДаДостаточноекачество?ТестировщикиТестированиеи оценкаДостаточноекачество?НетДаСледующаяитерацияПодготовкапродуктаКонец проектаРисунок 10.

Пример хода работ на фазе внедрения.Артефакты, вырабатываемые в ходе проекта, могут быть представлены в виде баз данных итаблиц с информацией различного типа, разных видов документов, исходного кода и объектныхмодулей, а также моделей, состоящих из отдельных элементов. Основные артефакты и потокиданных между ними согласно RUP изображены на Рис. 11.Наиболее важные с точки зрения RUP артефакты проекта — это модели, описывающиеразличные аспекты будущей системы. Большинство моделей представляют собой наборыдиаграмм UML.

Характеристики

Тип файла
PDF-файл
Размер
3,61 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6430
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее