You are on page 1of 29

Escuela Tcnica Superior de Ingeniera Informtica de Granada (ETSIIT)

Cervecera Caas

Diseo y Desarrollo de Sistema de


Informacin

Jos Antonio Crdoba Gmez


Alberto Armijo Ruiz
David Fernndez Ortiz
Sergio Samaniego Martnez

3 Ingeniera Informtica (1 Cuatrimestre)


Granada - 19 de enero de 2017
ver. 1.0.4
ndice general

1. Descripcin del sistema (Seminario 2) 2


1.1. Descripcin del sistema . . . . . . . . . . . . . . . . . . . . . . 2

2. Requisitos (Seminario 3) 4
2.1. Requisitos de datos . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Requisitos funcionales . . . . . . . . . . . . . . . . . . . . . . 6

3. Modelado de flujos (Seminario 4) 11


3.1. Modelo de caja negra . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Esquema Armazn . . . . . . . . . . . . . . . . . . . . . . . . 12

4. Modelo Entidad Relacin 13

5. Sentencias PostgreSQL 15

1
Captulo 1

Descripcin del sistema

1.1. Descripcin del sistema


Una empresa de cervezas, Cervezas Caas, requiere que desarrollemos un
sistema de informacin que permita organizar las reas funcionales ms
importantes de la empresa.

La empresa debe gestionar con exactitud la produccin, de forma que


se adecue a la demanda en cantidad y calidad. La empresa requiere de ri-
gurosos y peridicos controles de calidad de la materia prima, en concreto
fe productos muy diferentes como son la cebada y el agua. Adems, debe
tener especial cuidado en la fase de fermentacin por cuestiones de calidad y
seguridad.

El sistema de informacin que se desarrolle tendr que gestionar el per-


sonal a diferentes niveles de la produccin y organizacin de la empresa. Por
otra parte, el sistema tendr que llevar un control de la productividad, asis-
tencia y calidad tcnica del personal contratado, as como de otras cuestiones
segn el nivel de trabajo de cada empleado.

La contabilidad es otro de los componentes de la empresa a gestionar


en nuestro sistema de informacin. Debemos tener en cuenta la gestin de
balances (Activos y pasivos), nminas (internas y externas) y de aprovisio-
namiento de materias primas.

Por ltimo, el sistema ser capaz de gestionar las diferentes campaas de


marketing y captacin de clientes as como de la fidelizacin de los mismos.

2
3
Captulo 2

Requisitos

2.1. Requisitos de datos


RD - 1 Identificador de producto.

RD - 2 Identificador de empleado.

RD - 3 Identificador de remesa / produccin.

RD - 4 Fecha de produccin.

RD - 5 Identificador de campaa de la compaia.

RD - 6 Identificador de campaa del producto.

RD - 7 Nombre del empleado.

RD - 8 Direccin del empleado.

RD - 9 Ocupacin del empleado.

RD - 10 DNI del empleado.

RD - 11 Fecha inicio de campaa de producto.

RD - 12 Fecha de inicio de campaa de la compaia.

RD - 13 Fecha de fin de campaa de producto.

RD - 14 Fecha de fin de campaa de la compaia.

RD - 15 Salario del empleado.

RD - 16 Beneficios de la compaa.

4
RD - 17 Activos de la compaa.

RD - 18 Pasivos de la compaa.

RD - 19 Algoritmo de produccin.

RD - 20 Volumen de producto.

RD - 21 Identificador de balance.

RD - 22 Identificador de nmina.

5
2.2. Requisitos funcionales

RF - 1 Dar de alta produccin.

Descripcin: Establece las unidades de produccin


para un producto concreto.
Referencias: RD - 1 , RD - 3 RD - 4 , RD - 19

RF - 2 Modificar produccin.

Descripcin: Restablece las unidades de produccin


para un producto concreto.
Referencias: RD - 1 , RD - 3 RD - 4 , RD - 19

RF - 3 Dar de baja produccin.

Descripcin: Cancela las unidades de produccin para


un producto concreto.
Referencias: RD - 1 , RD - 3 RD - 4 , RD - 19

RF - 4 Obtener informacin de una produccin.

