• No se han encontrado resultados

DISSENY I IMPLEMENTACIÓ D'UNA APLICACIÓ DE GESTIÓ PER A LA RESTAURACIÓ

N/A
N/A
Protected

Academic year: 2021

Share "DISSENY I IMPLEMENTACIÓ D'UNA APLICACIÓ DE GESTIÓ PER A LA RESTAURACIÓ"

Copied!
130
0
0

Texto completo

(1)

Xavier Querol Salvat

DISSENY I IMPLEMENTACIÓ D'UNA APLICACIÓ

DE GESTIÓ PER A LA RESTAURACIÓ

TREBALL DE FI DE GRAU

dirigit per Dr. David Sánchez Ruenes

Grau d’Enginyeria Informàtica

Tarragona 2017

(2)

1

(3)

2

ÍNDEX

1. OBJECTIUS DEL PROJECTE... 6

2. FASE DE REQUISITS ... 7

2.1 GUIONS ... 7

2.2 REQUISITS FUNCIONALS ... 10

2.2.1 REGLES DE NEGOCI ... 10

2.2.3. CD’Ú ... 11

2.2.3.1. ACTORS ... 11

2.2.3.2. DIAGRAMES DE CD’Ú ... 12

2.2.3.3. ESPECIFICACIÓ TEXTUAL CD’Ú ... 13

2.3 REQUISITS NO FUNCIONALS ... 40

3. ANÀLISI ... 41

3.1 DIAGRAMA DE CLASSES ... 42

3.2 DIAGRAMES DE SEQÜÈNCIES ... 43

Cd’ú 01. Identificar-se ... 43

Cd’ú 02. AfegirClient ... 44

Cd’ú 03. BuscarClient ... 45

Cd’ú 04. SeleccionarTaulaPrincipal ... 46

Cd’ú 05. AfegirArticleComanda ... 47

Cd’ú 07. SeleccionarLínia ... 48

Cd’ú 08. ModificarLínia ... 49

Cd’ú 09. EsborrarLínia ... 50

Cd’ú 10. IncrementarUnitatsLínia ... 51

Cd’ú 11. DecrementarUnitatsLínia ... 51

Cd’ú 12. AfegirComentariComanda ... 52

Cd’ú 13. EsborrarTotesLiniesComanda ... 53

Cd’ú 14. DividirCobramentComanda ... 54

Cd’ú 15. CobrarComanda ... 55

Cd’ú 16. AssignarClientComanda ... 56

Cd’ú 17. MostrarLlistaTaules ... 57

Cd’ú 23. CrearMenuDia ... 58

Cd’ú 29. SeleccionarProducte ... 59

Cd’ú 32. ModificarProducte ... 60

Cd’ú 33. EsborrarProducte ... 61

(4)

3

4. DISSENY ... 62

4.1. Disseny de la interfície amb els usuaris ... 62

4.1.1. Disseny de la metàfora ... 62

4.1.2. Disseny de la interfície metàfora ... 67

4.2. Disseny de les classes d’entitat (diagrama amb relacions) ... 93

4.2.1 Revisió del diagrama de les classes d’entitat... 93

4.2.2 Diagrama amb atributs referencials ... 94

4.3. Disseny de la persistència ... 95

4.4. Esquema de la base de dades (SQLite) ... 98

4.5 Esquema de la base de dades relacional ... 102

5. DESENVOLUPAMENT ... 103

6. AVAULACIÓ ... 109

7. CONCLUSIONS ... 123

7.1 OBJECTIUS ACONSEGUITS ... 124

7.2 REFLEXIÓ PERSONAL SOBRE LES COMPETÈNCIES OBTINGUDES ... 125

7.3 POSSIBLES MILLORES ... 125

8. RECURSOS UTILITZATS... 126

9. MANUALS ... 127

(5)

4 Figures

Figura 1. Diagrama de casos d’ús ... 12

Figura 2. Diagrama de classes ... 42

Figura 3. Diagrama seqüència 01.Identificar-se ... 43

Figura 4. Diagrama seqüència 02.AfegirClient ... 44

Figura 5. Diagrama seqüència 03.BuscarClient ... 45

Figura 6. Diagrama seqüència 04.SeleccionarTaulaPrincipal ... 46

Figura 7. Diagrama seqüència 05. AfegirArticleComanda ... 47

Figura 8. Diagrama seqüència 07. SeleccionarLinia ... 48

Figura 9. Diagrama seqüència 08.ModificarLinia ... 49

Figura 10. Diagrama seqüència 09.EsborrarLinia ... 50

Figura 11. Diagrama seqüència 10.IncrementarUnitatsLinia ... 51

Figura 12. Diagrama seqüència 11.DecrementarUnitatsLinia ... 51

Figura 13. Diagrama seqüència 12.AfegirComentariComanda ... 52

Figura 14. Diagrama seqüència 13. EsborrarTotesLiniesComanda... 53

Figura 15. Diagrama seqüència 14.DividirCobramentComanda ... 54

Figura 16. Diagrama seqüència 15. CobrarComanda ... 55

Figura 17. Diagrama seqüència 16.AssignarClientComanda ... 56

Figura 18. Diagrama seqüència 17.MostrarLlistaTaules ... 57

Figura 19. Diagrama seqüència 23.CrearMenuDia ... 58

Figura 20. Diagrama seqüència 29.SeleccionarProducte ... 59

Figura 21. Diagrama seqüència 32.ModificarProducte ... 60

Figura 22. Diagrama seqüència 33. EsborrarProducte ... 61

Figura 23. Metàfora Comanda ... 62

Figura 24. Metàfora Usuari ... 63

Figura 25. Metàfora Client ... 63

Figura 26. Metàfora Empleat ... 64

Figura 27. Metàfora Producte ... 64

Figura 28. Metàfora Article ... 65

Figura 29. Metàfora Família ... 65

Figura 30. Metàfora Taula ... 66

Figura 31. Metàfora Línia Comanda ... 66

Figura 32. Interfície 01.Identificar-se ... 67

Figura 33. Interfície 02.AfegirClient ... 68

Figura 34. Interfície 04. SeleccionarTaulaPrincipal ... 69

(6)

5

Figura 35. Interfície 04. Finestra FMostraComanda ... 69

Figura 36. Interfície 05. AfegirArticleComanda ... 70

Figura 37. Interfície 07.SeleccionarLinia ... 71

Figura 38. Interfície 08.ModificarLinia ... 72

Figura 39. Interfície 09. EsborrarLinia ... 73

Figura 40. Interfície 12.AfegirComentariTaula ... 74

Figura 41. Interfície 13.EsborrarTotesLiniesComanda ... 74

Figura 42. Interfície 14.DividirCobramentComanda ... 75

Figura 43. Interfície 15.CobrarComanda ... 75

Figura 44. Interfície 16.AssignarClientComanda ... 76

Figura 45. Interfície 17.MostrarLlistaTaules ... 77

Figura 46. Interfície 19.AfegirTaula ... 77

Figura 47. Interfície 20. ModificarTaula ... 78

Figura 48. Interfície 23.CrearMenuDia ... 79

Figura 49. Interfície 23.CrearMenuDia.TIpusPlat ... 79

Figura 50. Interfície 24.MostrarLlistaComandes ... 80

Figura 51. Interfície 26.ModificarComanda ... 81

Figura 52. Interfície 28.MostrarLlistaProductes ... 82

Figura 53. Interfície 31.AfegirProducte ... 83

Figura 54. Interfície 32. ModificarProducte ... 84

Figura 55. Interfície 34.MostrarLlistaFamilies ... 85

Figura 56. Interfície 37.AfegirFamilia ... 86

Figura 57. Interfície 38. ModificarFamilia ... 87

Figura 58. Interfície 40. MostrarLlistaClients ... 88

Figura 59. Interfície 42. ModificarClient ... 89

Figura 60. Interfície 44.MostrarLListaEmpleats ... 90

Figura 61. Interfície 47. AfegirEmpleat ... 91

Figura 62. Interfície 48. ModificarEmpleat ... 92

Figura 63. Diagrama amb atributs referencials ... 94

Figura 64. Esquema de la base de dades relacional ... 102

Figura 65. Paquets del projecte NetBeans ... 103

Figura 66. Finestra amb llista d'elements ... 107

Figura 67. Finestra de formulari ... 107

Figura 68. Executar fitxer Main.java ... 127

Figura 69. Botó Empleats ... 128

(7)

6

1. OBJECTIUS DEL PROJECTE

En aquest projecte es vol desenvolupar una aplicació d’escriptori multi plataforma per a restaurants que permeti realitzar vendes. Actualment al mercat hi ha molts programes de vendes per a restaurants però la majoria són molt cars. Un programa d’aquests pot tenir un preu a partir de 500 o més euros, això sense comptar el cost del dispositiu. Per exemple un cas que s’ha trobat és el d’un software per a restaurants que té un cost de 495 €. Aquest diu que permet controlar totes les comandes de les taules i que permet interrelacionar totes les dades entre pantalles tàctils molt fàcils d’usar. Aquest programari per tant serà equivalent al que es vol desenvolupar. Aquest cost no inclou els costos del terminal de venda ni els perifèrics necessaris per la venda. Com hem pogut comprovar la majoria de terminals amb pantalla tàctil i impressora de tiquets incorporada ronda els 1300 euros, un cost molt elevat. El nostre objectiu es crear un software amb un preu de 200-300 que faci que la compra de un terminal i el programari rondi els 1000 euros i que així no suposi un cost molt elevat per a petits negocis.

Aquests elevats preus fan que petits negocis no s’atreveixin a fer el pas de canviar la típica caixa registradora per un ordinador amb pantalla tàctil ja que no els surt a compte. Per tant el que es vol és un producte que cobreixi les principals necessitats d’un negoci pel que fa a les vendes a un preu a l’abast de tota mida de negocis. Volem diferenciar-nos del programari actual no per un disseny millor o les funcionalitats que puguin arribar a tenir sinó un programari que cobreixi les principals necessitats d’un restaurant a l’hora de vendre.

Aquest tipus d’aplicacions són molt importants avui en dia en el mercat, ja que dóna als establiments la possibilitat de poder emmagatzemar totes les comandes que realitzen, els seus clients, els seus productes, etc. D’aquesta manera els permet portar tot molt més organitzat sense necessitat de tenir papers i altres eines per controlar tots aquests elements. Ja que ho tindran tot a la mateixa aplicació i al mateix dispositiu. A més també es vol que l’aplicació tingui un disseny per a l’ús en pantalles tàctils cosa que permeti als usuaris treballar amb rapidesa i facilitat amb l’aplicació.

L’usuari podrà tenir les seves famílies d’articles, els seus articles, podrà realitzar-ne comandes amb aquests als seus clients que també tindrà registrats. A més podrà consultar i modificar totes aquestes dades. Per tant es vol que aquest software pugui ser utilitzat des de un bar d’un poble o fins a grans restaurants.

Per tant els principals objectius d’aquest projecte són:

• Permetre realitzar comandes amb productes indicant el numero d’unitats i import de cadascun.

• Permetre gestionar clients, empleats, productes, famílies de productes, menú del dia, taules d’un restaurant, comandes i línies de comanda.

• Muti plataforma que funcioni tant en Linux, Windows i Mac OS. • Disseny usable i fàcil d’usar en pantalles tàctils.

• Disseny “responsive”, és a dir, que es pugui variar la mida de la finestra d’aquesta sense que afecti els elements de la finestra.

(8)

7

2. FASE DE REQUISITS

En aquesta fase es recollirà tota la informació necessària per al desenvolupament del projecte tal i com s’ha plantejat. S’especificarà quins usuaris faran ús de l’aplicació, quines funcionalitats podran fer i quins no. A més també es determinarà quins atributs tindran cadascun dels elements del projecte. Per dur a terme aquesta fase primera es confeccionaran els guions dels diferents usuaris que hi haurà a l’aplicació. També es recolliran els requisits funcionals, és a dir, quines funcionalitats tindrà el sistema, obligacions, prohibicions, etc. Així com les no funcionals que inclouen el sistema operatiu que es farà servir, quin tipus de base de dades s’utilitzarà o quin llenguatge de programació i IDE es triarà per al desenvolupament.

Com ha resultat d’aquesta fase obtindrem els diagrama de casos d’ús que especificaran quines funcionalitats pot realitzar cada actor en el sistema. A més en tindrem l’especificació que ens permetrà saber qui podrà realitzar aquesta operació, dades d’entrada i sortida i els passos que formen la funcionalitat. Els guions dels usuaris han estat confeccionats tenint el compte les funcionalitats analitzades d’un programari més antic i a partir de totes aquestes agafar les que s’han trobat més adients i possibles d’aplicar en aquest projecte.

2.1 GUIONS

En aquest punt del projecte es detallaran els guions que tindran els diferents actors en el sistema. Aquests guions representaran totes les funcionalitats que podran dur a terme aquestes dins de l’aplicació.

Guió del Cambrer

El Cambrer per a entrar al sistema haurà d’utilitzar un codi únic i preestablert a l’hora de registrar l’Empleat a l’aplicació. Aquest codi o contrasenya estarà format per 4 dígits numèrics, on aquesta combinació haurà de ser única al sistema. Ja que aquest codi identificarà a l’usuari quan entri a l’aplicació i d’aquesta manera es podrà registrar qui ha dut a terme les operacions un cop dins del sistema. Un cop s’hagi identificat ja podrà dur a terme totes les operacions que li són premses segons els tipus d’usuari que sigui.

Aquest Empleat tindrà DNI, nom, cognoms, adreça del seu domicili, la població, el codi postal, el telèfon mòbil, el telèfon fixo de casa seva i finalment tindrà un camp a la base de dades que identificarà el tipus d’empleat que és que en aquest cas seria Cambrer. Aquest tipus d’empleat podrà ser Cambrer, Encarregat o Administrador.

Aquest podrà afegir nous Clients. Els clients tindran DNI, nom, cognoms, adreça del seu domicili, la població, el codi postal, el telèfon mòbil, el telèfon fixo de casa seva, E-mail i finalment tindrà un camp que identificarà el tipus de client que podrà ser Particular o Empresa (aquest se seleccionarà d’una llista fixa). A més un cambrer podrà buscar un Client per assignar-lo a una comanda. Aquest podrà ser cercat a partir d’una paraula clau que el cambrer podrà introduir o seleccionar-lo directament de la llista que es mostrarà tots els clients on figurarà el DNI i el nom empalat. Un cop realitzada la cerca haurà de seleccionar- ne un de la llista on figurarà el DNI i el nom complet de cada client resultant de la cerca.

(9)

8

