SlideShare une entreprise Scribd logo
1  sur  39
Ingeniería de Requisitos MSc(c): Pablo Ruiz Fundación Universitaria de Popayán Septiembre 2011
Agenda Los requisitos de software Ingeniería de requisitos  Técnicas de ingeniería de  requisitos
¿Qué son los requisitos? Un requisito es una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo [IEEE] Una condición o capacidad que debe ser atendida por el sistema [RUP]. Algo que el sistema debe hacer o una cualidad que el sistema debe poseer [Robertson – Robertson].
Problemas Los usuarios no saben lo que quieren. Un sistema tiene muchos usuarios y ninguno tiene una visión de conjunto. No saben cómo hacer más eficiente la operación en su conjunto No saben qué partes de su trabajo pueden transformarse en software. No saben detallar lo que saben de forma precisa.
Solución tradicional: analistas Labores obtener una lista de requisitos de cada usuario adquirir una visión de conjunto componer una especificación completa, correcta y estable Desventajas listas de requisitos son difíciles de comprender y de hacer bien difíciles de transformar en especificaciones de diseño e implementación
Objetivos generales Enumerar los requisitos candidatos Comprender el contexto del sistema Capturar requisitos funcionales Capturar requisitos no funcionales
Requisitos funcionales Definen lo que el sistema tiene que hacer, los servicios que debe proporcionar al usuario Describen la funcionalidad del sistema
Requisitos no funcionales Delimitan las condiciones en que el sistema presta servicios a los usuarios  Velocidad de respuesta Ancho de banda requerido Espacio en memoria o en disco ....
Características de un Requisito Especificado por escrito: como todo contrato o acuerdo entre dos partes. Posible de probar y verificar. Si un requerimiento no se pude comprobar . Entontes ¿ Cómo se sabe que si se cumplió con él o no? Conciso: un requisito es conciso si es fácil de leer y entender.  Su redacción debe ser simple para las personas que lo vayan a consultar en el futuro.
Completo: Un requisito es completo si no necesita ampliar detalles en su redacción, es decir se proporciona la información suficiente para su comprensión Consistente: Un requisito es consistente si no es contradictorio con otro requisito  No ambiguo: Un requisito no es ambiguo cuando tienen una sola interpretación . El lenguaje usado en su definición no debe causar confusión al lector. Características de un Requisito
Agenda Los requisitos de software Ingeniería de requisitos  Técnicas de ingeniería de  requisitos
Ingeniería de Requisitos Ingeniería de Requisitos ayuda a los ingenieros de software a entender mejor el problema en cuya solución trabajarán. Incluye el conjunto de tareas que conducen a comprender cuál será el impacto del software sobre el negocio, qué es lo que el clientequiere y cómo interactuarán los usuarios finales con el software. [Pressman]
Ingeniería de Requisitos Es el proceso mediante el cual se intercambian diferentes puntos de vistapara recopilar y modelar lo que el sistema va a realizar. Este proceso utiliza una combinación de métodos, herramientas y actores, cuyo producto es un modelo del cual se genera un documento de requerimientos. [Leite89]  Definición de lo que se desea hacer o producir
Importancia de la ingeniería de Requisitos Permite gestionar las necesidades del proyecto en forma estructurada. Mejora la capacidad de predecir cronogramas de los proyectos, así como sus resultados. Disminuye los costos y retrasos del proyecto Mejora la calidad del software Mejora la comunicación entre equipos 	 Evita rechazos de los usuarios finales
Ingeniería de Requisitos El proceso de ingeniería de requisitos puede ser descrito en 4 :
Identificación de Requisitos, I Elicitación de los  requisitos El propósito de la elicitación de requisitos  es ganar conocimientos relevantes del problema. En esta actividad es donde los analistas de requisitos deben trabajar  junto con el cliente para descubrir el problema que el sistema debe resolver.  Debe existir una buena comunicación entre desarrolladores y clientes; de esta comunicación con el cliente depende que entendamos sus necesidades Se debe descubrir los diferentes servicios que el sistema debe prestar y las restricciones .
Análisis Se trabaja sobre la base de la anterior  actividad. Actividad la cual se enfoca a descubrir problemas con los requisitos del sistema identificados hasta el momento. Por lo general se hace un análisis luego de haber producido un bosquejo inicial del documento de requisitos. Se conceptúan los requisitos, se investigan, se intercambian ideas con el resto del equipo, se resaltan los problemas, se buscan alternativas y soluciones
Especificación  Se documentan los requisitos acordados con  el cliente en un nivel apropiado de detalle. En la práctica esta actividad se va realizando conjuntamente con el análisis. Se pude decir que la especificación  es el “pasar en limpio ” el análisis realizado previamente aplicando técnicas o estándares de documentación como UML.
Validación  La validación es la actividad que certifica que el modelo de los requisitos es consistente con las intenciones de los clientes y los usuarios. Se verifica que los requisitos sean consistentes y que estén completos
Agenda Los requisitos de software Ingeniería de requisitos  Técnicas de ingeniería de  requisitos
Técnicas de ingeniería de Requisitos El análisis de requisitos siempre comienza con una comunicación entre dos o más partes.  Un cliente tiene un problema al que puede encontrar una solución basada en computadora.  El desarrollador responde a la petición del cliente. La comunicación ha comenzado. Pero,el camino entre la comunicación y el entendimiento está lleno de baches.
Antes de mantener las reuniones con los clientes y usuarios e identificar los requisitos es fundamental conocer el dominio del problema.  Mantener reuniones con clientes y usuarios sin conocer las características de su actividad hará que probablemente no se entiendan sus necesidades. Para conocer el dominio del problema se puede obtener información de fuentes externas al negocio del cliente Técnicas de ingeniería de Requisitos
Normalmente clientes y analistas se enfrascan en el proyecto de forma unilateral y no en equipo. Cada parte define su propio “territorio”  Este enfoque no es muy efectivo, abundan los malentendidos, se pierde información importante y nunca se establece una relación de trabajo satisfactoria. Técnicas de ingeniería de Requisitos
Con los anteriores problemas, se han desarrollado numerosas técnicas para tratar de superarlos  Cada técnica puede aplicarse en una o más actividades de la ingeniería de  requerimientos; en la práctica, la técnica más apropiada para cada actividad dependerá del proyecto que esté desarrollándose. Técnicas de ingeniería de Requisitos
Entrevistas Las entrevistas son la técnica de elicitación más utilizada, y de hecho son prácticamente inevitables en cualquier desarrollo.  En las entrevistas se pueden identificar claramente tres fases [Piattini]: preparación, realización y análisis
Preparación de entrevistas:  Las entrevistas no deben improvisarse, por lo que conviene realizar las siguiente tareas previas: Estudiar el dominio del problema Seleccionar a las personas a las que se va a entrevistar(top–down) Determinar el objetivo y contenido de las entrevistas Planificar las entrevistas Entrevistas
Realización de entrevistas: se distinguen tres etapas [Piattini]: Apertura Desarrollo Terminación Análisis de las entrevistas   Reorganizar la información, contrastarla con otras entrevistas o fuentes de información.  Validar con el  entrevistado para confirmar los contenidos.  Entrevistas
Brainstorming El brainstorming o tormenta de ideas es una técnica de reuniones en grupo cuyo objetivo es la generación de ideas en un ambiente libre de críticas o juicios [Raghavan]. Las sesiones de brainstormingformadas de cuatro a diez participantes, uno de los cuales es el jefe de la sesión.
Fases del brainstorming Preparación Selección  de  participantes  Preparación   logística Generación  Jefe de proyecto  expone un enunciado general del  problema , que hace de semilla para que se generen ideas. Los  participantes generan nuevas ideas de forma aleatoria Reglas Se prohíbe la critica de ideas Se fomentan las ideas más avanzadas  y se estimula  a los participantes a generar nuevas ideas Se debe generar un gran número de ideas, Se debe alentar a los participantes a combinar o completar las ideas de otros participantes
Consolidación: en esta fase se deben organizar y evaluar las ideas generadas durante la fase anterior. Se suelen seguir tres pasos: Revisar ideas:  se revisan para clarificarlas Descartar ideas. Priorizar ideas. Documentación: el jefe produce la documentación oportuna conteniendo las ideas priorizadas y comentarios generados durante la consolidación.  Fases del brainstorming
Casos de Uso Los casos de uso son una técnica para la especificación de requerimientos funcionales propuesta inicialmente en por Jacobson y actualmente forma parte de la propuesta de UML [Booch99]. ,[object Object],Un caso de uso es la descripción de una secuencia de interacciones entre el sistema y uno o más actores en la que se considera al sistema como una caja negra. Los actores son personas u otros sistemas que interactúan con el sistema cuyos requerimientos se están describiendo. Un actor puede participar en varios casos de uso y un caso de uso puede estar relacionado con varios actores
Los Casos de Uso facilitan la elicitación de requisitos y son fácilmente comprensibles por los clientes y usuarios.  Sirven de base a las pruebas del sistema y a la documentación para los usuarios. Los más reconocidos especialistas en métodos Orientados a Objetos coincidieron en considerar a los casos de uso como una excelente forma de especificar el comportamiento externo de un sistema Se escriben, generalmente, en lenguaje natural No hay descripción interna del sistema, solo la interacción con el mismo Casos de Uso
Casos de Uso Ventajas y desventajas Caracterización detallada de todas las posibles interacciones con el sistema Ayuda en el dibujo de los límites del sistema, y con el alcance de los requerimientos Los casos de uso no captura en dominio del conocimiento Un caso de uso no es especificación precisa, solo es la representación de un problema puntual
Usando casos de Uso ,[object Object]
Identificar los actores fuera de los límites del sistema que interactúan con él
Para cada actor
Identificar los posibles casos de uso
Establecer escenarios concretos para ilustrar cada caso de uso

