Documente Academic
Documente Profesional
Documente Cultură
INGENIERA DE
REQUISITOS
SESION 3
TU PEOR
PESADILLA!!!!
REQUERIMIENTOS O
REQUISITOS?
REQUERIMIENTOS O
REQUISITOS?
Qu es un Requisito?
Son declaraciones que
identifican atributos,
capacidades , caractersticas y/o
cualidades que necesita cumplir
un sistema para que tenga
valor y utilidad para el usuario .
En otras palabras, los requisitos
muestran qu elementos y
funciones son necesarias para
un proyecto.
Gerentes
Ingenieros de sistemas
Ingenieros de prueba de
sistemas
Ing. de mantenimiento
de sistemas
IEEE/ANSI 830-1998:
Standard for Software Requirements Specification
1.Introduccin
1.1.Propsito del documento de requisitos
1.2.Alcance del proyecto
1.3.Definiciones, acrnimos y abreviaturas
1.4.Resumen del resto del documento
2.Descripcin General
2.1.Perspectiva del producto
2.2.Funciones del producto
2.3.Caractersticas de los usuarios
2.4.Limitaciones generales
2.5.Suposiciones y dependencias
3.Requisitos Especficos
3.1.Requisitos funcionales, no funcionales
4.Apndices
5.ndice
Definiciones
Requisito:
Propiedad que debe ser exhibida por un software para
resolver un problema particular (SWEBOK).
Condicin o capacidad que necesita el usuario para
resolver un problema o conseguir un objetivo
determinado.
Especificacin de Requisitos Software (ERS,
SRS): Documento formal de los Requisitos del
Sistema
SRS Software Requirements Specification
Definicione
s
Ingeniera de Requisitos:
Conjunto de actividades para descubrir, documentar y
mantener un conjunto de requisitos
Establecer los servicios que el cliente requiere de un
sistema y las restricciones bajo las cuales opera y es
desarrollado.
Proceso de Ingeniera de Requisitos:
Conjunto estructurado de actividades de cuya
ejecucin se obtiene, valida y mantiene el documento
de requisitos del sistema
Gestin de Requisitos:
Actividad para gestionar los cambios en los
requisitos de un sistema.
Qu es un requisito?
Un requisito podra describir:
Una facilidad a nivel usuario
Stakeholder:
Entidad que ser afectada por el
sistema y que tienen una influencia
directa
o
indirecta
sobre
los
requisitos del sistema.
Usuarios finales del sistema
Gerentes
involucrados
en
los
procesos
organizacionales
influenciados
o
que
influencian al sistema
Ingenieros responsables por el desarrollo y
mantenimiento del sistema,
Clientes de la organizacin
Cuerpos externos tales como autoridades
reguladoras o de certificacin.
.
STAKEHOLDERS
Posibles stakeholders de un sistema
automatizado de sealizacin ferroviaria:
Los Operadores responsables de ejecutar el
sistema de sealizacin
Tripulacin del tren
Gerentes ferroviarios
Pasajeros
Ingenieros de instalacin y mantenimiento de
equipos
Autoridades de certificacin de seguridad
Documentos de
Requerimientos
Existen dos documentos
que
emanan
del
anlisis de requerimientos:
Definicin de requerimientos
Es un documento que debe escribirse en
trminos que el cliente pueda entender. Es
decir, este documento es un listado completo
de todas las cosas que el cliente espera
que haga el sistema propuesto.
Este documento es escrito en forma conjunta
por el cliente y el desarrollador.
Documentos de
Especificacin de requerimientos
Requerimientos
Documento que reitera la definicin de los
requerimientos en los trminos tcnicos
apropiados para el desarrollador del diseo
de un sistema.
Es la contrapartida tcnica al documento de
definicin de requerimientos y es escrito por los
analistas de requerimientos.
A veces un nico documento puede servir para
ambos propsitos, lo que lleva a un entendimiento
comn entre clientes, analistas de requerimientos
y diseadores.
Pero a menudo se necesitan ambos documentos.
Documentos de
Requerimientos
Es muy importante, que
al usar ambos
documentos
exista
una
correspondencia directa entre cada
requerimiento
del documento de
definicin y aquellos documentos en
la especificacin.
Esto para que la visin del cliente este
unida a la de los desarrolladores (esto se
logra
gracias
a
la
gestin
de
configuracin).
Clasificacin de
Requerimientos
Segn el Tipo los requerimientos se clasifican en:
Requerimientos funcionales.
Requerimientos no funcionales.
Requerimientos del Dominio.
Segn a quien van dirigidos se clasifican en:
Requerimientos del Usuario.
Requerimientos del Sistema.
Clasificacin de
Requerimientos
Requerimientos funcionales
Describen la funcionalidad o los servicios que se
espera que el sistema proveer. Dependen del
tipo de software, del sistema que se desarrollo y
de los posibles usuarios.
Cuando se expresan como Requerimientos del
usuarios, se definen de forma general.
Cuando se expresan como requerimiento del
sistema describen con detalle la funcin de
ste, sus entradas y salidas, excepciones,
etc.
Clasificacin de
Requerimientos
Requerimientos no funcionales
Son los requerimientos que no se refieren
directamente a las funciones especficas que
entrega el sistema, sino a las propiedades emergentes
de ste, como la fiabilidad, la respuesta en el tiempo y la
capacidad de almacenamiento.
Muchos requerimientos no funcionales se refieren al
sistema como un todo ms que a rasgos particulares del
mismo.
A menudo son mas crticos que los funcionales.
Mientras
que
un
incumplimiento
de
un
requerimiento funcional degrada el sistema, el de
un requerimiento no funcional del sistema lo
Clasificacin de
Requerimientos no funcionales
Requerimientos
Los requerimientos no funcionales se clasifican segn su
implicancia:
Del producto: especifican comportamiento del
producto. Ej.:
de desempeo en la rapidez de
ejecucin del sistema, cuanta memoria se requiere; los
de fiabilidad que fijan la tasa de fallas para el sistema
sea aceptable, los de portabilidad y de usabilidad.
Organizacionales: se derivan de las polticas y
procedimientos existentes en la organizacin del cliente
y del desarrollador. Ej.: estndares en los procesos que
deben utilizarse, requerimientos de implementacin
como los lenguajes de programacin o el mtodo de
diseo a utilizar.
Clasificacin de
Requerimientos no funcionales
Requerimientos
Externos: cubre todos los requerimientos que se derivan
de los factores externos al sistema y de su proceso de
desarrollo.
Ej.:
requerimientos
de
interoperabilidad,
requerimientos legales, requerimientos ticos.
Un problema comn con los requerimientos no funcionales
es que algunas veces son difciles de verificar.
De forma ideal los requerimientos no funcionales se deben
expresar de manera cuantitativa utilizando mtricas que se
puedan probar de forma objetiva. En la prctica, es difcil. El
costo es muy alto.
Clasificacin de
Requerimientos del dominio
Requerimientos
Se derivan del dominio del sistema ms que
de las necesidades especificas del usuario.
Son importantes debido a que a menudo reflejan
los fundamentos del dominio de la aplicacin. Si
estos no se satisfacen es imposible que el
sistema trabaje de forma satisfactoria.
Estos se expresan utilizando un lenguaje especifico
del dominio de la aplicacin que a menudo es difcil
de comprender. Ej.: operacin para calcular
desaceleracin del tren, para un sistema de
control de trenes.
Fuentes de
Requerimientos
Modelo del Dominio
Deseos y necesidad
Modelo de la
situacin actual
De los interesados
Organizacin y
sistemas actuales
Requerimientos
Requerimientos
Reutilizables
Biblioteca de
Reutilizacin
Documentos
existentes
Tipo de
Requerimientos
recomendados
Plantilla de
Requerimientos
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
Problemas Comunes:
No saben lo que quieren del sistema , slo en
trminos generales, no conocen el costo de sus
peticiones.
Los requerimientos estn en sus trminos y con
conocimientos implcitos de su propio trabajo.
Distintos usuarios tienen distintos requerimientos,
se deben encontrar todas las fuentes.
Influyen factores polticos.
La importancia de los requerimientos varia en el
tiempo.
Comprensin
Comprensin
del
del dominio
dominio
Verificacin
Verificacin
de
de Requerimientos
Requerimientos
Recoleccin
Recoleccin de
de
Requerimientos
Requerimientos
Priorizacin
Priorizacin
Clasificacin
Clasificacin
Resolucin
Resolucin de
de
Conflictos
Conflictos
Fases:
1.
2.
3.
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
(Verificar
correctitud,
consistencia,
Se
especifican
entidades
y
sus
atributos,
los
requerimientos se pueden ver como las relaciones entre
las entidades.
Descripciones Dinmicas
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
entre
la
especificacin
el
(incluye:
tecnologa,
Propiedad
Medida
Rapidez
Tamao
KB.
Fiabilidad
Robustez
Portabilidad
Nmero de sistemas.
Facilidad de uso
Tiempo de capacitacin.
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
Tcnicas para
describir un
sistema entorno a
estados y
estmulos.
Importe
1000
V>
= Condicin
Condicion
es
Acciones
V = Condicin
Verdadera
Buenos Antecedentes
Verdadera
Ya oper antes
=condicin
condicinno
no
--=
Autorizar importa
Crdito
importa
Analizar antecedentes
X
X
INICIO
Solicitud de plaza
Acciones
ninguna
Solicitada
Plaza disponible
Confirmada
En Lista de Espera
El cliente cancela
Incrementar cuenta de plazas
El cliente ocupa
El cliente desiste
Retirar de la lista
ninguna
Ocupada
Cancelada
Descripcin dinmica
Proviene de Metodologa de Anlisis y Diseo Estructurado
fin de la dcada del 70.
Usados en versin original de OMT (Rumbaugh 91), no
incorporados a UML.
Antes de los Casos de Uso era una de las formas ms usadas
para describir un sistema.
Elementos
Proceso del sistema que recibe datos y genera otros.
Archivo de datos.
Flujo de Datos.
Entidad Externa al sistema a modelar (actor)
Archivo
Datos que entran
Proceso
Historia Clnica
Experiencia y
conocimiento
Registro Contable
Lista de exmenes y
servicios brindados
Examen
Mdico
Sntomas
Contabilidad
Medicacin y
Diagnostico
Factura
Paciente
Paciente
fluye
Ejemplo:
Casode
deUso
UsoEscenario
EscenarioVariable
Variable
Caso
<<extends>>
<<extends>>
Actor:
Actor:
Entidad Externa
Externa que
que interacta
interacta con
con elel
Entidad
sistema (persona
(persona identificada
identificada por
por un
un
sistema
roloosistema
sistemaexterno).
externo).<<extend>>
rol
Caso de
de Uso
Uso
Caso
<<include>>
Retiro de Monedas
<<include>>
Reutilizable
Reutilizable
<<include>>
Retiro
Cliente
<<include>>
Depsito
<<include>>
Casode
deUso:
Uso:
Caso
Conjunto de
de escenarios
escenarios posibles
posibles que
que
Conjunto
Generalizacin
Generalizacin
puede encarar
encarar un actor (o varios) con
puede
Validar
Cliente un actor (o varios) con
sistema para
para elel logro
logro de
de cierto
cierto
elel sistema
objetivo.
objetivo.
Transferencia
Otra tcnica
funcionales.
para
los
requerimientos
no
Actividad
es
Estudio
Estudio de
de
factibilidad
factibilidad
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
Balancear
Ti
s
em
o
s
r
po
u
c
Re
Calidad
Alcance
Necesidades
Expectativas
Restriccion
es
Proces
o
Investigar antecedentes.
Entrevistas individuales/grupales.
Encuestas/Cuestionarios.
Tormenta de ideas.
Casos de Uso.
Prototipado.
Ventajas
Ahorra tiempo de otros.
Prepara para otros enfoques.
Puede llevarse a cabo fuera
de la organizacin.
Desventajas
Perspectiva limitada.
Desactualizado.
Demasiado genrico.
Ventajas
Orientacin a las personas.
Interactivo / Flexible.
Rico.
Desventajas
Costoso.
Depende de las habilidades
interpersonales.
Ventajas
Conveniente
para
contesta.
Respuestas annimas.
Desventajas
quien
Menos Rico.
Problemas
por
no
Respuestas.
Esfuerzo de desarrollo.
Usarlo
Cuando el sistema est
orientado a la funcionalidad,
con varios tipos de usuarios.
Cuando la implementacin
se va a hacer OO y con UML.
Actividad
es
Estudio
Estudio de
de
factibilidad
factibilidad
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requerimientos
Requerimientos
Especificacin
Especificacin
de
de
Requerimientos
Requerimientos
Validacin
Validacin
de
de
Requerimientos
Requerimientos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requerimient
os
Modelo del
Sistema
Especificacin
de
Requerimiento
s
Participan representantes
Incluye:
Evaluar riesgos.
Considerar:
o Pruebas del sistema.
o
Medicin de Requerimientos
La medicin de requerimientos est enfoca a tres reas: Producto,
Proceso y Recursos.
Los productos de los requerimientos (definicin y especificacin)
pueden ser evaluados en primer lugar considerando el nmero de
requerimientos.
De manera similar se puede medir la cantidad de cambios
introducidos a los requerimientos. Un gran nmero de cambios
indica cierta inestabilidad o incertidumbre en la comprensin de lo
que el sistema debe hacer o como comportarse.
Tambin es bueno evaluar la incertidumbre por tipo de
requerimiento. Esto permite seccionar.
Medicin de Requerimientos
Debido a que los requerimientos son utilizados por los
diseadores y verificadores, pueden utilizarse medidas que
reflejen cuando los requerimientos estn preparados para
derivar a ellos.
Existe un forma de evaluacin utilizada para verificadores y
diseadores, donde califican los requerimientos en una
escala de 1 a 5 para saber si estos estn listos.
La escala es la siguiente:
1. Lo comprende por completo, ha diseado (verificado)
requerimiento similar antes y no debera tener problema.
2. El requerimiento posee algn elemento que le resulta nuevo,
pero no es radicalmente distinto de lo que ha diseado (verificado)
con xito antes.
Medicin de Requerimientos
3. Hay elementos nuevos que lo hacen muy diferente de los que ha
diseado (verificado) antes, pero los comprende y piensa que a
partir de ellos puede desarrollar un buen diseo (prueba).
4. Hay partes del requerimiento que no entiende bien y no est
seguro de poder desarrollar un buen diseo (prueba).
5. No comprende este requerimiento en absoluto y no puede
desarrollar un diseo (prueba) para l.
Diseadores
OK
A
1
B
1
Caractersticas
Los requisitos de un software suelen ser una
combinacin compleja de los requisitos de diferentes
personas en diferentes niveles de una organizacin y
del entorno en el cual operar el software.
Es fundamental que un requisito sea verificable.
Otros atributos que les caracterizan son:
Prioridad
Identificador nico.
Dificultades
Posibles Problemas con los Requisitos:
o No reflejan las necesidades reales del
cliente
o Son inconsistentes y/o incompletos
o Es costoso realizar cambios sobre los
requisitos una vez que han sido
acordados
o Puede haber malentendidos entre
clientes, analistas, ingenieros software,
Dificultade
s
Es frecuente que no est clara la frontera entre
Requisitos y Diseo.
En principio, los requisitos indican lo que el sistema
debe hacer y el diseo describe cmo lo hace.
En la prctica, ambas etapas son inseparables
porque:
o La arquitectura del sistema puede ser diseada para
estructurar los requisitos.
o El sistema interacciona con otros sistemas que generan
requisitos de diseo del software.
o El uso de un diseo especfico puede ser un requisito de
dominio.
Principios de la ingeniera de
requisitos
Hacer que los requisitos alcancen un estado ptimo
antes de alcanzar la fase de diseo en el proyecto
Lo buenos requisitos deben ser medibles,
comprobables, sin ambigedades o contradicciones,
etc.
Ejercicio
Definir 10 requerimientos necesarios
para el desarrollo del problema
planteado.
Personal involucrado
Los roles pueden clasificarse de la siguiente manera:
Personal Involucrado
Usuario Final. Es la persona que usar el sistema
desarrollado. Ser quien utilice, disponga y se
encuentre familiarizado con los procesos que debe
realizar el software; as tambin, es el que utiliza las
interfaces y los manuales de usuario.
Usuario Lder. Es el individuo que comprende el
ambiente del sistema o el dominio del problema en
donde ser empleado el software desarrollado.
Personal de Mantenimiento. Para proyectos que
requieran un mantenimiento eventual, stas
personas son las responsables de la administracin
de cambios, de la implementacin y resolucin de
anomalas. Su trabajo consiste en revisar y mejorar
Personal Involucrado
Ejercicio
Mostrar una tabla con la cantidad de personal
requerido para el desarrollo y solucin del problema
planteado.
Tipo de personal
Cantidad
Justificacin
ACTIVIDADES DE LA INGENIERA DE
REQUERIMIENTOS
A pesar de las diferentes interpretaciones que cada
desarrollador tenga sobre el conjunto de actividades
mostradas en la tabla anterior, podemos identificar y extraer
cinco actividades principales que son:
PARA PROYECTO
Redactar el problema planteado.
Elaborar el vocabulario comn.
Identificar los afectados del sistema.
Definir los lmites y restricciones del problema a
solucionar.
2. EVALUACIN Y NEGOCIACIN DE
REQUERIMIENTOS
Las principales actividades son:
Descubrir problemas potenciales.
Clasificar los requerimientos (Prioridad de cada requerimiento
depender de las necesidades que tenga el negocio)
Busca identificar la importancia que tiene un requerimiento en
trminos de implementacin.
Mandatario
Deseable (se necesitan pero no son indispensables)
Innecesario
Una vez hecha esta categorizacin de los requerimientos, puedo tomar
como estrategia general el incluir los mandatorios, discutir los
deseables y descartar los innecesarios. Antes de decidir la inclusin de
un requerimiento, tambin debe analizarse su costo, complejidad, y
una cantidad de otros factores.
EJERCICIO.
Entregar documento en donde se enlisten los
requerimientos del sistema planteando los puntos
vistos anteriormente, dicho documento ser la
carta de presentacin de los equipos.
Exponer ante los compaeros los requerimientos
fundamentales para llevar a buen trmino la
solucin del problema a plantear. (tiempo de
exposicin max. 10 minutos)
3. ESPECIFICACIN DE REQUERIMIENTOS
DE SOFTWARE.
Es la actividad en que se genera el documento y
contiene una descripcin completa de las
necesidades y funcionalidades del sistema, que
ser desarrollado; describe el alcance del sistema
y la forma como har sus funciones, definiendo
los requerimientos.
En la especificacin se definen: