Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-08-2012
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
Como podria modelar esto

Hola foros de tiempo que entro al club la verdad extrañe este circulo tan activo, bueno a lo nuestro, pasa que estoy encargado de hacer un sistema de control de un colegio particular, y en esto estoy en la fase de modelado y creando mis clases, no tengo mucha practica en el análisis orientado a objetos y bueno tal vez esta pregunta les resulte tonta quizas pero me animo a hacerla a pesar de ello

En la institución tiene 3 niiveles inicial primaria y secundaria el alumno nuevo ya sea que entra a inicial o algún año por que sea que viene de otro colegio primero tiene que inscribirse y llenar una ficha de inscripción donde figuran sus datos, los datos de su madre y su padre, ahora después de esto es evaluado para ver si ingresa a la institución o no, si ingresa o aprueba los exámenes entonces se le matricula en el años escolar para lo cual se le toman datos y uno de los datos es apoderado, que es quien representa al alumno en la institución, y se elije de uno de los parientes del alumno padre o madre y otro pariente que haya registrado en la ficha de inscripción. hasta aquí yo he creado las siguientes clases:


Estudiante
----------
Codigo
Nombes
ApePat
...


Familiares
---------
Id
Nombres
....
parentezco


Apoderado
----------



teniendo esas tres clase yo me pregunto Apoderado seria una subclase de Familiares o una clase producto de la relación entre estudiante y familiares osea una clase de relación es decir graficándolo en uml


mi consulta seria estoy haciéndolo bien o que clases son las correctas o como debería ser modelado esto


Saludos

David
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
  #2  
Antiguo 31-08-2012
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
Nadie ?????????????

Vaos foro algun aporte habra o solo son programadores??? animense a decir algo
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
  #3  
Antiguo 31-08-2012
Avatar de champy
champy champy is offline
Miembro
 
Registrado: sep 2003
Ubicación: Alicante, España
Posts: 75
Poder: 21
champy Va por buen camino
No comprendo demasiado bien la pregunta. Pero por lo que entiendo tienes dudas sobre como estructurar la base de datos en lo relativo al "Apoderado". ¿Es así?

Pues bien, si cada alumno va a tener varios parientes y solo uno de esos parientes va a ser apoderado entonces debería quedarte algo así.

Código SQL [-]
Create table Alumnos (
ID_Alumno Integer not null,   //Primary Key
Nombre Varchar,
Apellidos Varchar,
....)


Create table Familiares (
Id_familiar Integer not null,   //Primary Key
FamiliarDe Integer not null,   //F. Key
EsApoderador Boolean,
...)

Pero esto me da a pensar.... ¿contemplas la posibilidad de que un mismo familiar pueda ser apoderado a más de un alumno? en tal caso necesitarías de una tabla intermedia que una a Alumnos y Familiares para que tanto un alumno pueda tener varios familiares como que cada familiar pueda serlo de varios alumnos.

Código SQL [-]
Create table Alumnos (
ID_Alumno Integer not null,  //Primary Key
Nombre Varchar,
...)

Create table Familiares (
Id_familiar Integer not null,  //Primary Key
Nombre Varchar,
...)

Create table RelacionEntreAlumnosYFamiliares(
Id_DelAlumno integer not null,    //Primary Key
Id_DelFamiliar integer not null,   //Primary Key
Parentesco Varchar,
Es_Apoderado Boolean)

Última edición por champy fecha: 31-08-2012 a las 09:11:47.
Responder Con Cita
  #4  
Antiguo 31-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por david_uh Ver Mensaje
mi consulta seria estoy haciéndolo bien o que clases son las correctas o como debería ser modelado esto
Es que no se entiende bien lo que preguntas.
Además de que eso no son clases, esos son campos de tablas de una base de datos.
Responder Con Cita
  #5  
Antiguo 31-08-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por david_uh Ver Mensaje
Vaos foro algun aporte habra o solo son programadores??? animense a decir algo
Aquí somos programadores que escriben código con Object Pascal, con una sintaxis exquisita y clara. Esto nos ayuda a que cuando explicamos hacemos buen uso de las reglas ortográficas, empleamos las comas, puntos y demás separadores ortográficos perfectamente.
Tu por otro lado pareces que vienes de C porque tu texto no se entiende nada. Al escribir te saltaste casi todos los signos. No se puede seguir el sentido de tus oraciones y por tanto, no se llega a comprender tus ideas.

