Sesion 1 proceso software

44
Proceso de Software

Transcript of Sesion 1 proceso software

Page 1: Sesion 1 proceso software

Proceso de Software

Page 2: Sesion 1 proceso software

CAL/Requerimientos

¿qué es un proyecto? Documentación que se elabora para

la ejecución de una iniciativa de envergadura, con previsión de todos los detalles necesarios para su logro. La ejecución del mismo, comprende técnicas y documentos que ayudan a asegurar el manejo consistente, oportuno, eficiente y eficaz del mismo

Page 3: Sesion 1 proceso software

CAL/Requerimientos

¿qué es un proyecto? Objetivo – Establece el propósito. Alcance – Detalla el objetivo.

Complejidad – Determina los pasos o subproyectos. Estructura y condiciones.

Unico – Realizados de una vez. Producto – Un resultado tangible o

intangible. Contexto Restricción

Page 4: Sesion 1 proceso software

CAL/Requerimientos

¿qué es un proyecto?

El primer paso para la elaboración de un proyecto técnico es la presentación de un ‘pliego de condiciones técnicas’, en el que se detalla lo que se quiere hacer y sus características generales

El pliego de condiciones técnicas pretende establecer los compromisos técnicos que deberá asumir el gerente de proyecto

Page 5: Sesion 1 proceso software

CAL/Requerimientos

El problema es Describir el problema

Afecta Describir los stakeholders afectados por el problema.

Impacta en Describir cual es el impacto del problema

Una solución exitosa sería

Beneficios clave de la solución propuesta.

Visión : Problema

Page 6: Sesion 1 proceso software

CAL/Requerimientos

El problema es Solución inadecuada y fuera de tiempo de servicios al cliente.

Afecta a Nuestros clientes, representantes de soporte al cliente y técnicos de servicio.

Impacta en Insatisfacción del cliente, percepción de falta de calidad, empleados descontentos y pérdida de ingresos.

Una solución exitosa sería

Proporcionar acceso en tiempo real a una base de datos de problemas por parte de los representantes de soporte (help desk) y facilitar el despacho de técnicos de servicio a tiempo, solo a aquellas localidades que necesitan atender.

Visión : Problema - ejemplo

Page 7: Sesion 1 proceso software

CAL/Requerimientos

Visión : Producto 

Para Cliente Objetivo

Quien Describir la necesidad u oportunidad

El Describir el nombre del producto o una categoría de productos.

Que Nombre los beneficios clave, razón para efectuar la compra o desarrollo.

A diferencia de

Alternativas de competencia principales

Nuestro producto

Diferencia(s) principal(es).

Page 8: Sesion 1 proceso software

CAL/Requerimientos

Para Actuales clientes de contabilidad

Quien Requieren acceso instantáneo a sus cuentas en detalle y a los fondos que ellos contienen,

El Super ATM es una máquina cajera automática.

Que Proporciona la capacidad de ejecutar una simple transacción bancaria.

A diferencia de

Acceder a fondos y detalle a través de una oficina sucursal.

Nuestro producto

Está disponible las 24 horas del día y no necesita asistencia de empleados.

 Visión : Producto - Ejemplo

Page 9: Sesion 1 proceso software

CAL/Requerimientos

Modelado Visual

Page 10: Sesion 1 proceso software

CAL/Requerimientos

Modelado Visual

Page 11: Sesion 1 proceso software

CAL/Requerimientos

Pruebas en Cada Iteración

Page 12: Sesion 1 proceso software

CAL/Requerimientos

Mejores Prácticas (Refuerzan)

Page 13: Sesion 1 proceso software

CAL/Requerimientos

Metodología

La forma, manera, en que se realiza algo (proyecto).

Conjunto de actividades y otros elementos asociados al tiempo (ciclo de vida) y a la consecución de uno o mas objetivos.

En Informática se le llama Proceso de Desarrollo de softfware.

Un proceso define quien esta haciendo que, cuando y como, para lograr cierto objetivo.

Page 14: Sesion 1 proceso software

CAL/Requerimientos

Gerente de ProyectoDocumentadorDiseñadorTester

HitosPlaneamiento

Testing

MBWAUse casesCRC cards

Modelo ObjetosPlan Proyecto

Modelo de Casos de Uso

