Конспект лекций, страница 3
Описание файла
PDF-файл из архива "Конспект лекций", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Основная задача усовершенствования –повышение производительности труда.Процесс обучения включает в себя следующие действия: подготовительную работу;разработку учебных планов, курсов,материалов;реализациюплановобучения.Задачиобучения:первоначальное обучение персонала;повышение квалификации персонала.Процессы ЖЦ ПО взаимосвязаны.Динамику, т. е.
развитие ЖЦ вовремени определяет модель жизненногоцикла.Модель ЖЦ ПО – это структура,определяющаяпоследовательностьвыполнения и взаимосвязи процессов,действий и задач на протяжении всегоЖЦ.ВлюбоймоделиЖЦрассматривается как совокупность стадийЖЦ.Стадия ЖЦ – это часть ЖЦограниченная временными рамками, по6завершении которой достигается определенный важный результат в соответствии стребованиями для данной стадии ЖЦ.Модели ЖЦ: каскадная (водопадная); основанная на формальных преобразованиях; итерационные (пошаговая и спиральная).Схема каскадной модели ЖЦ:Принципы каскадной модели: фиксация требований к системе в начале проекта;переход со стадии на стадию только после полного завершения работ на текущей стадии;недопустимость возврата на пройденные стадии; жесткая привязка процессов ЖЦк стадиям ЖЦ.Стадия формирования требований включает процессы, приводящие к созданиюдокумента, описывающего поведение ПО с точки зрения внешнего по отношению к немунаблюдателя с фиксацией требований относительно его качества.Проектирование охватывает процессы: разработку архитектуры ПО, разработкуструктур программ в его составе и их детальную спецификацию.Реализация или кодирование включает процессы создания текстов программ наязыках программирования.На этапе тестирования производится собственно тестирование, а также отладка иоценка качества ПО.Ввод в действие – это развертывание ПО на целевой вычислительной системе,обучение пользователей и т.п.Эксплуатация ПО – это использование ПО для решения практических задач накомпьютере путем выполнения ее программ.Сопровождение ПО – это процесс сбора информации о качестве ПО в эксплуатации,устранения обнаруженных в нем ошибок, его доработки и модификации, а такжеизвещения пользователей о внесенных в него изменениях.Достоинства: на каждой стадии формируется законченный набор проектной7документации, отвечающий критериям полноты и согласованности; выполняемые влогичной последовательности стадии работ облегчают планирование сроков завершениявсех работ и соответствующих затрат.
Недостатки: позднее обнаружение проблем; выходиз календарного графика, запаздывание с получением результатов; высокий риск созданиясистемы, не удовлетворяющей изменившимся потребностям пользователей; избыточностьдокументации; неравномерная нагрузка членов группы, работающей над проектом в ходеЖЦ.Неизбежные возвраты на предыдущие стадии в каскадной моделиНа самом деле невозможно двигаться строго поступательно, необходимовозвращаться, чтобы исправлять ошибки, сделанные на ранних стадиях, устранятьнедоделки, учитывать меняющиеся в ходе проекта требования.
В этом кроется причинанедостатков водопадной модели.Особенности модели ЖЦ, основанной на формальных преобразованиях:использование специальных нотаций для формального описания требований; кодированиеи тестирование заменяется процессом предобразования формальной спецификациив исполняемую программу. Достоинства: формальные методы гарантируют соответствиеПО спецификациям требований к ПО, т.
о. вопросы надежности и безопасности решаютсясами собой. Недостатки: большие системы сложно описать формальнымиспецификациями; требуются специально подготовленные и высоко квалифицированныеразработчики; есть зависимость от средств разработки и нотации спецификаций.Формальнаяспецификация 1Формальнаяспецификация 2Формальнаяспецификация NСборка и вводв действиеФормированиетребованийЭксплуатация исопровождениеФормальноепреобразование 1Вывод изэксплуатацииФормальноепреобразование 2и т.
д.Формальноепреобразование NСхема модели ЖЦ, основанной на формальных преобразованияхОсобенности итерационных моделей:процесс разработки разбивается на последовательность шагов, выполняемыхциклически;разные виды деятельности не привязаны намертво к определенным этапам разработки,а выполняются по мере необходимости, иногда повторяются, до тех пор, пока не будетполучен нужный результат;с каждой пройденной итерацией ПО наращивается, в него интегрируются новыеразработанные компоненты.8В итерационной пошаговой модели ЖЦ проект разбивается на несколько частей.Каждая часть создается в рамках отдельной итерации. Работы в рамках итерации ведутсяпо каскадной схеме.
По окончании каждой итерации, начиная со второй, производитсяинтеграция результатов работы на данной итерации с тем, что было сделано напредыдущих. Так преодолеваются недостатки каскада.Схема пошаговой итерационной модели ЖЦСхема спиральной модели ЖЦОсобенности спиральной модели:9общая структура действий на каждой итерации – планирование, определение задач,ограничений и вариантов решений, оценка предложенных решений и рисков,выполнение основных работ итерации и оценка их результатов;решение о начале новой итерации принимается на основе результатов предыдущей;досрочное прекращение проекта в случае обнаружения его нецелесообразности;в конце «миникаскад», завершающийся выпуском финальной версии ПС.Достоинства итерационных моделей:полный учет требований заказчика, большее его участие в проекте;равномерная нагрузка на группу разработчиков;раннее обнаружение проблем и их разрешение по мере возникновения;уменьшение рисков на каждой итерации.ЭффективностьНедостаткиитерационныхмоделей:сложностьпланирования;плохаядокументированность создаваемого ПО.Проблемой современной программной инженерии являются «тяжелые» процессы.Характеристики «тяжелого» процесса:1) необходимость документировать каждое действие разработчиков;2) множество рабочих продуктов (в первую очередь - документов), создаваемых вбюрократической атмосфере;3) отсутствие гибкости;4) детерминированность (долгосрочное детальное планирование и предсказуемость всехвидов деятельности, распределение человеческих ресурсов на длительный срок,охватывающий большую часть проекта.Противоположностью «тяжелого» процесса является «легковесный» процесс – основабыстрой или гибкой разработки ПО (agile software development).
Гибкая разработкаориентируется на эффективную коммуникацию между разработчиками, высокуюквалификацию разработчиков и другие факторы, позволяющие сократить расходы на«бюрократию».Манифест гибкой разработки: Индивидуумы и взаимодействия ценятся выше процессов и инструментов. Работающее ПО ценится выше всеобъемлющей документации. Сотрудничество с заказчиками ценится выше согласования условий договора. Реагирование на изменения ценится выше соблюдения плана.Важно, что стоящее в левой части не отменяет стоящего в правой (документация,процессы, инструменты планы важны, но в меньшей степени, чем индивидуумы,взаимодействия, работающий «софт» и реагирование на изменения).Принципы быстрой разработки:1.
Диалог «лицом к лицу» –самый эффективный способу белой доскиобмена информацией.2. Избыточная«тяжесть»технологии (дополнительныетелефонрабочиепродукты,планы,видеозаписьдиаграммы, документы) стоитдорого.e-mail3. Болеемногочисленныеаудиозаписькомандытребуютболеебумага«тяжелых» технологий.(холодно)10Температура канала(горячо)Добавим также, чтовозможности«легких»процессов не безграничны.Для решения крупной задачиподойдет только «тяжелый»процесс. Легкий процесс непозволит большой команде,необходимой для реализациикрупногопроекта,взаимодействоватьдостаточно эффективно.Количестворазработчиков,необходимоедля успеха«тяжелый» процесс«средний» процесс«легкий» процесс4.
Большая«тяжесть»Размер задачипроцесса подходит дляпроектов с большей критичностью.Под критичностью понимаются масштабы последствий отказа разрабатываемого ПО.Уровни критичности:I) потеря удобства;II) потеря важных данных и/или рабочего времени;III) потеря невозместимых средств, дорогостоящего оборудования;IV) потеря человеческой жизни.Примеры: I) данные выданы не в виде диаграммы, а в виде таблицы; II) «синий экрансмерти»; III) взрыв ракеты «Ариан-5» 4 июня 1996 года (500 000 000$) и массовоеотключение электричества в Северной Америке 14 августа 2003 г. (4-10 Гига$); IV)неправильная работа медицинской рентгеновской установки Therac-25 (3 смерти).5. Возрастаниеобратнойсвязиикоммуникациисокращаетпотребностьв промежуточных продуктах.6.
Дисциплина, умение и понимание противостоят процессу, формальностии документированию.7. Потеря эффективности в некритических видах деятельности вполне допустима.Основные направления развития современной программной инженерии:1) Управление требованиями2) Управление конфигурацией и изменениями3) Управление качеством ПО4) Итерационная разработка ПО5) Использование компонентной архитектуры (объектно-ориентированный подход)6) Визуальное моделирование ПОЛитература к лекции 1Брукс Ф. Мифический человеко-месяц или как создаются программные системы.
– СПб.:Символ-Плюс, 1999ВендровА.М.Проектированиепрограммногообеспеченияэкономическихинформационных систем: Учебник. – М.: Финансы и статистика, 2005Коберн А. Быстрая разработка программного обеспечения. – М.: ЛОРИ, 2002Соммервилл И. Инженерия программного обеспечения. 6-е издание.: Пер. с англ.: – М.:Вильямс, 2002Жоголев Е. А. Технология программирования – М.: Научный мир, 2004Кулямин В. В. Технологии программирования. Компонентный подход. – М.: Бином.Лаборатория знаний. 200711Лекция 2.