Contenu connexe

Tendances

Caso de-uso-1228271248231157-9
Caso de-uso-1228271248231157-9Caso de-uso-1228271248231157-9
Caso de-uso-1228271248231157-9
Toni Benitez
 
Clasificación de los métodos de encaminamiento
Clasificación de los métodos de encaminamientoClasificación de los métodos de encaminamiento
Clasificación de los métodos de encaminamiento
duvanbarros
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Juan Anaya
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
Kleo Jorgee
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físico
errroman
 

Tendances (20)

Caso de-uso-1228271248231157-9
Caso de-uso-1228271248231157-9Caso de-uso-1228271248231157-9
Caso de-uso-1228271248231157-9
 
2.5 planificación del procesador, niveles objetivos y criterios de planificac...
2.5 planificación del procesador, niveles objetivos y criterios de planificac...2.5 planificación del procesador, niveles objetivos y criterios de planificac...
2.5 planificación del procesador, niveles objetivos y criterios de planificac...
 
Clasificación de los métodos de encaminamiento
Clasificación de los métodos de encaminamientoClasificación de los métodos de encaminamiento
Clasificación de los métodos de encaminamiento
 
Ers panaderia final analisis2
Ers panaderia final analisis2Ers panaderia final analisis2
Ers panaderia final analisis2
 
