You are on page 1of 65

Planificacin y Modelado Unidad 1

Procesos de la Ingeniera de Requerimientos


M.C. JUAN ANTONIO GALINDO GARCA

Instituto Tecnolgico de Milpa Alta www.itma.edu.mx

Introduccin
Sistema de Informacin
Un sistema de informacin puede definirse tcnicamente como un conjunto de componentes interrelacionados que permiten capturar, procesar, almacenar y distribuir la informacin para apoyar la toma de decisiones y el control en una institucin, ya sea pblica o privada.

Introduccin
Sistema de Informacin
Los Sistemas de Informacin pueden tambin ayudar a los administradores a analizar problemas, visualizar cuestiones complejas y crear nuevos productos.

Introduccin
Sistema de Informacin
Medio ambiente
Clientes INSTITUCION SISTEMA DE INFORMACION Proveedores

Almacenamiento o Insumo

Procesamiento

Salida o producto

Retroalimentacin

Entidades reglamentadoras

Accionistas

Competidores

Tipos de Sistemas de Informacin


Tipos de sistema de informacin Nivel estratgico Grupo Servido

Directores o administradores de nivel superior

Nivel de adiministracin

Gerentes o administradores medios

Nivel de conocimiento

Trabajadores del conocimiento y la informacin

Nivel operativo

Gerentes operativos

Ventas y Manufactura mercadotecnia

Finanzas

Contabilidad

Recursos humanos

Definicin de requerimiento
Cuando las personas realizan su trabajo diario detectan que parte de este puede ser automatizado o mejorado, ah nace el Requerimiento.

Qu son Requerimientos? de las muchas definiciones que existen, a


continuacin se presenta la definicin que da el glosario de la IEEE: (1) Una condicin o necesidad de un usuario para resolver un problema o alcanzar un objetivo. (2) Una condicin o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estndar, especificacin u otro documento formal.

Problemas con los requerimientos


Los requerimientos normalmente no son obvios y provienen de muchas fuentes. Son difciles de expresar en palabras (el lenguaje es ambiguo). Existen muchos tipos de requerimientos y diferentes niveles de detalle.

La cantidad de requerimientos en un proyecto puede ser difcil de manejar.


Nunca son iguales. Algunos son ms difciles, ms riesgosos, ms importantes o ms estables que otros.

Problemas con los requerimientos


Los requerimientos estn relacionados unos con otros, y a su vez se relacionan con otras partes del proceso. Cada requerimiento tiene propiedades nicas y abarcan reas funcionales especficas. Un requerimiento puede cambiar a lo largo del ciclo de desarrollo. Son difciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto.

Caractersticas de los requerimientos


Necesario: No Ambiguo: Verificable: Completo: Correcto: Viable: Priorizable: Consistente: Operativamente se requiere Interpretacin Se pueda cuantificar No omitir informacin Validar la fuente del mismo. Limitaciones tcnicas y econmicas Justificacin Sin contradicciones

Caractersticas de los requerimientos NECESARIO


Cada requerimiento debera documentar algo que el usuario realmente necesite

Es necesario aquel requerimiento que forma parte de un contrato firmado y establecido. Una manera de identificar requerimientos necesarios, es si la fuente del requerimiento viene de una fuente CON AUTORIDAD para especificar requerimientos. Al revisar un requerimiento, navegue hacia atrs en este requerimiento (la fuente) y valide si es o no necesario

Caractersticas de los requerimientos NO AMBIGUOS


Un requerimiento es no ambiguo si todos los lectores del requerimiento pueden llegar a una simple y consistente interpretacin igual del mismo Escribir los requerimientos en lenguaje natural, y no en TRMINOS COMPUTACIONALES, ayuda que un requerimiento pueda ser interpretado y entendido sin ambigedades. Una forma efectiva para revelar ambigedad es hacer revisiones de los documentos, diagramas, casos de uso, desarrollar prototipos, pintar borradores de interfaces y revisar escenarios de cada uno de ellos.

Caractersticas de los requerimientos NO AMBIGUOS Ejemplo

El sistema debe permitir firmar un formato electrnico.

Caractersticas de los requerimientos NO AMBIGUOS Ejemplo


El sistema debe permitir firmar un formato electrnico.

El sistema debe permitir firmar los formatos electrnicos, adjuntando , a los formatos electrnicos seleccionados, una firma previamente escaneada del usuario en sesin.

Caractersticas de los requerimientos VERIFICABLES


Trate de aplicar mtodos formales, para realizar pruebas que confirmen que el requerimiento est correctamente especificado Debera poderse contar con herramientas que, al aplicrselas al requerimiento, puedan demostrarse que est est correctamente especificado. Se puede utilizar, soportes, libros, documentos legales, para verificar el requerimiento.