Un cambrer també podrà crear noves Comandes, aquestes tindran codi, data d’emissió, data de cobrament/tancament, preu total, quantitat pagada, forma de pagament, descompte (que es pot aplicar a l’hora de fer el cobrament), pagada o no, activa o no (aquest camp indicarà si la comanda encara no ha estat tancada, és a dir, els clients encara no l’han pagada). Quan una comanda sigui creada el sistema li assignarà el cambrer que l’hagi creada, la taula on ha estat creada i la data que s’ha creat aquesta. Per crear una comanda un empleat haurà d’haver seleccionat una taula prèviament d’una llista on es mostrarà el número d’aquesta, i aquesta serà assignada a la comanda. Una taula tindrà un número, cadires, sala a on està situada, estat (camp per indicar si aquesta està ocupada o no) i un comentari si s’escau.

El Cambrer també podrà afegir Productes a una comanda. Un producte tindrà codi, nom, PVP (preu de venda al públic), preu de cost, preu addicional, notes associades a aquest i una adreça que ens indicarà a on està la imatge que el representa. Els Productes podran ser Article o Menú del dia. Un Article tindrà els mateixos atributs que un producte però a més tindrà un estoc inicial i l’estoc actual. A més tindrà una família associada la qual permetrà agrupar els articles per Família. Aquesta Família tindrà un codi, un nom i un descompte associat als productes d’aquesta família. Perquè un usuari pugui afegir un article prèviament haurà d’haver seleccionat una família d’una llista que mostrarà el sistema amb totes les famílies on cada una serà representada per una imatge i el seu nom. Seguidament el sistema mostrarà una llista amb els articles on figurarà la imatge de l’article en concret i el seu nom i llavors l’haurà de seleccionar per a que sigui afegit a la comanda.

Un cop el cambrer hagi afegit una sèrie de productes a la comanda aquests s’afegiran com a línies de la comanda a una llista on es mostrarà el nom de l’article, les unitats (per omissió és 1), l’import i el total de la línia. Una línia de comanda tindrà codi, unitats, preu unitari, preu final i descompte. Sobre aquestes línies de la comanda el cambrer podrà realitzar una sèrie d’operacions. Un cop hagi seleccionat la que vol tractar podrà modificar-ne les unitats tant incrementar-les com reduir-les com posar el valor que ell desitgi. Finalment també podrà esborrar una línia en concret o totes les de la comanda.

El cambrer també podrà realitzar el cobrament de la comanda per parts, és a dir, podrà cobrar per separat a un conjunt de comensals que estiguin a la mateixa taula i que cadascun vulgui pagar la seva part. També podrà cobrar la comanda amb el seu import total tenint en compte tres tipus de pagament: Efectiu, Targeta, Xec o Compte Bancari. Aquests tipus de pagament seran seleccionats d’una llista on només es mostraran aquestes opcions. Un cop el cambrer hagi cobrat la comanda completa el sistema guardarà la data que aquesta ha sigut cobrada i tancada.

(10)

9 Guió de l’encarregat

L’encarregat tindrà més privilegis que el cambrer i per tant podrà realitzar totes les operacions que realitza aquest més les seves. L’encarregat per tant podrà realitzar operacions sobre les taules del restaurant. Podrà afegir noves taules al sistema, aquest mostrarà un formulari on l’usuari haurà d’introduir les dades corresponents a la taula comentades ja anterior-ment. Un cop l’encarregat confirmi aquesta taula, el sistema l’afegirà i ja podrà ser seleccionada per a afegir-li comandes. Per defecte les taules no tenen cap comanda assignada sinó que es crea una si aquesta és seleccionada. L’encarregat també pot modificar la informació de la taula seleccionant-ne una d’una llista de taules on figurarà el número, les cadires, la sala, l’estat i el comentari. Un cop seleccionada es mostrarà un formulari on hi seran totes les dades corresponents a aquesta i a on l’usuari podrà modificar-les per finalment acceptar o descartar els canvis. També podrà esborrar-ne seleccionant-ne una de la llista que s’ha comentat anterior-ment. Abans que la taula sigui esborrada, el sistema preguntarà si realment es vol esborrar aquesta i l’usuari confirmarà o cancel·larà aquesta acció. A més si l’usuari ho desitja, abans de seleccionar una taula, podrà buscar-la. L’usuari haurà d’introduir una paraula clau i seguidament el sistema mostrarà la taula que compleixi aquesta condició i podrà ser seleccionada.

Aquestes operacions que s’han detallat per a les taules l’encarregat les podrà realitzar seguint el mateix procediment tant per a les comandes ja realitzades, els articles, les famílies i els clients. Algun procediment té algunes variacions que s’explicaran a continuació.

Al formulari de l’article l’usuari només podrà seleccionar les famílies que ja existeixin per assignar-li a l’article, aquestes es mostraran en una llista d’on la podrà seleccionar. A més les famílies, tindran una imatge associada. Aquesta haurà de ser seleccionada del disc indicant la ruta d’aquesta per tal que el sistema la pugui recuperar en el moment de mostrar- la. Aquest mateix procés també serà necessari per a les famílies.

L’encarregat també podrà crear menús del dia, per dur a terme aquest procés haurà de seleccionar el menú de la llista de productes. Un cop seleccionat el sistema mostrarà dues llistes una on es mostraran les famílies i els productes igual que quan volem afegir-ne a una comanda. Quan seleccionem un producte el sistema ens preguntarà quin tipus de plat serà aquest producte que podrà ser: Primer, Segon, Tercer o Postres. Seguidament s’afegirà al menú. El menú podrà tenir tants plats com es vulgui de cada categoria. Però només podrà tenir un producte en concret una vegada en tot el menú no podrà estar en diferents categories. Un producte que sigui primer no podrà ser segon per exemple.

(11)

10 Guió de l’administrador

Un administrador del sistema podrà realitzar totes les operacions que pot realitzar tant el cambrer com l’encarregat. A més aquest podrà realitzar operacions sobre els empleats/usuaris del sistema. D’aquests en podrà afegir. Quan vulgui afegir un empleat el sistema li mostrarà un formulari amb on haurà d’introduir totes les dades. El camp DNI i Contrasenya han de ser únics en el sistema, ja que són camps que identifiquen a l’empleat. A més podrà triar el tipus d’empleat que és que podrà ser: Administrador, Encarregat o Cambrer. Depenent del tipus l’usuari tindrà uns privilegis o altres a l’hora d’utilitzar el sistema.

2.2 REQUISITS FUNCIONALS 2.2.1 REGLES DE NEGOCI

01. No hi pot haver dos empleats amb el mateix codi d’accés. 02. El codi d’accés haurà de ser de 4 dígits alfa numèrics. 03. No hi pot haver dos empleats amb el mateix NIF.

04. L’empleat només podrà ser Cambrer, Encarregat o Administrador. 05. No hi pot haver dos clients amb el mateix NIF.

06. No hi pot haver dos productes amb el mateix codi. 07. Els productes han de pertànyer a una família existent. 08. No hi poden haver productes sense una família assignada. 09. No hi pot haver dues famílies amb el mateix codi.

10. No hi pot haver dues famílies amb el mateix nom.

11. No es podran crear comandes noves en una taula concreta sinó s’ha tancat la actual. 12. No hi poden haver dues comandes amb el mateix codi.

13. Una comanda sempre ha de tenir assignat un empleat.

14. El cobrament d’una comanda només pot ser amb Efectiu, Targeta, Xec o Numero de compte.

15. Un client només pot ser Particular o Empresa.

16. No hi poden haver dues taules amb el mateix numero. 17. Les unitats d’una línia de comanda per defecte seran 1. 18. Una Comanda només pot tenir un client assignat.

19. En un Menú del dia no hi poden haver dos articles iguals.

(12)

11 2.2.3. CD’Ú

2.2.3.1. ACTORS

Els actors són Cambrer, Encarregat i Administrador. Tots són usuaris del sistema.

(13)

12 2.2.3.2. DIAGRAMES DE CD’Ú

Figura 1. Diagrama de casos d’ús

(14)

13 2.2.3.3. ESPECIFICACIÓ TEXTUAL CD’Ú

En aquesta part del projecte es detallaran els processos, els paràmetres d’entrada i sortida, els usuaris que el podran realitzar, les precondicions i les postcondicions que tindran els casos d’ús mostrats anterior-ment en el diagrama.

Cd’ú 01. Identificar-se

Resum de la funcionalitat: L’empleat s’identifica per entrar al sistema. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: cap.

Postcondició: Entrada al programa. Procés normal principal:

1. El sistema demana la contrasenya de quatre dígits al Cambrer.

2. El Cambrer introdueix el codi requerit, que ha de complir la regla de negoci 02. 3. El sistema consulta que el codi sigui correcte.

4. El sistema mostra la pantalla principal.

Alternatives de procés i excepcions:

3a. Si el codi és incorrecte:

3a1. El sistema mostra un missatge avisant de que el codi no es correcte. 3a2. El Cambrer confirma el missatge.

3a2. El sistema torna al punt 1.

(15)

14 Cd’ú 02.AfegirClient

Resum de la funcionalitat: L’Empleat afegeix un client al sistema. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’u 20. MostrarLlistaClients. Postcondició: Nou client afegit.

Procés normal principal:

1. El sistema demana al Cambrer les dades de Llista 02.1.

2. L’Empleat introdueix les dades de Llista 02.1, que han de complir les regles de negoci 05 i 15.

3. El sistema guarda el nou client.

Alternatives de procés i excepcions:

3a. El NIF del client ja existeix:

3a1. El sistema mostra un error.

Llista 02.1:

• DNI • Nom • Adreça • Població • Codi Postal • Telèfon mòbil • Telèfon fixe. • Email • Descompte

(16)

15 Cd’ú 03. BuscarClient

Resum de la funcionalitat: Buscar un client en el sistema. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: cap.

Postcondició: cap. Procés normal principal:

1. El sistema consulta els clients.

2. El sistema mostra una llista amb tots els clients. 3. El Cambrer escriu el nom de l’empleat.

4. El Cambrer clica el boto de buscar.

5. El sistema consulta si hi ha alguna coincidència.

6. El sistema mostra una nova llista amb les coincidències.

Alternatives de procés i excepcions:

5a. Si no es troba cap coincidència:

5a1. El sistema mostra una llista buida.

(17)

16 Cd’ú 04. SeleccionarTaulaPrincipal

Resum de la funcionalitat: Seleccionar una taula per a veure la seva comanda o crear-ne una

de nova.

Paràmetres d’entrada: cap. Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 01. Identificar-se.

Postcondició: cap. Procés normal principal:

1. El sistema mostra les taules. 2. El Cambrer selecciona la taula.

3. El sistema consulta si aquesta taula té ja una comanda oberta (regla de negoci 11). 4. El sistema consulta les línies de la comanda d’aquesta taula i les famílies de tots els articles.

5. El sistema mostra la llista de les línies i de les famílies.

Alternatives de procés i excepcions:

2a. El Cambrer tanca la finestra. 3a. Si no hi ha comanda activa:

3a1. El sistema crea una comanda buida.

3a2. El sistema assigna la comanda a l’empleat que l’ha creat. 3a3. El sistema guarda la data de creació de la comanda. 3a4. El sistema torna al punt 4.

(18)

17 Cd’ú 05. AfegirArticleComanda

Resum de la funcionalitat: Afegir un article a la comanda de la taula actual. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 04. SeleccionarTaulaPrincipal Postcondició: Article afegit a la comanda.

Procés normal principal:

1. El sistema mostra les famílies existents. 2. El Cambrer selecciona una família.

3. El sistema mostra els articles de la família seleccionada. 4. El Cambrer selecciona l’article que vol afegir a la comanda.

5. El sistema afegeix una nova línia a la comanda amb l’article adient. Per defecte les unitats seran 1 (regla de negoci 17).

6. El sistema mostra la comanda actualitzada.

Alternatives de procés i excepcions: cap.

Cd’ú 06. CanviarUsuari

Resum de la funcionalitat: Permet canviar l’usuari amb el que s’ha iniciat sessió sistema. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 01. Identificar-se

Postcondició: Article afegit a la comanda. Procés normal principal:

1. El sistam tanca la sessió actual.

2. El sistema executa el Cd’ú 01. Identificar-se.

Alternatives de procés i excepcions: cap.

(19)

18 Cd’ú 07. SeleccionaLínia

Resum de la funcionalitat: Seleccionar una línia de la comanda. Paràmetres d’entrada: cap.

Paràmetres de sortida: Línia.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 04.SeleccionarTaulaPrincipal. Postcondició: cap.

Procés normal principal:

1. El sistema mostra les línies de la comanda. 2. El Cambrer selecciona una línia de la comanda.

Alternatives de procés i excepcions: cap.

Cd’ú 08. ModificarLínia

Resum de la funcionalitat: Modificar les unitats i el preu unitari d’una línia de la comanda. Paràmetres d’entrada: Línia.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: cap.

Postcondició: La línia ha estat modificada. Procés normal principal:

1. El sistema executa el Cd’ú 7. SeleccionarLinia.

1. El sistema mostra les unitats i el preu unitari de la línia seleccionada. 2. El Cambrer modifica els valors.

3. El Cambrer confirma els canvis. 4. El sistema guarda els canvis.

5. El sistema actualitza la llista de les línies de la comanda per mostrar els canvis.

Alternatives de procés i excepcions:

2a. El Cambrer no fa cap modificació. 2a1. El Cambrer tanca la finestra. 2a2. El sistema tanca la finestra.

(20)

19 Cd’ú 09. EsborrarLínia

Resum de la funcionalitat: Esborrar una línia de la comanda. Paràmetres d’entrada: Línia.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: cap.

Postcondició: La línia ha estat esborrada. Procés normal principal:

1. El sistema executa el Cd’ú 7. SeleccionarLinia. 2. El Cambrer confirma esborrar la línia.

3. El sistema esborra la línia.

4. El sistema actualitza la llista de les línies de la comanda per mostrar els canvis.

Alternatives de procés i excepcions: cap.

Cd’ú 10. IncrementarUnitatsLínia

Resum de la funcionalitat: Incrementar unitats línia. Paràmetres d’entrada: Línia.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: cap.

Postcondició: La línia ha incrementat les seves unitats. Procés normal principal:

1. El sistema executa el Cd’ú 7. SeleccionarLinia.

3. El Cambrer confirma incrementar les unitats de la línia seleccionada. 4. El sistema guarda la modificació

5. El sistema actualitza la llista de les línies de la comanda per mostrar els canvis.

Alternatives de procés i excepcions: cap.

(21)

20 Cd’ú 11. DecrementUnitats Línia

Resum de la funcionalitat: Decrement unitats línia. Paràmetres d’entrada: Línia.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: cap.

Postcondició: La línia ha disminuït les seves unitats. Procés normal principal:

1. El sistema executa el Cd’ú 7. SeleccionarLinia.

2. El Cambrer confirma el decrement les unitats de la línia seleccionada. 3. El sistema guarda la modificació

4. El sistema actualitza la llista de les línies de la comanda per mostrar els canvis.

Alternatives de procés i excepcions: cap.

Cd’ú 12. AfegirComentariTaula

Resum de la funcionalitat: Afegir un comentari a la comanda. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 05.SeleccionarTaulaPrincipal. Postcondició: S’ha afegit el comentari a la comanda.

Procés normal principal:

