Академический Документы
Профессиональный Документы
Культура Документы
INGENIERA de
REQUERIMIENTOS
Unidad V
Requerimientos No Funcionales
Tipos de Requerimientos
Requerimientos funcionales: Son declaraciones
de los servicios y funciones que proveer el
sistema. En algunos casos, los requerimientos
funcionales de los sistemas tambin declaran
explcitamente lo que el sistema no debe hacer.
Requerimientos no funcionales: Conforman
restricciones de los servicios o funciones
ofrecidos por el sistema. Incluyen restricciones de
tiempo, sobre el proceso de desarrollo,
estndares, etc.
RF vs. RNF
La distincin entre lo que es un requerimiento
funcional y lo que es un requerimiento no
funcional no siempre est clara.
Parte de esta razn est dada por el hecho de que
los RNFs estn siempre relacionados a un
requerimiento funcional.
RF expresa algn tipo de transformacin que
tiene lugar en el software,
RNF expresa cmo esa transformacin se
comportar o qu cualidades especficas
deber poseer.
RF vs. RNF: Ejemplo
Supongamos que nos encontramos en el dominio
de laboratorios de anlisis clnicos,
RF = El sistema debe proveer una entrada de
datos que posibilite la asignacin de resultados
de exmenes de un paciente en particular por
tcnicos, supervisores y jefes.
RF vs. RNF: Ejemplo
Este mismo requerimiento funcional podra tener
asociado un RNF del tipo:
RNF = Algunos exmenes debern tener
tratamiento especial para la entrada de
resultados. Para estos exmenes, valores por
encima o por debajo de predeterminados valores
slo podrn ser ingresados por jefes de seccin.
RF vs. RNF: Ejemplo
Es importante resaltar que esto ltimo no representa una
funcin del sistema, y s una restriccin de una funcin
existente: Entrar resultados de exmenes.
Lo que se ve aqu es que esa funcin deber estar
restringida de forma tal que, cuando es utilizada por
personas que no sean jefes, tendr como condicin que
esas personas ingresen un valor que se encuentre
dentro de lmites preestablecidos.
2
RF vs. RNF: Ejemplo
Es visible que este RNF demandar un proceso de
seguridad en el tratamiento de acceso a mdulos
del software ms complejo que aquel que sera
implantado si slo hubiera sido especificado el
requerimiento funcional. De esta forma, la elicitacin
tarda o la no elicitacin del requerimiento no
funcional ciertamente implicara un gran retrabajo.
Requerimientos No Funcionales (RNFs)
No especifican funciones que brinda el sistema,
sino sus propiedades emergentes: fiabilidad, tiempo
de respuesta, capacidad de almacenamiento, etc.
Definen las restricciones del sistema: capacidad
de los dispositivos de entrada/salida, representacin
de datos que se utiliza en las interfaces, etc.
Definen las caractersticas que indican cmo el
sistema debe realizar su trabajo; por ejemplo,
eficiencia, hardware necesario, etc.
RNFs
Los requerimientos no funcionales se refieren al
sistema como un todo ms que a rasgos
particulares del mismo;
=> a menudo son ms crticos que los requerimientos
funcionales particulares.
Mientras que el incumplimiento de un
requerimiento funcional degradar al sistema,
una falla en un requerimiento no funcional del
sistema puede inutilizarlo.
RNF: Clasificacin (Ian Sommerville)
Requerimientos
nofuncionales
Requerimientos
nofuncionales
Requerimientos
del producto
Requerimientos
del producto
Requerimientos
organizacionales
odeproceso
Requerimientos
organizacionales
odeproceso
Requerimientos
externos
Requerimientos
externos
Requerimientos
deusabilidad
Requerimientos
deusabilidad
Requerimientos
deeficiencia
Requerimientos
deeficiencia
Requerimientos
defiabilidad
Requerimientos
defiabilidad
Requerimientos
deportabilidad
Requerimientos
deportabilidad
Requerimientos
deentrega
Requerimientos
deentrega
Requerim. de
implementacin
Requerim. de
implementacin
Requerimientos
deestndares
Requerimientos
deestndares
Requerim. de
interoperabilidad
Requerim. de
interoperabilidad
Requerimientos
ticos
Requerimientos
ticos
Requerimientos
legislativos
Requerimientos
legislativos
Requerimientos
deprivacidad
Requerimientos
deprivacidad
Requerimientos
deseguridad
Requerimientos
deseguridad
RNF: Requerimientos del producto
Restringen el comportamiento del producto.
Ejemplos:
requerimientos de desempeo en la rapidez de ejecucin
del sistema y cunta memoria se requiere;
requerimientos de fiabilidad que fijan la tasa de fallas
para que el sistema sea aceptable;
requerimientos de portabilidad: esfuerzo requerido para
transferir un programa de una configuracin hardware o
entorno software a otro),
Requerimientos de usabilidad (esfuerzo necesario para
aprender, operar, preparar entradas e interpretar la
salida).
3
RNF: Requerimientos externos
Se incluyen todos los requerimientos que se derivan de los
factores externos al sistema y de su proceso de desarrollo.
Estos incluyen:
los requerimientos de interoperabilidad que definen la
manera en que el sistema interacta con los otros
sistemas/hardware de la organizacin;
los requerimientos legales que deben seguirse para
asegurar que el sistema opere dentro de la ley;
los requerimientos ticos, que son impuestos al sistema
para asegurar que ser aceptado por el usuario y por el
pblico en general.
Grafo RNF: Operacionalizaciones
Las operacionalizaciones pueden ser:
dinmicas : denotan acciones a ser realizadas. En el
grafo RNF pueden figurar tanto a nivel de hoja como en
niveles intermedios (por ejemplo, Validar Acceso).
estticas : expresan la necesidad de ciertos datos a ser
usados en el diseo para almacenar informacin que es
necesaria para satisfacer un RNF. Estn siempre a nivel
de hojas en el grafo RNF (por ejemplo PIN).
...
RNF [SIMBOLO]
...
EST_1 DIN_1 DIN_2 EST_2
SIMBOLO
EST_1
EST_2
DIN_1()
DIN_2()
Si Smbolo no existe con
entrada en el LEL, entonces
hay una alias que est
faltando definir.
Representacin RF y RNF
LEL
Casos de Uso
Grafos RNF
VISTA
FUNCIONAL
VISTA NO
FUNCIONAL
Cisneyros propone una reestructuracin del LEL,
debido a que su versin ms comn generalmente
est compuesta por smbolos relacionados con los
requerimientos funcionales.
Reestructuracin del LEL
El LEL es reestructurado para:
Expresar que para un smbolo determinado son
necesarios uno o ms RNFs.
Manejar los enlaces de dependencia entre un RNF
y todas las nociones e impactos (behavioral
responses) que son necesarios para satisfacer
este RNF.
7
De LEL a grafos RNFs
Primer paso: Mejorar LEL con RNFs.
Recorrer todos los smbolos existentes en el
LEL y preguntar a los stakeholders y a
nosotros mismos si algn RNF puede ser
asociado al smbolo de ese LEL.
En la tesis se utiliza una base de conocimiento
de RNF, en donde se analiza cada smbolo del
LEL con cada RNF existente en la BC.
Primer paso: Ejemplo
Lo escrito con verde es un patrn que aclara el RNF por el cual surgen los impactos. Esto ayuda
para la trazabilidad en el caso de tener que realizar cambios o eliminaciones de smbolos LEL.
DC
Ejemplo:
1. El smbolo Muestra tiene entre sus nociones el RNF
Trazabilidad.
2. Se tuvo que agregar un impacto, que aclara que debe
ser posible conocer dnde se encuentra una muestra
y dnde ha estado.
3. Por esto, se tiene que agregar otro impacto en
Fusionar muestras, que describe que el sistema
debera mantener un registro sobre qu muestras
son originadas a partir de otras muestras.
Todos los RNFs representados en el LEL tendrn
que ser representados usando grafos de RNFs:
Se deber revisar cada entrada en el LEL
buscando nociones que describan necesidades
de RNF.
Para cada RNF encontrado para ese smbolo, se
genera el grafo RNF.
Por lo tanto, un mismo smbolo LEL puede estar
asociado a varios grafos RNF:
Segundo Paso: Generar Grafos RNF.
Smbolo X RNF1[Smbolo X]; RNF2 [Smbolo X]; ;
RNFn [Smbolo X];
De LEL a grafos RNFs
Los grafos se realizan ya que permiten una
visualizacin general de cada RNF, con sus
submetas y las dependencias entre ellas.
Utilizando solamente las fichas LEL, no sera
posible analizar dependencias y conflictos tal
como se realiza en los Grafos RNF.
Segundo Paso: Generar Grafos RNF.
(cont.)
En este paso es necesario observar las
posibles interdependencias (tanto positivas
como negativas) entre RNFs.
Por ejemplo: Un RNF que exprese alto nivel de
Seguridad, puede tener un impacto negativo
con el RNF Usabilidad.
Tercer Paso: Analizar Dependencias.
De LEL a grafos RNFs
8
Seguridad de la cuenta
Confidencialidad
Disponibilidad
Completitud
Precisin
Integridad
Necesidad de
autorizacin
Validar Acceso
Acceso de usuario
Autenticado
Identificar
Usuarios
Usar P.I.N Comparar Firma
Requerir Informacin
Adicional
+
Acceso amigable
al usuario
-
Tiempo de
Respuesta
-
Integracin de Vistas Funcional y No
Funcional
RNF Diagramas de clases, secuencia
y colaboracin.
...
TRAZABILIDAD [MUESTRA]
...
EST_1 DIN_1 DIN_2 EST_2
SIMBOLO
EST_1
EST_2
DIN_1()
DIN_2()
MUESTRA
Integracin de vistas
Para poder trabajar con RNFs a nivel de modelos
que expresan la visin funcional, se propone extender
los diagramas de clases, secuencia y colaboracin.
Estas extensiones facilitarn la representacin de los
impactos provenientes de los RNFs, su anlisis y su
rastreo en forma reversa hasta llegar a los grafos
RNF y el LEL.
Extensin del Diagrama de Clases
Muestra
Id_muestra
Tamao
NR_componente {Trazabilidad[Muestra]}
NR_ubicacion {Trazabilidad[Muestra]}
CrearMuestra()
EliminarMuestra()
RastrearMuestra {Trazabilidad[Muestra]}()
Operaciona
lizaciones
estticas del
grafo RNF
Trazabilidad
[Muestra]
Operacionalizacindinmicadel grafo RNF Trazabilidad [Muestra]
Extensin del Diagrama de Clases
Toda clase debe ser un smbolo del LEL.
Todos los tpicos de los RNFs tambin deben ser
smbolos del LEL (por ejemplo Trazabilidad de
Muestra) Esto facilita el hecho de saber qu
RNFs se aplican a una clase determinada.
Deben analizarse, una a una, todas las clases del
Diagrama de clases para saber si ellas deben
satisfacer algn RNF.
Una vez que se escoge una clase se buscan todos
los grafos RNF asociados a ella.
9
Extensin del Diagrama de Clases
Luego se evala si cada una de las
operacionalizaciones (tanto estticas como
dinmicas) del RNF son satisfechas por la clase
(atributos y operaciones).
Se debe tener en cuenta, en el caso de existencia
de herencia, si las operacionalizaciones no estn
ya declaradas en la clase padre.
Esto se repite hasta no encontrar ms grafos RNF
que contengan el smbolo del LEL que nombra a la
clase.
Extensin del Diagrama de Clases
Hay que notar que, muchas veces, los RNFs
terminan descomponindose en
operacionalizaciones dinmicas
(operaciones/mtodos) que representan a su vez
RF.
Por lo tanto, esta estrategia, sirve tambin como
verificacin de los RF.
Extensiones de los diagramas de
secuencia y colaboracin
La integracin de los RNFs a los diagramas de
secuencia y colaboracin apunta a incrementar los
mensajes eventuales entre clases, como as
tambin el agregado de condiciones especiales
para la ejecucin de los mensajes.
Extensin del Diagrama de Secuencia
:Administrador
LIS
:Listado
Muestras
: Muestra
1: ObtenerHist ori a(Id_muest ra)
2: BuscarMuestra(Id_Muestra)
3: GenerarHistoria(Id_Muestra)
4: RastrearMuestra()
{Trazabili dad
[Muestra]}
5: ImprimirHistoria(Id_muestra)
Extensin del Diagrama de Colaboracin
:Administra
dor LIS
: Listado
Muest ras
: Muestra
1: ObtenerHistoria(Id_muestra)
2: BuscarMuestra(Id_Muestra)
3: GenerarHist ori a(Id_Muestra)
4: RastrearMuestra()
5: ImprimirHistoria(Id_muestra)
{Trazabilidad
[ Muestra]}
CONCLUSIONES de la Tesis
Adems de proponer una estrategia para elicitar
y gestionar los RNFs desde el inicio del
proceso de desarrollo de software, se propone
la generacin de una visin no funcional de
modelado, la cual muestra el ciclo evolutivo de
los RNFs, tema poco abordado por la literatura
convencional.
10
Conclusiones
Hace falta proponer mtodos apropiados que
permitan detectar desde la interaccin con el
usuario, cules son los RNFs que debern estar
asociados a determinados smbolos al momento
del modelado.
La Tesis de Cisneyros es un avance en este
sentido
Apuntes Unidad V
Kotonya, G. andSommerville, I. Requirements
Engineering: ProcessesandTechniques. J ohn Wiley&
SonsEds. 1998.
Apunte 5.1 - Captulo 8 Non-Functional
Requirements
Hay, D.C. RequirementsAnalysis: FromBusiness Viewto
Architecture. Prentice Hall Eds. 2003.
Apunte 5.2 Captulo 2 IdentifyNon-Functional
Requirements