Metodologia De Desarrollo De Software

22
Metodología de Metodología de desarrollo de desarrollo de software. software. Proceso Unificado Proceso Unificado Compilación: Karem Infantas Compilación: Karem Infantas Referencias: Referencias: Braude, 2003 Braude, 2003 PUD, 2000 PUD, 2000

description

Metodologia de desarrollo en base al Proceso Unificado

Transcript of Metodologia De Desarrollo De Software

Page 1: Metodologia De Desarrollo De Software

Metodología de desarrollo Metodología de desarrollo de software. de software.

Proceso UnificadoProceso UnificadoCompilación: Karem InfantasCompilación: Karem Infantas

Referencias: Referencias:

Braude, 2003Braude, 2003

PUD, 2000PUD, 2000

Page 2: Metodologia De Desarrollo De Software

IntroducciónIntroducción Desarrollado por los tres autores: Booch, Rumbaugh y Desarrollado por los tres autores: Booch, Rumbaugh y

Jacobson, es un proceso iterativo. Jacobson, es un proceso iterativo. Un enfoque iterativo propone una comprensión Un enfoque iterativo propone una comprensión

incremental del problema a través de refinamientos incremental del problema a través de refinamientos sucesivos y un crecimiento incremental de una solución sucesivos y un crecimiento incremental de una solución efectiva a través de varios ciclos.efectiva a través de varios ciclos.

Como parte del enfoque iterativo se encuentra la Como parte del enfoque iterativo se encuentra la flexibilidad para acomodarse a nuevos requerimientos o flexibilidad para acomodarse a nuevos requerimientos o a cambios tácticos de los objetos del negocio. a cambios tácticos de los objetos del negocio.

También permite que el proyecto identifique y resuelva También permite que el proyecto identifique y resuelva los riesgos más bien pronto que tarde.los riesgos más bien pronto que tarde.

Page 3: Metodologia De Desarrollo De Software

FasesFases Las fases iterativas son: inicio, elaboración, construcción y transición.Las fases iterativas son: inicio, elaboración, construcción y transición. InicioInicio

Establece la planificación del proyecto y se delimita el alcance. Durante esta Establece la planificación del proyecto y se delimita el alcance. Durante esta fase, es frecuente crear un prototipo ejecutable que sirva para probar los fase, es frecuente crear un prototipo ejecutable que sirva para probar los conceptos y decidir si se procede con el desarrollo del sistema.conceptos y decidir si se procede con el desarrollo del sistema.

ElaboraciónElaboración Se analiza el dominio del problema y se desarrolla el plan del proyecto, Se analiza el dominio del problema y se desarrolla el plan del proyecto,

eliminando los elementos de más alto riesgo.eliminando los elementos de más alto riesgo. Se describe la mayoría de los requisitos del sistema, examinando el alcance, Se describe la mayoría de los requisitos del sistema, examinando el alcance,

objetivos del sistema y decidiendo si se debe pasar a la construcción.objetivos del sistema y decidiendo si se debe pasar a la construcción. ConstrucciónConstrucción

Se desarrolla en forma iterativa e incremental un producto completo que esté Se desarrolla en forma iterativa e incremental un producto completo que esté preparado para la transición hacia la comunidad de usuarios.preparado para la transición hacia la comunidad de usuarios.

TransiciónTransición El software se despliega en la comunidad de usuarios. Una vez que el sistema El software se despliega en la comunidad de usuarios. Una vez que el sistema

ha sido puesto en manos de los usuarios finales, a menudo aparecen cuestiones ha sido puesto en manos de los usuarios finales, a menudo aparecen cuestiones que requieren un desarrollo adicional para ajustar el sistema, corregir problemas que requieren un desarrollo adicional para ajustar el sistema, corregir problemas no detectados. Esta fase normalmente comienza con una versión Beta, que no detectados. Esta fase normalmente comienza con una versión Beta, que luego se reemplaza con el sistema de producción.luego se reemplaza con el sistema de producción.

Page 4: Metodologia De Desarrollo De Software

Fase de InicioFase de Inicio Modelado del NegocioModelado del Negocio

Entrevistas con personeros de la Entrevistas con personeros de la empresa (stakeholder)empresa (stakeholder)

Recopilación de hallazgos Recopilación de hallazgos (formularios, reportes )(formularios, reportes )

Requerimientos PrincipalesRequerimientos Principales Captura de requisitos “C”Captura de requisitos “C”

Identificación de los actoresIdentificación de los actores Descripción textual de requerimientosDescripción textual de requerimientos Elaboración en alto nivel de los casos Elaboración en alto nivel de los casos

