• No se han encontrado resultados

5. Requerimientos de software - 5 Requerimientos de software v3.6

N/A
N/A
Protected

Academic year: 2018

Share "5. Requerimientos de software - 5 Requerimientos de software v3.6"

Copied!
31
0
0

Texto completo

(1)

5. Requerimientos de software

(2)

¿Qué vamos a aprender?

¿Qué son los

requerimientos de software

?

Tipos

de requerimientos

Actividades

para definir los requerimientos

Prácticas de Requerimientos de Software:

Entender los requerimientos

Detallar los casos de uso

Definir casos de prueba para los casos de uso

Prototipo de interfaz de usuario

Definir los requerimientos no funcionales

(3)

¿Qué es un requerimiento?

• Un requerimiento expresa una necesidad y restricción que

debe tener un producto de software para contribuir a resolver un problema del mundo real (SWEBOK, 2014).

• Los requerimientos de un producto de software son las

descripciones de lo que hará, los servicios que proporcionará

y las restricciones de su operación.

(4)

¿Cómo se expresan los requerimientos?

• Lenguaje natural – texto

• Forma gráfica – diagramas

• Prototipo de interfaz de usuario – pantallas

(5)

Verificación y validación de

requerimientos (1)

• Se busca claridad, precisión y no ambigüedad para el desarrollador y para el cliente

• Requerimiento bien definido es el que es verificable

• Verificable significa saber como lo vamos a probar cuando ya

(6)

Verificación y validación de

requerimientos (2)

• Verificación – revisiones o pruebas del desarrollador (está bien hecho)

• Validación – revisiones o pruebas del cliente/usuario (cumpla con sus necesidades según se definieron en los

requerimientos)

(7)

Objetivos de la definición de

requerimientos

• Entender el problema a resolver

• Construir un modelo de los requerimientos

(8)

Tipos de requerimientos

• Funcionales

– Son los servicios, la forma en que el software debe reaccionar a entradas particulares y cómo debe comportarse en situaciones particulares

• No-Funcionales

– Son restricciones que los servicios y funciones de software deben cumplir

(9)

Requerimientos No-Funcionales

• Las necesidades de la interfaz externa: hardware y software, comunicaciones, facilidades de uso requeridas por los

usuarios

• Cualidades del software : confiabilidad, eficiencia, seguridad, compatibilidad, portabilidad, mantenimiento

• Restricciones del diseño: formatos, lenguajes, estándares, herramientas

(10)

Actividades para definir los

requerimientos

• Obtener – Entender (desarrollador/cliente)

• Analizar (desarrollador)

• Especificar – Documentar texto, diagramas, prototipos (desarrollador)

• Validar (por el cliente)

• Administrar – Cambios a requerimientos (desarrollador)

(11)

Casos de prueba

• Para todos los casos de uso se definen casos de prueba

• Los casos de prueba se aplicarán cuando el caso de uso ya esté implementado para asegurar el cumplimiento de los requerimientos especificados

(12)

Primer Curso de Ingeniería de Software

Práctica PD1 Requerimientos de software

Objetivo

Comprender y especificar los requerimientos del sistema de software, basándose en el Planteamiento de necesidades.

Entrada Resultado

Condiciones

Productos de trabajoPlan del proyecto

o Diagrama general de casos de usoPlanteamiento de Necesidades

Documentación y producto de software de la iteración anterior (excepto la primera iteración)

Condiciones

Productos de trabajo

 Especificación de Requerimientos de Software que incluye:

o Enunciado del alcance de problema en la iteración

o Glosario de términos

o Diagrama general de casos de uso de la iteración

o Detalle de los casos de uso

o Prototipo de interfaz de usuario

o Casos de prueba para los casos de uso

o Requerimientos no funcionales

Actividades

1. Entender a detalle el Planteamiento de Necesidades en la parte de funcionalidades dentro del alcance de la iteración y construir el glosario de términos.

2. Analizar y especificar los requerimientos funcionales:

a) Construir el diagrama general de casos de uso de la iteración.

b) Para cada caso de uso dentro del alcance de la iteración, documentar el detalle de flujo normal, alternativo y excepcional . c) Identificar los casos de prueba para cada caso de uso de la iteración en su flujo normal, alterno y excepcional producto de

software

d) Por cada caso de uso de la iteración diseñar el prototipo de interfaz de usuario. 3. Especificar los requerimientos no funcionales.

4. Documentar la Especificación de Requerimientos de Software

Herramientas

