desarrollo de software
METODOLOGÍAS Y CICLOS
DE VIDA
Laboratorio Nacional de Calidad del
Software
Marzo 2009
NOTA DE EDICIÓN
Esta guía ha sido desarrollada por el Laboratorio Nacional de Calidad del Software de
INTECO. Esta primera versión ha sido editada en Marzo de 2009.
Ingeniería del software: Metodologías y ciclos de vida
2
AVISO LEGAL
•
CMMI® es una marcaregistrada en la Oficina de Marcas y Patentes de EEUU por la
Universidad Carnegie Mellon
•
Las distintas normas ISO mencionadas han sido desarrolladas por la International
Organization for Standardization.
Todas las demás marcas registradas que se mencionan, usan o citan en la presente guía
son propiedad de los respectivos titulares.
INTECO cita estas marcas porque se consideranreferentes en los temas que se tratan,
buscando únicamente fines puramente divulgativos. En ningún momento INTECO busca con
su mención el uso interesado de estas marcas ni manifestar cualquier participación y/o
autoría de las mismas.
Nada de lo contenido en este documento debe ser entendido como concesión, por
implicación o de otra forma, y cualquier licencia o derecho para las Marcas Registradasdeben tener una autorización escrita de los terceros propietarios de la marca.
Por otro lado, INTECO renuncia expresamente a asumir cualquier responsabilidad
relacionada con la publicación de las Marcas Registradas en este documento en cuanto al
uso de ninguna en particular y se eximen de la responsabilidad de la utilización de dichas
Marcas por terceros.
El carácter de todas las guías editadaspor INTECO es únicamente formativo, buscando en
todo momento facilitar a los lectores la comprensión, adaptación y divulgación de las
disciplinas, metodologías, estándares y normas presentes en el ámbito de la calidad del
software.
Ingeniería del software: Metodologías y ciclos de vida
3
ÍNDICE
1.
DESCRIPCIÓN DE LA GUÍA
7
2.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE8
2.1.
8
Software
2.1.1.
8
2.1.2.
Características del software
9
2.1.3.
Tipos de software
11
2.1.4.
2.2.
Componentes del software
Aplicaciones del software
11
Ingeniería del software
13
2.2.1.
Historia
14
2.2.2.
Etapas
15
2.2.3.
Objetivo primario de la ingeniería del software
16
2.2.4. Relevancia de la ingeniería del software
17
2.2.5.
Principios de la ingeniería del software
18
2.2.6.
Capas
19
CICLOS DE VIDA DE DESARROLLO DEL SOFTWARE
24
3.1.
Ciclos de vida
24
3.1.1.
3.
24
3.2.
Tipos de modelo de ciclo de vida
25
3.2.1.
Modelo en cascada
25
3.2.2.
Modelo en V
28
3.2.3.
Modelo iterativo
30 3.2.4.
Modelo de desarrollo incremental
31
3.2.5.
Modelo en espiral
32
3.2.6.
3.3.
Modelos de ciclo de vida
Modelo de Prototipos
35
ISO/IEC 12207
37
METODOLOGÍAS DE DESARROLLO DE SOFTWARE
39
4.1.
Definición de metodología
39
4.2.
Ventajas del uso de una metodología
41
4.3.
4.
Metodologías tradicionales y ágiles41
DESARROLLO ITERATIVO E INCREMENTAL
44
5.1.
5.
45
La idea básica
Ingeniería del software: Metodologías y ciclos de vida
4
5.2.
Debilidades en el modelo
46
5.3.
Rapid Application Development (RAD)
46
5.4.
Rational Unified Process (RUP)
49
5.4.1.
Módulos de RUP (building blocks)
49
5.4.2.
Fases del ciclo de vida delproyecto
50
5.4.3.
Certificación
50
5.5.
6.
Desarrollo ágil
51
DESARROLLO ÁGIL
52
6.1.
Historia
53
6.2.
Comparación con otros métodos
54
6.2.1.
Comparación con otros métodos de desarrollo iterativos
54
6.2.2.
Comparación con el modelo en cascada
54
6.2.3.
Comparación con codificación “cowboy”
55
6.3. ...
Regístrate para leer el documento completo.