Está en la página 1de 16

Especificacin de requerimientos

1. Requerimientos funcionales y no funcionales 2. Especificacin de requerimientos en lenguaje natural 3. Herramientas de especificacin Modelado de datos Diagramas entidad/relacin Diagramas de clases en UML Diccionarios de datos Modelado de procesos Diagramas de flujo de datos Casos de uso 4. Documento de especificacin del sistema

1. Requerimientos funcionales y no funcionales


Los requerimientos/requisitos de un sistema describen los servicios que ha de ofrecer el sistema y las restricciones asociadas a su funcionamiento.

Requerimientos Propiedades o restricciones determinadas de forma precisa que deben satisfacerse.

Requerimientos funcionales Expresan la naturaleza del funcionamiento del sistema (cmo interacciona el sistema con su entorno y cules van a ser su estado y funcionamiento).

NOTA: A veces, tambin es conveniente indicar lo que no har el sistema.

Requerimientos no funcionales Restricciones en el espacio de posibles soluciones: Rendimiento del sistema: fiabilidad, tiempo de respuesta, disponibilidad Interfaces: dispositivos de E/S, usabilidad, interoperabilidad Proceso de desarrollo: estndares, herramientas, plazo de entrega

NOTA: La distincin entre requerimientos funcionales y no funcionales no siempre resulta evidente (p.ej. la seguridad puede interpretarse inicialmente como un requerimiento no funcional al principio pero, tras elaborarlo, conduce a la aparicin de requerimientos funcionales como la necesidad de autentificar a los usuarios del sistema).

Diseo de Bases de Datos

2. Especificacin de requerimientos en lenguaje natural


Los requerimientos se suelen especificar en lenguaje natural, se expresan de forma individual (p.ej. esquemticamente), se organizan de forma jerrquica (a distintos niveles de detalle), a menudo, se numeran (para facilitar su gestin), han de ser claros y concretos (evitando imprecisiones y ambigedades) p.ej. Uso de puntos suspensivos, etctera deben ser concisos (sin rodeos ni figuras retricas), deben ser completos y consistentes, han de indicar lo que se espera que haga el sistema (qu?), su justificacin (por qu ha de ser as? quin lo propuso?) y, en su caso, los criterios de aceptacin que sean aplicables (cmo se verifica su cumplimiento?).

Los requerimientos funcionales deben estar redactados de tal forma que sean comprensibles para usuarios sin conocimientos tcnicos avanzados (de Informtica, se entiende), deben especificar el comportamiento externo del sistema y evitar, en la medida de lo posible, establecer caractersticas de su diseo, deben priorizarse (al menos, se ha de distinguir entre requisitos obligatorios y requisitos deseables).

Los requerimientos no funcionales han de especificarse cuantitativamente siempre que sea posible (para que se pueda verificar su cumplimiento).

Diseo de Bases de Datos

Requerimientos REQUERIMIENTOS FUNCIONALES Matriculacin La matrcula ser realizada de forma interactiva. Se le preguntar al alumno cul es el plan de estudios en que desea matricularse (pueden ser varios). Se podr generar una copia impresa de la matrcula (sin valor oficial) en el ordenador desde donde se realice el proceso de matriculacin. As mismo, se podr generar el impreso de pago debidamente cumplimentado. Para la matriculacin se consultarn los datos del expediente y se realizarn las validaciones necesarias, descritas a continuacin Pago de matrcula: La aplicacin generar un impreso para que el alumno realice el pago correspondiente a la matrcula en 1 2 plazos (segn las fechas establecidas). Si el alumno tiene matrculas de honor de cursos anteriores o disfruta de algn tipo de beca, la aplicacin deber calcular automticamente los descuentos correspondientes Gestin de docencia El secretario ser el encargado de introducir qu profesores corresponden a cada asignatura (si no, no podran introducir las actas los profesores). Los profesores de cada asignatura tendrn acceso a las listas de los alumnos que estn matriculados en sus asignaturas y la aplicacin les debe permitir rellenar las actas. Estadsticas En secretara se podrn obtener estadsticas que clasifiquen a los alumnos por su lugar de residencia, sexo, edad, cursos o asignaturas. REQUERIMIENTOS NO FUNCIONALES Interfaces Hardware: El sistema se debe implementar sobre la infraestructura existente en las aulas de prcticas de la E.T.S. Ingeniera Informtica. Software: No existe posibilidad de adquirir software. La aplicacin deber funcionar sobre Oracle
Diseo de Bases de Datos 3

Observaciones
La existencia de un requerimiento debe estar debidamente justificada. MAL (amalgama de varios requisitos) Para facilitar el uso del editor grfico, se podr activar y desactivar una rejilla que permitir alinear las figuras del diagrama. Cuando se ajuste la figura al tamao de la pantalla, se reducir el nmero de lneas de la rejilla para que no se dificulte la visualizacin del diagrama. BIEN (conciso y justificado) El editor permitir el uso de una rejilla de lneas horizontales y verticales que aparecern dibujadas tras el diagrama.
Justificacin: La rejilla facilita la creacin de diagramas cuidados en los que las figuras se puedan alinear con facilidad (Manual Prctico de Usabilidad, seccin 15.3).