Sockets y canales
Sockets y canalesSockets y canales
Sockets y canales
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
 
Tolerancia a fallos
Tolerancia a fallosTolerancia a fallos
Tolerancia a fallos
 
Auditoría informática
Auditoría informáticaAuditoría informática
Auditoría informática
 
Unidad2 Bases De Datos Para L Toma De Desiciones
Unidad2 Bases De Datos Para L Toma De DesicionesUnidad2 Bases De Datos Para L Toma De Desiciones
Unidad2 Bases De Datos Para L Toma De Desiciones
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Windows Server
Windows ServerWindows Server
Windows Server
 
Gestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De SoftwareGestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De Software
 
El Modelo Relacional de Datos
El Modelo Relacional de DatosEl Modelo Relacional de Datos
El Modelo Relacional de Datos
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físico
 
Arquitectura servidores
Arquitectura servidoresArquitectura servidores
Arquitectura servidores
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
 
02 captura de requisitos
02 captura de requisitos02 captura de requisitos
02 captura de requisitos
 
4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacion
 

Similaire à Ingeniería de requisitos

TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOS
xinithazangels
 
Planificación y Modelado
Planificación y ModeladoPlanificación y Modelado
Planificación y Modelado
DiaNa González
 
Unidad 1 requerimientos del software
Unidad 1 requerimientos del softwareUnidad 1 requerimientos del software
Unidad 1 requerimientos del software
oemavarez
 

Similaire à Ingeniería de requisitos (20)

Informe
InformeInforme
Informe
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Tema 1 Ingeniería de Requisitos
Tema 1 Ingeniería de RequisitosTema 1 Ingeniería de Requisitos
Tema 1 Ingeniería de Requisitos
 
Ingenieria de requisitos y requerimientos
Ingenieria de requisitos y requerimientosIngenieria de requisitos y requerimientos
Ingenieria de requisitos y requerimientos
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOS
 
Ingeniería de requisitos
Ingeniería de requisitos Ingeniería de requisitos
Ingeniería de requisitos
 
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOSINGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
 
Pym
PymPym
Pym
 