Microsoft Project3month increments

UML Java

PrecisiónExactitud

Tolerancia

Team Values

Metodología : el quien, que, y cuando de interacciones clave

entre personas.

Actividades

Técnicas

Tools Habilidades

Roles

Estándares

Calidad Equipo

Artefactos

Microsoft ProjectSofware Through Pictures

Envy/Developer

ModelingJava programming

JAD facilitation

Page 15: Sesion 1 proceso software

CAL/Requerimientos

Ciclo de Vida

Mas información sobre ciclo de vida ver: SEI Interactive,  http://www.sei.cmu.edu/interactive/Features/1999/March/Background/Background.mar99.htm

Page 16: Sesion 1 proceso software

CAL/Requerimientos

RUP – Disciplinas - Flujos

Page 17: Sesion 1 proceso software

CAL/Requerimientos

Overview de conceptos RUP ahora Method Composer

Page 18: Sesion 1 proceso software

CAL/Requerimientos

Dimensiones La dimensión horizontal representa

el tiempo y muestra los aspectos del ciclo de vida del proceso.

La dimensión vertical representa las disciplinas núcleo del proceso (o flujos de trabajo), que agrupan actividades de ingeniería de software por su naturaleza.

Page 19: Sesion 1 proceso software

CAL/Requerimientos

Dimensión horizontal La dimensión horizontal representa

los aspectos dinámicos en términos de ciclos, fases, iteraciones y milestones (hitos). Un producto de software se diseña y construye en una sucesión de iteraciones incrementales. Permitiendo la prueba y validación así como el mitigar los riesgos.

Page 20: Sesion 1 proceso software

CAL/Requerimientos

Dimensión Vertical

Representa los aspectos estáticos del proceso descritos en términos de componentes de procesos: Actividades, disciplinas, artefactos y roles.

Page 21: Sesion 1 proceso software

CAL/Requerimientos

Ciclo de Vida Cascada

Ciclo de vida tradicional, en el que se debía terminar una tarea para continuar otra. El desarrollo del software se hacía de una sola vez.

Page 22: Sesion 1 proceso software

CAL/Requerimientos

El desarrollo de Software se construye en una sucesión de iteraciones

Ciclo de Vida Iterativo

Page 23: Sesion 1 proceso software

CAL/Requerimientos

Sucesión de iteraciones incrementales

Artefactos : Producto del trabajo

Page 24: Sesion 1 proceso software

CAL/Requerimientos

Ciclo de desarrollo Una pasada a través de las cuatro fases es un ciclo de

desarrollo; cada paso a través de las cuatro fases produce una generación de software.

Page 25: Sesion 1 proceso software

CAL/Requerimientos

Releases

Cada Iteración en una fase resulta en un release ejecutable del sistema

Page 26: Sesion 1 proceso software

CAL/Requerimientos

Iteración

Una iteración lleva cabo el desarrollo de actividades que conducen a producir un release del producto – una versión del producto ejecutable, estable, junto a otro conjunto de elementos periféricos necesarios para usar este release.

Es como una pequeña cascada. Un release puede ser interno o

externo.

Page 27: Sesion 1 proceso software

CAL/Requerimientos

Hitos La elección de los hitos del ciclo

de vida debería reflejar el mismo enfoque (iterativo incremental).

Las cuatro fases se concentran en remover las incertidumbres y por lo tanto manejar el acuerdo con el stakeholder de que los riesgos sean eliminados.

Page 28: Sesion 1 proceso software

CAL/Requerimientos

Desarrollo Iterativo

El uso del ciclo de vida iterativo es mejor al cascada por muchas razones: Nos permite estar al tanto de cambios en

los requerimientos. La verdad es que los requerimientos usualmente cambian.

La integración no debe ser un “big bang” al final; los elementos deben intregrarse progresivamente en el tiempo.

Page 29: Sesion 1 proceso software

CAL/Requerimientos

Desarrollo Iterativo

Los riesgos, normalmente, se descubren y tratan durante la integración. Con este enfoque se pueden mitigar mas temprano.

El desarrollo interativo proporciona un medio al gerente, para hacer cambios tácticos al producto.

Page 30: Sesion 1 proceso software

CAL/Requerimientos