1. El sistema mostra el camp per introduir el comentari. 2. El Cambrer afegeix el comentari.

3. El Cambrer confirma el comentari.

4. El sistema guarda el comentari a la comanda actual.

Alternatives de procés i excepcions: cap.

(22)

21 Cd’ú 13. EsborrarTotesLiniesComanda

Resum de la funcionalitat: S’esborren totes les línies de la comanda. Paràmetres d’entrada: cap

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 05.SeleccionarTaulaPrincipal. Postcondició: S’han esborrat totes les línies de la comanda.

Procés normal principal:

1. El sistema pregunta si es volen esborrar. 2. El Cambrer confirma.

3. El sistema esborra totes les línies de la comanda al base de dades. 4. El sistema actualitza la llista de les línies de la comanda.

5. El sistema mostra la llista.

Alternatives de procés i excepcions:

2a. El Cambrer no confirma: 2a1. El sistema tanca la finestra.

(23)

22 Cd’u 14. DividirCobramentComanda

Resum de la funcionalitat: Ens permet dividir el cobrament de la comanda en el moment que

el client realitza el pagament.

Paràmetres d’entrada: Comanda. Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 05.SeleccionarTaulaPrincipal. Postcondició: Línies cobrades.

Procés normal principal:

1. El sistema mostra les línies de la comanda 2. El Cambrer selecciona les línies a cobrar 3. L’usuari confirma cobrar aquestes línies.

4. El sistema pregunta el tipus de pagament, i en cas d’efectiu la quantitat pagada pel client. 5. El Cambrer confirma el pagament.

6. El sistema registra les línies pagades.

7. El sistema mostra la comanda sense les línies ja pagades.

Alternatives de procés i excepcions:

2a.

2a1. L’usuari selecciona tancar la finestra. 2a2. El sistema tanca la finestra.

(24)

23 Cd’u 15. CobrarComanda

Resum de la funcionalitat: Ens permet realitzar el pagament integra de la comanda. Paràmetres d’entrada: Comanda.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 05.SeleccionarTaulaPrincipal. Postcondició: Comanda marcada com a cobrada i inactiva.

Procés normal principal:

1. El sistema mostra el total de la comanda. 2. El sistema demana la forma de pagament. 3. El Cambrer confirma el pagament.

4. El sistema informa de que s’ha realitzat el pagament. 5. El sistema marca la comanda com a pagada.

6. El sistema marca la comanda com a no activa. 7. El sistema tanca la comanda.

Alternatives de procés i excepcions:

2a. La forma de pagament és efectiu:

2a1. El sistema demana la quantitat pagada pel client. 2a2. El Cambrer introdueix la quantitat pagada. 2a3. El sistema torna al pas 3.

4a. La forma de pagament és efectiu:

4a1. El sistema informa que s’ha realitzat el pagament. 4a2. El Cambrer informa del canvi.

4a3. El sistema torna al pas 5.

(25)

24 Cd’u 16. AssignarClientComanda

Resum de la funcionalitat: Ens permet assignar un client a una comanda. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Cambrer i per herència Encarregat i Administrador. Precondició: Haver executat el Cd’ú 05. SeleccionarTaulaPrincipal. Postcondició: Client assignat a una comanda.

Procés normal principal:

1. El sistema consulta els clients que hi ha al sistema. 2. El sistema mostra una llista amb tots els clients. 3. El Cambrer selecciona un client.

4. El Cambrer confirma el client.

5. El sistema assigna el client a la comanda.. 6. El sistema guarda l’operació a la base de dades.

Alternatives de procés i excepcions:

2a. El Cambrer busca el client:

2a1 El Cambrer escriu el nom del client o NIF. 2a2. El Cambrer confirma la cerca.

2a3. El sistema consulta a la base de dades.

2a4. El sistema mostra les coincidències a la llista. 2a5. El Cambrer selecciona un client.

2a6. El sistema torna al pas 3

(26)

25 Cd’u 17. MostrarLlistaTaules

Resum de la funcionalitat: Mostra una llista amb totes les taules que hi ha en aquest moment

al sistema.

Paràmetres d’entrada: cap. Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap. Procés normal principal:

1. El sistema consulta les taules a la base de dades. 2. El sistema mostra la llista amb les taules.

Alternatives de procés i excepcions: cap.

Cd’u 18. SeleccionarTaulaLlista

Resum de la funcionalitat: Es selecciona una taula de la llista per a dur a terme alguna acció

amb aquesta.

Paràmetres d’entrada: cap.

Paràmetres de sortida: Taula seleccionada.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 29. SeleccionarProducte.

Alternatives de procés i excepcions: cap.

(27)

26 Cd’u 19. AfegirTaula

Resum de la funcionalitat: Afegir una taula nova a la base de dades per a poder fer-hi

comandes.

Paràmetres d’entrada: cap. Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: Haver executat el Cd’ú 17. MostarLlistaTaules. Postcondició: Taula afegida a la base de dades.

Procés normal principal:

El procediment és el mateix que el cd’ú 01. AfegirClient. Però amb les dades de al llista 19.01.

Alternatives de procés i excepcions: cap. Llista 19.01:

• Numero • Cadires • Sala • Estat • Comentari

Cd’u 20. ModificarTaula

Resum de la funcionalitat: Modificar les dades d’una taula ja existent a la base de dades. Paràmetres d’entrada: Linia seleccionada.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: taula modificada a la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 10. ModificarProducte

Alternatives de procés i excepcions: cap.

(28)

27 Cd’u 21. EsborrarTaula

Resum de la funcionalitat: Esborrar una taula ja existent a la base de dades. Paràmetres d’entrada: Línia seleccionada.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Taula esborrada de la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 12. EsbprrarProducte

Alternatives de procés i excepcions: cap.

Cd’u 22. BuscarTaula

Resum de la funcionalitat: Buscar una taula a la llista de taules que hi ha a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: Haver executat el Cd’ú 17. MostarLlistaTaules. Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 02. BuscarClient

Alternatives de procés i excepcions: cap.

(29)

28 Cd’ú 23. CrearMenuDia

Resum de la funcionalitat: Crear un menú del dia nou en el sistema. Paràmetres d’entrada: Producte que representa el menú.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap. Procés normal principal:

1. El sistema mostra les famílies existents. 2. L’Encarregat selecciona una família.

3. El sistema mostra els articles de la família seleccionada. 4. L’Encarregat selecciona l’article que vol afegir.

5. El sistema pregunta el tipus de plat que és. 6. L’Encarregat confirma el tipus de plat.

7. El sistema afegeix l’article al menú amb el tipus de plat corresponent sinó existeix al menú (regla de negoci 19).

Alternatives de procés i excepcions: cap.

Cd’u 24. MostrarLlistaComandes

Resum de la funcionalitat: Mostra la llista de les comandes que hi ha a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 17. MostrarLlistaTaules

Alternatives de procés i excepcions: cap.

(30)

29 Cd’u 25. SeleccionarComanda

Resum de la funcionalitat: Seleccio d’una comanda de la llista. Paràmetres d’entrada: cap.

Paràmetres de sortida: Línia seleccionada.

Usuaris: Encarregat i per herència l’Administrador.

Precondició: Haver executat el Cd’u 24. MostrarLlistaComandes. Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 29. SeleccionarProducte

Alternatives de procés i excepcions: cap.

Cd’ú 26. ModificarComanda

Resum de la funcionalitat: Modificar una comanda seleccionada de la llista de comandes de

la base de dades.

Paràmetres d’entrada: Comanda seleccionada. Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Comanda modificada. Procés normal principal:

