SoloCodigo
Programación Específica => Ingeniería del Software => Mensaje iniciado por: alexis17 en Martes 4 de Marzo de 2008, 20:19
-
Buenos dias tengo una consulta, estoy repasando ingenieria de sofware y busque en un proyecto que havia realizado hace un par de años, pero algunas cosas no me acuerdo bien, para ver si alguien me podria decir los titulos de los diagramas que ise, ya que los que veo en internet no se parecen,
bueno solo reconosco el de casos_de uso
los otro se parecen a los de clases pero un poco diferentes
mi principal duda es en esta
cual representa la pantalla, se que el circulo a la derecha y el laplito a mano isquierda
el circulo que tiene un punto negro es un proceso?
el circulo que esta subrayado representa la base de datos?
un ejemplo:
en Factura
Id _ factura sting
Cédula _ pasaporte string
Fecha _ salida string
Cédula_e string
estos son los campos de la base de datos osea los atributos
y esto es lo que me enrreda mas
Nueva _ factura ()
Modificar _ factura ()
Eliminar _ factura ()
Buscar _ factura ()
Estado _ factura ()
Imprimir _ factura ()
estos serian los metodos o botones?
si fuera en la ventana
Sistema de Reporte
estos serian los atributos
Fecha _ inicial string
Fecha _ final string
Nombre _ hotel string
Tipo _ hotel string
Tipo_de_habitación string
y estos lso metodos?
Desplegar hotel ()
Consultar ()
Imprimir ()
Desplegar pantalla ()
Cancelar ()
en caso de el control
Control Reporte
estos serian lso metodos o clases o botones
Consulta ()
Búsqueda nombre Hotel ()
o si los que utilize en el power point ya no se ultilizan ya que loss que vi en internet eran un poco distintos a los mios
para ver si alguien me podria ayudar, con algo de esplicacion gracias por su tiempo
-
En la primer página tenés un diagrama de "Casos de uso"
En la página dos tenés una definición de clases con sus respectivos atributos y métodos.
En la página cinco tenés un diagrama de secuencia.
En la página seis tenés un diagrama de colaboración.
Los de secuencia y colaboración son equivalentes, ambos son diagramas de interacción, es decir que tienen la misma información pero presentada de modo diferente. El de secuencia destaca el orden de los pasos de mensajes y el de colaboración resalta como colaboran los objetos entre si.
cual representa la pantalla, se que el circulo a la derecha y el laplito a mano isquierda
Esa misma. Es una interfaz.
el circulo que tiene un punto negro es un proceso?
Podría decirse que si. Un proceso de control. Es un gestor, pero no es un punto, es una flecha.
el circulo que esta subrayado representa la base de datos?
Representa información que el sistema debe recordar entre sesiones (Información persistente). Yo no diría que representa la DB, mas bien si querés entenderlo de esa manera, yo siempre lo relacioné con las tablas de una DB relacional, pero en realidad, el paradigma de programación orientado a objetos (POO) no utiliza DB relacionales.
un ejemplo:
en Factura
Id _ factura sting
Cédula _ pasaporte string
Fecha _ salida string
Cédula_e string
estos son los campos de la base de datos osea los atributos
Son los atributos de la clase Factura. Y si, vendrían a ser los campos de las tablas de la DB relacional. Pero estamos en la misma de antes. El POO no utiliza DB relacionales. Hay técnicas que utilizan algunos sistemas orientados a objetos que sí utilizan DB relacionales pero esto va en contra de la filosofia orientada a objeto. En estos casos, cada Clase pasa a ser una tabla en la DB, cada atributo de esa clase, pasa a ser un campo de dicha tabla, y cada instancia de esa clase (Objeto), pasa a ser un registro (fila) de dicha tabla. Pero te repito, eso ya no es orientado a objetos.
y esto es lo que me enrreda mas
Nueva _ factura ()
Modificar _ factura ()
Eliminar _ factura ()
Buscar _ factura ()
Estado _ factura ()
Imprimir _ factura ()
estos serian los metodos o botones?
Son los métodos de la clase factura.
si fuera en la ventana
Sistema de Reporte
estos serian los atributos
Fecha _ inicial string
Fecha _ final string
Nombre _ hotel string
Tipo _ hotel string
Tipo_de_habitación string
y estos lso metodos?
Desplegar hotel ()
Consultar ()
Imprimir ()
Desplegar pantalla ()
Cancelar ()
Si.
en caso de el control
Control Reporte
estos serian lso metodos o clases o botones
Consulta ()
Búsqueda nombre Hotel ()
Son métodos. La clase es "Control Reporte" y en este caso no tiene atributos
Espero te sirva.
Un saludo
-
gracias, por tomarse el tiempo de esplicarme detalladamente, me sirvio para aclarar las dudas
tenia otra consulta
bueno en la clase factura yo havia colocado los siguientes metodos
Nueva _ factura ()
Modificar _ factura ()
Eliminar _ factura ()
Buscar _ factura ()
Estado _ factura ()
Imprimir _ factura ()
pero otra persona me dijo que bueno la entidad o tabla factura y como usted dice en ese caso la clase es como una tabla
pero el me dijo que solo se colocaban metodos como insertar, modificar, eliminar, y buscar como lo que se podria realizar en esa tabla
bueno yo lo tengo casi asi solo que coloque tambien
Estado _ factura ()
Imprimir _ factura ()
asi que queria saber si en esta clase esta de mas estos dos ultimos?
ya que en la clase ocupacion havia colocado estos metodos
Confirme disponibilidad ()
Modificar _ cantidad ()
Modificar _ reservar ()
Modificar _ ocupadas ()
y tambien si se hace un diagrama de clases en general por modulo o solo por caso de uso
-
bueno en la clase factura yo havia colocado los siguientes metodos
Nueva _ factura ()
Modificar _ factura ()
Eliminar _ factura ()
Buscar _ factura ()
Estado _ factura ()
Imprimir _ factura ()
pero otra persona me dijo que bueno la entidad o tabla factura y como usted dice en ese caso la clase es como una tabla
pero el me dijo que solo se colocaban metodos como insertar, modificar, eliminar, y buscar como lo que se podria realizar en esa tabla
Bueno, aunque si puede hacerse una analogía entre clases y tablas, te recomiendo que no lo hagas. Son cosas diferentes, de lo contrario, nunca vas a dominar el paradigma OO.
En cuanto a los métodos. A excepción de los patrones de diseño (Cuya implementación no es obligatoria), no hay nada que nos diga que método puede ir o no en cierta clase, solamente existen consejos. Eso está ligado al diseño del sistema que cada uno haga. Por lo tanto y al no conocer la implementación de dichos métodos, no puedo decirte si están bien o mal ubicados. Haciendo algunas suposiciones sobre lo que cada método hace, me parece que el método estado_factura podría estar bien y que el Imprimir_ factura() debería estar en una interfaz de impresión. ej: "interfazDeImpresionDeFactura".
y tambien si se hace un diagrama de clases en general por modulo o solo por caso de uso
Podés hacer uno o varios "Diagramas de Clase" por cada módulo, pero al final, deberías crear el "Modelo de Clases" que integre todos los diagramas.
Un saludo
-
gracias por aclararme las dudas ay estoy mas claro saludoss :kicking:
-
buenas tardes
este es un proyecto que estoy haciendo
coloque en word lo que e echo y las pantallas, para ver si alguien tiene tiempo de verlo en el word tambien esplica un poco lo que hace la pantalla
y los diagramas de clases por pantallas o casos de uso, un caso de uso siempre es una pantalla o funcionavilidad ?
asi queria saber si voy bien o que tndria que corregir, ya para que me quede algo de base para aprender mas
-
que tal en este segundo word mande la continuacion ya que si mandaba todo el archivo junto pesaba mucho
se le agradece su ayuda,
-
Buenos dias que tal, tengo una consulta
o otra duda, los diagramas de caso de uso se hacen por procesos o por pantallas
ejemplo estoy haciendo diagramas de clases
en lo que estoy haciendo ya existen los procesos y diagramas de proceso
pero solo estoy haciendo los diagrama de clases para los que tienen pantallas, es nesesario hacer un diagrama de clases para un proceso?
si ya existe un diagrama de proceso para ese proceso? o es nesesario hacer los dos
otra duda
en los diagramas de clases
se pone el usuario y el sistema
o solo uno de los dos por diagrama
otra pregunta, como los casos de uso deben llamarse como verbos
si trabajo con diagrama de clases tambien debe ser como verbo? no peudo llamar un diagrama de clases ejemplo
mantenimiento de estudiantes?
consulta de estudiantes graduandos?
los dos son pantallas diferentes y esos son lso titulos de las pantallas
-
buenas tardes que tal, tenia otra consulta,
ejemplo si tengo una ventana con 3 tab, y tengo que modificar solo un tab se peude hacer un diagrama de clases de solo un tab de la pantalla o tendria que hacer el diagrama de toda la pantalla?
-
buenas noches otra ves molestando tenai otra consulta
si en mi entidad o clase que contiene los campos de la base de dato sejemplo
mi tabla en la base de datos tiene 10 campos
pero en la pantalla que estoy haciendo solo utilizo 5
cuando estoy haciendo mi diagrama de clases peudo poner como atributo solo 5 o tengo que colocar los 10 campos que tiene la tabla
-
Selecciona los campos que uqieras usar y listo...
Sería muy pobre que un sistema te obligue a colocar todos los campos que tenga una tabla, si es una base de datos relacional, acaso no puedes decidir que campos usar de qué tablas, etc... entonces porque interpretas que has de estar limitado o forzado cuando la idea es precisamente lo contrario flexibilidad total...
De todo modos hay cosas que no hace falta preguntar, com probar y ver qué sucede también se sabe. Si fuera el caso te daría un errro indicándote que es preciso indicar todos los campos, no crees ????...
-
buenas noches otra ves molestando tenai otra consulta
si en mi entidad o clase que contiene los campos de la base de dato sejemplo
mi tabla en la base de datos tiene 10 campos
pero en la pantalla que estoy haciendo solo utilizo 5
cuando estoy haciendo mi diagrama de clases peudo poner como atributo solo 5 o tengo que colocar los 10 campos que tiene la tabla
¿A ver. En el formulario solo se muestran 5 pero el sistema maneja 10 (5 ocultos, digamoslo así) para una entidad determinada?
Si es así, la clase para dicha entidad "debe" contener los 10 atributos.
-----------------------------------------------------------------------------------------
Algunos comentarios:
si en mi entidad o clase que contiene los campos de la base de dato sejemplo
1) Una clase no contiene campos de tu DB, contiene atributos y métodos, Pero esos atributos no son campos de tu DB, seguís confundido. Que al final, por necesidad de utilizar una DB relacional muchos de los atributos se correspondan con campos en una tabla, no quiere decir que un atributo obligadamente se convierta en un campo.
2) ¿Estás haciendo ingeniería inversa? De lo contrario está haciendo las cosas al revés.
En tu caso al utilizar una base de datos relacional. Primero se realiza el Diagrama de clases y posteriormente se vuelca a una DB relacional a través de un esquema de persistencia.
Un saludo