Además, no hay obligación de responderte, y tan sólo han pasado 2 días. En el foro se tratan miles de preguntas por vez y puede que a alguien se le haya olvidado o no pudo darse más tiempo para aportar al hilo. Los demás también tiene sus obligaciones.
Si estás tan apresurado entonces ve a lo de otro colega por tu zona y le pagas los debidos honorarios para que haga el análisis por ti.

Hay varias maneras de pedir las cosas. Y evidentemente no elegiste la mejor opción.

Por otro lado si estás declarando clases, y ya que tu al parecer eres un gran programador y todo un excelente profesional debieras haber declarado esa clase de forma correcta. Para algo existe UML:

Código:
+-------------+
| NOmbreClase |
+-------------+
| Atributos   |
+-------------+
| Métodos     |
+-------------+
O hasta se te podría haber aceptado algo menos sofisticado:
Código:
NOmbreClase
-----------
Atributos
-----------
Métodos
-----------
E igualmente se te entendería.

Lo tuyo parece algo más orientado a la declaración de unas tablas para una base de datos (más que nada debido a que se vislumbra un atributo-Campo ID en la tabla-clase Familiares, que tiene sentido sólo en base de datos dicho sea de paso; y los nombres para las clases siempre van en singular) que la declaración de unas clases. Y si bien en UML se acepta el uso de estereotipos, y existe uno para las bases de datos casi todos los profesionales lo consideran aberrante, exagerado. Constantemente se hace el debido llamado a emplear el DER que es más apropiado para hablar sobre el contexto de una base de datos.

Cuando dices:
Cita:
teniendo esas tres clase yo me pregunto Apoderado seria una subclase de Familiares o una clase producto de la relación entre estudiante y familiares osea una clase de relación es decir graficándolo en uml
Derrapas mal.
A ver, explícate, y ordena bien tus palabras... ¿Clase producto? ¿Clase de relación?
Cuando dices Clase, ¡te refieres exactamente a Clase según el paradigma OO, o más bién intentaste decir "tipo"?.
En la teoría OO/UML no existe el término "Clase de relación". Cuando dos clases se asocian entre si, y donde la cardinalidad puede leerse en ambos sentidos y existen atributos que podría ir en cualesquiera de ésta para formar la relación es que tenemos en el medio lo que se conoce como Clase Asociación y recibe los campos comunes y que permiten justamente romper con la ambigüedad. Y déjame decirte que posee una forma definida y contemplada en el estándar UML de representarla, como por ejemplo aquí. En ese ejemplo puede verse con una línea punteada como se relaciona esta clase con las otras dos.

Creo que es eso a lo que intentaste referirte. Pero leyendo tus textos la verdad es que me pierdo.
A mi parecer al que le hace falta aprender algunas cosas es a ti.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 31-08-2012
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
Buen día Foro

Gracias por sus aportes entiendo que no puse mucha información sobre mi pregunta por lo cual me disculpo, no fué mi intención molestar a nadie con mi segundo comentario y tengo muy en claro que nadie tiene la obligación de contestar mi pregunta, pero si, de alguna forma mis comentarios les resultaron inapropiados me disculpo por ello, siempre me he sentido bien en este foro por el alto nivel de actividad y colaboración que existe.

Continuando con la pregunta, la verdad es que no me refería a tablas, pero agradezco el aporte de champy me será de mucha utilidad mas adelante. Haciendo eco de las palabras de Casimiro Notevi aquí posteo mas información, en resumen el proceso es inscripcion evaluacion y si aprueba se procede a la matrícula describiéndose así:

Cita:
PROCESO DE ALUMNOS NUEVOS

El apoderado llega a la institución solicitando informes, de acuerdo al nivel al que desea matricular a su apoderado se le entrega una ficha para que llene sus datos se le una fecha para una evaluación de conocimientos y psicológica, luego de lo cual se procede a una entrevista con la madre directora, después de eso se le da los resultados, en base a los resultados (obtenidos de las tres pruebas anteriores) se procede a efectuar la matrícula

PROCESO DE MATRICULA

Se procede a llenar una ficha de matrícula se le pide documentos (copia del dni del padre, la niña, carnet de vacunas, copia si es primaria o inicial) en caso de no tener DNI el menor se usa un código el cual es generado de la siguiente manera: año de nacimiento (02 dígitos)+código del colegio(inicial primaria secundaria)+nro de orden de matrícula, una vez hecho esto se procede a llenar sus datos, firma documentos, se le da documento de acreditación de alumna, se le informa de la fecha de inicio de labores, el proceso es el mismo para los tres niveles
Proceso de traslados externos
Normalmente se reciben hasta fines de septiembre, el proceso es similar al anterior