El procediment és el mateix que el cd’ú 04 .SeleccionarTaulaPrincipal, l’únic que obrirà la comanda que s’ha seleccionat i mai en crearà una de nova.

Alternatives de procés i excepcions: cap.

Cd’ú 27. EsborrarComanda

Resum de la funcionalitat: Esborrar una comanda de la llista de comandes de la base de

dades.

Paràmetres d’entrada: Comanda seleccionada. Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Comanda esborrada de la base de dades conjuntament amb les línies que la

conformen.

(31)

30

Procés normal principal:

El procediment és el mateix que el cd’ú 33. EsborrarProducte

Alternatives de procés i excepcions: cap.

Cd’ú 28. MostrarLlistaProductes

Resum de la funcionalitat: Mostrar la llista amb tots els productes que hi ha a la base de

dades.

Paràmetres d’entrada: cap. Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 17. MostrarLlistaTaules.

Alternatives de procés i excepcions: cap.

Cd’ú 29. SeleccionarProducte

Resum de la funcionalitat: Selecció d’un article en concret. Paràmetres d’entrada: cap.

Paràmetres de sortida: Producte seleccionat.

Usuaris: Encarregat i per herència l’Administrador.

Precondició: Haver executat el Cd’ú 28. MostrarLlistaProductes. Postcondició: cap.

Procés normal principal:

1. El sistema mostra la llista d’articles. 2. L’Encarregat selecciona un producte. 3. El sistema retorna el producte seleccionat.

Alternatives de procés i excepcions: cap.

(32)

31 Cd’ú 30. BuscarProducte

Resum de la funcionalitat: Buscar un producte a la llista de taules que hi ha a la base de

dades.

Paràmetres d’entrada: cap.

Paràmetres de sortida: Productes trobats.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 03. BuscarClient

Alternatives de procés i excepcions: cap.

Cd’ú 31. AfegirProducte

Resum de la funcionalitat: Afegeix un nou producte a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 02.AfegirClient. Però amb les dades de la llista 31.01

Alternatives de procés i excepcions: cap. Llista 31.01:

• Codi. • Nom.

• PVP (preu de venda al públic). • Preu de cost.

• Preu addicional. • Notes.

• URL de la imatge.

(33)

32 Cd’ú 32. ModificarProducte

Resum de la funcionalitat: Ens permet modificar camps d’un producte en concret. Paràmetres d’entrada: Producte seleccionat.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Producte modificat. Procés normal principal:

1. El sistema executa el Cd’ú 29. SeleccionarProudcte. 1. El sistema mostra els camps per editar-los.

2. L’usuari fa les operacions adients. 3. L’usuari confirma les modificacions. 4. El sistema actualitza les modificacions.

Alternatives de procés i excepcions:

3a. L’usuari cancel·la les modificacions.

3a1. El sistema indica que les modificacions no s’han guardat. 3a2. El sistema tanca la finestra.

Cd’ú 33. EsborrarProducte

Resum de la funcionalitat: Esborrar un producte existent. Paràmetres d’entrada: Producte seleccionat.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Producte esborrat del sistema. Procés normal principal:

1. El sistema executa el Cd’ú 29. SeleccionarProudcte. 2. El sistema esborra el producte que s’ha seleccionat.

Alternatives de procés i excepcions: cap.

(34)

33 Cd’ú 34. MostrarLlistaFamilies

Resum de la funcionalitat: Mostrar la llista amb totes les famílies que hi ha a la base de

dades.

Paràmetres d’entrada: cap. Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 17. MostrarLlistaTaules.

Alternatives de procés i excepcions: cap.

Cd’ú 35. SeleccionarFamilia

Resum de la funcionalitat: Seleccionar una família de la llista de famílies que hi ha a la base

de dades.

Paràmetres d’entrada: cap.

Paràmetres de sortida: Familia seleccionada.

Usuaris: Encarregat i per herència l’Administrador.

Precondició: Haver executat el cd’ú 34. MostrarLlistaFamilies. Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 29. SeleccionarProducte.

Alternatives de procés i excepcions: cap.

(35)

34 Cd’ú 36. BuscarFamilia

Resum de la funcionalitat: Busca les famílies que coincideixen amb el text introduït per

l’Encarregat.

Paràmetres d’entrada: cap. Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 03. BuscarClient.

Alternatives de procés i excepcions: cap.

Cd’ú 37. AfegirFamilia

Resum de la funcionalitat: Afegeix una nova família a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Nova família afegida a la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 02. AfegirClient. Però les dades seran les de la llista 27.01.

Alternatives de procés i excepcions: cap. Llista 27.01:

• CodiFamilia • Nom

• Descompte • URLImatge

Cd’ú 38. Modificar família

Resum de la funcionalitat: Modificar una família existent a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

(36)

35

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Família modificada a la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 32. ModificarProducte.

Alternatives de procés i excepcions: cap.

Cd’ú 39. EsborrarFamilia

Resum de la funcionalitat: Esborra una família existent a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Família esborrada a la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 33. EsborrarProducte.

Alternatives de procés i excepcions: cap.

Cd’ú 40. MostrarLlistaClients

Resum de la funcionalitat: Mostrar la llista amb tots els clients que hi ha a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 17. MostrarLlistaTaules.

Alternatives de procés i excepcions: cap.

(37)

36 Cd’ú 41 SeleccionarClient

Resum de la funcionalitat: Seleccionar un client de la llista dels clients que hi ha a la base

de dades.

Paràmetres d’entrada: cap.

Paràmetres de sortida: Client seleccionat.

Usuaris: Encarregat i per herència l’Administrador.

Precondició: Haver executat el cd’ú 40. MostrarLlistaClients. Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 29. SeleccionarProducte.

Alternatives de procés i excepcions: cap.

Cd’ú 42. ModificarClient

Resum de la funcionalitat: Modificar una client existent a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Client modificat a la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 32. ModificarProducte.

Alternatives de procés i excepcions: cap.

Cd’ú 43. EsborrarClient

Resum de la funcionalitat: Esborra un client existent a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap.

Usuaris: Encarregat i per herència l’Administrador. Precondició: cap.

Postcondició: Client esborrat de la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 33. EsborrarProducte.

Alternatives de procés i excepcions: cap.

(38)

37 Cd’ú 44. MostrarLlistaEmpleats

Resum de la funcionalitat: Mostrar la llista amb tots els empleats que hi ha a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap. Usuaris: Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 17. MostrarLlistaTaules.

Alternatives de procés i excepcions: cap.

Cd’ú 45. SeleccionarEmpleat

Resum de la funcionalitat: Seleccionar un empleat de la llista dels empleats que hi ha a la

base de dades.

Paràmetres d’entrada: cap.

Paràmetres de sortida: Empleat seleccionat. Usuaris: Administrador.

Precondició: Haver executat el cd’ú 44. MostrarLlistaEmpleats. Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 29. SeleccionarProducte.

Alternatives de procés i excepcions: cap.

Cd’ú 46. BuscarEmpleat

Resum de la funcionalitat: Busca els empleats que coincideixen amb el text introduït per

l’Administrador.

Paràmetres d’entrada: cap. Paràmetres de sortida: cap. Usuaris: Administrador. Precondició: cap.

Postcondició: cap.

Procés normal principal:

El procediment és el mateix que el cd’ú 03. BuscarClient.

Alternatives de procés i excepcions: cap.

(39)

38 Cd’ú 47. AfegirEmpleat

Resum de la funcionalitat: Afegeix una nou Empleat a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap. Usuaris: Administrador. Precondició: cap.

Postcondició: Nou empleat afegit a la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 02. AfegirClient. Però les dades seran les de la llista 47.01.