de uso generalesde uso generales Identificación de los casos de usoIdentificación de los casos de uso Esbozo del modelo de casos de usoEsbozo del modelo de casos de uso Desarrollo del Modelo de dominioDesarrollo del Modelo de dominio Clase AClase A

Descripción de las clases del modelo de Descripción de las clases del modelo de dominio (Glosario)dominio (Glosario)

Priorizar casos de usoPriorizar casos de uso Revisión de los requerimientos Revisión de los requerimientos

principalesprincipalescon roles principales de desarrollocon roles principales de desarrollo

ROLESROLES Consultor de Negocios Consultor de Negocios Analista de sistemasAnalista de sistemas

ARTEFACTOSARTEFACTOS Clase CClase C

VisiónVisión Alcance. ERS Alcance. ERS Plan del ProyectoPlan del Proyecto

Cronograma, Cronograma, EspecificaciEspecificación de ón de

RequerimientosRequerimientos Tabla de riesgosTabla de riesgos

Plan Aseguramiento de la Calidad del Plan Aseguramiento de la Calidad del Software. SQASoftware. SQA

Page 5: Metodologia De Desarrollo De Software

Fase de elaboraciónFase de elaboración Requerimientos detallados “D”Requerimientos detallados “D”

Recopilación de nuevos requisitos para el sistemaRecopilación de nuevos requisitos para el sistema Detallar casos de usoDetallar casos de uso Diseñar prototipos de interfacesDiseñar prototipos de interfaces Refinamiento del modelo de clases de dominioRefinamiento del modelo de clases de dominio Estructurar el Modelo de Casos de UsoEstructurar el Modelo de Casos de Uso

AnálisisAnálisis Esbozo del modelo de casos de uso (paquetes de análisis)Esbozo del modelo de casos de uso (paquetes de análisis) Análisis de casos de usoAnálisis de casos de uso Identificación de clases de análisisIdentificación de clases de análisis Realización de casos de uso - análisisRealización de casos de uso - análisis Diagramas de clasesDiagramas de clases Diagrama de interacciónDiagrama de interacción Flujo de sucesos - análisisFlujo de sucesos - análisis Análisis de clasesAnálisis de clases

Identificación de responsabilidadesIdentificación de responsabilidades Identificación de atributosIdentificación de atributos Identificación de asociaciones y agregacionesIdentificación de asociaciones y agregaciones Identificación de generalizacionesIdentificación de generalizaciones

Análisis de paquetes de análisisAnálisis de paquetes de análisis DiseñoDiseño

Identificación de nodos y configuracionesIdentificación de nodos y configuraciones Diagrama de despliegueDiagrama de despliegue Diagrama de clases refinadoDiagrama de clases refinado Identificación de subsistemas y de sus interfacesIdentificación de subsistemas y de sus interfaces Identificación de clases de diseñoIdentificación de clases de diseño Diseño de casos de usosDiseño de casos de usos Identificación de clases de diseñoIdentificación de clases de diseño Realización de casos de uso - diseñoRealización de casos de uso - diseño Diagrama de secuenciaDiagrama de secuencia Flujo de sucesos - diseñoFlujo de sucesos - diseño Identificación de subsistemas e interfacesIdentificación de subsistemas e interfaces Descripción de interacción Descripción de interacción Diseño de la Base de datos (Diagrama E-R)Diseño de la Base de datos (Diagrama E-R)

ROLESROLES Analista del sistema Analista del sistema LLííder del Proyecto der del Proyecto Arquitecto Arquitecto Desarrolladores Desarrolladores Soporte Soporte CalidadCalidad

ARTEFACTOSARTEFACTOS Documento del Proyecto. MPSDocumento del Proyecto. MPS

Diagrama de Casos de UsoDiagrama de Casos de Uso Diagrama de ClasesDiagrama de Clases Detalle de Casos de UsoDetalle de Casos de Uso Diagrama de InteracciónDiagrama de Interacción Diagrama E-RDiagrama E-R Diagrama de despliegueDiagrama de despliegue

Arquitectura del sistemaArquitectura del sistema Plan de PruebasPlan de Pruebas

Page 6: Metodologia De Desarrollo De Software

Fase de ConstrucciónFase de Construcción DiseñoDiseño

Diseño de clasesDiseño de clases Esbozo de clase de diseñoEsbozo de clase de diseño Identificar operacionesIdentificar operaciones Identificar atributosIdentificar atributos Identificar asociaciones y agregacionesIdentificar asociaciones y agregaciones Identificar generalizacionesIdentificar generalizaciones

Refinamiento del Diagrama Entidad RelaciónRefinamiento del Diagrama Entidad Relación Diseño de subsistemasDiseño de subsistemas Dependencias entre subsistemasDependencias entre subsistemas Interfaces de subsistemasInterfaces de subsistemas Revisión del DiseñoRevisión del Diseño

