3
Ingeniería de Software Eduardo Cruz Vázquez AL12533823

IIS_U1_A2_EDCV

Embed Size (px)

DESCRIPTION

l

Citation preview

Ingeniera de SoftwareEduardo Cruz VzquezAL12533823

Unidad 1. Ingeniera de SoftwareActividad 2. Mtodos de desarrollo de software

Mtodos de desarrollo de software

ModeloDescripcinCaractersticas PropiasCaractersticas SimilaresVentajasDesventajas

Modelo en cascadaPropone la construccin de software per medio de una secuencia de fases que contienen actividades para lograr un objetivo, por lo cual cada fase depende de la anterior para lograr el resultadoAnlisis. Analista y cliente definen los requerimientos del sistema y su especificacinEspecificacin: Etapa de anlisisDiseo e implementacin: Etapa de diseo y codificacinValidacin: Etapa de pruebasEvolucin: Etapa de mantenimientoEs ms sencillo planear las actividades del ciclo completo.La calidad del producto es alta.Permite trabajar con personal inexperto.Es fcil de aprender.Los proyectos reales no siempre siguen el orden de este modelo y no se adapta al cambio.Es difcil que el cliente exponga todos sus requerimientos desde el principio.El cliente no podr ver avances hasta que este casi por concluir el proyecto.Genera estados de bloqueo cuando alguna etapa sufre algn retraso y se genera interdependencia entre algunas actividades.

Diseo. A partir del anlisis se disean las estructuras de datos, interfaces y procedimientos de acuerdo a la especificacin del usuario

Codificacin. El diseo se traduce a cdigo para la generacin del software

Pruebas. Se hace la revisin del cdigo para comprobar su integridad y realice lo esperado de acuerdo al diseo

Mantenimiento. Se realiza despus de la entrega del software y sirve para asegurar que el sistema siga funcionando y se da seguimiento a las mejoras

Modelo de construccin de prototiposPermite al equipo de desarrollo entender los requerimientos del cliente y ayuda al cliente a detallar con mejor claridad sus necesidadesRecoleccin de requisitos. Analista y cliente definen la especificacin de requerimientosEspecificacin: Etapa de recoleccin de requisitosDiseo e implementacin: Etapas de diseo rpido, construccin del prototipo e implementacinValidacin: Etapa de evaluacin del prototipoEvolucin: Etapa de refinamiento del prototipoNo se modifica el flujo del ciclo de vida.Reduce el riesgo de construir prototipos que no satisfagan las necesidades del usuario.Reduce costos.Exige disponer de las herramientas adecuadas.El cliente puede confundir las primeras versiones del prototipo con el producto final y que ste todava no se ha construido.Se requiere que el cliente este revisando los prototipos.No se puede estimar exactamente el tiempo de desarrollo ni cuantos prototipos se harn para llegar al prototipo final.

Diseo rpido. Se hace el diseo del prototipo

Construccin del prototipo. Se hacen los diagramas y se codifica el prototipo inicial

Evaluacin del Prototipo. Cliente y usuario revisan el prototipo y generan sus observaciones

Refinamiento del prototipo. Las observaciones del cliente y usuarios sirven para mejorar el prototipo y se regresa al diseo rpido para mejorarlo

Implementacin. El ciclo concluye cuando no se tienen ms observaciones y el prototipo es claro para el analista y el equipo de desarrollo.

Modelo IncrementalSe iteran las etapas del modelo de cascada y la construccin de prototipos, de modo que cada secuencia produce un incremento.Anlisis. Analista y cliente definen los requerimientos del sistema y su especificacinEspecificacin: Etapa de anlisisDiseo e implementacin: Etapa de diseo y codificacinValidacin: Etapa de pruebasEvolucin: Iteracin de cada incrementoEs menos riesgoso construir un sistema pequeo que uno grande.Si se detecta algn error solo la ltima iteracin se descarta.Se puede suponer que los requerimientos han sido definidos desde el inicio del proyecto.Se necesita experiencia para definir los incrementos de forma de distribuir las tareas de manera proporcional.Se corre el riesgo de que el desarrollo se prolongue.

Diseo. A partir del anlisis se disean las estructuras de datos, interfaces y procedimientos de acuerdo a la especificacin del usuario

Codificacin. El diseo se traduce a cdigo para la generacin del software

Pruebas. Se hace la revisin del cdigo para comprobar su integridad y realice lo esperado de acuerdo al diseo

Modelo de vida espiralEs un modelo de proceso de software evolutivo que acompaa la naturaleza interactiva de construccin de prototipos con los aspectos controlados del modelo de cascadaComunicacin con el cliente. Cliente y analista establecen las polticas de comunicacinEspecificacin: Etapas de comunicacin con el cliente, planificacin y anlisis de riesgosDiseo e implementacin: Etapas de ingeniera y construccin Validacin: Etapa de evaluacin del clienteEvolucin: Etapa de adaptacinNo se requiere definir todos los requerimientos desde el inicio.Es evolutivo, por lo que permite ir definiendo mejor sus procesos junto con el equipo e ir gestionando los riesgos.Se pueden construir prototipos para disminuir el riesgo del proyecto.Representa de mejor manera un proceso de desarrollo real.Los requerimientos se van validando con cada iteracin.Parece ser un modelo interminable.Es muy complejo.Se requiere la interaccin con el cliente de manera continua.