Descripcin: proporciona la informacin necesaria de


una produccin concreta.
Referencias: RD - 1 , RD - 3 RD - 4

RF - 5 Evaluar una produccin.

Descripcin: pone en marcha el mecanismo de eva-


luacin de una produccin concreta.
Referencias: RD - 1 , RD - 3 RD - 4

6
RF - 6 Crear campaa de producto.

Descripcin: inicializa una campaa concreta sobre


un producto.
Referencias: RD - 6 , RD - 12 , RD - 14

RF - 7 Crear campaa de la compaia.

Descripcin: inicializa una campaa concreta sobre la


imagen de la compaa.
Referencias: RD - 6 , RD - 11 , RD - 13

RF - 8 Finalizar campaa de producto.

Descripcin: finaliza una campaa concreta sobre un


producto.
Referencias: RD - 1 , RD - 6 , RD - 12 , RD - 14

RF - 9 Finalizar campaa de producto.

Descripcin: finaliza una campaa concreta sobre la


imagen de la compaia.
Referencias: RD - 1 , RD - 6 , RD - 12 , RD - 14

RF - 10 Obtener resultados de campaa del producto.

Descripcin: proporciona la informacin necesaria de


una campaa de un producto concreta.
Referencias: RD - 1 , RD - 6 , RD - 12 , RD - 16 ,
RD - 20

7
RF - 11 Obtener resultados de la campaana de imagen de la com-
paa.

Descripcin: proporciona la informacin necesaria de


una campaa de la compaa.
Referencias: RD - 5 , RD - 11 , RD - 13 , RD - 16

RF - 12 Dar de alta un empleado.

Descripcin: introduce los datos de un nuevo emplea-


do dentro del sistema.
Referencias: RD - 2 , RD - 7 , RD - 8 , RD - 9 ,
RD - 10 ,RD - 15

RF - 13 Buscar un empleado.

Descripcin: proporciona informacin de un emplea-


do concreto.
Referencias: RD - 2

RF - 14 Dar de baja un empleado.

Descripcin: elimina un empleado y sus datos del sis-


tema
Referencias: RD - 2

RF - 15 Modificar los datos de un empleado.

Descripcin: actualiza los datos de un empleado en el


sistema
Referencias: RD - 2 , RD - 7 , RD - 8 , RD - 9 ,
RD - 10 ,RD - 15 1

1
Consideramos todos los requisitos de datos para no escatimar. No sabemos a priori,
qu datos se van a modificar del empleado

8
RF - 16 Evaluar empleado

Descripcin: pone en marcha el mecanismo de eva-


luacin de un empleado.
Referencias: RD - 2

RF - 17 Crear balance

Descripcin: inicializa los mecanismo de bsqueda y


de creacin de un balance.
Referencias: RD - 16 , RD - 17 , RD - 18 , RD - 21

RF - 18 Modificar balance

Descripcin: acualiza la informacin de un balance.


Referencias: RD - 16 , RD - 17 , RD - 18 , RD - 21
2

RF - 19 Obtener informacin del balance

Descripcin: proporciona informacin concreta sobre


un balance.
Referencias: RD - 21

RF - 20 Crear nmina

Descripcin: iniciliza los mecanismos de bsqueda de


informacin y de creacin de una nmina.
Referencias: RD - 2 , RD - 22

2
Consideramos que no podemos saber con anterioridad qu datos van a ser modificados,
luego los incorporamos todos para evitar falta de funcionalidad

9
RF - 21 Modificar nmina

Descripcin: actualiza la informacin de una nmina


existente en el sistema
Referencias: RD - 2 , RD - 22

10
Captulo 3

Modelado de Flujos

3.1. Modelo de caja negra

11
3.2. Esquema Armazn

12
Captulo 4

Modelo Entidad Relacin

13
14
Captulo 5

Sentencias PostgreSQL

create table Producto(


idProducto bigserial
primary key not null,
nombre text,
descripcion text,
cantidad integer
);

insert into Producto values (


0, Alhambra Especial ,
Contiene malta y cebada,
1000
);

