Você está na página 1de 34

El Proceso del Software

El Proceso del Software

Conjunto estructurado de actividades requeridas para


desarrollar un sistema de software.

Especificacin.
Diseo.
Validacin.
Evolucin.

Las actividades varan dependiendo de la organizacin y


del tipo de sistema a desarrollarse.
Debe estar explcitamente modelado si va a ser bien
administrado.

Caractersticas del Proceso

Entendible
Se encuentra el proceso bien definido y es entendible ?

Visible
El proceso es visible al exterior ?

Soportable
Puede el proceso ser soportado por herramientas CASE ?

Aceptable
El proceso es aceptado por aquellos involucrados en el ?.

Caractersticas del Proceso

Confiable
Los errores del proceso son descubiertos antes de que se conviertan en
errores del producto ?

Robusto
Puede continuar el proceso a pesar de problemas inesperados ?

Mantenible
Puede el proceso evolucionar para cumplir con los objetivos
organizacionales ?

Rapidez
Que tan rpido puede producirse el sistema ?

Modelo del Ingeniera del Proceso

Especificacin - establecer los requerimientos y


restricciones del sistema
Diseo - Producir un modelo en papel del sistema
Manufactura - construir el sistema
Prueba - verificar que el sistema cumpla con las
especificaciones requeridas
Instalacin - entregar el sistema al usuario y asegurar su
operacionalidad
Mantenimiento - reparar fallos en el sistema cundo sea
descubiertos

Problemas en el Modelo del Proceso

Normalmente, las especificaciones son incompletas o


anmalas.
No existe una distincin precisa entre la especificacin,
el diseo y la manufactura
Solo hasta que el sistema se ha producido se puede
probar
El software no se puede remplazar siempre durante el
mantenimiento

Modelos Genricos de Desarrollo de


Software

Modelo de Cascada (Lineal Secuencial)


Separar en distintas fases de especificacin y desarrollo.

Desarrollo Evolutivo
La especificacin y el desarrollo estn intercalados.

Prototipado (Construccin de Prototipos)


Un modelo sirve de prototipo para la construccin del sistema final.

Transformacin Formal (Mtodos Formales)


Un modelo matemtico del sistema se transforma formalmente en la
implementacin.

Desarrollo basado en Reutilizacin (DRA)


El sistema es ensamblado a partir de componentes existentes.

Modelo de Cascada (Grfica)

Fases del Modelo de Cascada

Anlisis de requerimientos y definicin.

Diseo del sistema y del software.

Implementacin y prueba de unidades

Integracin y prueba del sistema.

Operacin y mantenimiento.

La dificultad en esta modelo reside, en la dificultad de hacer


cambios entre etapas.

Desarrollo Evolutivo

Desarrollo Evolutivo

Problemas

Poca visibilidad en el proceso


Los sistemas estn pobremente especificados
Se requieren habilidades especiales.

Aplicabilidad

Para sistemas interactivos pequeos o medianos.


Para partes de sistemas grandes (p.ej.. la interfaz de usuario).
Para sistemas de corta vida.

Prototipado

Prototipado exploratorio

El objetivo es trabajar con clientes hasta evolucionar a un sistema final, a partir de


una especificacin inicial. Se debe comenzar con unas especificaciones bien
entendidas.

Prototipado de throw-away.

El objetivo es entender los requerimientos del sistema. Se puede comenzar con


especificaciones poco entendidas.

Problemas y Riesgos de los Modelos

Cascada.
Alto riesgo en sistemas nuevos debido a problemas en las
especificaciones y en el diseo.
Bajo riesgo para desarrollos bien comprendidos utilizando tecnologa
conocida.

Prototipado.
Bajo riesgo para nuevas aplicaciones debido a que las especificaciones
y el diseo se llevan a cabo paso a paso.
Alto riesgo debido a falta de visibilidad.

Evolutivo.
Alto riesgo debido a la necesidad de tecnologa avanzada y habilidades
del grupo desarrollador.

Manejo de Riesgos

La tarea principal del administrador consiste en