Herramienta para hacer diagramas de UML

(13)

Técnica R1. Entender el problema

• Hacer entrevistas

• Aplicar cuestionarios

• Observar a los futuros usuarios al realizar las tareas que apoyará el software

• Revisar documentos o sistemas ya existentes que se pretenden mejorar

• Hacer el glosario de términos

(14)

Glosario de términos

Para que todos los involucrados puedan

comunicarse más fácilmente, se recomienda

construir un

Glosario de términos

para establecer

un

vocabulario común

.

El Glosario de términos es un pequeño

diccionario

, donde se registran los términos

importantes para entender el problema y su

significado.

El glosario se puede ir

actualizando a lo largo

del

proyecto.

(15)

Glosario de términos

Sistema de Bolsa de trabajo

Actor: Es una entidad que interacciona con el sistema para obtener un resultado. Puede ser una persona, otro sistema o un dispositivo, entre otros.

Bolsa de Trabajo: En este caso, es la concentración de información acerca de empresas que tienen puestos disponibles (vacantes) y de personas que tienen la necesidad de conseguir un empleo.

Caso de uso: Es la descripción de un conjunto de secuencias de acciones que un sistema lleva a cabo para regresar un resultado observable a un actor.

Contraseña: Clave de seguridad que se le asigna a un usuario.

Desempleado: Persona que no tiene trabajo y está en busca de un empleo.

Empresa: Organización que tiene la necesidad de contratar a personas con capacidades especificas para su correcto funcionamiento.

Nombre de usuario: Identificación del usuario para poder acceder al sistema.

(16)

Técnica R2. Casos de uso

• Documentan requerimientos funcionales en forma gráfica y textual

• Se selecciona el subconjunto del Diagrama General de los casos de uso del proyecto, los que se harán en la iteración.

• Se asigna al menos un caso de uso para cada miembro del equipo que será responsable de él a lo largo de todo el desarrollo.

• Permiten rastrear los requerimientos funcionales a través de todo el proceso de desarrollo hasta el producto terminado

Ver en la Plantilla de Requerimientos

(17)

Técnica R3. Detalle de los casos de uso (1)

Nombre del caso de uso: El nombre deberá ser un verbo en infinitivo representativo de la funcionalidad del caso de uso

Actor(es): Nombre en singular del actor (o de los actores) encargado de iniciar la acción y es quien recibe el resultado del caso de uso

Diagrama del caso de uso: indicando el o los actores y el caso de uso en cuestión

Descripción: Texto breve describiendo la función que representa el caso de uso

(18)

Técnica R3. Detalle de los casos de uso (2)

Flujo normal de eventos : Tabla que describe el flujo de interacciones esperadas (el camino feliz) entre el actor y el sistema durante el caso de uso.

Flujo alternativo de eventos: Tabla que describe el flujo de interacciones alternativas del camino normal en el caso de uso.

Flujo excepcional de eventos : Tabla con las acciones que ocurren en situaciones anormales o excepcionales.

Poscondiciones: Define el estado en el que se encuentra el sistema después de la terminación exitosa del caso de uso.

Ver en la Plantilla de Requerimientos cómo se hace el detalle de casos de uso

(19)

Técnica R4: Casos de prueba para los

requerimientos funcionales

• Los casos de prueba para cada caso de uso se documentan en una tabla

• Un caso de prueba identifica las entradas al caso de uso y los

resultados esperados

• Se consideran entradas para flujos normales, alternativos y excepcionales

(20)

CASO DE USO: CONSULTAR VACANTE

Caso de Prueba 1. (flujo normal)

Entradas Resultado esperado

Selección de la opción Ver Vacantes, por parte del usuario.

Selección de una vacante y click en el botón Ver por parte del usuario.

Pantalla Todas las Vacantes con la lista desplegada de todas las vacantes guardadas. Pantalla con toda la información de la vacante seleccionada.

Caso de Prueba 2. (flujo excepcional)

Entradas Resultado esperado

La conexión con la base de datos está rota.

Selección de la opción Ver Vacantes, por parte del usuario.

Despliegue del mensaje de error que indica: “Los datos no se pueden mostrar debido a que no hay conexión con la base de datos.”

(21)

Técnica R5. Definición del prototipo de interfaz

de usuario

• Un prototipo de interfaz de usuario es una representación

inicial de las pantallas que el software mostrará al usuario

• Estas pantallas muestran la distribución de diferentes elementos que permitirán al usuario interaccionar con el sistema pero que no ofrecen ninguna funcionalidad

