Problema

5
Problema: Un colegio de la ciudad, desea agilizar el proceso de generar certificados, constancias de calificaciones, certificados parciales, en fin, documentos que tienen que ver con las calificaciones. En la actualidad, las secretarias que elaboran los certificados, van a las boletas físicas de cada materia del alumno y lo vacían en un formato, esto les toma mucho tiempo, es por ello que el colegio, tiene el interés de almacenar las calificaciones de sus alumnos en un sistema de cómputo. El colegio maneja alumnos de secundaria y de preparatoria, por el mismo motivo también hay profesores para cada nivel de estudios, en un entrevista de levantamiento de requerimientos se detecta que los datos de los alumnos de secundaria y de preparatoria, son los mismos excepto que a los alumnos de secundaria, llevan un taller y el de preparatoria tiene una clave del bachillerato, todos los demás datos son los mismos: número de control, nombre, apellidos, domicilio, colonia, teléfono, sexo (un carácter), edad (entero), fecha de nacimiento (tipo: fecha), CURP, email, activo (un carácter) y egreso (un carácter), los datos no especificados son de tipo String o cadena. Por lo tanto, realiza lo siguiente: 1.- Usando la herramienta de StarUML, crea un diagrama de clases, primero agrega una clase llamada alumno, a la cual le agregarás los datos que son comunes para los dos tipos de alumnos (13 en total), los atributos deberán especificar el tipo de dato y el alcance privado. 2.- En el mismo archivo, agrega una clase llamada Alumno de Secundaria (AluSec), este tendrá como llave primara el atributo NoControl, (igual que en la tabla alumnos), además el campo de clave de taller de tipo String, todos los atributos serán de alcance privado. 3.- En el mismo archivo, agrega una clase llamada Alumno de Prepa (AluPre), este tendrá como llave primaria el atributo NoControl, además el campo de clave de bachillerato de tipo String; todos los atributos serán de alcance privado. 4.- Como observarás, la tabla alumno tiene los atributos que son comunes para la tabla AluSec y para la tabla AluPre, estos atributos deben heredarse, usa dos relaciones de tipo Generalización (herencia)

description

Problema

Transcript of Problema

Page 1: Problema

Problema: Un colegio de la ciudad, desea agilizar el proceso de generar certificados, constancias de calificaciones, certificados parciales, en fin, documentos que tienen que ver con las calificaciones. En la actualidad, las secretarias que elaboran los certificados, van a las boletas físicas de cada materia del alumno y lo vacían en un formato, esto les toma mucho tiempo, es por ello que el colegio, tiene el interés de almacenar las calificaciones de sus alumnos en un sistema de cómputo. El colegio maneja alumnos de secundaria y de preparatoria, por el mismo motivo también hay profesores para cada nivel de estudios, en un entrevista de levantamiento de requerimientos se detecta que los datos de los alumnos de secundaria y de preparatoria, son los mismos excepto que a los alumnos de secundaria, llevan un taller y el de preparatoria tiene una clave del bachillerato, todos los demás datos son los mismos: número de control, nombre, apellidos, domicilio, colonia, teléfono, sexo (un carácter), edad (entero), fecha de nacimiento (tipo: fecha), CURP, email, activo (un carácter) y egreso (un carácter), los datos no especificados son de tipo String o cadena.

Por lo tanto, realiza lo siguiente: 1.- Usando la herramienta de StarUML, crea un diagrama de clases, primero agrega una clase llamada alumno, a la cual le agregarás los datos que son comunes para los dos tipos de alumnos (13 en total), los atributos deberán especificar el tipo de dato y el alcance privado. 2.- En el mismo archivo, agrega una clase llamada Alumno de Secundaria (AluSec), este tendrá como llave primara el atributo NoControl, (igual que en la tabla alumnos), además el campo de clave de taller de tipo String, todos los atributos serán de alcance privado. 3.- En el mismo archivo, agrega una clase llamada Alumno de Prepa (AluPre), este tendrá como llave primaria el atributo NoControl, además el campo de clave de bachillerato de tipo String; todos los atributos serán de alcance privado. 4.- Como observarás, la tabla alumno tiene los atributos que son comunes para la tabla AluSec y para la tabla AluPre, estos atributos deben heredarse, usa dos relaciones de tipo Generalización (herencia) para indicar que las 2 tablas heredan los atributos y métodos de la tabla alumno.

