Лекц-2Программная инженерия.pptx
- Количество слайдов: 21
Программная инженерия Лекция 2
Лекция 2 Процесс разработки ПО Цели: 1. Знать основные концепции , лежащие в основе процесса создания ПО и моделей этого процесса. 2. Знать какие существуют модели процесса создания ПО и когда каждая из них используется. 3. Знать схему построения моделей формирования требований: к ПО, к разработке ПО, к тестированию ПО, к модернизации ПО. 4. Иметь понятие о CASE технологиях поддержки создания ПО. Читать по Лекции 2 Книга Страницы Д. В. Кознов , и др. Введение в программную инженерию Лекция 2: Стр. 7 -13 Иан Соммервилл Инженерия программного обеспечения Введение : Стр. 53 -79 Software engineering / Ian Sommerville
Процесс разработки ПО Центральным объектом изучения программной инженерии является процесс создания ПО – множество различных видов деятельности, методов, методик и шагов, используемых для разработки и эволюции ПО и связанных с ним продуктов (проектных планов, документации, программного кода, тестов, пользовательской документации и пр. ). На сегодняшний день не существует универсального процесса разработки ПО Каждый текущий процесс разработки, осуществляемый некоторой командой в рамках определенного проекта, имеет большое количество особенностей и индивидуальностей. Однако в рамках компании возможна и полезна объединение и стандартизация всех текущих процессов, которую будем называть стандартным процессом
Совершенствование процесса разработки ПО Главная трудность реального совершенствования процессов в компании заключается в том, что она при этом должна работать и создавать ПО, ее нельзя «закрыть на учет» Отсюда вытекает идея непрерывного улучшения процесса, так сказать, малыми порциями, чтобы не так болезненно. Это тем более разумно, что новые технологии разработки, появляющиеся на рынке, а также развитие уже существующих нужно постоянно отслеживать. Pull/Push стратегии Pull стратегия – инновации нацелены на решение конкретных проблем компании Technology push – широкомасштабное внедрение инноваций из стратегических соображений.
Классические модели процесса разработки ПО Модель процесса – формализованное описание динамики развития тех или иных видов деятельности, образующих процесс Фазы и виды деятельности. Говоря о моделях процессов, необходимо различать фазы и виды деятельности. Фаза (phase) – это определенный этап процесса, имеющий начало, конец и выходной результат. Например, фаза проверки осуществимости проекта, сдачи проекта и т. д. Фазы следуют друг за другом в линейном порядке, характеризуются предоставлением отчетности заказчику и, часто, выплатой денег за выполненную часть работы. Вид деятельности (activity) – это определенный тип работы, выполняемый в процессе разработки ПО В рамках одной фазы может выполнятся много различных видов деятельности
Водопадная (каскадная ) модель была предложена в 1970 году Винстоном Ройсом. Фактически, впервые в процессе разработки ПО были выделены различные шаги разработки.
Недостатки водопадной модели: • отождествление фаз и видов деятельности, что влечет потерю гибкости разработки, в частности, трудности поддержки итеративного процесса разработки; • требование полного окончания фазы-деятельности, закрепление результатов в виде подробного исходного документа (технического задания, проектной спецификации); однако опыт разработки ПО показывает, что невозможно полностью завершить разработку требований, дизайн системы и т. д. – все это подвержено изменениям; и причины тут не только в том, что подвижно окружение проекта, но и в том, что заранее не удается точно определить и сформулировать многие решения, они проясняются и уточняются лишь впоследствии; • интеграция всех результатов разработки происходит в конце, вследствие чего интеграционные проблемы дают о себе знать слишком поздно; • пользователи и заказчик не могут ознакомиться с вариантами системой во время разработки, и видят результат только в самом конце; тем самым, они не могут повлиять на процесс создания системы, и поэтому увеличиваются риски непонимания между разработчиками и пользователями/заказчиком; • модель неустойчива к сбоям в финансировании проекта или перераспределению денежных средств, начатая разработка, фактически, не имеет альтернатив “по ходу дела”
Эволюционная модель
Модель пошаговой разработки
Спиральная модель процесса разработки ПО Спиральная модель была предложена Бэри Боемом в 1988 году для преодоления недостатков водопадной модели. Разработка продукта осуществляется по спирали, каждый виток которой. является определенной фазой разработки, в рамках которой может осуществляться много различных видов деятельности. . Каждый виток имеет следующую структуру (секторы): -определение целей, ограничений и альтернатив проекта; -оценка альтернатив, оценка и разрешение рисков; возможно использование прототипирования , симуляция системы, визуальное моделирование и анализ спецификаций; фокусировка на самых рисковых частях проекта; - разработка и тестирование – здесь возможна водопадная или иные модели и методы разработки ПО; - планирование следующих итераций – анализируются результаты, планы и ресурсы на последующую разработку, принимается (или не принимается) решение о новом витке; анализируется, имеет ли смысл продолжать разрабатывать ПО.
Спецификация Программного обеспечения
Проектирование и реализация ПО
Отдельные этапы проектирования ПО
Методы проектирования ПО Программирование и отладка
Аттестация программных систем