Está en la página 1de 29

El Proceso del Software

Ing. Eleonora Rodrguez merodriguez@ufg.edu.sv

Deseos, necesidades, Especificaciones,

Software

Objetivos

Comprender software.

que

es

el

Proceso

del

Comprender cules son los patrones del proceso de ISW.

Qu es?
Cuando se trabaja para construir un producto o sistema es importante seguir una serie de pasos predecibles, una especie de mapa de carreteras que ayude a obtener un resultado de alta calidad y a tiempo. El mapa de carreteras que debe seguirse se llama Proceso de Software.

Quin lo hace?
Los ingenieros de software y sus jefes adaptan el proceso a sus necesidades y despus lo siguen. Adems la gente que ha solicitado el software tiene una funcin que desempear en el proceso de definirlo, construirlo y probarlo.

Porqu es importante?
Porque ofrece estabilidad, control y organizacin a una actividad que puede volverse catica si no se controla. Sin embargo, un enfoque de ingeniera del software moderno debe ser gil. Debe requerir solo aquellas actividades, controles y documentaciones apropiados para el equipo del proyecto y el producto que ha de producirse.

Es extrao que alguien diga:


"Me puse a programar y me sali un sistema de contabilidad. Algunas aplicaciones da la impresin de que...
Recordar que la probabilidad de que un mono teclee en una maquina de escribir y salga el quijote no es cero

Normalmente el planteamiento es:


Vamos a desarrollar un sistema de contabilidad,
Hacer la especificacin.

en Visual BASIC y Access,


Realizar el diseo.

y se codifica la aplicacin.

En el desarrollo de software nos encontramos con la siguiente situacin:

Ciclos de Vida del SOFTWARE

Metodologas de Desarrollo del SOFTWARE

Clientes y Proveedores, con intereses distintos Desarrolladores que cada cual ve lo suyo La forma de evitar el desastre pasa por: Tener un ciclo de vida apropiado a la situacin. Complejidad: Es un producto complejo? Incertidumbre: El cliente sabe lo que quiere? Utilizar una metodologa de desarrollo Lenguaje claro, Especificacin, diseo, ... Conjunto de herramientas a utilizar. Un proceso maduro, es decir: Que conozcamos bien (utilizado otras veces) Que lo tengamos medido Que sea completo, para producir con calidad.

PROBLEMAS DEL SOFTWARE


Insatisfaccin del cliente por falta de una buena definicin de los requerimientos.
De cada 6 proyectos de software, 2 son abandonados.

Millones de dlares son gastados en Proyectos de software que nunca sern utilizados.
Muchos Sistemas no son presentados en las fechas especificadas. Cuando hay contratos establecidos, los costos en intereses pueden ser muy elevados. No se tienen datos histricos sobre el proceso de Desarrollo de Software. No se pueden hacer buenas estimaciones.

No se puede evaluar con precisin la eficacia de las nuevas herramientas, tcnicas o estndares.-

Un proceso define quien est haciendo qu, cundo y cmo lograr cierta meta

El grado de precisin con que se lleve a cabo cada paso influir en el resultado

Me podras indicar, por favor, hacia dnde tengo que ir? Eso depende de adnde quieras llegar, contesto el gato. A m no me importa demasiado adnde...- empez a explicar Alicia. En ese caso, da igual cualquier direccin - interrumpi el Gato. ...Siempre que llegue a alguna parte termin Alicia a modo de explicacin. Basta que empieces a andar - le aseguro el Gato-, dando un paso tras otro.

Alicia en el pas de las maravillas

Marco de trabajo para el proceso

Un marco de trabajo establece la base para proceso de software completo al identificar nmero pequeo de actividades del marco trabajo aplicables a todos los proyectos software, sin importar su tamao complejidad.

un un de de o

Comunicacin: Intensa colaboracin y comunicacin con los clientes , investigacin de requisitos y otras actividades relacionadas. Planeacin: Tareas tcnicas, riesgos probables, recursos requeridos, programa de trabajo. Modelado: Abarca la creacin de modelos que permiten entender mejor los requisitos.

Construccin: Combina la generacin del cdigo y la realizacin de pruebas para descubrir errores en el cdigo. Despliegue: El Software se entrega al cliente, quin evala el producto .

Aseguramiento de la calidad: Revisiones tcnicas formales: Evala los productos para descubrir o eliminar los errores antes de que estos se propaguen hacia la siguiente accin o actividad.

Medicin: Define y recolecta mediciones del proceso y el producto.

Siento que una receta es slo un tema con el que un cocinero inteligente pueda jugar cada vez de una manera distinta Madame Benoit

Ofrece una plantilla, mediante la combinacin de patrones, un equipo de Software puede construir un proceso que satisfaga lo mejor posible las necesidades de un proyecto.

Ejemplo

Nombre del patrn: Comunicacin con el cliente. Propsito: Establecer una relacin de colaboracin con el cliente en un esfuerzo encaminado a definir el alcance del proyecto, los requisitos del negocio y otras condiciones del proyecto.

Tipo: Se especifica el tipo de patrn. a) De tarea: definen una accin de ISW que es parte del proceso y relevante para una prctica exitosa, Recopilacin de requisitos b) De escenario: Reunin de requisitos c) De fase: Definen la secuencia de actividades , modelo en espiral o de construccin de prototipos

Contexto inicial: Planeacin

a)Que los clientes y los ingenieros de Software hayan establecido una colaboracin en cuanto a comunicacin. b)Cual es el estado de entrada para el proceso c)Se conozcan los alcances del proyecto, los requisitos bsicos del negocio y las restricciones del proyecto.

Problema: Comunicacin con el cliente - La comunicacin entre el desarrollador y el cliente muchas veces es inadecuada porque no se establece un formato efectivo para obtener informacin , no se crea un mecanismo til para registrarla, y no se realiza una revisin significativa.

Solucin: Se describe la implementacin del patrn. Contexto resultante: Se describen las condiciones resultantes que habr una vez que el patrn haya sido implementado con xito.

Patrones relacionados: Se proponen una lista de todos los patrones relacionados con ste.

Usos conocidos: Se indican los ejemplos especficos en los cuales el patrn es aplicable.

La existencia de un proceso de Software no es garanta de que ste ser entregado a tiempo.

Muchas gracias!

También podría gustarte