Está en la página 1de 52

MODELO EN ESPIRAL DE LA INGENIERIA DE REQUERIMIENTOS

Requerimientos
Un requerimiento es una caracterstica que el sistema DEBE tener o es una restriccin que el sistema DEBE satisfacer para ser aceptada por el cliente. Levantamiento de requerimientos es la especificacin del sistema en trminos que el cliente entienda, de forma que se constituya en el contrato entre el cliente y los desarrolladores

Requerimientos funcionales
Describen la interaccin entre el sistema y su ambiente independientemente de su implementacin. El ambiente incluye al usuario y cualquier otro sistema externo que interacta con el sistema.

Levantamiento de Requerimientos
Para el levantamiento se pueden utilizar dos conceptos: Escenarios Describen un ejemplo del uso del sistema en trminos de una serie de interacciones entre el usuario y el sistema Casos de uso Es una abstraccin que describe una clase de escenarios. Ambos deben ser escritos en lenguaje natural para que sean entendidos por el usuario.

Actividades
Identificacin de actores Diferentes tipos de usuario (no personas en particular) Identificacin de escenarios Observar al usuario y desarrollar un conjunto de escenarios detallados para la funcionalidad tpica que debe proveer el sistema. Identificacin de casos de uso Son abstracciones que describen todos los casos posibles descritos en los escenarios.

Actividades
Identificacin de relaciones entre casos de uso Eliminar redundancias entre los casos de uso. Hacer que la especificacin del sistema sea consistente.

1. Identificacin de actores (1)


Un actor representa un conjunto coherente de roles, que son jugados por una persona, un dispositivo de hardware o incluso otro sistema al interactuar con nuestro sistema. Los usuarios que realizan un conjunto de actividades definidas respecto a la funcionalidad del sistema.

1. Identificacin de actores - Preguntas (2)


Cules usuarios estn soportados por el sistema para desarrollar su trabajo? Cules usuarios ejecutan las funciones principales del sistema? Cules usuarios desempean funciones secundarias, como mantenimiento y administracin? El sistema interacta con hardware externo o software?

1. Identificacin de actores - Notacin (3)

2. Identificacin de escenarios (1)


Un escenario es una descripcin narrativa de cmo las personas hacen las cosas y muestran como trataran de hacer uso del sistema. El escenario es una descripcin concreta, enfocada e informalmente descrita de una nica caracterstica del sistema desde el punto de vista de un nico actor.

2. Identificacin de escenarios (2)


Nombre del escenario Consultar listado de cursos Instancias de los usuarios participantes Usuario: Profesor
1. Usuario ingresa al sistema indicando sus datos. 2. El sistema indica un men dando cada una de las posibilidades del sistema. 3. Usuario indica que quiere sacar un listado de un curso. 4. El sistema solicita ingresar la informacin del cdigo, seccin y semetre de la materia. 5. Usuario ingresa 21251, 02, 2001-1. 6. El sitema devuelve la informacin correspondiente al curso indican el nombre, carnet, carrera y correo electrnico de cada uno de los alumnos.

2. Identificacin de escenarios (3)


Escenarios actuales Escenarios visionarios Escenario de evaluacin Escenarios de entrenamiento

2. Identificacin de escenarios (4)


Cules son las tareas que los actores requieren desempear con el sistema? Qu informacin requiere el actor? Quin crea esa informacin? Puede ser modificada o eliminada? Por quin? Qu cambios externos necesita el actor que el sistema debe informar? Qu tan seguido? Cundo? De cules eventos necesita el actor ser informado? Con qu periodicidad?

3. Identificacin de casos de uso (1)


Capturar el comportamiento deseado del sistema en desarrollo, sin tener que especificar cmo se implementa este comportamiento. Los casos de uso proporcionan un medio para que los desarrolladores, los usuarios finales del sistema y los expertos del dominio lleguen a una comprensin comn del sistema. Un escenario es la instancia de un caso de uso. Los casos uso no deben ser excesivamente genricos ni demasiado especficos. Requerimiento funcional del sistema

3. Identificacin de casos de uso (2)


Es una descripcin de un conjunto de secuencias de acciones, incluyendo variantes, que ejecuta un sistema para producir un resultado observable de valor para un actor.
Se utilizan verbos por lo general en infinitivo que representan las acciones del usuario con el sistema, por lo que siempre debe existir un tipo de usuario(actor) que lo utilice.

