Está en la página 1de 31

UNIVERSIDAD SAN PEDRO CEAIS Barranca Escuela Profesional de Ingeniera Informtica y de Sistemas

INGENIERA DEL SOFTWARE I

Ing. CIP Milton Chumbes Chafalote mchumbes_ch@hotmail.com

Temario

El proceso del software Modelos de proceso de software El modelo lineal secuencial El modelo de construccin de prototipos El modelo DRA Modelos evolutivos de proceso del software Desarrollo basado en componentes El modelo de mtodos formales Principales metodologas

Qu es el proceso del software?


Es el marco de trabajo de las tareas, que se requieren para construir software de alta calidad. Un proceso de software, define el enfoque que se toma cuando el software es tratado por la Ingeniera. La Ingeniera de Software es una tecnologa multicapa como se muestra a continuacin:

HERRAMIENTAS
MTODOS PROCESO UN ENFOQUE DE CALIDAD

El proceso del software

Cualquier enfoque de ingeniera debe apoyarse sobre un compromiso de organizacin de calidad. El fundamento de la Ingeniera del Software es la capa de Proceso. Los Mtodos de la Ingeniera del Software indican cmo construir tcnicamente el software. Las Herramientas de la Ingeniera del Software proporcionan un enfoque automtico o semiautomtico para el proceso y para los mtodos, como los CASE.

Fases Genricas de un Proceso de Software


Fase de Definicin centrado en el QU?. Tareas: La Ingeniera de sistemas o informacin La planificacin de proyectos de software Anlisis de requisitos Fase de Desarrollo centrado en el CMO?. Tareas: El diseo del software La generacin de cdigo Las pruebas de software Fase de Mantenimiento centrado en el CAMBIO. Tareas: Correccin Adaptacin Mejora Prevencin

Qu es un Modelo de proceso del software?


Es una estrategia de desarrollo que los ingenieros de software deben emplear para resolver problemas de la industria de software, deben acompaar al proceso, a los mtodos, las herramientas y las fases genricas. Se seleccionar un modelo de proceso para la Ingeniera del software segn la naturaleza del proyecto y de la aplicacin. El problema es seleccionar el modelo de proceso de software apropiado para la ingeniera de software que debe aplicar el equipo de proyecto

Modelos del proceso del software Modelo lineal secuencial Modelo de construccin de prototipos Modelo de desarrollo rpido de aplicaciones (DRA) Modelos evolutivos: Modelo incremental Modelo espiral Modelo de desarrollo concurrente Modelos de mtodos formales Tcnicas de cuarta generacin

Metodologas de Desarrollo de Software


Son un conjunto de filosofas, fases, procedimientos, reglas, tcnicas, herramientas, documentacin y aspectos de formacin para los desarrolladores de SI. La metodologa de desarrollo de software puede seguir uno o varios modelos de proceso de software. Las metodologas se clasifican en: Convencionales, Estructurales y Orientadas a Objetos Con una metodologa se intenta cubrir necesidades:

Mejores aplicaciones Un proceso de desarrollo que identifica productos intermedios de cada fase de forma que se pueda planificar y controlar el proyecto Un proceso estndar en la organizacin

Criterios generales de seleccin

Costos de oportunidad Presupuesto disponible Plazos para cumplimiento Capacidad de nuestros recursos Polticas de desarrollo Polticas empresariales

MODELO LINEAL

Anlisis

Diseo

Cdigo

Prueba

A
Construir y revisar la maqueta

Entrega 1

A
Escuchar al cliente

D
A A

C
D D C

Entrega 2
P C P Ent.3 Ent4

MODELO DE CONSTRUCCION DE PROTOTIPOS

El cliente prueba la maqueta

MODELO INCREMENTAL

Modelo lineal secuencial o Cascada

Desarrollado entre 19601980 Basado en el modelo en cascada de Winston Royce Se conoce como el ciclo de vida bsico Secuencia de actividades, donde la estrategia principal es seguir el progreso del desarrollo de software hacia puntos de revisin bien definidos mediante entregas calendarizadas

Modelo lineal secuencial o en cascada

Definicin

Anlisis
Diseo Desarrollo Prueba Mantenim. Definicin de requisitos: Las restricciones y metas del sistema se definen a partir de la interaccin con el interesado. Se comprende la naturaleza de la aplicacin y el dominio de informacin, as como su funcionalidad, rendimiento e interconexin Se renen todos los requisitos que debe cumplir el software

Modelo lineal secuencial o en cascada

Definicin

Anlisis
Diseo Desarrollo Prueba Mantenim. Se concentra en cuatro caractersticas bsicas: Estructura de datos Arquitectura del software Representaciones de interfaz Detalle procedimental (algoritmo)

Modelo lineal secuencial o en cascada

Definicin

Anlisis
Diseo Desarrollo Prueba Mantenim. Se llama tambin Implementacin Generacin de cdigo entendible por la mquina Actualmente se investiga mucho sobre la manera de generar cdigo automticamente

Modelo lineal secuencial o en cascada

Definicin

Anlisis
Diseo Desarrollo Prueba Mantenim. Proceso de depuracin de programas Chequear la validez de las sentencias Pruebas para detectar errores, asegurando que a partir de los datos de entrada si se genere la salida deseada

Modelo lineal secuencial o en cascada

Definicin

Anlisis
Diseo Desarrollo Prueba Mantenim. Correccin de errores no detectados en la etapa de pruebas Posibles mejoras funcionales debidas a nuevos requerimientos del cliente En esta fase se vuelven a aplicar todas las etapas anteriores sobre el software existente

