Anda di halaman 1dari 18

Caso #1 - Sistema de Notas

A continuacin se presenta el anlisis del caso de estudio Sistemas de Notas. El alcance de esta solucin contempla el modelo de dominio del mundo del problema. Es importante aclarar que esta solucin no es nica.

Enunciado
El Colegio de Los Alpes es uno de los colegios ms reconocidos en el pas. Tiene desde primero hasta undcimo grado y en cada uno de cursos hay 1, 2 3 secciones llamadas A, B y C respectivamente. Todos los estudiantes de una misma seccin ven juntos todos los cursos de 7 a.m. a 1 p.m. Cada clase es de 1 hora y tienen un recreo de 9 a 10. Una seccin ve el mismo curso a la misma hora todos los das (por ejemplo, ve Matemticas II de 10 a 11, de lunes a viernes). Todos los profesores son de tiempo completo y tienen asociado, adems de la informacin personal, un cdigo nico, una lista de materias que puede dictar, una lista de cursos que est dictando, el grado del cual est encargado (si tiene alguno), y una categora que determina el salario que le van a pagar. Las categoras son de 1 a 5 (5 es la mxima) y el sistema debe permitir a la Oficina de Recursos Humanos administrar la tabla de salarios. Cuando un estudiante se matricula en el colegio, debe ir a la Oficina de Admisiones. All suministra todos sus datos personales, el grado al cual entra y el estrato (1..6) en el cual vive. All, despus de pagar, el sistema lo agrega a la seccin en la cual haya menos estudiantes en ese momento. La matrcula se calcula usando una tabla a partir del estrato al cual pertenece. Dicha tabla tambin se debe poder administrar desde la Oficina de Admisiones. Cada dos meses la Oficina de Registro pide al sistema la generacin de los boletines de notas de todos los estudiantes, a partir de la informacin ingresada en el sistema directamente por los profesores. Al hacer esto, el sistema debe calcular las notas definitivas de cada estudiante en cada curso y cerrar el bimestre, de manera que las notas parciales ya no se puedan modificar. Por reglamento del colegio, el profesor debe hacer cada bimestre dos exmenes y dos trabajos, e ingresar cada una de estas notas al sistema a medida que las va obteniendo. La nota del bimestre en cada curso corresponde al promedio de estos cuatro valores. Las notas van de 1 a 5 (por ejemplo, 4.23). En un ao hay 4 bimestres. La Oficina de Registro debe poder, adems, pedir al sistema la generacin de un boletn especfico de un bimestre ya cerrado, dando el carn del estudiante y el bimestre. El sistema no maneja informacin de aos anteriores, sino slo la informacin del ao en curso. El colegio tiene un saln para cada seccin (hasta 33 salones). Cada saln se llama con el grado y la seccin correspondientes. Por ejemplo, 3A (tercero seccin A). El sistema genera, a peticin de la Oficina de Registro, una comunicacin impresa con

los cursos que debe dictar algn profesor del colegio (materia y hora), que incluye la lista de sus estudiantes (carn y nombre). Este carn se le asigna al estudiante el da de la matrcula y corresponde a un valor secuencial (5 dgitos: 0000099999). Una materia tiene un nombre (por ejemplo Matemticas II) y un cdigo. Este cdigo es nico y est constituido por 5 dgitos, as: los dos primeros dgitos dan el grado (01-11), y los tres siguientes corresponden a un consecutivo. La informacin de materias, cursos, profesores y secciones se debe cargar, al comienzo de la ejecucin, de una base de datos con la que cuenta el colegio y que es administrada con otro programa.

Solucin propuesta
Aspectos Estructurales

Solucin propuesta - Aspectos Estructurales


Anlisis del modelo de dominio

Para ver imagen ampliada click aqu Entidad Descripcin

Atributos y asociaciones bimestreActual: bimestre actual del ao [5] tablaSalarios: contiene los posibles salarios de un profesor [*] matriculados: contiene los estudiantes matriculados del colegio

Colegio

Representa el colegio

