1.Введение.ppt
- Количество слайдов: 9
Введение. Понятие и предпосылки появления программной инженерии
Программная инженерия (software engineering) - Научная дисциплина, изучающая методы и средства организации эффективного процесса разработки программных продуктов. Деятельность, выполняемая в процессе промышленного программирования и необходимая для эффективной разработки программных продуктов 1968 г. – появление понятия программной инженерии на конференции NATO Software Engineering, посвященной так называемому кризису программного обеспечения.
Предпосылка появления и развития дисциплины кризис программирования(Software Crisis) в США в конце 60 -х – середине 70 -х гг ХХ в. Кризис программирования Отставание от графика разработки Превышение сметы расходов Не соответствие ПО требованиям заказчика Результат: 90% проектов оказываются убыточными; Около 40 % аннулируются до завершения.
Например, в 1995 г. (1998 г. ) (2009 г) Компания Standish Group проанализировала работу 364 американских корпораций, а также итоги выполнения более 23 тыс. программных проектов, и сделала выводы: Только 16, 2% (26 %) (35%)проектов завершились в срок, не превысили запланированный бюджет и обеспечили реализацию всех требуемых функций и возможностей; 52, 7 % (46 %) (46%)проектов завершились с опозданием, расходы превысили запланированный бюджет, требуемые функции не были реализованы в полном объёме; 31, 1 % (28 %) (19%) проектов были аннулированы до завершения.
Причины кризиса: Недостаточная организация процесса разработки ПО; Плохой менеджмент (управление) процессом разработки; Неудовлетворительное планирование; Нечёткая и неполная формулировка требований к ПО; Недостаточное вовлечение пользователей работу над проектом и т. д.
Современные проекты (вследствие жёсткой конкурентной борьбы) часто разрабатываются в экстремальных условиях. Death March – проект, параметры которого отклоняются от нормальных условий по крайней мере на 50%. Для проекта это предполагает, как минимум, одно из ограничений: üПлан проекта сжат наполовину; üКоличество разработчиков уменьшено более чем наполовину в сравнении с действительно необходимым для проекта данного размера и масштаба; üБюджет и связанные с ним ресурсы урезаны наполовину; üТребования к функциям, возможностям, производительности и другим техническим характеристикам вдвое превышают нормальные значения
Способы преодоления кризиса: Организация и контроль процесса разработки ПО; Прогнозирование стоимости, сроков и качества результатов разработки ПО; Развитие методик выявления и анализа требований к создаваемому ПО
ВЫВОД: Реализация перечисленных требований приводит к необходимости перехода от «кустарных» к индустриальным способам создания ПО; появлению совокупности инженерных методов и средств создания программных продуктов (ПП), объединённым общим названием «программная инженерия» (Software Engineering).
Эволюция подходов к управлению программными проектами «Как получится» . Полное доверие техническим лидерам. Представители бизнеса практически не участвует в проекте. Планирование отсутствует, время и бюджет не контролируются. «Водопад» или каскадная модель. Жесткое управление, чрезмерное планирование, поэтапное решение задачи без возможности изменений. «Гибкое управление» . Жесткое планирование, но не следование плану, итерационная разработка с частыми поставками.


