You are on page 1of 50

Ciclo de vida de Software

Sesión 02 Evolución del Software

GIANNCARLO GOMEZ MORALES

ggomezm@continental.edu.pe

Concepto
 El software nace, crece y muere
– Es su ciclo de vida – Nace con sus requerimientos y diseño – Crece con su desarrollo y mantenimiento – Muere cuando se reemplaza por otro

 Software obsoleto
Basado en el libro AIHC: http://www.aIHC.es/libro/

Software Obsoleto
 Razones
– Crecimiento de la empresa
• Cambio de los requerimientos originales
– Número de usuarios – Número de transacciones

• Distribución del software

– Cambio de operaciones
• Ampliación • Integración con otros sistemas Basado en el libro AIHC: http://www.aIHC.es/libro/

Definición Formal
 ISO/IEC 12207 – Information Technology / Software Life Cycle Processes – Estándar para los procesos de ciclo de vida del software “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”.

Basado en el libro AIHC: http://www.aIHC.es/libro/

Actividades
Modelo en cascada
Análisis Diseño Codificación Integración

Basado en el libro AIHC: Mantenimiento http://www.aIHC.es/libro/

es/libro/ .Modelo en Cascada  Inconveniencias – Rígido.aIHC. difícil de rectificar – Documentación inicial se vuelve obsoleta  Desarrollo evolutivo – Ciclo de vida en espiral – Uso de prototipos (de diversa fidelidad) – Extreme Programming – RAD (Rappid Application Development)  Cambia el proceso pero no las actividades Basado en el libro AIHC: http://www.

Modelo en Espiral Solución Construcción E E Evaluación Diseño E E A C A C A C A C D D D D Análisis Prototipado Iterativo o Diseño Espiral Basado en el libro AIHC: http://www.es/libro/ .aIHC.

aIHC.Diseño Centrado en el Usuario Basado en el libro AIHC: http://www.es/libro/ .

aIHC.Análisis  Entrada – Conocimiento del dominio de la aplicación. mercado.es/libro/ . actividades de los usuarios. etc.  Actividades – Identificar las necesidades del usuario – Análisis de viabilidad – Determinar los requerimientos de la aplicación  Salida – Documento de requerimientos del software Basado en el libro AIHC: http://www.

aIHC.es/libro/ . Formalizar la solución – Descomponer y organizar la aplicación – Fijar descripciones de cada módulo  Salida – Documento de diseño del software – UML (Universal Modeling Language) Basado en el libro AIHC: http://www.Diseño  Entrada – Documento de requerimientos del software  Actividades – Establecer estrategia de solución – Análisis de alternativas.

Codificación  Entrada – Documento de diseño del software  Actividades – Creación del código fuente – Pruebas de unidades  Salida – Código de módulos.es/libro/ . probado Basado en el libro AIHC: http://www.aIHC.

lista para usar Basado en el libro AIHC: http://www. Validación  Entrada – Código de módulos.aIHC.Integración. probado – Documento de requerimientos del software (validación)  Actividades – Pruebas de integración – Pruebas de validación  Salida – Aplicación completa.es/libro/ .

es/libro/ .aIHC. correcciones y modificaciones – Soporte de usuarios  Salida – Aplicación respondiendo a las necesidades actuales Basado en el libro AIHC: http://www.Mantenimiento  Entrada – Software listo para usar  Actividades – Instalación – Uso en paralelo – Implementación – Nuevos requerimientos.

Basado en el libro AIHC: http://www.aIHC.es/libro/ .

Estándares de Software + IEEE/EIA 12207 Basado en el libro AIHC: http://www.es/libro/ .aIHC.

”  Pero qué es la calidad del software? objetivo principal: Basado en el libro AIHC: http://www.Primero hablemos de Calidad  La Ingeniería de Software tiene como “La producción de software de alta calidad.aIHC.es/libro/ .

aIHC.es/libro/ .Calidad del Software  Calidad del PRODUCTO  Calidad del PROCESO – Ambos están relacionados – “Sin un buen proceso de desarrollo es casi imposible obtener un buen producto” Basado en el libro AIHC: http://www.

Ingeniería de Software y Calidad Herramientas Métodos Procesos Enfoque de Calidad Basado en el libro AIHC: http://www.aIHC.es/libro/ .

Juran – “Hacerlo bien a la primera”. Crosby Basado en el libro AIHC: http://www.es/libro/ .Definiciones de “calidad” – “Conformidad con los requisitos y confianza en el funcionamiento”.aIHC. Deming – “Adecuación para su uso”.

Definiciones .es/libro/ .Calidad  Según estándares internacionales: – “La calidad es la suma de todos aquellos aspectos o características de un producto o servicio que influyen en su capacidad para satisfacer las necesidades.aIHC. expresadas o implícitas” (ISO 8402) – “Grado con el cual el cliente o usuario percibe que el software satisface sus expectativas” (IEEE 729-83) – “Capacidad del producto software para satisfacer los requisitos establecidos” (DoD 2168) Basado en el libro AIHC: http://www.