3. Identificacin de casos de uso (3)

3. Identificacin de casos de uso (4)


Relaciones entre actores y casos de uso representan el flujo de la informacin durante el caso de uso. Representa que funcionalidad puede ser realizada por un actor en particular. Tambin es un proceso cclico donde cada vez se busca refinar cada vez ms los casos de uso que finalmente responder a los requerimientos funcionales.

3. Identificacin de casos de uso (5)


El comportamiento de un caso de uso se puede especificar describiendo un flujo de eventos en forma textual. Adems de incluir cmo y cundo empieza y acaba el caso de uso. Se incluye cundo interacta con los actores Indicar qu informacin se intercambian Se describe el flujo bsico Se describe los flujos alternativos.

3. Identificacin de casos de uso (6) Flujo de eventos principal 1. El sistema pide al cliente un nmero de identificacin personal. 2. El cliente introduce su id. 3. El sistema comprueba entonces la id. para ver si es vlido. 4. Si la identificacin es vlida el sistema acepta la entrada.

3. Identificacin de casos de uso (7)


Flujo de eventos excepcional El cliente puede cancelar una transaccin en cualquier momento, reiniciando el caso de uso. No se efecta ningn cambio en la cuenta del cliente. Flujo de eventos excepcional Paso 2: El cliente puede borrar su id en cualquier momento antes de introducirlo.

3. Identificacin de casos de uso (8)


Flujo de eventos excepcional Paso 4: Si el cliente introduce un id invlido, el caso de uso vuelve a empezar.
Paso 4: Si el cliente introduce tres veces seguidas un id invlido, el sistema cancela la transaccin completa, impidiendo que el Cliente utilice el cajero durante 24 horas.

4. Identificar relaciones entre casos de uso(1)


Extends Un caso de uso extiende otro caso de uso, si el caso de uso extendido incluye el comportamiento del otro bajo ciertas condiciones. Se utiliza para modelar la parte de un caso de uso que el usuario puede ver como comportamiento opcional del sistema. Se separa el comportamiento opcional del obligatorio.

4. Identificar relaciones entre casos de uso(2)

4. Identificar relaciones entre casos de uso(3)


Include Indica que en el flujo de eventos del caso de uso base se incluye el comportamiento del otro caso de uso. Factorizar comportamiento comn (NO hacer descomposicin funcional). SOLAMENTE se hace cuando la parte comn es utilizada por otro caso de uso o cuando es utilizada por otro actor.

4. Identificar relaciones entre casos de uso(4)

4. Identificar relaciones entre casos de uso(5) Generalizacin Cuando algunos casos de uso tienen algo en comn y puede ser abstrado a otro, mucho ms general. El caso de uso hijo hereda el comportamiento y el significado del caso de uso padre. El hijo puede aadir o redefinir el comportamiento del padre. El hijo puede ser colocado en cualquier lugar donde aparezca el padre.

4. Identificar relaciones entre casos de uso(6)

4. Identificar relaciones entre casos de uso (7)


Comnmente se utiliza la generalizacin para actores y no para casos de uso. Los superactores y subactores interactan con el caso de uso. Existe una descripcin considerable comn entre los subactores que de otra manera se duplicara.

4. Identificar relaciones entre casos de uso(8)

Documentacin del caso de uso

Ejemplo

Requerimientos no funcionales
Describen aspectos del sistema que son visibles por el usuario que no incluyen una relacin directa con el comportamiento funcional del sistema. Los requerimientos no funcionales incluyen restricciones como el tiempo de respuesta(desempeo), la precisin, recursos consumidos, seguridad, etc.

Pseudo Requerimientos Son requerimientos impuestos por el cliente que restringen la implementacin del sistema. Ejemplos: Lenguaje de implementacin Plataforma en que el sistema debe ser implementado Requerimientos del proceso y documentacin (utilizacin de un lenguaje formal)

Requerimientos no funcionales Requerimientos de Interfaz externa Interfaz de usuario Estndar de GUI Distribucin de la pantalla Restricciones de resolucin Estndares de botones, funciones o enlaces de navegacin que aparecen en cada ventana Teclas shortcut Estndares de mensajes de error

Requerimientos no funcionales Requerimientos de Interfaz externa Interfaces de hardware Interfaces entre componentes de hardware y software del sistema Ejemplos Perifricos soportados Naturaleza de la informacin Protocolos de comunicacin a utilizar