Caractersticas de los requerimientos VERIFICABLES - Ejemplo


A partir de producido el evento X, se obtendr el output del proceso con la mayor cantidad de transacciones en el menor tiempo posible.

Caractersticas de los requerimientos VERIFICABLES - Ejemplo


A partir de producido el evento X, se obtendr el resultado del proceso con la mayor cantidad de transacciones en el menor tiempo posible. A partir de producido el evento X, se obtendr el resultado del proceso: debe estar dentro de los 20 segundos el 60% de las transacciones y dentro de los 30 segundos el 99% de las transacciones

Caractersticas de los requerimientos COMPLETOS


Requerimientos mal especificados podran esconder informacin que no es fcil de detectar Puede ayudar a no tener requerimientos incompletos, enfocarse en conocer las tareas del usuario y no sesgarse en las funciones de un sistema

Caractersticas de los requerimientos COMPLETOS - Ejemplo

El sistema debe permitir consultar la informacin de los procedimientos para generar proyectos

Caractersticas de los requerimientos

COMPLETOS - Ejemplo

El sistema debe permitir consultar la informacin de los procedimientos para generar proyectos El sistema debe permitir a los investigadores, docentes, estudiantes, egresados, empleados y Directivos de la Universidad, consultar la informacin de los procedimientos para generar proyectos de Investigacin

Caractersticas de los requerimientos

CORRECTOS

El punto de referencia para validar si un requerimiento es correcto o no, es la fuente del mismo. El usuario directamente, o la documentacin de alto nivel que origin el requerimiento. Un usuario representativo, puede determinar si el requerimiento es correcto o no. Por ello es esencial incluir los usuarios durante el proceso de revisin de los requerimientos. Requerimiento Usuario Origen

Caractersticas de los requerimientos

CORRECTOS- Ejemplo

El sistema debe contar con un mecanismo que provea gran seguridad.


El sistema debe permitir almacenar algunos datos importantes.

Caractersticas de los requerimientos

CORRECTOS- Ejemplo

El sistema debe contar con un mecanismo que provea gran seguridad.


El sistema debe permitir almacenar algunos datos importantes.

El sistema debe contar con un mecanismo de seguridad conformado por nombre de usuario, contrasea y un campo de verificacin.
El sistema deber permitir almacenar artculos en una base de datos relacional.

Caractersticas de los requerimientos VIABLES


Es mas fcil implementar requerimientos cuando se conocen limitaciones tcnicas, la capacidad, y las condiciones del ambiente que rodea el proyecto Para detectar requerimientos NO VIABLES es importante incluir dentro del equipo de anlisis de requerimientos un miembro de la parte tcnica o de ingeniera, como un miembro del dominio del producto o mercado. Este tipo de personas, pueden ayudar a determinar de una manera real, que es posible tcnicamente o no, o que es excesivamente costoso de implementar

Caractersticas de los requerimientos

VIABLES - Ejemplo
La informacin del sistema deber ser almacenada en una base de datos de preferencia Oracle por su confiabilidad Este requerimiento podra no ser viable dependiendo de la solvencia econmica de la empresa ya que el SGBD Oracle tiene un costo aproximado a los 11 mil dlares.

Caractersticas de los requerimientos

QUE SE PUEDAN PRIORIZAR


Si todos los requerimientos tiene el mismo nivel de prioridad, hay una mala identificacin y especificacin de requerimientos Cada requerimiento o un conjunto de ellos debe poderse distribuir en las diferentes liberaciones de software o producto. Si todos los requerimientos son de alta prioridad, el equipo de desarrollo no tendr facilidad para incluir o modificar nuevos requerimientos durante la etapa de desarrollo

Caractersticas de los requerimientos

QUE SE PUEDAN PRIORIZAR


Una manera de priorizar los requerimientos es dividirlos en tres grupos. Dentro de cada grupo ser ms fcil realizar una ordenacin relativa por valor.

Imperativos

Importantes

Cosmticos

Caractersticas de los requerimientos CONSISTENTES


Si un requerimiento tiene conflicto con otro requerimiento de software, este requerimiento o ambos tiene problemas en la especificacin.
Los requerimientos deben estar acordes con las reglas del negocio y con las variables externas que afectan el dominio del negocio

Redaccin de requerimientos
Redaccin de las necesidades que deben hacer parte de la solucin de Software: MODELO PARA LA REDACCIN DE REQUERIMIENTOS [LUGAR, TIEMPO, EVENTO, OBJETO] debe, deber, no debe, no deber [ACCIN, VERBO, SENTENCIA] [A QUIEN, SUJETO] [RESULTADO, CONSECUENCIA]. + + + +