insert into Producto values (


1, Alhambra Reserva 1925 ,
Contiene maz, agua, lpulo,
malta de cebada y levadura,
2400
);

insert into Producto values(


2, Alhambra Roja,
Contiene miz, agua,
lpulo, malta de cebada y levadura,
340);

15
insert into Producto values(
3, Especial de la casa,
Contiene miz, agua,
lpulo, malta de cebada y levadura,
1200);

insert into Producto values(


4, Caita especial,
Contiene miz, agua, lpulo,
malta de cebada y levadura, 4000);

insert into Producto values(


5, Caita roja,
Contiene miz, agua, lpulo,
malta de cebada y levadura, 120);

insert into Producto values(


6, Caita amarilla,
Contiene miz, agua, lpulo,
malta de cebada y levadura, 1200);

insert into Producto values(


7, Caita radler,
Contiene miz, agua,
lpulo y levadura,
100);

insert into Producto values(


8, Caita roja,
Contiene miz, agua, lpulo,
malta de cebada y levadura, 120);

insert into Producto values(


9, Caita dorada,
Contiene miz, agua, y levadura,
5000);

select * from Producto;

16
----------------------------------------------------------------
create table MateriaPrima(
identificadorMateria
bigserial not null primary key,
nombre text);

insert into MateriaPrima values(


0,cebada
);

insert into MateriaPrima values(


1,agua
);

insert into MateriaPrima values(


2,lpulo
);

insert into MateriaPrima values(


3,maz
);

insert into MateriaPrima values(


4,malta
);

insert into MateriaPrima values(


5,saccharomyces
);

insert into MateriaPrima values(


6,saccharomyces
);

insert into MateriaPrima values(

17
7,trigo
);

insert into MateriaPrima values(


8,lpulo de malta
);

insert into MateriaPrima values(


9,lpulo de maz
);

select * from MateriaPrima;

--------------------------------------------------------

create table Empleado(


idEmpleado bigserial
primary key not null,
nombre text,
salario decimal,
numeroCuenta text
);

insert into Empleado values(


77201588,
Jos Antonio Crdoba Gmez,
2400, 0000 0000 00 0000000000
);

insert into Empleado values(


26256219,
Alberto Armijo Ruiz,
4000, 0000 0000 00 0000000001
);

insert into Empleado values(


12345678,

18
Sergio Samaniego Martnez,
799 , 0000 0000 00 0000000002
);

insert into Empleado values(


87654321, David Fernndez Ortez,
1300 , 0000 0000 00 0000000003
);

insert into Empleado values(


69696969, Cristina Ortz Rodrguez,
1500 , 6969 6969 69 6969696969
);

insert into Empleado values(


13579135, Juan Manuel Fernndez Perales,
1300 , 0000 0000 00 0000000004
);

insert into Empleado values(


33445566, Alberto Guilln Guilln,
500 , 0000 0000 00 0000000005
);

insert into Empleado values(


22334455, ngel Rajoy Brcenas,
7000 , 0000 0000 00 0000000006
);

insert into Empleado values(


44554455, Ivn Piar Rivas,
1200 , 0000 0000 00 0000000007
);

insert into Empleado values(


44445555, Sandra Sendra Sendra,
3000 , 0000 0000 00 0000000008
);

19
select * from Empleado;

-----------------------------------------------

CREATE TYPE TipoBalance


AS ENUM (Anual, Trimestral, Mensual);

create table Balance(


idBalance bigserial
primary key not null,
fechaInicio date,
fechaFin date,
tipo TipoBalance
);

insert into Balance values(


0, 2016-11-20, 2016-12-20, Mensual
);

insert into Balance values(


1, 2015-11-20, 2016-11-20, Anual
);

insert into Balance values(


2, 2013-11-20, 2015-11-20, Anual
);

insert into Balance values(


3, 2014-11-20, 2015-11-20, Anual
);

insert into Balance values(


4, 2013-10-20, 2013-11-20, Mensual
);

insert into Balance values(


5, 2015-9-20, 2015-12-20, Trimestral
);

20
insert into Balance values(
6, 2014-9-20, 2014-12-20, Trimestral
);