ImplementaciónImplementación Consolidación de la Arquitectura del Consolidación de la Arquitectura del

SistemaSistema Identificación de componentesIdentificación de componentes Despliegue de componentes sobre Despliegue de componentes sobre

nodosnodos Subsistemas e interfacesSubsistemas e interfaces Construcción del SistemaConstrucción del Sistema Implementación de subsistemasImplementación de subsistemas Implementación de clasesImplementación de clases Esbozo de componentes ficherosEsbozo de componentes ficheros Generación de códigoGeneración de código

PruebasPruebas Prueba de UnidadPrueba de Unidad Prueba de Integración Prueba de Integración Ejecución de Pruebas del SistemaEjecución de Pruebas del Sistema Entrega del Producto BetaEntrega del Producto Beta

ROLESROLES LLííder del Proyecto der del Proyecto Arquitecto Arquitecto Desarrolladores Desarrolladores Soporte Soporte CalidadCalidad

ARTEFACTOSARTEFACTOS Plan de Administración de la Configuración del Plan de Administración de la Configuración del

Software. SCMSoftware. SCM Documento del Proyecto refinadoDocumento del Proyecto refinado

Diagrama clases completoDiagrama clases completo Documentación de la Arquitectura del SoftwareDocumentación de la Arquitectura del Software

Esquema de la Base de datosEsquema de la Base de datos Esquema de los archivos: fuentes y objetosEsquema de los archivos: fuentes y objetos

LugarLugar Documentación de estándares y codificaciónDocumentación de estándares y codificación Diagrama de interacciónDiagrama de interacción

RTF de las PruebasRTF de las Pruebas Manual del UsuarioManual del Usuario

Page 7: Metodologia De Desarrollo De Software

Fase de TransiciónFase de Transición

Preparación para Preparación para revisión finalrevisión final

Revisión de la Revisión de la experiencia del experiencia del usuariousuario

Revisión del Revisión del Documento final: Documento final: sintaxis y redacciónsintaxis y redacción

ROLESROLES Soporte Soporte Calidad Calidad

ARTEFACTOSARTEFACTOS RTF de pruebas de RTF de pruebas de

integraciónintegración Acta de conformidad Acta de conformidad

del clientedel cliente Reporte del ProyectoReporte del Proyecto

Page 8: Metodologia De Desarrollo De Software

Flujos de TrabajoFlujos de Trabajo

Modelado del NegocioModelado del NegocioCaptura de RequerisitosCaptura de RequerisitosAnálisisAnálisisDiseñoDiseño ImplementaciónImplementaciónPruebasPruebas

Page 9: Metodologia De Desarrollo De Software

Modelado del NegocioModelado del Negocio

Se debe entender bien el funcionmiento Se debe entender bien el funcionmiento de la organización y en particular del área de la organización y en particular del área donde se llevará a cabo el sistema.donde se llevará a cabo el sistema.

Esto con el fin de entender: procesos, Esto con el fin de entender: procesos, personas y dimensionar el entorno de personas y dimensionar el entorno de trabajo.trabajo.

Page 10: Metodologia De Desarrollo De Software

Captura de RequisitosCaptura de Requisitos

GeneralesGenerales    Identificación y descripción de actores.Identificación y descripción de actores.

    Lista de requisitos.Lista de requisitos.     Modelo de Dominio Modelo de Dominio

DDescripción de las clases de dominio.escripción de las clases de dominio.

Modelo de Casos de UsoModelo de Casos de Uso

Page 11: Metodologia De Desarrollo De Software

Captura de RequisitosCaptura de Requisitos

Por cada caso de usoPor cada caso de usoDetalle de Casos de Uso (Mantener la misma Detalle de Casos de Uso (Mantener la misma

identificación)identificación)DDescripción textualescripción textualPrecondiciones y Postcondiciones dependiendo que Precondiciones y Postcondiciones dependiendo que

sea fundamental para especificar reglas del negociosea fundamental para especificar reglas del negocioFlujo de sucesos Flujo de sucesos

Camino Básico especificando las relaciones entre actores y Camino Básico especificando las relaciones entre actores y el sistemael sistema

Camino Alternativo, desviación del camino básicoCamino Alternativo, desviación del camino básico

Prototipar interfaz de usuarioPrototipar interfaz de usuario

Page 12: Metodologia De Desarrollo De Software

AnálisisAnálisis

Modelo de AnálisisModelo de AnálisisRealización de Realización de caso de usocaso de uso - Análisis - Análisis