Requerimientos no funcionales Requerimientos de Interfaz externa Interfaces de Software Conexiones entre el producto y software externo ( identificado por nombre y versin) Ejemplo Bases de datos Sistemas operativos Identificar la informacin que comparten los componentes

Requerimientos no funcionales Requerimientos de desempeo Describir el desempeo para los escenarios Describir el volumen o tiempo de utilizacin para saber que tan importante es. Especificar el nmero de usuarios concurrentes Especificar el nmero de operaciones concurrentes Tiempos de respuesta Restricciones de tiempo para sistemas de tiempo real

Requerimientos no funcionales
Requerimientos de tolerancia a fallas (safety) Posibles prdidas de informacin Dao de informacin Indicar acciones potencialmente peligrosas que deben ser prevenidas Identificar polticas de mantenimiento deinformacin Identificar regulaciones

Requerimientos no funcionales Requerimientos de seguridad Proteccin de la informacin Utilizacin del producto Definir la autenticacin o autorizacin del ingreso los usuarios

Requerimientos no funcionales Requerimientos de calidad del software (usuario) Disponibilidad Eficiencia en el manejo de recursos Flexibilidad para adicionar requerimientos al producto Integridad Protegerse ante el dao de informacin Proteccin ante virus Proteger informacin importante

Requerimientos no funcionales
Requerimientos de calidad del software(usuario) Interoperabilidad Confiabilidad Robustez Usabilidad Amigable al usuario Instalacin

Requerimientos no funcionales Requerimientos de calidad del software (desarrollador) Mantenibilidad Estndares de documentacin Indentacin Metodologa de diseo Estructura de directorios Documentos de diseo Portabilidad Reusabilidad Facilitar pruebas

Requerimientos no funcionales Requerimientos operacin No aumentan la capacidad funcional Permiten un mejor uso Deshacer, rehacer, copiar, pegar Configuracin Barras de herramientas, configurar mens,cambiar font Sistema de ayuda

Documentacin del requerimiento no funcional

REQUERIMIENTOS NO FUNCIONALES

ESTRUCTURA DE UN DOCUMENTOS DE REQUERIMIENTOS


Prefacio Debe definir los posibles lectores del documento y describir su versin de la historia, incluyendo un fundamento para la nueva versin y un resumen de los cambio hechos en cada una

introduccin

Debe describir la necesidad del sistema. Debe describir brevemente sus funciones y explicar como trabaja con otros sistemas. Debe explicar con ste se adhiere al negocio total u objetivos estratgicos de la organizacin que solicita el software.
Debe definir los trminos tcnicos utilizados en el documento. No se deben hacer conjeturas en la experiencia o pericia del lector.

glosario

Definicin de requerimientos del usuario

En esta seccin se debe describir lo servicios que se proporcionan al usuario y los requerimientos no funcionales del sistema. Esta descripcin puede utilizar lenguaje natural, diagramas u otras notaciones que sean comprensibles para el cliente.se deben especificar los estndares de productos y procesos a seguir. Este capitulo debe presentar un visin general de alto nivel de la arquitectura prevista del sistema que muestre la distribucin de funciones en lo mdulos de sistemas . Se deben destacar los componentes arquitectnicos reutilizados.

Arquitectura del sistema

ESTRUCTURA DE UN DOCUMENTOS DE REQUERIMIENTOS


Especificacin de requerimientos del sistema Debe describir con mayor detalle los requerimientos funcionales y no funcionales. Si es necesario se pueden enfatizar lo son funcionales

Modelos del sistema

Se deben exponer uno o mas modelos del sistema que muestre las relaciones entre los componentes del sistema y el sistema y su entorno. Estos podran ser modelos de objetos, modelos de flujos de datos y modelos de datos semnticos.
Debe describir las suposiciones fundamentales sobre las cuales se basa el sistema y los cambios previstos debido al a evolucin del hardware, cambios en las necesidades del usuario. Debe proporcionar informacin precisa y detallada relacionada con la aplicacin que se desarrolla. Algunos elementos que pueden incluirse son las descripciones del hardware y de las bases de datos. Los requisitos de hardware definen las configuraciones mnimas y optima del sistema. Los de la base de datos definen la organizacin lgica de los datos utilizados por el sistema y las relaciones entre los datos. ndices de diagramas, funciones, alfabtico, del documento.

Evolucin del sistema Apndices

ndice

También podría gustarte