Redaccin de requerimientos
Algunos ejemplos para el modelo:
El sistema en el mdulo de ventas debe ofrecer una opcin mediante la cual el usuario pueda ver una comparacin de lo presupuestado versus la venta real en un rango de fechas Cuando el tiempo de conexin exceda el valor predeterminado como mximo el sistema debe cancelar la seccin informndole a el usuario que el tiempo se agot y que por lo tanto ser desconectado El listado de los requerimientos del software, se deberan mantener en un repositorio Central.

Redaccin de requerimientos
Algunos ejemplos para el modelo:
El sistema en el mdulo de ventas debe ofrecer una opcin mediante la cual el usuario pueda ver una comparacin de lo presupuestado versus la venta real en un rango de fechas Cuando el tiempo de conexin exceda el valor predeterminado como mximo el sistema debe cancelar la seccin informndole a el usuario que el tiempo se agot y que por lo tanto ser desconectado

Redaccin de requerimientos
Algunos ejemplos para el modelo:
El sistema en el mdulo de ventas debe ofrecer una opcin mediante la cual el usuario pueda ver una comparacin de lo presupuestado versus la venta real en un rango de fechas Cuando el tiempo de conexin exceda el valor predeterminado como mximo el sistema debe cancelar la seccin informndole a el usuario que el tiempo se agot y que por lo tanto ser desconectado

Redaccin de requerimientos
Algunos ejemplos para el modelo:
El sistema en el mdulo de ventas debe ofrecer una opcin mediante la cual el usuario pueda ver una comparacin de lo presupuestado versus la venta real en un rango de fechas Cuando el tiempo de conexin exceda el valor predeterminado como mximo el sistema debe cancelar la seccin informndole a el usuario que el tiempo se agot y que por lo tanto ser desconectado

Redaccin de requerimientos
Algunos ejemplos para el modelo:
El sistema en el mdulo de ventas debe ofrecer una opcin mediante la cual el usuario pueda ver una comparacin de lo presupuestado versus la venta real en un rango de fechas Cuando el tiempo de conexin exceda el valor predeterminado como mximo el sistema debe cancelar la seccin informndole a el usuario que el tiempo se agot y que por lo tanto ser desconectado

Redaccin de requerimientos
Algunos ejemplos para el modelo:
El sistema en el mdulo de ventas debe ofrecer una opcin mediante la cual el usuario pueda ver una comparacin de lo presupuestado versus la venta real en un rango de fechas Cuando el tiempo de conexin exceda el valor predeterminado como mximo el sistema debe cancelar la seccin informndole a el usuario que el tiempo se agot y que por lo tanto ser desconectado

Redaccin de requerimientos
A) El sistema deber mantener la temperatura de la caldera entre 70 y 80. B) El sistema deber mantener un registro de todos los materiales de la biblioteca, incluyendo libros, peridicos, revistas, videos, y CDRoms. C) El sistema deber permitir que los nuevos usuarios se familiaricen con su uso en menos de 15 minutos.

Matriz de Requerimientos
La matriz de Requerimientos es un documento esencial dentro de la administracin de requerimientos, algunos de los datos que se pueden poner son prioridad, prueba a realizar y el riesgo.
La prioridad puede ser alta (el requerimiento es critico para el sistema), Media (el sistema puede funcionar aunque de manera deficiente), baja (el requerimiento sera deseable tenerlo). A travs de la columna de riesgos se puede determinar qu requerimientos debern ser probados forzosamente y cules dependern del tiempo con que se cuente.

Matriz de Requerimientos
Req ID SR-23 Requerimiento El sistema deber reportes de ajuste de pagos Prueba T-SR-23 Prioridad Alta Riesgo Bajo

SR-112
SR-68 SR-44 SR-90 SR-83

El sistema deber determinar el derecho de pago


El sistema deber validar el estatus de los pagos El sistema deber generar aviso de pago realizado

T-SR-112
T-SR-68 T-SR-44

Alta
Alta Alta Alta Media

Alto
Bajo Medio Medio Alta

El sistema deber calcular los intereses en T-SR-90 el pago El sistema deber calcular el monto neto del pago T-SR-83

SR-45
SR-46

El sistema deber calcular la ganancia


El sistema deber calcular el reembolso

T-SR-45
T-SR-46

Media
Media

Media
Alta

Actividad
1. Redactar requerimientos para cada uno de los sistemas (por equipo). 2. Generar la matriz de requerimientos por cada uno de los sistemas. 3. Estudiar los conceptos vistos hasta ahora. 4. Investigar ejemplos (versiones incorrecta y correcta) de las caractersticas de los requerimientos. (Examen)

Modelo del Dominio


Es una representacin de conceptos u objetos del dominio del problema. La meta es lograr un conocimiento bsico del vocabulario y de los conceptos que se incluyen en los requerimientos. No investigacin exhaustiva para no saturar el modelo

Modelo del Dominio


Para descomponer el dominio del problema hay que identificar los conceptos, los atributos y las asociaciones del dominio que se juzgan importantes.

Ejemplo de modelo del dominio El juego de dados


Un jugador lanza dos dados. Si el total es siete, gana y de lo contrario Pierde.

Como identificar clases en DP


Ver documento con ejercicio sobre cmo identificar clases en el Dominio del Problema.

Actividad
De la siguiente narracin identificar las clases que intervienen en el Dominio del problema. Dominio del futbol

Identificar clases y relaciones en el DP


Se obtienen principalmente de algn documento textual que describa el sistema. Se extraen todos los sustantivos de la descripcin del problema. Considerando:
Los sustantivos como clases. Ej. Un sistema de reservaciones que vende boletos para funciones a varios teatros

Identificar clases y relaciones en el DP


Se deben identificar entidades fsicas lo mismo que abstractas. No se debe tratar de diferenciar entre clases y atributos durante esta etapa. Se deben revisar los pronombres en la descripcin del problema para asegurar que no se haya perdido ningn sustantivo descrito de forma implcita.

Identificar clases y relaciones en el DP


Ejemplo de descripcin del problema

Identificar clases y relaciones en la DP


Las clases no deben ser redundantes No deben existir clases imprecisas. No deben representar atributos de otras clases. No deben ser interfaces de usuario No deben ser clases irrelevantes Identificar bien el nombre de la clase. No deben representar operaciones. No deben representar el sistema completo.

Clases redundantes Clases imprecisas Son atributos Son interfaces de usuario

Clases irrelevantes Nombres de clases Son operaciones Es el sistema completo

Clases candidatas modificadas

Clases candidatas modificadas

Identificacin de clases y relaciones en la DP


A partir de la tabla anterior se obtienen las siguientes clases y se agregaron nuevas clases para lograr un dominio ms completo.

Identificacin de clases y relaciones en la DP


Con lo cual obtenemos el siguiente modelo del dominio

Actividad
Realizar un listado de las clases candidatas y la modificacin hecha a las clases a partir de la clasificacin de ellas. Mostrar el Modelo del dominio resultante.

Identificacin de asociaciones
El proceso consiste en buscar frases que relacionen sustantivos correspondientes a clases ya identificadas.
Asociaciones Identificadas Un vuelo contiene reservaciones Un vuelo contiene tarifas Un vuelo se efecta en un avin Un vuelo contiene asientos Un vuelo pertenece a una aerolnea Un vuelo tiene un horario Un pasajero acumula millas como viajero frecuente Un pasajero efecta reservaciones Una reservacin requiere de un registro de tarjeta de Crdito Un registro de tarjeta pertenece a un registro de usuario Un vuelo se dirige a un aeropuerto

Actividad
Definir las relaciones entre clases de cada uno de los modelos del dominio de cada equipo.

Multiplicidad en el M. D.
Veamos la tabla de relaciones entre clases.
Asociaciones Identificadas Un vuelo contiene reservaciones Un vuelo contiene tarifas Un vuelo se efecta en un avin Un vuelo contiene asientos Un vuelo pertenece a una aerolnea Un vuelo tiene un horario Un pasajero acumula millas como viajero frecuente Un pasajero efecta reservaciones Una reservacin requiere de un registro de tarjeta de Crdito Un registro de tarjeta pertenece a un registro de usuario Un vuelo se dirige a un aeropuerto

La modificamos por la siguiente tabla


Asociaciones Identificadas Un vuelo contiene mltiples reservaciones Una reservacin se relaciona con mltiples vuelos Un vuelo tiene un aeropuerto de destino Un vuelo tiene un aeropuerto de origen Un vuelo contiene mltiples tarifas Un vuelo se efecta mltiples aviones Un vuelo contiene mltiples asientos Un vuelo pertenece a una aerolnea Un vuelo tiene mltiples horarios Un pasajero puede acumular millas en mltiples cuentas de viajero frecuente Un pasajero efecta mltiples reservaciones

Multiplicidad en el M. D.

La modificamos por la siguiente tabla


Asociaciones Identificadas Mltiples pasajeros pueden pertenecer a una misma reservacin

Multiplicidad en el M. D.

Mltiples reservaciones pueden requerir de un mismo registro de T. de C.


Un registro de tarjeta pertenece a un registro de usuario

Matriz de trazabilidad
Pendiente

Gracias!

www.itma.edu.mx

You might also like