Otro problema habitual es que los requerimientos de un sistema son, a veces, difciles de verificar (especialmente los requerimientos no funcionales). MAL (objetivos generales, vagos y abiertos a distintas interpretaciones): El sistema ser lo ms fcil de utilizar posible. El sistema proporcionar una respuesta rpida al usuario. El sistema se recuperar automticamente tras producirse un fallo. BIEN (requisitos verificables): Un usuario experimentado debe ser capaz de utilizar todas las funciones del sistema tras un entrenamiento de 2 horas, tras el cual no cometer ms de 3 errores diarios en media. Cuando haya hasta 100 usuarios accediendo simultneamente al sistema, su tiempo de respuesta no ser en ningn momento superior a 2 segundos. Ante un fallo en el software del sistema, no se tardar ms de 5 minutos en restaurar los datos del sistema (en un estado vlido) y volver a poner en marcha el sistema.

Diseo de Bases de Datos

3. Herramientas de especificacin
Durante el desarrollo del sistema, se han de modelar tanto los datos empleados por el sistema como los procesos que realizan tareas sobre esos datos: Modelado de datos Diagramas entidad/relacin Diagramas CASE*Method Diagramas de clases en UML Diccionarios de datos Modelado de procesos Diagramas de flujo de datos Diagramas de estados (autmatas finitos) Casos de uso

Diseo de Bases de Datos

Herramientas de especificacin: Modelado de datos


Diagramas entidad/relacin (E/R)
Entidades (conceptos de inters)

Relaciones (asociaciones entre entidades)


Cardinalidad: uno-a-uno, uno-a-muchos, muchos-a-muchos

Atributos (caractersticas de las entidades)

Preparacin de un diagrama E/R 1. Indentificacin de las entidades. 2. Identificacin de las relaciones. 3. Identificacin de los atributos. 4. Normalizacin.
Intuitivamente: 1NF 2NF Todos los atributos de una relacin toman valores atmicos. Todos los atributos de una relacin dependen funcionalmente de la clave primaria de la relacin. El valor de un atributo no puede determinarse a partir de los valores de los dems atributos.

3NF

Diseo de Bases de Datos

Diagrama entidad/relacin

Restricciones semnticas Cada profesor pertenece a un solo departamento. Todo profesor pertenece a algn departamento. Todo departamento debe tener un director, que es un profesor. Un profesor puede impartir varios grupos de la misma o diferentes asignaturas. Un grupo de una asignatura ha de estar impartido por, al menos, un profesor. Las asignaturas se imparten en clases en das, horas y aulas determinadas. Los alumnos se matriculan de varias asignaturas (al menos una). Una asignatura puede tener varios alumnos matriculados. Los atributos de cada entidad son los habituales.

Identificacin de entidades, atributos y relaciones Entidades Asignatura Alumno Atributos ID Nombre Crditos Carcter Curso DNI Nombre Direccin Beca Profesor NRP Nombre Categora rea Depart. ID Nombre Aula Grupo

ID ID Capacidad Tipo ...

Diseo de Bases de Datos

Relaciones

Relacin se matricula en ensea impartida en asignada a pertenece a dirige

Entidades participantes Alumno Grupo Profesor Grupo Asignatura Grupo Aula Grupo Profesor Departamento Profesor Departamento

Cardinalidad N:M N:M 1:N N:M N:1 1:1

Atributos Calificacin

Da, hora

Diagrama entidad/relacin
(omitiendo los atributos para favorecer la legibilidad del diagrama)

Asignatura

Alumno

se matricula en

impartida en

Grupo

ensea

Profesor

asignada a

pertenece a

dirige

Aula

Departamento

Diseo de Bases de Datos

Diagramas de clases en UML


UML = Unified Modeling Language Clases (conceptos de inters) Asociaciones (relaciones entre clases) Atributos (caractersticas de los objetos de una clase)

Alumno DNI Nombre Direccin Beca se matricula en * 1..* Calificacin ensea * 1..* Profesor NRP Nombre Categora rea * pertenece a 1 Departamento ID Nombre 1

Asignatura ID Grupo impartida en Nombre ID Crditos 1 1..* Tipo Carcter Curso * asignada a Da Hora * Aula

1 dirige

ID Capacidad

Diccionario de datos
Descripcin escrita de los datos almacenados en la base de datos Entidad ASIGNATURA Atributo Descripcin Cdigo oficial de la asignatura Cod-asig Nombre completo de la asignatura Nombre Nmero de crditos de la asignatura (teora y prcticas) Crditos Tipo de asignatura (troncal, obligatoria, optativa) Carcter Curso del plan de estudios en la que est incluida la asignatura Curso
Diseo de Bases de Datos 9

Herramientas de especificacin: Modelado de procesos