Desarrollo Iterativo Facilita el reuso; es mas fácil

identificar partes comunes diseñadas o implementadas parcialmente que reconocerlas durante el planeamiento.

El proceso de desarrollo en si puede ser mejorado y refinado.

Page 31: Sesion 1 proceso software

CAL/Requerimientos

Inception : Creación La primera fase inception (creación) se

enfoca en el espacio del problema: determinando lo que el sistema necesita para ser entregado, sus límites, interacciones, servicios, y asi sucesivamente. La fase se completa cuando todos los stakeholders estan de acuerdo con la descripción del sistema.

Definimos una “visión” del producto final y los casos de uso del negocio asociados, definiendo el alcance global del proyecto.

Page 32: Sesion 1 proceso software

CAL/Requerimientos

Incepción (creación)

Trabajos ejecutados en esta fase

Page 33: Sesion 1 proceso software

CAL/Requerimientos

Elaboración La segunda fase Elaboración se enfoca

en identificar una arquitectura robusta para lograr satisfacre las necesidades del stakeholder.

Se refina la definción del producto, se define y se establece una línea base de arquitectura y se desarrolla un plan mas preciso para su desarrollo y despliegue.

Page 34: Sesion 1 proceso software

CAL/Requerimientos

Elaboración

Page 35: Sesion 1 proceso software

CAL/Requerimientos

Arquitectura

Es el nivel conceptual de mas alto nivel de un sistema y su ambiente (IEEE). La arquitectura de un sistema de software (en un momento dado del tiempo), es su organización o estructura de componentes significativos que interactúan a través de interfaces, cuyos componentes estan a su vez compuestos de componentes mas pequeños e interfaces

Page 36: Sesion 1 proceso software

CAL/Requerimientos

Arquitectura Estructura organizativa de un

sistema: una arquitectura puede descomponerse recursivamente en partes que interactúan a través de interfaces, vínculos y partes conectadas y restricciones para el ensamble de sus partes. Partes que interactúan a través de una interface incluye: clases, componentes y subsistemas.

Page 37: Sesion 1 proceso software

CAL/Requerimientos

Criterios de evaluación - Elaboración

¿La visión del producto es estable? ¿La arquitectura es estable? ¿Las demostraciones ejecutables,

muestran que los principales elementos de riesgo han sido considerado y resueltos?

¿Está el plan de construcción suficientemente detallado, tiene una base creible de estimados?.

Page 38: Sesion 1 proceso software

CAL/Requerimientos

¿Todos los stakeholder concuerdan que la visión actual se puede lograr si se ejecuta el plan para desarrollar el sistema completo, en el contexto de la arquitectura?.

¿Son aceptables los gastos en recursos actuales versus los planeados?.

Criterios de evaluación - Elaboración

Page 39: Sesion 1 proceso software

CAL/Requerimientos

Construcción

La tercera fase, construcción, se enfoca en la construcción incremental del sistema que elimine los riesgos para una entrega exitosa.

Cada una de las iteraciones en esta fase proporcionan mas capacidad que la anterior y por lo tanto puede pasar por mas pruebas del sistema.

Page 40: Sesion 1 proceso software

CAL/Requerimientos

Construcción

Page 41: Sesion 1 proceso software

CAL/Requerimientos

Transición

La cuarta fase, transición, concluye con la adopción exitosa del sistema.

El producto es entregado a la comunidad de usuarios; incluye manufactura, entrenamiento, soporte, entrega y mantenimiento del producto.

Page 42: Sesion 1 proceso software

CAL/Requerimientos

Transición Objetivos:

Lograr que el usuario sea autosuficiente. Lograr el producto tan rápido y efectivo

en costo como sea practico. Actividades:

Hacer el despliegue de ingeniería del producto, empaque, entrenamiento del personal de campo, ventas.

Actividades de afinamiento.

Page 43: Sesion 1 proceso software

CAL/Requerimientos

Participantes Equipo Roles

System Analyst

User-Interface Designer

Use case Specifier

System Integrator

Integration Tester

System Tester

Test Engineer

Requerimientos

Implementación

Test

Análisis

Use case Engineer

Architect

Diseño Component Engineer

Page 44: Sesion 1 proceso software

CAL/Requerimientos

Mapa de Dominios