Planificación y Modelado
Planificación y ModeladoPlanificación y Modelado
Planificación y Modelado
 
Pym
PymPym
Pym
 
Carlos figuera-ci-19897276
Carlos figuera-ci-19897276Carlos figuera-ci-19897276
Carlos figuera-ci-19897276
 
Centro biotecnologo del sena
Centro biotecnologo del senaCentro biotecnologo del sena
Centro biotecnologo del sena
 
Requerimiento
RequerimientoRequerimiento
Requerimiento
 
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOSINGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
 
Unidad 1 requerimientos del software
Unidad 1 requerimientos del softwareUnidad 1 requerimientos del software
Unidad 1 requerimientos del software
 
Presentación de Sistemas II
Presentación de Sistemas IIPresentación de Sistemas II
Presentación de Sistemas II
 
Ingeniería de requisitos y la ingeniería de requerimientos
Ingeniería de requisitos y la ingeniería de requerimientos Ingeniería de requisitos y la ingeniería de requerimientos
Ingeniería de requisitos y la ingeniería de requerimientos
 
Frank estaba infografiae
Frank estaba infografiaeFrank estaba infografiae
Frank estaba infografiae
 
2_-_Ingeniería_de_requerimientos.pdf
2_-_Ingeniería_de_requerimientos.pdf2_-_Ingeniería_de_requerimientos.pdf
2_-_Ingeniería_de_requerimientos.pdf
 
PRIMER TRABAJO
PRIMER TRABAJOPRIMER TRABAJO
PRIMER TRABAJO
 

Dernier (8)

Mapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwareMapa conceptual de el hardware y software
Mapa conceptual de el hardware y software
 
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfPRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
 
CLASE 1 H.I.pptx,INFORMATICANIVEL AVANZADO
CLASE 1 H.I.pptx,INFORMATICANIVEL AVANZADOCLASE 1 H.I.pptx,INFORMATICANIVEL AVANZADO
CLASE 1 H.I.pptx,INFORMATICANIVEL AVANZADO
 
La busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxLa busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptx
 
aplicaciones multinivel y clasificación de los sitios web.pdf
aplicaciones multinivel y clasificación de los sitios web.pdfaplicaciones multinivel y clasificación de los sitios web.pdf
aplicaciones multinivel y clasificación de los sitios web.pdf
 
Vision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxVision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptx
 
La muerte de El Senequita (Amadeo Martinez-Ingles).pdf
La muerte de El Senequita (Amadeo Martinez-Ingles).pdfLa muerte de El Senequita (Amadeo Martinez-Ingles).pdf
La muerte de El Senequita (Amadeo Martinez-Ingles).pdf
 
sub 1 ensamble y desensamble del equipo de computo
sub 1 ensamble y desensamble del equipo de computosub 1 ensamble y desensamble del equipo de computo
sub 1 ensamble y desensamble del equipo de computo
 

