Upload
ulises-tolentino
View
16
Download
1
Embed Size (px)
Citation preview
El Proceso del SoftwareIng. Eleonora Rodrí[email protected]
Deseos, necesidades, Especificaciones, …
Software
Objetivos
• Comprender que es el Proceso delsoftware.
• Comprender cuáles son los patrones delproceso de ISW.
• Cuando se trabaja para construir un producto osistema es importante seguir una serie de pasospredecibles, una especie de mapa de carreterasque ayude a obtener un resultado de alta calidady a tiempo. El mapa de carreteras que debeseguirse se llama Proceso de Software.
¿Qué es?
• Los ingenieros de software y sus jefes adaptan elproceso a sus necesidades y después lo siguen.Además la gente que ha solicitado el softwaretiene una función que desempeñar en el procesode definirlo, construirlo y probarlo.
¿Quién lo hace?
• Porque ofrece estabilidad, control y organizacióna una actividad que puede volverse caótica si nose controla. Sin embargo, un enfoque deingeniería del software moderno debe ser “ágil”.Debe requerir solo aquellas actividades,controles y documentaciones apropiados para elequipo del proyecto y el producto que ha deproducirse.
¿Porqué es importante?
Es extraño que alguien diga:
▫ "Me puse a programar y me salió un sistema de contabilidad«.
▫ Algunas aplicaciones da la impresión 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 decontabilidad,
▫ Hacer la especificación.
• en Visual BASIC y Access,▫ Realizar el diseño.
• y se codifica la aplicación.
En el desarrollo de software nos encontramos con la
siguiente situación:
Ciclos de Vida del
SOFTWARE
Metodologías 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 situación.
Complejidad: ¿Es un producto complejo?
Incertidumbre: ¿El cliente sabe lo que quiere?
• Utilizar una metodología de desarrollo
Lenguaje claro,
Especificación, diseño, ...
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
• Insatisfacción del cliente por falta de una buena definiciónde los requerimientos.
• De cada 6 proyectos de software, 2 son abandonados.
• Millones de dólares son gastados en Proyectos de softwareque nunca serán utilizados.
• Muchos Sistemas no son presentados en las fechasespecificadas. Cuando hay contratos establecidos, los costosen intereses pueden ser muy elevados.-
• No se tienen datos históricos sobre el proceso de Desarrollode Software. No se pueden hacer buenas estimaciones.
• No se puede evaluar con precisión la eficacia de las nuevasherramientas, técnicas o estándares.-
“Un proceso definequien está haciendoqué, cuándo y cómolograr cierta meta”
El grado de precisión con que se lleve a cabo cada paso
influirá en el resultado
• ¿Me podrías indicar, por favor, haciadónde tengo que ir?
• Eso depende de adónde quieras llegar,contesto el gato.
• A mí no me importa demasiadoadónde...- empezó a explicar Alicia.
• En ese caso, da igual cualquier dirección- interrumpió el Gato.
• ...Siempre que llegue a alguna parte -terminó Alicia a modo de explicación.
• Basta que empieces a andar - le aseguroel Gato-, dando un paso tras otro.
▫ Alicia en el país de las maravillas
Marco de trabajo para el proceso
• Un marco de trabajo establece la base para unproceso de software completo al identificar unnúmero pequeño de actividades del marco detrabajo aplicables a todos los proyectos desoftware, sin importar su tamaño ocomplejidad.
Comunicación: Intensa colaboración ycomunicación con los clientes , investigación derequisitos y otras actividades relacionadas.
Planeación: Tareas técnicas, riesgos probables,recursos requeridos, programa de trabajo.
Modelado: Abarca la creación de modelos quepermiten entender mejor los requisitos.
• Construcción: Combina la generación del código y larealización de pruebas para descubrir errores en elcódigo.
• Despliegue: El Software se entrega al cliente, quiénevalúa el producto .
Aseguramiento de la calidad:
Revisiones técnicas formales: Evalúa los productospara descubrir o eliminar los errores antes de queestos se propaguen hacia la siguiente acción oactividad.
Medición: Define y recolecta mediciones del procesoy el producto.
“Siento que una receta es sólo untema con el que un cocinerointeligente pueda jugar cada vezde una manera distinta”
Madame Benoit
• Ofrece una plantilla, mediante lacombinación de patrones, un equipo deSoftware puede construir un proceso quesatisfaga lo mejor posible las necesidadesde un proyecto.
• Nombre del patrón: Comunicación con el cliente.
• Propósito: Establecer una relación de colaboracióncon el cliente en un esfuerzo encaminado a definir elalcance del proyecto, los requisitos del negocio yotras condiciones del proyecto.
Ejemplo
Tipo: Se especifica el tipo de patrón.
a) De tarea: definen una acción de ISW que esparte del proceso y relevante para una prácticaexitosa, “Recopilación de requisitos”
b) De escenario: “Reunión de requisitos”
c) De fase: Definen la secuencia de actividades ,“modelo en espiral o de construcción deprototipos”
Contexto inicial: Planeación
a)Que los clientes y los ingenieros de Software hayan establecido una colaboración en cuanto a comunicación.
b)Cual es el estado de entrada para el proceso
c)Se conozcan los alcances del proyecto, los requisitos básicos del negocio y las restricciones del proyecto.
• Problema: Comunicación con el cliente
- La comunicación entre el desarrollador y el cliente muchas veces es inadecuada porque no se establece un formato efectivo para obtener información , no se crea un mecanismo útil para registrarla, y no se realiza una revisión significativa.
• Solución: Se describe la implementación del patrón.
• Contexto resultante: Se describen las condiciones resultantes que habrá una vez que el patrón haya sido implementado con éxito.
• Patrones relacionados: Se proponen unalista de todos los patrones relacionados conéste.
• Usos conocidos: Se indican los ejemplosespecíficos en los cuales el patrón esaplicable.
“La existencia de un procesode Software no es garantía deque éste será entregado atiempo”.
Muchas gracias!