Modelo lineal secuencial o en cascada

Definicin

Anlisis
Diseo Desarrollo Prueba

LIMITACIONES
En la realidad no estrictamente secuencial (se traslapan las etapas) El interesado debera exponer los requisitos en la etapa inicial, pero en realidad l lo hace a travs de todo el proceso y esto complica las cosas La primera versin del software llega al final del proceso, a veces el afn del cliente hace que la aplicacin final no cumpla con los requerimientos

Mantenim.

Modelo de Construccin de Prototipos

Comienza con una recoleccin inicial de requisitos para pasar a un diseo rpido y finalmente a la construccin de un prototipo de la solucin.

Etapas del Prototipo

Identificacin de requerimientos conocidos

Desarrollar un Modelo que funcione

Repetir las veces que sea necesario.

Utilizar el Prototipo

Revisar el Prototipeo

NO

Prototipo Terminado
El prototipo no contiene todas las caractersticas del sistema final.

- Abandona - Implanta - Volver a desarrollar - Desarrollar uno nuevo SI

Modelo de Construccin de Prototipos

El desarrollador y el cliente deben ser consientes de que el prototipo se utiliza para precisar los requisitos del software y as evitar inconvenientes como: El cliente cree que el prototipo es una primera versin funcional del Sistema. El desarrollador construye el prototipo rpidamente y en ocasiones sin hacer uso de la tecnologa optima disponible.

Modelo de Desarrollo Rpido de Aplicaciones (DRA)

Basado en el Modelo Lineal Secuencial Modelo llevado a cabo por varias equipos de trabajo que siguen las etapas del proceso de manera simultanea. Modelo aplicable a la construccin de sistemas de informacin fcilmente modularizables. El Modelo DRA necesita clientes y desarrolladores comprometidos con el proceso. No es muy til para aplicaciones que requieren adopcin de nuevas tecnologas porque la curva de aprendizaje puede afectar el cronograma del proyecto.

Modelo de Desarrollo Rpido de Aplicaciones (DRA)

Modelos evolutivos del proceso del SW

Modelos flexibles que permiten la modificacin del sistema durante su proceso de desarrollo. Procesos iterativos que permiten a los desarrolladores construir versiones del software cada vez ms completas Ejemplos: Modelo Incremental. Modelo Espiral. Modelo Espiral WINWIN. Modelo de Desarrollo Concurrente.

Modelo Incremental

Aplica el enfoque lineal secuencial escalonadamente Incrementos parciales de la herramienta completa (versiones) Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema Cada etapa debe cumplir con los requisitos de las desarrolladas
Anlisis Incremento 2 Anlisis ... Anlisis Diseo Diseo ... Diseo Cdigo Cdigo ... Cdigo Pruebas Pruebas ... Pruebas

Incremento n

Modelo Incremental
Ventajas: Los clientes no tienen que esperar hasta que el sistema se entregue completamente para comenzar a hacer uso de l. Los clientes pueden usar los incrementos iniciales como prototipo para precisar los requerimientos posteriores del sistema. Minimizacin del riesgo de falla en el proyecto porque los errores se van corrigiendo progresivamente. Problemas: Adaptacin de los requisitos del cliente para lograr incrementos pequeos (no mas de 20.000 lneas de cdigo) que aadan funcionalidad al sistema.

Nota: Una evolucin de este enfoque se conoce como Programacin Extrema (XP-Extreme Programming).

Modelo Espiral
Utilizacin de ciclos en lugar de sucesin de actividades. Facilita el desarrollo rpido de versiones incrementales de software.

Modelo Espiral WINWIN

Hace nfasis en la etapa Comunicacin con el Cliente definiendo un conjunto de actividades de negociacin que se llevan a cabo al principio de cada ciclo. El proceso de negociacin busca que ambos ganen, tanto cliente como analista:

El cliente obtiene el producto que satisface gran parte de sus necesidades y El desarrollador intenta obtener requisitos que le permitan cumplir con tiempos de entrega realistas

Modelo Concurrente

Provee una meta descripcin del proceso de software Mientras que en el Espiral la principal contribucin es que las actividades del software ocurran repetidamente, en el Concurrente es la capacidad de describir las mltiples actividades del software que ocurren simultneamente. Dado que los requerimientos cambian es muy probable que una vez haya comenzado la fase de diseo, sea necesario incorporar cambios. En estos casos No se debe detener el diseo, sino que se debe continuar si es posible al mismo tiempo que se modifican los requerimientos. Por lo tanto en este modelo, diversas actividades pueden estar ocurriendo concurrentemente Posibilita el conocimiento del verdadero estado del proyecto

Modelo de Mtodos Formales

El proceso de desarrollo se basa en la transformacin matemtica formal de la especificacin del sistema a un programa ejecutable Facilita la verificacin de programas a travs de un riguroso anlisis matemtico. La ejecucin de este tipo de modelos requiere mucho tiempo y esfuerzo. Ingeniera de Software de Sala Limpia

Ventaja: Consistencia!!! Desventaja: complejo, demanda mucho tiempo

Tcnicas de cuarta generacin

Facilita al ingeniero desarrollador del software la especificacin de las caractersticas del software a alto nivel, con el fin de generar automticamente el cdigo a partir de all. Existencia de herramientas CASE (Computer Aide Software Engineering) Ingeniera de software asistida por computador

Algunos mtodos de desarrollo de software

RUP CDM FDD XP UN-METODO Otros

También podría gustarte