Diagrama de clasesDiagrama de clasesDiagrama de colaboración

Análisis de clasesAnálisis de clases

Page 13: Metodologia De Desarrollo De Software

DiseñoDiseño

Identificación de nodos y configuracionesIdentificación de nodos y configuraciones

Identificación de subsistemas y de sus Identificación de subsistemas y de sus interfacesinterfaces

Diseño de subsistemasDiseño de subsistemas

Refinar los anteriores modeloRefinar los anteriores modelo

Diagrama de Clasesatributos, asociaciones y agregaciones, atributos, asociaciones y agregaciones,

generalizacionesgeneralizaciones

Page 14: Metodologia De Desarrollo De Software

Realización de Casos de Uso-Realización de Casos de Uso-DiseñoDiseño

Nombre del Caso de usoNombre del Caso de uso

Flujo de sucesos-diseñoFlujo de sucesos-diseño

Page 15: Metodologia De Desarrollo De Software

Esbozo de las Clases de Esbozo de las Clases de DiseñoDiseño

Clases del DiseñoClases del DiseñoDe entidad De entidad

De interfaz (incluyen las de control)De interfaz (incluyen las de control)

Page 16: Metodologia De Desarrollo De Software

Diseño de las clases de entidadDiseño de las clases de entidad

Las clases de entidad representan Las clases de entidad representan información persistente, por lo que la información persistente, por lo que la creación de las clases de diseño en base creación de las clases de diseño en base a las de entidad, tienen correspondencia a las de entidad, tienen correspondencia con tablas en un modelo de datos con tablas en un modelo de datos relacional o diseño de base de datos.relacional o diseño de base de datos.

Page 17: Metodologia De Desarrollo De Software

Correspondencia con la Correspondencia con la identificación. identificación.

Clases de EntidadClases de EntidadEntidadEntidad

Nombre de la tablaNombre de la tabla

AtributoAtributoNombre del campoNombre del campo

DescripciónDescripción

Tipo de datoTipo de dato

Page 18: Metodologia De Desarrollo De Software

Diseño clases de interfaz y de Diseño clases de interfaz y de ControlControl

La mayoría de las veces los métodos no son La mayoría de las veces los métodos no son especificados durante el diseño y son especificados durante el diseño y son creados durante la implementación utilizando creados durante la implementación utilizando el lenguaje de programación directamente.el lenguaje de programación directamente.Nombre de la Clase de InterfazNombre de la Clase de Interfaz

Archivos que utiliza (forms, html)Archivos que utiliza (forms, html)

OperacionesOperaciones

Page 19: Metodologia De Desarrollo De Software

Implementación del SistemaImplementación del Sistema

Modelo de ImplementaciónModelo de ImplementaciónDescribe como los elementos del modelo de Describe como los elementos del modelo de

diseño, como las clases, se implementan en diseño, como las clases, se implementan en términos de componentes, como ficheros de términos de componentes, como ficheros de código fuente, ejecutables, etc. Describe código fuente, ejecutables, etc. Describe también cómo se organizan los componentes también cómo se organizan los componentes de acuerdo con los mecanismos de de acuerdo con los mecanismos de estructuración que proporciona el lenguaje de estructuración que proporciona el lenguaje de programación utilizadoprogramación utilizado

Page 20: Metodologia De Desarrollo De Software

Identificación de ComponentesIdentificación de Componentes

Un componente es el empaquetamiento Un componente es el empaquetamiento físico de los elementos de un modelo, físico de los elementos de un modelo, como son las clases en el modelo de como son las clases en el modelo de diseño. Dado el lenguaje de programación diseño. Dado el lenguaje de programación es normal que un componente implemente es normal que un componente implemente varias clases.varias clases.

Page 21: Metodologia De Desarrollo De Software

Estereotipos estándar de Estereotipos estándar de componentescomponentes

<<executable>> programa que puede ser <<executable>> programa que puede ser ejecutado en un nodoejecutado en un nodo

<<file>> es unfichero que contiene <<file>> es unfichero que contiene programa fuente o programa fuente o datosdatos

<<library>> es una librería estática o <<library>> es una librería estática o dinámicadinámica

<<table>> es una tabla de base de datos<<table>> es una tabla de base de datos

<<document>> es un documento<<document>> es un documento

Page 22: Metodologia De Desarrollo De Software

DesarrolloDesarrollo

Se debe presentar los elementos que Se debe presentar los elementos que conforman los gestores.conforman los gestores.

Asignación de componentes a nodosAsignación de componentes a nodos

Detalle de los estereotiposDetalle de los estereotiposInterfaz de usuario finalInterfaz de usuario final

Diagramas Entidad RelaciónDiagramas Entidad Relación