5.- En la clase tabla AluSec agrega los métodos agregar alumno secundaria (AgregarAlumSec), modificar alumno secundaria (Modificar AlumSec), bloquear Alumno secundaria (bloquearAlumSec), Listar Alumno Secundaria (listarAlumSec ) e imprimir alumnos de secundaria (ImprimirAlumSec), todos los métodos deberán de tener un alcance público. 6.-Agrega los mismos métodos pero ahora para la clase AlumPrepa, actualiza los nombres de los métodos, también asigna un alcance de método público. Hablando de empleados, hay 2 tipos administrativos: docentes de secundaria y docente de preparatoria. Hay atributos que son comunes para todos los empleados, pero los atributos de los administrativos no hay atributos únicos o diferentes a los demás empleados, pero el empleado docente secundaria si tiene un atributo extra que es clave de sindicato (String), y el empleado docente de prepa tiene 2 atributos diferentes que son carrera (String) y nivel de estudios (String).

7.- Agrega una clase (también llamada entidad o tabla), llamada Empleados, con los siguientes atributos:

Page 2: Problema

Atributos - NoControl: String - Nombre: String - Apellidos: String

Domicilio: String - Colonia: String - Telefono: String - Sexo: char - Edad: entero - FechaNac:Fecha - CURP: String - Email: String - ActivoSN: boolean - EgresoSN: boolean Todos los atributos de alcance privado, respetando el tipo de dato, la entidad tiene los siguientes métodos:

+AgregarEmpleado +ModificarEmpleado +BajaEmpleadoLogico +ListadoEmpleado +BusquedaEmpelado +ImprimirEmpleado Todos los métodos son de alcance público, y sirven para administrar los datos de los empleados administrativos. 8.- Agrega la entidad Secundaria, con el propósito de tener los atributos especiales de los docentes de secundaria, con los siguientes atributos y métodos: Atributos - NoEmpleado: String

- cveSindicato: String.

Métodos +AgregarProfSec +ModificarProfSec +BloquearProfSec +ListarProfSec +ImprimirProfSec 9.- Agrega la entidad Preparatoria, para los atributos y métodos especiales de los docentes de preparatoria: Atributos - NoEmpleado: String

- Carrera: String.

- NivelEstudios: String

Métodos +AgregarProfPrepa

+BloquearProfPrepa +ListarProfPrepa

Page 3: Problema

+ImprimirProfPrepa 10.- Las clases Secundaria y Preparatoria, deben de heredar los atributos de la clase empleados, agrega las relaciones de generalización, para indicar que las tablas heredan los atributos de la tabla empleados. 11.- Crea la tabla Materia, con los siguientes atributos (alcance privado) y métodos (alcance público) Atributos - idMateria:String - concepto: String - TipoSecPrep: Char

Métodos +AgregarMat +ModificarMat +BajaMatLogica 12.- Agrega la tabla Impartición de clase (ImparticionClase), en esta tabla se encuentran los atributos y métodos que indican que materia imparten los docentes. Atributo - cveAsignación: String - noEmpleado: String - idMateria: String - Periodo: String

Métodos + AgregarAsigMateria + ModificarAsigMateria + BorradoAsigLogico 13: Agrega una relación de asociación entre las tablas Materia a ImparticionClase, 14.- Asigna la cardinalidad de 1 a muchos de la clase Materia a ImparticionClase. 15: Agrega una relación de asociación entre las tablas Empleados a ImparticionClase, 16.- Asigna la cardinalidad de 0..* a muchos de la clase Empleados a ImparticionClase. 17.- Agrega una última entidad llamada CalificacionMateria, que sirve para administrar las calificaciones por materia, con los siguientes atributos (alcance privado) y métodos (alcance públicos). Atributos - NoControl: String - cveAsignacion: String - Calificación: float

Métodos + ListadoCalifMat +CapturarCalifMat 18.- La tabla anterior se relaciona con las entidades Alumnos e ImpartirClase, pero la relación será de dependencia, es decir que para capturar una calificación debe de existir el alumno y la materia asignada a un docente. Agrega una relación de tipo dependencia (línea discontinua con punta de flecha) de CalificacionMateria ImparticiónClase.

19.- Agrega una relación de tipo dependencia (línea discontinua con punta de flecha) de CalificacionMateria a Alumnos.