Vous êtes sur la page 1sur 3

Universidad Nacional de Trujillo Tecnología de la Programación II

Ingeniería de Sistemas 2019 - I

ESPECIFICACIONES DEL PROYECTO BANCO

1. Requerimientos de software.

La institución bancaria Eurekabank necesita hacer un sistema para automatizar la administración de las cuentas
de ahorro, las condiciones son las siguientes:
a. Se cuenta con varias sucursales distribuidas en todo el país.
b. Los clientes, que sólo son personas naturales, pueden tener más de una cuenta.
c. Las cuentas pueden ser en Nuevos Soles o Dólares.
d. Existe un cargo por mantenimiento de cuenta mensual, el cual debe aplicarse el primer día de cada mes, según
la siguiente tabla:

Cargo por
Moneda Monto Máximo
Mantenimiento
Soles 3500 7.00
Dólares 1200 2.50

e. Los clientes pueden hacer 15 movimientos mensuales gratis en cada una de sus cuentas, los siguientes
movimientos tienen un costo según la siguiente tabla:

Moneda Costo por Movimiento


Soles 2.00
Dólares 0.60

f. Las cuentas ganan un interés mensual según la siguiente tabla:

Moneda Interés Mensual


Soles 0.70%
Dólares 0.60%

g. También existen impuestos que se aplican a las transacciones, actualmente es de 0.08% del monto total de la
transacción.
h. Todas las operaciones por Internet son gratis.

2. Estándares utilizados.

Para crear los objetos de la base de datos se han utilizado los siguientes estándares:

2.1. Nombre de las tablas: Los nombres de las tablas pueden ser de una o más palabras, pero no debe tener
espacios, guiones, subrayados, o cualquier otro carácter como conector. Por ejemplo: Cliente, Factura,
DetalleFactura, Movimiento, etc.

2.2. Nombre de las columnas: Los nombres de las columnas deben construirse utilizando la siguiente plantilla:
aaaaNombre.
Donde:
aaaa: Representa los cuatro primeros caracteres del nombre de la tabla.
Nombre: Representa el nombre que identifica el dato que guardará la columna.

2.3. Nombre de las restricciones:


2.3.1. Primary Key: Para dar nombre a una restricción de tipo Primary Key se utiliza la siguiente plantilla:
pk_NombreTabla.
Por ejemplo, si se quiere definir la Primary Key de la tabla factura, el nombre de esta restricción sería:
pk_factura

Mg. Ing. Zoraida Yanet Vidal Melgarejo. Especificaciones del Proyecto Banco - 1 -
Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas 2019 - I

2.3.2. Foreign Key: Para dar nombre a una restricción de tipo Foreign Key se utiliza la siguiente plantilla:
fk_NombreTabla_NombreTablaReferenciada.
Por ejemplo, si se quiere definir la Foreign Key de la tabla factura que hace referencia a la tabla
cliente, el nombre de esta restricción sería: pk_factura_cliente.

2.3.3. Check: Si se quiere dar nombre a una restricción de tipo Check se tienen dos casos:
Caso 1: Si se trata de un Check aplicado a una columna, la plantilla es la siguiente:
chk_NombreTabla_NombreColumna.
En este caso se compara el dato que toma la columna con un valor constante. Por ejemplo, si se quiere
que la columna alumnota en la tabla alumno sólo acepte valores entre 0 y 20; en la definición de la
columna se debe definir la restricción correspondiente, tal como se ilustra a continuación:
alumnota decimal(4,2)
constraint chk_alumno_nota
check (alumnota between 0.0 and 20.0);

Caso 2: Si se trata de un Check aplicado a una tabla, la plantilla es la siguiente:


chk_NombreTabla_NombreRestricción.
En este caso se pueden comparar dos columnas. Por ejemplo, si se quiere que en la tabla pedido la
fecha de reparto sea posterior a la fecha de pedido se debe construir una restricción de tipo check
aplicado a la tabla, tal como se ilustra a continuación:
alter table pedido
add constraint chk_pedido_fechas
check (pedifechareparto > pedifechapedido);

2.3.4. Unique: Para dar nombre a una restricción de tipo Unique se utiliza la siguiente plantilla:
u_NombreTabla_NombreRestricción.
Se puede tomar como NombreRestricción el nombre de la columna a la que afecta la restricción.
Por ejemplo, si se quiere asegurar que los nombres de los artículos en la tabla artículo sean únicos,
se debe crear una restricción de tipo Unique, tal como se ilustra a continuación:
alter table articulo
add constraint u_articulo_nombre
unique (artinombre);

2.4. Nombre de índices: Para dar nombre a un índice se utiliza la siguiente plantilla:
idx_NombreTabla_NombreÍndice.
Se puede tomar como NombreÍndice el nombre de la columna a la que afecta el índice.
Por ejemplo, si se quiere crear un índice por fecha en la tabla artículo, el nombre debe ser: idx_articulo_fecha

3. Diseño de la Base de Datos.

Para explicar el diseño de la base de datos se utilizarán sub-esquemas, esto ayudará a entender de manera más
rápida el modelo de datos. La representación se hará utilizando la notación Information Engineering:

3.1. Tablas generales: Normalmente las tablas generales tienen datos que cambian muy poco en el tiempo,
también podrían ser datos que sirven como parámetros de la aplicación.
3.1.1. Tabla Moneda: Esta tabla guarda los códigos asignados a cada moneda.
3.1.2. Tabla CargoMantenimiento: Esta tabla contiene el importe que se debe cargar por mantenimiento
según las especificaciones del caso.
3.1.3. Tabla CargoMovimiento: Esta tabla contiene el importe que se debe cargar por movimiento según las
especificaciones del caso.
3.1.4. Tabla InteresMensual: Esta tabla contiene el interés (porcentaje) que se debe abonar a cada cuenta
en forma mensual según las especificaciones del caso.
3.1.5. Tabla TipoMovimiento: Esta tabla contiene los tipos de movimiento que pueden efectuarse en una
cuenta.
3.1.6. Tabla Contador: Esta tabla sirve para controlar los correlativos de las otras tablas.
3.1.7. Tabla Parametro: Esta tabla sirve para guardar los parámetros del sistema; como, por ejemplo, la
cantidad de movimientos mensual sin costo que tiene el cliente en cada una de sus cuentas.

Mg. Ing. Zoraida Yanet Vidal Melgarejo. Especificaciones del Proyecto Banco - 2 -
Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas 2019 - I

3.2. Sucursales: En este sub-esquema se tienen las tablas que determinan como se almacenan las sucursales.
3.2.1. Tabla Sucursal: Esta tabla permite identificar plenamente cada sucursal.
3.2.2. Tabla Empleado: En esta tabla se registran todos los empleados de la empresa. Debe existir un
empleado con código 9999 de nombre Internet para identificar las operaciones realizadas desde la
Web por los mismos clientes.
3.2.3. Tabla Asignado: Esta tabla permite identificar qué empleados se encuentran asignados a cada
sucursal.

3.3. Cuentas: En este sub-esquema se tienen tres tablas.


3.3.1. Tabla Cliente: En esta tabla se registrarán a todos los clientes.
3.3.2. Tabla Cuenta: En esta tabla se registrarán todas las cuentas. Cada cuenta tiene su propio contador de
movimientos, la columna cuencontmov se utiliza para este propósito.
Cada cuenta tiene una clave de acceso para que los clientes puedan hacer consultas y transacciones
desde los cajeros e Internet.
3.3.3. Tabla Movimiento: En esta tabla se registrarán todos los movimientos de las cuentas.

Mg. Ing. Zoraida Yanet Vidal Melgarejo. Especificaciones del Proyecto Banco - 3 -

Vous aimerez peut-être aussi