Sesiones 8-12

Análisis de Requisitos

El análisis de requisitos del software comprende las acciones: (1.) Determinar el problema, (2.) Evaluación y síntesis, (3.) Modelado, (4.) Especificación y (5.) Revisión.

Con esas acciones, se afrontan el desafío de resolver problemas para organizaciones donde se plantean las necesidad en forma confusa, incluyendo descripción de datos, funciones y comportamiento, en contextos concretos. El desarrollador, actuando como investigador, consultor, y negociador, utiliza:

  • Sesión 8: Láminas 1 a 60 - Modelos de Objetivos

  • Sesión 9: Láminas 61 a 86 - Modelos de Personas

  • Sesión 10: Láminas 87 a 102 - Modelos de Sistemas

  • Sesión 11: Láminas 103 a 121 - Modelos de Datos

  • Sesión 12: Láminas 122 a 164 - Modelos de UML

l4monettmodellingsoftwarerequh2015-150308070650-conversion-gate01.pdf

Qué debe procurar el desarrollador de software?

  1. Representar y entender el dominio de la información del problema

  2. Definir las funciones que debe realizar el software

  3. Representar el comportamiento del software en respuesta a eventos externos

  4. Ordenar los modelos de información, función y comportamiento en capas

  5. Analizar la información esencial hasta el detalle de implementación

  6. Desarrollar prototipos para la interacción humano-máquina

Generación de casos de prueba

2022-Generación de casos de prueba a partir de casos de uso.pdf

Modelado de Requisitos: Algunos ejemplos y ejercicios

Arboles y tablas de decisión

2022-Arboles-Tablas-de-Decision.pdf

Ejemplos de casos de uso

2022-Ejemplo-Caso-de-Uso.pdf

Ejercicios de casos de uso

2022-Ejercicios-Modelado-de-CASOS-DE-USO.pdf

Representar y entender el dominio

A partir de un conjunto de necesidades, se puede desarrollar un diagrama de caso de uso. Será necesario realizar entrevistas con los usuarios del sistema, para recabar actividades o pasos que se desarrollan con apoyo del sistema.

La elaboración de diagramas de casos de uso ayuda a comprender la forma en que un sistema deberá comportarse, comprendiendo los requerimientos desde el punto de vista del usuario.

StarUML es una herramienta para modelado siguiendo el estándar de UML, que es un lenguaje gráfico para visualizar, especificar, construir y documentar el sistema. Sirve para crear, entre otros, Diagramas de casos de usos.

Funciones que debe realizar el software: Diagrama de Clases

Un diagrama de clases en Lenguaje Unificado de Modelado (UML) es un tipo de diagrama de estructura estática, que describe la estructura de un sistema mostrando las clases del sistema, sus atributos, operaciones (o métodos), y las relaciones entre los objetos.

Con apoyo de StarUML, se puede obtener un diagrama de clases para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociaciones, de herencia, de dependencia y de composición.

Con este vídeo se puede entender cómo obtener un Diagrama de Clases en StarUML. Se puede también generar código a partir de ese diagrama de UML, para más detalles visite el vídeo "Generate code in StarUML"

Comportamiento del software en respuesta a eventos externos

El diagrama de secuencia es un tipo de diagrama usado para modelar interacción entre objetos en un sistema según UML. Los diagramas de secuencia del sistema son un subtipo de los diagramas de secuencia, cuyo estilo y notación los prescribe el lenguaje unificado de modelado.

En general, los diagramas de secuencia muestran la progresión de eventos durante un determinado período de tiempo. El diagrama de secuencia del sistema presentan la secuencia de eventos a los que debe responder el sistema. Toma al sistema como una caja negra, y establece los eventos del sistema, en especial aquellos relacionadas con casos de uso.

Ordenar los modelos en capas

El sistema que se desarrolla, idealmente debe estar estructurado en una arquitectura de software, desde etapas tempranas del desarrollo. La estructuración es un diseño de alto nivel del sistema que tiene dos propósitos básicos: (1) Satisfacer los atributos de calidad (requisitos no funcionales, como desempeño, seguridad, modificabilidad), y (2) Servir como guía en el desarrollo.

Similar a la construcción de edificios, las decisiones críticas relativas al diseño general de un sistema de software complejo deben hacerse desde el principio. No contar con este diseño desde etapas tempranas del desarrollo puede limitar severamente al producto en la satisfacción de las necesidades de los clientes. Además, el costo de las correcciones relacionadas con problemas en la arquitectura es muy elevado. Por ello, la arquitectura de software juega un papel central en el desarrollo.

Analizar la información esencial hasta el detalle de implementación

El diagrama de componentes

El diagrama de componentes muestra los elementos de un diseño de un sistema de software. Un diagrama de componentes permite visualizar la estructura de alto nivel del sistema y el comportamiento del servicio que estos componentes proporcionan y usan a través de interfaces.

El diagrama de despliegue o distribución

El diagrama de despliegue se encuentra dentro de la familia de diagramas estructurales y describe el despliegue físico de información generada por el programa de software en los componentes de hardware.

Desarrollar prototipos para la interacción humano-máquina

El diseño de interfaces de usuario es muy importante para facilitar el uso del software. Por ello, se debe realizar diferentes prototipos en el diseño de la interfaz para comprobar problemas habituales del usuario cuando hace uso del sistema y poder así mejorar la interacción de este con la aplicación.