Diferencia entre revisiones de «Manual del estudiante de Ingeniería en Sistemas de UTN/Diseño e Implementación de Estructuras de Datos/Trabajos prácticos»

Contenido eliminado Contenido añadido
Rgfernan (discusión | contribs.)
Línea 100:
# Implementar la administración de archivos de comandos: apertura, guardado y edición.
# Implementación de árbol de rollback para los cambios al documento que se realicen por línea de comandos. (La visualización del árbol se puede implementar con un JTree)
# Implementar la edición, vista y manipulación de archivos de tipo "der", con las siguientes especificaciones:
 
* Los archivos "der" representan un diagrama de entidad-relación.
* Su extensión es <code>.der.xml</code>.
* Son documentos xml version "1.0", por lo tanto su encabezado será:
<?xml version="1.0" standalone="no"?>
* La definición de tipos se encuentra en der.dtd (que se describe más adelante), por lo tanto su declaración será:
<!DOCTYPE der SYSTEM "/der.dtd">
* Deberá ser posible cambiar la vista a la vista de diseño, donde se dibujarán los elementos minimizando los cruces de líneas, y aprovechando de la mejor manera el espacio de la ventana.
 
=== Contenido de der.dtd ===
<!ELEMENT entidad (nombre , atributo*)>
<!ELEMENT atributo (nombre, tipo?)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT tipo (#PCDATA)>
<!ELEMENT rol (nombre?)>
<!ELEMENT relacion (nombre, rol+,atributo*)>
<!ATTLIST entidad id ID #REQUIRED>
<!ATTLIST rol
id ID #REQUIRED;
entidad IDREF #REQUIRED;
cardinalidad CDATA #REQUIRED;
>
 
=== Ejemplo de archivo "der" ===
==== Contenido ====
<?xml version="1.0" standalone="no"?>
<!DOCTYPE der SYSTEM "der.dtd">
<der>
<entidad id="entidad_cliente">
<nombre>Cliente</nombre>
<atributo>
<nombre>DNI</nombre>
<tipo>Number</tipo>
</atributo>
<atributo>
<nombre>Numero de cliente</nombre>
<tipo>Number</tipo>
</atributo>
<atributo>
<nombre>Nombre</nombre>
<tipo>Varchar</tipo>
</atributo>
</entidad>
<entidad id="entidad_pedido">
<nombre>Pedido</nombre>
<atributo>
<nombre>Fecha</nombre>
<tipo>Date</tipo>
</atributo>
</entidad>
<entidad id="entidad_articulo">
<nombre>Articulo</nombre>
<atributo>
<nombre>Codigo</nombre>
<tipo>Varchar</tipo>
</atributo>
</entidad>
<relacion>
<nombre>Realiza</nombre>
<rol
id="rol_realizador"
entidad="entidad_cliente"
cardinalidad="1"
/>
<rol
id="rol_es_realizado"
entidad="entidad_pedido"
cardinalidad="*"
/>
</relacion>
<relacion>
<nombre>Se compone</nombre>
<rol
id="rol_compuesto"
entidad="entidad_pedido"
cardinalidad="*"
/>
<rol
id="rol_componen"
entidad="entidad_articulo"
cardinalidad="*"
/>
<atributo>
<nombre>Cantidad</nombre>
<tipo>Number</tipo>
</atributo>
</relacion>
</der>