- •Технология разработки
 - •Введение в программную инженерию
 - •Программная инженерия
 - •Программная инженерия –
 - •Области знаний SWEBOK, 2004
 - •Больше проект – больше проблем
 - •Некоторые факты - 1
 - •Некоторые факты - 2
 - •Сложность программных продуктов
 - •Причины провалов проектов
 - •Пути к успеху
 - •Ключ к успеху
 - •Процесс разработки ПО –
 - •Процесс описывает:
 - •Характеристики процесса
 - •Пример блок-схемы процесса (CQG)
 - •Жизненный цикл разработки ПО
 - •Водопадный жизненный цикл
 - •Итерационный жизненный цикл
 - •Водопадный Итерационный
 - •Пример жизненного цикла (CQG)
 - •Capability Maturity Model
 - •Уровни CMM
 - •Что следует запомнить
 



 Технология разработки




программного



обеспечения
Савкин Вадим Сергеевич 
 vadim.savkin@gmail.com


Введение в программную 





инженерию 





Жизненный цикл и процесс 
 разработки ПО
Программная инженерия

«Применение систематического,

 дисциплинированного, поддающегося
количественному определению подхода
к разработке, эксплуатации и
сопровождению программного 
 обеспечения»
[IEEE 1990]
Технология разработки ПО  | 
	3  | 
Программная инженерия –

Нечто большее, чем просто написание

 программного кода (coding) и включает
в себя аспекты качества, управления
и
экономики, а также знание и
применение на практике этих

 принципов и дисциплин 
Технология разработки ПО  | 
	4  | 
Области знаний SWEBOK, 2004
 Software requirements – программные требования

 Software design – дизайн (архитектура) 
Software construction – конструирование программного
обеспечения
Software testing - тестирование
Software maintenance – эксплуатация (поддержка) программного 
 обеспечения





Software configuration management – конфигурационное управление
Software engineering management – управление в программной инженерии
Software engineering process – процессы программной инженерии 

 Software engineering tools and methods – инструменты и методы
 Software quality – качество программного обеспечения
Технология разработки ПО  | 
	5  | 
  | 
	Размер проектов всё больше  | 
|||||||||
кода)  | 
	10,000,000  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
1,000,000  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
100,000  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
строк  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
10,000  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
1,000  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
(тыс.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
100  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Размер  | 
	10  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	Закон Мура:  | 
|
0  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	производительность  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	удваивается  | 
|
  | 
	0  | 
	5  | 
	0  | 
	5  | 
	0  | 
	5  | 
	0  | 
	5  | 
	0  | 
|
  | 
	
  | 
|||||||||
  | 
	6  | 
	6  | 
	7  | 
	7  | 
	8  | 
	8  | 
	9  | 
	9  | 
	0  | 
	каждые 18 мес  | 
  | 
	9  | 
	9  | 
	9  | 
	9  | 
	9  | 
	9  | 
	9  | 
	9  | 
	0  | 
|
  | 
	1  | 
	1  | 
	1  | 
	1  | 
	1  | 
	1  | 
	1  | 
	1  | 
	2  | 
|
[данные SEI, 2000 г.]
Технология разработки ПО  | 
	6  | 
Больше проект – больше проблем
Размер  | 
	Разработчики  | 
|
проекта  | 
||
  | 
||
Менее $750K  | 
	6  | 
|
От $750K до  | 
	12  | 
|
$1.5M  | 
||
  | 
||
От $1.5M до  | 
	25  | 
|
$3M  | 
||
  | 
||
От $3M до  | 
	40  | 
|
$6M  | 
||
  | 
||
От $6M до  | 
	+250  | 
|
$10M  | 
||
  | 
||
Более $10M  | 
	+500  | 
Время





 (месяцы) 

6 
 9
12
18
+24
+36
%успеха 
55% 

33%


25%
15%
8%
0% 
[данные SEI, 2000 г.]
Технология разработки ПО  | 
	7  | 
Некоторые факты - 1

18% всех проектов по разработке ПО


 никогда не завершаются




53% всех проектов по разработке ПО 
завершаются с перерасходом бюджета в 
среднем на 56% и превышением сроков
 на 84%
только 29% проектов укладываются в 
 срок и бюджет 


[данные исследований Standish Group, 2004]
Технология разработки ПО  | 
	8  | 
Некоторые факты - 2
Министерство по налогам и сборам США

 провалило $8 млрд проект модернизации информационной системы, что стоило $50
млрд несобранных налогов 

Ракета Ariane 5 в 1996 взорвалась через 37

секунд после старта из-за бага в ПО
 В аэропорту Хитроу в марте-апреле 2008
воцарился хаос из-за сбоя в работе 
 компьютерных систем при открытии нового 5- го терминала 


Технология разработки ПО  | 
	9  | 
Сложность программных продуктов

Программные продукты относятся к


 самым сложным системам, которые создаются человеком, и программное 
обеспечение по самой своей
природе
обладает рядом существенных и
 неотъемлемых свойств (таких как
сложность, незримость и

 изменяемость), которые затрудняют 
 работу. 

Ф. Брукс, 1995
Технология разработки ПО  | 
	10  | 
