Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 2
Tema 2
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
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).
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).
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).
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.
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
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
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
Relaciones
Entidades participantes Alumno Grupo Profesor Grupo Asignatura Grupo Aula Grupo Profesor Departamento Profesor Departamento
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
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
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.
10
DFD de contexto
Alumno
Informacin Expediente
Actas CdigoProfesor
Profesor
Actas Estadsticas Informacin Estadsticas Ttulos Certificados
Sistema
Actas Estadsticas Expedientes
Secretario
Peticin CdigoAcceso
Secretara
Notacin de Gane&Sarson
11
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
Cliente Profesor
Cliente Secretario
Actas Estadsticas
Peticin CdigoAcceso
Cliente Secretara
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.
12
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
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.
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.
14
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)
15