Sunteți pe pagina 1din 39

Requerimientos, procesos, tipos

y características.
Objetivos

 Conocer qué es un requerimiento


 Saber la importancia de conocer los requerimientos de
Información.
 Conocer qué características deben poseer los
requerimientos.
 Conocer el propósito de los requerimientos
 Aprender acerca de la clasificación de requerimientos y
sus tipos.
 Conocer que es la Ingeniería de Requerimientos.
¿Qué es un requerimiento?

 Es una característica del sistema.

‰
Es una descripción de algo que el sistema es capaz de
hacer con el objeto de satisfacer el propósito de
usuarios y clientes.

 En la Ingeniería de Sistemas, un requerimiento es una


necesidad documentada sobre el contenido, forma o
funcionalidad de un producto o servicio.
¿Qué es la Determinación de los
Requerimientos?
 Es el estudio de un sistema, para saber como trabaja y
donde es necesario efectuar mejoras.
¿Porqué es importante la determinación
de los requerimientos?

Se pueden mencionar muchas razones, pero entre ellas


tenemos 2 que se consideran las de mayor importancia:

1. Para comprender el problema y su contexto

2. Para evitar construir un sistema que resuelve el


problema equivocado, que no funciona como se
espera, o que presenta dificultades para que los
usuarios puedan comprenderlo y utilizarlo.
Características de un
requerimiento

Los requerimientos deben ser:

 Especificados por escrito. Como todo contrato o


acuerdo entre dos partes.

 Posibles de probar o verificar. Si un


requerimiento no se puede comprobar, entonces
¿cómo sabemos si cumplimos con él o no?
 Descritos como una característica del sistema
a entregar. Esto es: que es lo que el sistema
debe de hacer (y no como debe de hacerlo).

 Lo más abstracto y conciso posible. Para


evitar malas interpretaciones.
Propósito de los requerimientos
Los requerimientos sirven a distintos propósitos:

 Permiten que los analistas expliquen cómo han entendido


lo que el cliente y usuarios pretende del sistema.

 Indican a los diseñadores qué funcionalidad y


características va a tener el sistema resultante.

 Establecen para los desarrolladores la especificación del


comportamiento del sistema.

 Indican a los testeadores qué demostraciones llevar a


cabo para que el cliente se convenza de que el sistema
que se le entrega es lo que había solicitado.
Tipos
Según el nivel de descripción los requerimientos, se clasifican
en:

Requerimientos del usuario:


 Sentencias en lenguaje natural más diagramas, con los
servicios que se espera que el sistema provea y las
restricciones bajo las cuales debe operar.
 „Usar lenguaje claro y simple, acompañado de tablas,
formularios y diagramas intuitivos.

Problemas de los requerimientos de usuario:


 Falta de claridad: el lenguaje natural no es preciso.
 ‰
Confusión entre requerimientos funcionales y no
funcionales.
 ‰
Requerimientos compuestos: varios requerimientos se
expresan como un único requerimiento.
Requerimientos del sistema:
 Son más detallados que los requerimientos de usuario,
tanto en los servicios como en las restricciones
operativas. Corresponden con la especificación
funcional.
 „Deben ser precisos.

Aquí las especificaciones en lenguaje natural no se


aconsejan por los siguientes razones:
 Confía que lectores y escritores usan las mismas
palabras para los mismos conceptos.
 Es demasiado flexible: existen muchas maneras de decir
lo mismo.
 Es difícil de modularizar y de mantener los documentos
actualizados.
Requerimientos Funcionales:

 Definen las funciones que el sistema será capaz de


realizar. Describen las transformaciones que el sistema
realiza sobre las entradas para producir salidas. Definen
el comportamiento interno del software,: Cálculos,
detalles técnicos, etc.

 Deben de llevar en sus nombres verbos.

 Su descripción se ve reflejada en los flujos de eventos.

 Para determinar los requerimientos funcionales se


deciden cuáles son los estados aceptables para el
sistema. Describen cómo debe comportarse el sistema
ante determinados estímulos.
Requerimientos no Funcionales:

 Tienen que ver con características que de una u otra


forma puedan limitar el sistema. Por ejemplo, el
rendimiento (en tiempo y espacio), interfaces de usuario,
fiabilidad (robustez del sistema, disponibilidad de equipo),
mantenimiento, seguridad, portabilidad, estándares,
Interoperabilidad, etc.

 Casos:‰El sistema debe funcionar en el servidor..., el


informe debe salir después de 2 horas de..., las consultas
en mostrador no deben demorar más de...
Especificación en lenguaje natural

MAL

 El sistema será lo más fácil de utilizar posible.


 El sistema proporcionará una respuesta rápida al
usuario.
 El sistema se recuperará automáticamente tras