minimizar riesgos.
El riesgo inherente en una actividad es se mide en base
a la incertidumbre que presenta el resultado de esa
actividad.
Las actividades con alto riesgo causan sobre-costes en
cuanto a planeacin y costos
El riesgo es proporcional al monto de la calidad de la
informacin disponible. Cuanto menos informacin,
mayor el riesgo.

Modelos de Procesos Hbridos

Los sistemas grandes estn hechos usualmente de varios


subsistemas.
No es necesario utilizar el mismo modelo de proceso para
todos los subsistemas.
El prototipado es recomendado cuando existen
especificaciones de alto riesgo.
El modelo de cascada es utilizado en desarrollos bien
comprendidos.

Modelo de Proceso de Espiral

Fase del Modelo de Espiral

Planteamiento de Objetivos
Se identifican los objetivos especficos para cada fase del proyecto.

Identificacin y reduccin de riesgos.

Los riesgos clave se identifican y analizan, y la informacin sirve para minimizar


los riesgos.

Desarrollo y Validacin.
Se elige un modelo apropiado para la siguiente fase del desarrollo.

Planeacin.
Se revisa el proyecto y se trazan planes para la siguiente ronda del
espiral.

Plantilla para una ronda de espiral

Objetivos.
Restricciones.
Alternativas.
Riesgos.
Resolucin de riesgos.
Resultados.
Planes.
Garantas (commitments).

Mejoramiento de la calidad del


Modelo de Espiral

Objetivos
Mejorar significativamente la calidad del software.

Restricciones.

Dentro de los 3 primeros anos.


Sin que se produzcan grandes inversiones de capital.
Sin que se lleven a cabo grandes cambios
organizacionales.

Alternativas.
Reutilizar software certificado existente.
Introducir especificaciones formales y verificacin.
Invertir en herramientas de prueba y validacin.

Mejoramiento de la calidad

Riesgos.
No existen mejoras en el software baratas.
Las mejoras en la calidad pueden incrementar costes excesivamente
Los nuevos mtodos pueden causar bajas en el personal.

Solucin de riesgos.

Estudio de la literatura existente.


Proyecto piloto.
Bsqueda de todos los componentes reutilizables potenciales.
Identificacin del soporte disponible de herramientas
Entrenamiento al personal y seminarios motivacionales.

Mejoramiento de la calidad

Resultados.
La experiencia en mtodos formales es limitada - es muy difcil cuantificar las
mejoras.
Limitado el soporte en herramientas para sistemas de desarrollo de la
compaa.
Existencia de componentes reutilizables, pero poco soporte de herramientas de
rehuso.

Planes.
Explorar la opcin de la reutilizacin a mas detalle.
Desarrollar herramientas prototipo para reutilizacin.
Explorar el esquema de certificacin de componentes.

Garantas.
Explorar los siguientes 18 meses.

Modelo de Espiral para la elaboracin


de un catlogo

Objetivos
Desarrollar un catlogo de componentes de software

Restricciones.
A un ano.
Debe soportar los tipos de componentes existentes.
Costo total menor de $100,000.

Alternativas.
Comprar software de captura de informacin.
Comprar bases de datos y desarrollar el catlogo utilizando
la BD.
Desarrollar catlogo de propsito especial.

Mejoramiento de la calidad

Riesgos.
Puede ser imposible satisfacer las restricciones.
La funcionalidad del catlogo puede ser inapropiada.

Solucin de riesgos.
Desarrolla un prototipo del catlogo (utilizando lenguajes
de cuarta generacin 4GL y una BD existente) para
clarificar los requerimientos.
Relaja restricciones de tiempo.

Mejoramiento de la calidad

Resultados.
Los sistemas de captura de informacin son inflexibles. Los
requerimientos no pueden cumplirse.
El prototipo que utiliza la BD puede mejorarse para
completar el sistema.
El desarrollo de un catlogo de propsito especfico no es
costeable.

Planes.
Desarrolla el catlogo utilizando una BD existente
mejorando el prototipo y la interfaz de usuario.

Garantas.
Explorar los siguientes 12 meses.

Flexibilidad en el modelo de espiral

Para sistemas bien comprendidos utiliza el