[11] grados: contiene los grados escolares ofrecidos [*] profesores: contiene los profesores del colegio [6] tablaMatriculas: contiene el valor de la matrcula por estrato social [*] catalogo: contiene las materias ofrecidas por el colegio [1..3] secciones: contiene las secciones de estudiantes [1] encargado: es el profesor encargado nmero: es el nmero del grado letra: es la letra de la seccin [5] cursos: contiene los cursos vistos por esta seccin [*] estudiantes: contiene los estudiantes de esta seccin

Grado

Representa uno de los grados escolares

Seccin

Es una seccin de un grado escolar

Curso

hora: es la hora en la que se dicta el curso Es un curso visto por una seccin [1] datosMateria: son los datos de la materia en un cierto horario dictada por este curso informacionPersonal: es la informacin personal de un profesor cdigo: es el cdigo nico de identificacin del profesor categora: es la categora salarial [0..1] gradoEncargado: grado del que puede estar encargado el profesor [*] dictando: contiene los cursos que est dictando actualmente [*] dictables: contiene las materias que puede dictar nombre: es el nombre de la materia cdigo: es el cdigo de identificacin programa: es el programa cubierto por la materia informacinPersonal: es la informacin personal de un estudiante carn: es el cdigo nico de identificacin estrato: es el estrato social al que pertenece el estudiante [5] cursosAbiertos: contiene los cursos vistos en el bimestre actual [0..4] bimestresCerrados: contiene los datos acadmicos del estudainte de los bimestres cerrados

Profesor

Es un profesor del colegio

Materia

Es una materia ofrecida por el colegio

Estudiante

Es un estudiante inscrito en el colegio

[1] datosCurso: son los datos del curso Representa el conjunto de notas [0..1] examen1: posible nota de un examen NotasParciales de un curso del bimestre en [0..1] examen2: posible nota de un examen curso [0..1] trabajo1: posible nota de un trabajo [0..1] trabajo2: posible nota de un trabajo Nota Es una nota de un examen o un trabajo valor: es el valor numrico de la nota id: es el identificador nico [5] cursosCerrados: contiene el conjunto de notas de cada uno de los cursos

BimestreCerrado Representa un bimestre cerrado

NotaCurso

Representa el conjunto de notas nota: es el valor numrico de la nota de un curso de un bimestre [1] curso: son los datos del curso cerrado Es una categora salarial de un profesor Es el estrato social de un estudiante identificador: es el identificador nico salario: es el valor numrico del salario identificador: es el identificador nico valor: es el valor numrico de la matrcula

Categora

Estrato

Enunciado del caso

Caso #2 - Sistema de Informacin de un Parqueadero


A continuacin se presenta el anlisis del caso de estudio del Sistema de Informacin de un Parqueadero. El alcance de la solucin contempla anlisis de los requerimientos funcionales, modelo de dominio del mundo y diagramas de secuencia del problema. Es importante aclarar que esta solucin no es nica.

Enunciado
Se quiere construir un sistema de informacin para manejar un parqueadero. En un parqueadero existe un nmero dado de puestos (configurados por el administrador), informa el cada uno de en los el cuales que tiene un debe identificador. parquear. Al llegar un carro a la puerta, el portero teclea la placa del carro y el sistema le puesto A la salida, el portero teclea la placa y el sistema informa el monto que debe pagar el dueo del carro, si ste no tiene un contrato mensual con el parqueadero. Para abrir un contrato por mes (todos comienzan el 1 del mes), el dueo de un carro debe ir donde el administrador, darle los datos bsicos del carro y pagar. Los carros que tienen contrato no tienen que pagar nada a la salida. Tanto la tarifa que paga cada vehculo por minuto como la tarifa que se paga por un contrato mensual son definidos por el administrador.

Por razones de auditora, el parqueadero debe guardar todos los servicios de parqueo del ltimo mes: hora de llegada, hora de salida, placa del carro, monto pagado (si pag algo). El administrador puede pedir un reporte en el que aparezcan dichos servicios de parqueo para un contrato dado (identificado por la placa) o para todos los carros que no tienen contrato. Al final de cada mes el administrador hace un cierre, se borran los archivos de auditora y se cancelan todos los contratos.

Solucin propuesta

Aspectos Aspectos Aspectos de Comportamiento

Funcionales Estructurales