Ingeniería de requisitos

  • 1. Ingeniería de Requisitos MSc(c): Pablo Ruiz Fundación Universitaria de Popayán Septiembre 2011
  • 2. Agenda Los requisitos de software Ingeniería de requisitos Técnicas de ingeniería de requisitos
  • 3.
  • 4. ¿Qué son los requisitos? Un requisito es una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo [IEEE] Una condición o capacidad que debe ser atendida por el sistema [RUP]. Algo que el sistema debe hacer o una cualidad que el sistema debe poseer [Robertson – Robertson].
  • 5. Problemas Los usuarios no saben lo que quieren. Un sistema tiene muchos usuarios y ninguno tiene una visión de conjunto. No saben cómo hacer más eficiente la operación en su conjunto No saben qué partes de su trabajo pueden transformarse en software. No saben detallar lo que saben de forma precisa.
  • 6. Solución tradicional: analistas Labores obtener una lista de requisitos de cada usuario adquirir una visión de conjunto componer una especificación completa, correcta y estable Desventajas listas de requisitos son difíciles de comprender y de hacer bien difíciles de transformar en especificaciones de diseño e implementación
  • 7. Objetivos generales Enumerar los requisitos candidatos Comprender el contexto del sistema Capturar requisitos funcionales Capturar requisitos no funcionales
  • 8. Requisitos funcionales Definen lo que el sistema tiene que hacer, los servicios que debe proporcionar al usuario Describen la funcionalidad del sistema
  • 9. Requisitos no funcionales Delimitan las condiciones en que el sistema presta servicios a los usuarios Velocidad de respuesta Ancho de banda requerido Espacio en memoria o en disco ....
  • 10. Características de un Requisito Especificado por escrito: como todo contrato o acuerdo entre dos partes. Posible de probar y verificar. Si un requerimiento no se pude comprobar . Entontes ¿ Cómo se sabe que si se cumplió con él o no? Conciso: un requisito es conciso si es fácil de leer y entender. Su redacción debe ser simple para las personas que lo vayan a consultar en el futuro.
  • 11. Completo: Un requisito es completo si no necesita ampliar detalles en su redacción, es decir se proporciona la información suficiente para su comprensión Consistente: Un requisito es consistente si no es contradictorio con otro requisito No ambiguo: Un requisito no es ambiguo cuando tienen una sola interpretación . El lenguaje usado en su definición no debe causar confusión al lector. Características de un Requisito
  • 12. Agenda Los requisitos de software Ingeniería de requisitos Técnicas de ingeniería de requisitos
  • 13. Ingeniería de Requisitos Ingeniería de Requisitos ayuda a los ingenieros de software a entender mejor el problema en cuya solución trabajarán. Incluye el conjunto de tareas que conducen a comprender cuál será el impacto del software sobre el negocio, qué es lo que el clientequiere y cómo interactuarán los usuarios finales con el software. [Pressman]
  • 14. Ingeniería de Requisitos Es el proceso mediante el cual se intercambian diferentes puntos de vistapara recopilar y modelar lo que el sistema va a realizar. Este proceso utiliza una combinación de métodos, herramientas y actores, cuyo producto es un modelo del cual se genera un documento de requerimientos. [Leite89] Definición de lo que se desea hacer o producir
  • 15. Importancia de la ingeniería de Requisitos Permite gestionar las necesidades del proyecto en forma estructurada. Mejora la capacidad de predecir cronogramas de los proyectos, así como sus resultados. Disminuye los costos y retrasos del proyecto Mejora la calidad del software Mejora la comunicación entre equipos Evita rechazos de los usuarios finales
  • 16. Ingeniería de Requisitos El proceso de ingeniería de requisitos puede ser descrito en 4 :
  • 17. Identificación de Requisitos, I Elicitación de los requisitos El propósito de la elicitación de requisitos es ganar conocimientos relevantes del problema. En esta actividad es donde los analistas de requisitos deben trabajar junto con el cliente para descubrir el problema que el sistema debe resolver. Debe existir una buena comunicación entre desarrolladores y clientes; de esta comunicación con el cliente depende que entendamos sus necesidades Se debe descubrir los diferentes servicios que el sistema debe prestar y las restricciones .
  • 18. Análisis Se trabaja sobre la base de la anterior actividad. Actividad la cual se enfoca a descubrir problemas con los requisitos del sistema identificados hasta el momento. Por lo general se hace un análisis luego de haber producido un bosquejo inicial del documento de requisitos. Se conceptúan los requisitos, se investigan, se intercambian ideas con el resto del equipo, se resaltan los problemas, se buscan alternativas y soluciones
  • 19. Especificación Se documentan los requisitos acordados con el cliente en un nivel apropiado de detalle. En la práctica esta actividad se va realizando conjuntamente con el análisis. Se pude decir que la especificación es el “pasar en limpio ” el análisis realizado previamente aplicando técnicas o estándares de documentación como UML.
  • 20. Validación La validación es la actividad que certifica que el modelo de los requisitos es consistente con las intenciones de los clientes y los usuarios. Se verifica que los requisitos sean consistentes y que estén completos
  • 21. Agenda Los requisitos de software Ingeniería de requisitos Técnicas de ingeniería de requisitos
  • 22. Técnicas de ingeniería de Requisitos El análisis de requisitos siempre comienza con una comunicación entre dos o más partes. Un cliente tiene un problema al que puede encontrar una solución basada en computadora. El desarrollador responde a la petición del cliente. La comunicación ha comenzado. Pero,el camino entre la comunicación y el entendimiento está lleno de baches.
  • 23. Antes de mantener las reuniones con los clientes y usuarios e identificar los requisitos es fundamental conocer el dominio del problema. Mantener reuniones con clientes y usuarios sin conocer las características de su actividad hará que probablemente no se entiendan sus necesidades. Para conocer el dominio del problema se puede obtener información de fuentes externas al negocio del cliente Técnicas de ingeniería de Requisitos
  • 24. Normalmente clientes y analistas se enfrascan en el proyecto de forma unilateral y no en equipo. Cada parte define su propio “territorio” Este enfoque no es muy efectivo, abundan los malentendidos, se pierde información importante y nunca se establece una relación de trabajo satisfactoria. Técnicas de ingeniería de Requisitos
  • 25. Con los anteriores problemas, se han desarrollado numerosas técnicas para tratar de superarlos Cada técnica puede aplicarse en una o más actividades de la ingeniería de requerimientos; en la práctica, la técnica más apropiada para cada actividad dependerá del proyecto que esté desarrollándose. Técnicas de ingeniería de Requisitos
  • 26. Entrevistas Las entrevistas son la técnica de elicitación más utilizada, y de hecho son prácticamente inevitables en cualquier desarrollo. En las entrevistas se pueden identificar claramente tres fases [Piattini]: preparación, realización y análisis
  • 27. Preparación de entrevistas: Las entrevistas no deben improvisarse, por lo que conviene realizar las siguiente tareas previas: Estudiar el dominio del problema Seleccionar a las personas a las que se va a entrevistar(top–down) Determinar el objetivo y contenido de las entrevistas Planificar las entrevistas Entrevistas
  • 28. Realización de entrevistas: se distinguen tres etapas [Piattini]: Apertura Desarrollo Terminación Análisis de las entrevistas Reorganizar la información, contrastarla con otras entrevistas o fuentes de información. Validar con el entrevistado para confirmar los contenidos. Entrevistas
  • 29. Brainstorming El brainstorming o tormenta de ideas es una técnica de reuniones en grupo cuyo objetivo es la generación de ideas en un ambiente libre de críticas o juicios [Raghavan]. Las sesiones de brainstormingformadas de cuatro a diez participantes, uno de los cuales es el jefe de la sesión.
  • 30. Fases del brainstorming Preparación Selección de participantes Preparación logística Generación Jefe de proyecto expone un enunciado general del problema , que hace de semilla para que se generen ideas. Los participantes generan nuevas ideas de forma aleatoria Reglas Se prohíbe la critica de ideas Se fomentan las ideas más avanzadas y se estimula a los participantes a generar nuevas ideas Se debe generar un gran número de ideas, Se debe alentar a los participantes a combinar o completar las ideas de otros participantes
  • 31. Consolidación: en esta fase se deben organizar y evaluar las ideas generadas durante la fase anterior. Se suelen seguir tres pasos: Revisar ideas: se revisan para clarificarlas Descartar ideas. Priorizar ideas. Documentación: el jefe produce la documentación oportuna conteniendo las ideas priorizadas y comentarios generados durante la consolidación. Fases del brainstorming
  • 32.
  • 33. Los Casos de Uso facilitan la elicitación de requisitos y son fácilmente comprensibles por los clientes y usuarios. Sirven de base a las pruebas del sistema y a la documentación para los usuarios. Los más reconocidos especialistas en métodos Orientados a Objetos coincidieron en considerar a los casos de uso como una excelente forma de especificar el comportamiento externo de un sistema Se escriben, generalmente, en lenguaje natural No hay descripción interna del sistema, solo la interacción con el mismo Casos de Uso
  • 34. Casos de Uso Ventajas y desventajas Caracterización detallada de todas las posibles interacciones con el sistema Ayuda en el dibujo de los límites del sistema, y con el alcance de los requerimientos Los casos de uso no captura en dominio del conocimiento Un caso de uso no es especificación precisa, solo es la representación de un problema puntual
  • 35.
  • 36. Identificar los actores fuera de los límites del sistema que interactúan con él
  • 39. Establecer escenarios concretos para ilustrar cada caso de uso
  • 40.
  • 42. Especificar reglas para elección del mismo y para interactuar con él
  • 44. Ver posibles superposiciones de casos de usoTemplate de caso de uso: Nombre:Resumen:Actores:Precondiciones:Descripciones:Excepciones:Postcondiciones:
  • 45.
  • 46. Precondición: un usuario válido está conectado al sistema
  • 47.
  • 48. En el paso 9, si hay información incorrecta, el sistema le preguntará al cliente que quiso poner
  • 50.
  • 51. Los Casos de Uso y UML La notación de los casos de uso fue incorporada al lenguaje estándar de modelado UML y fue avalada por las principales empresas que desarrollan software en el mundo. La mejor forma de empezar a entender un sistema es a partir de los servicios o funciones que ofrece a su entorno