1 / 330

Análisis y especificación de requerimientos

Especificar las caracteru00edsticas operativas del software sobre los requerimientos bu00e1sicos establecidos durante las tareas de concepciu00f3n, indagaciu00f3n y negociaciu00f3n.<br>

fparrale
Download Presentation

Análisis y especificación de requerimientos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ingeniería de requerimientos Carrera de Software Unidad 3 Análisis y especificación de requerimientos Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo para uso de los cursos de Ingeniería de Requerimientos 1 13/05/2021 Ph.D. Franklin Parrales

  2. Ingeniería de requerimientos Carrera de Software Objetivo general de la Unidad 3 Especificar las características operativas del software sobre los requerimientos básicos establecidos durante concepción, indagación y negociación. las tareas de 2 13/05/2021 Ph.D. Franklin Parrales

  3. Ingeniería de requerimientos Carrera de Software Contenido • Importancia • Modelos de análisis • Casos de uso 3 13/05/2021 Ph.D. Franklin Parrales

  4. Ingeniería de requerimientos Carrera de Software Proceso de Requisitos Actividades Análisis Planificación Obtención Especificación Verificación Validación Artefactos Documento de Visión Documento de Requisitos Especificación de Requisitos Modelo del Sistema 4 13/05/2021 Ph.D. Franklin Parrales

  5. Ingeniería de requerimientos Carrera de Software Análisis de Requisitos “El análisis de requerimientos es una actividad intensiva de comunicación.” (Pressman, 1992) 5 13/05/2021 Ph.D. Franklin Parrales

  6. Ingeniería de requerimientos Carrera de Software Análisis de Requisitos • El análisis es “descomponer” un problema o cosa para ver como trabaja. • El planteamiento del problema lleva al: – Análisis del negocio aplicación) – Ingeniería de Requerimientos – Construcción de (diseño)  Diseño y arquitectura de Software (contexto de la la solución propuesta 6 13/05/2021 Ph.D. Franklin Parrales

  7. Ingeniería de requerimientos Carrera de Software Proceso de análisis de requisitos 1. Identificar al cliente. 2. Entrevistar al cliente. – Identificar deseos y necesidades. – Utilizar las herramientas de expresión de requisitos (las ofrecidas por UML). – Bosquejar las interfaces de usuario (protocolos y GUIs) – Identificar las plataformas hardware que debe soportar el software. 3. Elaborar un documento de los requisitos de usuario (Debe validarse con el cliente) 4. Inspeccionar los requisitos de usuario. 5. Elaborar los requisitos documentos gráficos y textuales. detallados mediante 7 13/05/2021 Ph.D. Franklin Parrales

  8. Ingeniería de requerimientos Recursos para la especificación del sistema • Para la especificación del sistema se usan tres tipos de recursos: – Descripción del proyecto: describe de forma concisa el objetivo del sistema, su oportunidad de mercado y el análisis de riesgos. – Análisis del contexto: Modelo de objetos que identifica las interacciones externas interacción física entre los actores que constituyen el entorno y el propio sistema. – Casos de uso: Recursos funcionalidad del sistema. Identifican los límites del sistema a través de la captura de los tipos de usuario, de los elementos básicos de funcionalidad a través de casos de uso, y de los protocolos de interacción a través de diagramas de secuencia o de interacción. Carrera de Software Documento textual que y los mecanismos de UML para describir la 8 13/05/2021 Ph.D. Franklin Parrales

  9. Ingeniería de requerimientos Carrera de Software Análisis de Requisitos • Analizar stakeholders / clientes / usuarios • Crear vistas • Detallar • Negociar prioridades • Buscar reqs. que faltan • Evaluar factibilidad técnica - Prototipos • Evaluar riesgos de requerimientos – En el Plan 9 13/05/2021 Ph.D. Franklin Parrales

  10. Ingeniería de requerimientos Stakeholders / Clientes / Usuarios Carrera de Software Usuarios Clientes Stakeholders Clientes: – Definir responsable de: • resolución de conflictos • validación – Planificar reuniones de revisión de avance con el responsable. – Definir proceso de resolución de conflictos pe. en alcance. • Usuarios: ▪ dividirlos en clases ▪ definir representantes ▪ definir prototipos ▪ acordar responsabilidades y estrategias de colaboración con representantes • 10 13/05/2021 Ph.D. Franklin Parrales

  11. Ingeniería de requerimientos Ejemplo: perfiles de stakeholders para un sistema de trámites Carrera de Software Competencia s técnicas/ Relación de ambiente de trabajo N/A Stakeholder Rol Intereses Responsa- bilidad Criterios de éxito Preocupación Rector -Sponsor -Usuario indirecto Aprobar (proyecto) Construya sistema acuerdo normas universidad un de las la Satisfacer las necesidades de estudiantes Tiempo construcción de la aplicación de a de los Coordinación Académica -Usuario directo -Product champion Aprobar proceso Perfeccionar validar procesos y -Trámites registrados en cada centro. -Cada realiza actividades. -Satisfacción de estudiantes -Involucramien-to de los actores que intervienen en el proceso. -No se registre de forma apropiada la información Liberación del producto. los actor las los 11 13/05/2021 Ph.D. Franklin Parrales

  12. Ingeniería de requerimientos Carrera de Software Análisis de Requisitos • Analizar stakeholders / clientes / usuarios • Crear vistas • Detallar • Negociar prioridades • Buscar reqs. que faltan • Evaluar factibilidad técnica - Prototipos • Evaluar riesgos de requerimientos – En el Plan 12 13/05/2021 Ph.D. Franklin Parrales

  13. Ingeniería de requerimientos Carrera de Software Negociación Conciliar Requisitos Analizar Conflictos Resolver Conflictos Establecer Prioridades Decidir Propuestas Evaluar Propuestas REQUISITOS ACORDADOS 13 13/05/2021 Ph.D. Franklin Parrales

  14. Ingeniería de requerimientos Carrera de Software La negociación. • Esta bien, espíritu comercial, peligrosa si: – Se comienza a negociar sin tener claras las especificaciones del cliente. – El usuario con ligeras nociones de las técnicas de desarrollo actuales. – El usuario tiene la necesidad de disponer de la aplicación lo antes posible. – El director o jefe de proyecto tiene que negociar con un usuario de mayor nivel jerárquico. – El trabajo usual de muchos usuarios es el de contratar servicios a empresas externas y saben que siempre hay un margen que se puede disminuir. 14 13/05/2021 Ph.D. Franklin Parrales

  15. Ingeniería de requerimientos Carrera de Software La negociación de los plazos, lleva a: • Fuertes niveles de compromiso personal del jefe del proyecto, • Escasa participación en la fijación de plazos de los que van a desarrollar la aplicación. • El marco es el ideal para el fracaso: • El desconocimiento de las necesidades del usuario suele hacer que se subestimen • El compromiso unilateral del jefe, en estas condiciones, difícilmente será respaldado por sus subordinados. 15 13/05/2021 Ph.D. Franklin Parrales

  16. Ingeniería de requerimientos Carrera de Software Selección de una alternativa. • Quiero pasar una tarde divertida... • … Cada persona tiene sus gustos ... 16 13/05/2021 Ph.D. Franklin Parrales

  17. Ingeniería de requerimientos Carrera de Software Podemos ofrecer: • Distintos Diseños… • Distintas planificaciones para un diseño dado. • Distintos enfoques al desarrollo: – Desarrollo propio, – Outsourcing o subcontratación, – Compra de paquetes 17 13/05/2021 Ph.D. Franklin Parrales

  18. Ingeniería de requerimientos Carrera de Software Análisis de Requisitos • Analizar stakeholders / clientes / usuarios • Crear vistas • Detallar • Negociar prioridades • Buscar reqs. que faltan • Evaluar factibilidad técnica - Prototipos • Evaluar riesgos de requerimientos – En el Plan 18 13/05/2021 Ph.D. Franklin Parrales

  19. Ingeniería de requerimientos Algunos riesgos y estrategias que comúnmente ocurren en los proyectos de desarrollo Riesgoscomunesenlos requerimientos • Identificar a los interesados del producto. • Crear un plan de participación de interesados. • Usar técnicas de elicitación que atraigan a los usuarios enel proceso • Crear la visión del producto. • Desarrollar modelos dealcancedelproyecto. • Validar requerimientos con prototipos operacionales. Desarrolladores agregan funcionalidades innecesarias . • Priorizarrequerimientos. • Desarrollarmodelosdealcance. • Crear una línea base para requerimientos y establecer mecanismos de control de cambios. Pobre análisis del impacto cuando las necesidadescambiany evolucionan. • Formalizar documentos de requerimientos. • Adaptar los procesos de proyecto. • Conducir una retrospectiva de los requerimientos. • Desarrollar la visión del producto. • Desarrollar múltiples modelos de requerimientos. • Validarlosrequerimientos. Requisitoscontradictorios (conflictivos). • Validar los requerimientos con el modelo de validación. • Desarrollar múltiples modelos de requerimientos. • Verificar la falta de requerimientos con el modelo de validación. Carrera de Software Estrategias de mitigación Falta de participación del usuario Expectativaspocorealistasdelos clientes. Crear la visión del producto. • Constante cambio de requerimientos. Crear una línea base y seguimientode requerimientos. • requerimientos para el Usodenuevastécnicaso herramientas de requerimientos. Requisitospococlaros,ambiguos. Formalizar el documento de visión. • Faltaderequisitos 19 13/05/2021 Ph.D. Franklin Parrales

  20. Ingeniería de requerimientos Carrera de Software Contenido • Importancia • Modelos de análisis • Casos de uso 20 13/05/2021 Ph.D. Franklin Parrales

  21. Ingeniería de requerimientos Carrera de Software Proceso de Requisitos Actividades Análisis Planificación Obtención Especificación Verificación Validación Artefactos Documento de Visión Documento de Requisitos Especificación de Requisitos Modelo del Sistema 21 13/05/2021 Ph.D. Franklin Parrales

  22. Ingeniería de requerimientos Carrera de Software ¿Qué es un modelo? • Un modelo es una abstracción que se construye para entender y resolver problemas. 22 13/05/2021 Ph.D. Franklin Parrales

  23. Ingeniería de requerimientos Carrera de Software ¿Por qué se construyen modelos? • Reducir del sistema. • Comunicar las ideas a otros. • Visualización. • Nos permite entidad física antes de construirla. • Los modelos documentan las decisiones tomamos. la complejidad probar la Nadie construye una casa sin un plano. que 23 13/05/2021 Ph.D. Franklin Parrales

  24. Ingeniería de requerimientos Carrera de Software Modelamiento Orientado a Objetos • En construcción de todos los sistemas software es el objeto. • Para realizar modelos de sistemas orientados a objetos se usa el Modelamiento (UML). este enfoque, el principal bloque de Lenguaje Unificado de 24 13/05/2021 Ph.D. Franklin Parrales

  25. Ingeniería de requerimientos Carrera de Software UML • Unified Modeling Language • Objetivo: Proveer un lenguaje común que puede ser usado para el desarrollo de software • Lenguaje que permite: – Visualizar: La comunicación es a través de gráficos – Especificar: construyendo modelos implementación – Construir: Permite la generación de código a partir de un modelo UML, y la construcción de un modelo a partir del código (ingeniería reversa) – Documentar: Permite la documentación completa de todo el sistema • Aprobado como estándar por la OMG en 1997 • Actualmente se encuentra en la versión 2.4.1 (nov 2012) para el análisis, diseño, 25 13/05/2021 Ph.D. Franklin Parrales

  26. Ingeniería de requerimientos Carrera de Software Unified Modeling Language • Diagramas: Disponen un conjunto de elementos, que representan el perspectivas. – Ingeniería directa: Es posible generar código a partir de un modelo UML. – Ingeniería inversa: Es posible generar un modelo UML a partir de la implementación. • En ambos casos se requiere mayor o menor supervisión, en función de lo buenas que sean las herramientas usadas. • UML tiene nueve diagramas clasificados en dos grupos, uno para modelar la estructura estática del sistema y otro para modelar el comportamiento dinámico. modelo desde distintas fundamentales, 26 13/05/2021 Ph.D. Franklin Parrales

  27. Ingeniería de requerimientos Carrera de Software Diagramas en UML 27 13/05/2021 Ph.D. Franklin Parrales

  28. Ingeniería de requerimientos Carrera de Software Tipos de Diagramas • Modelo Estático – Construye y documenta los aspectos estáticos de un sistema. – Refleja la estructura básica y estable de un sistema software. – Crea una representación de los principales elementos del dominio del problema – Diagramas: Clases, Objetos, componentes y despliegue. • Modelo Dinámico – Crea los diagramas que muestran el comportamiento de un sistema – Diagramas: Casos de Uso, secuencia, colaboración, estados y actividades 28 13/05/2021 Ph.D. Franklin Parrales

  29. Ingeniería de requerimientos Carrera de Software Elección de una Técnica para Modelar Requisitos • Para modelar los requisitos se utilizan los siguientes diagramas: – Diagrama de Casos de Uso – Diagrama de Clases (Modelo Conceptual) – Diagrama de Actividad – Diagramas de Estados • No existe un único enfoque aplicable a todos los sistemas, depende de cada proyecto • Puede ser necesario enfoques combinar varios 29 13/05/2021 Ph.D. Franklin Parrales

  30. Ingeniería de requerimientos Carrera de Software Análisis y Diseño OO Las herramientas usadas en la etapa de análisis (investigación del problema) se pueden resumir en la siguiente table: Herramienta de análisis Preguntas que contesta ¿Cuáles son los conceptos, los términos del dominio? ¿Cómo se lleva a cabo cada proceso del dominio? ¿Cuáles son las tareas del dominio? ¿Cuáles son los eventos y las operac. del sistema? Modelo conceptual Diagramas de Actividades Casos de uso Diagramas de interacción 30 13/05/2021 Ph.D. Franklin Parrales

  31. Ingeniería de requerimientos Carrera de Software Captura y Modelado de Requisitos • El Análisis de Requisitos tiene por misión convertir el problema, expresado en términos del dominio del negocio, a soluciones descritas en el lenguaje del dominio de la Tecnología de Información. • El problema y su planteamiento pertenecen al Espacio del Problema: – Descripción concreta del negocio. – Dominio de los Objetos de Negocio (DON). • Las soluciones pertenecen al Espacio de la Solución: – Descripción concreta del sistema de información. – Dominio de los Objetos de Negocio. – Dominio de los Objetos de Infraestructura (DOI): • Subdominio de Objetos de Bases de Datos (SDOBD). • Subdominio de Objetos de Interfaz (SDOIZ). 31 13/05/2021 Ph.D. Franklin Parrales

  32. Ingeniería de requerimientos Carrera de Software Captura y Modelado de Requisitos Espacio de la Solución de Usuario 1 Espacio del Problema Análisis de Requisitos 2 Análisis OO Espacio de la Solución de Implementación 3 Diseño OO Diseño Espacio de la Solución Técnica 32 13/05/2021 Ph.D. Franklin Parrales

  33. Ingeniería de requerimientos Carrera de Software Análisis del problema: Análisis de Requisitos (Espacio del problema) 1 • En descompone el problema a tratar. • Se debe indicar cuales son las principales antecedentes, causales problema. • Se deberá referenciar respalden las afirmaciones hechas. • Se debe establecer justificaciones por las cuales este problema es escogido. esta fase se identifica, define y y efectos del a fuentes que cuales son las 33 13/05/2021 Ph.D. Franklin Parrales

  34. Ingeniería de requerimientos Carrera de Software Análisis del problema: Análisis de Requisitos (Espacio del problema) 1 • Se soluciones al problema propuesto en otros ámbitos o utilizando otras tecnologías. • De existir otras soluciones, se debe dar una BREVE descripción de cada una, haciendo énfasis desventajas, con brinde mayor información. debe investigar si ya existen en una sus referencia ventajas y que 34 13/05/2021 Ph.D. Franklin Parrales

  35. Ingeniería de requerimientos Carrera de Software Análisis del problema: Análisis de Requisitos (Espacio del problema) 1 • El Análisis de Requisitos se realiza por medio de los flujos de trabajo: – Modelado del negocio. – Requisitos. • El resultado del Análisis de Requisitos es el siguiente: – Modelo del Negocio. – Modelo del Dominio. – Documento de Especificaciones Técnicas del Sistema (según norma IEEE-830/1998). 35 13/05/2021 Ph.D. Franklin Parrales

  36. Ingeniería de requerimientos Carrera de Software Análisis del problema: Análisis de Requisitos (Espacio del problema) 1 Flujos de trabajo del proceso Iniciación Elaboración Construcción Transición Modelado del negocio Requisitos Requisitos Análisis y diseño Implementación Pruebas Despliegue Flujos de trabajo de soporte Gestión del cambio y configuraciones Gestión del proyecto Entorno Iteraciones preliminares Iter #1 Iter #2 Iter #n Iter #n+1 Iter #n+2 Iter #m Iter #m+1 36 13/05/2021 Ph.D. Franklin Parrales

  37. Ingeniería de requerimientos Carrera de Software Análisis de la solución: Análisis OO (Espacio de la Solución de Usuario) 2 • En esta fase se deber responder la pregunta: ¿Qué se va a hacer para resolver el problema? • Se podrá utilizar cualquier metodología de análisis que se prefiera: Casos de Uso, Historias de Usuario, etc. • El reporte deberá incluir los diagramas o productos más importantes. • El resultado debe ser un texto fluido, más que un conjunto de diagramas o tablas. 37 13/05/2021 Ph.D. Franklin Parrales

  38. Ingeniería de requerimientos Carrera de Software Análisis de la solución: Análisis OO (Espacio de la Solución de Usuario) 2 • En estructurada, las diferentes herramientas/conocimientos que se pueden utilizar para la solución del problema. • Lo más importante de esta sub-fase no es solo conocer la existencia y herramientas/conocimiento, organizarlas/clasificarlas lógicamente y comparar sus principales ventajas/desventajas en lo que concierne al problema a resolver. • Se debe incluir una BREVE descripción de cada herramienta/conocimiento, una referencia que provea más información y una sección donde se contraste su utilidad para diseñar/implementar la solución problema. esta fase también se presentará de manera descripción de las sino 38 13/05/2021 Ph.D. Franklin Parrales

  39. Ingeniería de requerimientos Carrera de Software Análisis de la solución: Análisis OO (Espacio de la Solución de Usuario) 2 • Al final de este paso se procede a establecer cuál será el alcance de la solución que se elaborará. • El alcance significa que va ha hacer y que no va a hacer la solución. • Al final del proyecto se establecerá hasta que punto se cumplió este alcance. 39 13/05/2021 Ph.D. Franklin Parrales

  40. Ingeniería de requerimientos Diseño de la solución: Diseño OO (Espacio de la Solución Técnica) Carrera de Software 3 • Esta fase se deber responder la pregunta: ¿Cómo se va a resolver el problema? • Se deberá explicar la forma en que resolverá el problema. • Se puede utilizar cualquier metodología de soporte al diseño (OO, Modular, etc.) • Se deberá reportar, en forma de narrativa, el diseño propuesto. Se podrá utilizar diagramas, tablas o figuras, solamente cuando ayuden a esclarecer un pasaje del texto. • Cuando no estén vinculados a una sección del texto, los productos de la metodología de soporte al diseño (tablas, diagramas o figuras) podrán incluirse como anexos. 40 13/05/2021 Ph.D. Franklin Parrales

  41. Ingeniería de requerimientos Diseño de la solución: Diseño OO (Espacio de la Solución Técnica) • En esta fase se debe evitar, en lo posible, cualquier referencia a detalles de implementación como lenguaje a utilizar, sistema de base de datos, especificaciones de hardware, entre otros. • El resultado del diseño debería, en principio, independiente de la plataforma sobre la cual se implemente. • Dada la importancia de la interfaz, esta se debe diseñar en esta fase. • Deben realizarse bosquejos de lo que será la interfaz final, así como de la interacción prevista con el usuario. Carrera de Software 3 41 13/05/2021 Ph.D. Franklin Parrales

  42. Ingeniería de requerimientos Carrera de Software Contenido • Importancia • Modelos de análisis – Modelo de dominio – Modelo de negocio • Casos de uso 42 13/05/2021 Ph.D. Franklin Parrales

  43. Ingeniería de requerimientos Carrera de Software Análisis y Diseño OO Las herramientas usadas en la etapa de análisis (investigación del problema) se pueden resumir en la siguiente table: Herramienta de análisis Preguntas que contesta ¿Cuáles son los conceptos, los términos del dominio? ¿Cómo se lleva a cabo cada proceso del dominio? ¿Cuáles son las tareas del dominio? ¿Cuáles son los eventos y las operac. del sistema? Modelo conceptual Diagramas de Actividades Casos de uso Diagramas de interacción 43 13/05/2021 Ph.D. Franklin Parrales

  44. Ingeniería de requerimientos Carrera de Software Modelo de dominio • Particiona importantes relacionados con el dominio. • Una actividad clásica del análisis orientado a objetos. • ¿Cuáles son los objetos de interés en el dominio? – ¿Sus atributos? – ¿Sus relaciones? • ATENCIÓN: no son objetos software, sino un “diccionario visual” de conceptos del dominio. y presenta los conceptos 44 13/05/2021 Ph.D. Franklin Parrales

  45. Ingeniería de requerimientos Carrera de Software Modelo de dominio • Un modelo de dominio es un modelo conceptual de relacionados con un problema específico. • En él se describen las distintas entidades, sus atributos, papeles además de las restricciones que rigen el dominio del problema. todos los temas y relaciones, 45 13/05/2021 Ph.D. Franklin Parrales

  46. Ingeniería de requerimientos Carrera de Software Modelo del Dominio (Conceptual) • Permite conforman el dominio, sus relaciones y atributos • Se representan los conceptos del dominio • Muestra aspectos estáticos describir las entidades (conceptos) que 46 13/05/2021 Ph.D. Franklin Parrales

  47. Ingeniería de requerimientos Carrera de Software Modelo de dominio • Un Modelo de Dominio es un artefacto de la disciplina de análisis , – construido con las reglas de UML durante la fase de concepción, en la tarea construcción del modelo de dominio, – presentado como uno o más diagramas de clases y – que contiene, no conceptos propios de un sistema de software sino de la propia realidad física. 47 13/05/2021 Ph.D. Franklin Parrales

  48. Ingeniería de requerimientos Carrera de Software Modelo de dominio • Un modelo de dominio que encapsula los métodos dentro de las entidades/conceptos se asocia más bien con modelos orientados a objetos. • El modelo de dominio proporciona una visión estructural del dominio que puede ser complementado con otros puntos de vista dinámicos, como el modelo de casos de uso. 48 13/05/2021 Ph.D. Franklin Parrales

  49. Ingeniería de requerimientos Carrera de Software Un modelo del dominio no representa objetos software • Un modelo de conceptos del dominio, no de objetos software: – Un “diccionario visual” de términos importantes en el dominio. • Utiliza la notación UML de diagrama de estructura estática: 1 Alquila  1..* Videoclub dirección nombre teléfono Cliente Vídeo Alquila-de  dirección nombre teléfono Almacena  ID 1 1 * * 49 13/05/2021 Ph.D. Franklin Parrales

  50. Ingeniería de requerimientos Carrera de Software Modelo de dominio • Diagrama de clases • Clases • Atributos • Métodos • Relaciones 51 13/05/2021 Ph.D. Franklin Parrales

More Related