Vous êtes sur la page 1sur 50

Ciclo de vida de Software

Sesin 02 Evolucin 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 diseo 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
Nmero de usuarios Nmero de transacciones

Distribucin del software

Cambio de operaciones
Ampliacin Integracin con otros sistemas Basado en el libro AIHC: http://www.aIHC.es/libro/

Definicin Formal
ISO/IEC 12207 Information Technology / Software Life Cycle Processes Estndar 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 explotacin y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso.

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

Actividades
Modelo en cascada
Anlisis Diseo Codificacin Integracin

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

Modelo en Cascada
Inconveniencias Rgido, difcil de rectificar Documentacin 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.aIHC.es/libro/

Modelo en Espiral
Solucin Construccin E E Evaluacin Diseo E E
A C A C A C A

D
D D D

Anlisis

Prototipado Iterativo o Diseo Espiral

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

Diseo Centrado en el Usuario

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

Anlisis
Entrada Conocimiento del dominio de la aplicacin, actividades de los usuarios, mercado, etc. Actividades Identificar las necesidades del usuario Anlisis de viabilidad Determinar los requerimientos de la aplicacin Salida Documento de requerimientos del software

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

Diseo
Entrada Documento de requerimientos del software Actividades Establecer estrategia de solucin Anlisis de alternativas. Formalizar la solucin Descomponer y organizar la aplicacin Fijar descripciones de cada mdulo Salida Documento de diseo del software UML (Universal Modeling Language)

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

Codificacin
Entrada Documento de diseo del software Actividades Creacin del cdigo fuente Pruebas de unidades Salida Cdigo de mdulos, probado

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

Integracin. Validacin
Entrada Cdigo de mdulos, probado Documento de requerimientos del software (validacin) Actividades Pruebas de integracin Pruebas de validacin Salida Aplicacin completa, lista para usar

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

Mantenimiento
Entrada Software listo para usar Actividades Instalacin Uso en paralelo Implementacin Nuevos requerimientos, correcciones y modificaciones Soporte de usuarios Salida Aplicacin respondiendo a las necesidades actuales

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

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

Estndares de Software + IEEE/EIA 12207

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

Primero hablemos de Calidad


La Ingeniera de Software tiene como La produccin de software de alta calidad. Pero qu es la calidad del software? objetivo principal:

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

Calidad del Software


Calidad del PRODUCTO Calidad del PROCESO Ambos estn relacionados Sin un buen proceso de desarrollo es casi imposible obtener un buen producto

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

Ingeniera de Software y Calidad

Herramientas Mtodos Procesos Enfoque de Calidad

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

Definiciones de calidad
Conformidad con los requisitos y confianza en el funcionamiento, Deming Adecuacin para su uso, Juran Hacerlo bien a la primera, Crosby

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

