Sie sind auf Seite 1von 2

Ingeniera del Software 1 Curso 2005-2006 13

6. Requisitos del software: tipos de requisitos


Qu son los Requisitos del Software
 Es el nico lugar donde se pone por escrito la naturaleza exacta de la aplicacin
o Se elaboran a partir de los requisitos del usuario
o Son la base para el diseo y la implementacin
 Diversas denominaciones: del software, del desarrollador, detallados, especficos...
 El nivel de detalle debe ser completo, pero no redundante
o Lista completa de propiedades especficas y funcionalidad de la aplicacin
o A cada requisito se le sigue la pista hasta la implementacin
 Diferencia con los requisitos del usuario: punto de vista del cliente, del desarrollador
 Audiencia primaria, el desarrollador. El cliente puede estar interesado en ellos e
incluso entenderlos y hacer observaciones
 Anctoda: en 1999 la NASA perdi un satlite porque se asumi que ciertos datos de
control estaban en unidades mtricas en lugar de anglosajonas. El defecto se identific
pocos das despus del desastre... (poda haberse identificado durante el anlisis)
 No es una tarea estpida: organizar todos los requisitos bien detallados es una tarea
difcil que requiere saber organizar personas y documentacin

Clasificacin de requisitos del software


 Requisitos inversos: lo que la aplicacin no debe hacer (son infinitos...)
o Pueden aclarar posibles malentendidos, el alcance del sistema
o Seleccionar aquellos que sirven para aclarar los verdaderos requisitos
o Ejemplo: la aplicacin no asesorar al usuario sobre...
o Dnde? Alcance del software (RU/RS). Anotacin a un requisito concreto
 Requisitos funcionales (derivados de los requisitos de capacidad)
o Especifican la funcionalidad o servicios que la aplicacin debe proporcionar
 Ejemplo: un tiempo de respuesta no es un requisito funcional
o Acompaados de un modelo de anlisis (Platform Independent Model - PIM)
 Modelo conceptual: requisitos de informacin
 Modelo de casos de uso: requisitos de operacin
 Modelos de comportamiento que sean necesarios
 Requisitos no funcionales (derivados de los requisitos de restriccin)
o Imponen restricciones: en el producto desarrollado, en el proceso de desarrollo
o Caractersticas distintivas:
 cmo debe realizar algo el software, NO qu debe realizar
 cortan transversalmente a los requisitos funcionales
 son negociables hasta cierto punto, dentro de lmites aceptables
 la medida de satisfaccin (o verificacin) no es todo/nada, sino gradual
o A veces denominados requisitos de calidad
 La funcionalidad se presupone, la calidad satisface (o no)
o Ejemplos: consumo de recursos, rendimiento, fiabilidad y disponibilidad,
seguridad, portabilidad, mantenibilidad, modificabilidad, reusabilidad,
interfaces, amigabilidad, manejo de errores, uso de estndares, verificacin...
o Habitualmente peor analizados y documentados
 Descritos de modo vago, informal, ambiguo (dificultan la verificacin)
 Repetidos en muchos lugares (transversalidad)
 Peor contemplados en los modelos
 Separacin de incumbencias (separation of concerns) en los requisitos
o Definir por separado requisitos funcionales y no funcionales
o Componer los requisitos F y NF mediante tablas de referencias cruzadas
Ingeniera del Software 1 Curso 2005-2006 14
Consumo de recursos (Resource expenditure)
 Especifican la cantidad de recursos que la aplicacin requiere
 Ejemplos:
o Uso de memoria (voltil / permanente; o primaria / secundaria)
o Capacidad de trfico, lneas de atencin simultnea, etc.

Rendimiento (Performance)
 Especifican restricciones temporales que la aplicacin debe cumplir
 Son crticas en los sistemas de tiempo real
o Ejemplos: velocidad, tiempo de respuesta, etc.

Fiabilidad y disponibilidad (Reliability and availability)


 En estos dos factores se reconoce que las aplicaciones difcilmente son perfectas, pero
s se exige un nivel de calidad mnimo
 Fiabilidad: cuantifica los errores permisibles y su gravedad
o Ejemplo: el sistema no sufrir ms de dos fallos de nivel uno al mes
 Disponibilidad: cuantifica el grado de disponibilidad de la aplicacin para los usuarios
o Ejemplo: la aplicacin no estar disponible como mximo durante 10 horas en
cualquier periodo de 30 das, y como mximo durante 2 horas seguidas

Manejo de errores (Error handling)


 Cmo debe responder la aplicacin a errores de su entorno, o a errores internos
o Ejemplo: cmo reaccionar ante un mensaje en formato no reconocido
 No se debe abusar del manejo de errores internos, que no deben existir (no debemos
cubrir nuestros errores con un cdigo interminable de manejo de errores)
o Ejemplo: determinar lo que hay que hacer si una funcin es llamada con
parmetros equivocados; esto slo se debe hacer si es preferible manejar el
error a la terminacin de la aplicacin

Requisitos de interfaz (Interface requirements)


 Describen el formato con el que la aplicacin se comunica con su entorno
o Ejemplo (comunicacin con usuarios): El coste del envo se mostrar en la
esquina inferior derecha
o Ejemplo (comunicacin con otras aplicaciones): Los pedidos se transmitirn
en formato XML utilizando la plantilla DTD detallada en el anexo IV

Restricciones (Constraints)
 Describen lmites o condiciones sobre cmo disear o implementar la aplicacin
 Estos requisitos no deben suplantar el proceso de diseo, simplemente especifican
condiciones impuestas en el proyecto por el cliente, el entorno, u otras circunstancias
o Ejemplo (exactitud, precisin): las tarifas aplicadas se medirn en
diezmilsimas de euro
o Ejemplo (lenguaje, herramienta): se emplear el lenguaje Fortran, el gestor de
base de datos SQLServer...
o Ejemplo (arquitectura): se emplearn tecnologas de intranet y cliente-servidor
o Ejemplo (estndares): los informes generados se ajustarn al estndar XX-123
o Ejemplo (plataformas): la aplicacin deber funcionar sobre Windows 95

Seguridad (Security / Safety)


 Security: seguridad del sistema frente a amenazas externas (confidencialidad,
integridad, disponibilidad, etc.)
 Safety: seguridad de las personas frente a fallos del sistema

Das könnte Ihnen auch gefallen