Sei sulla pagina 1di 24

Práctica 2

El botecito

Luis Mateo Hincapié Martinez


Universidad de Antioquia
Ingeniería de Sistemas
2019 - 1
Práctica No. 1 Estructuras físicas de la información y laboratorio

La empresa El botecito requiere un sistema para manejar la información de su organización


en memoria no volátil, el cual debe realizarse con base en el siguiente discurso:

La compañía tiene barcos de diversos tipos (goletas, de carga, yates, buques, etc.). Cada barco
tiene una capacidad máxima. Los barcos realizan viajes entre diversos puertos, siempre y
cuando tengan su registro mercantil al día. Cada viaje tiene un puerto de origen y un puerto
destino claramente definidos, o sea una ruta, sin embargo durante el trayecto los barcos
pueden atracar en puertos intermedios (“escalas”). No se pueden asignar rutas a barcos que
ya han zarpado.

Cada viaje tiene una tripulación: un capitán y varios marineros. Para ser capitán hay que
estar casado (o “con un parche en los dos ojos” como dicen ellos en su jerga) pero no
necesariamente tener hijos. Algunos capitanes elaboran un testamento donde especifican
cómo se reparten sus riquezas entre sus hijos y su esposa, con el objetivo de que la esposa no
obtenga todo su dinero.
Teniendo en cuenta el enunciado anterior, realice lo siguiente:

1. Modelo E-R de la solución (Use la notación Barker).


2. Por cada tabla identificada en el modelo, cree un archivo donde se almacenarán los registros de dicha
tabla (use registros de longitud fija).
3. Cree una aplicación que permita realizar las siguientes acciones:
a. Ingresar, actualizar y eliminar información en cada uno de los archivos (Registrar información de
cada una de las tablas halladas: barcos, capitanes, marineros, esposas, etc.)
b. Registrar viaje.
c. Registrar atraco.
d. Actualizar registro mercantil.
e. Reportes (Viajes, capitanes, marineros, encomiendas)

Tenga en cuenta que debe adjuntar el archivo ejecutable, los fuentes y los respectivos manuales de la aplicación
(técnico y de usuario). Recuerde el requisito no funcional de usabilidad. Recomendable usar interfaz gráfica.
Tenga en cuenta conservar la integridad de la información.
Para esta segunda práctica, utilice el trabajo realizado en la práctica 1 y realice, además, lo
siguiente:

Dote a su aplicación con la estructura de datos: árbol AVL.

Cree una instancia de dicho árbol por cada archivo. Esto con el fin de indizarlos por su clave primaria (la clave va a ser igual a la PK y
el valor va a ser igual a la dirección en disco donde se encuentra almacenado el registro).

Al momento de iniciar la aplicación se deben crear los índices. Esto es, subir a memoria principal los árboles.

Todas las operaciones se deben realizar sobre el árbol que está en memoria. Cada operación en memoria que afecte a los registros
se debe reflejar en los archivos. Por ejemplo, si se ingresa un registro se debe modificar tanto el árbol como el archivo.

Deben permitir visualizar el estado de los árboles (pueden usar alguna librería para trabajar con gráficos que les permita lograrlo).
Es decir, el usuario puede seleccionar un archivo y ver en una ventana la disposición del árbol correspondiente en un momento
dado.

Tenga en cuenta que debe adjuntar el archivo ejecutable, los fuentes y los respectivos manuales de la aplicación (técnico y de
usuario). Recuerde el requisito no funcional de usabilidad. Recomendable usar interfaz gráfica. Tenga en cuenta conservar la
integridad de la información.
Índice
1. Modelo Entidad - Relación
2. Manual técnico
3. Manual de usuario
4. Repositorio

