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
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.
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.
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
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
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
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
Flujos de TrabajoFlujos de Trabajo
Modelado del NegocioModelado del NegocioCaptura de RequerisitosCaptura de RequerisitosAnálisisAnálisisDiseñoDiseño ImplementaciónImplementaciónPruebasPruebas
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.
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
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
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
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
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
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)
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.
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
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
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
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.
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
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
Top Related