(22)

Prototipo de interfaz

• Para diseñar las pantallas se puede usar desde papel y lápiz, código HTML, o una herramienta que lo facilite*

• Ver la plantilla para el prototipo de interfaz humana.

Primer Curso de Ingeniería de Software

(23)
(24)

Técnica R6: Lista de requerimientos no

funcionales (1)

Interfaz con el usuario: descripción de las características que permitan al software apoyar al usuario en sus tareas

Interfaz externa: relación o conexión con otros sistemas

Confiabilidad: disponibilidad, tolerancia a fallas y su recuperación

Eficiencia: límites de tiempo de respuesta o uso racional de espacios de almacenamiento

Seguridad: confidencialidad, integridad, sin rechazo, autenticación, información y datos protegidos contra el acceso no autorizado y disponible para los autorizados

(25)

Técnica R5: Lista de requerimientos no

funcionales (2)

Compatibilidad: co-existencia o interoperabilidad con otros sistemas

Mantenimiento: facilidad de comprensión y realización de modificaciones futuras

Portabilidad: facilidad de transferencia de un ambiente de ejecución a otro

Restricciones de diseño y construcción: las que imponga el cliente

(26)

Requerimientos no funcionales

Interfaz con usuarios

 El sistema debe de ser fácil de usar, además deberá tener una interfaz gráfica agradable y con colores suaves, en tonos de azul.

Confiabilidad

 El sistema deberá funcionar las 24 horas del día y los 365 días del año.

Seguridad

 El sistema deberá preservar la integridad de los datos de los usuarios.

 Para poder dar de alta, modificar o eliminar datos, el usuario debe de proporcionar al sistema un nombre de usuario y una contraseña.

Eficiencia

 El tiempo de respuesta para mostrarle los datos al usuario no debe rebasar un segundo.

Restricciones de diseño y construcción

 El sistema de software será construido para funcionar en ambiente Web.

 El sistema deberá estar codificado en lenguaje de programación Java.

 La base de datos del sistema de software deberá estar construida con el manejador de bases de datos MySQL.

(27)

Tarjetas de trabajo para

Requerimientos (1)

(Responsable técnico)

Entender el Planteamiento de Necesidades dentro del

alcance de la iteración

Fecha de entrada al tablero:

•Entender las funcionalidades de los

•Hacer el glosario de términos

•Diagrama general de casos de uso para la iteración

(28)

Tarjetas de trabajo para

Requerimientos (2)

(Responsable del caso de uso)

Nombre del Caso de Uso

Fecha de entrada al tablero:

•Documentar detalle del caso de uso en sus 3 flujos: normal, excepcional y alternativo

•Documentar casos de prueba para el caso de uso

•Hacer prototipo para el caso de uso

Fecha requerida :

(29)

Tarjetas de trabajo para

Requerimientos (3)

(Responsable técnico)

Especificar los requerimientos No funcionales

Fecha de entrada al tablero:

•Listar los requerimientos no funcionales para la iteración

(30)

Tarjetas de trabajo para

Requerimientos (4)

Integrar todo el documento de Requerimientos

Fecha de entrada al tablero:

•Integrar en un solo documento siguiendo la plantilla para Requerimientos:

•Referencia al Enunciado del problema

•Diagrama general de casos de uso restringido a primera iteración

•Glosario de términos,

•Requerimientos No-Funcionales

•Por cada caso de uso

•Detalle de casos de uso,

•Prototipo de interfaz de usuario

•Casos de prueba,

Fecha requerida:

Primer Curso de Ingeniería de Software

(31)

¿Qué aprendimos?

¿Qué son los requerimientos de software?

¿De qué tipos hay?

Referencias

Documento similar

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

En la base de datos de seguridad combinados de IMFINZI en monoterapia, se produjo insuficiencia suprarrenal inmunomediada en 14 (0,5%) pacientes, incluido Grado 3 en 3

En este ensayo de 24 semanas, las exacerbaciones del asma (definidas por el aumento temporal de la dosis administrada de corticosteroide oral durante un mínimo de 3 días) se

En un estudio clínico en niños y adolescentes de 10-24 años de edad con diabetes mellitus tipo 2, 39 pacientes fueron aleatorizados a dapagliflozina 10 mg y 33 a placebo,

• Descripción de los riesgos importantes de enfermedad pulmonar intersticial/neumonitis asociados al uso de trastuzumab deruxtecán. • Descripción de los principales signos

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés