Your SlideShare is downloading. ×

Metodologia De Desarrollo De Software

23,631

Published on

Metodologia de desarrollo en base al Proceso Unificado

Metodologia de desarrollo en base al Proceso Unificado

Published in: Technology, Business
4 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
23,631
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
838
Comments
4
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Metodología de desarrolloMetodología de desarrollo de software.de software. Proceso UnificadoProceso Unificado Compilación: Karem InfantasCompilación: Karem Infantas Referencias:Referencias: Braude, 2003Braude, 2003 PUD, 2000PUD, 2000
  • 2. IntroducciónIntroducción  Desarrollado por los tres autores: Booch, Rumbaugh yDesarrollado por los tres autores: Booch, Rumbaugh y Jacobson, es un proceso iterativo.Jacobson, es un proceso iterativo.  Un enfoque iterativo propone una comprensiónUn enfoque iterativo propone una comprensión incremental del problema a través de refinamientosincremental del problema a través de refinamientos sucesivos y un crecimiento incremental de una soluciónsucesivos 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 laComo parte del enfoque iterativo se encuentra la flexibilidad para acomodarse a nuevos requerimientos oflexibilidad 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 resuelvaTambién permite que el proyecto identifique y resuelva los riesgos más bien pronto que tarde.los riesgos más bien pronto que tarde.
  • 3. 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 estaEstablece la planificación del proyecto y se delimita el alcance. Durante esta fase, es frecuente crear un prototipo ejecutable que sirva para probar losfase, 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 sistemaEl 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 cuestionesha sido puesto en manos de los usuarios finales, a menudo aparecen cuestiones que requieren un desarrollo adicional para ajustar el sistema, corregir problemasque requieren un desarrollo adicional para ajustar el sistema, corregir problemas no detectados. Esta fase normalmente comienza con una versión Beta, queno 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.
  • 4. Fase de InicioFase de Inicio  Modelado del NegocioModelado del Negocio  Entrevistas con personeros de laEntrevistas con personeros de la empresa (stakeholder)empresa (stakeholder)  Recopilación de hallazgosRecopilació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 casosElaboració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 modeloDescripción de las clases del modelo de dominio (Glosario)de dominio (Glosario)  Priorizar casos de usoPriorizar casos de uso  Revisión de los requerimientosRevisión de los requerimientos principalesprincipales con roles principales de desarrollocon roles principales de desarrollo  ROLESROLES  Consultor de NegociosConsultor de Negocios  Analista de sistemasAnalista de sistemas  ARTEFACTOSARTEFACTOS  Clase CClase C  VisiónVisión  Alcance. ERSAlcance. ERS  Plan del ProyectoPlan del Proyecto  Cronograma,Cronograma,  EspecificaciEspecificación deón de RequerimientosRequerimientos  Tabla de riesgosTabla de riesgos  Plan Aseguramiento de la Calidad delPlan Aseguramiento de la Calidad del Software. SQASoftware. SQA
  • 5. 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 deRefinamiento del modelo de clases de dominiodominio  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ónDescripció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 sistemaAnalista del sistema  LLííder del Proyectoder del Proyecto  ArquitectoArquitecto  DesarrolladoresDesarrolladores  SoporteSoporte  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
  • 6. 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 delConsolidación de la Arquitectura del SistemaSistema  Identificación de componentesIdentificación de componentes  Despliegue de componentes sobreDespliegue 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ónPrueba 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 Proyectoder del Proyecto  ArquitectoArquitecto  DesarrolladoresDesarrolladores  SoporteSoporte  CalidadCalidad  ARTEFACTOSARTEFACTOS  Plan de Administración de la Configuración delPlan 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
  • 7. Fase de TransiciónFase de Transición  Preparación paraPreparación para revisión finalrevisión final  Revisión de laRevisión de la experiencia delexperiencia del usuariousuario  Revisión delRevisión del Documento final:Documento final: sintaxis y redacciónsintaxis y redacción  ROLESROLES  SoporteSoporte  CalidadCalidad  ARTEFACTOSARTEFACTOS  RTF de pruebas deRTF de pruebas de integraciónintegración  Acta de conformidadActa de conformidad del clientedel cliente  Reporte del ProyectoReporte del Proyecto
  • 8. Flujos de TrabajoFlujos de Trabajo  Modelado del NegocioModelado del Negocio  Captura de RequerisitosCaptura de Requerisitos  AnálisisAnálisis  DiseñoDiseño  ImplementaciónImplementación  PruebasPruebas
  • 9. Modelado del NegocioModelado del Negocio  Se debe entender bien el funcionmientoSe debe entender bien el funcionmiento de la organización y en particular del áreade 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 depersonas y dimensionar el entorno de trabajo.trabajo.
  • 10. 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 DominioModelo 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
  • 11. Captura de RequisitosCaptura de Requisitos Por cada caso de usoPor cada caso de uso Detalle de Casos de Uso (Mantener laDetalle de Casos de Uso (Mantener la misma identificación)misma identificación) DDescripción textualescripción textual Precondiciones y PostcondicionesPrecondiciones y Postcondiciones dependiendo que sea fundamental paradependiendo que sea fundamental para especificar reglas del negocioespecificar reglas del negocio Flujo de sucesosFlujo de sucesos  Camino Básico especificando las relaciones entreCamino Básico especificando las relaciones entre actores y el sistemaactores y el sistema  Camino Alternativo, desviación del camino básicoCamino Alternativo, desviación del camino básico Prototipar interfaz de usuarioPrototipar interfaz de usuario
  • 12. AnálisisAnálisis  Modelo de AnálisisModelo de Análisis  Realización deRealización de caso de usocaso de uso - Análisis- Análisis Diagrama de clasesDiagrama de clases Diagrama de colaboraciónDiagrama de colaboración  Análisis de clasesAnálisis de clases
  • 13. DiseñoDiseño Identificación de nodos y configuracionesIdentificación de nodos y configuraciones Identificación de subsistemas y de susIdentificación de subsistemas y de sus interfacesinterfaces Diseño de subsistemasDiseño de subsistemas Refinar los anteriores modeloRefinar los anteriores modelo Diagrama de ClasesDiagrama de Clases atributos, asociaciones y agregaciones,atributos, asociaciones y agregaciones, generalizacionesgeneralizaciones
  • 14. 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
  • 15. Esbozo de las Clases deEsbozo de las Clases de DiseñoDiseño Clases del DiseñoClases del Diseño De entidadDe entidad De interfaz (incluyen las de control)De interfaz (incluyen las de control)
  • 16. Diseño de las clases de entidadDiseño de las clases de entidad Las clases de entidad representanLas clases de entidad representan información persistente, por lo que lainformación persistente, por lo que la creación de las clases de diseño en basecreación de las clases de diseño en base a las de entidad, tienen correspondenciaa las de entidad, tienen correspondencia con tablas en un modelo de datoscon tablas en un modelo de datos relacional o diseño de base de datos.relacional o diseño de base de datos.
  • 17. Correspondencia con laCorrespondencia con la identificación.identificación. Clases de EntidadClases de Entidad EntidadEntidad Nombre de la tablaNombre de la tabla AtributoAtributo Nombre del campoNombre del campo DescripciónDescripción Tipo de datoTipo de dato
  • 18. Diseño clases de interfaz y deDiseño clases de interfaz y de ControlControl La mayoría de las veces los métodos no sonLa mayoría de las veces los métodos no son especificados durante el diseño y sonespecificados durante el diseño y son creados durante la implementación utilizandocreados 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
  • 19. Implementación del SistemaImplementación del Sistema Modelo de ImplementaciónModelo de Implementación Describe como los elementos del modelo deDescribe como los elementos del modelo de diseño, como las clases, se implementan endiseño, como las clases, se implementan en términos de componentes, como ficheros detérminos de componentes, como ficheros de código fuente, ejecutables, etc. Describecódigo fuente, ejecutables, etc. Describe también cómo se organizan los componentestambién cómo se organizan los componentes de acuerdo con los mecanismos dede acuerdo con los mecanismos de estructuración que proporciona el lenguaje deestructuración que proporciona el lenguaje de programación utilizadoprogramación utilizado
  • 20. Identificación de ComponentesIdentificación de Componentes Un componente es el empaquetamientoUn 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 decomo son las clases en el modelo de diseño. Dado el lenguaje de programacióndiseño. Dado el lenguaje de programación es normal que un componentees normal que un componente implemente varias clases.implemente varias clases.
  • 21. Estereotipos estándar deEstereotipos 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 oprograma 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
  • 22. DesarrolloDesarrollo Se debe presentar los elementos queSe 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 estereotipos Interfaz de usuario finalInterfaz de usuario final Diagramas Entidad RelaciónDiagramas Entidad Relación

×