1. M.Sc. Javier David Chávez Centeno
DEPARTAMENTO ACADÉMICO DE INFORMÁTICA
jdchavez5@hotmail.com
CUSCO – PERÚ
2013
2. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 2Dpto Académico de Informática
Procesos de Software
Ley de Brooks
«Cuanto más gente se agregue a un proyecto de
software ya retrasado más se retrasa el proyecto»
Fred Brooks
3. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 3Dpto Académico de Informática
CONTENIDO
2. Métodos y Metodologías
2.1 Modelo de Proceso de Software
2.2 Ciclo de vida Clásico y Ciclo de Vida Actual
- Modelo en cascada
- Modelo incremental
- Modelo en espiral
2.3 Proceso Unificado Racional
Bibliografía
Lecturas
4. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 4Dpto Académico de Informática
Los Métodos definen las reglas para las distintas
transformaciones dentro de las actividades o fases. Las
Metodologías definen el conjunto de métodos.
Una Metodología es un conjunto de
filosofías, fases, procedimientos, reglas, técnicas, herrami
entas y documentación. Una metodología es un conjunto
de componentes que especifican:
- Cómo se debe dividir un proyecto en etapas
- Qué tareas se llevan a cabo en cada etapa
- Qué salidas se producen y cuándo se deben producir
- Qué restricciones se aplican
- Qué herramientas se van a utilizar
- Cómo se gestiona y controla un proyecto
5. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 5Dpto Académico de Informática
Una metodología puede seguir uno o varios modelos de ciclos de
vida. El ciclo de vida indica qué es lo que hay que obtener a lo
largo del desarrollo del proyecto, pero no cómo. Esto sí debería
indicar la metodología. Las necesidades principales que debe cubrir
una metodología son:
Mejores aplicaciones
Un mejor proceso de
desarrollo
Un proceso estándar
en la organización
El seguimiento de una metodología no basta para asegurar la
calidad del producto final.
Que identifique las salidas (o productos intermedios) de cada
fase de forma que se pueda planificar y controlar el
proyecto.
Que aporte claros beneficios (por ejemplo, una mayor
integración entre los sistemas y una mayor facilidad en el
cambio del personal de un proyecto a otro).
6. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 6Dpto Académico de Informática
Un proceso es una serie de acciones u operaciones
que conducen a un fin. El modelo de proceso
define un orden para llevar a cabo los distintos
aspectos del proceso. El modelo de proceso se
puede definir como un grupo de estrategias,
actividades, métodos y tareas, que se organizan
para lograr un conjunto de metas y objetivos. Una
estrategia es un plan para llevar a cabo un
objetivo, en nuestro caso el desarrollo de software,
una estrategia básica se relaciona con el tipo de
arquitectura que se desea crear, las estrategias
básicas escogidas afectan directamente el tipo de
programación y los lenguajes que se utilizaran.
7. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 7Dpto Académico de Informática
Una actividad o fase
(requisitos, análisis, diseño, implementación, prue
bas, integración, documentación y mantenimiento)
es una unidad para llevar a cabo cierto aspecto de
un proceso. Las actividades dependen de la
arquitectura de software y deben ser simples de
aprender y usar y deben suficientemente
poderosas para expresar la información requerida
para modelar el sistema.
Un método es un procedimiento que define las
tareas que deben llevarse a cabo para satisfacer la
actividad. Análisis Estructurado y AOO son
ejemplos de diferentes métodos para hacer el
análisis, cada uno con sus propias tareas.
8. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 8Dpto Académico de Informática
Una tarea es un grupo relacionado de acciones
contribuyendo a una acción mayor. Cada método
define un conjunto de tareas a llevarse a cabo para
lograr los objetivos deseados.
Además el modelo de proceso también abarca
aspectos como la planeación (definir cómo se
llevarán a cabo las diversas etapas del
proceso), autoridad (definir cómo se puede influir
para llegar a donde se quiere), predicción
(describir a donde se va a llegar), evaluación
(describir donde se encuentra el proceso
actualmente) y rastreabilidad (describir cómo se
logró un resultado particular
9. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 9Dpto Académico de Informática
Una notación (elementos gráficos, textuales o
ambos) se usa para comunicar el resultado de
aplicar un método. Una buena notación debe tener
suficiente poder de expresividad para modelar
conceptos a nivel del detalle deseado, es una que
se puede aprender rápidamente, donde sus
símbolos tienen sentido y son intuitivos. Las
notaciones deben comunicar información de
manera que minimicen la sorpresa del lector. Se
recomienda en lo posible utilizar una notación
estándar. Por ejemplo la notación UML (Lenguaje
de Modelado Unificado).
10. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 10Dpto Académico de Informática
A lo largo de la historia se han propuesto
diferentes paradigmas o ciclos de vida para el
desarrollo de software: desde el Ciclo de Vida en
Cascada (Waterfall – Royce, 1970), y sus
refinamientos
(Boehm, 1981), (Sommerville, 1985), (Sigwart, 19
90). El Ciclo de Vida Incremental (Lehman, 1984).
El Ciclo de Vida en Espiral (Boehm, 1988), hasta
los más recientes Ciclos de Vida Orientados a
Objetos. Cada uno de estos presenta ventajas y
desventajas.
11. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 11Dpto Académico de Informática
12. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 12Dpto Académico de Informática
13. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 13Dpto Académico de Informática
14. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 14Dpto Académico de Informática
«Estándar IEEE para el Desarrollo de
Procesos del Ciclo de Vida del Software –
IEEE, 1991», y
«Proceso del ciclo de vida del software –
ISO, 1994».
Las organizaciones internacionales se han venido ocupando
del ciclo de vida del software y, después de varios años de
trabajo han publicado normas tales como:
15. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 15Dpto Académico de Informática
Norma IEEE 1074, entiende por ciclo de vida del
software “una aproximación lógica a la adquisición, el
suministro, el desarrollo, la explotación y el
mantenimiento del software”.
Norma ISO 12207–1, entiende por modelo de ciclo
de vida “un marco de referencia que contiene los
procesos, las actividades y las tareas involucradas en
el desarrollo, la explotación y el mantenimiento de un
producto de software, abarcando la vida del sistema
desde la definición de los requisitos hasta la
finalización de su uso”.
En la Norma ISO 12207-1, las actividades se agrupan
en 5 procesos principales, 8 procesos de soporte y 4
procesos generales (de la organización), como se
muestra a continuación:
16. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 16Dpto Académico de Informática
Norma ISO 12207–1
PROCESOS PRINCIPALES PROCESOS DE SOPORTE
Adquisición Documentación
Suministro Gestión de la Configuración
Explotación
Desarrollo
Mantenimiento
Aseguramiento de la Calidad
Verificación
Validación
Revisión Conjunta
Auditoria
Resolución de Problemas
PROCESOS DE LA ORGANIZACION
Gestión Infraestructura
Mejora Formación
17. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 17Dpto Académico de Informática
18. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 18Dpto Académico de Informática
Bibliografía
1. Pressman, R. (2005). Ingeniería del Software. México:
McGraw-Hill. 6ta ed. cap. 2.
2. Sommerville, I. (2011). Ingeniería de Software. México:
Pearson. 9na ed. cap. 2.
3. Weitzenfeld, A. (2004). Ingeniería de Software Orientada
a Objetos con UML, Java e Internet, Cengage: Thomson.
cap. 2.
Lecturas obligatorias
Modelos agiles de proceso
[1]. pp. 84-98