producirse un fallo.

¿Por qué no están bien?


 Objetivos generales, vagos y abiertos a distintas
interpretaciones.
BIEN

 Un usuario experimentado debe ser capaz de utilizar


todas las funciones del sistema tras un entrenamiento de
2 horas, tras el cual no cometerá más de 3 errores diarios
en media.

 Cuando haya hasta 100 usuarios accediendo


simultáneamente al sistema, su tiempo de respuesta no
será en ningún momento superior a 2 segundos.

 Ante un fallo en el software del sistema, no se tardará


más de 5 minutos en restaurar los datos del sistema (en
un estado válido) y volver a poner en marcha el sistema.

¿Por qué?
 Requisitos verificables.
¿Cómo identificar requerimientos?

• Identificar actores
(jugadores).
• Revisar que no existan
FUNCIONALES conflictos.
• Identificar necesidades
funcionales.
• I‰dentificar necesidades
NO no funcionales.
FUNCIONALES • Revisar que no existan
conflictos.
Ejemplo: Venta Electrónica de Material
Bibliográfico

Objetivo:
 Proveer el servicio venta de libros vía Internet .

Descripción:
‰La funcionalidad será de uso público, sin embargo se
requiere que los clientes compradores se registren
previamente.
‰Los clientes podrán consultar el catálogo de libros
disponibles.
 Contarán con mecanismos de búsqueda por ISBN,
autor, título o área de interés. Opcionalmente podrán
efectuar pedidos de compra por uno más libros.
 El cliente podrá cancelar el pedido de compra en
cualquier momento antes de confirmarlo.
 Los pedidos de compras confirmados serán remitidos al
final de cada día al departamento de ventas y
notificados de su recepción al cliente vía mail.

Definición de Requerimiento del usuario

 Los clientes podrán consultar el catálogo de libros


disponibles. Para ello contarán con mecanismos de
búsqueda por ISBN, autor, título o área de interés.
Requerimientos Funcionales

 Registrar nuevos clientes: El sistema pedirá datos


personales al cliente que se mantendrán en un
repositorio de clientes.

 Ingresar al sistema: Los usuarios registrados podrán


ingresar al sistema proveyendo su identificación y
contraseña.

 Consultar libros: Los usuarios tendrán acceso a


consultar libros disponibles por distintos parámetros de
búsqueda.
 Registrar pedidos de compra : El usuario ingresará el o
los libros que desea adquirir. El sistema guarda el
pedido e informa al cliente el número de transacción.

 Procesar pedidos del día: La base de pedidos del día se


envía al sistema de ventas.
Requerimientos no funcionales

 El sistema vía Internet debe cumplir con las siguientes


restricciones:
‰Debe funcionar las 24 hs.
‰Debe ser capaz de correr en las plataformas más
comunes disponibles en el mercado.
‰Debe ser capaz de atender 100 usuarios
concurrentemente consultando y/o cargando pedidos
correctamente.
‰En relación con el subsistema de pedidos por Internet,
debe definirse una interfaz capaz de comunicarse con el
Sistema de pedidos por gestión.
‰Debe trabajar conectado al servidor de base de datos
con el que están conectadas el resto de las
aplicaciones.
Clasificación de requerimientos

Los documentos de definición y especificación de


requerimientos describen cómo el sistema interactúa con
su ambiente, incluyendo los siguientes aspectos:

‰Ambiente físico e Interfaces


 Usuarios y factores humanos
 Funcionalidad y Documentación
 Datos
 Recursos
 Seguridad
 Aseguramiento de la calidad
Ambiente físico e Interfaces
Ambiente Físico

 ¿Dónde está el equipamiento que necesita el sistema para


funcionar?
‰¿Existe una localización o varias?
‰¿Existen restricciones ambientales: temperatura,
humedad, o interferencia magnética?

Interfaces

 ¿La entrada proviene de uno o más sistemas?


‰¿La salida va a uno o más sistemas?
‰¿Existe una manera prescripta en que deben formatearse
los datos?
 ¿Existe un medio prescripto que los datos deban utilizar?
Usuarios y factores humanos

 ¿Quién usará el sistema?


 „¿Habrá varios tipos de usuarios?
 „¿Cuál es el nivel de habilidad de cada tipo de usuario?
 „¿Qué clase de entrenamiento requerirá cada tipo de
usuario?
 „¿Cuán fácil le será a un usuario comprender y utilizar
el sistema?
 „¿Cuán difícil le resultará a un usuario hacer un uso
indebido del sistema?
Funcionalidad y Documentación

Funcionalidad
 ¿Qué hará el sistema?
‰¿Cuándo lo hará?
‰¿Existen varios modos de operación?
 ¿Cómo y cuándo se puede cambiar o mejorar un