aIHC.es/libro/ . – La evaluación de la calidad de un producto siempre implicará una comparación entre los requisitos preestablecidos y el producto desarrollado Basado en el libro AIHC: http://www.Calidad del Software  La calidad es algo relativo: – Siempre dependerá de los requisitos o necesidades que se deseen satisfacer.

– Programada o especificada: la que se ha especificado explícitamente y se intenta conseguir.aIHC.Calidad del Software  Diferentes visiones de la calidad: – Necesaria o requerida: la que quiere el cliente.  El objetivo es conseguir que las tres visiones coincidan Basado en el libro AIHC: http://www.es/libro/ . – Realizada: la que se ha conseguido.

es/libro/ .aIHC.Estándares de Software IEEE Basado en el libro AIHC: http://www.

Modelos de Calidad de SW  Nos ayudan a definir la calidad del software de una forma más precisa y útil.es/libro/ . Calidad del Software Factores de Calidad Punto de vista del producto software.  Un modelo de calidad es definido jerárquicamente. también llamados Atributos de Calidad Externos Criterios de Calidad del Producto Métricas del Producto Medidas cuantitativas del producto Basado en el libro AIHC: http://www. también llamados Atributos de Calidad Internos Punto de vista del usuario.aIHC.

es/libro/ .aIHC.Importancia  Según su uso: – – – – – Mejoramiento del producto Protección al comprador Protección al negocio Incrementa la disciplina profesional Introducción de tecnología Basado en el libro AIHC: http://www.

 La organización que los adoptan lo hace para mejorar sus productos o mejora la percepción de sus productos en el mercado  Los estándares pueden mejorar los procesos de negocios permitiendo desarrollar sus productos con costos mas apropiados.aIHC.Mejoramiento del Producto  Estándares IEEE son voluntarios.es/libro/ . Basado en el libro AIHC: http://www.

aIHC.  Los estándares pueden jugar un rol cuando proveen información precisa acerca de la adecuación de los productos para usos específicos. experiencias anteriores con el vendedor o examinación directa.es/libro/ . Basado en el libro AIHC: http://www.Protección al comprador  Con muchos productos disponibles el comprador toma decisiones basadas en propaganda. folletos.  La creciente complejidad de productos tecnológicos causa inevitablemente la imposibilidad de examinar muchos aspectos que se mantiene ocultos hasta después de ser adquiridos.

es/libro/ .  Contratos – En situaciones contractuales la aplicación adecuada de estándares protegen a ambas partes divide responsabilidades.Protección al negocio  Litigios – Estándares pueden respaldar la defensa en casos en que se pretende demostrar negligencia. Basado en el libro AIHC: http://www.  Respaldo – El adherirse voluntariamente a estándares respalda la seriedad y confiabilidad de la empresa que así lo hace. clarifica terminología y define procedimientos esperados.aIHC.

Incrementa la Disciplina Profesional  La existencia de estándares y uso de los mismo es un paso importante en la formalización de la Ingeniería de Software. Basado en el libro AIHC: http://www.es/libro/ .aIHC.  Define los métodos esperados en la practica responsable de la ingeniería de software.

los estándares juegan un rol vital en la transición tecnológica. Basado en el libro AIHC: http://www.Introducción de Tecnología  Según SEI.aIHC.es/libro/ .

000 a 10.aIHC.300 paginas Cada uno de estos estándares toma de 2 a 4 años en ser elaborados.es/libro/ . 2. para miembros de IEEE Basado en el libro AIHC: http://www.Estandares IEEE SESC      (Software Engineering Standards Comitee) Alrededor de 50 4 volúmenes.000 US$ por página Precio de venta 300-400 US$. Costo 2.

Objetivos Organizacionales  Diferentes motivos por los cuales una organización adopta estos estándares: – Mejorar y evaluar su capacidad tomado en cuanta estos aspectos: • Calidad • Satisfacción del Cliente • Productividad • Madurez de los procesos • Tecnología Basado en el libro AIHC: http://www.aIHC.es/libro/ .

es/libro/ . • Proceso de adquisición • Proceso de provisión • Proceso de ciclo de vida • Documentos (entregas) durante el ciclo de vida – Evaluar los productos de la Ingeniería de SW • Mediciones externas (producto final) • Mediciones internas (productos incompletos.aIHC. intermedios) Basado en el libro AIHC: http://www.Objetivos Organizacionales – Proveer el marco y terminología para un contrato de dos partes.

Objetivos Organizacionales – Asegurar niveles altos para el software • Planificación • Desempeño • Evaluación Basado en el libro AIHC: http://www.aIHC.es/libro/ .

