Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DISENO
54
Memoria PFC Gestlon de un taller mecanico
S. Disefio
Una vez que tenemos totalmente especiflcado como sera nuestro sistema, ahora debemos definir el disefio de este, es decir, tenemos que explicar como 10 hara el sistema para conseguir en cada una de las operaciones, el resultado que se espera.
EI primer paso de esta etapa es definir la arquitectura del sistema. En este apartado, describiremos los diferentes componentes y subsistemas del sistema software y veremos como se comunican e lnteractuan entre si.
Tras tener clara la estructura general del sistema, es necesario transformar el modele conceptual de los datos que habiamos obtenido en la especlflcaclon mediante el proceso de normalizacion. Esta transformaclon es totalmente necesaria, ya que la tecnologia de orientaclon a objetos no permite implementar conceptos como las relaciones n-arias, la informacion derlvada,i., En este proceso, transformamos los conceptos del dominio en componentes software, y el resultado es el diagrama de clases de disefio.
Por ultimo, tam bien deberemos dlsefiar la base de datos, que nos permitlra hacer persistente toda la informacion del sistema y 10 interfaz de usuario.
5.1. Arquitectura del sistema
Como ya adelantabarnos en el primer capitulo de la memoria, el patron arquitectonlco que hemos decidido utlllzar para dlsefiar nuestro sistema es el patron de tres capas y orienta cion a objetos.
EI motive por el cual nos hemos decantado por este patron, es, que con else puede conseguir una arquitectura con facto res de cali dad tales como reusabilidad, mantenibilidad, modificabilidad, ... que son justamente los factores de calidad que dernandabamos en los requisitos no funcionales de nuestro sistema.
EI diagrama que se muestra a contlnuaclon representa la arquitectura tres capas.
Cap a de presentacion
~ ... ~~ ~ ....
Capa del dorninio
Capa de datos
D
55
Memoria PFC Gestion de un taller rnecanlco
S.2. Diagramas de clases
A partir del modele conceptual de la especificaci6n que habfamos visto en el capitulo anterior; y tras el proceso de normalizaci6n, obtenemos el dlsefio del diagrama de clases del dominio que mostramos a continuaci6n.
Empresa
Cliente "_N.I.F : String
"_DNI : String ~ombre : string
"_Nombre : String ~ireccion : String
~ellido : String ~oblacion : String
~pellido2 : String ~.P : Integer
"_DlrecCion : String ~rovincia : String
"_Poblacion : String I..c.. "_Telefono : Integer
';'C.P : Integer O .. n ~ail : String
~Provincia : String 1 ~onerClienteO
"_Telefono : Integer 1
"_Mail : String 1 ~onerVehiculoO
~onerProductoO
~onerSelVicioO
tipo loverlapPJng.!~ort"(Jletel ~ultarCllenteO
~uitarVehiculoO
'quitarProductoO
I 'quitarServicioO
Principal Secundario 1
'ponerVehlculoO 'ponerVehituloO O .. n
'quitarVehic ul 00 'quitarVehiculoO .. n
O .. n O .. n Servicio
.NumeroFactura : Integer
.FeCha : Date
.Importe : Double
~Pagado : Boolean
1 O .. n
.ponerProductoO
Vehiculo ~ .ponerConceptoO
~Matricula : String .quitarProductoO
"_Marca : String .quitarConceptoO
O .. n ~odelo : String 1
O .. n on~
"" ~onerPropietarioO
~onerPropietarioSecO
'quitarPropi etari 00 O .. n O .. n
~uitarPropi eata rioSecO F acturacionConceto F acturac ionArticulo
~Cantidad : Double !.Cantidad : Double
Usuario
.Usemame : String O .. n 0:\
~Password : String
"_p1 : Boolean
"_p2 : Boolean
~3:Boolean 1 Articulo
~4: Boolean Conceplo ~Tipo : String
~5:Boolean ~Descripclon : String ~escriPci6n : String ~
~6:800Iean ,,"Pretio : Double ~recio : Double
~7:Boolean ~xistencias: Double
~antMinima: Double 56
Restricciones de Integridad Textual:
1-Un cliente no puede ser propietario principal y secundario de un mismo vehlculo. Nota: En este diagrama se han obviado las operaciones basicas de cada objeto (sets, qets.. .. ).
Memoria PFC Gesti6n de un taller mecanico
Adernas de las clases del dominio que hemos visto en el diagrama anterior, en el sistema tarnbien actuan otro tipo de componentes software que son necesarios para implementar el patron de tres capas. A estas clases se les llama controladores.
En el diagrama de clases que tenemos a contlnuacion, se pueden observar los controladores del sistema. La mlslon de estas clases, es comunicarse con el controlador de la capa adyacente (cada uno en su parcela), para que exista un correcto flujo de datos entre las tres capas del sistema y de esta manera proporcionar los factores de calidad que perseguiamos.
Vistas
// \~ c
'0
U
IV
...
C
U
0/1
U
I CPreClientes I I CPreVehicu los I I CPrelnventario I I CPreServicios I I CPreConfiguracion I ...
Q..
\ \11
II CDomClientes I I CDomVehiculos I I CDomlnventario I I CDomSetvicios I I CDomConfiguracion I 0
'c
'e
I\~ ~ I\~ ~ }I\~
0
0
IIDiccionarioClientes I I DiccionarioVehiculos I Diccionarillventario I II DiccionarioServicios I I DiccionarioUsuarios I
\ \ II 0/1
0
I CDatClientes I I CDatVehiculos I I CDatinventario I I CDatSetvicios I I CDatConfiguracion I ...
IV
0
~ .~ J /
~~ \ //
SGBD (SOL Server 2000)
0
CO
(!I
1/1 57
Memoria PFC Gestion de un taller rnecanlco
5.3. Diagramas de secuencia
Los diagramas de secuencia son otro de los modelos de la notaclon U.M.L., en donde se refleja como actua cada componente software, y como interactuan entre ellos para realizar la operacion que representa el caso de uso.
A contlnuaclon se van a mostrar los diagramas de secuencia de las operaciones mas importantes que realiza el sistema.
Alta cliente
.X IVislaClientss I
~ ..
A1ta(nombre,apellidol ,apellido2,dir I
I eC,pob,cp,tIf,maiO I
~ AI1a(hombre,apellldol,apellidoi
l,dlrec,pob,cp,tIf,mail) VelificarDatos(nombre,apellidol,a I pellido2,dlrec,pob,cp,tlf,maiO I
I
AIta01ombre,apellldOl,apailldOl,dl
Iree,pob ,cp,tW,mall) (nombre,apellldol,apallido2,airec,p
ob C
I CDomClienies I
I DicclonarigClientes I
I I I I I
I I I I I
I
I CDatelienIBs I
I I I I I I I I
I resultado
AIta(nombre,apel¥do1,apellido2,dire c,pob,c~,Uf,maiO
Alta(norhbre,apellldol,apelli 2,di rec.aob cD.urmaill I
resultado
I
I
resultado n
0--" -U
Baja cliente
CPreClientes
fDomCliente1
I
DiccionarioClienles
CDatclienles
I I I I
Baja(dni) '" I I I
Baja(dni) I I
Confirmar_BajaO I I
I ~ I I
I I~ies I- Baja(dni) I
afirmalivo
I Baja(dni)
I I
I I Ba*dni)
resultado
resultado
58
Memoria PFC Gesti6n de un taller mecanico
Modificar cliente
I DiccionarioClienies I I CDatClientes I
I
~
Modificar(nombre,apellidol,apelli 02,direc,pob,cp,lIf,maiO I I I I
Modificar(nombre,apellidol, pellido2,dlreC,pob,cp,I~,maiO f I I
VerificarDalos(nombre,apellidol,
pel lidO 2,dire c,pob,cp ,ff,m aiQ I I
I ~ I I I
I I ,Si no ha,' 'J- Modificar(no mbre,apellidol ,apell~02,direc,pob,cp,lIf,mail) I I
e!JOres -_
I I I
I MOdifiCar(nOmbre,apellidol,apellidp2,direc,pOb,cp,lIf,mail) I
I I I
I I I
I I Modificar(nombre,apellidol,apellido ,dlrec,pob,cp,lIf,mail) I
'" 1.~~ -----1~'" resultadO
'* n·(~suttado .
O:suttado U
Consultar cliente
DiccionarioClientes
VistaCli ente s
CPreClientes
~
I I I I I I I
Consultar(dni) :;.. I I I
Consultar(dni) I I
... I I
Consultar(dni)
I Consultar(dni) I
I I resultado
I I -'"_
I '"'" resultado
I resultado I
U' I I 59
Memoria PFC Gesti6n de un taller mecanico
BU5car cliente
DiccionarioClientes
~
I I I I I I I
Buscar(dni,nombre,apelr d01,apellido2,direrCion,pobiacion,rest1 I
)
8uscar(dni,non bre,apellido1,apellidr2,direccion,poblacif
BUscar(dni,nombrt,apellido1,apellido~
I Buscar(dni,nOmbr~,
I I resultados
I I
I resultados
I resultados I
U I I n,restr)
direccion,poblacion,restr)
apellido1,apellido2,direccion,poblacion,restr)
Alta vehlculo
I \IIstaVehiculos I
~ . -
I AltaOnatricula,marCa,modeIO,d~i) i
n AItaOnatricula,marca,modelo,d 0
Y verfficarDatos(matrfcula,marca,'1'delo,dni)
I I
I
I
I
I
I I I
I I I I
I I
DlcclonarioVehlculos
I CDalVehlculos I
I CDomVehlculOs
AIta(matrfcula,ma ,modelo,dnQ
resuHado
resultado
I
:
AIta(malrfcUla,ml.rca,modelo,dnQ
resultado
I
I I
o
60
Memoria PFC Gesti6n de un taller rnecanlco
Baja vehiculo
I cDomvehiculosl
I QiccionarioVehl:ulos I
CPreVehiculos
Cpatvehiculos
Baja(matricula) '" I I I
Baja(matricula) I I
Confirmar_BajaO I I
I ~ I I
I ISies J- Ba]a(matricula) I
. afirmatlVO
I Baja(malricula)
I I
I I resultado
Baja(rrjitriCula)
resultado
I I I I
~ resultado
Modificar vehfculo
I DlccignarjoVehiculgs I I CpalVel!iculos I
I
I VislaYe hi culgs I
I CPreVehiculos
CpomVehiculos
I
~
ModifiCar(matricula,marca,~ odelo,dnQ I I I I
Modificar(malricula,marca,mo elo,dnQ I I I
verificarDaIOS(malricula,ma~a,modeIO,dni) I I
I ~ I I I
I I~i no hay MOdifiCar(malricula,marca,jnodelo,dnQ I I
errores -
I MOdificar(matricula,marca,modelo,drli) I
I I
I I I
I I Modificar(malricula,marca,modelo, tlO I
I I
I I resullado I
I I resullado I
IlesuHsdo ~ I I
~ I I I
I I I 61
Memoria PFC Gesti6n de un taller mecanico
Consultar vehiculo
VistaVehiculos
CDomVehiculos
Consultar(matricula) ;.- I I I
Consultar(matricula) I I
Consultar(matricula) I I
I Consultar(matricula) I
I I resultado
I I
I resultado
I resultado I
U I I Buscar vehiculo
I VistaVehjculos I
I
CDomVehiculos
Diccion arioVehiculo s
r( IF" I
did' tl?
usca ma ICU amarcs mo eo, m,res I I I
0)
Bus car(m alricu la,ma rca,m odelo,dni,restl? I I
8uScar(matriCUla,marc~,modelo,dni,restr) I
I Bu scar(malricula,marca,m ode Ib,
I I resultados
I I
I resuKados
I resultados I
U I I dni,restl?
62
Memoria PFC Gesti6n de un taller rnecanico
Alta articulo
I Vistalnventarto I
CDomlnventarjo
I DiccionarjDlrmmtariD I I CDaUnventario I
CPrenMlntario
er I I I
A1ta(llpo,desc,precio,cmin,exs I I I
AHa(lipo,dese,preclo,cmln,e. ) I I
VerificarDatos(lipo,desc,preciO,tmin,exf) I
I ~ I I
I I~inohav 1_ Alta~p o,desc,p ret Io,em In,exs) I (lipo,desc,preclO, I
srrores
I emin,ex" I
I Ar!icLio I I
I I " AIIa(liPD'deSe,p~elo,cmin,exS) I
I I I
I I I
I I A1ta(tIPo,deselpreeio,cmin,eXS)
I I
I I rasultado I I
I I resultado I I
I ~. I
l_ resultado I I I
U I I I I I
~
Baja articulo
Eista,nvenlari°l
I
I CDomlnvenlario I
CPrelnventario
CDallnvenlario
Baja(id_stock) ~ I I I
Baja(id slock) I I
Confirmar_BajaO I I
I ~ I I
I I~ies I- Baja(id_slock) I
afirmalivo
I Baja (id_stock)
I I
I I Baja(ld~SIOCk)
resullado
I I I I
resuttado
I
o resuttado
63
Memoria PFC Gesti6n de un taller mecanlco
Modificar articulo
I Vistalnventarlo I
CPrenlventario
CDomlnventario
I DiccionariolnventariQ I I CDatinveniario I
I
~
Modifical(lipo,desc,precio, mln,exs) I I I I
Modifical(lipo,desc,precio,cmir exs) I I I
VerificarDatos(lp o,des c,precio,cm ir,exs) I I
I lSi no hay 1-- P I I I
I errores MOdificar(tipo,desc,precio,cmin,exs)1 I I
I MOdificar(tipo,desc,precio,cmin,Jxs) I
I I
I I I
I I Modificar(lipo,desc,precio,cmin,e ts) I
I I
I I resulado I
I resuHado I
I resultado I I
0 I I I Consultar articulo
VI staInventario
fPrelnventari1
I
I cDomlrwentariol
Consultar(id_stoclO ~ I I I
Consultar(id_stoclO I I
Consultar(id_stock) I I
I Consultar(id_stock) I
I I resultado
I I
I resultado
0< resultado I
I I 64
Memoria PFC Gesti6n de un taller mecanico
Buscar articulo
Vistalnventario
CDomlnventario
iccionariolnventari
8uscar(tipO,descripcion,resQ I I I
8uscar(tipo, d escrip cion,rest) I I
I 8uscar(tipo,descriPcio~,rest) I
I I ~ 8uscar(tiPo,descriPcib
I I I resultados
I I I
I I resultados
I resultados I
« n,rest)
Alta servicio
I VjstaF aelura'
.:.!lW
. 1
1 AHa(dnl,malricula,imporle,pagad , SetQd_slock,cnl»
~
1 1 1 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1 1
I CPreSeNielos I
1 1
I CDomServicios I
I DiccionarioSeMcios I
I COatSeMeios I
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1
VeritlcarOalos(dni,matriculaJmporle,pag
ado,Set(id_stock,e.O)
1
AIta(dnl,matrieula,lmporle,pag 0, Set(ld_stock,cnQ)
Altaldn i, matricu I .. imp orte,p agad 0.1 SeIOd_ stoek,crt» (dnl,matriCUla,lmporte,pagado,Set(ld_ttoek,Cnl)
~ 1
1 1
AIIa(dni,matricu,",;mporle,pagado) 1
resuttado
1
o resunado
65
Memoria PFC Gesti6n de un taller mecanlco
Modificar servicio
I VistaF actura I
I CPreServicios I
I COomServicios I
1
I OlccionarioServiclos I fOatServici01
Modificar(dni,matncula,importe,pa ado,Set(id_Slock,cn1) 1 1 1
U MOdifiCar(dni,matriCUla,importejPagadO,Sel~d_8toCk,cn1) 1 1
VerificarDalos (dni,m alricu la,impo~e,pagado,sel~d_Stock,cn1) 1
1 ~ 1 1
1 I ~i no ha',. I_ MOdificar(dni,malricula,importe,pag~dO,Set~d_stoCk,Cn1) 1
errores --- ___
1 MOdifiCar(dni,matriCUla,importel
1
1 1
1 1 pagadO,Set(id_stoc1,cn1)
1 1
1 MOdlfiCar(dni,matricula,impoJ,pagadO,Set(id_stock,cn1)
.~~<"'"~"" i 11
",.<E- ~,<resullado. ......1 ~
1 resultsdn .
0"
Consultar servicio
VistaS ervicios
Icpreserviciosl
I
DiccionarioServici
~
I I I I I I I
Consultar(N° Factura) I I I
)-
Consultar(N" Fa tura) I I
". Consultar(N" Factu~a) I
I Consultar(N" Fact~
I I ".
I I resultado
I .,.-_ resultado
resultado I
[~ I I ra)
66
Memoria PFC Gesti6n de un taller rnecanlco
Buscar servicio
8uscar(N"Factura,dni,malricula, feC~ IniciO,feChaFin,pagada,restriC! I I
8uscar(N"Factura,dni,matlicula, fechalniCio,feChaFin,padada,resIrlC) I
I I
8uscar(N"f actura, dni,malrlcpla, fechalniCiO,feChaFln,pagada,reSr
I 8uscar(N"factura,dni,malricula, fel
I I
I I resultado
I resultado
I" resuttado I c)
halnicio,fechaFin,pagada,reslric)
o
~
I
Guardar factura
I CDomSelVicios I
CDatSelVicios
CPreSelViciOs
~
I I I I I I I I
Guardar(N° F actura) I I I
>
Gua rdar(N" F ar ura) I I
Guardar(N° Factu~) I
I Guardar(W Factura,id_Stock) I
I I resultado
I I
I resultado
I resultado I
U I I 67
Memoria PFC Gesti6n de un taller mecanico
Imprimir factura
I VlstaF actura I
I CDomServicios I
Impresora
ImprimirO ,. I I I
ImprimirO I I
lmprlmln) I I
I ImprimirO I
I I resultado
I I
I resultado
I resultado I
U I I Actualizar stock
CDomServicios
Diccionariolnventario
CDatlnventario
nActua'izar_StoCk(N" F actu ) I
~ Actualizar_Stock 0 Factura)
Actualizar_Stock(Nf Factura)
~:,__---,--~
Actualizar_StoCk(id_S~Ock,cant) *
I I I I I I
I I
HI~---!
resultado
68
VistaGestionEconomica
I CPreSelllicios I
CDomSeruicios
DiocionarioServicios
Memoria PFC Gesti6n de un taller mecanico
Consultar balances econ6micos
ConsultarBalances<!e hal,fechaF,pagadas, nOJlr gadaSo total) I I
C onsoRarBalances( ,"chal,fechaF,pagadas. To_pa gadas, total) I
I consultarBalantes(techal,feChaF ,pagadas'lno_pagadas, total)
I I COrlSUltarBalancesltechal,techaF ,pagadas, no_pa ga
I I I resultados
I I I
I I I
(resultadoS) .I Grati90 I
I I I I I
I I I gratico I
I I I gratico I
I I gratico I I
I 0 I I
I I I I das, total)
Consultar ayuda
VistaMenu
C PreCon1iguraclon
CDomCo n1iguraclo n
~
I I I I I I
ConsultarAyudaO )0.1 I I
ConsultarAyudaO I
,_. I
C onsulta rAyu d aO
'-.
I Abr
I I
1 I
~ I irProcesoC'Manual de usuario.pdl")
69
Memoria PFC Gestlon de un taller mecanlco
Alta usuario
fprenconfiaura cioj
: User I
I AIIa(username psw pl p2,p3 p4 p5 p6 p7)
~
fDomconnaurac,01
I DlccionarioUsuarios I ICDatConflQuraclonl
I I I
AIIa(usemame,psw,pl,p2,p ,p4,p5,p6,p7) I I
verificarDatosAlta(USemame,Pfw,Pl,P2,p3,P4,p5,P6,p7) I
P I I
lSi no hay j-- AIta~s ername ,p sw,pl ,p 2,P3,p 4,p5,p 6,p 7) I
errores (usemame,psw,pl,p2,p3,p4,p5,p6,p7) I
J~I I
I AIIa(usemame,PSW,],P2,P3,P4,P5,P6,P7) I
I I
I I
I
I I Alla~sernsme,psw, l,p2,p3,p4,p5,p6,p7)
resuHado
resultado
resuHsdo
o
Baja usuario
CPreConliguraeion
I CDomConflguracion I
Eieeio narioUs uario,
Baja(username) ,. I I I
Baja(username) I I
Confirmar_BajaO I I
I ~ I I
I I~ies ,_ Baja(username) I
afirmativo -
I Baja(username)
I I
I I I I resultado I
I I resultado I
I I I
I resultado I I
V l I I I Baja(username) I
70
Memoria PFC Gesti6n de un taller mecanico
Modificar usuario
I VistaUsuarios I
I CPreConfiguracjon I
I CDomConfiguracion I
I DiccionarioUsuarios I I CDatConfiguracion I
I
~
Modificar(uSemame,psw p1 ,P2,p3,p4,P5,p6,p7) I I I
MOd ifica r(u sem arne ,psw,p1 p 2,p3,p 4,p5,p6 ,p7) I I
Veri1icarDatosAlta(usemame,p~w,p1 ,p2,p3,p4,p5,p6,p7) I
I P I I
I lSi no hay j-- Iitldificar(username,psw,p1 ,p2,~3,P4,p5,P6,P7) I
I elfores - I
I Modlficar(username,psw,pl,p2 p
I I
I I 3,p4,p5,P6,p7)
resultado
I
MOdificar(username,Psw,pl'P1P3,p4,P5,P6,P7)
resultade
I resullado
Consultar usuario
VistaUs:uarios
CPreConfiguracion
C DomConfiguraoion
P icpionarioUsuarios:
~
I I I I I I I
Consultat(username) ~_I I I I
Consultat(username) I I
,- I I
Consultat(username)
I ,- I
Consultat(username)
I I '"
resultado
I I
I resultado
0< resultado I
I I 71
Memoria PFC Gesti6n de un taller rnecanlco
Identificacion usuario
istaldentifcacionUsuari
CPreConfiguracion
CDatConfiguracion
: User
L . (
~
oum usemame.passwor I I I
)-
Login(usernam s.pa ssv om) I I
"
LOgin(USername,paS~WOrd) I
I LOgin(Username,pa4
I I ""
I I resuttado
I resuttado
I resuttado I
U I I sword)
~
VistaMe[!u CPreConfiguracion
: User I I
~ Satir() >~ I
SatirO >0
72
Memoria PFC Gestion de un taller mecanico
5.4. Diseiio de la base de datos
En este punto vamos a definir de que forma y con que estructuras de datos hacemos que la informacion del sistema sea persistente. La base de datos que vamos a utilizar es relacional, por 10 tanto, para obtener el diseiio ffslco de la base de datos debemos utilizar el modele conceptual de la especlftcaclen que velamos en el capitulo anterior y aplicarle un serie de transformaciones.
EI diagrama que adjuntamos a continuacion. muestra todas las tablas, incluyendo los atributos y las claves primarias de estas (identificadas por una lIave amarillal.Tambien se muestran las relaciones entre tablas mediante lIaves foranas (Hneas que van de una tabla a otra).
Empresa
I-~- N;;Mb;~---"--
NIF
Usuarios
I ~ Nombre
Direccion Poblacion CP
Clientes !\?DNi-·
Vehiculos
PropiedadesSecundarias
l.!;;;;;;====;;.;;;.;c~t~l:::~:::iO-·---·-··-·-·-········-···-
Servicios Ie! 'NFactura : Fecha :'-- Cliente :---
Vehiculo
!--
Importe ,.-
Pagado '--
Conceptos2
p;:~: :;:;·=--:;:;·;;;;-·'··=···"·_·=·===-x:4 ••. til.rr;::
dprecio
..
stock:
Conceptosl
..• :.tIl~~=
1Q.=======.oq~~ Precio
, ~ stockID If-'-
Tipo
I;"_ D .. escnpoon
I!-- p .
recto
1'--
Existencias
!-- CMinima
.'__
73
Memoria PFC Gestion de un taller mecanico
EI proceso de transformaci6n que hemos aplicado para obtener el disefio mostrado anteriormente, es el siguiente:
1-Crear una tabla por cada objeto del modele conceptual. As! obtenemos las tablas Empresa, Usuario, Vehiculos, Clientes, Stock.
2-Transformar las clases asociativas en una tabla. De esta manera obtenemos las tablas Conceptosl, Conceptos2 y Servicios.
3-Transformar las relacionescon multiplicidad n-aria en ambos sentidos en tablas. Como resultado de esto obtenemos la tabla PropiedadesSecundarias.
Adernas de las tablas que hemos visto, la base de datos contiene un disparador IIamado ActualizaStock. La misi6n de este disparador es, como su nombre indica, actualizar el nurnero de existencias de los articulos que hay en la tabla stock. Este disparador, actuara slernpre que un articulo se facture en algun servicio, 0 10 que es 10 mismo, si se crea 0 se modifica una tulpa en las tablas Conceptosl 0 Conceptos2. De esta manera, el sistema automatiza la gesti6n del inventario, teniendo siempre los datos sobre piezas disponibles en el taller, totalmente actualizados.
74
Memoria PFC Gesti6n de un taller mecanico
5.5. Dlsefio externo de la interfaz de usuario
EI principio mas importante que hemos tenido en cuenta a la hora de diseiiar la interfaz de usuarlo, ha sido el segundo requisito no funcional que habiarnos especificado, en el que determlnabarnos que la lnteracclon del usuario con el sistema, debe ser 10 mas sencilla, amigable e intuitiva posible, debido a que los usuario no eran ni mucho menos expertos en el manejo de sistemas de este tipo. Por este motivo, se ha buscado que toda la informacion posible este al alcance del usuario en todo momento y que el aspecto visual del programa resulte agradable. Para conseguir este objetivo, nos ha ayudado mucho algun manual en el que nos dan una serie de reglas para realizar un buen diseiio de la interfaz.
La pantalla principal de la aplicaclon se ha dividido en tres grandes bloques:
• EI menu del sistema, donde podemos realizar acciones relacionadas con el sistema como cambiar de usuarlo, salir, consultar la ayuda 0 entrar en la configuracion.
• EI menu de usuario, donde se puede navegar por las diferentes funcionalidades del programa como gestlon de clientes, gestion de vehiculos, gestion de stock, ...
• La zona de trabajo, donde se rnostraran, en cada momento, los componentes necesarios para realizar cualquier operaclon que el usuario desee.
La captura que vemos a contlnuaclon representa 10 anteriormente explicado.
~ Sistema de gestion Talleres Merida L;JlQ]L8J
Zona de trabajo
75
Memoria PFC Gesti6n de un taller mecanlco
5.5.1. Menu del sistema
En este menu, que podriamos decir que es el menu principal de la apllcaclon, estaran accesibles las funcionalidades relacionadas con el sistema y la conflguracion del mismo.
Este menu se subdividlra en tres apartados generales, y estos, a su vez en otros subapartados. La estructura sera la siguiente:
1. Sistema
1.1. Cambiar de usuario
1.2. Salir
2. Ayuda
2.1. Ayuda del sistema
2.2. Acerca de ...
3. Configu radon
3.1. Datos de la empresa
3.2. Admlnlstracion de usuarios En esta imagen se muestra como sera el menu descrito anteriormente.
Usuarios
Datos de la empresa
_ _, ~,,,,,_,._" __ ~"_._,,"_o,,."_"'_'_·'~> .,_,_" _", •.. "_~.,, •. _,..,~,,~ ,~ _J
5.5.2. Menu del usuario
Este menu no es un menu estandar, como el anterior, ni en la forma ni en la sernantlca.
En la forma se diferencia del primer menu, en que este, esta situado en la parte izquierda de la pantalla y es una columna 0 bloque vertical y que tiene el disefio de una barra de herramientas. Dentro de esta barra de herramientas encontraremos los iconos que representan cada una de las funcionalidades de la aplicacion, de esta manera, sera muy facil para el usuario navegar por el sistema.
76
EI sentido de este componente, es dotar al usuario del control absoluto del programa, de manera que este pueda cambiar en el momento que desee el trabajo que est a realizando par otro.
Memoria PFC Gesti6n de un taller mecanico
De cara a minimizar el tiempo de aprendizaje del programa y a que este resulte 10 mas sencillo posible a los usuarios, se han confeccionado unos iconos que representan cada uno de las funcionalidades del programa.
A continuaci6n podemos ver una captura del menu del usuario, donde se muestra la relaci6n entre los distintos iconos que se usan y el significado que estos adquieren.
En este momento, es necesario recordar que cada usuario del sistema tiene unos permisos concretes, este echo, hace que algunas de las funcionalidades del programa puedan estar restringidas, 0 no, dependiendo del usuario que esta utilizando el sistema en ese momento. Por este motive, tanto en el menu del sistema como en el menu de usuario, tan solo estaran operativoslos elementos de los cuales el usuario tenga perm lso, en caso contrari6 esa opci6n se mostrara al usuario como deshabilitada. Por ejemplo, la imagen que vemos abajo, corresponde a la barra de herramientas de un usuario sin permiso para acceder a la funcionalidad de caja.
77
Memoria PFC Gesti6n de un taller mecanico
5.5.3. Zona de trabajo
Esta zona de la pantalla no es tan estandar como las dos anteriores, ya que depende mucho del uso que Ie estemos dando al programa en ese momento.
A pesar de que en cada memento, el contenido de la zona de trabajo es distinto para la gesti6n de cliente, de vehfculos y de stock, hemos adoptado una estructura comun, 10 mas sencilla e intuitiva posible, con el objetivo de facilitar el uso del sistema al usuario.
En la captura que se muestra a continuaci6n, se puede observar dicha estructura, donde podemos encontrar tres partes diferenciadas:
• EI formulario de busqueda,
• La llsta de Items.
• EI formula rio del Item seleccionado.
Ademas de todo esto, podremos utlllzar los botones de cada una de las operaciones correspondientes a cada caso de usc, que van acompafiadas de sus correspondientes iconos que siempre facilitan la interacci6n con el usuario.
ONI
Nombl.
lor ApeIIido
Chenles
-----i~-~~----!II~ _ ,~A~irJo ,l_2'_A~I!I°_L~_~_
___ "I047!1n1A Rafael Lopez Perez ClSepuiveda 23A
:~::J==' Beatriz
: 3lS5425Bf Francisc9 , - - -'" 306592500 Miguel
i 34845485T M .......
i 352157845 Antonia -----'361548510 Ascemi6n
, ,3648248« VelorWca -----;36S4427!IN Adri ....
i 37852341 S Alberto '405228nF Patricia
Vieito de Ia 0 ... 937121158 be
Perez Perez 6954872S5 , Nuevo
de Ia Red Rolia CI Allanlida 12 SantAnaeu BOIceiona 936661574
Mulloz Lozano 65S878562
Garcia lopez 635987452 ... )(
Aolia Aodriguez F'lza Mavor122"3! PafIejO 087!10 B .. ceIona 936632565 .. Eiminar
Torres Qui1tana CI Caope 132 4' 3' Ban:eIona Barcelona 658472121
Gonzolel! Gutierrez Pallej. 08780 a.,ceIon<r 63247!1215 Ie
Ca'leras CasIlO 687321548 a
Cabrera CI Aier. Boter 24 A Palleja 08780 a.celona lf~J
Q?77'l1~J:;: ! PobIacr6n I CP ! Provincia :Teh!I""o,_M'"
-- - Pai~~--------ii8iOO-----Balceiona I.
78
Memoria PFC Gesti6n de un taller mecanico
Otras de las pantallas que aparecera en la zona de trabajo, sera un formulario en el que se podra editar una factura nueva 0 bien una factura que ya tenlamos guardada en el sistema.
EI diseiio externo de esta vista 10 podemos ver mas abajo, donde adernas de los diferentes formularios de la factura como empresa, cliente y vehlculo, podemos ver una parrilla donde se detallan los conceptos que se facturan. Adernas de esto, en la parte derecha de la factura, tenemos disponible los diferentes botones para realizar cada una de las operaciones disponibles a la hora de editar una factura.
-DATOS DE LA EMPRESA----
T alleres Merida NIF:30419n lA
CI Prat de la Riba 142 08780 PaDeja (BaJCelona)
Til: 936631132
E-maij: tmefidapaHe@gmaiLcom
N! Faclura: 1685
Fecha: 28104J2007
r.; F actura pagada
13694427BN Nombre: IAdrian
IGonzalez 2!Apelido: IGutierrez
IPalla;;' CP: 108780
IBarcelona Matffcula: 1236BCCS BUocar~ I
Mafea: ISEAT
Busc& v;(sif~ I
Modelo: ILEON 2.0 . _._ DescfipciOn
___,AGUA LlMPIA PARABRISAS
iLiQUIDO SERVO DIRECOON
::J tULLES APEX PARA SEAT
iMANO DE OBRA
.)
Cantidad Pfecio(€!) Importe(€!) Aiiadir articulo", I
0,5 1,55 0}7
1 1524 1524
2 23,35 46} Eliminaf arti~1
1,5 28.5 42,75 Subtotal
GualW fact",a
LV.A 16%
1105,46 116,87
Nueva lac!ura
Cancelaf faclura I
Tolal(&)
1122.33
79
Memoria PFC Gestion de un taller rnecanico
La ultima pantalla que cabe resaltar, es la correspondiente a la gestion econornica. Esta pantalla consta de dos partes diferenciadas: el formulario donde introducimos los datos que queremos considerar y el graflco que representara los datos en los que estabarnos interesados.
A contlnuacion adjuntamos una captura de la pantalla correspondiente a la gestlon economlca,
lO1l01l2006 ::£l 115/05/2007 .:::J
P' Total
j;i F actura; pagadas P' Facturas no pagadas
9.500 9.000 • 8.500 8.000 7.500 7.000 6.500 6.000
5.500 (~
80
Memoria PFC Gestion de un taller rnecanlco
PLANIFICACION V BALANCES
81
Memoria PFC Gesti6n de un taller mecanico
6.1. Planificaci6n inicial
AI inicio de este provecto, justo el primer dla de trabajo, se hizo un pequefio esbozo de planificacion, en el que se especificaba que dla tenia que empezar V acabar cada una de las tareas principales del provecto.
La imagen que se muestra mas abajo refleja el contenido de aquella planlflcaclon inicial del provecto, aunque un poco mas detallada.
Planificacion inicial del proyecto Definicion del proyecto
Analisis de requisitos
Requisitos funcionales Requisitos no funcionales Especificacion
Diseno
Diseno de 161 arquitectura del sistema Diseno funcional
Diseno de 161 B.D
Disefio de 161 interfaz de usuario Implementacion
Elavoracion de 161 memoria
Preperaelon de 161 presentacion Presentacion
5 dlas mar 19106107 lun 25106107 13
1 dla mar 26106107 mar 26106107 14
82
Como hemos podido ver en la imagen, esta planlficaclon se ha realizado con la herramienta Microsoft Project, que establece un dla como unidad minima para contabilizar el tiempo de una tarea, Nosotros, despues de realizar un promedio de las horas dedicadas al provecto a la semana, hemos considerado un dia como 6 horas de trabajo. Esta convencion se aplicara de la misma forma en los apartados siguientes de planificaci6n final V castes econ6micos.
Memoria PFC Gestlon de un taller mecanlco
6.2. Planificaci6n final
Una vez que casi hemos finalizado el provecto, V estamos realizando los ultimos retoques de la memoria, hemos vuelto a replantearnos la planificacion inicial realizada al inicio de este provecto, adaptandola a la ejecucion real del provecto,
EI resultado obtenido se muestra en la imagen siguiente:
2dfas mie 14102107 1
Requisitos funcionales
Requisitos no funcionales
Especificacion 5dias
Oiseno 10 dfas
Oisefio de la arquitectura del sistema 1 dia mie 28102107 mie 28102107 6
Oisefio funcional 5dfas jue 01103107 mie 07103107 8
Oisefio de la 8.0 2dfas jue 08103107 vie 09103107 9
Oisefio de la interfaz de usuario 2dfas lun 12103107 mar 13103107 1 0
Implementacion 50dias mie 14103107 jue 24105107 7
Elavoracion de la memoria 10 dfas vie 25105107 jue 07106107 12
Preparacion de la presentacion 3dfas vie 08106107 mar 12106107 13 Las desviaciones entre la ejecuclon real del provecto V la planiflcacion inicial, como podemos veri no son demasiado excesivas, aunque si que merece la pena analizarlas.
La primera diferencia notable es que se considero la fecha de la presentacion del provecto hacia finales de Junio 0 principios de Julio, finalmente, esta fecha se ha podido adelantar gracias al correcto funcionamiento de todo el provecto,
Otra diferencia considerable entre las dos planificaciones ha side el nurnero de dlas destinados a cada una de las eta pas del desarrollo del software. Hablamos considerado mas tiempo para las etapas iniciales del desarrollo como analtsis de requisites, especificacion V disefio, que el que finalmente hemos necesitado emplear. En carnbio, la etapa de implementaclon, ha side algo mas lenta de 10 esperado. EI motivo de este retraso en la lmplementaclon, se debe quizas, a la inexperiencia con el lenguaje de prograrnacion, va que algunas de las funcionalidades han sido muv costosas de implementar, por ejemplo, la impreslon de facturas.
83
Memoria PFC Gesti6n de un taller rnecanlco
6.3. Costes econ6micos
En este apartado, vamos a realizar un anallsis de los costes econ6micos que supone la realizaci6n del proyecto.
los precios por hora de cad a uno de los profesionales que actuan en el desarrollo del sistema han sido calculados, tomando como base los precios actuales del mercado laboral. los precios por hora que hemos adoptado han side los siguientes:
Director de provecto
18 Euros
Programador
15 Euros
30 Euros
Analista
Tomando como base el numero de dlas trabajados definidos en el apartado anterior para cada una de las tareas del provecto, podemos realizar el siguiente desglose econ6mico:
Planificaci6n del provecto 6 Director de provecto 180 Euros
Definici6n del provecto 12 Director de provecto 360 Euros
Analisis de requisitos 24 Analista 432 Euros
Especificaci6n 30 Analista 540 Euros
Diseiio 60 Analista 1080 Euros
Implementaci6n 300 Programador 4500 Euros
Elaboraci6n de la memoria 60 40%Director,60%Analista 1440 Euros
Total 492 8532 Euros 84
Memoria PFC Gesti6n de un taller rnecanico
6.4. Conclusiones y futuras ampliaciones
Como conclusion a este provecto, se podrla decir que todos los objetivos que nos impusimos al inicio del mismo, hace va casi cuatro meses, se han cumplido: se ha desarrollado el sistema que se pretendfa, con todas V cada una de las funcionalidades que nos propusimos.
Pero no solo eso, desde hace alguna semana va hemos implantado el sistema en el taller, V tras unos dlas de adaptaclon de los trabajadores al sistema V al nuevo modele de gestion de la empresa, podemos decir que el proceso ha side un exito. A(m es pronto para realizar una valoraclon mas extensa, pero va se advierte un ahorro considerable de tiempo para realizar algunas de las tareas cuotidianas que se lIevan a cabo en el taller.
Con 10 visto anteriormente, no se descartan posibles ampliaciones del sistema de cara a un futuro proximo. Una de los aspectos en los que se podrla trabajar de cara a una nueva version de la apllcacion es en la gestion economlca. En esta apartado, existe la posibilidad de extender la funcionalidad actual, que muestra la evolucion de los balances economlcos, a un sistema mucho mas complejo V detallado en donde se pueda registrar toda la contabilidad de la empresa.
Por otro lado, a nivel personal, valoro muv positivamente este provecto va que me ha ofrecido la posibilidad de poner en practice muchos de 10 conocimientos adquiridos durante la carrera e incluso, en alguna parcela, ampliarlos, como es el caso del lenguaje de prograrnaclon.
No quiero olvidarme de agradecer a Rosa M. Jimenez la dlrecclon de este provecto, cuvas ideas V comentarios me han sido de gran avuda.
Para finalizar, tan solo me queda afiadlr que estov rnuv satisfecho con el trabajo realizado V con el resultado final del sistema desarrollado.
85