Solucin propuesta - Aspectos Funcionales


Anlisis de Requerimientos Funcionales
Administrador Representa a la persona encargada de administrar el parqueadero Actores Portero Representa a la persona que permite la entrada de vehculos y cobra cada vez que sale uno de ellos

Guas Nombre los en casos de la

Clave uso comenzando intencin con del un

: verbo. actor.

- Escriba casos de uso en un estilo esencial; no considere la interfaz de usuario y cntrese - Las relaciones entre los casos de uso son secundarias en el trabajo con los diagramas de casos de uso.

Actor

Caso de uso

Entradas

Precondiciones

Resultados Se ha definido que el parqueadero tiene el nmero dado de puestos Se ha asignado un identificador a cada puesto

C1: Configurar puestos

nmero El nmero de de puestos puestos es vlido

tarifa por minuto Las tarifas son C2: Definir tarifas tarifa vlidas por mes datos Los datos son C3: Abrir Contrato bsicos del vlidos carro C4: Generar el reporte de un contrato C5: Generar el reporte de todos los carros sin contrato placa del La placa del carro carro es vlida

Se han fijado las tarifas del parqueadero en los valores dados

Se ha definido el contrato para el carro con los datos dados Se ha generado un reporte con todos los servicios de parqueo del carro durante el mes Se ha generado un reporte con los servicios de parqueo de todos los carros que no tienen contrato y que han entrado durante el ltimo mes Se han borrado los archivos de auditoria y se han cancelado todos los contratos del mes

C6: Generar cierre

Actor

Caso de uso

Entradas

Precondiciones

Resultados Se ha indicado el puesto en el que el vehculo debe parquear El carro ha ingresado al parqueadero y ha ocupado el puesto sealado Se ha indicado el valor que debe pagar el conductor del carro (el valor es 0 si el carro tiene contrato) El carro ha salido del parqueadero

C7: Permitir el ingreso de un carro

placa del carro

Hay cupo en el parqueadero

C8: Autorizar salida de un carro Enunciado del caso

placa del carro

Hay un carro con la placa dada en el parqueadero

Solucin Propuesta - Aspectos Estructurales


Anlisis del modelo de dominio

Guas dominio conceptuales de de inters, grano no fino

Clave de que componentes especificar de por

: software. defecto.

- Un modelo de dominio es una representacin de las cosas del mundo real del - Es mejor especificar por exceso en un modelo del dominio con muchas clases - Haga el modelo de dominio con el modo de trabajo de los cartgrafos: utilice los nombres existentes en el territorio, excluya caractersticas irrelevantes y no aada cosas que no estn ah. - Si tiene dudas en cuanto representar algo como un atributo o como un concepto, piense si lo que desea representar es un nmero o texto en el mundo real, si no lo es, probablemente sea una clase conceptual, no un atributo. En caso de mayor duda, considrelo como un concepto separado. - Un modelo de dominio no es absolutamente correcto o equivocado, sino ms o menos til, es una herramienta de comunicacin que proporciona una diccionario visual del vocabulario y conceptos del dominio de los cuales nos inspiramos para nombrar algunas cosas del diseo de software. Entidad Descripcin Atributos y asociaciones

Parqueadero Representa el parqueadero

tarifaMinuto: tarifa que se cobra por minuto estacionado tarifaMensual: tarifa que se cobra por un contrato mensual [*] movimientosSinContrato: conjunto de servicios de parqueo prestados a los carros que no cuentan con un contrato mensual [*] puestosOcupados: conjunto de puestos ocupados

en el parqueadero [*] puestosLibres: conjunto de puestos libres en el parqueadero [*] contratos: conjunto de contratos abiertos para el mes actual [*] parqueados: conjunto de carros estacionados actualmente en el parqueadero Es un puesto del parqueadero que puede tener un carro estacionado identificador: identificador nico del puesto [0..1] carro: carro que puede estar estacionado en este puesto

Puesto

Carro

horaLlegada: hora de llegada del carro al parqueadero placa: nmero de placa del carro Es un carro parqueado en algn [0..1] carrosConContrato: contrato mensual que puede puesto del parqueadero tener un carro con el parqueadero [0..1] puesto: puesto en el que est parqueado el carro Representa un contrato mensual de un carro placa: nmero de placa del carro [*] movimientosConContrato: conjunto de servicios utilizados por el carro durante el mes actual