aIHC.es/libro/ .Organización Organización orientada a objetos de la IS ayuda Proceso desempeña interactúa con Cliente Proyecto produce Agente Producto transforma usa se aplican a Recurso Basado en el libro AIHC: http://www.

Industry Implementation of International Standard ISO/IEC 12207: 1995 IEEE/EIA 12207. Standard for Developing Software Life Cycle Processes .1-1996. Standard for Software Unit Testing 1012-1998.0-1996.Estándares IEEE            610. Standard Management Plans for Software Configuration           1012a-1998.aIHC. Standard for Software Quality Assurance Plans 828-1998. Standard Classification for Software Anomalies 1045-1992.12-1990 Standard Glossary of Software Engineering Terminology 730-2002.es/libro/ 1074-1997. Standard Dictionary of Measures to Produce Reliable Software 1008-1987 (R1993). Standard for Software Project Management Plans 1061-1998. Recommended Practice for Software Requirements Specifications 982. IEEE/EIA 12207. Recommended Practice for Software Acquisition 1063-2001. Standard for a Software Quality Metrics Methodology 1062-1998.2-1997. Supplement to Standard Software Verification and Validation for 1016-1998. Recommended Practice for Software Design Descriptions 1028-1997. Standard for Software Reviews 1044-1993.1-1988. Basado en el libro AIHC: http://www. Standard for Software Verification and Validation IEEE/EIA 12207. Standard Documentation for Software User 829-1998. Standard for Software Test Documentation 830-1998. Standard for Software Productivity Metrics 1058-1998.

el libro AIHC: Information http://www.es/libro/ ISO/IEC 14143-1:1998 Technology-Software . IEEE Trial-Use Supplement to Standard for Information 1462-1998.Estándares IEEE (cont.1-1995. Standard for Software Safety Plans 1233-1998. Recommended Practice Practices . Modeling Modeling      and    1420. Guide for Developing System Requirements Specifications 1320..1-2000.2-1998. Guide for CASE Tool Interconnections Classification and Description 1219-1998.Adoption of International Standard ISO/IEC 14102: 1995. Guide for Information Technology-System Definition-Concept of Operations 1420. Standard Adoption of International Standard ISO/IEC 12119: 1994(E) 1471-2000. 1465-1998.1b-1999. Standard for Conceptual Language Syntax and Semantics. Recommended Practice for Architectural Description of Software Intensive 1490-1998.Web Page Engineering for Internet 1362-1998. Supplement to Standard for Information Technology-Software Reuse-Data 1420. Standard for Software Maintenance 1220-1998. Standard for Software Life Cycle ProcessesRisk Management 2001-2002.1-1998.. Standard for Information Technology-Software Reuse-Data Model for Reuse Adoption of Basado en14143. Standard for Functional Language-Syntax and Semantics for IDEF0 1320. IEEE Standard for Information Technology-Software Life Cycle Processes-Reuse 1540-2001.1-2002. Standard . Guide .Adoption of PMI Standard .)          1175.1a-1996. Standard for the Application Management of the Systems Engineering 1228-1994.A Guide to the Project Management Body of Knowledge 1517-1999.aIHC.

desde la concepción hasta el retiro del mismo.es/libro/ .  Enfoca los procesos del software desde el punto de vista técnico del sistema y desde el punto de vista comercial de la empresa.aIHC. Basado en el libro AIHC: http://www.IEEE/EIA 12207 Tecnología de la Información Procesos del Ciclo de Vida del Software  Establece un marco común para el software a través de sus ciclo de vida.  Su adopción es completa o en camino de serla en los países mas desarrollados.  Es considerado ampliamente como base para el comercio mundial de software.

aIHC.Estructura del IEEE/EIA 12207 Procesos Primarios del Ciclo de Vida Adquisición Suministro Aseguramiento de la Calidad Verificación Operación Desarrollo Mantenimiento Resolución de Problemas Validación Revisión Conjunta Auditoría Procesos de Soporte al Ciclo de Vida Documentación Gestión de la Configuración Procesos Organizacionales del Ciclo de Vida Administración/Gestión Mejoramiento Infraestructura Basado en el libro AIHC: Capacitación http://www.es/libro/ .

aIHC.es/libro/ Actividad n Tarea 1 Tarea 2 … Tarea n .Organización Ciclo de vida Concepto Retirada Proceso 1 … Proceso N Actividad 1 Tarea 1 Tarea 2 … Tarea n … Basado en el libro AIHC: http://www.

aIHC.Soporte a emplearse .ext.Procesos Primarios  Adquisición – Iniciación • Análisis de requerimientos (int.) • Elección de software (empaquetado.etc) • Plan de adquisición – Requisitos .Uso planeado del sistema . desarrollo int. .ext.es/libro/ .Tipo de contrato – Responsabilidades .IEEE/EIA 12207 .Riesgos y metodos – Pliego de especificaciones y condiciones • Requisitos del sistema • Alcance • Instrucciones para los ofertantes • Lista de los productos software • Términos y condiciones • Control de subcontratos Basado en el libro AIHC: • Restricciones técnicas http://www. . .

