ADAPTACIÓN E IMPLEMENTACIÓN
DE MEJORAS EN UN PROYECTO DE
SOFTWARE LIBRE A UN SISTEMA
CASH-FLOW MUY EFICIENTE Y
SEGURO
In eg ación y desa ollo de odas las unciones de la Maquina SP-CR2 de
Gunnebo al pun o de en a Unicen a e implemen ación de menús y mejo as
en el mismo
Au o : Ál a o Da id Manja acas San os
P o eso : Ca los G ego io Fe nández
Cu so: 4º
Asigna u a: T abajo de fin de g ado del G ado en Ingenie ía del So wa e
Facul ad: Facul ad de In o má ica
Uni e sidad: Uni e sidad Complu ense de Mad id
Índice:
Índice: ______________________________________________________________________ 1
In oduc ion: _________________________________________________________________ 2
Unicen a:_________________________________________________________________________ 2
CR2 Sa ePay: ______________________________________________________________________ 3
Key wo ds: _______________________________________________________________________ 4
In oducción: _________________________________________________________________ 5
Unicen a:_________________________________________________________________________ 5
Sa ePay CR2: ______________________________________________________________________ 6
Cla es de búsqueda: ________________________________________________________________ 7
Análisis de equisi os: __________________________________________________________ 7
Análisis de Riesgos: ___________________________________________________________ 8
Alcance:__________________________________________________________________________ 8
Ac i os: __________________________________________________________________________ 8
Amenazas: _______________________________________________________________________ 8
P o ecciones: _____________________________________________________________________ 9
Diag ama de Casos de Uso: ____________________________________________________ 10
Diag ama de Flujo: ___________________________________________________________ 11
P oyec o: ___________________________________________________________________ 12
In e az: _________________________________________________________________________ 12
Bases de Da os: __________________________________________________________________ 18
Implemen ación: _________________________________________________________________ 20
Segu idad: _______________________________________________________________________ 22
Eficiencia: _______________________________________________________________________ 17
Conclusiones: _______________________________________________________________ 26
Conclusions: ________________________________________________________________ 20
Bibliog a ía: ________________________________________________________________ 28
In oduc ion:
This final deg ee p ojec has he pu pose o in eg a e he machine Sa ePay NR2 de elop by Gunnebo
company in o he ee So wa e POS Unicen a o be used as paymen / collec ion me hod a he ba La
Playa de La apies.
Then I’ll explain in de ail each o he pa s o his p ojec :
Unicen a:
Unicen a is one o he mos downloaded so wa e o managing in en o y, s ocks, supplie s, cus ome s,
billing o small and medium business.
Unicen a is a POS (Poin o Sales) open sou ce so wa e ha was bo n in 2010 and oday has been
downloaded by mo e han a million people.
Because GNU GPL3 license has been g owing hanks o he collabo a ion no only o i s ini ial
de elope s, bu also o use s who ha e had he oppo uni y o go adding imp o emen s and co ec ing
e o s we e de ec ed by hemsel es.
Unicen a jus b ing ou e sion 4.1 o i s so wa e, al hough his p ojec is based on e sions 3.91.3 and
3.81 due o p oblems such as la e explain.
Among he mos ou s anding ea u es o his so wa e include:
• Ba codes managemen
• In eg a ion o mul iple paymen op ions: Cash, C edi ca d, Check, T ans e ...
• Paymen s di ided: allows pay combining wo o mo e o he abo e-men ioned me hods
• Mul i-use
• In eg a ion wi h diffe en ypes o da abases: MySql, Pos eSQL, SqlSe e , O acle Sql ...
• Edi ing sales eceip s
• In en o y managemen edi able ca ego ies.
• Supplie managemen accoun s wi h daily c edi limi
• Cus ome Managemen : wi h daily c edi limi , discoun ca ds, managemen VIPS
• Employee Managemen : Access le els, access secu i y ca d o iBu on and pe sonalized box.
• Au oma ic Repo ing on he poin s men ioned abo e.
CR2 Sa ePay:
Gunnebo is one o he wo ld in p o iding equipmen and secu i y sys ems wi h a comp ehensi e
app oach co e ing design, manu ac u e and ins alla ion leade s, all his combined wi h pe sonalized
se ice and a comp ehensi e package o se ices.
One such se ice is he Re ail in ying o op imize cash managemen p ocesses, educe ime spen on
cash managemen , educe sh inkage and imp o e he sa e y o bo h s aff and cus ome s.
• Secu e Sa ePay: Recycling o eu o bankno es and coins o he closed cash cycle.
Boxes paymen solu ion ha combines ecycling uni s o bankno es and coins, p o ides secu i y cash
ans e o he back office o he collec ion o unds.
• Cash eco ded and e iewed in closed casse es om he boxes.
• The Cash is ne e exposed du ing e ueling ope a ions o main enance.
• Casse es ecycled au oma ically emp ied in o a ans e uni o sa e collec ion o unds.
• Online Moni o ing and epo ing by Sa ePay Con ol so wa e.
Back office ans e uni - Sa ePay SCL o Sa ePay CTU
Sa ePay SCL
• Pe manen p o ec ion by ink.
• The cash deposi ed in cash casse es p o ec ed by secu i y ink a e deposi ed in he back office Sa ePay
SCL ans e uni .
• Always unde he p o ec ion o he ink, he cash can be picked up by he CIT.
Sa ePay CTU
• In eg a ed P ocess linking he on office, back office and cash anspo a ion.
• The cash deposi ed in boxes p o ec ed by secu i y casse es ink a e deposi ed in back office Sa ePay
ans e uni CTU.
• Cash is au oma ically deposi ed, sho ed and sealed in special secu i y bags eady o anspo ha
collec hose unds.
Cash ecycle - NR2 Sa ePay
• Configu able o ope a ion o he ATM o sel -se ice.
• Indi idual paymen and dispensing slo .
• Manage mul iple cu encies.
• Equipped o cash back.
• P o ec ion ink no es in ATMs and du ing anspo .
• Ancho ed on he floo o hei physical p o ec ion.
Coin ecycle - Sa ePay CR2
• High esolu ion g aphic display o clea communica ion wi h he cus ome
• La ge con aine o coins o acili a e paymen .
• High s o age capaci y - A echa ge he mo ning is enough o hold all day
• High speed o as e paymen and echa ge.
• The deposi cus ome s au oma ically echa ge he machine hus educing buying coins.
Key wo ds:
• POS (Poin o Sales)
• Cash Handling
• Cash Flow
• Unicen a
• Gunnebo
• JAVA
• JAVA’s ha dwa e in eg a ion
• JAVA’s secu i y and efficiency
• Business Adminis a ion
• JAVA g aphical in e ace
In oducción:
Es e P oyec o de fin de g ado iene como finalidad la in eg ación de la maquina Sa ePay CR2 de la
emp esa Gunnebo al So wa e Lib e Unicen a pa a pode se u ilizada como medio de pago/cob o en el
ba La Playa de La apiés.
A con inuación, se explica de alladamen e cada una de las pa es de es e p oyec o:
Unicen a:
Unicen a es uno de los so wa es lib es más desca gados pa a ges iona in en a ios, ese as,
p o eedo es, clien es, ac u ación pa a pequeños y medianos negocios o ien ados a la es au ación.
Unicen a es un POS (Poin o Sales) de código abie o que nació en 2010 y hoy en día ha sido desca gado
po más de un millón de pe sonas.
Debido a su licencia GNU GPL3 ha ido c eciendo g acias a la colabo ación no solo de sus desa ollado es
iniciales, sino ambién de los p opios usua ios que han enido la opo unidad de i añadiendo mejo as y
co igiendo e o es según los iban de ec ando ellos mismos.
Unicen a acaba de saca a la luz la e sión 4.1 de su so wa e, aunque es e p oyec o es á basado en las
e siones 3.91.3 y 3.81 debido a p oblemas, como más a de explica e.
En e las unciones más des acas de es e so wa e se encuen an:
• Ges ión de códigos de ba as
• In eg ación de múl iples modalidades de pago: E ec i o, Ta je a, Cheque, T ans e encia…
• Pagos di ididos: pe mi e paga combinando dos o más mé odos de los a iba ci ados
• Mul i-usua io
• In eg ación con dis in os ipos de bases de da os: MySql, Pos eSql, SqlSe e , O acle Sql…
• Edición de ecibos de en as
• Ges ión de in en a io po ca ego ías edi ables.
• Ges ión de p o eedo es con cuen as con lími e de c édi o dia io
• Ges ión de Clien es: con lími e de c édi o dia io, a je as descuen o, ges ión VIPS
• Ges ión de empleados: Ni eles de acceso, acceso po a je a de segu idad o iBu on y caja
pe sonalizada.
• Elabo ación au omá ica de in o mes sob e los pun os ci ados an e io men e.
Sa ePay CR2:
Gunnebo es uno de los líde es mundiales en el suminis o de equipos y sis emas de segu idad con un
en oque in eg al cub iendo diseño, ab icación e ins alación, odo es o combinado con un
man enimien o pe sonalizado y un amplio paque e de se icios.
Uno de esos se icios es el Re ail en los que a a de op imiza los p ocesos de ges ión de e ec i o,
educi los iempos dedicados a la ges ión del e ec i o, educi las con acciones y mejo a la segu idad
an o del pe sonal como de los clien es.
• Sa ePay Secu e: Reciclado de bille es y monedas pa a el ciclo ce ado de e ec i o.
Solución de pago pa a cajas que combina unidades de eciclado de bille es y monedas, o ece segu idad
de ans e encia de e ec i o al back office pa a la ecogida de ondos. Pa e del ciclo ce ado de e ec i o
Sa ePay pa a come cian es.
Sis ema ce ado y segu o
• E ec i o con abilizado y e isado en case es ce ados desde las cajas.
• El E ec i o nunca es á expues o du an e las ope aciones de eca ga o man enimien o.
• Case es de eciclado au omá icamen e aciados en una unidad de ans e encia pa a una ecogida
segu a de ondos.
• Con ol Online y p esen ación de in o mes median e el so wa e Sa ePay de Con ol.
Back office ans e uni - Sa ePay SCL o Sa ePay CTU
Sa ePay SCL
• P o ección pe manen e po in a.
• El e ec i o deposi ado en caja median e case es de segu idad p o egidas po in a son deposi ados en
back office en la unidad de ans e encia Sa ePay SCL.
• Siemp e bajo la p o ección de la in a, el e ec i o puede se ecogido po el anspo e de ondos.
Sa ePay CTU
• P oceso in eg ado que une el on office, back office y anspo e de ondos.
• El e ec i o deposi ado en cajas median e casse es de segu idad p o egidas po in a son deposi ados
en back office en la unidad de ans e encia Sa ePay CTU.
• El e ec i o es au omá icamen e deposi ado, o denado y sellado en bolsas especiales de segu idad
lis os pa a la ecogida del anpo e de ondos.
Reciclado de e ec i o - Sa ePay NR2
• Configu able pa a uncionamien o del caje o o au o-se icio.
• Ranu a indi idual pa a pago y dispensación.
• Ges ión de múl iples di isas.
• Equipado pa a de olución de e ec i o.
• P o ección de in a de bille es en caje os y du an e el anspo e.
• Anclado en el suelo pa a su p o ección ísica.
Recilado de monedas - Sa ePay CR2
• Al a esolución de pan alla g áfica pa a una comunicación cla a con el clien e
• Amplio ecipien e de monedas pa a acili a el pago.
• Al a capacidad de almacenamien o – Una eca ga po la mañana es suficien e pa a aguan a odo el día
• Al a elocidad pa a mayo apidez en el pago y eca ga.
• El depósi o de clien es eca ga au omá icamen e la máquina educiendo así la comp a de monedas.
Cla es de búsqueda:
• PVO (Pun o de Ven a Online)
• Manejo de e ec i o
• Flujo de dine o
• Unicen a
• Gunnebo
• JAVA
• In eg ación de sis emas a JAVA
• Segu idad y eficiencia JAVA
• Ja a Na i e In e ace
• Diseño g áfico en JAVA
Análisis de equisi os:
El ba La Playa de La apiés iene la necesidad de adap a al sis ema UNICENTA, an e io men e explicado,
un mé odo de pago pa a su nue a máquina Sa ePay CR2 de la emp esa in e nacional Gunnebo, que se
enca ga de ges iona la pa e del dine o en me álico o “cash” an o de las en as a clien es como de
pagos a p o eedo es siemp e siendo egis ados es os mo imien os en la base de da os de Unicen a.
La adap ación equie e:
o Un menú de configu ación in eg ado en la pan alla de configu aciones de Unicen a, pa a
es ablece la conexión con la máquina y ajus a cualquie pa áme o de es a co ec amen e.
o Añadi una o ma de pago, in eg ada en la pan alla de Pagos de Unicen a, pa a ealiza odas las
ope aciones y ges iona las excepciones ela i as al pago de bienes po pa e de los clien es.
o Añadi una pes aña de Man enimien o y Opciones sob e el Sa ePay, pa a ejecu a dis in as
unciones disponibles en la Maquina, como saca dine o con un o ma o conc e o, ab i la,
esol e a ascos, ni eles de cada moneda, e c.
o Añadi una abla en la base de da os de Unicen a, in eg ada con el Sa ePay que se enca ga a de
ecoge el es ado en iempo eal de cada ansacción, pa a ol e a ella después de un allo
eléc ico o un allo del sis ema.
o Añadi una pan alla de ges ión de p o eedo es, en la que se puedan inse a , ac ualiza , ocul a y
elimina un p o eedo . Unicen a no posee es a ca ac e ís ica de momen o.
o Añadi una pan alla de pagos a p o eedo es que egis e cada pago que se es ablece a un
p o eedo seleccionado.
Análisis de Riesgos:
Du an e la definición del p oyec o se han ido elabo ando el siguien e análisis de iesgos de la aplicación.
Alcance:
El alcance de es e análisis de iesgos es la o alidad del alcance del p oyec o: El so wa e de Unicen a, el
ha dwa e de la maquina Sa ePay, la base de da os y el se ido en el que es án ins alados odos esos
se icios.
Ac i os:
Nomb e
Desc ipción
Tipo
Ubicación
C i ico
Se ido Linux
Se ido en el que
se ejecu an odos
los se icios
Se ido (Físico)
Rincón de caja
Sí
Rou e
Rou e pa a la ed
Wifi de los
clien es y de los
se icios in e nos
Rou e (Físico)
Rincón de caja
Sí
Sa ePay NR2
Máquina de
CashHandling
Sa ePay (Físico)
Rincón de caja
Sí
Unicen a
Pla a o ma que
con ola el
Sa ePay
So wa e (Vi ual)
Se ido
Sí
Base de Da os
Base de da os
Pos g eSql
So wa e (Vi ual)
Se ido
Sí
Moni o Tác il
Moni o de salida
del se ido
Moni o (Físico)
Rincón de Caja
Si
TPU
Disposi i o de
cob o pa a el
pago con a je a
TPU (Físico)
Ba a del ba
Sí
Amenazas:
Las posibles amenazas iden ificadas pa a los an e io es ac i os son:
• Fallo de co ien e eléc ica: P o oca a que el se ido y Sa ePay NR2 se apagen au omá icamen e
pudiendo gene a daños en el ha dwa e o da os co up os en el so wa e.
• Fallo en el p o eedo de in e ne : Es o ha á que se pie da la conexión con el Sa ePay ya que es á
asignado a una IP fija en la NAT del Rou e , po lo que se ía imposible ope a con no malidad
du an e ese iempo.
• Co oci cui o po fluidos: Debido a la ce canía de la cocina y de la ba a hay que conside a es e
iesgo como posible ya que una pequeña can idad de líquido pod ía p o oca un allo eléc ico y
pa aliza el sis ema.
• A e ía en el se ido Linux: Dependiendo del ipo de a e ía pod ía pa aliza o almen e el
se ido pa ando odos los se icios has a su epa ación.
• Ro u a del Moni o ác il: Si se a e iase el moni o no se pod ía isualiza ni ope a con Unicen a
• In ección po Vi us: Dependiendo de la amenaza pod ía llega a oba da os de
clien es/p o eedo es de la base de da os.
• Fallo en el sis ema: A pesa de la ba e ía de p uebas más adelan e de allada, el sis ema pod ía
ene un e o que lo pa alize.
• Fallo en la inicialización de alguno de los p og amas: Un allo de es e ipo pod ía de i a en el no
co ec o uncionamien o del conjun o de la aplicación
• Bille es o monedas insuficien es en el Sa ePay NR2: P o oca ía no pode ealiza un se icio
adecuado a los clien es/p o eedo es.
• A asco den o del Sa ePay NR2: La no co ec a ci culación de bille es y/o monedas bloquea ía la
única en ada/salida de dine o en e ec i o
• Sob ecalen amien o de los componen es: Al no es a en un luga especialmen e en ilado es e
p oblema pod ía ocu i y pa aliza el uncionamien o del sis ema
• Pe dida de cla e de acceso: Si un abajado pie de su cla e de acceso no pod ía accede a la
aplicación, ni ope a con la misma.
• A e ía de uno de los TPU: La a e ía de alguno de los TPUs de La Playa de La apiés ha ía que el
pago con a je a no es u ie a habili ado en la aplicación.
• Robo de equipos in o má icos: Impedi ía el uncionamien o del sis ema.
P o ecciones:
F en e a las amenazas del pun o an e io La Playa de La apiés cuen a con las siguien es
p o ecciones:
• Mul i- oma de enchu es con p o ección en e a caídas de ed: Es o le pe mi i á aguan a a
odo el sis ema unos minu os más, iempo suficien e pa a ce a co ec amen e el p og ama
y apaga el se ido .
• La playa de La apiés cuen a con o o se ido de epues o en el caso de o u a del p incipal,
aunque sin back-up de la base de da os con la que es au a los p ocesos al pun o más
ecien e.
• Se icio écnico de Gunnebo pa a el Sa ePay NR2, que acudi ía en poco iempo a soluciona
cualquie a e ía que u ie a la maquina o cualquie p oblema en ella.
• Ala ma en el local pa a p e eni obos.
• La nue a pan alla de ges ión y man enimien o de Sa ePay con unciones como cambio,
in en a io de monedas y bille es, desmon aje de los p incipales cajones pa a su pues a a pun o y
he amien as básicas de conexión y comunicación con Sa ePay.
• La pan alla pa a isualiza en iempo eal la can idad de monedas y bille es que es án den o de
la máquina
• Pan alla pa a esol e las ansacciones que se han quedado pendien es en caso de habe se
p oducido un allo y no habe podido soluciona lo en el momen o.
• La pan alla que pe mi e cambia dine o a los clien es.
Bases de Da os:
La e sión o iginal de Unicen a abaja sob e dis in as bases de da os, desde JBDC De by has a SQL
Se e , es e p oyec o ha espe ado e implemen ado odos los Sc ip s y Repo s en odos los lenguajes
que se u ilizan en la e sión base de Unicen a.
En es e p oyec o han sido modificadas 4 ablas SQL, la gene ación de 6 Repo s y la inclusión de 3 ablas
nue as.
La p incipal modificación del p oyec o espe o al so wa e o iginal se ha ealizado en es e apa ado,
sepa ando la abla de en as a clien es de las comp as/ en as a p o eedo es o iginalmen e combinadas
pa a la gene ación de epo s de CashFlow globales, pe o sin sen ido a ni el con able.
Aho a sepa adas en las ablas Sales y Paymen s, es a úl ima con cla e o ánea a la nue a abla
p o eedo es pa a asocia un pago a un p o eedo y gene a epo s sob e es os mismos
Con es a nue a e sión de base de da os la modula idad o al del p oyec o se ha is o inc emen ada y la
posibilidad de elabo ación de nue os epo s pa a u u os clien es es más ácil y lógica, sepa ando cada
elemen o en su p opia abla, con las cla es necesa ias pa a elaciona unas con o as.
Además, la gene ación de los epo s o iginales, sob e odo de CashFlow y cie e de caja han sido
comple amen e adap ados y ediseñados, cuidando los ipos de las columnas de las nue as ablas pa a
compa ibiliza las con las an iguas.
A ni el de in eg ación con la maquina Sa ePay NR2 se ha c eado la abla TRANSACTIONS que ecoge á
cualquie mo imien o de dine o du an e una ansacción en la que el Sa ePay es e ac i o, y que ac ua de
la siguien e mane a:
Se c ea á una nue a fila cuando el Sa ePay es e en modo cob o o pago con los campos: ID, Fecha,
Usua io y To al. Se ac ualiza á es a fila según aya en ando dine o o dispensándolo y solamen e se
elimina á si no hay ningún e o y el p oceso ha finalizado co ec amen e.
Es o pe mi e c ea un backup en iempo eal que en caso de co e de elec icidad o p oblema c i ico
an o del PC como de la máquina, queda a egis ado el ul imo es ado ope a i o de la máquina y la
ope ación que se es aba lle ando a cabo, posibili ando median e el menú de Sa ePay esol e la en
cualquie momen o. Una ez esuel a se bo a á de la base de da os.
A ni el de ipos de ansacciones la e sión o iginal de Unicen a no con emplaba el ipo cambio po lo
que se ha añadido y e e enciado cuando se ealiza es a ope ación a a és del panel de cambio.
Implemen ación:
La implemen ación de o iginal de Unicen a es á comple amen e ealizada en JAVA, con la in eg ación de
los Sc ip s en o ma o SQL, la gene ación de Repo s en o ma o XML y JXML.
La implemen ación de Sa ePay CR-2 es á comple amen e ealizada en C++ y Visual.
Debido a es a incompa ibilidad de lenguajes y la imposibilidad de comunicación en e ambos, ha sido
necesa io u iliza un JNI (Ja a Na i e In e ace) que haga de puen e en e las unciones Ja a
desa olladas pa a el Sa ePay y las unciones o iginales de Sa ePay en C++.
Dicho JNI usa dos lib e ías. ddl / .so dependiendo del sis ema ope a i o en el que se ins ale el p og ama.
El p oyec o en es e ámbi o se di ide en dos pa es:
• Una p ime a pa e que implemen a las clases e in e aces necesa ias pa a el menú de
p o eedo es en Unicen a, pa a la cual ha sido necesa io implemen a un o al de 15 clases y han
sido c eadas den o del paque e de Unicen a, como si de una nue a eléase se a a a.
• La segunda pa e se a a de odas las clases que pe mi en in eg a odas las uncionalidades de
la maquina Sa ePay NR2 a Unicen a, que es án alojadas ue a del paque e de Unicen a. He dado
es e a amien o de add-on pa a que la u ilización o no de la maquina sea independien e de las
nue as ca ac e ís icas de es a e sión.
Es a pa e se subdi ide en 2 paque es p incipales:
o El p ime o es á des inado a albe ga las 5 clases necesa ias pa a implemen a odas las
unciones del Sa ePay incluyendo la pa e de adminis ación de Base de Da os, y odas las
ca ac e ís icas de segu idad que después se e án comen adas.
o El segundo paque e implemen a odos los paneles de configu ación, adminis ación, en a,
pago, cambio, y de olución desa ollados pa a la máquina.
Segu idad:
El apa ado de segu idad ha sido uno de los p incipales pila es sob e los que se ha cons uido el
p oyec o, ya que al a a se de mo imien os de dine o es undamen al ene unos con oles pa a e i a
desajus es de caja, obos o acceso a pe sonas indebidas.
La máquina Sa ePay NR2 p opo ciona un ci cui o ce ado de cashflow en el que ningún usua io no
egis ado po el sis ema puede ealiza ope aciones de ing eso o salida de dine o y cuen a con medidas
an i obo como ma ca los bille es con in a cuando de ec a que es á siendo o zada.
Al u iliza la maquina en un sis ema no diseñado po la p opia compañía había que ene en cuen a
odas esas medidas de segu idad.
Unicen a posee ipos de usua io ampliables y edi ables en su o alidad, po de ec o es os son:
Adminis ado , Manage , Usua io y P obado .
El acceso a las unciones del p og ama es á limi ado po clases es ableciendo los pe misos en o ma o
XML en los dis in os fiche os de configu ación de cada ol.
Siguiendo con es a es uc u a de segu idad, las clases desa olladas son po de ec o accesibles pa a los
adminis ado es pudiendo es os habili a las pa a cualquie o o ol deseado.
Las p incipales medidas de segu idad implemen adas en es e p oyec o se ponen en ma cha al accede al
Sa ePay NR2 y son:
• Regis o del usua io po el que accede y la echa en la base de da os.
• Comp obación al inicia una ansacción del co ec o es ado de la máquina de lo con a io
mos a á un mensaje de e o y no se inicia á dicha ansacción.
• Comp obación de e o es cada décima de segundo. En caso de e o se mues a un mensaje al
usua io y se pausa la ope ación en cu so y no se eanuda á has a el co ec o uncionamien o del
Sa ePay, no pe mi iendo al usua io decidi cuando es á o no solucionado dicho e o .
• Comp obación de comunicación con la maquina y es ado de la misma con ecuencia de 1
milisegundo, en caso de pé dida de conexión Sa ePay se cie a po de ec o y mues a un
mensaje pidiendo que se uel a a conec a . Mien as la maquina in en a econec a con un
imeou de 3 segundos (o iginalmen e 15), in en ándolo con inuamen e has a el éxi o o la
cancelación po pa e del usua io que supone el cie e del p og ama.
Modifica los imeou s de la maquina e a imposible al no ene el código uen e libe ado, asique he
implemen ado una clase que pasándole un mé odo de un obje o y un iempo de ejecución máximo lo
ejecu a y lo des uye en si se supe a el iempo máximo es ablecido gene ando una excepción que más
a de es con olada po el código, es a decisión se ha omado p incipalmen e pa a mejo a el iempo de
ince idumb e que su e el pe sonal que es á abajando con la máquina que du an e 15 segundos no
sabían que es aba ocu iendo, y al mismo iempo mejo a el dinamismo que puede supone que las
ansacciones del local no queden pa alizadas po an o iempo, cosa que en ho as pun a puede se i al.
Comp obación de a ascos in e nos en la ci culación de monedas y bille es: En caso de a asco se egis a
el es an e de la ope ación en la abla TRANSACTIONS ci ada en el apa ado base de da os, se mues a el
mensaje de e o co espondien e al a asco y se ab e la apa pe mi iendo al usua io el acceso a los
odillos ex ac o es de dine o, pe o no a los ambo es con enedo es donde es án alojados los bille es y
monedas. Una ez esuel o el a asco po de ec o con inua con la ope ación en cu so, pe o si el usua io
debido a la imposibilidad de esol e o po decisión p opia decide cancela , la maquina se cie a
au omá icamen e, así como el p og ama.
Ab a que eanuda la ope ación desde el menú de Sa ePay.
Eficiencia:
El en o no en el que se a a usa el so wa e es un en o no público, pudiendo ene un uso excesi o en
ho as pun as, como pueden se los almue zos, comidas o cenas o días no labo ables. Po eso es i al que
el so wa e egis e sin pé dida de iempo cualquie cambio que se p oduzca en la maquina Sa ePay NR2.
Se ha p es ado especial a ención a es e aspec o en el desa ollo sabiendo que podía supone p oblemas
de es abilidad, el esul ado ha sido un equilib io en el que los iempos de egis o de la máquina y
ac ualización en el so wa e son ins an áneos sin comp ome e excesi amen e la es abilidad que aun así
si la conexión no idónea o la cobe u a inalámb ica es escasa puede esul a en algún a iso momen áneo
que se au o soluciona á en pocos segundos.
Los iempos máximos de e aso en e el ha dwa e y el so wa e son de al ededo de 0,15 segundos,
dependiendo odo es o de los componen es ha dwa e de cada máquina donde se ejecu e es a e sión
de Unicen a.
Se han minimizado los iempos de los imme que consul an la can idad in oducida en la máquina, que
no acceden di ec amen e a es a pa a no sa u a la con a ias ope aciones al mismo iempo, en su luga
se accede a una a iable in e media que ac ualiza un nue o hilo de p og amación que es á
con inuamen e consul ando la máquina.
Los iempos de consul a de es ado ambién se hacen median e una a iable in e media y se analiza
an es de ealiza cualquie ope ación sob e el Sa ePay NR2 el iempo de la unción de análisis y consul a
del es ado son de 0,2 segundos.
Los iempos de econexión aho a son de 3segundos se han is o educidos en un 30% siendo es e
omado como iempo óp imo pa a ealiza cualquie ope ación ápida y con inua con la ope ación en
cu so.
Se ha di ido la ejecución lógica de cada pan alla del p og ama de la lógica del Sa ePay NR2 en dos hilos
di e en es, los cuales compa en a iables de con ol como son STATUS o MONEY.
(Todos los iempos esc i os en es a p ác ica son o ien a i os y depende á del ha dwa e del equipo donde
se ejecu e el p og ama, los iempos es án medidos en un In el i3 y 4GB Ram)