Anda di halaman 1dari 11

1 Teora General de Sistemas Ciclos de Vida Es la estrategia de sucesin de etapas por las que pasa el desarrollo de Software desde

que es concebido un nuevo proyecto hasta que se deja de utilizar. En la norma ISO 12207 se define como modelo de ciclo de vida com : "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 software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso". Esta definicin considera una actividad como un conjunto de tareas y una tarea como una accin que transforma entradas en salidas. Existen diversos modelos de ciclos de vida, es decir, distintas formas de ver el proceso de desarrollo de software, y cada uno de ellos va asociado a un paradigma de la Ingeniera del Software, es decir, a una serie de mtodos, herramientas y procedimientos que debemos usar a lo largo del proyecto. Los modelos o ciclos de vida (Roger Pressman lo denomina Modelos Prescriptitos) mas comnmente utilizados son:

Tradicionales o en Cascada
Incrementales - Cascada Incremental - DRA (Desarrollo Rpido de Aplicaciones) Evolutivos - Prototipo - Espiral ( de Boehm) - Desarrollo Concurrente Especializado de Proceso - Desarrollo basado en Componentes - Mtodos Formales - Desarrollo de Software Orientado a Aspectos Proceso Unificado (RUP)

Tradicional o en Cascada Comunicacin


- Inicio del proyecto - Recopilacin de requisitos

Planeacin
- Estimacin - Itinerario - Seguimiento

Modelado
- Anlisis - Diseo

Construcci n
- Cdigo - Prueba

Despliegue
- Entrega - Soporte -Retroalimentacin

Las etapas se representan cayendo en cascada desde una fase a la siguiente. Cada etapa de desarrollo debe completarse antes de dar paso a la siguiente. De esta forma solo una vez que ha finalizado la etapa de requerimientos puede pasarse al Diseo, y as sucesivamente. Por lo tanto este modelo presenta una visin muy clara de cmo se suceden las etapas durante el desarrollo y cual es la secuencia de eventos que se puede encontrar. Para cada actividad se asocian hitos a cumplir o entregas. Es un modelo muy simple y de fcil comprensin por parte de los Usuarios. Es recomendada cuando : Se conoce el dominio de aplicacin Los desarrolladores tienen experiencia en los problemas a resolver Pueden "congelarse" los requisitos del sistema durante todo el proceso del desarrollo

Prototipo

Comunicacin

Plan rpido Modelado Diseo rpido

Desarrollo Entrega y Retroalimentacin

Construccin del Prototipo

Este modelo se basa en la elaboracin de prototipos para resolver las fase de Anlisis y Especificacin de requerimientos. Los prototipos pueden ser desechables (se utilizan solo con este propsito y luego se descartan) incrementales (se utilizan y luego se van perfeccionando para llegar al sistema final). Un prototipo es un modelo a escala reducida de la solucin final y sirve para verificar que las especificaciones han sido construidas de acuerdo a los requerimientos del sistema. Una vez establecidos con claridad los requerimientos del sistema perfecciona el diseo y luego se contina el proceso en sus etapas finales con el modelo en cascada. Es recomendada cuando :

3 Los usuarios tienen una idea general sobre la naturaleza del problema pero no hay acuerdo sobre la solucin Se requieren resultados rpidos para avanzar progresivamente sobre el punto anterior Se dispone de tecnologa y herramientas adecuadas para soportar esta estrategia.

Espiral
Es una estrategia de desarrollo en forma iterativa en la cual se va evaluando permanentemente los riesgos (cancelacin del proyecto por superar los tiempos o recursos asignados) y los avances, mediante la aplicacin de prototipos. Este modelo combina las virtudes de los anteriores. Si bien el ciclo de vida en Espiral est basado en el de Cascada que considera una concepcin lineal del proceso de construccin de software, al Espiral se lo ve como una serie de iteraciones que cumplen los objetivos definidos primariamente pudindose ver los avances que se hacen gradualmente, preparando a su vez los elementos que sern utilizados en los siguientes pasos. Otra ventaja es la incorporacin del riesgo y de los factores econmicos del desarrollo que muchas veces acta como la restriccin mas importante en el proceso de desarrollo, a diferencia del cascada que centra su atencin en la elaboracin adecuada de los requerimientos, favorecer el mantenimiento completar satisfactoriamente la construccin.

Planeacin
+ (anlisis de riesgo) Comunicacin Prototipado

Modelado
Inicio
Planeacin

Despliegue Construccin
Este modelo aprovecha adems la potencialidad del desarrollo con prototipos disponiendo en una fase muy temprana de los requerimientos completos obteniendo un modelo que facilita la construccin del sistema. Al igual que en el caso del Prototipo, se trabaja con prototipacin para dar cumplimiento a la fase de Anlisis y una vez que se establecen claramente los requisitos del sistema y los riesgos estn controlados, se contina con el proceso bajo el modelo en cascada hasta su finalizacin. Es recomendada cuando :

4 No conoce el dominio de aplicacin del problema Desarrolladores y Usuarios tienen poca experiencia en el tema Faltan precisiones sobre los problemas a resolver ni la forma de hacerlo Los requisitos son muy inestables . Existen condicionamientos muy estrictos en cuanto a recursos (tiempo y costo)

RUP - Racional UnifiedProcess


Qu es un Proceso?
Un proceso define Quin est haciendo Qu, Cundo y Cmo para lograr un cierto objetivo. En la ingeniera de software el objetivo es construir un producto de software mejorar alguno existente.
Requerimientos Nuevos Modificados