sistema?
‰¿Existen restricciones de la velocidad de ejecución,
tiempo de respuesta o rendimiento?

Documentación
‰
¿Cuánta documentación se requiere?
‰
¿Debe estar en línea, en papel, o en ambos?
‰
¿A qué audiencia está orientado cada tipo de
información?
Datos

 ¿Cuál será el formato de los datos tanto para entrada


como para salida?
 „¿Cuán a menudo serán recibidos o enviados?
 „¿Cuán exactos deben ser?
 „¿Con qué grado de precisión deben hacerse los
cálculos?
 ¿Cuántos datos fluyen a través del sistema?
¿ „ Debe retenerse algún dato por algún período de
tiempo?
Recursos

 ¿Qué recursos materiales, personales o de otro tipo


se requieren para construir, utilizar y mantener el
sistema?
 ¿Qué habilidades deben tener los desarrolladores?
 ¿Cuánto espacio físico será ocupado por el sistema?
 „¿Cuáles son los requerimientos de energía,
calefacción o acondicionamiento de aire?
 ¿Existe un cronograma prescripto para el desarrollo?
 „¿Existe un límite sobre la cantidad de dinero a gastar
en el desarrollo o en hardware o en software?
Seguridad

 ¿Debe controlarse el acceso al sistema o a la


información?
¿ „ Cómo se podrán aislar los datos de un usuario de los
de otros?
 ¿Cómo podrán aislarse los programas de usuario de
los otros programas y del sistema operativo?
 „¿Con qué frecuencia deben hacerse las copias de
respaldo?
¿ „ Dónde se almacenarán las copias de respaldo?
 „¿Se deben tomar precauciones contra el fuego, el daño
provocado por agua, o el robo?
Aseguramiento de la calidad
 ¿Cuáles son los requerimientos para la confiabilidad,
disponibilidad, facilidad de mantenimiento, seguridad,
y los restantes atributos de calidad?
 „¿Cómo deben demostrarse las características del
sistema a terceros?
 „¿Debe el sistema detectar y aislar defectos?
 „¿Cuál es el promedio de tiempo prescripto entre
fallas?
 „¿Cómo puede el sistema incorporar los cambios al
diseño?
¿„ Cuán fácil debe ser de mover el sistema de una
ubicación a otra o de un tipo de computadora a otra?
 ¿El mantenimiento sólo corregirá errores o incluirá
evolución?
 „¿Existe un tiempo máximo permitido para la
recuperación del sistema después de una falla?
 ¿Qué medidas de eficiencia se aplicarán al uso de
recursos y al tiempo de respuesta?
Ingeniería de Requerimientos

 Ingeniería de Requerimientos
(IR) – es el proceso de
encontrar, analizar, documentar
y chequear los requerimientos.
El proceso de determinación de los
Requerimientos
Extracción de Requerimientos

 La extracción de requerimientos tiene lugar después de


que es aceptado el estudio de factibilidad.

 El objetivo primario de la extracción de los


requerimientos: la comprensión de lo que se espera
que haga el sistema.

 Los requerimientos deben ser documentados y


revisados para comprobar exactitud y completitud.
 Fases del proceso de extracción de requerimientos

1. Trabajar con clientes y usuarios del sistema para


extraer los requerimientos. Incluye formular preguntas,
hacer demostraciones, usar prototipos, etc.

2. Documentar los requerimientos.


Elegir descripciones matemáticas o gráficas.

3. Verificar los requerimientos.


Validar si son completos, exactos y consistentes.
Estudiar el Problema
 La extracción de requerimientos es crítica: se debe
analizar el problema antes de considerar cualquier
solución posible.
 Es importante desglosar el problema en piezas más
pequeñas más fáciles de comprender, un principio
fundamental para la resolución de problemas.

En la etapa de análisis del problema se trabaja para:


 Identificar las personas, los procesos y recursos
involucrados.
 Documentar las relaciones entre ellos.
 Se trabaja con el cliente y los usuarios para identificar
los requerimientos del sistema:
 Formulando preguntas: entrevistar a los distintos
usuarios del sistema.
 Estudiando el sistema actual: puntos fuertes y puntos
débiles.
 Estudiando el comportamiento de sistemas similares.
 Desarrollando prototipos.
Análisis de requerimientos

 Se interroga a las personas involucradas y se intenta


determinar el límite del sistema.

 Resulta útil organizar a los requerimientos en:


 Requerimientos que deben ser absolutamente
satisfechos (mandatorios).
 Requerimientos que son muy deseables pero no
indispensables (deseables).
 Requerimientos que son posibles, pero que podrían
eliminarse (no prioritarios).
 Documentar todas las decisiones tomadas.
! Muchas Gracias !

S-ar putea să vă placă și