Diagramas de flujo de datos (DFD)
Representacin grfica de un sistema que ilustra cmo fluyen los datos a travs de distintos procesos. Los DFDs se realizan a distintos niveles de abstraccin, detallando procesos concretos que aparecen como elementos simples en DFDs de nivel superior.

Elementos de un DFD Entidades externas, terminadores o elementos del entorno: Fuentes o sumideros de informacin. Emiten o reciben la informacin que fluye a travs de las interfaces externas del sistema (vg: usuarios). Flujos de datos Indican el flujo de informacin a travs del sistema Procesos o actividades Transforman la informacin que les llega a travs de los flujos de datos de entrada en la informacin que sale a travs de los flujos de datos de salida. Almacenes de datos y ficheros Lugares donde se guardan los datos para su procesamiento posterior.
NOTAS: Cada elemento tiene asociado un nombre unvoco a modo de etiqueta. Los flujos de datos pueden converger o divergir. Procesos y ficheros no pueden poseer slo flujos de entrada (ni slo de salida) Los flujos no pueden incluir informacin de control Las entradas y salidas netas de un DFD deben coincidir con los flujos de entrada y salida del proceso a que corresponde en el nivel superior.

Diseo de Bases de Datos

10

Diagrama de flujo de datos

DFD de contexto

Alumno

Informacin Expediente

DatosAlumno Peticin Planes Calendarios Profesores Clave

Actas CdigoProfesor

Profesor
Actas Estadsticas Informacin Estadsticas Ttulos Certificados

Sistema
Actas Estadsticas Expedientes

Secretario

Peticin CdigoAcceso

Secretara

Notacin de Gane&Sarson

Diseo de Bases de Datos

11

Diagrama de flujo de datos

DFD de nivel 1
DatosAlumno Peticin

Cliente Alumnos

Informacin Expediente

Actas CdigoProfesor

Matrcula PeticinImpreso

Acta

Expediente Asignatura Plan Acta Expedientes Asignatura Plan ActaValidada Plan Asignatura Profesor DatosAlumno Matrcula

Planes Calendarios Profesores Clave

Cliente Profesor

Base de datos Actas Expedientes DatosAlumno Asignatura Plan Matrcula PeticinImpreso

Cliente Secretario

Actas Estadsticas

Actas Estadsticas Expedientes

Peticin CdigoAcceso

Cliente Secretara

Informacin Estadsticas Ttulos Certificados

Acerca del diagrama de contexto (DFD de nivel superior) Contiene un nico proceso que representa al sistema completo, todos los terminadores (entidades externas que interactan con el sistema) y todos los flujos de datos que conectan un sistema con su entorno.

Diseo de Bases de Datos

12

Diagrama de flujo de datos

DFDs de nivel 2
Cliente Alumnos
Plan Asignatura Peticin

DatosAlumno

Expediente

Consultar expediente

Realizar matrcula

Solicitar impreso

Expediente

Matrcula

PeticinImpreso

Cliente Profesor

Actas Permiso

Rellenar Actas

Actas

CdigoProfesor

Identificacin

Permiso Actas

Consultar Estadsticas

Estadsticas

Diseo de Bases de Datos

13

Casos de uso
Los casos de uso describen el modo en que un actor interacta con el sistema (descripcin de un rol en lenguaje natural Narran el comportamiento dinmico del sistema desde un punto de vista concreto. Pueden expresar tanto requerimientos funcionales como no funcionales. Son muy tiles para explicar el funcionamiento del sistema, priorizar requerimientos cuando el sistema se desarrolla de forma incremental, elaborar manuales de usuario y especificar pruebas de aceptacin. Mejoran la trazabilidad de los requerimientos durante el proceso de desarrollo de software. Se pueden desarrollar en paralelo con los requerimientos del sistema de forma iterativa.

Caso de uso Actor Profesor Rol


Consultar estadsticas
El profesor ejecuta el programa de consulta de estadsticas. Se le pide su identificativo (login) y palabra clave de acceso (password). El sistema verifica la identificacin. Si la identificacin es positiva, se presenta una lista de estadsticas: o N de alumnos y porcentaje de repetidores de sus asignaturas. o Clasificacin de alumnos por nota en cada asignatura Una vez que el profesor ha seleccionado la estadstica, el programa presenta los datos correspondientes a la misma, agrupando la informacin por asignaturas, y al final para todas sus asignaturas en conjunto. El profesor podr imprimir la estadstica. Cuando el profesor termina de ver la estadstica, se presenta de nuevo la lista de estadsticas disponibles. Si no desea ver otra estadstica, sale del programa terminando la ejecucin del mismo.

Diseo de Bases de Datos

14

4. Documento de especificacin del sistema

1. Definicin del problema 2. Descripcin funcional (lista de requerimientos funcionales) 3. Restricciones (requerimientos no funcionales) 4. Diagramas de flujo de datos 5. Modelo de datos (diagrama E/R, CASE*Method o diagrama de clases UML) 6. Diccionario de datos 7. Casos de uso 8. Documentos adicionales (p.ej. modelos de informes y formularios)

Diseo de Bases de Datos

15

También podría gustarte