Está en la página 1de 21

Ingeniera de Software Unidad II

Tema 1 Ingeniera de Requerimientos

Ingeniera de requerimientos
Denomina el proceso de descubrir, analizar,
documentar y verificar:
Los servicios de un sistema software Las restricciones de un sistema software

Los requerimientos para un sistema de software


determinan:
Lo que har el sistema Las restricciones de su operacin e implementacin

El modo de especificacin influye en la calidad


final del software

Ingeniera de requerimientos
Existen tres categoras de ingeniera de requerimientos: Ingeniera a partir de cero:
No existe un sistema anterior Los requerimientos se extraen de los usuarios y del cliente

Reingeniera
Rediseo de un sistema existente Los requerimientos se extraen del sistema existente

Ingeniera de interfaz
Rediseo de la interfaz de un sistema existente Slo se modifica la interfaz (GUI) del software Los requerimientos estn asociados slo a la Interfaz

Ingeniera de requerimientos
En cualquier caso, la obtencin de
requerimientos tendr 2 actores
Cliente Son expertos en sus dominios Tienen una idea general sobre que debe hacer el sistema Tienen poca experiencia en el desarrollo de software Desarrolladores Tienen poca experiencia en el dominio de la aplicacin Tienen experiencia en el desarrollo de sistemas software

Ingeniera de requerimientos
Clasificacin de los requerimientos
Segn el nivel de detalle, las especificaciones de un sistema pueden ser: Requerimientos del usuario (especificacin abstracta) Requerimientos del sistema (especificacin ms detallada) Segn el tipo, las especificaciones de un sistema pueden ser: Requerimientos funcionales (servicios o funcionalidades) Requerimientos no funcionales (restricciones)

Ingeniera de requerimientos
Requerimientos del Usuario
Declaraciones, en lenguaje natural y/o diagramas intuitivos sencillos, de los requerimientos funcionales y no funcionales Describen los requerimientos de una forma que sea comprensible por los usuarios del sistema

No posee un conocimiento tcnico detallado


Especifican el comportamiento externo del sistema Evitan las caractersticas de diseo Se orientan al cliente y los administradores del proyecto Problema: La declaracin en lenguaje natural puede llevar a

falta de claridad confusin de requerimientos

Ingeniera de requerimientos
Requerimientos del Sistema
Son descripciones detalladas de los requerimientos del usuario Debe ser una especificacin completa y consistente del sistema, para que pueda ser utilizado por los ingenieros de software como base para el diseo del sistema Deben establecer lo que el sistema har

No la manera en que se implementar !!!


Sirven como un contrato entre el cliente del sistema y el desarrollador de software Se orienta al personal tcnico y administradores del proyecto

No usar un lenguaje tcnico!!!


Problema: La declaracin en lenguaje natural puede llevar a

falta de claridad confusin de requerimientos

Ingeniera de requerimientos
El sistema deber poder imprimir un reporte de asistencia de empleados de manera diaria. Para esto, el sistema deber tener un botn de Impresin, el cual una vez presionado deber Imprimir el reporte que se muestra en la grilla Principal en no ms de 2 segundos

Problemas con el Lenguaje Natural


Falta de Claridad

La precisin es difcil de hacer sin hacer el documento ilegible


Confusin de Requerimientos

Los requisitos funcionales y no funcionales tienden a estar mezclados


Conjuncin de Requerimientos

Varios requisitos se pueden expresar juntos, como un nico requerimiento

Ingeniera de requerimientos
La distincin entre Req. de Usuario y Req. de Sistema, es til porque Comunica la informacin del sistema a diferentes tipos de lectores

Problemas con el lenguaje Natural


Soluciones Propuestas:

Lenguaje natural estructurado


Mantiene la expresividad y comprensin del lenguaje natural Delimita la terminologa utilizada y emplea plantillas
Describe objetos que se manipulan, funciones que se ejecutan y los los eventos que procesa

Notaciones grficas
Se usa un lenguaje grfico, complementado con anotaciones en lenguaje natural estructurado

Ingeniera de requerimientos
Requerimientos Funcionales
Describen los servicios que se espera que el sistema proveer Declaran la manera en que el sistema reaccionar a entradas particulares y cmo se comportar en situaciones particulares

Ingeniera de requerimientos
Requerimientos Funcionales
La especificacin de los requerimientos funcionales debe ser completa y consistente Completa: Todos los servicios solicitados por el
usuario deben estar definidos Consistente: Los requerimientos deben ser consistentes entre s
Complejo para sistemas muy grandes Implica refinar los requerimientos!!!

Ingeniera de requerimientos
Requerimientos Funcionales
Ejemplos de Requerimientos Funcionales Se deber poder realizar bsquedas en base a
distintos criterios Cada cliente deber tener un identificador nico El sistema deber validar el dgito verificador ingresado

Ingeniera de requerimientos
Requerimientos no Funcionales
Describen: Las restricciones bajo las cuales el sistema debe operar Las propiedades emergentes del producto, como la fiabilidad,
los tiempos de respuesta, la capacidad de almacenamiento etc.

Generalmente son ms crticos que los requerimientos funcionales particulares El incumplimiento de un requerimiento funcional degradar el
sistema, mientras que una falla en un requerimiento no funcional podra inutilizarlo

Ingeniera de requerimientos
Requerimientos no Funcionales
Se clasifican de acuerdo con sus implicaciones: Requerimientos del producto
Especifican el comportamiento del producto

Requerimientos organizacionales
Se derivan de las polticas y procedimientos existentes en la organizacin del cliente y en la del desarrollador

Requerimientos externos
Se derivan de los factores externos al sistema y de su proceso de desarrollo

Ingeniera de requerimientos
Requerimientos no Funcionales
Requerimientos del producto: De usabilidad De eficiencia:
De desempeo De espacio utilizado

De fiabilidad (Tasa de Fallos Aceptable) De portabilidad

Ingeniera de requerimientos
Requerimientos no Funcionales
Requerimientos organizacionales: De entrega
Plazos Documentos

De implementacin
Herramientas Modelos

De estndares

Ingeniera de requerimientos
Requerimientos no Funcionales
Requerimientos externos: De interoperabilidad Legislativos:
De privacidad De derecho de autor

Ingeniera de requerimientos
Requerimientos no funcionales
La mejor forma de expresar los requerimientos no funcionales es cuantitativa, utilizando mtricas que se deben probar de forma objetiva Problema!!! Muchas veces la especificacin cuantitativa es difcil
de lograr

Ingeniera de requerimientos
Propiedad Velocidad Tamao Facilidad de uso Fiabilidad Mtricas
No. de transacciones por unidad de tiempo Tiempo de respuesta Tiempo de actualizacin de la pantalla MB Tiempo de capacitacin Tiempo promedio entre fallas Probabilidad de no disponibilidad

Ingeniera de requerimientos
Meta
Los usuarios especializados debern utilizar el sistema fcilmente

Requerimiento No Funcional asociado


Los usuarios especializados debern poder utilizar todas las funcionalidades del sistema despus de una hora de capacitacin Despus de la capacitacin, el nmero promedio de errores cometidos por usuarios especializados no exceder de 2 por da

Ingeniera de Software Unidad II


Tema 1 Ingeniera de Requerimientos

También podría gustarte