El barquito
Modelo
Entidad
Relación
Notación Barker
Modelo Lógico - El botecito
Modelo Relacional - El botecito
Archivos
Personas: Barcos:
● IDENTIFICACION = 20 ● MATRICULA = 20
● NOMBRE = 40 ● CAPACIDADMAXIMA = 10
● SEXO = 1 ● NUMEROREGMERC = 20
● ESTADOVIVO = 1 ● FECHAREGMERC = 20
Capitan: ● NOMBRE = 40
○ IDRUTA = 20 ● ESTADO = 20
○ NUMHIJOS = 2 ● TIPOBARCO = 30
○ NUMESPOSAS = 2 Rutas:
○ FORTUNA = 20 ● NUMERO = 20
Marinero: ● MATRICULABARCO = 20
○ IDRUTA = 20 ● IDPUERTOORIGEN = 20
Esposa: ● FECHAPUERTOORIGEN = 20
○ ESPOSO = 20 ● IDPUERTODESTINO = 20
○ PORCHERENCIA = 20 ● FECHAPUERTODESTINO = 20
Hijo: ● IDPUERTOACTUAL = 20
○ IDPADRE = 20 ● IDCAPITAN = 20
○ PORCHERENCIA = 20 Escalas:
Puertos: ● IDRUTA = 20
● IDENTIFICACION = 20 ● IDPUERTO = 20
● NOMBRE = 40 ● FECHAESCALA = 20
● CIUDAD = 20
Manual
tecnico
Patrón MVC
Modelo – Vista – Controlador (generalmente
conocido como MVC) es un patrón
arquitectónico comúnmente utilizado para
actualiza desarrollar interfaces de usuario que divide una
ve VISTA
aplicación en tres partes interconectadas. Esto
MODELO se hace para separar las representaciones
usa
internas de la información de las formas en que
USUARIO la información es presentada y aceptada por el
manipula
CONTROLADOR
usuario. El patrón de diseño MVC desacopla
estos componentes principales permitiendo la
reutilización de código y el desarrollo paralelo.
Patrón DAO Objeto de acceso a datos ( DAO - Data Access
Object) es un objeto que proporciona una
interfaz abstracta a algún tipo de base de datos
actualiza
u otro mecanismo de persistencia. Al asignar las
ve VISTA
llamadas de la aplicación a la capa de
persistencia, el DAO proporciona algunas
operaciones de datos específicas sin exponer
usa
USUARIO manipula detalles de la base de datos. Este aislamiento
CONTROLADOR MODELO
respalda el principio de responsabilidad única .
Separa qué acceso de datos necesita la
CRUD
aplicación, en términos de objetos específicos
DAO
de dominio y tipos de datos (la interfaz pública
del DAO), de cómo estas necesidades pueden
satisfacerse con un DBMS específico , esquema
de base de datos, etc.
Java NIO
actualiza
ve VISTA
Las API de NIO se diseñaron para proporcionar
acceso a las operaciones de E / S (Entrada /
Salida) de bajo nivel de los sistemas operativos
usa
USUARIO manipula modernos. Aunque las API son en sí mismas de
CONTROLADOR MODELO
un nivel relativamente alto, la intención es
facilitar una implementación que pueda usar
CRUD
directamente las operaciones más eficientes de
DAO
la plataforma subyacente.

Java NIO (BD)


Archivos de Longitud Fija
ve VISTA
actualiza Los archivos de formato de longitud fija utilizan
posiciones ordinales, que son desplazamientos
para identificar dónde están los campos dentro
usa
del registro. No hay delimitadores de campo y
USUARIO manipula es posible que no haya delimitador de final de
CONTROLADOR MODELO
registro. Los datos de los archivos de longitud
CRUD
fija normalmente no tienen delimitadores de
hora o decimales porque los delimitadores no
DAO son necesarios y consumen espacio. Como los
campos son fijos en tamaño, las ubicaciones de
los delimitadores son fijas y se especifican en la
definición de diseño, que acompaña al archivo
Java NIO (BD)
de datos de formato de longitud fija.

Base de Datos
Archivos de Longitud Fija
Diagrama de casos de uso
Manual
de
usuario
Pantalla de Inicio

Menú de inicio del sistema

Se puede seleccionar:

★ Barcos
★ Rutas
★ Personas
★ Puertos
★ Reportes
★ Información

17
Pantalla de Barcos

Se puede ingresar, consultar,


modificar y eliminar barcos.

Para empezar debe ingresar la


matrícula y presionando enter.

Si el barco no existe podrá


ingresar los datos para guardarlo.

Si el barco existe podrá consultar


los datos, modificar o eliminarlo.

18
Pantalla de Rutas
Se puede ingresar, consultar,
modificar y eliminar rutas.

Para empezar debe ingresar el


número y presionando enter.

Si la ruta no existe podrá crearla


ingresando los datos.

Si la ruta existe podrá consultar


los datos, modificar o eliminarla.

Además, podrá registrar atracos


para el barco de la ruta y agregar
marineros, después de consultar
una ruta.

19
Pantalla de Personas

Se puede ingresar, consultar,


modificar y eliminar personas.

Para empezar debe ingresar el


número de identificación y
presionando enter.

Si la persona no existe podrá


crearla ingresando los datos.

Si la persona existe podrá


consultar los datos, modificar o
eliminarla.

20
Pantalla de Reportes
Monitor de reportes.

Se puede visualizar reportes de:

★ Barcos
★ Puertos
★ Personas
○ Capitanes
○ Marineros
○ Esposas
○ Hijos
★ Viajes
○ Rutas
○ Escalas

21
Pantalla de Información

Información del sistema

22
Repositorio
git clone
https://luismat@bitbucket.org/luismat/
elbotecito.git
Archivos de formato de longitud fija Recuperado de

https://www.ibm.com/support/knowledgecenter/es/SSULQD_7.1.0/com.ibm.nz.load.doc/c_load_fixed_length_format_about.html

Informática, S. de, & Alicante, U. de. Modelo vista controlador (MVC). recuperado de

https://si.ua.es/es/documentacion/asp-net-mvc-3/1-dia/modelo-vista-controlador-mvc.html

Java NIO - javatpoint. Recuperado de https://www.javatpoint.com/java-nio

Oblancarte. (2018, December 10). Data Access Object (DAO) Pattern. Recuperado de

https://www.oscarblancarteblog.com/2018/12/10/data-access-object-dao-pattern/

REFERENCIAS

Potrebbero piacerti anche