Главная » Просмотр файлов » И. Соммервилл - Инженерия программного обеспечения

И. Соммервилл - Инженерия программного обеспечения (1133538), страница 15

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

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

Вместе с тем этот метод должен получ<ггь пи<рок<к распространенно в ХХ1 столетии, поскольку сборка систем из готовых или ранее использованных компопе< ггов значительно ускоряет разработку ПО. Эта модель рассматривается в главе 14. 3.1.1. Каскадная модель Это первая модель процесса создапил ПО, порождеппзл моделями других пил<спорных процессов [300). Опэ показана на рнс. 3.1.

Эту модель также иногда пазывшот м<щелью жпз. ненного цикла программного обеспечения' . Основныс прннциппэльныс этапы (стадпн) этой модели отражают все базовые виды делтельн ости, необходимые для создания ПО. Ж«юмиммый Яики м)ю<)тмммыи ай<<мимы<ми - вто <м<оиумми<вм м)юзы<ои, м)мтымиючмм и ми)м<мд «т мм мимва «дммивми <мчим<в и <тдаммм ПО ди и<и ма<ма<о мы<ада ми имсмизмващм<. 7аммм ма)<мимы.

".и<мим< ммый Бб Часть 1. Инженерия программного обеспечения: обзор 1. Лыализ и форчи)ювлнкл тргбэвлнкгь Путем консультаций с заказчиком ПО определя. ются функциональные воэможности, ограничения и цели создаваемой программной системы. 2. Проьктирэвлннг сигэюмы к программ«его обгсиечгнин. Процесс проектирования системы разбивает системные требования на требования, предъявляемые к аппаратным средствам, и требования к программному обеспечению системы. Разрабатывается общал архитектура системы. Проектирование ПО предполагает определение и описание основных программных компонентов и их взаимосвязей. 3.

Кодггрелтшг и ггюсяыгролаяиг лрогргммньммойулей. На этой стадии архитектура ПО реализуется в виде множества программ или программных модулей. Тестирование каллдого модуля включает проверку его соответствия требованиям к данному модулю. 4. Сбэр«п и кмсти~ивпыкг сиолгмы. Отдельные программы и программные модули интегрируютсл и тсстируютсл в виде целостной системы. Проверяется, соответствует ли система своей спецификации. 5. Э«гллултлцил к сопровождение системы. Обычно (хотя и пе всегда) это самая длительная фаза жизненного цикла ПО. Система инсталлируется, и начинается период ее эксплуатации.

Сопровождение системы включает исправленглс ошибок, которые нс были обнаружены на более ранних этапах жизненного цикла, совершенствование системных компонентов и "подгонку" функциональных возможностей системы к новым требованиям. Рис. 3. П Жилюныый цикл нРаг)«глькного об«сил«гнил б принципе результат каждого этапа должен утверждаться документально (это как бы сигнал об окончании этапа). Тогда следующий этап ие может начаться до завершения пре. льнущего.

Однако на практике этапы ьго~уг перекрываться с постоянным перетеканием информации от одного этапа к другому. Например, на этапе проектирования может возникнуть необходимость уточнить системные требоазн ил либо на этапе кодирования могут выявиться проблемы, которые можно решить лишь на этапе проектирования, и тд. Процесс создания ч««л пО*'лвлагтгл йыгг ~и«)ю«им «ь«лт«гм, «гм мтулль я)ючеггл газдлния пО. В«кто с тлч «лг«пд«ую мьдмь мож«ь )ьпга«лт)ьиглльь «л«одну «глод««юг жилин«ого цьь«ла ПО.

— Прни. Ред. 3. Процесс создания программного обеспечения 57 ПО нельзя описать простой линейной моделью, так как ои неизбежно содержит послсдова. тельность повторлющихся процессов. Поскольку на каждом этапе проводятся определенные работы и оформляется сопутствующая документация, повторение этапов приводит к повторным работам н значительным расходам. Поэтому после небольшого числа повторений обычно "замораживаетсл" часть этапов создания ПО, например этап определения требований, но продолжается выполнение последующих этапов. Возникающие проблемы, решение которых требует возврата к "замороженным" этапам, игнорируются либо делаются попытки решить их программно.

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

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

Поэтому каскадная модель применяется тогда, когда требования формализованы достаточно четко и корректно. Вместе с тем каскадная модель хорошо отражает практику создания ПО. Технологии создания ПО, основанные на данной модели, используются повсеместно, в частности для разработки систем, входящих в состав больших инженерных проелтов. 3.1.2.

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

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

В рамках этого подхола вна. чало разрабатываются тс части системы, которые очевидны или хорошо специфицированы. Система эволюционирует (дорабатывается) путем добавления новых средств по мере их предложения заказчиком. 2. П)еататили)йеюанис Здесь целью процесса эволюционной разработки ПО явллется поэтапное уточнение требований заказчика и, следовательно, получение законченной спецификации, определлювгей разрабатываемую систему. Прототипа обычно строится для экспериментирования с той частью требований заказчика, которые сформированы нечетко или с внутренними противоречиями.

Пед еь(ююаюинаи айкчиа иаиилииикл да!еюлуюяий тфафаммимй модуль, )ьеалюуюяийь аюдюьиме фуии. Кии еаЫаеалмаю ПО. -Прню. Рел. 5В Частя 1. Инженерия программного обеспечения! обзор Парзанльяыз процзссы гоие, 3. 2, Эвол юпионипя лодел ь )газ)ггиготхи Более подробно подходы к эволюционной разработке рассматриваются в главе 8. где описаны различные технологии прототипирования систем.

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

Вместе с тсм данный подход имеет и пскоторыс нсдостатки. 1. Многие этапы а(гопееса еогдпиия ПО ие дохумеитировпиы Менеджерам проекта создания ПО необходимо регулярно документально отслеживать выполпсинс работ. Но соли система разрабатывается быстро, то экономически нс выгодно документировать каждую версию систсмы. 2. Сипиелга часто получпетея плохо пгфукогу!ги)гаванной. Посгояпныс изменения в требованиях приводят к ошибкам и упущениям в струк!)рс ПО.

Со временем внесение изменений в систему становится все более сложным и затратным. 3. Чппло требуютгл сяевиплъиьм федспмп и оихиологии )Згм)тдотки ПО. Это вызвано необходимостью быстрой разработки всрсий программного продукта. Но, с другой сто. роны, это может привести к несовместимости некоторых применяемых средств и технологий, что, в свою очередь, требует наличия в команде разработчиков специалистов высокого уровня. Я думаю, что эволюционный подход наиболее присмлсм для разработки небольших програмлгпых систем (до 100 000 строк кола) и систем среднего размера (до 500 000 строк кода) с относительно коротким сроком жизни.

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

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

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

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

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