PROCESO DE CONTROL DE ASISTENCIA


El recojo de los partes de asistencia está a cargo de la encargada de normas educativas
Entonces el proceso de inscripción es uno y el de matrículas otro proceso separado, he aquí el diagrama de actividades de la Inscripción y de la matrícula, y estas son las clases que he creado a partir de el enunciado. aún las clases no contemplan atributos.

Mis inquietudes serían ¿Que opinan de esas clases? ¿ están bien estructuradas? ¿alguna sugerencia? mi duda es con respecto a Familiar, Parentezco y Apoderado sobre todo, pudiendo el Estudiante tener como familiares a un padre, una madre, un tío, etc. pero solo uno de ellos es quien lo representa en la institución siendo este el Apoderado o quizás otro nombre vendría bien para esta figura.

No soy Experto en programación más bien diría un novato mucho más novato que caral todavía , y siempre cuando se me ha encargado algún proyecto siempre use mi propia terminología en diagramas y no UML sin embargo ahora tengo que hacerlo y debe ser Orientado a Objetos, por lo cual recurro a ustedes, agradecido de antemano por cualquier comentario me despidosde ustedes.

Saludos

David
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
  #7  
Antiguo 31-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que ahora ha quedado más claro, a ver si algún experto te puede echar una mano, estas cosas yo las suelo hacer "a mano, y a mi manera"
Responder Con Cita
  #8  
Antiguo 31-08-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Bueno a ver, empecemos a hacer trizas ese diagrama de clases

1) ¿Cuál es el objetivo de las clases Antiguo o Nuevo que descienden de Estudiante? ¿Tiene alguna utilidad o hay necesariamente un proceso específico que valga la pena destacar y separar en dos clases?
Esto te lo pregunto para que te hagas la pregunta si en verdad aporta o no alguna utilidad el tener esas dos clases. ¿No pensaste que tal vez te las podrías ahorrar y sería más apropiado disponer de un atributo que determine si es viejo o nuevo?

2) Algo parecido se puede hacer con toda esa rama de herencias que haces sobre el Personal. ¿De veras crees que es tan necesario abstraer a software todas las personas que te encuentras? ¿Que tiene de particular o de novedoso o interesante el que exista por ejemplo EncargadaSecretaria? ¿Cuál es el objetivo de cada clase? ¿Necesariamente todo el proceso que describes pasa por igualarlo y llevar a nivel software?

Por ejemplo, cuando lees que la directoria entrevista al alumno, ¿asumes que entonces es de interés llevarlo a software? Algo como:

Código Delphi [-]
var: DirectoriaRenegona: Directora;
begin
 DirectoraRenegona.Entrevistar(AlumnoAsustado);
...
end;

Cuando se hace un diseño de las clases, no debe pensarse sólo en clases y empezar a meterlas como si nada. Debe cuidarse también si en verdad todas esas clases que estás metiendo te son de utilidad o están haciendo ruido. Además, parte del error está en no ir definiendo efectivamente que debe ir haciendo cada clase... Una combinación de los verdaderos procesos que son útiles y necesarios para llevar a cabo un verdadero control te dirá que vale poner o que vale sacar.

Eso no dice mucho si no te tomas el trabajo de poner mínimamente los atributos y métodos de interés.
Es como decir: venga, tengo todo esta cajas de productos, llenenmela... no se de que productos pero la quiero llena. O en tu caso: "tengo todas estas clases y no que se atributos y relaciones ponerles"

Eso lamentablemente no resulta. Si no puedes ver el contexto y tirar algo más integral, aunque sea borrador, va a ser difícil que podamos decir si va bien o mal. Y aquí debo hacer un debido llamado: en el mundo del análisis... ¡no hay dos iguales! Cada quien interpreta el contexto como considera apropiado. Por tanto no esperes LA respuesta.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Alguien me podria decir,cómo diseñar mi propio formulario como un skin o crear uno Master23 OOP 4 17-02-2010 16:54:33
¿Como podria programar un calendario? Nelly Varios 8 20-08-2006 04:59:34
¿Como podria hacer esto? slat Conexión con bases de datos 5 26-06-2004 18:08:51
Esto podría ser la frase de la semana, del mes, e incluso del año __cadetill Humor 3 03-07-2003 19:10:25


La franja horaria es GMT +2. Ahora son las 15:11:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi