SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
Diseño de bases de datos
Diseño de bases de datos
©
berzal@acm.org
Documento de especificación del sistema
Documento de especificación del sistema
1.
1. Definición del problema
Definición del problema
2.
2. Descripción funcional
Descripción funcional
2.
2. Descripción funcional
Descripción funcional
3.
3. Restricciones
Restricciones
4.
4. Diagramas de flujo de datos
Diagramas de flujo de datos
5.
5. Modelo de
Modelo de datos
datos
6.
6. Diccionario de datos
Diccionario de datos
7.
7. Casos de uso
Casos de uso
8.
8. Documentos adicionales
Documentos adicionales
1
1
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos

 Requerimientos
Requerimientos

 Definición
Definición

 Requerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionales

 Especificación de requisitos en lenguaje natural
Especificación de requisitos en lenguaje natural

 Casos de uso
Casos de uso

 Documento de especificación del sistema
Documento de especificación del sistema
2
2
©
berzal@acm.org
Los requerimientos/requisitos de un sistema
Los requerimientos/requisitos de un sistema
describen los servicios que ha de ofrecer el sistema
describen los servicios que ha de ofrecer el sistema
y las restricciones asociadas a su funcionamiento.
y las restricciones asociadas a su funcionamiento.
Requerimientos
Requerimientos
Requerimientos:
Requerimientos:
Propiedades o restricciones
Propiedades o restricciones
determinadas de forma precisa
determinadas de forma precisa
que deben satisfacerse.
que deben satisfacerse.
3
3
©
berzal@acm.org
Requerimientos
Requerimientos
funcionales y no funcionales
funcionales y no funcionales
Requerimientos funcionales:
Requerimientos funcionales:
Expresan la naturaleza del funcionamiento del sistema
Expresan la naturaleza del funcionamiento del sistema
(cómo interacciona el sistema con su entorno y cuáles
(cómo interacciona el sistema con su entorno y cuáles
(cómo interacciona el sistema con su entorno y cuáles
(cómo interacciona el sistema con su entorno y cuáles
van a ser su estado y funcionamiento).
van a ser su estado y funcionamiento).
N
NOTA
OTA: A veces, también es conveniente
: A veces, también es conveniente
indicar lo que
indicar lo que no
no hará el sistema.
hará el sistema.
4
4
©
berzal@acm.org
Requerimientos
Requerimientos
funcionales y no funcionales
funcionales y no funcionales
Requerimientos no funcionales:
Requerimientos no funcionales:
Restricciones sobre el espacio de posibles soluciones.
Restricciones sobre el espacio de posibles soluciones.

 Rendimiento del sistema:
Rendimiento del sistema:
Fiabilidad, tiempo de respuesta, disponibilidad…
Fiabilidad, tiempo de respuesta, disponibilidad…

 Interfaces:
Interfaces:
Dispositivos de E/S, usabilidad, interoperabilidad…
Dispositivos de E/S, usabilidad, interoperabilidad…

 Proceso de desarrollo:
Proceso de desarrollo:
Estándares, herramientas, plazo de entrega…
Estándares, herramientas, plazo de entrega…
5
5
©
berzal@acm.org
Requerimientos
Requerimientos
funcionales y no funcionales
funcionales y no funcionales
Los requisitos funcionales definen
Los requisitos funcionales definen
qué debe
qué debe hacer un sistema.
hacer un sistema.
Los requisitos no funcionales definen
Los requisitos no funcionales definen
cómo debe
cómo debe ser el sistema.
ser el sistema.
6
6
©
berzal@acm.org
Requerimientos
Requerimientos
funcionales y no funcionales
funcionales y no funcionales
A los requisitos no funcionales se les suele llamar
A los requisitos no funcionales se les suele llamar
coloquialmente “cualidades” del sistema [“
coloquialmente “cualidades” del sistema [“-
-ilities
ilities” en
” en
inglés”] y
inglés”] y pueden
pueden dividirse
dividirse en dos
en dos categorías
categorías:
:

 Cualidades
Cualidades de
de ejecución
ejecución,
,

 Cualidades
Cualidades de
de ejecución
ejecución,
,
como
como la
la seguridad
seguridad o la
o la usabilidad
usabilidad,
,
observables en
observables en tiempo
tiempo de
de ejecución
ejecución.
.

 Cualidades
Cualidades de
de evolución
evolución,
,
como
como la “
la “testabilidad
testabilidad”,
”, mantenibilidad
mantenibilidad,
, extensibilidad
extensibilidad o
o
escalabilidad
escalabilidad,
, determinadas
determinadas por
por la
la estructura
estructura estática
estática
del software.
del software.
7
7
©
berzal@acm.org
Requerimientos
Requerimientos
funcionales y no funcionales
funcionales y no funcionales
La distinción entre requerimientos funcionales y no
La distinción entre requerimientos funcionales y no
funcionales no siempre resulta evidente.
funcionales no siempre resulta evidente.
Ejemplo: La seguridad puede interpretarse inicialmente
Ejemplo: La seguridad puede interpretarse inicialmente
como un requerimiento no funcional al principio. No
como un requerimiento no funcional al principio. No
como un requerimiento no funcional al principio. No
como un requerimiento no funcional al principio. No
obstante, su elaboración puede conducir a nuevos
obstante, su elaboración puede conducir a nuevos
requerimientos funcionales, como la necesidad de
requerimientos funcionales, como la necesidad de
autentificar a los usuarios del sistema.
autentificar a los usuarios del sistema.
Más allá de si decidimos incluir este tipo de requisitos
Más allá de si decidimos incluir este tipo de requisitos
en una sección u otra, lo importante es identificarlos
en una sección u otra, lo importante es identificarlos
correctamente.
correctamente.
8
8
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
Los requerimientos…
Los requerimientos…

 se suelen especificar en lenguaje natural,
se suelen especificar en lenguaje natural,

 se expresan de forma individual
se expresan de forma individual

 se expresan de forma individual
se expresan de forma individual
(p.ej. esquemáticamente),
(p.ej. esquemáticamente),

 se organizan de forma jerárquica
se organizan de forma jerárquica
(a distintos niveles de detalle),
(a distintos niveles de detalle),

 a menudo, se numeran
a menudo, se numeran
(para facilitar su gestión),
(para facilitar su gestión),
9
9
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
Los requerimientos han de ser…
Los requerimientos han de ser…

 claros y concretos
claros y concretos
(evitando imprecisiones y ambigüedades)
(evitando imprecisiones y ambigüedades)
(evitando imprecisiones y ambigüedades)
(evitando imprecisiones y ambigüedades)
p.ej. Uso de puntos suspensivos, etcétera…
p.ej. Uso de puntos suspensivos, etcétera…

 concisos
concisos
(sin rodeos ni figuras retóricas),
(sin rodeos ni figuras retóricas),

 completos y consistentes
completos y consistentes,
,
10
10
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
Los requerimientos han de indicar…
Los requerimientos han de indicar…

 lo que se espera que haga el sistema (¿qué?),
lo que se espera que haga el sistema (¿qué?),

 su
su justificación
justificación
(¿por qué ha de ser así? ¿quién lo propuso?) y,
(¿por qué ha de ser así? ¿quién lo propuso?) y,

 en su caso, los
en su caso, los criterios de aceptación
criterios de aceptación que sean
que sean
aplicables (¿cómo se verifica su cumplimiento?).
aplicables (¿cómo se verifica su cumplimiento?).
11
11
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
Los
Los requerimientos funcionales
requerimientos funcionales…
…

 deben estar redactados de tal forma que sean
deben estar redactados de tal forma que sean
comprensibles para usuarios sin conocimientos
comprensibles para usuarios sin conocimientos
técnicos avanzados (de Informática, se entiende),
técnicos avanzados (de Informática, se entiende),
técnicos avanzados (de Informática, se entiende),
técnicos avanzados (de Informática, se entiende),

 deben especificar el comportamiento externo del
deben especificar el comportamiento externo del
sistema y evitar, en la medida de lo posible, establecer
sistema y evitar, en la medida de lo posible, establecer
características de su diseño,
características de su diseño,

 deben priorizarse (al menos, se ha de distinguir entre
deben priorizarse (al menos, se ha de distinguir entre
requisitos obligatorios y requisitos deseables).
requisitos obligatorios y requisitos deseables).
12
12
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
Los
Los requerimientos no funcionales
requerimientos no funcionales…
…

 han de especificarse cuantitativamente,
han de especificarse cuantitativamente,
siempre que sea posible
siempre que sea posible
siempre que sea posible
siempre que sea posible
(para que se pueda verificar su cumplimiento).
(para que se pueda verificar su cumplimiento).
13
13
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
MAL
MAL
Para facilitar el uso del editor gráfico, se podrá activar
Para facilitar el uso del editor gráfico, se podrá activar
y desactivar una rejilla que permitirá alinear las figuras
y desactivar una rejilla que permitirá alinear las figuras
del diagrama. Cuando se ajuste la figura al tamaño de
del diagrama. Cuando se ajuste la figura al tamaño de
del diagrama. Cuando se ajuste la figura al tamaño de
del diagrama. Cuando se ajuste la figura al tamaño de
la pantalla, se reducirá el número de líneas de la rejilla
la pantalla, se reducirá el número de líneas de la rejilla
para que no se dificulte la visualización del diagrama.
para que no se dificulte la visualización del diagrama.
¿Por qué?
¿Por qué?
Amalgama de varios requisitos.
Amalgama de varios requisitos.
14
14
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
BIEN
BIEN
El editor permitirá el uso de una rejilla de líneas
El editor permitirá el uso de una rejilla de líneas
horizontales y verticales que aparecerán dibujadas
horizontales y verticales que aparecerán dibujadas
tras el diagrama.
tras el diagrama.
tras el diagrama.
tras el diagrama.
Justificación
Justificación: La rejilla facilita la creación de diagramas
: La rejilla facilita la creación de diagramas
cuidados en los que las figuras se puedan alinear con facilidad
cuidados en los que las figuras se puedan alinear con facilidad
(
(Manual Práctico de Usabilidad
Manual Práctico de Usabilidad, sección 15.3).
, sección 15.3).
¿Por qué?
¿Por qué?
Preciso, conciso y justificado correctamente.
Preciso, conciso y justificado correctamente.
15
15
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
MAL
MAL

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

 El sistema proporcionará una respuesta rápida al
El sistema proporcionará una respuesta rápida al

 El sistema proporcionará una respuesta rápida al
El sistema proporcionará una respuesta rápida al
usuario.
usuario.

 El sistema se recuperará automáticamente tras
El sistema se recuperará automáticamente tras
producirse un fallo.
producirse un fallo.
¿Por qué?
¿Por qué?
Objetivos generales, vagos
Objetivos generales, vagos
y abiertos a distintas interpretaciones.
y abiertos a distintas interpretaciones. 16
16
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
BIEN
BIEN

 Un usuario experimentado debe ser capaz de utilizar
Un usuario experimentado debe ser capaz de utilizar
todas las funciones del sistema tras un entrenamiento
todas las funciones del sistema tras un entrenamiento
todas las funciones del sistema tras un entrenamiento
todas las funciones del sistema tras un entrenamiento
de 2 horas, tras el cual no cometerá más de 3 errores
de 2 horas, tras el cual no cometerá más de 3 errores
diarios en media.
diarios en media.

 Cuando haya hasta 100 usuarios accediendo
Cuando haya hasta 100 usuarios accediendo
simultáneamente al sistema, su tiempo de respuesta
simultáneamente al sistema, su tiempo de respuesta
no será en ningún momento superior a 2 segundos.
no será en ningún momento superior a 2 segundos.
17
17
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
BIEN
BIEN

 Ante un fallo en el software del sistema, no se tardará
Ante un fallo en el software del sistema, no se tardará
más de 5 minutos en restaurar los datos del sistema
más de 5 minutos en restaurar los datos del sistema
más de 5 minutos en restaurar los datos del sistema
más de 5 minutos en restaurar los datos del sistema
(en un estado válido) y volver a poner en marcha el
(en un estado válido) y volver a poner en marcha el
sistema.
sistema.
¿Por qué?
¿Por qué?
Requisitos verificables.
Requisitos verificables.
18
18
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
P
PROBLEMAS
ROBLEMAS H
HABITUALES
ABITUALES:
:

 La existencia de un requerimiento
La existencia de un requerimiento
ha de estar debidamente justificada
ha de estar debidamente justificada
ha de estar debidamente justificada
ha de estar debidamente justificada
(debemos saber por qué es un requisito del sistema).
(debemos saber por qué es un requisito del sistema).

 Un requerimiento es, a veces, difícil de verificar
Un requerimiento es, a veces, difícil de verificar
(especialmente, si es un requisito no funcional).
(especialmente, si es un requisito no funcional).
Además, si somos incapaces de especificarlo,
Además, si somos incapaces de especificarlo,
¿cómo sabemos que realmente es un requisito?
¿cómo sabemos que realmente es un requisito?
19
19
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
E
EJEMPLO
JEMPLO: R
: REQUERIMIENTOS
EQUERIMIENTOS FUNCIONALES
FUNCIONALES
Matriculación
Matriculación

 La matrícula será realizada de forma interactiva. Se le preguntará al alumno cuál
La matrícula será realizada de forma interactiva. Se le preguntará al alumno cuál
es el plan de estudios en que desea matricularse (pueden ser varios).
es el plan de estudios en que desea matricularse (pueden ser varios).

 Se podrá generar una copia impresa de la matrícula (sin valor oficial) en el
Se podrá generar una copia impresa de la matrícula (sin valor oficial) en el
ordenador desde donde se realice el proceso de matriculación.
ordenador desde donde se realice el proceso de matriculación.

 Se podrá generar el impreso de pago debidamente cumplimentado.
Se podrá generar el impreso de pago debidamente cumplimentado.

 Se podrá generar el impreso de pago debidamente cumplimentado.
Se podrá generar el impreso de pago debidamente cumplimentado.

 Para la matriculación se consultarán los datos del expediente y se realizarán las
Para la matriculación se consultarán los datos del expediente y se realizarán las
validaciones necesarias, descritas a continuación…
validaciones necesarias, descritas a continuación…

 Pago de matrícula:
Pago de matrícula:

 La aplicación generará un impreso para que el alumno realice el pago
La aplicación generará un impreso para que el alumno realice el pago
correspondiente a la matrícula en 1 ó 2 plazos (según las fechas
correspondiente a la matrícula en 1 ó 2 plazos (según las fechas
establecidas).
establecidas).

 Si el alumno tiene matrículas de honor de cursos anteriores o disfruta de
Si el alumno tiene matrículas de honor de cursos anteriores o disfruta de
algún tipo de beca, la aplicación deberá calcular automáticamente los
algún tipo de beca, la aplicación deberá calcular automáticamente los
descuentos correspondientes…
descuentos correspondientes…
20
20
Organizados jerárquicamente
y desglosados en requisitos individuales
©
berzal@acm.org
Especificación de requerimientos
Especificación de requerimientos
en lenguaje natural
en lenguaje natural
E
EJEMPLO
JEMPLO: R
: REQUERIMIENTOS
EQUERIMIENTOS NO
NO FUNCIONALES
FUNCIONALES
Interfaces
Interfaces

 Hardware:
Hardware: El sistema se debe implementar sobre la infraestructura existente en
El sistema se debe implementar sobre la infraestructura existente en
las aulas de prácticas de la E.T.S. Ingeniería Informática.
las aulas de prácticas de la E.T.S. Ingeniería Informática.

 Software:
Software:

 No existe posibilidad de adquirir licencias de software.
No existe posibilidad de adquirir licencias de software.

 La aplicación deberá funcionar sobre Oracle.
La aplicación deberá funcionar sobre Oracle.
21
21
©
berzal@acm.org
Casos de uso
Casos de uso
Los casos de uso…
Los casos de uso…

 Describen el modo en que un actor interactúa con el
Describen el modo en que un actor interactúa con el
sistema (descripción de un rol en lenguaje natural).
sistema (descripción de un rol en lenguaje natural).
sistema (descripción de un rol en lenguaje natural).
sistema (descripción de un rol en lenguaje natural).

 Narran el comportamiento dinámico del sistema desde
Narran el comportamiento dinámico del sistema desde
un punto de vista concreto (el del actor).
un punto de vista concreto (el del actor).

 Pueden expresar tanto requerimientos funcionales
Pueden expresar tanto requerimientos funcionales
como no funcionales.
como no funcionales.
22
22
©
berzal@acm.org
Casos de uso
Casos de uso
Los casos de uso…
Los casos de uso…

 Son muy útiles para explicar el funcionamiento del
Son muy útiles para explicar el funcionamiento del
sistema, priorizar requerimientos cuando el sistema se
sistema, priorizar requerimientos cuando el sistema se
sistema, priorizar requerimientos cuando el sistema se
sistema, priorizar requerimientos cuando el sistema se
desarrolla de forma incremental, elaborar manuales de
desarrolla de forma incremental, elaborar manuales de
usuario y especificar pruebas de aceptación.
usuario y especificar pruebas de aceptación.

 Mejoran la trazabilidad de los requerimientos durante
Mejoran la trazabilidad de los requerimientos durante
el proceso de desarrollo de software.
el proceso de desarrollo de software.

 Se pueden desarrollar en paralelo con los
Se pueden desarrollar en paralelo con los
requerimientos del sistema de forma iterativa.
requerimientos del sistema de forma iterativa. 23
23
©
berzal@acm.org
Casos de uso
Casos de uso
Dependiendo de la situación, los casos de uso se
Dependiendo de la situación, los casos de uso se
pueden especificar con distinto grado de detalle:
pueden especificar con distinto grado de detalle:

 Especificación textual
Especificación textual de un caso de uso
de un caso de uso

 Especificación textual
Especificación textual de un caso de uso
de un caso de uso
(enumeración de pasos del caso de uso).
(enumeración de pasos del caso de uso).

 Especificación “esencial”
Especificación “esencial” de un caso de uso
de un caso de uso
(eliminando todos los detalles no estrictamente necesarios).
(eliminando todos los detalles no estrictamente necesarios).

 Especificación detallada
Especificación detallada de un caso de uso
de un caso de uso
(utilizando una plantilla para no olvidarnos de nada).
(utilizando una plantilla para no olvidarnos de nada).
24
24
©
berzal@acm.org
Casos de uso
Casos de uso
Especificación textual de un caso de uso (1/2)
Especificación textual de un caso de uso (1/2)

 El profesor ejecuta el programa de consulta de estadísticas.
El profesor ejecuta el programa de consulta de estadísticas.
Actor Profesor
Rol Consultar estadísticas

 El profesor ejecuta el programa de consulta de estadísticas.
El profesor ejecuta el programa de consulta de estadísticas.

 Se le pide su identificativo (
Se le pide su identificativo (login
login) y palabra clave de acceso
) y palabra clave de acceso
(
(password
password).
).

 El sistema verifica la identificación del usuario.
El sistema verifica la identificación del usuario.

 Si la identificación es positiva, se presenta una lista con las
Si la identificación es positiva, se presenta una lista con las
estadísticas disponibles:
estadísticas disponibles:

 Nº de alumnos y porcentaje de repetidores de sus
Nº de alumnos y porcentaje de repetidores de sus
asignaturas.
asignaturas.

 Clasificación de alumnos por nota en cada asignatura.
Clasificación de alumnos por nota en cada asignatura.
25
25
©
berzal@acm.org
Casos de uso
Casos de uso
Especificación textual de un caso de uso (2/2)
Especificación textual de un caso de uso (2/2)
…
…
Actor Profesor
Rol Consultar estadísticas
…
…

 Una vez que el profesor ha seleccionado una de las estadísticas,
Una vez que el profesor ha seleccionado una de las estadísticas,
el programa presenta los datos correspondientes a la misma,
el programa presenta los datos correspondientes a la misma,
agrupando la información por asignaturas y, al final, para todas
agrupando la información por asignaturas y, al final, para todas
sus asignaturas en conjunto.
sus asignaturas en conjunto.

 Al profesor se le da la opción de imprimir la estadística.
Al profesor se le da la opción de imprimir la estadística.

 Cuando el profesor termina de ver la estadística, se presenta de
Cuando el profesor termina de ver la estadística, se presenta de
nuevo la lista de estadísticas disponibles.
nuevo la lista de estadísticas disponibles.

 Si no desea ver otra estadística, termina la ejecución de la
Si no desea ver otra estadística, termina la ejecución de la
aplicación.
aplicación. 26
26
©
berzal@acm.org
Casos de uso
Casos de uso
Especificación esencial de un caso de uso
Especificación esencial de un caso de uso
Consulta de estadísticas
Consulta de estadísticas
Profesor Sistema
El profesor se identifica.
El sistema autentifica al profesor y le
27
27
El sistema autentifica al profesor y le
ofrece una lista de estadísticas disponibles.
El profesor selecciona una
de las opciones disponibles.
El sistema presenta un informe con los
datos solicitados.
Si así lo desea, el profesor
imprime el informe.
©
berzal@acm.org
Casos de uso
Casos de uso
Especificación detallada de un caso de uso (1/3)
Especificación detallada de un caso de uso (1/3)
Nombre Consulta de estadísticas
Descripción Se permite a los profesores consultar las
estadísticas correspondientes a sus asignaturas
Dependencias Autentificación de usuarios
28
28
Dependencias Autentificación de usuarios
Actores Profesor (principal e iniciador)
Precondiciones -
Postcondiciones -
©
berzal@acm.org
Casos de uso
Casos de uso
Especificación detallada de un caso de uso (2/3)
Especificación detallada de un caso de uso (2/3)
Escenario principal Profesor Sistema
1. El profesor se
identifica.
2. El sistema autentifica al
profesor y le ofrece una lista
29
29
profesor y le ofrece una lista
de estadísticas disponibles.
3. El profesor
selecciona una de
las opciones.
4. El sistema presenta un
informe con los datos
solicitados.
5. Si así lo desea, el
profesor imprime el
informe.
©
berzal@acm.org
Casos de uso
Casos de uso
Especificación detallada de un caso de uso (3/3)
Especificación detallada de un caso de uso (3/3)
Alternativas 2. Si, tras un tercer intento, la
autentificación no se realiza
con éxito, se guarda la
incidicencia en un registro y
se impide volver a acceder a
30
30
se impide volver a acceder a
la aplicación desde la misma
IP durante 15 minutos.
Observaciones -
Requisitos
no funcionales
El sistema debe estar preparado para aceptar 100
sesiones simultáneas de profesores consultando
sus estadísticas sin degradar su rendimiento más
de un 50% con respecto a un usuario único.
©
berzal@acm.org
Apartados del documento
Apartados del documento
de especificación del sistema
de especificación del sistema
1.
1. Definición del problema.
Definición del problema.
2.
2. Descripción funcional
Descripción funcional
(lista de requerimientos funcionales)
(lista de requerimientos funcionales)
3.
3. Restricciones
Restricciones
3.
3. Restricciones
Restricciones
(requerimientos no funcionales)
(requerimientos no funcionales)
4.
4. Diagramas de flujo de datos
Diagramas de flujo de datos
5.
5. Modelo de
Modelo de datos
datos
(diagrama E/R, CASE*
(diagrama E/R, CASE*Method
Method o diagrama de
o diagrama de clases
clases UML)
UML)
6.
6. Diccionario de datos
Diccionario de datos
7.
7. Casos de uso
Casos de uso
8.
8. Documentos adicionales
Documentos adicionales
(p.ej. modelos de informes y formularios)
(p.ej. modelos de informes y formularios) 31
31

Más contenido relacionado

Similar a Especificacion de requerimiento.pdf

Análisis y diseño de sistemas sesion 07 - casos de estudio (captura de requ...
Análisis y diseño de sistemas   sesion 07 - casos de estudio (captura de requ...Análisis y diseño de sistemas   sesion 07 - casos de estudio (captura de requ...
Análisis y diseño de sistemas sesion 07 - casos de estudio (captura de requ...GianfrancoEduardoBra
 
requerimientos-funcionales-y-no-funcionales.pptx
requerimientos-funcionales-y-no-funcionales.pptxrequerimientos-funcionales-y-no-funcionales.pptx
requerimientos-funcionales-y-no-funcionales.pptxTereBestene
 
Mv unidad 2 t1
Mv unidad 2 t1Mv unidad 2 t1
Mv unidad 2 t1Norerod
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del softwareuniv of pamplona
 
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMASIMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMASAlcoverify
 
Sesion 02 los_requerimientos
Sesion 02 los_requerimientosSesion 02 los_requerimientos
Sesion 02 los_requerimientosluisantonio222
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosMarvin Romero
 
La prueba del software y los special purpose languages
La prueba del software y los special purpose languagesLa prueba del software y los special purpose languages
La prueba del software y los special purpose languagesSoftware Guru
 
Análisis y diseño de sistemas sesion 06 - fundamentos y capturas de requisitos
Análisis y diseño de sistemas   sesion 06 - fundamentos y capturas de requisitosAnálisis y diseño de sistemas   sesion 06 - fundamentos y capturas de requisitos
Análisis y diseño de sistemas sesion 06 - fundamentos y capturas de requisitosGianfrancoEduardoBra
 
Requerimientos tipos-y-definiciones
Requerimientos tipos-y-definicionesRequerimientos tipos-y-definiciones
Requerimientos tipos-y-definicionesJuan Restrepo
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones Juan Restrepo
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definicionesrequerimientos-tipos-y-definiciones
requerimientos-tipos-y-definicionesJuan Restrepo
 

Similar a Especificacion de requerimiento.pdf (20)

Pepita
PepitaPepita
Pepita
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Análisis y diseño de sistemas sesion 07 - casos de estudio (captura de requ...
Análisis y diseño de sistemas   sesion 07 - casos de estudio (captura de requ...Análisis y diseño de sistemas   sesion 07 - casos de estudio (captura de requ...
Análisis y diseño de sistemas sesion 07 - casos de estudio (captura de requ...
 
02 captura de requisitos
02 captura de requisitos02 captura de requisitos
02 captura de requisitos
 
requerimientos-funcionales-y-no-funcionales.pptx
requerimientos-funcionales-y-no-funcionales.pptxrequerimientos-funcionales-y-no-funcionales.pptx
requerimientos-funcionales-y-no-funcionales.pptx
 
Requisitos
RequisitosRequisitos
Requisitos
 
Mv unidad 2 t1
Mv unidad 2 t1Mv unidad 2 t1
Mv unidad 2 t1
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del software
 
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMASIMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
 
Is clase2
Is clase2Is clase2
Is clase2
 
Sesion 02 los_requerimientos
Sesion 02 los_requerimientosSesion 02 los_requerimientos
Sesion 02 los_requerimientos
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
Adsi jerez
Adsi jerezAdsi jerez
Adsi jerez
 
La prueba del software y los special purpose languages
La prueba del software y los special purpose languagesLa prueba del software y los special purpose languages
La prueba del software y los special purpose languages
 
Isw5 requerimientos
Isw5 requerimientosIsw5 requerimientos
Isw5 requerimientos
 
Poc 2
Poc 2Poc 2
Poc 2
 
Análisis y diseño de sistemas sesion 06 - fundamentos y capturas de requisitos
Análisis y diseño de sistemas   sesion 06 - fundamentos y capturas de requisitosAnálisis y diseño de sistemas   sesion 06 - fundamentos y capturas de requisitos
Análisis y diseño de sistemas sesion 06 - fundamentos y capturas de requisitos
 
Requerimientos tipos-y-definiciones
Requerimientos tipos-y-definicionesRequerimientos tipos-y-definiciones
Requerimientos tipos-y-definiciones
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definicionesrequerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 

Último

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.imejia2411
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellajuancamilo3111391
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 

Último (13)

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ella
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 

Especificacion de requerimiento.pdf

  • 1. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos Diseño de bases de datos Diseño de bases de datos
  • 2. © berzal@acm.org Documento de especificación del sistema Documento de especificación del sistema 1. 1. Definición del problema Definición del problema 2. 2. Descripción funcional Descripción funcional 2. 2. Descripción funcional Descripción funcional 3. 3. Restricciones Restricciones 4. 4. Diagramas de flujo de datos Diagramas de flujo de datos 5. 5. Modelo de Modelo de datos datos 6. 6. Diccionario de datos Diccionario de datos 7. 7. Casos de uso Casos de uso 8. 8. Documentos adicionales Documentos adicionales 1 1
  • 3. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos Requerimientos Requerimientos Definición Definición Requerimientos funcionales y no funcionales Requerimientos funcionales y no funcionales Especificación de requisitos en lenguaje natural Especificación de requisitos en lenguaje natural Casos de uso Casos de uso Documento de especificación del sistema Documento de especificación del sistema 2 2
  • 4. © berzal@acm.org Los requerimientos/requisitos de un sistema Los requerimientos/requisitos de un sistema describen los servicios que ha de ofrecer el sistema describen los servicios que ha de ofrecer el sistema y las restricciones asociadas a su funcionamiento. y las restricciones asociadas a su funcionamiento. Requerimientos Requerimientos Requerimientos: Requerimientos: Propiedades o restricciones Propiedades o restricciones determinadas de forma precisa determinadas de forma precisa que deben satisfacerse. que deben satisfacerse. 3 3
  • 5. © berzal@acm.org Requerimientos Requerimientos funcionales y no funcionales funcionales y no funcionales Requerimientos funcionales: Requerimientos funcionales: Expresan la naturaleza del funcionamiento del sistema Expresan la naturaleza del funcionamiento del sistema (cómo interacciona el sistema con su entorno y cuáles (cómo interacciona el sistema con su entorno y cuáles (cómo interacciona el sistema con su entorno y cuáles (cómo interacciona el sistema con su entorno y cuáles van a ser su estado y funcionamiento). van a ser su estado y funcionamiento). N NOTA OTA: A veces, también es conveniente : A veces, también es conveniente indicar lo que indicar lo que no no hará el sistema. hará el sistema. 4 4
  • 6. © berzal@acm.org Requerimientos Requerimientos funcionales y no funcionales funcionales y no funcionales Requerimientos no funcionales: Requerimientos no funcionales: Restricciones sobre el espacio de posibles soluciones. Restricciones sobre el espacio de posibles soluciones. Rendimiento del sistema: Rendimiento del sistema: Fiabilidad, tiempo de respuesta, disponibilidad… Fiabilidad, tiempo de respuesta, disponibilidad… Interfaces: Interfaces: Dispositivos de E/S, usabilidad, interoperabilidad… Dispositivos de E/S, usabilidad, interoperabilidad… Proceso de desarrollo: Proceso de desarrollo: Estándares, herramientas, plazo de entrega… Estándares, herramientas, plazo de entrega… 5 5
  • 7. © berzal@acm.org Requerimientos Requerimientos funcionales y no funcionales funcionales y no funcionales Los requisitos funcionales definen Los requisitos funcionales definen qué debe qué debe hacer un sistema. hacer un sistema. Los requisitos no funcionales definen Los requisitos no funcionales definen cómo debe cómo debe ser el sistema. ser el sistema. 6 6
  • 8. © berzal@acm.org Requerimientos Requerimientos funcionales y no funcionales funcionales y no funcionales A los requisitos no funcionales se les suele llamar A los requisitos no funcionales se les suele llamar coloquialmente “cualidades” del sistema [“ coloquialmente “cualidades” del sistema [“- -ilities ilities” en ” en inglés”] y inglés”] y pueden pueden dividirse dividirse en dos en dos categorías categorías: : Cualidades Cualidades de de ejecución ejecución, , Cualidades Cualidades de de ejecución ejecución, , como como la la seguridad seguridad o la o la usabilidad usabilidad, , observables en observables en tiempo tiempo de de ejecución ejecución. . Cualidades Cualidades de de evolución evolución, , como como la “ la “testabilidad testabilidad”, ”, mantenibilidad mantenibilidad, , extensibilidad extensibilidad o o escalabilidad escalabilidad, , determinadas determinadas por por la la estructura estructura estática estática del software. del software. 7 7
  • 9. © berzal@acm.org Requerimientos Requerimientos funcionales y no funcionales funcionales y no funcionales La distinción entre requerimientos funcionales y no La distinción entre requerimientos funcionales y no funcionales no siempre resulta evidente. funcionales no siempre resulta evidente. Ejemplo: La seguridad puede interpretarse inicialmente Ejemplo: La seguridad puede interpretarse inicialmente como un requerimiento no funcional al principio. No como un requerimiento no funcional al principio. No como un requerimiento no funcional al principio. No como un requerimiento no funcional al principio. No obstante, su elaboración puede conducir a nuevos obstante, su elaboración puede conducir a nuevos requerimientos funcionales, como la necesidad de requerimientos funcionales, como la necesidad de autentificar a los usuarios del sistema. autentificar a los usuarios del sistema. Más allá de si decidimos incluir este tipo de requisitos Más allá de si decidimos incluir este tipo de requisitos en una sección u otra, lo importante es identificarlos en una sección u otra, lo importante es identificarlos correctamente. correctamente. 8 8
  • 10. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural Los requerimientos… Los requerimientos… se suelen especificar en lenguaje natural, se suelen especificar en lenguaje natural, se expresan de forma individual se expresan de forma individual se expresan de forma individual se expresan de forma individual (p.ej. esquemáticamente), (p.ej. esquemáticamente), se organizan de forma jerárquica se organizan de forma jerárquica (a distintos niveles de detalle), (a distintos niveles de detalle), a menudo, se numeran a menudo, se numeran (para facilitar su gestión), (para facilitar su gestión), 9 9
  • 11. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural Los requerimientos han de ser… Los requerimientos han de ser… claros y concretos claros y concretos (evitando imprecisiones y ambigüedades) (evitando imprecisiones y ambigüedades) (evitando imprecisiones y ambigüedades) (evitando imprecisiones y ambigüedades) p.ej. Uso de puntos suspensivos, etcétera… p.ej. Uso de puntos suspensivos, etcétera… concisos concisos (sin rodeos ni figuras retóricas), (sin rodeos ni figuras retóricas), completos y consistentes completos y consistentes, , 10 10
  • 12. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural Los requerimientos han de indicar… Los requerimientos han de indicar… lo que se espera que haga el sistema (¿qué?), lo que se espera que haga el sistema (¿qué?), su su justificación justificación (¿por qué ha de ser así? ¿quién lo propuso?) y, (¿por qué ha de ser así? ¿quién lo propuso?) y, en su caso, los en su caso, los criterios de aceptación criterios de aceptación que sean que sean aplicables (¿cómo se verifica su cumplimiento?). aplicables (¿cómo se verifica su cumplimiento?). 11 11
  • 13. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural Los Los requerimientos funcionales requerimientos funcionales… … deben estar redactados de tal forma que sean deben estar redactados de tal forma que sean comprensibles para usuarios sin conocimientos comprensibles para usuarios sin conocimientos técnicos avanzados (de Informática, se entiende), técnicos avanzados (de Informática, se entiende), técnicos avanzados (de Informática, se entiende), técnicos avanzados (de Informática, se entiende), deben especificar el comportamiento externo del deben especificar el comportamiento externo del sistema y evitar, en la medida de lo posible, establecer sistema y evitar, en la medida de lo posible, establecer características de su diseño, características de su diseño, deben priorizarse (al menos, se ha de distinguir entre deben priorizarse (al menos, se ha de distinguir entre requisitos obligatorios y requisitos deseables). requisitos obligatorios y requisitos deseables). 12 12
  • 14. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural Los Los requerimientos no funcionales requerimientos no funcionales… … han de especificarse cuantitativamente, han de especificarse cuantitativamente, siempre que sea posible siempre que sea posible siempre que sea posible siempre que sea posible (para que se pueda verificar su cumplimiento). (para que se pueda verificar su cumplimiento). 13 13
  • 15. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural MAL MAL Para facilitar el uso del editor gráfico, se podrá activar Para facilitar el uso del editor gráfico, se podrá activar y desactivar una rejilla que permitirá alinear las figuras y desactivar una rejilla que permitirá alinear las figuras del diagrama. Cuando se ajuste la figura al tamaño de del diagrama. Cuando se ajuste la figura al tamaño de del diagrama. Cuando se ajuste la figura al tamaño de del diagrama. Cuando se ajuste la figura al tamaño de la pantalla, se reducirá el número de líneas de la rejilla la pantalla, se reducirá el número de líneas de la rejilla para que no se dificulte la visualización del diagrama. para que no se dificulte la visualización del diagrama. ¿Por qué? ¿Por qué? Amalgama de varios requisitos. Amalgama de varios requisitos. 14 14
  • 16. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural BIEN BIEN El editor permitirá el uso de una rejilla de líneas El editor permitirá el uso de una rejilla de líneas horizontales y verticales que aparecerán dibujadas horizontales y verticales que aparecerán dibujadas tras el diagrama. tras el diagrama. tras el diagrama. tras el diagrama. Justificación Justificación: La rejilla facilita la creación de diagramas : La rejilla facilita la creación de diagramas cuidados en los que las figuras se puedan alinear con facilidad cuidados en los que las figuras se puedan alinear con facilidad ( (Manual Práctico de Usabilidad Manual Práctico de Usabilidad, sección 15.3). , sección 15.3). ¿Por qué? ¿Por qué? Preciso, conciso y justificado correctamente. Preciso, conciso y justificado correctamente. 15 15
  • 17. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural MAL MAL El sistema será lo más fácil de utilizar posible. El sistema será lo más fácil de utilizar posible. El sistema proporcionará una respuesta rápida al El sistema proporcionará una respuesta rápida al El sistema proporcionará una respuesta rápida al El sistema proporcionará una respuesta rápida al usuario. usuario. El sistema se recuperará automáticamente tras El sistema se recuperará automáticamente tras producirse un fallo. producirse un fallo. ¿Por qué? ¿Por qué? Objetivos generales, vagos Objetivos generales, vagos y abiertos a distintas interpretaciones. y abiertos a distintas interpretaciones. 16 16
  • 18. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural BIEN BIEN Un usuario experimentado debe ser capaz de utilizar Un usuario experimentado debe ser capaz de utilizar todas las funciones del sistema tras un entrenamiento todas las funciones del sistema tras un entrenamiento todas las funciones del sistema tras un entrenamiento todas las funciones del sistema tras un entrenamiento de 2 horas, tras el cual no cometerá más de 3 errores de 2 horas, tras el cual no cometerá más de 3 errores diarios en media. diarios en media. Cuando haya hasta 100 usuarios accediendo Cuando haya hasta 100 usuarios accediendo simultáneamente al sistema, su tiempo de respuesta simultáneamente al sistema, su tiempo de respuesta no será en ningún momento superior a 2 segundos. no será en ningún momento superior a 2 segundos. 17 17
  • 19. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural BIEN BIEN Ante un fallo en el software del sistema, no se tardará Ante un fallo en el software del sistema, no se tardará más de 5 minutos en restaurar los datos del sistema más de 5 minutos en restaurar los datos del sistema más de 5 minutos en restaurar los datos del sistema más de 5 minutos en restaurar los datos del sistema (en un estado válido) y volver a poner en marcha el (en un estado válido) y volver a poner en marcha el sistema. sistema. ¿Por qué? ¿Por qué? Requisitos verificables. Requisitos verificables. 18 18
  • 20. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural P PROBLEMAS ROBLEMAS H HABITUALES ABITUALES: : La existencia de un requerimiento La existencia de un requerimiento ha de estar debidamente justificada ha de estar debidamente justificada ha de estar debidamente justificada ha de estar debidamente justificada (debemos saber por qué es un requisito del sistema). (debemos saber por qué es un requisito del sistema). Un requerimiento es, a veces, difícil de verificar Un requerimiento es, a veces, difícil de verificar (especialmente, si es un requisito no funcional). (especialmente, si es un requisito no funcional). Además, si somos incapaces de especificarlo, Además, si somos incapaces de especificarlo, ¿cómo sabemos que realmente es un requisito? ¿cómo sabemos que realmente es un requisito? 19 19
  • 21. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural E EJEMPLO JEMPLO: R : REQUERIMIENTOS EQUERIMIENTOS FUNCIONALES FUNCIONALES Matriculación Matriculación La matrícula será realizada de forma interactiva. Se le preguntará al alumno cuál La matrícula será realizada de forma interactiva. Se le preguntará al alumno cuál es el plan de estudios en que desea matricularse (pueden ser varios). es el plan de estudios en que desea matricularse (pueden ser varios). Se podrá generar una copia impresa de la matrícula (sin valor oficial) en el Se podrá generar una copia impresa de la matrícula (sin valor oficial) en el ordenador desde donde se realice el proceso de matriculación. ordenador desde donde se realice el proceso de matriculación. Se podrá generar el impreso de pago debidamente cumplimentado. Se podrá generar el impreso de pago debidamente cumplimentado. Se podrá generar el impreso de pago debidamente cumplimentado. Se podrá generar el impreso de pago debidamente cumplimentado. Para la matriculación se consultarán los datos del expediente y se realizarán las Para la matriculación se consultarán los datos del expediente y se realizarán las validaciones necesarias, descritas a continuación… validaciones necesarias, descritas a continuación… Pago de matrícula: Pago de matrícula: La aplicación generará un impreso para que el alumno realice el pago La aplicación generará un impreso para que el alumno realice el pago correspondiente a la matrícula en 1 ó 2 plazos (según las fechas correspondiente a la matrícula en 1 ó 2 plazos (según las fechas establecidas). establecidas). Si el alumno tiene matrículas de honor de cursos anteriores o disfruta de Si el alumno tiene matrículas de honor de cursos anteriores o disfruta de algún tipo de beca, la aplicación deberá calcular automáticamente los algún tipo de beca, la aplicación deberá calcular automáticamente los descuentos correspondientes… descuentos correspondientes… 20 20 Organizados jerárquicamente y desglosados en requisitos individuales
  • 22. © berzal@acm.org Especificación de requerimientos Especificación de requerimientos en lenguaje natural en lenguaje natural E EJEMPLO JEMPLO: R : REQUERIMIENTOS EQUERIMIENTOS NO NO FUNCIONALES FUNCIONALES Interfaces Interfaces Hardware: Hardware: El sistema se debe implementar sobre la infraestructura existente en El sistema se debe implementar sobre la infraestructura existente en las aulas de prácticas de la E.T.S. Ingeniería Informática. las aulas de prácticas de la E.T.S. Ingeniería Informática. Software: Software: No existe posibilidad de adquirir licencias de software. No existe posibilidad de adquirir licencias de software. La aplicación deberá funcionar sobre Oracle. La aplicación deberá funcionar sobre Oracle. 21 21
  • 23. © berzal@acm.org Casos de uso Casos de uso Los casos de uso… Los casos de uso… Describen el modo en que un actor interactúa con el Describen el modo en que un actor interactúa con el sistema (descripción de un rol en lenguaje natural). sistema (descripción de un rol en lenguaje natural). sistema (descripción de un rol en lenguaje natural). sistema (descripción de un rol en lenguaje natural). Narran el comportamiento dinámico del sistema desde Narran el comportamiento dinámico del sistema desde un punto de vista concreto (el del actor). un punto de vista concreto (el del actor). Pueden expresar tanto requerimientos funcionales Pueden expresar tanto requerimientos funcionales como no funcionales. como no funcionales. 22 22
  • 24. © berzal@acm.org Casos de uso Casos de uso Los casos de uso… Los casos de uso… Son muy útiles para explicar el funcionamiento del Son muy útiles para explicar el funcionamiento del sistema, priorizar requerimientos cuando el sistema se sistema, priorizar requerimientos cuando el sistema se sistema, priorizar requerimientos cuando el sistema se sistema, priorizar requerimientos cuando el sistema se desarrolla de forma incremental, elaborar manuales de desarrolla de forma incremental, elaborar manuales de usuario y especificar pruebas de aceptación. usuario y especificar pruebas de aceptación. Mejoran la trazabilidad de los requerimientos durante Mejoran la trazabilidad de los requerimientos durante el proceso de desarrollo de software. el proceso de desarrollo de software. Se pueden desarrollar en paralelo con los Se pueden desarrollar en paralelo con los requerimientos del sistema de forma iterativa. requerimientos del sistema de forma iterativa. 23 23
  • 25. © berzal@acm.org Casos de uso Casos de uso Dependiendo de la situación, los casos de uso se Dependiendo de la situación, los casos de uso se pueden especificar con distinto grado de detalle: pueden especificar con distinto grado de detalle: Especificación textual Especificación textual de un caso de uso de un caso de uso Especificación textual Especificación textual de un caso de uso de un caso de uso (enumeración de pasos del caso de uso). (enumeración de pasos del caso de uso). Especificación “esencial” Especificación “esencial” de un caso de uso de un caso de uso (eliminando todos los detalles no estrictamente necesarios). (eliminando todos los detalles no estrictamente necesarios). Especificación detallada Especificación detallada de un caso de uso de un caso de uso (utilizando una plantilla para no olvidarnos de nada). (utilizando una plantilla para no olvidarnos de nada). 24 24
  • 26. © berzal@acm.org Casos de uso Casos de uso Especificación textual de un caso de uso (1/2) Especificación textual de un caso de uso (1/2) El profesor ejecuta el programa de consulta de estadísticas. El profesor ejecuta el programa de consulta de estadísticas. Actor Profesor Rol Consultar estadísticas El profesor ejecuta el programa de consulta de estadísticas. El profesor ejecuta el programa de consulta de estadísticas. Se le pide su identificativo ( Se le pide su identificativo (login login) y palabra clave de acceso ) y palabra clave de acceso ( (password password). ). El sistema verifica la identificación del usuario. El sistema verifica la identificación del usuario. Si la identificación es positiva, se presenta una lista con las Si la identificación es positiva, se presenta una lista con las estadísticas disponibles: estadísticas disponibles: Nº de alumnos y porcentaje de repetidores de sus Nº de alumnos y porcentaje de repetidores de sus asignaturas. asignaturas. Clasificación de alumnos por nota en cada asignatura. Clasificación de alumnos por nota en cada asignatura. 25 25
  • 27. © berzal@acm.org Casos de uso Casos de uso Especificación textual de un caso de uso (2/2) Especificación textual de un caso de uso (2/2) … … Actor Profesor Rol Consultar estadísticas … … Una vez que el profesor ha seleccionado una de las estadísticas, Una vez que el profesor ha seleccionado una de las estadísticas, el programa presenta los datos correspondientes a la misma, el programa presenta los datos correspondientes a la misma, agrupando la información por asignaturas y, al final, para todas agrupando la información por asignaturas y, al final, para todas sus asignaturas en conjunto. sus asignaturas en conjunto. Al profesor se le da la opción de imprimir la estadística. Al profesor se le da la opción de imprimir la estadística. Cuando el profesor termina de ver la estadística, se presenta de Cuando el profesor termina de ver la estadística, se presenta de nuevo la lista de estadísticas disponibles. nuevo la lista de estadísticas disponibles. Si no desea ver otra estadística, termina la ejecución de la Si no desea ver otra estadística, termina la ejecución de la aplicación. aplicación. 26 26
  • 28. © berzal@acm.org Casos de uso Casos de uso Especificación esencial de un caso de uso Especificación esencial de un caso de uso Consulta de estadísticas Consulta de estadísticas Profesor Sistema El profesor se identifica. El sistema autentifica al profesor y le 27 27 El sistema autentifica al profesor y le ofrece una lista de estadísticas disponibles. El profesor selecciona una de las opciones disponibles. El sistema presenta un informe con los datos solicitados. Si así lo desea, el profesor imprime el informe.
  • 29. © berzal@acm.org Casos de uso Casos de uso Especificación detallada de un caso de uso (1/3) Especificación detallada de un caso de uso (1/3) Nombre Consulta de estadísticas Descripción Se permite a los profesores consultar las estadísticas correspondientes a sus asignaturas Dependencias Autentificación de usuarios 28 28 Dependencias Autentificación de usuarios Actores Profesor (principal e iniciador) Precondiciones - Postcondiciones -
  • 30. © berzal@acm.org Casos de uso Casos de uso Especificación detallada de un caso de uso (2/3) Especificación detallada de un caso de uso (2/3) Escenario principal Profesor Sistema 1. El profesor se identifica. 2. El sistema autentifica al profesor y le ofrece una lista 29 29 profesor y le ofrece una lista de estadísticas disponibles. 3. El profesor selecciona una de las opciones. 4. El sistema presenta un informe con los datos solicitados. 5. Si así lo desea, el profesor imprime el informe.
  • 31. © berzal@acm.org Casos de uso Casos de uso Especificación detallada de un caso de uso (3/3) Especificación detallada de un caso de uso (3/3) Alternativas 2. Si, tras un tercer intento, la autentificación no se realiza con éxito, se guarda la incidicencia en un registro y se impide volver a acceder a 30 30 se impide volver a acceder a la aplicación desde la misma IP durante 15 minutos. Observaciones - Requisitos no funcionales El sistema debe estar preparado para aceptar 100 sesiones simultáneas de profesores consultando sus estadísticas sin degradar su rendimiento más de un 50% con respecto a un usuario único.
  • 32. © berzal@acm.org Apartados del documento Apartados del documento de especificación del sistema de especificación del sistema 1. 1. Definición del problema. Definición del problema. 2. 2. Descripción funcional Descripción funcional (lista de requerimientos funcionales) (lista de requerimientos funcionales) 3. 3. Restricciones Restricciones 3. 3. Restricciones Restricciones (requerimientos no funcionales) (requerimientos no funcionales) 4. 4. Diagramas de flujo de datos Diagramas de flujo de datos 5. 5. Modelo de Modelo de datos datos (diagrama E/R, CASE* (diagrama E/R, CASE*Method Method o diagrama de o diagrama de clases clases UML) UML) 6. 6. Diccionario de datos Diccionario de datos 7. 7. Casos de uso Casos de uso 8. 8. Documentos adicionales Documentos adicionales (p.ej. modelos de informes y formularios) (p.ej. modelos de informes y formularios) 31 31