Guia de ing. de sw
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 consideran referentes en los temasque 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 Registradas deben tener unaautorizació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 editadas por INTECO es únicamenteformativo, 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. 2. DESCRIPCIÓN DE LA GUÍA INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE 2.1. Software 2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.2. 2.2.1. 2.2.2. 2.2.3. 2.2.4. 2.2.5. 2.2.6. 3. Componentes del software Características del software Tipos de software Aplicaciones del software Historia Etapas Objetivo primario de la ingeniería del software Relevancia de la ingeniería del software Principios de la ingeniería del software Capas 7 8 8 8 9 11 11 13 14 15 16 17 18 19 24 24 24 25 25 28 30 31 32 35 37 39 39 41 41 44 45
Ingeniería del software
CICLOS DE VIDA DE DESARROLLO DEL SOFTWARE 3.1. 3.2. Ciclos de vida 3.1.1. 3.2.1. 3.2.2. 3.2.3. 3.2.4. 3.2.5. 3.2.6. 3.3. Tipos de modelo de ciclo de vida Modelo en cascada Modelo en V Modelo iterativo Modelo de desarrollo incremental Modelo en espiral Modelo de Prototipos Modelos de ciclo de vida
ISO/IEC 12207
4. METODOLOGÍAS DE DESARROLLO DE SOFTWARE 4.1. 4.2. 4.3. Definición de metodología Ventajas del uso de una metodología Metodologías tradicionales y ágiles
5.
DESARROLLO ITERATIVO E INCREMENTAL 5.1. La idea básica
Ingeniería del software: Metodologías y ciclos de vida
4
5.2. 5.3. 5.4.
Debilidades en el modelo Rapid Application Development (RAD) Rational Unified Process (RUP) 5.4.1. 5.4.2. 5.4.3. Módulos de RUP (building blocks) Fases del ciclo de vida del proyecto Certificación
46 46 49 49 50 50 51 52 53 54 54 54 55 55 56 57 57 58 58 59 64 67 70 72 72 74 77 78 80 81 82 83
5.5. 6.
Desarrollo ágil
DESARROLLO ÁGIL 6.1. 6.2. Historia Comparación con otros métodos 6.2.1. 6.2.2. 6.2.3. 6.3. 6.4. Comparación con otros métodos dedesarrollo iterativos Comparación con el modelo en cascada Comparación con codificación “cowboy”
Idoneidad de los métodos ágiles El manifiesto ágil 6.4.1. 6.4.2. Manifiesto para el desarrollo de software ágil Principios detrás del manifiesto ágil Gestión de proyectos Extreme Programming (XP) SCRUM Dynamic Systems Development Method (DSDM) Otros métodos ágiles Test Driven Development (TDD)...
Regístrate para leer el documento completo.