Proceso de Ingeniera de Software

Sistema Nuevo Modificado

RUP
Captura varias de las mejores prcticas en el desarrollo moderno de software en

una forma que es aplicable para un amplio rango de proyectos y organizaciones.


Es una gua de cmo utilizar de manera efectiva UML. Provee a cada miembro de un equipo un fcil acceso a una base de conocimiento

con guas, plantillas y herramientas para todas las actividades crticas de desarrollo.
Crea y mantiene modelos, en lugar de enfocarse en la produccin de una gran

cantidad de papeles de documentacin.

Incremento de la Productividad en Equipo Todos los miembros del equipo comparten


1 Base de conocimiento 1 Proceso 1 Vista de cmo desarrollar software 1 Lenguaje de modelado (UML)

Administrador de Base de Datos

Ingeniero de Desempeo

Lder de Proyecto Administrador de Configuracin

Analista Diseador/ Desarrollador

Pruebas

Desarrollar Software Iterativamente Cada iteracin resulta en un versin ejecutable


Requerimientos Planeamiento Anlisis y Diseo

Planeamiento Inicial Evaluacin

Entorno de Gerenciamiento

Implementacin

Prueba Distribucin

Caractersticas del Desarrollo Iterativo


Permite un entendimiento incremental del problema a travs de refinamientos sucesivos. Habilita una fcil retroalimentacin de usuario. Metas especficas permiten que el equipo de desarrollo mantenga su atencin en

producir resultados.
El progreso es medido conforme avanzan las implementaciones.

Administracin de Requerimientos
Organizar y documentar la funcionalidad y cuales son las restricciones requeridas.

Llevar un registro y documentacin de cambios y decisiones.

Los requerimientos de negocio son fcilmente capturados y comunicados a travs de

casos de uso.
Los casos de uso son instrumentos importantes de planeacin.

Arquitectura Basada en Componentes


Se enfoca en el pronto desarrollo de una arquitectura ejecutable robusta. Resistente al cambio mediante el uso de interfaces bien definidas. Intuitivamente comprensible. Promueve un re-uso ms efectivo de software. Es derivada a partir de los casos de uso ms importantes.

Modelacin Visual de Software


Captura la estructura y comportamiento de arquitecturas y componentes. Muestra como encajan de forma conjunta los elementos del sistema. Mantiene la consistencia entre un diseo y su implementacin. Promueve una comunicacin no ambigua.

Verificacin de la Calidad del Software


Crea pruebas para cada escenario (casos de uso) para asegurar que todos los

requerimientos estn propiamente implementados.


Verifica la calidad del software con respecto a los requerimientos basados en la

confiabilidad, funcionalidad, desempeo de la aplicacin y del sistema.


Prueba cada iteracin

Control de Cambios del Software

Controlar, llevar un registro y monitorear cambios para permitir un desarrollo iterativo. Establece espacios de trabajo seguros para cada desarrollador. Provee aislamiento de cambios hechos en otros espacios de trabajo. Controla todos los artefactos de software - modelos, cdigo, documentos, etc

Estructura de RUP
El proceso puede describirse en dos dimensiones, o a lo largo de dos ejes: El eje horizontal representa tiempo y muestra el aspecto dinmico del proceso,

expresado en trminos de ciclos, fases, iteraciones, y metas.


El eje vertical representa el aspecto esttico del proceso; como est descrito en trminos

de actividades, artefactos, trabajadores y flujos de trabajo.

Fases Inicio Transicin Flujos de Trabajo de Procesos Modelacin de Negocios Requerimientos Contenido Anlisis y Diseo Implementacin Prueba Desarrollo Flujos de Trabajo de Soporte Admin. Configuracin Administracin Ambiente Iteracin(es) Preliminar Iter. #1 Iter. #2 Iter. #n Iter. Iter. Iter. Iter. #n+1 #n+2 #m #m+1 Iteraciones Elaboracin Construccin

10

Nocin de Proceso

Trabajador/Quien ?? Rol que puede ser desempeado por un individuo conjunto de individuos en la organizacin de desarrollo

Actividad/Como ??

Describe una unidad de trabajo que puede ser asignada a un trabajador

Diseador Responsable de

Diseo del Caso de Uso

Artefacto/Que ?? Pieza de Informacin que es Producida, Modificada Utilizadas por un proceso

Caso de Uso

Paquete de Caso de Uso

Inicio Elaboracin Construccin Transicin Inicio Elaboracin Construccin Tr

11 3 Resumen final

Reflexin acerca del proceso software y ciclos de vida


Los enfoques mas modernos de la Ingeniera del Software centran su estrategia en tres aspectos fundamentales como eje para la resolucin exitosa de los problemas de informacin resueltos por sistemas automatizados. Correcta y minuciosa Especificacin de Requisitos (Ingeniera de Requisitos). Seleccin del proceso software y ciclo de vida adecuado. Pruebas slidas y consistentes (aseguramiento de la calidad) Como corolario de todo lo expresado se desprende que la regla de regla de oro para aplicar al desarrollo exitoso de los Sistemas de Informacin. Definir el Plan Estratgico de la Organizacin como punto de partida a cualquier proyecto de informatizacin. Establecer el Plan de Sistemas acorde y adecuado a la estrategia organizacional. Aplicar, una vez identificado el Sistema de Informacin a desarrollar, la Metodologa para el Desarrollo de los Sistemas de Informacin.

En aquellos casos que el sistema requiera procesos automatizados (software) aplicar principios slidos de Ingeniera del Software.

Anda mungkin juga menyukai