insert into Balance values(


7, 2015-1-20, 2015-3-20, Trimestral
);

insert into Balance values(


8, 2015-3-20, 2015-6-20, Trimestral
);

insert into Balance values(


9, 2015-6-20, 2015-9-20, Trimestral
);

select * from Balance;

--------

create table Campania(


idCamania bigserial
primary key not null,
fechaInicio date,
fechaFinal date
);

insert into Campania values(


0,03-03-2009,03-03-2010
);

insert into Campania values(


1,03-03-2010,03-03-2011
);

insert into Campania values(


2,03-03-2011,03-03-2012

21
);

insert into Campania values(


3,03-03-2012,03-03-2013
);

insert into Campania values(


4,03-03-2013,03-03-2014
);

insert into Campania values(


5,03-03-2014,03-03-2015
);

insert into Campania values(


6,03-03-2015,03-03-2016
);
insert into Campania values(
7,03-03-2016,03-03-2017
);

insert into Campania values(


8,03-03-2007,03-03-2008
);

insert into Campania values(


9,03-03-2008,03-03-2009
);

select * from Campania;

------------------------------
create table Gestiona(
idEmpleado1 bigserial
primary key references
Empleado(idEmpleado),
idEmpleado2 bigserial

);

22
select idEmpleado from Empleado;

insert into Gestiona values(


26256219, 77201588
);

insert into Gestiona values(


12345678, 77201588
);

insert into Gestiona values(


87654321, 77201588
);

insert into Gestiona values(


69696969,77201588
);

insert into Gestiona values(


44445555, 77201588
);

select * from Gestiona;

---------------------------------------------

create table Administra(


idEmpleadoAdmin bigserial
references Empleado(idEmpleado),
idBalanceAdmin bigserial
references Balance(idBalance),
primary key
(idEmpleadoAdmin, idBalanceAdmin)

);

select * from Balance;

23
insert into Administra values(
77201588, 0
);

insert into Administra values(


77201588, 1
);

insert into Administra values (


77201588, 2
);

insert into Administra values(


77201588, 3
);

insert into Administra values (


77201588, 4
);
insert into Administra values(
77201588, 5
);

select * from Administra;

--------------------------------------

create table Computa (


idProductoComputa
bigserial primary key
not null references
Producto(idProducto),
idEmpleadoComputa bigserial
not null references
Empleado(idEmpleado)
);

24
select * from Producto,Empleado;

insert into Computa


(idProductoComputa, idEmpleadoComputa)
values
(0, 77201588),
(1, 77201588),
(2, 77201588),
(3, 77201588),
(4, 77201588);

select * from Computa;

-------------------------------------

create table Realiza(


idCampaniaRealiza
bigserial not null
references Campania(idCamania),
idEmpleadoRealiza bigserial
not null references
Empleado(idEmpleado),
primary key
(idCampaniaRealiza, idEmpleadoRealiza)
);

insert into Realiza


(idCampaniaRealiza, idEmpleadoRealiza)
values
(0, 77201588),
(1, 77201588),
(2, 77201588),
(3, 77201588),
(4, 77201588);

25
select * from Realiza;

create table GestionaCampania(


idCampaniaGestiona
bigserial not null
references Campania(idCamania),
idProductoGestionaCampania
bigserial not null
references Producto(idProducto),
primary key (idCampaniaGestiona,
idProductoGestionaCampania )
);

insert into GestionaCampania


(idCampaniaGestiona,
idProductoGestionaCampania)
values
(0, 0),
(0, 1),
(0, 2),
(0, 3),
(0, 4);

select * from GestionaCampania;

----------------------------------------------------------------

create table Fabricado(


idProductoFabricado
bigserial not null

26
references Producto(idProducto),
idMateriaFabricado bigserial
not null references
MateriaPrima(identificadorMateria),
primary key(idProductoFabricado,
idMateriaFabricado)
);

insert into Fabricado


(idProductoFabricado,
idMateriaFabricado) values
(0, 0),
(0, 1),
(0, 2),
(0, 3),
(0, 4);

select * from Fabricado;

27
Bibliografa

[Referencia] http://www.prado.ugr.es

28

You might also like