IEEE/EIA 12207 .es/libro/ .aIHC.Procesos Primarios  Suministro – Iniciación • Revisión de los requisitos tomando en cuenta las reglas de la organización • Tomar la decisión de proponer o aceptar contrato – Preparación de la propuesta • El ofertante debe definir y preparar la oferta incluyendo la adecuación de este estándar al proyecto. – Contrato • El ofertante negociará y firmará contrato • El ofertante podrá solicitar cambios al contrato Basado en el libro AIHC: http://www.

suplementando a los procesos de “Verificación”y “Validación” • Aceptación y finalización – Preparación para la aceptación del sistema de acuerdo a la estrategia definida inicialmente.aIHC. Preparación de casos para las Basado en el libro AIHC: pruebas.es/libro/ incluidos. procedimientos y ambientes deben ser http://www.IEEE/EIA 12207 .) • Preparación y actualización de contrato – Establecer procedimientos de selección – Elección del proveedor – Preparación y negociación del contrato – Control y negociación de cambios al contrato • Supervisión del proveedor – Se supervisara al proveedor de acuerdo a un “Procesos de Revisión Conjunta” y a un “Proceso de Auditoría” preestablecidos. datos. .Procesos Primarios  Adquisición (cont.

Procesos Primarios  Suministro (cont.IEEE/EIA 12207 .aIHC.es/libro/ .) – Planificación • Establecer marco de administración del proyecto • • Selección del ciclo de vida (si no fue estipulado) • • Establecer requisitos para el plan (recursos y participación del cliente) • • Considerar opciones de desarrollo y prestación de servicios – Recursos internos – Sub-contratación – Empaquetados de procedencia o externa Basado en elinterna libro AIHC: – Combinación de los puntos anteriores http://www.

controlar y reportar Basado en el libro AIHC: – Capacitación del personal http://www.es/libro/ .aIHC.) – Planificación (cont.Procesos Primarios  Suministro (cont.IEEE/EIA 12207 .) • Desarrollo del plan considerando: – Organización del proyecto – Ambiente de ingeniería – Actividades del ciclo de vida y su sub-división – Gestión de la Calidad de los productos o servicios – Gestión de la Seguridad – Supervisión y administración de sub-contratistas – Aseguramiento de la Calidad – Verificación y validación – Involucramiento del cliente – Involucramiento del usuario – Gestión de Riesgos – Seguridad – Medios para planificar tiempos.

) – Ejecución y control – Revisiones y evaluación – Entrega y finalización Basado en el libro AIHC: http://www.es/libro/ .aIHC.Procesos Primarios  Suministro (cont.IEEE/EIA 12207 .

Codificación y pruebas del software 7 .Integración del sistema 10 .Selección e Implementación de un proceso de ciclo de vida 2 .Diseño detallado del software 6 .Análisis de requisitos del software 5 .Proceso de Desarrollo 1 .Instalación del software 12 .Análisis de requisitos del sistema 3 .Pruebas de calificación del software 9 .Integración del software 8 .IEEE/EIA 12207 .aIHC.Soporte al software Basado en el libro AIHC: http://www.Pruebas de calificación del sistema 11 .Diseño arquitectónico del sistema 4 .es/libro/ .

.aIHC.Ciclo de Vida “CASCADA” Componente del Software 1 Pruebas de calificación del Software Integración del Software Codificación y pruebas del Software Diseño detallado del software Diseño arquitectónico del software Análisis de requisitos del software Componente del Software n .. Componentes de Hardware Instalación del Software Pruebas de calificación del Sistema Integración del Sistema Soporte al Software Diseño arquitectónico del sistema Análisis de requisitos del sistema Basado en el libro AIHC: Aplicación del IEEE/EIA 12207.0 a la estrategia de desarrollo denominada “Cascada” http://www.es/libro/ .

es/libro/ .aIHC.IEEE/EIA 12207 . – Planificación – Ejecución y control – Revisión y evaluación – Conclusión / Finalización  Infraestructura – Implantación de procesos – Establecimiento de la infraestructura – Mantenimiento de la infraestructura Basado en el libro AIHC: http://www.Procesos de Gestión  Administración/Gestión – Iniciación y definición de alcances.

es/libro/ .Procesos de Gestión  Mejoramiento – Establecimiento de procesos – Valoración de procesos – Mejoramiento de procesos  Capacitación – Implantación del Proceso – Desarrollo de materiales de capacitación – Implantación del plan de capacitación.IEEE/EIA 12207 .aIHC. Basado en el libro AIHC: http://www.