Contrato

horaLlegada: hora de llegada del carro al parqueadero Representa el servicio prestado horaSalida: hora de salida del carro del parqueadero Movimiento a un carro al entrar y salir del montoPagado: suma de dinero pagada por el carro (si parqueadero pag algo) placa: nmero de placa del carro Enunciado del caso

Solucin Propuesta Comportamiento

Aspectos

de

Principales diagramas de secuencia


Caso de uso C4: Generar el reporte de un contrato Entradas placa del carro (placa) Precondiciones Resultados

Se ha generado un reporte con todos los La placa del carro servicios de parqueo del carro durante el es vlida mes

Guas

Clave

- Dibuje un Diagrama de secuencia del sistema para el principal escenario de xito de cada caso de uso, y los escenarios frecuentes o alternos complejos. - Los diagramas de secuencia pueden opcionalmente mostrar el retorno de un mensaje mediante una lnea punteada con la punta de la flecha abierta, al final de una caja de activacin. Pero lo normal es que se excluya por quienes utilizan UML. Caso de uso Entradas Precondiciones Resultados C8: Autorizar salida de un carro Hay un carro con la placa dada en el parqueadero Se ha indicado el valor que debe pagar el conductor del carro (el valor es 0 si el carro tiene contrato) El carro ha salido del parqueadero

placa del carro (placa)

Para ver imagen ampliada click aqu Enunciado del caso

Caso #4 - Exmenes en lnea


A continuacin se presenta el anlisis del caso de estudio de Exmenes en Lnea. El alcance de la solucin contempla anlisis de los requerimientos funcionales, modelo de dominio del mundo y diagramas de secuencia del problema. Es importante aclarar que esta solucin no es nica.

Enunciado
Una universidad est interesada en construir un sistema para el manejo y aplicacin de exmenes en lnea para cualquiera de sus cursos. La universidad considera que dicho sistema es el primer paso para montar versiones totalmente virtuales de sus cursos y ha preparado varios incentivos para que los profesores lo utilicen muy activamente. En dicho sistema cualquier profesor (despus de haber tecleado su usuario y su palabra clave desde un navegador) debe poder agregar un nuevo curso, para lo cual debe dar un cdigo y un nombre. Para cada curso, el sistema almacena un conjunto de preguntas que, por ahora, tienen que ser de seleccin mltiple. Dichas preguntas pueden ser agregadas por cualquier profesor (no tiene que ser el profesor que cre el curso). Una pregunta tiene asociado un nmero consecutivo (llamado su identificador y asignado automticamente por el sistema) y consta de un enunciado y de una secuencia de respuestas posibles, numeradas de 1 a 5, una sola de las cuales es correcta. Una vez los profesores han definido este banco de preguntas, cualquiera de ellos puede crear un examen (debe dar su nombre de usuario y el cdigo del curso, para que el sistema asocie el examen con este profesor) de dos maneras distintas: seleccionando pregunta a pregunta dando su identificador, o pidiendo al sistema que genere el examen de manera aleatoria, para lo cual el profesor debe definir el nmero de preguntas que el examen debe contener. Un examen tiene un cdigo que es nico (generado por el sistema), el cual debe ser tecleado por el estudiante cuando le piden que conteste un examen de un curso. Al crear un examen el profesor define una fecha y una hora de inicio (en ese momento se abre el examen), y una fecha y una hora de finalizacin (en ese momento se cierra el examen). Los exmenes pueden abrirse o cerrarse en cualquier momento del da, de la semana, pero no se espera que se realicen uniformemente a lo largo del semestre: en algunas semanas particulares se realizarn la mayora de los exmenes. Cada estudiante (identificado por un nmero de carnet y un nombre), luego de dar su usuario y su palabra clave desde un navegador, indica que va a comenzar a contestar un examen abierto, ingresando su cdigo. Despus, puede contestar sus