Planificacin. Determinan tiempos, objetivos, restricciones y lo que se necesite para el proyecto

Anlisis de riesgos. Se identifica y se gestiona el riesgo

Ingeniera. Desarrollo y verificacin del producto del siguiente nivel

Construccin y adaptacin. Actividades para desarrollar, realizar pruebas, implementar y mantener el software

Evaluacin del cliente. Validacin por parte del cliente hasta su aprobacin y liberacin

Proceso Unificado de DesarrolloEs un modelo de procesos derivado del uso de UML y el proceso asociado de desarrollo de software unificado.Inicio. Define el alcance y objetivos del proyectoEspecificacin: Etapa de inicioDiseo e implementacin: Etapas de elaboracin y construccinValidacin: Etapa de transicinEvolucin: Etapa de transicinSe identifica y gestiona el riesgo en las primeras etapas del proyecto.El conocimiento adquirido en una iteracin puede aplicarse en etapas posteriores.Se involucra constantemente a los usuariosDe acuerdo a la complejidad puede no ser adecuado.Es generalmente mal aplicado en el modelo de cascada.Requiere conocimientos de UML.No es funcional para el desarrollo de software incrustado.

Elaboracin. Se planea el proyecto, se especifican sus caractersticas y se genera la arquitectura base

Construccin. Se construye el producto

Transicin. Se transiciona el producto al usuario

Programacin Extrema XPEs uno de los mtodos agiles ms utilizados, se involucra al usuario en el desarrollo de la aplicacin donde el describe la historia del proceso con sus propias palabras, el equipo de desarrollo traduce la historia en tareas y el equipo y el usuario en conjunto deciden la planeacin para liberar la versin en dos semanasDescripcin de historias del proceso por parte del usuarioEspecificacin: Descripcin de historias y planeacinDiseo e implementacin: Traduccin de historias y codificacinValidacin: Probar la funcionalidad con el usuarioEvolucin: Planeacin y trabajo del siguiente sprintSe desarrolla software til de forma ms rpida.Se aumenta funcionalidad al sistema en cada iteracin.El tiempo de desarrollo no se puede estimar, sin embargo se entregan pequeas versiones cada bloque

Traducir las historias en tareas del sistema

Planear la liberacin del sprint

Codificar, integrar y probar la funcionalidad que se ha planeado liberar

Liberacin del software

Evaluacin del sistema con el cliente

Proceso de Desarrollo ScrumLos proyectos se realizan en bloques cortos y cada iteracin debe generar un resultado completoSeleccin de requerimientos. El cliente presenta la lista de requerimientos del proyecto, el equipo pregunta sus dudas y selecciona los requerimientos prioritarios que se compromete a entregar en la iteracinEspecificacin: Seleccin de requerimientos y planificacin de la iteracinDiseo e implementacin: Ejecucin de la iteracinValidacin: Anlisis de retrospectivaEvolucin: Planificacin de la siguiente iteracinCada bloque se entrega una parte del sistema.Se planea el sistema en conjunto con los usuarios.La gestin y el control se desarrollan de manera gil.Es orientado al cambioEl tiempo de desarrollo no se puede estimar, sin embargo se entregan pequeas versiones cada bloque

Planificacin de la iteracin. El equipo desarrolla una lista de actividades de la iteracin para desarrollar los requerimientos

Ejecucin de la iteracin. Diariamente el equipo realiza una reunin de 15 minutos para revisar el trabajo que se ha realizado y se hacen las modificaciones necesarias que permitan cumplir con el compromiso adquirido. Cada integrante contesta las preguntas: Qu han realizado los miembros del equipo desde la ltima reunin? Hay algn problema? Hay obstculos para concluir las tareas? Qu va a hacer cada miembro del equipo antes de la prxima reunin?

Conclusiones

Qu es lo que pudiste observar mediante la tabla respecto a las caractersticas de los modelos?

Si bien todos los modelos tienen el mismo objetivo (desarrollar un producto de software), cada uno tiene aplicacin en diferentes mbitos de las empresas, mientras que los modelos de cascada, la construccin de prototipos y el modelo incremental sirven para empresas que tienen perfectamente definido que es lo que necesitan y como lo necesitan, lo que ayuda a que desde un principio se pueda delimitar el alcance del sistema.

Los modelos de espiral, scrum y programacin extrema estn orientados al cambio, por lo que se pueden aplicar casi a cualquier tipo de empresa, ya que en la actualidad los procesos se van mejorando de acuerdo a su crecimiento y para poder ser competitivos en el mercado tienen que mantenerse a la vanguardia.

En todos los modelos es importante que antes de comenzar el desarrollo se debe analizar el requerimiento inicial.