Definiciones - Calidad
Segn estndares internacionales: La calidad es la suma de todos aquellos aspectos o caractersticas de un producto o servicio que influyen en su capacidad para satisfacer las necesidades, expresadas o implcitas (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/

Calidad del Software


La calidad es algo relativo: Siempre depender de los requisitos o necesidades que se deseen satisfacer. La evaluacin de la calidad de un producto siempre implicar una comparacin entre los requisitos preestablecidos y el producto desarrollado

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

Calidad del Software


Diferentes visiones de la calidad: Necesaria o requerida: la que quiere el cliente. Programada o especificada: la que se ha especificado explcitamente y se intenta conseguir. Realizada: la que se ha conseguido. El objetivo es conseguir que las tres visiones coincidan

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

Estndares de Software IEEE

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

Modelos de Calidad de SW
Nos ayudan a definir la calidad del software de una forma ms precisa y til. Un modelo de calidad es definido jerrquicamente.

Calidad del Software Factores de Calidad


Punto de vista del producto software, tambin llamados Atributos de Calidad Internos Punto de vista del usuario, tambin llamados Atributos de Calidad Externos

Criterios de Calidad del Producto

Mtricas del Producto

Medidas cuantitativas del producto

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

Importancia
Segn su uso: Mejoramiento del producto Proteccin al comprador Proteccin al negocio Incrementa la disciplina profesional Introduccin de tecnologa

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

Mejoramiento del Producto


Estndares IEEE son voluntarios. La organizacin que los adoptan lo hace para mejorar sus productos o mejora la percepcin de sus productos en el mercado Los estndares pueden mejorar los procesos de negocios permitiendo desarrollar sus productos con costos mas apropiados.

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

Proteccin al comprador
Con muchos productos disponibles el comprador toma decisiones basadas en propaganda, folletos, experiencias anteriores con el vendedor o examinacin directa. La creciente complejidad de productos tecnolgicos causa inevitablemente la imposibilidad de examinar muchos aspectos que se mantiene ocultos hasta despus de ser adquiridos. Los estndares pueden jugar un rol cuando proveen informacin precisa acerca de la adecuacin de los productos para usos especficos.

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

Proteccin al negocio
Litigios Estndares pueden respaldar la defensa en casos en que se pretende demostrar negligencia. Respaldo El adherirse voluntariamente a estndares respalda la seriedad y confiabilidad de la empresa que as lo hace. Contratos En situaciones contractuales la aplicacin adecuada de estndares protegen a ambas partes divide responsabilidades, clarifica terminologa y define procedimientos esperados.

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

Incrementa la Disciplina Profesional


La existencia de estndares y uso de los mismo es un paso importante en la formalizacin de la Ingeniera de Software. Define los mtodos esperados en la practica responsable de la ingeniera de software.

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

Introduccin de Tecnologa
Segn SEI, los estndares juegan un rol vital en la transicin tecnolgica.

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

Estandares IEEE SESC


(Software Engineering Standards Comitee)


Alrededor de 50 4 volmenes, 2,300 paginas Cada uno de estos estndares toma de 2 a 4 aos en ser elaborados. Costo 2,000 a 10,000 US$ por pgina Precio de venta 300-400 US$, para miembros de IEEE

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

Objetivos Organizacionales
Diferentes motivos por los cuales una organizacin adopta estos estndares: Mejorar y evaluar su capacidad tomado en cuanta estos aspectos: Calidad Satisfaccin del Cliente Productividad Madurez de los procesos Tecnologa

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

Objetivos Organizacionales
Proveer el marco y terminologa para un contrato de dos partes. Proceso de adquisicin Proceso de provisin Proceso de ciclo de vida Documentos (entregas) durante el ciclo de vida Evaluar los productos de la Ingeniera de SW Mediciones externas (producto final) Mediciones internas (productos incompletos, intermedios)

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

Objetivos Organizacionales
Asegurar niveles altos para el software Planificacin Desempeo Evaluacin

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

Organizacin
Organizacin orientada a objetos de la IS
ayuda Proceso desempea interacta con Cliente Proyecto produce Agente
Producto

transforma

usa se aplican a Recurso

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

Estndares IEEE
610.12-1990 Standard Glossary of Software Engineering Terminology 730-2002, Standard for Software Quality Assurance Plans 828-1998, Standard Management Plans for Software Configuration 1012a-1998, Supplement to Standard Software Verification and Validation for 1016-1998, Recommended Practice for Software Design Descriptions 1028-1997, Standard for Software Reviews 1044-1993, Standard Classification for Software Anomalies 1045-1992, Standard for Software Productivity Metrics 1058-1998, Standard for Software Project Management Plans 1061-1998, Standard for a Software Quality Metrics Methodology 1062-1998, Recommended Practice for Software Acquisition 1063-2001, Standard Documentation for Software User

829-1998, Standard for Software Test Documentation 830-1998, Recommended Practice for Software Requirements Specifications 982.1-1988, Standard Dictionary of Measures to Produce Reliable Software 1008-1987 (R1993), Standard for Software Unit Testing 1012-1998, Standard for Software Verification and Validation IEEE/EIA 12207.0-1996, Industry Implementation of International Standard ISO/IEC 12207: 1995 IEEE/EIA 12207.1-1996, IEEE/EIA 12207.2-1997,

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

1074-1997, Standard for Developing Software Life Cycle Processes

Estndares IEEE (cont.)


1175.1-2002, Guide for CASE Tool Interconnections Classification and Description 1219-1998, Standard for Software Maintenance 1220-1998, Standard for the Application Management of the Systems Engineering 1228-1994, Standard for Software Safety Plans 1233-1998, Guide for Developing System Requirements Specifications 1320.1-1998, Standard for Functional Language-Syntax and Semantics for IDEF0 1320.2-1998, Standard for Conceptual Language Syntax and Semantics... Modeling Modeling and 1420.1a-1996, Supplement to Standard for Information Technology-Software Reuse-Data 1420.1b-1999, IEEE Trial-Use Supplement to Standard for Information 1462-1998, Standard - Adoption of International Standard ISO/IEC 14102: 1995; 1465-1998, Standard Adoption of International Standard ISO/IEC 12119: 1994(E) 1471-2000, Recommended Practice for Architectural Description of Software Intensive 1490-1998, Guide - Adoption of PMI Standard - A Guide to the Project Management Body of Knowledge 1517-1999, IEEE Standard for Information Technology-Software Life Cycle Processes-Reuse 1540-2001, Standard for Software Life Cycle ProcessesRisk Management 2001-2002, Recommended Practice Practices - Web Page Engineering for Internet

1362-1998, Guide for Information Technology-System Definition-Concept of Operations 1420.1-1995, Standard for Information Technology-Software Reuse-Data Model for Reuse

Adoption of Basado en14143.1-2000, el libro AIHC: Information http://www.aIHC.es/libro/

ISO/IEC 14143-1:1998 Technology-Software

IEEE/EIA 12207

Tecnologa de la Informacin

Procesos del Ciclo de Vida del Software


Establece un marco comn para el software a travs de sus ciclo de vida, desde la concepcin hasta el retiro del mismo. Enfoca los procesos del software desde el punto de vista tcnico del sistema y desde el punto de vista comercial de la empresa. Es considerado ampliamente como base para el comercio mundial de software. Su adopcin es completa o en camino de serla en los pases mas desarrollados.

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

Estructura del IEEE/EIA 12207


Procesos Primarios del Ciclo de Vida Adquisicin Suministro Aseguramiento de la Calidad Verificacin Operacin Desarrollo Mantenimiento Resolucin de Problemas Validacin Revisin Conjunta Auditora Procesos de Soporte al Ciclo de Vida Documentacin Gestin de la Configuracin

Procesos Organizacionales del Ciclo de Vida


Administracin/Gestin Mejoramiento Infraestructura

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

Organizacin
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.es/libro/

Actividad n Tarea 1 Tarea 2 Tarea n

IEEE/EIA 12207 - Procesos Primarios


Adquisicin Iniciacin Anlisis de requerimientos (int. - ext.) Eleccin de software (empaquetado, desarrollo int. - ext. ,etc) Plan de adquisicin Requisitos - Uso planeado del sistema - Tipo de contrato Responsabilidades - Soporte a emplearse - Riesgos y metodos Pliego de especificaciones y condiciones Requisitos del sistema Alcance Instrucciones para los ofertantes Lista de los productos software Trminos y condiciones Control de subcontratos Basado en el libro AIHC: Restricciones tcnicas http://www.aIHC.es/libro/

IEEE/EIA 12207 - Procesos Primarios


Suministro Iniciacin Revisin de los requisitos tomando en cuenta las reglas de la organizacin Tomar la decisin de proponer o aceptar contrato Preparacin de la propuesta El ofertante debe definir y preparar la oferta incluyendo la adecuacin de este estndar al proyecto. Contrato El ofertante negociar y firmar contrato El ofertante podr solicitar cambios al contrato

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

IEEE/EIA 12207 - Procesos Primarios


Adquisicin (cont.) Preparacin y actualizacin de contrato Establecer procedimientos de seleccin Eleccin del proveedor Preparacin y negociacin del contrato Control y negociacin de cambios al contrato Supervisin del proveedor Se supervisara al proveedor de acuerdo a un Procesos de Revisin Conjunta y a un Proceso de Auditora preestablecidos, suplementando a los procesos de Verificaciny Validacin Aceptacin y finalizacin Preparacin para la aceptacin del sistema de acuerdo a la estrategia definida inicialmente. Preparacin de casos para las Basado en el libro AIHC: pruebas, datos, procedimientos y ambientes deben ser http://www.aIHC.es/libro/ incluidos.

IEEE/EIA 12207 - Procesos Primarios


Suministro (cont.) Planificacin Establecer marco de administracin del proyecto Seleccin del ciclo de vida (si no fue estipulado) Establecer requisitos para el plan (recursos y participacin del cliente) Considerar opciones de desarrollo y prestacin de servicios Recursos internos Sub-contratacin Empaquetados de procedencia o externa Basado en elinterna libro AIHC: Combinacin de los puntos anteriores http://www.aIHC.es/libro/

IEEE/EIA 12207 - Procesos Primarios


Suministro (cont.) Planificacin (cont.) Desarrollo del plan considerando:
Organizacin del proyecto Ambiente de ingeniera Actividades del ciclo de vida y su sub-divisin Gestin de la Calidad de los productos o servicios Gestin de la Seguridad Supervisin y administracin de sub-contratistas Aseguramiento de la Calidad Verificacin y validacin Involucramiento del cliente Involucramiento del usuario Gestin de Riesgos Seguridad Medios para planificar tiempos, controlar y reportar Basado en el libro AIHC: Capacitacin del personal http://www.aIHC.es/libro/

IEEE/EIA 12207 - Procesos Primarios


Suministro (cont.) Ejecucin y control Revisiones y evaluacin Entrega y finalizacin

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

IEEE/EIA 12207 - Proceso de Desarrollo


1 - Seleccin e Implementacin de un proceso de ciclo de vida 2 - Anlisis de requisitos del sistema 3 - Diseo arquitectnico del sistema 4 - Anlisis de requisitos del software 5 - Diseo detallado del software 6 - Codificacin y pruebas del software 7 - Integracin del software 8 - Pruebas de calificacin del software 9 - Integracin del sistema 10 - Pruebas de calificacin del sistema 11 - Instalacin del software 12 - Soporte al software

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

Ciclo de Vida CASCADA

Componente del Software 1

Pruebas de calificacin del Software Integracin del Software Codificacin y pruebas del Software Diseo detallado del software Diseo arquitectnico del software Anlisis de requisitos del software Componente del Software n ... Componentes de Hardware

Instalacin del Software Pruebas de calificacin del Sistema Integracin del Sistema Soporte al Software

Diseo arquitectnico del sistema Anlisis de requisitos del sistema

Basado en el libro AIHC: Aplicacin del IEEE/EIA 12207.0 a la estrategia de desarrollo denominada Cascada http://www.aIHC.es/libro/

IEEE/EIA 12207 - Procesos de Gestin


Administracin/Gestin Iniciacin y definicin de alcances. Planificacin Ejecucin y control Revisin y evaluacin Conclusin / Finalizacin Infraestructura Implantacin de procesos Establecimiento de la infraestructura Mantenimiento de la infraestructura

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

IEEE/EIA 12207 - Procesos de Gestin


Mejoramiento Establecimiento de procesos Valoracin de procesos Mejoramiento de procesos Capacitacin Implantacin del Proceso Desarrollo de materiales de capacitacin Implantacin del plan de capacitacin.

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