Alternatives de procés i excepcions: cap. Llista 47.01:

• DNI • Nom • Adreça • Població • Codi Postal • Telèfon mòbil • Telèfon fixe. • E-mail • Contrasenya • Tipus

Cd’ú 48. ModificarEmpleat

Resum de la funcionalitat: Modificar una empleat existent a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap. Usuaris: Administrador. Precondició: cap.

Postcondició: Empleat modificat a la base de dades. Procés normal principal:

(40)

39

El procediment és el mateix que el cd’ú 32. ModificarProducte.

Alternatives de procés i excepcions: cap.

Cd’ú 49. EsborrarEmpleat

Resum de la funcionalitat: Esborra un empleat existent a la base de dades. Paràmetres d’entrada: cap.

Paràmetres de sortida: cap. Usuaris: Administrador. Precondició: cap.

Postcondició: Empleat esborrat de la base de dades. Procés normal principal:

El procediment és el mateix que el cd’ú 33. EsborrarProducte.

Alternatives de procés i excepcions: cap.

(41)

40 2.3 REQUISITS NO FUNCIONALS

Requisits de disseny i construcció

• Llenguatge de programació: Per a desenvolupar l’aplicació es farà servir el llenguatge de programació Java. S’ha escollit aquest llenguatge per la gran quantitat de llibreries i per ser un llenguatge orientat a objectes molt potent. A més és el llenguatge en què més es treballa al grau i per tant el que més coneixem. Aquest també ens permet desenvolupar aplicacions distribuïdes, ja que és un llenguatge multiplataforma. Aquest no ens suposa cap cost programar amb aquest llenguatge, ja que és programari lliure de codi obert amb llicència GPL. Per tant una de les principals raons per la qual es desenvoluparà en Java és pel fet de ser multiplataforma i que per tant el programa podrà ser executat tant en Windows, Linux i Mac. I per tant això ens obre un gran mercat.

• Interfície Gràfica: Per desenvolupar la interfície gràfica s’ha optat per utilitzar les llibreries Java Swing que ens permeten programar finestres JFrame per a mostrar la informació de l’aplicació. A més ens permet adaptar l’estil de la finestra al sistema operatiu que ens trobem, cosa que ens ajuda a fer que l’aplicació sigui més portable. A més aquesta llibreria té una gran quantitat d’elements que ens ajudarà a l’hora de dissenyar una interfície usable i llegible per l’usuari.

• Base de dades: S’ha decidit utilitzar una base de dades lleugera que no necessites molta infraestructura per funcionar, ni instal·lacions, servidors, etc. Per tant s’ha decidit utilitzar una base de dades SQLite que estarà situada dins de la mateixa aplicació cosa que en facilitarà la instal·lació en dispositius i facilitat a l’hora de generar-ne copies de seguretat. A més aquesta utilitza l’estàndard de base de dades relacions SQL.

• Entorn de desenvolupament: L’entorn de desenvolupament que s’ha escollit és NetBeans IDE 8.2. S’ha escollit aquest entorn perquè la nostra aplicació serà desenvolupada en Java i aquest és un IDE d’aquest llenguatge. A més aquest ens ofereix una interfície que ens facilita la creació de finestres i agilitza el procés del disseny d’aquests, ja que no és necessari escriure tot el codi d’aquesta part del programa.

(42)

41

3. ANÀLISI

L'anàlisi és la fase on es comencen a materialitzar les idees de la fase de requisits. Es busca entendre quines classes s'han de crear i quins atributs és necessari que continguin aquestes classes. D'aquesta fase (i tenint com a referència l'anterior) s’obtindran els diagrames de seqüències on es representa la interacció de l'usuari amb l'aplicació, per mitjà de finestres (classes frontera) per tal de recollir la informació necessària de l'usuari i emmagatzemar-la o mostrar-la a l'usuari. En aquesta secció no s'afegirien els diagrames d'activitats o d’estats, perquè no s’ trobat necessari, ja que els diagrames de seqüencies ja s’han detallat suficient- ment.

(43)

42 3.1 DIAGRAMA DE CLASSES

Figura 2. Diagrama de classes

(44)

43 3.2 DIAGRAMES DE SEQÜÈNCIES

En aquesta part del projecte es realitzaran el diagrames de seqüencies que representaran els procediments necessaris de cadascun dels casos d’ús esmentats anterior-ment. Aquests diagrames permetran als programadors saber amb detall quines finestres i accions hauran de realitzar els usuaris per realitzar els casos d’ús.

S’usarà el Model-Vista-Controlador, d’aquesta manera hem organitzat en classes frontera (el que veu l’usuari i on introdueix les dades), classes de control (s’encarrega de la lògica de negoci) i classes d’entitat (és la classe que es relaciona directament amb la base de dades per a emmagatzemar o obtenir elements), les quals ens permeten seguir l’esmentat model, que és un patró d’arquitectura software que ens permet separar les dades i la lògica de negoci d’una aplicació de la interfície que visualitza l’usuari. A continuació podem veure els diagrames de seqüència d’aquests casos d’ús, només hi hauran els diagrames que representen els comportaments principals, els que tenen un mateix comportament no es mostraran ja que són iguals.

Cd’ú 01. Identificar-se

Figura 3. Diagrama seqüència 01.Identificar-se

(45)

44 Cd’ú 02. AfegirClient

Figura 4. Diagrama seqüència 02.AfegirClient

(46)

45 Cd’ú 03. BuscarClient

Figura 5. Diagrama seqüència 03.BuscarClient

(47)

46 Cd’ú 04. SeleccionarTaulaPrincipal

Figura 6. Diagrama seqüència 04.SeleccionarTaulaPrincipal

(48)

47 Cd’ú 05. AfegirArticleComanda

Figura 7. Diagrama seqüència 05. AfegirArticleComanda

(49)

48 Cd’ú 07. SeleccionarLínia

Figura 8. Diagrama seqüència 07. SeleccionarLinia

(50)

49 Cd’ú 08. ModificarLínia

Figura 9. Diagrama seqüència 08.ModificarLinia

(51)

50 Cd’ú 09. EsborrarLínia

Figura 10. Diagrama seqüència 09.EsborrarLinia

(52)

51 Cd’ú 10. IncrementarUnitatsLínia

Figura 11. Diagrama seqüència 10.IncrementarUnitatsLinia

Cd’ú 11. DecrementarUnitatsLínia

Figura 12. Diagrama seqüència 11.DecrementarUnitatsLinia

(53)

52 Cd’ú 12. AfegirComentariComanda

Figura 13. Diagrama seqüència 12.AfegirComentariComanda

(54)

53 Cd’ú 13. EsborrarTotesLiniesComanda

Figura 14. Diagrama seqüència 13. EsborrarTotesLiniesComanda

(55)

54 Cd’ú 14. DividirCobramentComanda

Figura 15. Diagrama seqüència 14.DividirCobramentComanda

(56)

55 Cd’ú 15. CobrarComanda

Figura 16. Diagrama seqüència 15. CobrarComanda

(57)

56 Cd’ú 16. AssignarClientComanda

Figura 17. Diagrama seqüència 16.AssignarClientComanda

(58)

57 Cd’ú 17. MostrarLlistaTaules

Figura 18. Diagrama seqüència 17.MostrarLlistaTaules

(59)

58 Cd’ú 23. CrearMenuDia

Figura 19. Diagrama seqüència 23.CrearMenuDia

(60)

59 Cd’ú 29. SeleccionarProducte

Figura 20. Diagrama seqüència 29.SeleccionarProducte

(61)

60 Cd’ú 32. ModificarProducte