Modelo de Cascada. La fase de anlisis de
riesgos es relativamente fcil.
Con requerimientos estables y sistemas de
seguridad crticos, utiliza modelos formales.
Con especificaciones incompletas, utiliza el
modelo de prototipado.
Pueden utilizarse modelos hbridos en distintas
partes del desarrollo.

Ventajas del Modelo de Espiral

Centra su atencin en la reutilizacin de


componentes y eliminacin de errores en
informacin descubierta en fases iniciales.
Los objetivos de calidad son el primer objetivo.
Integra desarrollo con mantenimiento.
Provee un marco de desarrollo de
hardware/software.

Problemas con el Modelo de Espiral

El desarrollo contractual especifica el modelo del


proceso y los resultados a entregar por adelantado.

Requiere de experiencia en la identificacin de


riesgos.

Requiere refinamiento para uso generalizado.

Visibilidad de Procesos

Los sistemas de software son intangibles por lo


que los administradores necesitan documentacin
para identificar el progreso en el desarrollo.
Esto puede causar problemas.
El tiempo planeado para entrega de resultados puede no
coincidir con el tiempo necesario para completar una actividad.
La necesidad de producir documentos restringe la iteracin
entre procesos.
El tiempo para revisar y aprobar documentos es significativo.

El modelo de cascada es an el modelo basado en


resultados mas utilizado.

Documentos del Modelo de Cascada


Actividad
Anlisis de Requerimientos
Definicin de Requerimientos
Especificacin del Sistema.
Diseo Arquitectural
Diseo de Interfaces
Diseo Detallado
Codificacin
Prueba de Unidades
Prueba de Mdulos
Prueba de Integracin
Prueba del Sistema
Prueba de Aceptacin

Documentos Producidos
Documento de Requerimientos
Documento de Requerimientos
Especificacin Funcional, Plan de Pruebas
de Aceptacin.
Especificacin de la Arquitectura, y Plan de
Pruebas del Sistema
Especificacin de la Interfaces y Plan de
pruebas de Integracin.
Especificacin del diseo y Plan de prueba
de Unidades.
Cdigo de Programa
Reporte de prueba de unidades
Reporte de prueba de mdulos
Reporte de prueba de integracin y Manual
de usuario final
Reporte de prueba del sistema
Sistema final mas la documentacin.

Visibilidad del Modelo


Modelo de Proceso
Modelo de Cascada
Desarrollo Evolutivo
Modelos Formales
Desarrollo orientado a la reutilizacin
Modelo de Espiral

Visibilidad del Proceso


Buena visibilidad, cada actividad produce un
documento o resultado
Visibilidad pobre, muy caro al producir
docuementos en cada iteracin.
Buena visibilidad, en cada fase deben
producirse documentos.
Visibilidad moderada. Importante contar con
documentacin de componentes reutilizables.
Buena visibilidad, cada segmento y cada
anillo del espiral debe producir un
documento.

Responsabilidad Profesional

Los Ingenieros de software no solo deben


considerar aspectos tcnicos. Deben tener una
visin mas amplia, en lo tico, social y profesional.
No existe estatutos para ninguno de estos
aspectos.

Desarrollo de sistemas militares.


Piratera.
Que es mejor para la profesin de Ingeniero de Software.

Aspectos ticos

Confidencialidad.

Competencia.

Derechos de propiedad intelectual.

Mal uso de la computadora.

Resumen

La Ingeniera de software concierne a las teoras,


mtodos y herramientas para el desarrollo,
administracin y evolucin de productos de software.

Los productos de software consisten de programas y


documentacin. Los atributos de los productos son,
mantenabilidad, dependabilidad, eficiencia y
usabilidad.

El proceso de software consiste en aquellas


actividades involucradas en el desarrollo de software.

Resumen

El modelo de cascada considera cada actividad del


proceso como una actividad discreta.
El modelo de desarrollo evolutivo considera
actividades del proceso en forma concurrente.
El modelo de espiral se basa en anlisis de riesgos.
La visibilidad del proceso involucra la creacin de
documentos o resultados de las actividades.
Los Ingenieros de software deben tener
responsabilidades ticas, sociales y profesionales.

Você também pode gostar