preguntas, dando el nmero de la pregunta que quiere contestar y la respuesta que considera correcta. Si el estudiante ya haba contestado dicha pregunta, el sistema remplaza la respuesta por la nueva. Al llegar la hora de cierre del examen, el sistema calcula la nota de cada uno de los estudiantes (un valor entre 0 y 5), teniendo en cuenta que todas las preguntas valen lo mismo En cualquier momento un estudiante puede consultar los resultados (nota) de todos los exmenes ya cerrados que fueron presentados por l. Adicionalmente, un profesor tambin puede consultar los resultados de cualquiera de los exmenes cerrados que l ha creado. La universidad est planeando una campaa bastante ambiciosa para que los profesores construyan un banco de preguntas muy completo (al menos 500 preguntas por curso). Se calcula que cuando el sistema sea adoptado por todos los cursos de la universidad (actualmente son 900) el nmero de estudiantes participantes ser cercano a 15.000.

Solucin propuesta
Aspectos Aspectos Aspectos de Comportamiento Funcionales Estructurales

Solucin propuesta - Aspectos Funcionales


Anlisis de Requerimientos Funcionales
Estudiante Actores Profesor Representa a un profesor, que construye exmenes para aplicar a sus estudiantes y revisa los resultados obtenidos por ellos. Representa a un estudiante que va a utilizar el sistema de exmenes en lnea, contestando preguntas y consultando sus resultados.

Actor

Caso de uso C1: iniciar un

Entradas cdigo

Precondiciones Es un estudiante

Resultados El estudiante comenz a

examen abierto

estudiante cdigo examen

vlido El examen est abierto

contestar el examen, inicialmente sin ninguna respuesta dada

cdigo estudiante cdigo C2: contestar examen una pregunta de nmero un examen de la iniciado pregunta nmero de la respuesta C3: consultar los cdigo resultados de sus estudiante exmenes

Es un estudiante vlido El estudiante ya haba iniciado este examen Los nmeros de la pregunta y la respuesta son vlidos

El estudiante ha contestado en el examen, la pregunta dada con la respuesta dada. Si la pregunta ya tena una respuesta, sta ha sido actualizada

Es un estudiante vlido

El estudiante obtiene las notas obtenidas en todos sus exmenes presentados que ya fueron cerrados

Actor

Caso de uso

Entradas

Precondiciones No existe un curso con ese cdigo

Resultados El curso se ha agregado al sistema de exmenes en lnea

C4: agregar un cdigo curso curso nombre curso cdigo curso enunciado pregunta respuesta1, respuesta2, respuesta3, respuesta4, respuesta5 respuesta

C5: agregar una pregunta a un curso

Es un curso vlido La respuesta correcta es una de las respuestas posibles

La pregunta con sus respuestas posibles ha sido agregada al banco de preguntas del curso Se le ha asignado a la pregunta un identificador nico

correcta Se ha creado un nuevo examen vaco, para el curso cdula profesor Es un profesor vlido dado, con las fechas dadas C6: crear un cdigo curso Es un curso vlido El nuevo examen se ha examen vaco fecha-hora inicio Las fechas de inicio y asociado con el profesor de un curso fecha-hora final finalizacin son vlidas Al examen creado se le ha asignado un cdigo que es nico El cdigo del examen es vlido y no ha sido abierto Se ha agregado al examen la La pregunta es vlida pregunta con el identificador y corresponde al curso dado del cual hace parte el examen

C7: agregar una pregunta a un examen

cdigo examen identificador pregunta

C8: generar examen

Se ha creado un nuevo examen, para el curso dado, con el nmero de preguntas cdula profesor Es un profesor vlido pedidas, seleccionadas de cdigo curso Es un curso vlido manera aleatoria, con las fechas nmero de El nmero de dadas preguntas preguntas es vlido El nuevo examen se ha fecha-hora inicio Las fechas de inicio y asociado con el profesor fecha-hora final finalizacin son vlidas Al examen creado se le ha asignado un cdigo que es nico El profesor obtiene los resultados obtenidos por los estudiantes que contestaron el examen

Es un profesor vlido C9: consultar El examen fue cdula profesor los resultados creado por el profesor, cdigo examen de un examen y ya se encuentra cerrado Enunciado del caso

Solucin Propuesta - Aspectos Estructurales