Figura 21. Diagrama seqüència 32.ModificarProducte

(62)

61 Cd’ú 33. EsborrarProducte

Figura 22. Diagrama seqüència 33. EsborrarProducte

(63)

62

4. DISSENY

El disseny és la fase més propera a la implementació. En aquesta fase agafarem el diagrama de classes obtingut en l'anàlisi i que ens servirà per dissenyar la metàfora. Quan parlem de la metàfora, ens referim a la representació dels valors i dels elements que trobarem, per a representar allò que és igual de la mateixa forma. Així doncs, un valor numèric de màxim dues xifres on els valors a escollir oscil·len entre l'1 i el 10, es representa com un desplegable amb el valor "99" al seu interior. De la mateixa manera, un camp alfanumèric es representarà amb tantes "X" com longitud es desitgi. Un cop dissenyada la representació de les dades, realitzarem el procés de disseny de la persistència. Aquest procés busca transformar el diagrama de classes d’entitat anterior en un conjunt de taules, cadascuna amb els seus atributs i d'aquesta manera obtenir l'esquema de la base de dades independentment del llenguatge que s'utilitzi (MySQL, Postgres, SQLite ,Oracle, etc.). El resultat obtingut, un cop escollit el llenguatge (SQL en el meu cas), és un conjunt de sentències que crearan les taules i vistes que ens permetran consultar els valors d'aquestes taules.

4.1. Disseny de la interfície amb els usuaris 4.1.1. Disseny de la metàfora

1. Metàfora de la Comanda

Figura 23. Metàfora Comanda

(64)

63 2. Metàfora de l’Usuari

Figura 24. Metàfora Usuari

3. Metàfora del Client

Figura 25. Metàfora Client

(65)

64 4. Metàfora Empleat

Figura 26. Metàfora Empleat

5. Metàfora del Producte

Figura 27. Metàfora Producte

(66)

65 6. Metàfora Article

Figura 28. Metàfora Article

7. Metàfora de la Família

Figura 29. Metàfora Família

(67)

66 8. Metàfora de la Taula

Figura 30. Metàfora Taula

9. Metàfora Línia de Comanda

Figura 31. Metàfora Línia Comanda

(68)

67 4.1.2. Disseny de la interfície metàfora Cd’ú 01. Identificar-se

Figura 32. Interfície 01.Identificar-se

(69)

68 Cd’ú 02.AfegirClient

Figura 33. Interfície 02.AfegirClient

Cd’ú 03. BuscarClient

Aquest cas d’ús està a la mateixa finestra que el cd’u 16. AssignarClientComanda

(70)

69 Cd’ú 04. SeleccionarTaulaPrincipal

Figura 34. Interfície 04. SeleccionarTaulaPrincipal

FMostarComanda:

Figura 35. Interfície 04. Finestra FMostraComanda

Cd’ú 05. AfegirArticleComanda

(71)

70

Figura 36. Interfície 05. AfegirArticleComanda

Cd’ú 05. AfegirArticleComanda

Aquest cas d’ús està a la mateixa finestra que el cd’ú 01.Identificar-se.

(72)

71 Cd’ú 07. SeleccionaLínia

Figura 37. Interfície 07.SeleccionarLinia

(73)

72 Cd’ú 08. ModificarLínia

Figura 38. Interfície 08.ModificarLinia

(74)

73 Cd’ú 09. EsborrarLínia

Figura 39. Interfície 09. EsborrarLinia

Cd’ú 10. IncrementarUnitatsLínia

Aquest cas d’ús està a la mateixa finestra que el cd’ú 09. EsborrarLínia.

Cd’ú 11. DecrementUnitats Línia

Aquest cas d’ús està a la mateixa finestra que el cd’ú 09. EsborrarLínia.

(75)

74 Cd’ú 12. AfegirComentariTaula

Figura 40. Interfície 12.AfegirComentariTaula

Cd’ú 13. EsborrarTotesLiniesComanda

Figura 41. Interfície 13.EsborrarTotesLiniesComanda

(76)

75 Cd’u 14. DividirCobramentComanda

Figura 42. Interfície 14.DividirCobramentComanda

Cd’u 15. CobrarComanda

Figura 43. Interfície 15.CobrarComanda

(77)

76 Cd’u 16. AssignarClientComanda

Figura 44. Interfície 16.AssignarClientComanda

(78)

77 Cd’u 17. MostrarLlistaTaules

Figura 45. Interfície 17.MostrarLlistaTaules

Cd’u 18. SeleccionarTaulaLlista

Aquest cas d’ús esta a la mateixa finestra que el Cd’u 17. MostrarLlistaTaules. Cd’u 19. AfegirTaula

Figura 46. Interfície 19.AfegirTaula

(79)

78 Cd’u 20. ModificarTaula

Figura 47. Interfície 20. ModificarTaula

Cd’u 21. EsborrarTaula

Aquest cas d’ús esta a la mateixa finestra que el Cd’u 17. MostrarLlistaTaules. Cd’u 22. BuscarTaula

Aquest cas d’ús esta a la mateixa finestra que el Cd’u 17. MostrarLlistaTaules.

(80)

79 Cd’ú 23. CrearMenuDia

Figura 48. Interfície 23.CrearMenuDia

Figura 49. Interfície 23.CrearMenuDia.TIpusPlat

(81)

80 Cd’u 24. MostrarLlistaComandes

Figura 50. Interfície 24.MostrarLlistaComandes

Cd’u 25. SeleccionarComanda

Aquest cas d’ús esta a la mateixa finestra que el Cd’u 24. MostrarLlistaComandes.

(82)

81 Cd’ú 26. ModificarComanda

Figura 51. Interfície 26.ModificarComanda

Cd’ú 27. EsborrarComanda

Aquest cas d’ús esta a la mateixa finestra que el Cd’u 24. MostrarLlistaComandes.

(83)

82 Cd’ú 28. MostrarLlistaProductes

Figura 52. Interfície 28.MostrarLlistaProductes

(84)

83 Cd’ú 31. AfegirProducte

Figura 53. Interfície 31.AfegirProducte

(85)

84 Cd’ú 32. ModificarProducte

Figura 54. Interfície 32. ModificarProducte

Referencias

Documento similar

Per fer el diagnòstic de sospita d ’HTA s ’utilitza la pressió arterial a la consulta [PAC). Aquest diagnòstic es fa amb mesuraments de diverses preses de la PA i almenys

En aquest article presentem el disseny i aplicació d’un projecte d’innovació i millora de la pràctica educativa sobre l’autoconeixement i autoestima dels alumnes de cicle mitjà

Davant d'aquest canvi cultural, la gestió de la qualitat total (TQM, total quality management) és el mètode de gestió que més s'adapta a l'entorn competitiu actual. En aquesta, es

Disseny i implementació d’una base de dades per la creació d’una aplicació que permet la gestió de les pràctiques d’estudiants a les empreses.. Jorge

Amb aquest projecte es pretén agilitzar la gestió dels equips del departament, automatitzar tasques, fer un pas en la gestió del material entre les delegacions i fer el primer

 Disseny i l‟optimització de membranes compòsit incorporant MOFs per a la seva aplicació en SRNF i separació de mescles de gasos..  Desenvolupament d‟un equip

Per assolir aquest objectiu s’ha dissenyat una base de dades que sigui capaç de suportar tot el sistema, s’ha desenvolupat una aplicació mòbil amb la qual els xofers de

Aquest fitxer conté les propietats del JDBC per a realitzar la connexió amb la Base de Dades i conté la direcció de cada sqlMap.xml de cada taula. o daoConfig.xml: És el fitxer