Anlisis del modelo de dominio

Para ver imagen ampliada click aqu Evale: Los elementos del mundo estn completos? Las relaciones entre elementos son suficientes? Tengo toda la informacin que necesito No tengo informacin que no necesito El modelo del mundo soporta los requerimientos que se plantearon? Podemos navegar el modelo adecuadamente? Descripcin Entidad Atributos y asociaciones

Examen

Es un examen construido por un profesor, en todos sus estados posibles (en creacin, abierto y cerrado)

cdigo: identificador nico del examen inicio: fecha-hora de inicio del examen finalizacin: fecha-hora de cierre del examen [*] preguntas: conjunto de preguntas que hacen parte del examen [1] curso: curso del cual hace parte este examen [*] terminados: conjunto de exmenes terminados de contestar por los estudiantes. Mientras el examen est abierto, este conjunto est vaco [*] contestadas: contiene las preguntas que hasta ahora ha contestado el estudiante, con su respectiva respuesta

ExamenEnProceso

Es un examen que est siendo contestado por un estudiante y

que no ha sido todava cerrado

[1] examen: examen que est siendo contestado carn: carn del estudiante nombre: nombre del estudiante [*] contestando: contiene los exmenes que en este momento el estudiante se encuentra contestando [*] contestados: contiene los resultados de los exmenes cerrados que fueron contestados por el estudiante cdula: documento de identidad del profesor [*] creados: contiene los exmenes creados por el profesor, que se encuentran en proceso de construccin o abiertos [*] cerrados: contiene los exmenes creados por el profesor, que se encuentran cerrados identificador: cdigo de la pregunta enunciado: texto que contiene el enunciado de la pregunta [5] posibles: contiene las 5 respuestas posibles a la pregunta [1] correcta: es la respuesta correcta a la pregunta. Corresponde a una de las 5 respuestas posibles cdigo: cdigo del curso nombre: nombre del curso [*] preguntas: banco de preguntas del curso texto: cadena de caracteres con la respuesta [1] preguntaRef: pregunta del examen que contest [1] contestada: respuesta marcada como correcta [*] cursos: contiene todos los bancos de preguntas asociados con los cursos de la universidad [*] profesores: contiene todos los profesores de la universidad [*] estudiantes: contiene todos los estudiantes de la universidad [*] exmenes: contiene todos los exmenes de la universidad, en cualquier

Estudiante

En un estudiante inscrito en la universidad

Profesor

Es un profesor de la universidad

Pregunta

Es una pregunta de seleccin mltiple de un examen

Curso

Es un curso de la universidad

Respuesta

Es una respuesta a una pregunta de un examen

Es la respuesta que ha dado un RespuestaMarcada estudiante a una pregunta de un examen

ManejadorExamenes

Representa el manejador de exmenes de la universidad

estado (en creacin, abierto y cerrado) nota: evaluacin final obtenida en el examen Representa un examen cerrado, ya ExamenTerminado [1] estudiante: persona que contest el terminado por un estudiante examen [1] examen: examen contestado Enunciado del caso

Solucin Propuesta Comportamiento

Aspectos

de

Principales diagramas de secuencia


Caso de uso Entradas Resultados

Cdigo estudiante C1: iniciar examen (codEst) abierto Cdigo examen (codEx)

El estudiante comenz a contestar el examen, inicialmente sin ninguna respuesta dada

Caso de uso

Entradas

Resultados

cdula profesor (ced) cdigo curso C6: crear un examen vaco (cod) de un curso fecha-hora inicio (inic) fecha-hora final (fin)

Se ha creado un nuevo examen vaco, para el curso dado, con las fechas dadas El nuevo examen se ha asociado con el profesor Al examen creado se le ha asignado un cdigo que es nico

Caso de uso

Entradas

Resultados

carn estudiante (car) cdigo examen C2: Contestar una El estudiante ha contestado en el examen la pregunta (cod) pregunta de un examen dada con la respuesta dada. Si la pregunta ya tena una nmero de la iniciado respuesta, sta ha sido actualizada pregunta (preg) nmero de la respuesta (resp)

Enunciado del caso

Anda mungkin juga menyukai