Dezvoltarea unei aplicat ii pentru analiza [612118]
Ministerul Educat iei Nat ionale si Cercet arii S tiint ice
Universitatea "OVIDIUS" Constant a
Facultatea de Matematic a si Informatic a
Specializarea Informatic a
Dezvoltarea unei aplicat ii pentru analiza
datelor si managementul aprovizion arii unei
societ at i comerciale
Lucrare de licent a
Coordonator stiint ic:
Lect. univ. dr. Alexandrescu Adrian
Absolvent: [anonimizat] a
2016
Cuprins
Cuprins i
List a de guri iv
List a de tabele vi
Introducere 1
1 Prezentarea domeniului aplicat iei 3
1.1 Denitia problemei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Aplicat ii existente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Microsoft Dynamics NAV . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 bcAchizit ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 SeniorERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Tehnologii utilizate 8
2.1 Visual Studio Community 2017 . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Platforma .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Limbajul C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Microsoft SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . 11
i
Cuprins Cuprins
3 Procesul de dezvoltare al aplicat iei 14
3.1 Documentul de cerint e . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Descrierea sistemului . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.2 Actori software . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.3 Cerint e funct ionale (F) . . . . . . . . . . . . . . . . . . . . . . 15
3.1.4 Cerint e nefunct ionale (CN) . . . . . . . . . . . . . . . . . . . . 17
3.2 Descrierea cazurilor de utilizare . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Vizualizare si actualizare oferte . . . . . . . . . . . . . . . . . . 18
3.2.2 Comand a nou a . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.3 Vizualizare facturi . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.4 Modicarea unei facturi . . . . . . . . . . . . . . . . . . . . . . 20
3.2.5 Vizualizarea recept iilor . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.6 Recept ia unei facturi . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.7 Efectuarea unei pl at i . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.8 Vizualizarea pl at ilor . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.9 Vizualizare stoc produse . . . . . . . . . . . . . . . . . . . . . . 25
3.2.10 Vizualizarea arhivelor . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.11 Actualizare produse . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.12 Actualizare unitate de m asur a si cot a TVA . . . . . . . . . . . . 28
3.2.13 Actualizare trezorerie . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.14 Actualizare furnizori . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Diagrama cazurilor de utilizare . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Diagrame de activit at i . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5 Diagrame de secvent e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.6 Diagrama de clase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.7 Proiectarea bazei de date . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.7.1 Tabele si relat ii ^ ntre tabele . . . . . . . . . . . . . . . . . . . . 41
ii
Cuprins Cuprins
3.7.2 Diagrama entit at i – asociere . . . . . . . . . . . . . . . . . . . . 44
3.8 Proiectarea Form-urilor si a DataSet-urilor . . . . . . . . . . . . . . . . 45
4 Implementare 56
5 Concluzii 63
Bibliograe 64
iii
List a de guri
1.1 Lant de aprovizionare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Metoda Relaxare si Metoda Periodic a . . . . . . . . . . . . . . . . . . . . . 4
1.3 Microsoft Dynamics NAV – aprovizionare . . . . . . . . . . . . . . . . . . . 5
1.4 Diagrama bcAchizit ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Aprovizionare ^ n ERP – Comenzi de achizit ie . . . . . . . . . . . . . . . . . 7
2.1 Visual Studio 2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Arhitectura .NET Framework . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Reprezentarea bazei de date . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Microsoft SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 Diagrama cazurilor de utilizare . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Diagrama de activit at i: Comand a nou a . . . . . . . . . . . . . . . . . . . . 33
3.3 Diagrama de activit at i: Vizualizarea facturilor . . . . . . . . . . . . . . . . 34
3.4 Diagrama de activit at i: Modicarea unei facturi . . . . . . . . . . . . . . . 35
3.5 Diagrama de activit at i: Recept ia unei facturi . . . . . . . . . . . . . . . . 36
3.6 Diagram a de secvent e – Comand a nou a . . . . . . . . . . . . . . . . . . . . 37
3.7 Diagram a de secvent e – Recept ie factur a . . . . . . . . . . . . . . . . . . . 38
3.8 Diagram a de secvent e – Plat a facturi . . . . . . . . . . . . . . . . . . . . . 39
iv
List a de guri List a de guri
3.9 Diagrama de clase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.10 Adaugare tabel ^ n Microsoft SQL Server . . . . . . . . . . . . . . . . . . . 41
3.11 Structura bazei de date – Diagrama Entit at i Asociate . . . . . . . . . . . . 44
3.12 Schema logic a – Vizualizare / Actualizare . . . . . . . . . . . . . . . . . . . 46
3.13 DataSet-ul pentu fereastra vizualizare/actualizare produse . . . . . . . . . 46
3.14 Schema logic a pentu fereastra comand a nou a . . . . . . . . . . . . . . . . . 47
3.15 DataSet-ul pentu fereastra comand a nou a . . . . . . . . . . . . . . . . . . 48
3.16 Schema logic a pentru fereastra de vizualizare a recept iilor . . . . . . . . . 49
3.17 DataSet-ul asociat ferestrei de vizualizare a recept iilor . . . . . . . . . . . 50
3.18 Schema logic a pentru fereastra recept ia unei facturi . . . . . . . . . . . . . 52
3.19 DataSet-ul pentru fereastra recept ia unei facturi . . . . . . . . . . . . . . . 52
3.20 Schema logic a pentru fereastra efectuarea unei pl at i . . . . . . . . . . . . . 53
3.21 DataSet-ul asociat ferestrei Efectuarea unei pl at i . . . . . . . . . . . . . . 54
4.1 Fereastra pricnipal a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 FacturareAct.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3 Funct ia de ad augare a unei ^ nregistr ari ^ n comand a . . . . . . . . . . . . . 58
4.4 Facturare.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.5 Funct a care realizeaz a stergerea unei facturi . . . . . . . . . . . . . . . . . 59
4.6 ReceptieAct.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.7 Funct ia prin care se actualizeaz a o recept ie . . . . . . . . . . . . . . . . . . 60
4.8 Plata.cs si PlataVizualizare.cs . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.9 Funct ie pentru calculul facturilor restante . . . . . . . . . . . . . . . . . . 61
4.10 StocProduse.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.11 Metoda pentru ad augarea unei arhive . . . . . . . . . . . . . . . . . . . . . 62
v
List a de tabele
3.1 Fluxul principal, vizualizare si actualizare oferte . . . . . . . . . . . . . 18
3.2 Fluxul principal, comand a nou a . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Fluxul principal, vizualizarea facturilor . . . . . . . . . . . . . . . . . . 20
3.4 Fluxul principal, modicarea unei facturi . . . . . . . . . . . . . . . . . 21
3.5 Fluxul principal, vizualizarea recept iilor . . . . . . . . . . . . . . . . . . 21
3.6 Fluxul principal, recept ia unei facturi . . . . . . . . . . . . . . . . . . . 22
3.7 Fluxul principal, efectuarea unei pl at i . . . . . . . . . . . . . . . . . . . 23
3.8 Fluxul principal, vizualizarea pl at ilor . . . . . . . . . . . . . . . . . . . 24
3.9 Fluxul principal, vizualizare stoc produse . . . . . . . . . . . . . . . . . 25
3.10 Fluxul principal, vizualizarea arhivelor . . . . . . . . . . . . . . . . . . 26
3.11 Fluxul principal, actualizare produse . . . . . . . . . . . . . . . . . . . 27
3.12 Fluxul principal, actualizare UM si cot a TVA . . . . . . . . . . . . . . 28
3.13 Fluxul principal, actualizare trezorerie . . . . . . . . . . . . . . . . . . 29
3.14 Fluxul principal, actualizare furnizori . . . . . . . . . . . . . . . . . . . 31
vi
Introducere
Procesul business de aprovizionare apare ^ n activitatea majorit at ii companiilor.
Procesul de aprovizionare este constituit din activit at i de achizit ionare a bunurilor sau
a serviciilor de la un furnizor, de efectuare a unor pl at i si eventual a stocare a bunurilor,
^ n vederea utiliz arii lor, spre exemplu ^ n domenii de comert , product ie sau servicii.
Termenii de achizit ionare, aprovizionare sau alimentare sunt utilizat i frecvent ^ n
literatura de specialitate, dar si ^ n practica economic a. Cu toate acestea, termenii
specicat i au o semnicat ie diferit a. Achizit ionarea reprezint a un angajament nanciar,
reprezent^ and efectiv, o tranzact ie monetar a. Aprovizionarea este un proces complex;
acesta este compus din achizit ionare (acesta ind doar o component a a aprovizion arii),
act iunea de determinare a nevoilor, stabilirea dimensiunii acestora si emiterea cererii
sau a comenzii, negocierea condit iilor de furnizare, de aducerea efectiv a a resurselor
materiale. Ultima act iune a procesului de aprovizionare este reprezentat a de alimen-
tare; aceast a act iune se caracterizeaz a prin trecerea ^ n consum a resurselor aduse de la
furnizor.
Managementul procesului de aprovizionare este reprezentat prin activitatea de
asigurare a elementelor materiale si tehnice utilizate ^ n product ie. Aceast a activitate
permite realizarea obiectivelor generale ale ^ ntreprinderii prin volum si structur a adec-
vat a pentru asigurarea unor costuri minime si a unui prot maximizat.
Tema lucr arii o reprezint a dezvoltarea unei aplicat ii de aprovizionare, titlul lucrarii
este"Dezvoltarea unei aplicat ii pentru analiza datelor si managementul aprovizion arii
unei societ at i comerciale", aplicat ie care este util a proceselor economice destinate apro-
vizion arii. Aceast a problem a are o caracteristic a cu aspect clasic, deoarece prezent a
acesteia ^ n cadrul economic este de mare important a. ^In procesul dezvolt arii dome-
niului economic, numero si dezvoltatori au pus problema cre arii unei aplicat ii care s a
faciliteze achizit ia de produse.
Lucrarea respectiv a cuprinde aspecte at^ at teoretice c^ at si practice privind concepte
de proiectare si implementare a sistemului, cu cateva secvent e de cod, diagrama de
clase si imagini sugestive pentru a ^ ntelege u sor dezvoltarea proiectului. Lucrarea este
1
Introducere Introducere
structurat a ^ n cinci capitole, ecare avand mai multe subcapitole si care urm aresc ^ n
detaliu prezentarea domeniului aplicat iei, tehnologiile utilizate, procesul de dezvoltare,
implementarea si testarea aplicat iei.
^In concluzie, procesul de aprovizionare este indispensabil ^ n atent ia oric arei com-
panii, iar problema dezvolt arii unui sistem pentru a facilita act iunea de aprovizionare
este una clasic a. Cu toate acestea, tema lucr arii abordeaz a o problem a clasic a care este
adus a ^ n actualitate prin intermediul tehnologiilor utilizate, Visual Studio ^ mpreun a cu
C#.
Motivat ie
Informatizarea domeniului economic a reprezentat avansarea si dezvoltarea semni-
cativ a a proceselor economice. Procesul de aprovizionare reprezint a o problem a clasic a
prin care se efectueaz a furnizarea unui anumit produs de c atre o societate comercial a.
Aplicabilitatea procesului de aprovizionare a fost facilitat a de adaptarea proceselor
economice la cele informatice, ^ ntruc^ at aplicact ia prezentat a ^ n cadrul acestei lucr ari
este practic a societ at ilor comerciale c^ at si ^ ntreprinderilor mari sau restr^ anse.
Motivat ia dezvolt arii acestei aplicat ii este conturat a de interesul personal ^ n do-
meniul economic si solut ionarea problemei clasice de aprovizionare. Aceast a abordare
a problemei economice, utilizeaz a tehnologii moderne de dezvoltare a aplicat iilor prin
adaptarea acesteia la un sistem informatic de analiz a a datelor si de management al
aprovizion arilor din cadrul societ at ilor. ^In consecint a, nevoia dezvolt arii aplicat iilor
economice const a ^ n facilitarea proceselor economice de aprovizionare, precum efec-
tuarea comenzilor, manipularea recept ii, realizarea pl at ilor, vizualizarea stocurilor si
actualizarea elementelor economice. Aceast a solut ionare poate abordat a prin inter-
mediul informatiz arii proceselor economice.
Abordarea unei astfel de probleme motiveaz a decizia personal a pentru dezvolta-
rea aplicat iei de analiz a a datelor si management al aprovizion arii, util a societ at ilor
comerciale. Acest proces de aprovizionare se a
a la baza activit at ilor economice, iar
abordarea unei aplicat ii software specice va u sura procesul economic prin minimizarea
costurilor si reducerea timpului de procesare si abordare a unui proces de aprovizionare.
Pentru a putea util a aprovizionarea, ^ ntr-o societate comercial a este nevoie si
de existent a aspectului care se leag a de v^ anzarea sau utilizarea bunurilor obt inute ^ n
urma aprovizion arii. De aceea, procesul de aprovizionare este ^ n str^ ans a leg atur a cu
procesul de v^ anzare, iar analiza datelor se refer a la analiza proceselor de aprovizionare
^ n raport cu v^ anzarea. ^In consecint a, lucrarea descrie ^ n detaliu procesul de aprovizio-
nare, iar analiza datelor prezint a o abordare diferit a, aceast a analiz a se re
ect a doar
^ n vizualizarea stocului disponibil.
2
Capitolul 1
Prezentarea domeniului aplicat iei
1.1 Denitia problemei
Aprovizionarea reprezint a un proces complex, iar obiectivul principal al acestui
proces const a ^ n asigurarea complet a si complex a a cererilor de consum ale rmei cu
resurse materiale aduse de la furnizori, f ar a a prezenta ruptur a de stoc ^ ntre dou a
aprovizion ari, adic a, la un moment dat cererea s a e mai mare dec^ at oferta, av^ and ^ n
nal un cost minim de achizit ie si un prot maximizat.
Cu alte cuvinte, prin termenul de aprovizionare se poate ^ nt elege"drumul" parcurs
de un produs de la un furnizor, trec^ and prin toate etapele acesteia, si ajung^ and ^ n nal
la un client.
Figura 1.1 : Lant de aprovizionare
Cei care furnizeaz a bunuri sau servicii c atre distribuitori, comerciant i sau alt i
agent i economici poart a numele de furnizori si se reg asesc ^ n majoritatea domeniilor
existente ^ ntr-o economie. Ace stia, ^ n general, nu interact ioneaz a direct cu consumato-
3
Prezentarea domeniului aplicat iei Denitia problemei
rul nal; ei ofer a pret uri mici client ilor care sunt de acord s a semneze un contract pe
o perioad a ^ ndelungat a sau client ilor care au comenzi cu cantit at i mari.
Clientul sau consumatorul este persoana care beneciaz a de produsele sau serviciile
cump arate pentru satisfacerea nevoilor personale.
Cererea este lansat a de un client si reprezint a nevoile de bunuri sau servicii care ^ l
satisfac pe acesta; ea depinde si de nevoile de consum, venitul disponibil al consumato-
rilor, pret ul bunurilor si serviciilor, precum si de voint a de cump arare a consumatorilor.
Oferta este^ n str^ ans a leg atur a cu cererea, ea reprezint a cantitatea de bunuri sau servicii
oferite spre v^ anzare de un agent economic ^ ntr-o anumit a perioad a de timp.
Stocurile sunt cantit at i de materii prime, materiale, semifabricate, produse nite,
consumabile sau unit at i f acute cu scopul desf a sur arii cu
uiditate a unei activit at i pro-
ductive, comerciale. ^In teoria stocurilor sunt prezentate dou a metode pentru refacerea
stocului:
.Metoda Periodic a, unde aprovizionarea se face la aceea si perioad a de timp. Dez-
avanajul este c a poate ap area ruptur a de stoc dac a cererea dep a se ste oferta ^ ntr-o
anumit a perioad a de timp.
.Metoda Relaxare, se aprovizioneaz a de ecare dat a cu aceia si cantitate. La
aceast a metod a nu se t ine cont de perioada de timp. Atunci c^ and se ajunge la
nivelul de sigurant a se realizeaz a aprovizionarea si de aceea nu se poate produce
nici ruptur a de stoc.
Figura 1.2 : Metoda Relaxare si Metoda Periodic a
O aplicat ie de aprovizionare ofer a posibilitatea unui utilizator s a realizeze o comand a,
introduc^ and un furnizor si o list a de produse. Utilizatorul are posibilitatea s a recept ioneze
sau s a vizualizeze o comand a facut a anterior, poate s a pl ateasc a o comand a recept ,ionat a,
s a stearg a sau s a modice o factur a.
4
Prezentarea domeniului aplicat iei Aplicat ii existente
Titlul lucr arii este \Dezvoltarea unei aplicat ii pentru analiza datelor si manage-
mentul aprovizion arii ^ ntr-o societate comercial a", iar tema o reprezint a dezvoltarea
unei aplicat ii cu ajutorul c areia un utilizator ^ si poate alege o list a de produse de la un
furnizor. Aceast a aplicat ie monitorizeaz a evident a facturilor si pl at ile efectuate c atre
ecare furnizor.
1.2 Aplicat ii existente
1.2.1 Microsoft Dynamics NAV
Produsul Microsoft Dynamics NAV este un sistem de planicare a resurselor
^ ntreprinderilor. Este o parte a familiei Microsoft Dynamics, creat a special pentru
aplicat iile nanciare, relat ii cu client i, management, lant uri de aprovizionare, analiz a
a piet ei si comert electronic.
Microsoft Dynamics NAV provine din suita de aplicat ii contabile Navision, cump arat a
^ n anul 2002 de c atre rma Microsoft.
Figura 1.3 : Microsoft Dynamics NAV – aprovizionare
Aplicat ia cont ine funct ii integrate ce ofer a suport pentru urmatoarele module:
.Management pentru aprovizion ari
.Management nanciar
.Distribut ii
.Relat ii cu client ii
.V^ anz ari
.Managementul resurselor umane
.Managementul serviciilor
Modulul aprovizionare permite gestionarea relat iei cu furnizorii, ^ ncep^ and de la
5
Prezentarea domeniului aplicat iei Aplicat ii existente
^ nregistrarea ofertei de cump arare si naliz^ andu-se cu realizarea recept iei si^ nregistrarea
facturii. ^In plus, acest modul ofer a instrumente pentru optimizarea stocurilor.
Principalele functionalit at i ale modulului aprovizionare sunt:
.Se pot realiza recept ii multiple si facturi multiple din comanda de cump arare;
.Se pot actualiza datoriile furnizorilor;
.Ofer a posibilitatea ^ nregistr arii ofertelor furnizorilor, se pot emite comenzi si se
memoreaz a facturi de aprovizionare;
.Asigur a gestionarea recept iilor part iale;
.Permite gestionarea pret urilor si tarifelor pe furnizori sau pe tipuri de furnizori
si pe articole sau perioade de valabilitate;
.Poate sugera pl at i c atre furnizori^ n funct ie de unele criterii specicate (prioritate,
posibile reduceri, data de scadent a, etc.).
1.2.2 bcAchizit ii
^In martie 2011 breg COMPUTERS a dezvoltat o nou a facilitate pentru activitatea
de aprovizionare ^ n cadrul aplicat iei bcManager Professional ERP (Enterprise Resource
Planning). bcAchizit ii este un program de aprovizionare, modul al bcManager Profes-
sional ERP.
bcAchizit ,ii este un modul utilizat ^ n planicarea si desf a surarea activit at ii de apro-
vizionare. S-au implementat mai multe modalit at i de calcul a cantit at ii care trebuie
aprovizionat a ^ ntr-o perioad a de timp, ^ n acest mod, utilizatorul beneciaz a de
exibi-
litate si poate opta pentru varianta potrivit a ec arei situat ii. Aplicat ia propune mai
mult i furnizori pentru ecare produs, oferindu-i utilizatorului posibilitatea de a- si alege
furnizorul preferat.
Figura 1.4 : Diagrama bcAchizit ii
Un avantaj al acestei aplicat ii ^ l reprezint a faptul c a pot introduse ^ n sistem toate
6
Prezentarea domeniului aplicat iei Aplicat ii existente
costurile care pot afecta costul de recept ie, cum ar : transport, comisioane, cheltuieli
vamale sau alte cheltuieli. De asemenea, se poate opta pentru calculul cantit at ii de
aprovizionat ^ n funct ie de comenzile client ilor sau ^ n funct ie de istoricul activit at ii. Un
alt avantaj ^ l presupune calculul necesarului de aprovizionat, acesta poate calculat
pentru una sau mai multe gestiuni, pentru o anumit a categorie de produse sau pentru
un furnizor.
1.2.3 SeniorERP
SeniorERP este o aplicat ie lansat a ^ n 2003 de compania Senior Software si repre-
zint a un modul de aprovizionare al sistemului ERP (Enterprise Resource Planning).
Aplicat ia parcurge urm atorii pa si: ^ ncepe de la estimarea necesarului de aprovizio-
nare, urm^ and comanda de achizit ie, sosirea documentelor scale, gestiunea recept iei de
bunuri si naliz^ andu-se cu leg aturi c atre modulele de contabilitate, v^ anz ari, stocuri.
Figura 1.5 : Aprovizionare ^ n ERP – Comenzi de achizit ie
Comenzile de achizit ie/ furnizor joaca un rol important ^ n cadrul procesului de
aprovizionare; este necesar a si recomandat a urm arirea complet a a
uxurilor specice,
astfel ^ nc^ at s a poat a asigurat a si controlat a calitatea produsului.
Aplicat ia ofer a posibilitatea de a vizualiza ^ n timp real informat ii despre stocuri,
pret uri, client i sau furnizori, deoarece SeniorERP funct ioneaz a ^ n modul de lucru on-
line.
7
Capitolul 2
Tehnologii utilizate
2.1 Visual Studio Community 2017
Visual Studio include un set de instruct iuni de dezvoltare pentru generarea de
aplicat ii ASP.NET, Servicii Web XML, aplicat ii desktop si aplicat ii mobile. Visual
Studio este un mediu de dezvoltare integrat (IDE { Integrated Development Environ-
ment) ^ n care se pot dezvolta aplicat ii Web Forms.
Visual Studio se bazeaz a pe simplitate, oferind multiple aplicat ii si benecii, cu scopul
de a ^ mbun at at ii ^ ntreaga activitate a dezvoltatorilor, de la design p^ an a la implemen-
tare.
Figura 2.1 : Visual Studio 2017
Visual Studio 2017 a fost lansat pe data de 7 martie 2017 si pentru acesta s-au
dezvoltat mai multe servicii care ajut a la dezvoltarea, testarea si managementul codului
surs a pentru aplicat iile mobil, web si cloud.
Prin facilit at ile aduse se num ar a si urm atoarele:
8
Tehnologii utilizate Platforma .NET
.Visual Studio IDE – s-a redus timpul de ^ nc arcare sau navigare prin cod si accesul
la serviciile integrate^ n cod, s-au introdus o serie de elemente noi interfet ei grace;
.Ofer a suport pentru C# 7.0 si Visual Basic 15;
.Se adaug a noi opt iuni de personalizare si pachete disponibile pentru instalarea
oine;
.Se adaug a elemente de automatizare ^ n Test Explorer;
.Cu ajutorul noului Visual Studio 2017 se pot crea .NET Standard libraries, .NET
Core apps/libraries, si ASP.NET web projects si acestea vor folosi noul format
.csproj;
.Se ^ mbun at at e ste performant a si stabilitatea;
.Se adaug a notic ari in timp real pentru valid ari.
2.2 Platforma .NET
.NET este un mediu de dezvoltare software unitar a (Framework) care permite
realizarea, distribuirea si rularea aplicat iilor desktop Windows si aplicat iilor WEB.
^In cadrul platformei .NET sunt reunite mai multe tehnologii (ASP, XML, OOP, SOAP,
WDSL, UDDI) si limbaje de programare (VB, C++, C#, J#), asigur^ and rularea
codului ^ n diferite aplicat ii, indiferent de limbajul de programare utilizat.
Tehnologia .NET are la baz a componenta .NET Framework care este format a din
compilatoare, biblioteci si alte executabile utile ^ n rularea aplicat iilor .NET.
Figura 2.2 : Arhitectura .NET Framework
CLR (Common Language Runtime) reprezint a platforma de execut ie a programe-
lor si este utilizat a de toate limbajele. Aceast a platform a include o ma sin a virtual a
ce execut a instruct iunile IL (sau MSIL- Microsoft Intermediate Language) rezultate ^ n
urma compil arii; ma sina folose ste un compilator special numit JIT (Just In Time) care
analizeaz a codul IL corespunz ator apelului unei metode si produce codul ma sin a. Tot
platforma CLR se ocup a cu gestionarea automat a a memoriei.
9
Tehnologii utilizate Limbajul C#
FLC (Framework Class Library) reprezint a ansamblul de biblioteci necesare ^ n realiza-
rea aplicat iilor desktop sau WEB.
ADO.NET (ActiveX Data Objects) este o component a a platformei .NET Framework
care permite accesarea si manipularea datelor. Ofer a servicii at^ at pentru lucrul ^ n stil
deconectat de la sursa de date, c^ at si conectat.
Pentru a se putea face conectarea la sursa de date, trebuie realizat a o leg atur a (cone-
xiune) cu sursa de date ^ nainte de orice operat ie. Clasele din categoria Connection (de
exemplu SQLConnection, OleDbConnection, etc.) cont in date referitoare la sursa de
date (locat ia, numele si parola contului de acces), metode pentru ^ nchiderea sau des-
chiderea conexiunii, pornirea unei tranzact ii, etc. Aceste clase se g asesc ^ n subspat ii
(SQL Client, OleDb, etc.) ale spat iului System.Data.
De asemenea, conexiunea la sursa de date se poate realiza si prin program astfel: se
poate instant ia un obiect tip conexiune, preciz^ andu-i ca parametru un sir de caractere
cont in^ and date despre conexiune.
Platforma ADO.NET include clasa DataSet, DataAdapter si alte clase cum ar Data-
Table, DataColumn, DataRow sau DataRelation. DataSet-ul poate v azut ca o vedere
^ n memoria bazei de date. Un obiect DataSet cont ine un set de tabele realt ionale care
primesc date de la sursa de date la care este conectat a si ^ ntoarce modic arile efectu-
ate ^ napoi la baza de date. DataAdapter realizeaz a conexiunea ^ ntre baza de date si
DataSet-ul conectat la aceasta. Pentru a manipual datele din sursa de date se folo-
sesc comenzi ca de exemplu InsertCommand, SelectCommand, UpdateCommand sau
DeleteCommand.
2.3 Limbajul C#
Limbajul C# este un limbaj de programare modern, simplu si orientat pe obiecte
care a ap arut la sf^ ar situl anilor 90 si care deriv a din limbajele C si C++.
Figura 2.3 : C#
Sursa de inspirat ie pentru numele limbajului o reprezint a notat ia # (diez) din
muzic a, aceast a notat ie indic a faptul c a nota muzical a urmat a de # este mai ^ nalt a cu
un semiton. Este o similitudine cu numele limbajului C++, unde ++ reprezint a at^ at
incrementarea unei variabile cu valoarea 1, c^ at si faptul c a C++ este mai mult dec^ at
limbajul C.
10
Tehnologii utilizate Microsoft SQL Server 2012
Limbajul C# a fost dezvoltat ^ n cadrul Microsoft, iar principalii creatori sunt Andres
Heilsberg, Scott Wiltamuth si Peter Golde.
Prin denit ie, un obiect reprezint a un mod simplicat de a identica un lucru sau
o entitate din lumea real a sau imaginar a. Programarea ^ ntr-un limbaj orientat spre
obiecte ^ nseamn a g asirea unor agent i adaptat i problemei si care ^ si ^ mpart ^ ntreaga
sarcin a a rezolv arii, ecare din ei specializ^ andu-se ^ n sarcini mai mici.
Principalele caracteristici ale acestui limbaj:
.Este un limbaj de programare simplu, cu circa 80 de cuvinte cheie si 12 tipuri de
date predenite;
.Este un limbaj modern, cu productivitate mare in programare;
.Elementele fundamentale ale program arii ^ n C# sunt ^ ncapsularea, mo stenirea si
polimorsmul;
.Este un limbaj orientat pe obiecte;
.Permite dezvoltarea de aplicat ii industrial durabile.
2.4 Microsoft SQL Server 2012
Conceptul de baz a de date (BD) a ap arut ^ n anul 1969 cu ocazia prezent arii primu-
lui raport CODASYL (^ n cadrul unei conferint e care avea la baz a probleme cu limbaje
de gestiune a bazelor de date).
Figura 2.4 : Reprezentarea bazei de date
Prin baz a de date se ^ nt elege orice colect ie de date sau informat ii a
ate ^ n str^ ans a
leg atur a stocate pe un suport extern cu posibilitatea extinderii si g asirii rapide a aces-
tora.
11
Tehnologii utilizate Microsoft SQL Server 2012
Un pachet software prin care se realizeaz a gestiunea bazei de date, se nume ste Sistem
de Gestiune a Bazei de Date (SGBD), acesta are rolul de a administra baza de date
si de a oferi interfat a ^ ntre utilizatori si baza de date. Denumirea a fost preluat a prin
traducerea din limba francez a a not iunii \Systeme de gestion de base de donnees". ^In
limba englez a conceptul utilizat este \Database Management System" (DBMS).
SQL (Structured Query Language) este un limbaj de descriere si manipulare acceptat
de toate SGBD { urile relat ionale. Limbajul SQL a fost dezvoltat la ^ nceputul anilor
1970 de o echip a de la IBM, ^ n cadrul laboratorului de Cercetare de la San Jose.
Microsoft SQL Server este un SGBD relat ional produs de c atre Microsoft. Prima ver-
siune a ap arut ^ n 1989 cu suport pentru 16 bit i si rula doar pe OS/2, sistemul de
operare creat de Microsoft si IBM. Prima versiune de server de baze de date scoas a
de Microsoft, bazat a pe GUI (Graphical User Interface) a fost SQL Server 7.0, iar o
versiune comercial a lansat a pentru arhitectura Intel a fost SQL Server 2000.
Microsoft aduce, odat a cu noua versiune SQL Server 2005, o serie de ^ mbu-n at at iri pen-
tru stocarea si manipularea datelor XML, facilit at i pentru tratarea erorilor, partit ionarea
tabelelor si a indec silor.
SQL Server 2008 ofer a suport pentru stocarea de date multimedia si adaug a noi ti-
puri de date (geometry, geography, hierarchy si date). Aceast a versiune ofer a facilit at i
pentru lucrul cu date nestructurate, semistructurate sau part iale; dar ofer a suport si
pentru tabele temporare, tabele virtuale sau indec si de tip hash.
Figura 2.5 : Microsoft SQL Server 2012
Microsoft SQL Server 2012 este prima platform a bazat a pe servicii cloud a r-
mei. Pune la dispozit ia ^ ntreprinderilor utilitare eciente pentru protect ia datelor,
funct ion^ and astfel pe diverse dispozitive si surse de date. De la computere, telefoane
si tablete, pana la centre de date si cloud-uri publice sau private. SQL Server 2012,
asem an ator predecesorilor s ai, dep a se ste aspectele unui simplu motor de baze de date,
este o colect ie de componente ce pot implementate ^ n mod separat sau ca un grup
pentru formarea platformei de informat ii.
Construit a pe conceptele SQL Server 2008 R2, SQL Server 2012 aduce mari schimb ari
pentru organizat iile de pretutindeni prin capacit at ile sale semnicative. Ofer a^ ntreprinderilor
performant a optimizat a si autenticitate, precum si o varietate de solut ii business.
O facilitate surprinz atoare o reprezint a serviciile de vizualizare a log-urilor (sau ra-
poarte ale activit at ilor), copie oine a bazei de date si recuperare a datelor.
Drept solut ii de securitate, Microsoft a ^ nregistrat un numar redus al vulnerabilit at ilor
pentru produsul SQL Server, conform sondajului oferit de Institutul Nat ional al Stan-
dardeor si Tehnologiilor rapoartele efectuate ^ n intervalul anilor 2002-2010 ilustreaz a
12
Tehnologii utilizate Microsoft SQL Server 2012
procentul redus al SQL Server-ului fat a de expunerea la atacuri informatice.
SQL Server 2012 ofer a trei edit ii de baz a, aceste edit ii au fost dezvoltate conform
cerint elor client ilor,^ n mod invividual ofer a versiuni de 32 si 64 bit i: Enterprise( ^Intreprindere),
Standard, Business Intelligence(Inteligent a Business). Alte distribut ii ale acestui ser-
viciu sunt structurate ^ n trei mari categorii: Developer(Dezvoltator), Web, Express.
Cerint ele hardware (tehnice) si software (logice) pentru SQL Server 2012 pot varia ^ n
funct ie de componentele sistemului, capacitatea de lucru cu baze de date si tipul de
procesor folosit.
SQL Server 2012 ofer a ^ mbun at at iri din punct de vedere al situat iilor critice, cum ar
valabilitate maxim a si recuperare a datelor. Aceste imbun at at iri ofer a ^ ncredere
organizat iilor.
13
Capitolul 3
Procesul de dezvoltare al aplicat iei
Aplicat ia dezvoltat a poart a denumirea "Approvizionare", numele sugereaz a, prin
al aturarea grupului de cuvinte "App" care reprezint a abrevierea termenului Applica-
tion, tema dezvoltat a. Titlul este unul sugestiv, un singur cuv^ ant care une ste dou a
p art i. Prima parte provine din limba englez a de la cuvantul"application" care se
traduce prin"aplicat ie", iar a doua parte este reprezentat a chiar de procesul ^ n sine,
"aprovizionare".
3.1 Documentul de cerint e
3.1.1 Descrierea sistemului
Sistemul t ine evident a comenzilor, facturilor si pl at ilor lansate de utilizator pentru
aprovizionarea unei societ at i comerciale.
3.1.2 Actori software
Rolurile pe care le poate lua utilizatorul care interact ioneaz a cu sistemul sunt:
.Operator
.S ef de aprovizionare
.S ef nanciar
.Manager product ie
14
Procesul de dezvoltare al aplicat iei Documentul de cerint e
3.1.3 Cerint e funct ionale (F)
F1: Vizualizare si actualizare oferte
F1.1. – Permite alegerea unui furnizor;
F1.2. – Permite actualizarea pret urilor oric arui produs dore ste operatorul;
F1.3. – Veric a datele introduse si a seaz a mesaj de eroare dac a nu se introduce corect
pret ul;
F1.4. – Permite renunt area modic arilor f acute;
F1.5. – Permite salvarea modic arilor si memorarea schimb arilor f acute.
F2:Comand a nou a
F2.1. – Permite alegerea unui furnizor;
F2.2. – Permite alegerea datei de emitere si de ^ nregistrare a comenzii;
F2.3. – Permite alegerea listei de produse;
F2.4. – Permite introducerea cantit at ii dorite pentru ecare produs selectat;
F2.5. – Veric a datele introduse si se a se aza mesaj de eroare ^ n cazul ^ n care se
introduce ceva gre sit;
F2.6. – Sistemul calculeaz a prezc tul total dup a introducerea ec arui produs;
F2.7. – Este permis a renunt area la comand a;
F2.8. – Sistemul permite salvarea comenzii, se memoreaz a datele completate si se
realizeaz a o factur a.
F3: Vizualizare facturi
F3.1. – Permite vizualizarea unei facturi si cont inutul acesteia;
F3.2. – Permite stergerea unei facturi;
F3.3. – Sistemul cere conrmare pentru stergerea unei facturi;
F3.4. – Daca se conrm a, se realizeaz a stergerea facturii f ar a posibilitatea de a recupera
factura stears a;
F3.5. – Dac a nu se conrm a nu se realizeaz a schimb ari asupra facturilor existente.
F4: Modicare facturi
F4.1. – Permite ad augarea de produse noi;
F4.2. – Permite ad augarea sau modicarea cantit at ilor pentru ecare produs din list a;
F4.3. – Permite stergerea de produse din factur a;
F4.4. – Sistemul calculeaz a pret ul total al facturii dup a ecare modicare a acesteia;
F4.5. – Permite renunt area la modic arile f acute, vechea factur a nu se modic a;
F4.6. – Permite salvarea facturii, vechea factur a este ^ nlocuit a de factura modicat a.
F5: Vizualizarea recept iilor
F5.1. – Permite vizualizarea tuturor facturilor si vizualizarea tuturor recept iilor din
factur a;
F5.2. – Permite stergerea de recept ii, dac a acetea exist a;
F5.3. – Sistemul cere conrmarea pentru stergerea recept iilor, dac a se realizeaz a
stergerea unei recept ii, nu se sterge si factura acelei recept ii.
F6: Recept ia unei facturi
F6.1. – Ofer a posibilitatea de a alege o factur a din cele existente;
15
Procesul de dezvoltare al aplicat iei Documentul de cerint e
F6.2. – Sistemul permite recept ia tuturor produselor, sau doar a unor produse din
factur a;
F6.3. – Permite modicarea cantit at ii produselor de recept ionat, dar ^ n caz c a se
introduce o cantitate mai mare decat cantitatea din factur a se a seaza mesaj de eroare,
iar seful nanciar poate introduce ^ nca o dat a cantitatea de recept ionat;
F6.4. – Sistemul calculeaz a pret ul total al recept iei dup a ecare modicare;
F6.5. – Permite renunt area sau conrmarea recept iei;
F6.6. – Dac a se conrma, se memoreaza datele recept iei.
F7: Efectuarea unei pl at i
F7.1. – Sistemul ofer a posibilitatea alegerii unui furnizor si a seaz a facturile restante
ale acestuia;
F7.2. – Permite alegerea unei facturi si permite modicarea sumei care urmeaz a a
platit a;
F7.3. – Sistemul a seaz a un mesaj de eroare dac a suma modicat a este mai mare decat
suma din factur a si ^ i ofer a posibilitatea sefului nanciar s a introduc a alt a sum a;
F7.4. – Permite alegerea unei trezorerii, iar sistemul a seaz a contul si moneda ^ n care
se plate ste;
F7.5. – Permite conrmarea pl at ii si se memoreaz a datele recept iei;
F7.6. – Permite renunt area la acea plat a, nu se produc modic ari asupra facturilor
restante.
F8: Vizualizarea pl at ilor
F8.1. – Permite vizualizarea tuturor pl at ilor facute;
F8.2. – Permite stergerea unei pl at i;
F8.3. – Sistemul cere conrmarea pentru stergerea unei pl at i, dac a se realizeaz a
stergerea unei pl at i, aceasta nu mai poate recuperat a.
F9: Vizualizare stoc produse
F9.1. – Permite alegerea unei date si vizualizarea stocului de produse la acea dat a
(numele produsului si cantitatea care este ^ n stoc la data respectiv a);
F9.2. – Permite vizualizarea stocului ^ n detaliu (data c^ and s-a introdus un anumit
produs ^ n stoc, unitatea de masur a, cantitatea care s-a introdus);
F9.3. – Permite arhivarea stocului la orice dat a dore ste managerul de product ie.
F10: Vizualizarea arhivelor
F10.1. – Sistemul a seaz a datele c^ and s-a realizat o arhiv a la stocul de produse;
F10.2. – Permite alegerea unei date pentru a a sa arhiva detaliat a (denumire produs,
unitate de masur a, pret ul de achizit ie, cantitatea achizit ionat a);
F10.3. – Sistemul ofer a posibilitatea stergerii unei arhive si cere conrmarea.
F11: Actualizare produse
F11.1. – Permite introducerea de produse noi pentru ecare furnizor;
F11.2. – Sistemul veric a datele introduse, ^ n caz de eroare a seaz a mesaj cores-
punz ator;
F11.3. – Permite stergerea de produse, dar dac a acestea sunt utilizate ^ n facturi
stergerea nu poate realizat a;
F11.4. – Sistemul permite modicarea produselor;
16
Procesul de dezvoltare al aplicat iei Documentul de cerint e
F11.5. – Sistemul permite renunt area sau conrmarea modic arilor f acute asupra pro-
duselor.
F12: Actualizare Unitate de M asur a si Cot a TVA
F12.1. – Permite ad augarea de unit at i noi de m asur a sau TVA, ^ n cazul ^ n care se
introduce aceea si valoare de dou a ori sistemul a seaz a mesaj de eroare;
F12.2. – Permite stergerea unei unit at i de m asur a sau a unei cote de TVA;
F12.3. – Pemite modicarea acestora;
F12.4. – Permite conrmarea sau renunt area modic arilor f acute.
F13: Actualizare trezorerie
F13.1. – Permite introducerea de noi trezorerii si pentru ecare trezorerie introdus a,
managerul de product ie trebuie s a introduc a moneda ^ n care se face plata si contul
curent;
F13.2. – Sistemul veric a datele introduse si ^ n caz de eroare a seaz a mesaj cores-
punz ator;
F13.3. – Permite modicarea trezoreriilor existente;
F13.4. – Permite stergerea acestora;
F13.5. – Este permis a conrmarea dup a actualizarea trezoreriei sau renunt area la mo-
dic arile f acute.
F14: Actualizare furnizori
F14.1. – Permite introducerea de noi furnizori, ^ n cazul ^ n care se introduce de dou a
ori acela si furnizor, sistemul a seaz a un mesaj de avertizare;
F14.2. – Permite modicarea furnizorilor existent i;
F14.3. – Permite stergerea de furnizori;
F14.4. – Permite vizualizarea datoriilor pentru ecare furnizor;
F14.5. – Permite vizualizarea pl at ilor efectuate pentru ecare furnizor;
F14.6. – Permite conrmarea sau renunt area modicarilor f acute pentru actualizarea
furnizorilor.
3.1.4 Cerint e nefunct ionale (CN)
CN1 – Utilizatorul nu trebuie s a urmeze un instructaj pentru a folosi aplicat ia,
este sucient s a urm areasc a manualul.
CN2 – Aplicat ia se bazeaz a pe interfet e grace.
CN3 – Acuratet ea aplicat iei – aplicat ia trebuie s a realizeze calcule cu dou a zecimale
exacte.
CN4 – Robustet e { aplicat ia veric a datele introduse de utilizator, dac a acestea sunt
incorecte, aplicat ia a seaz a mesaj de eroare si ^ i permite utilizatorului s a introduc a
date corecte.
17
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
3.2 Descrierea cazurilor de utilizare
3.2.1 Vizualizare si actualizare oferte
Descriere: Descrie interact iunea dintre sistem si operator pentru actualizarea
ofertelor si interactiunea dintre client si sistem pentru vizualizarea acestora.
Actori software: Operator (principal).
Eveniment declan sator: Operatorul cere actualizarea ofertelor.
Precondit ii: Sistemul trebuie s a aib a memorat cel putin un furnizor cu cel putin un
produs.
Postcondit ii: Sistemul a memorat modicarile asupra listei de oferte.
Referint e ^ ncruci sate: F1.1. – F1.5.
Flux principal:
Operator Sistem
1. Cere vizualizarea ofertelor.
2. Cere alegerea unui furnizor.
3. Alege un furnizor.
4. A seaz a lista de produse.
5. Cere actualizarea ofertelor.
6. Permite modicarea pret urilor produselor.
7. Introduce noile preturi.
8. Verica datele introduse.[A1]
9. Cere memorarea ofertelor.[A2]
10. Memoreaza datele modicate.
Tabela 3.1 : Fluxul principal, vizualizare si actualizare oferte
Fluxuri alternative [A]:
[A1] Operatorul introduce caractere sau litere ^ n locul pret urilor.
1. Sistemul a seaz a mesaj de eroare.
2. Fluxul continua cu pasul sase din
uxul principal.
[A2] Operatorul cere renuntarea la modic arile f acute asupra ofertelor.
1. Sistemul nu memoreaz a schimb arile facute asupra pret urilor.
2. Sistemul a seaz a lista init ial a de oferte.
3. Fluxul principal se ^ ncheie.
3.2.2 Comand a nou a
Descriere: Descrie comportamentul sistemului si interact iunea dintre seful de
aprovizionare si sistem pentru ad ugarea unei comenzi.
18
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
Actori software: S ef de aprovizionare (principal).
Eveniment declan sator: S eful de aprovizionare solict a o nou a comand a.
Precondit ii: Sistemul trebuie s a funct ioneze corect.
Postcondit ii: Sistemul a creat si a memorat o noua factur care cont ine datele introduse
^ n comand a de seful de aprovizionare.
Referint e ^ ncruci sate: F2.1. { F2.8.
Flux principal:
S ef de aprovizionare Sistem
1. Cere ad augarea unei comenzi noi.
2. Cere introducerea unui furnizor,
a datei de emitere si de ^ nregustrare
a comenzii si adaugarea listei de produse.
3. Completeaza datele cerute.
4. Veric a datele introduse.[A1]
5.Calculeaz a valoarea total a a comenzii.
6. Cere memorarea datelor.[A2]
7. Memoreaz a datele introduse.
8. Creaz a o factur a nou a.
9. A seaz a mesaj de nalizare a comenzii.
Tabela 3.2 : Fluxul principal, comand a nou a
Fluxuri alternative [A]:
[A1] Datele introduse sunt incorecte din punct de vedere semantic.
1. Sistemul a seaz a un mesaj de eroare.
2. Fluxul continu a cu pasul doi din
uxul principal.
[A2] S eful de aprovizionare nu memoreaz a datele.
1. Sistemul nu memoreaz a datele noii comenzi.
2. Sistemul a seaz a mesaj de informare, nu s-a creat o nou a factur a si datele au fost
sterse.
3. Sistemul gole ste toate c^ ampurile completate de seful de aprovizionare si se ^ ncheie
uxul principal.
3.2.3 Vizualizare facturi
Descriere: Descrie comportamentul dintre seful nanciar si sistem pentru vizua-
lizarea facturilor si cont inutul acesteia.
Actori software: S ef nanciar (principal).
Eveniment declan sator: S eful nanciar cere vizualizarea facturilor existente.
Precondit ii: Sistemul trebuie s a memorat datele a cel put in o factur a.
Postcondit ii: S eful nanciar a vizualizat facturile existente.
Referint e ^ ncruci sate: F3.1. – F3.5.
19
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
Flux principal:
S ef nanciar Sistem
1. Cere vizualizarea facturilor existente.
2. A seaz a facturile memorate.
3. Cere stergerea unei facturi.
4. Cere conrmarea pentru stergere.
5. Conrm a stergerea.[A1]
6. S terge factura selectat a.
7. A seaz a facturile care au r amas.
Tabela 3.3 : Fluxul principal, vizualizarea facturilor
Fluxuri alternative [A]:
[A1] S eful nanciar nu conrm a stergerea facturii.
1. Sistemul nu realizeaz a stergerea acelei facturi.
2. Fluxul principal se ^ ncheie.
3.2.4 Modicarea unei facturi
Descriere: Descrie interact iunea dintre seful nanciar si sistem pentru modica-
rea unei facturi existente.
Actori software: S ef nanciar (principal).
Eveniment declan sator: S eful nanciar solicit a modicarea unei facturi memorate
anterior.
Precondit ii: Sistemul trebuie s a memorat cel put in o factur a.
Postcondit ii: Sistemul trebuie s a ^ nlocuiasc a vechea factur a cu cea modicat a de seful
nanciar.
Referint e ^ ncruci sate: F4.1. – F4.6.
Fluxuri alternative [A]:
[A1] Nu s-a introdus corect cantitatea produsului ad augat sau cantitatea unui
produs existent.
1. Se a seaz a mesaj de eroare.
2. S eful nanciar poate introduce iar acea cantitate.
3. Fluxul continu a cu pasul doi din
uxul principal.
[A2] S eful nanciar cere renunt area la acea modicare de factur a.
1. Datele modicate nu sunt memorate.
2. Se a seaz a un mesaj de informare specic^ and c a modicarea nu a avut loc.
3. Fluxul principal se ^ ncheie.
Flux principal:
20
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
S ef nanciar Sistem
1. Cere modicarea unei facturi.
2. A seaz a factura cerut a.
3. Adaug a un produs nou sau
modic a o cantitate din factur a
4. Verica datele introduse.[A1]
5. Calculeaz a pret ul total al facturii.
6. Cere stergerea de produse din factur a.
7.Realizeaz a stergerea pentru ecare
produs specicat.
8. Calculeaz a pret ul total al facturii.
9. Cere salvarea facturii modicate.[A2]
10. Memoreaz a datele.
11.^Inlocuie ste vechea factur a cu cea
modicat a.
12. A seaz a un mesaj de conrmare,
modicarea a fost facuta cu succes.
Tabela 3.4 : Fluxul principal, modicarea unei facturi
3.2.5 Vizualizarea recept iilor
Descriere: Descrie interact iunea dintre managerul de product ie si sistem pentru
vizualizarea recept iilor.
Actori software: Managerul de product ie (principal).
Eveniment declan sator: Managerul de product ie cere vizualizarea recept iilor efec-
tuate p^ an a la acel moment.
Precondit ii: Sistemul are memorat a cel put in o recept ie.
Postcondit ii: Managerul de product ie a vizualizat recept iile existente.
Referint e ^ ncruci sate: F5.1. – F5.3.
Flux principal:
Manager de product ie Sistem
1. Cere vizualizarea recept iilor.
2. A seaz a toate facturile si
recept iile existente pentru ecare factur a.
3. Cere stergerea unei recept ii.
4. Cere conrmare penru a face stergerea.
5. Conrma stergerea recept iei selectate.[A1]
6. Realizeaz a stergerea recept iei
7. A seaz a mesaj cu stergere efectuat a.
Tabela 3.5 : Fluxul principal, vizualizarea recept iilor
21
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
Fluxuri alternative [A]:
[A1] Managerul de product ie nu conrm a stergerea recept iei.
1. Nu se realizeaz a stergerea recept iei.
2. Se a seaz a un mesaj de informare.
3. Se ^ ncheie
uxul principal.
3.2.6 Recept ia unei facturi
Descriere: Prezint a interact iunea dinte seful nanciar si sistem pentru recept ia
unei facturi.
Actori software: S ef nanciar (principal).
Eveniment declan sator: S eful nanciar cere recept ia unei facturi existente.
Precondit ii: Sistemul trebuie s a memorat cel putin o factur a care mai are produse
de recept ionat.
Postcondit ii: Sistemul a memorat recept ia facturii specicate de seful de product ie.
Referint e ^ ncruci sate: F6.1. – F6.6.
Flux principal:
S ef nanciar Sistem
1. Cere recept ia unei facturi.
2. A seaz a lista cu produse, cantit at ile
acestora si pret ul din factur a.
3. Modic a cantitatea unui produs.[A1]
4.Calculeaz a pret ul total al recept iei.
5. S terge un produs din factur a.
6. Cere conrmare pentru stergere.
7. Conrm a stergerea produsului.[A2]
8. Calculeaz a pret ul total al recept iei.
9. A seaz a lista cu produsele r amase.
10. Cere conrmarea recept iei.[A3]
11. Memoreaz a datele din recept ie.
12. A seaz a mesaj de informare cu recept ie
nalizat a.
Tabela 3.6 : Fluxul principal, recept ia unei facturi
Fluxuri alternative [A]:
[A1] Cantitatea introdus a de seful nanciar este mai mare dec^ at cantitatea din
factur a sau a introdus un sir de caractere.
1. Sistemul a seaz a un mesaj de eroare si ^ i ofer a posibilitatea sefului nanciar s a
introduc a alt a cantitate.
2. Fluxul continu a cu pasul doi din
uxul principal.
22
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
[A2] S eful nanciar nu conrm a stergerea produsului specicat.
1. Sistemul nu realizeaz a modic ari asupra listei de produse.
2. Fluxul continu a cu pasul nou a din
uxul principal.
[A3] Cere renuntarea la recept ia acelei facturi.
1. Sistemul nu memoreaz a datele recept ie.
2. Sistemul a seaz a mesaj de informare pentru a sublinia faptul c a nu s-a realizat
recept ia facturii.
3. Se incheie
uxul principal.
3.2.7 Efectuarea unei pl at i
Descriere: Dene ste comportamentul sistemului si interact iunea acestuia cu seful
nanciar pentru efectuarea unei pl at i.
Actori software: S ef nanciar (principal).
Eveniment declan sator: S eful nanciar solicit a efectuarea unei pl at i.
Precondit ii: Sistemul trebuie s a aib a memorat a o recept ie care nu a fost platit a.
Postcondit ii: Sistemul memoreaz a plata recept iei specicate de seful nanciar.
Referint e ^ ncruci sate: F7.1. – F7.6.
Flux principal:
S ef nanciar Sistem
1. Cere efectuarea unei pl at i.
2. Cere alegerea unui furnizor
3. Alege un furnizor.
4. A seaz a o list a cu facturile restante.
5. Cere alegerea unei facturi.
6. Alege o factura.
7. A seaz a datele din factura specicat a.
8. Modica suma de plat a.[A1]
9. Calculeaz a totalul de plat a.
10. Cere alegerea unei trezorerii.
11. Alege o trezorerie.
12. Completeaz a contul si moneda ^ n care se face
transferul de bani.
13. Cere conrmarea plat ii.[A2]
14. Memoreaz a datele specicate.
15. A seaz a mesaj de informare c a plata
s-a facut cu succes.
Tabela 3.7 : Fluxul principal, efectuarea unei pl at i
Fluxuri alternative [A]:
[A1] Suma introdus a este mai mare decat suma din recept ie sau s-a introdus un
23
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
sir de caractere.
1. Sistemul a seaz a un mesaj de eroare si ^ i ofer a posibilitatea sefului nanciar s a
introduc a alt a sum a de plata.
2. Fluxul continu a cu pasul sapte din
uxul principal.
[A2] S eful nanciar nu conrm a salvarea pl at ii. 1. Nu se salveaz a plata care a fost
solicitat a.
2. Sistemul a seaza un mesaj de informare cu privire la plata care nu a avut loc.
3. Fluxul principal se ^ ncheie.
3.2.8 Vizualizarea pl at ilor
Descriere: Prezint a interact iunea dintre sistem si managerul de product ie pentru
vizualizarea pl at ilor efectuate c atre ecare furnizor.
Actori software: Manager de product ie (principal).
Eveniment declan sator: Managerul de product ie cere vizualizarea tuturor pl at ilor
existente.
Precondit ii: Sistemul trebuie s a aib a memorat a cel putin o plat a c atre un furnizor.
Postcondit ii: Managerul de product ie a vizualizat pl at ile existente.
Referint e ^ ncruci sate: F8.1. – F8.3.
Flux principal:
Managerul de product ie Sistem
1. Cere vizualizarea pl at ilor.
2. A seaz a pl at ile existente.
3. Cere stergerea unei pl at i.
4. Cere conrmare pentru stergere.
5. Conrma stergerea pl at ii selectate.[A1]
6. Realizeaz a stergerea pl at ii.
7. A seaz a mesaj cu stergere efectuat a.
Tabela 3.8 : Fluxul principal, vizualizarea pl at ilor
Fluxuri alternative [A]:
[A1] Managerul de product ie nu conrma stergerea pl at ii selectate.
1. Nu se realizeaz a schimb ari asupra Pl at ilor.
2. Sistemul a seaz a un mesaj de informare.
3. Fluxul principal se ^ ncheie.
24
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
3.2.9 Vizualizare stoc produse
Descriere: Prezint a interdependent a dintre sistem si managerul de product ie
pentru vizualizarea stocului de produse.
Actori software: Manager de product ie (principal).
Eveniment declan sator: Managerul de product ie solicit a vizualizarea stocului de
produse la o anumit a dat a.
Precondit ii: Sistemul trebuie s a salvat cel put in o recept ie de produse pentru a putea
vizualiza produsele din stoc, altfel sistemul nu are ce s a a seze si prin vizualizarea de
produse din stoc managerului de product ie ^ i apare o list a vid a.
Postcondit ii: Managerul de product ie a vizualizat produsele din stoc la data introdus a
de acesta.
Referint e ^ ncruci sate: F9.1. – F9.3.
Flux principal:
Manager de product ie Sistem
1. Cere vizualizarea stocului de produse.
2. Cere alegerea unei date pentru
a sarea stocului.
3. Selecteaz a data dorit a.[A1]
4.Cere a sarea produselor din stoc.
5. A seaz a produsele din stoc la data
specicat a.
6. Cere vizualizarea stocului ^ n detaliu.
7. A seaz a datele cerute.
8. Cere arhivarea stocului.[A2]
9. Salvez a datele arhivei.
10. Creaz a o arhiv a noua cu produsele
din stoc.
11. A seaz a mesaj de nalizare a arhivei.
Tabela 3.9 : Fluxul principal, vizualizare stoc produse
Fluxuri alternative [A]:
[A1] Managerul de product ie nu selecteaz a nici o dat a si cere a sarea produselor
din stoc.
1. Sistemul selecteaz a implicit data curent a ca ind data la care se va face vizualizarea
produselor din stoc.
2. Fluxul continu a cu pasul cinci din
uxul principal.
[A2] Managerul de product ie nu cere arhivarea stocului.
1. Sistemul nu creaz a nici o arhiv a cu stocul a sat managerului de product ie.
2. Se ^ ncheie
uxul principal.
25
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
3.2.10 Vizualizarea arhivelor
Descriere: Descrie comportamentul sistemului si interact iunea dintre acesta cu
managerul de product ie pentru vizualizarea arhivelor f acute asupra stocului de produse
la un moment dat.
Actori software: Manager de product ie (principal).
Eveniment declan sator: Managerul de product ie solicit a vizualizarea arhivelor efec-
tuate asupra stocului de prosuse.
Precondit ii: Sistemul a memorat cel put in o arhiv a asupra stocului de produse, altfel
lista de arhive este goal a.
Postcondit ii: Managerul de product ie a vizualizat arhivle efectuate asupra stocului
de produse.
Referint e ^ ncruci sate: F10.1. – F10.3.
Flux principal:
Manager de product ie Sistem
1. Cere vizualizarea arhivelor.
2. Cere selectarea unei date din cele
existente.[A1]
3. Selecteaz a data dorit a.
4. A seaz a arhiva detaliat a
5. Cere stergerea unei arhive.
6. Cere conrmare pentru a putea face
stergerea.
7. Conrm a stergerea arhivei selectate.[A2]
8. S terge arhiva selectat a din list a.
9. A seaz a arhivele care au r amas dup a
stergere.
Tabela 3.10 : Fluxul principal, vizualizarea arhivelor
Fluxuri alternative [A]:
[A1] Nu exist a nici o arhiv a memorat a.
1. Sistemul a seaz a lista vid a care ar trebuit s a cont in a datele la care s-a f acut
arhiva.
2. Se ^ ncheie
uxul principal.
[A2] Managerul de product ie nu conrm a stergerea arhivei selectate.
1. Nu se modic a lista de arhive.
2. Fluxul continu a cu pasul patru din
uxul principal.
26
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
3.2.11 Actualizare produse
Descriere: Prezint a comportamentul si interact iunea sistemului cu operatorul
pentru actualizarea produselor.
Actori software: Operator (principal).
Eveniment declan sator: Operatorul cere actualizarea produselor.
Precondit ii: Sistemul trebuie s a aib a memorat cel put in un furzizor pentru ca opera-
torul s a poat a ad auga produse acestuia ^ n cazul ^ n care nu sunt produse de actualizat.
Postcondit ii: Sistemul a memorat modic arile facute de operator asupra produselor.
Referint e ^ ncruci sate: F11.1. – F11.5.
Flux principal:
Operator Sistem
1. Cere actualizarea produselor.
2. A seaz a lista de produse existente.
3. Introduce un produs nou.
4. Veric a dac a a mai fost introdus.[A1]
5. A seaz a lista complet a de produse.
6. S terge un produs din list a.
7. Veric a dac a produsul specicat apare
^ n facturi.[A2]
8. A seaz a lista de produse dup a
stergerea produsului.
9. Modic a un produs.
10. Veric a datele introduse.[A3]
11. A seaz a modic arile f acute.
12. Cere conrmarea modic arilor.[A4]
13. Salveaz a modic arile f acute.
14. A seaz a mesaj de nalizare.
Tabela 3.11 : Fluxul principal, actualizare produse
Fluxuri alternative [A]:
[A1] Produsul introdus de operator exist a deja ^ n lista de produse.
1. Sistemul a seaz a mesaj de avertizare si ^ i ofer a posibilitatea operatorlui s a introduc a
alt produs.
2. Fluxul continu a cu pasul doi din
uxul principal.
[A2] Produsul pe care operatorul dore ste s a ^ l stearg a apare ^ n facturi.
1. Sistemul a seaz a mesaj de eroare, produsul specicat nu poate sters.
2. Sistemul nu efectueaz a stergerea.
3. Fluxul continu a cu pasul doi din
uxul principal.
[A3] Datele introduse de operator sunt incorecte din punct de vedere semantic.
1. Sistemul a seaz a mesaj de eroare.
27
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
2. Sistemul ^ i ofer a posibilitatea operatorului s a corecteze gre selile f acute.
3. Fluxul continu a cu pasul doi din
uxul principal.
[A4] Operatorul nu conrm a modic arile f acute asupra produselor.
1. Sistemul nu salveaz a modic arile f acute.
2. Sistemul a seaz a mesaj de informare, modic arile nu au fost efectuate.
3.2.12 Actualizare unitate de m asur a si cot a TVA
Descriere: Descrie interact iunea dintre sistem si operator pentru actualizarea
unit at ii de m asur a si cota TVA.
Actori software: Operator (principal).
Eveniment declan sator: Operatorul solicit a actualizarea unit at ii de m asur a si cota
TVA.
Precondit ii: Sistemul trebuie s a funct ioneze corect.
Postcondit ii: Sistemul a memorat modic arile f acute de operator.
Referint e ^ ncruci sate: F12.1. – F12.4.
Flux principal:
Operator Sistem
1. Cere actualizarea unit at ii de m asur a
si cotei TVA.
2. A seaz a lista cu unit at i de m asur a
si cote TVA exitente.
3. Introduce o unitate de m asur a
sau o cot a TVA.
4. Veric a dac a a mai fost introdus aceast a
unitate de masur a sau cota TVA.[A1]
5. A seaz a lista complet a de unit at i de
m asur a si cota TVA.
6. Modic a o unitate de m asur a
sau cot a TVA.
7. Veric a modic arile f acute.[A2]
8. S terge un element din liste.
9. A seaz a listele f ar a elementul sters.
10. Conrm a modic arile f acute.[A3]
11. Salveaz a schimbarile efectuate.
12. A seaz a mesaj de nalizare a
operatiei de actualizare.
Tabela 3.12 : Fluxul principal, actualizare UM si cot a TVA
Fluxuri alternative [A]:
[A1] Operatorul a introdus o valoare duplicat a.
28
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
1. Sistemul a seaz a mesaj de eroare.
2. Fluxul continu a cu pasul doi din
uxul principal.
[A2] Operatorul a introdus o valoare incorect a din punct de vedere semantic.
1. Sistemul a seaz a mesaj de eroare.
2. Fluxul continu a cu pasul doi din
uxul principal.
[A3] Operatorul nu conrm a modic arile facute.
1. Sistemul nu memoreaz a modic areile efectuate de operator.
2. Sistemul a seaz a listele init iale cu unit at i de masur a si cote TVA.
3. Se ^ ncheie
uxul principal.
3.2.13 Actualizare trezorerie
Descriere: Descrie comportamentul sistemului si interact iunea dintre acesta si
operator pentru actualizarea trezoreriilor.
Actori software: Operator (principal).
Eveniment declan sator: Operatorul acceseaz a actualizare trezorerie. Precondit ii:
Sistemul trebuie s a act ioneze corect la interact iunea cu operatorul.
Postcondit ii: Sistemul a memorat modic arile realizate de operator.
Referint e ^ ncruci sate: F13.1. – F13.5.
Flux principal:
Operator Sistem
1. Cere actualizare trezorerie.
2. A seaz a trezoreriile existente.
3. Introduce o nou a trezorerie.
4. Veric a datele introduse.[A1]
5. A seaz a lista complet a cu trezorerii
6. Modic a o trezorerie existent a.
7. Veric a datele introduse.[A2]
8. A seaz a modic arile f acute.
9. S terge o trezorerie.
10. A seaz a modic arile efectuate.
11. Cere memorarea modic arilor.[A3]
12. Salveaz a modic arile efectuate de operator.
13. A seaz a mesaj de nalizare.
Tabela 3.13 : Fluxul principal, actualizare trezorerie
Fluxuri alternative [A]:
[A1] Operatorul a introdus o valoare duplicat ^ n lista de trezorerii.
1. Sistemul a seaz amesaj de eroare si ^ i ofer a posibilitatea utilizatorului s a introduc a
29
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
alt a trezorerie f ar a a memora valoarea duplicat.
2. Fluxul continu a cu pasul doi din
uxul principal.
[A2] Datele introduse de operaator sunt incorecte din punct de vedere semantic.
1. Sistemul a seaz amesaj de eroare si ^ i ofer a posibilitatea operatorului s a corecteze
gre seala efectuat a.
2. Fluxul continu a cu pasul doi din
uxul principal.
[A3] Operatorul nu conrm a salvarea modic arilor efectuate.
1. Sistemul nu salveaz a modic arile f acute de operator.
2. Sistemul a seaz a lista de trezorerii init ial a.
3.Se ^ ncheie
uxul principal.
3.2.14 Actualizare furnizori
Descriere: Prezint a interact iunea dintre sistem si operator pentru actualizarea
furnizorilor.
Actori software: Operator (principal).
Eveniment declan sator: Operatorul solicit a actualizarea furnizorilor.
Precondit ii: Sistemul trebuie s a funct ioneze corect la interact iunea cu operatorul
pentru actualizarea furnizorilor.
Postcondit ii: Sistemul a memorat modic arile facute de operatoe asupra furnizorilor.
Referint e ^ ncruci sate: F14.1. – F14.6.
Fluxuri alternative [A]:
[A1] Operatorul a introdus de dou a ori acela si furnizor.
1. Sistemul a seaz a mesaj de eroare, oferindu-i posibilitatea operatorului de a introduce
alt furnizor.
2. Sistemul nu memoreaz a valoarea duplicat a.
3. Fluxul continu a cu pasul doi din
uxul principal.
[A2] Datele introduse de operator sunt incorecte din punct de vedere semantic.
1. Sistemul a seaz a mesaj de eroare.
2. Sistemul nu memoreaz a schimb arile efectuate de operator.
3. Fluxul continu a cu pasul doi din
uxul principal.
[A3] Operatorul nu conrm a salvarea modic arilor f acute asupra furnizorilor.
1. Sistemul nu salveaz a modic arile f acute de operator asupra furnizorilor.
2. Sistemul a seaz a lista init ial a de furnizori.
3. Se ^ nchiei
uxul principal.
Flux principal:
30
Procesul de dezvoltare al aplicat iei Descrierea cazurilor de utilizare
Operator Sistem
1. Cere actualizare furnizori.
2. A seaz a furnizorii existent i.
3. Introduce un furnizor nou.
4. Veric a datele introduse.[A1]
5. A seaz a lista complet a cu furnizori.
6. Modic a datele unui furnizor existent.
7. Veric a datele introduse.[A2]
8. Actualizeaz a lista cu furnizori.
9. S terge un furnizor.
10. Actualizeaz a lista cu furnizori.
11. Cere vizualizarea datoriilor.
12. A seaz a datoriile c atre acest furnizor.
13. Cere vizualizarea pl at ilor efectuate
c atre furnizorul specicat.
14.A seaz a pl at ile c atre acest furnizor.
15.Cere salvarea modic arilor
efectuate.[A3]
16. Salveaz a modic arile f acute.
17. A seaz a mesaj de salvare cu succes.
Tabela 3.14 : Fluxul principal, actualizare furnizori
31
Procesul de dezvoltare al aplicat iei Diagrama cazurilor de utilizare
3.3 Diagrama cazurilor de utilizare
Figura 3.1 : Diagrama cazurilor de utilizare
32
Procesul de dezvoltare al aplicat iei Diagrame de activit at i
3.4 Diagrame de activit at i
Diagrama de activit at i a cazului de utilizare Comand a
nou a
Figura 3.2 : Diagrama de activit at i: Comand a nou a
33
Procesul de dezvoltare al aplicat iei Diagrame de activit at i
Diagrama de activit at i a cazului de utilizare Vizua-
lizarea facturilor
Figura 3.3 : Diagrama de activit at i: Vizualizarea facturilor
34
Procesul de dezvoltare al aplicat iei Diagrame de activit at i
Diagrama de activit at i a cazului de utilizare Modi-
carea unei facturi
Figura 3.4 : Diagrama de activit at i: Modicarea unei facturi
35
Procesul de dezvoltare al aplicat iei Diagrame de activit at i
Diagrama de activit at i a cazului de utilizare Recept ia
unei facturi
Figura 3.5 : Diagrama de activit at i: Recept ia unei facturi
36
Procesul de dezvoltare al aplicat iei Diagrame de secvent e
3.5 Diagrame de secvent e
Diagrama de secvent e pentru cazul de utilizare
Comand a nou a
Figura 3.6 : Diagram a de secvent e – Comand a nou a
37
Procesul de dezvoltare al aplicat iei Diagrame de secvent e
Diagrama de secvent e pentru cazul de utilizare
Recept ia unei facturi
Figura 3.7 : Diagram a de secvent e – Recept ie factur a
38
Procesul de dezvoltare al aplicat iei Diagrame de secvent e
Diagrama de secvent e pentru cazul de utilizare
Efectuarea unei pl at i
Figura 3.8 : Diagram a de secvent e – Plat a facturi
39
Procesul de dezvoltare al aplicat iei Diagrama de clase
3.6 Diagrama de clase
Figura 3.9 : Diagrama de clase
3.7 Proiectarea bazei de date
O baz a de date reprezint a un sistem proiectat ^ n vederea utiliz arii unui mecanism
organizat, ce ofer a funct ii de stocare, actualizare, accesare a datelor si informat iilor.
Interog arile (Query) au rolul de a c auta informat ii ^ n baza de date cu ajutorul unor
criterii. Cea mai utilizata comand a din instruct iunile SQL este comanda SELECT,
40
Procesul de dezvoltare al aplicat iei Proiectarea bazei de date
aceasta are urmatoarea sintax a:
SELECT [DISTINCT] lista_coloane FROM tabel
[WHERE conditie1]
[HAVING conditie2]
[GROUP BY lista_coloane2 ]
[ORDER BY lista_coloane3 [ASC/DESC]]
Clauzele specicate ^ n paranteze p atrate sunt opt ionale, ^ n nal aceast a comand a
a seaz a coloanele specicate ^ n clauza SELECT din tabelul specicat ^ n clauza FROM,
av^ and restrict iile din clauzele WHERE si HAVING.
Tabelele au rolul cel mai important deoarece ^ n ele se stocheaz a toate informat iile din
baza de date.
Figura 3.10 : Adaugare tabel ^ n Microsoft SQL Server
Tabelele, ^ n Microsoft SQL Server, se pot crea prin click dreapta pe Tables + New
Table sau prin urm atoarea comanda:
CREATE TABLE [dbo.][nume_tabel]
([nume_coloana] [tip_data] NULL/NOT NULL);
Rapoarete (Reports) au rolul de a prelua informat ii din baza de date pentru a putea
tip arite.
Formularele (Forms) sunt destinate introducerii sau vizualizarii datelor ^ n tabelele ba-
zei de date si reprezint a interfat a cu utilzatorul s au.
3.7.1 Tabele si relat ii ^ ntre tabele
^In acest subcapitol, ecare tabel din baza de date va detaliat^ mpreun a cu relat iile
dintre acestea si tipurile ec arei coloane.
41
Procesul de dezvoltare al aplicat iei Proiectarea bazei de date
O cheie primar a nu admite valoarea null, este unic a ^ ntr-un tabel si reprezint a c^ ampul
sau combinat ia de c^ ampuri care identic a ^ n mod unic ecare ^ nregistrare din acel
tabel.
Cheia str ain a stabile ste o relat ie ^ ntre dou a coloane, admite valori duplicat si un tabel
poate avea mai multe chei str aine. Tabelul care cont ine cheia str ain a se nume ste tebel
copil, iar tabelul care cont ine coloana la care se face referint a se nume ste tabel p arinte.
Furnizor
IdFurnizor – uniqueidentier, not null (cheie primar a)
DFurnizor – nvarchar(50), not null
Localitate – nvarchar(50), not null
Adres a – nvarchar(50), not null
CotaTVA
CotaTVA – int, not null
UM
Um – nvarchar(50)
Produs
IdProdus – uniqueidentier, not null (cheie primar a)
DProdus – nvarchar(50), not null
Um – nvarchar(50), not null (cheie str ain a – tabelul p arinte este UM)
CotaTVA – int, not null (cheie str ain a – tabelul p arinte este CotaTVA)
Stocabil – bit
Pret v^ anzare – money, not null
IdFurnizor – int, not null (cheie str aina – tabelul p arinte este Furnizor)
Trezorerie
IdTrezorerie – uniqueidentier, not null (cheie primar a)
DTrezorerie – nvarchar(50), not null
Cont – nvarchar(50), not null
Moneda – nvarchar(50), not null
FacturareAchizit ie
IdFacturareAchizitie – uniqueidentier, not null (cheie primar a)
NrDocument – int, not null
DataDocument – date, not null
DataIntregistrarii – date, not null
IdFurnizor – int, not null (cheie str ain a – tabelul p arinte este Furnizor)
FacturareAchizit ieDetaliu
IdFacturareAchizitieDetaliu – uniqueidentier, not null (cheie primar a)
Nrc – int, not null
PretAchizitie – money, not null
Cantitate – decimal, not null
CotaTVA – int, not null
Valoare – money, not null
42
Procesul de dezvoltare al aplicat iei Proiectarea bazei de date
ValoareTVA – money, not null
IdProdus – int, not null (cheie str ain a – tabelul p arinte este Produs)
IdFacturareAchizitie – int, not null (cheie str ain a – tabelul p arinte este FacturareAchi-
zitie)
Recept ie
IdReceptie – uniqueidentier, not null (cheie primar a)
NrDocument – int, not null
DataDocument – date, not null
Recept ieDetaliu
IdReceptie – int, not null (cheie str ain a – tabelul p arinte este Receptie)
Nrc – int, not null
Cantitate – money, not null
Valoare – money, not null
ValoareTVA – money, not null
IdFacturareAchizitieDetaliu – int, not null (cheie str ain a – tabelul p arinte este Factu-
rareAchizitieDetaliu)
Cheia primar a este constituit a din coloanele IdReceptie si Nrc.
Plat a
IdPlata – uniqueidentier, not null (cheie primar a)
TipDocument – nvarchar(50), not null
DataDocument – date,not null
IdTrezorerie – int, not null (cheie str ain a – tabelul p arinte este Trezorerie)
IdFurnizor – int, not null (cheie str ain a – tabelul p arinte este Furnizor)
NrDocument – int, not null
Plat aDetaliu
IdPlata – int,not null (cheie str ain a – tabelul p arinte este Plata)
Nrc – int, not null
Suma – money, not null
IdFacturareAchizitie – int, not null (cheie str ain a – tabelul p arinte este FacturareAchi-
zitie)
Cheia primar a este format a din coloanele IdPlata si Nrc.
Operat ii
IdOperatie – uniqueidentier, not null (cheie primar a)
DOperatie – nvarchar(50), not null
StocProduse
IdOperatie – int, not null (cheie str ain a – tabelul p arinte este Operatii)
IdAchizitieDetaliu – int, not null (cheie str ain a – tabelul p arinte este FacturareAchizi-
tieDetaliu)
Cantitate – money, not null
Data – date, not null
StocProduseArhiv a
Data – date, not null
43
Procesul de dezvoltare al aplicat iei Proiectarea bazei de date
IdAchizitieDetaliu – int, not null (cheie str ain a – tabelul p arinte este FacturareAchizi-
tieDetaliu)
Cantitate – money, not null
Datorii
IdFacturareAchizitie – int, not null (cheie str ain a – tabelul p arinte este FacturareAchi-
zitie)
ValoareFactura – money, null
Platit – money, null
Restant – money, null
Curier
Denumire – nvarchar(50), not null (cheie primar a)
PretKm – money, not null
Ora se
DOras – nvarchar(50), not null (cheie primar a)
Km – money, not null
3.7.2 Diagrama entit at i – asociere
Figura 3.11 : Structura bazei de date – Diagrama Entit at i Asociate
44
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
3.8 Proiectarea Form-urilor si a DataSet-
urilor
Prin intermediul ferestrelor (lb.eng. Forms) sunt puse la dispozit ie clase speciali-
zate pentru crearea formularelor, utilizarea butoanelor, a casetelor de text sau a listelor
de derulare, etc. Construirea ferestrelor este u soar a, bazat a pe opt iunea selectare si
plasare (lb. eng. "drag and drop"). Toate instrumentele pentru construirea Form-ului
se g asesc ^ n fereastra Toolbox.
^In cadrul ferestrelor din aplicat ia prezent a este des utilizat instrumentul DataGrid-
View, deoarece prin intermediul acestuia sunt a sate datele din tabelele SGBD-ului
utilizat.
Cu ajutorul obiectelor DataSet si DataAdapter sunt permise prelucr ari asupra
bazei de date, prelucr ari ce constau ^ n operat ii de selectare, stergere, modicare sau
ad augare. Aceste obiecte gestioneaz a automat conexiunea cu sursa de date, astfel ^ ncat
legatura se face doar c^ and este necesar.
Un DataSet mai poate cont ine si clase de tipul DataTable, DataColumn, DataRow sau
DataRelation. ^In general, un DataTable nu este legat la sursa de date, acesta joac a
rolul de tabel virtual ^ n baza de date. ^In obiectul de tip DataColumn se memoreaz a
numele si tipul unei coloane, un obiect DataRow se memoreaz a o linie din DataTable,
iar constr^ angerile sunt folosite pentru a impune restrict ii asupra valorilor din coloane.
Un obiect DataSet reprezint a un set de tabele relat ionale, acesta obt ine date si trimite
modic ari ^ napoi c atre baza de date folosindu-se de serviciile oferite de DataAdapter.
Pentru a selecta, modica sau sterge date din baza de date se folosesc comenzi precum
DeleteCommand, InsertCommand, SelectCommand, UpdateCommand.
Metoda de populare cu date a unei tabele dintr-un DataSet este Fill() si se permite
specicarea numelui obiectului din DataSet ^ n care se depun datele, sau a numelui
tabelului existent ^ n DataSet. Dupa cum se specic a si ^ n numele acestei metode,
metoda Updare realizeaz a transferul modic arilor efectuate asupra tabelei din DataSet
c atre baza de date cu care este ^ n leg atur a.
Pentru proiectarea DataSet-urilor aplicat iei Approvizionare s-a ales realizarea unui
DataSet pentru ecare fereastr a folosit a, deoarece este mai usor de utilizat. ^In conti-
nuare se va prezenta c^ ate o schem a logic a pentru a surprinde utilitatea ferestrelor si
DataSet-urile ata sate ec arei ferestre ^ mpreun a cu componet a acestuia.
Actualizare/Vizualizare
Aceast a schem a surprinde ^ ntr-un mod detaliat procesul de actualizare si vizua-
lizare care este prezent ^ n mai multe ferestre, cum ar ^ n actualizarea furnizorilor,
produselor, ofertelor, unitate de m asur a si cota de TVA. ^In prim a faz a, la deschiderea
ferestrei de vizualizare / actualizare, utilizatorul nu se pot efectua modic ari asupra ba-
zei de date. Singura opt iune accesabil a de c atre un utilizator, la momentul deschiderii
ferestrei, este de a vizualiza datele existente. Prin accesarea butonului de actualizare,
utilizatorul nu mai are restrict ii, el poate modica, adauga, chiar si sterge ^ nregistr ari
45
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
Figura 3.12 : Schema logic a – Vizualizare / Actualizare
din baza de date. Dup a ecare modicare, utilizatorul r amane tot in meniul de actu-
alizare. Singurul mod de a p ar asi actualizarea este prin a conrma sau a renunt a la
modic arile f acute.
DataSet-ul asociat acestei scheme logice pentru cazul de utilizare Vizualizare /
Actualizare produse are urm atoarea component a:
Figura 3.13 : DataSet-ul pentu fereastra vizualizare/actualizare produse
Acesta este compus dintr-un TableAdapter denumit Produs, care face leg atura cu
tabelul Produs din baza de date. Este nevoie de acest TableAdapter pentru a putea
vizualiza datele din sursa de date, dar si pentru a le putea actualiza de ecare dat a
c^ and se dore sete actualizarea. Interogarea folosit a este una clasic a, este nevoie de un
singur tabel (tabelul Produs) si sunt preluate toate coloanele acestuia pentru a a sate
46
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
^ n fereastra utilizatorului.
SELECT IdProdus, DProdus, Um, CotaTVA, Stocabil, PretVanzare, IdFurnizor
FROM Produs
ORDER BY DProdus;
Pentru opt iunea de actualizare a produselor este nevoie de un TableAdapter cu furni-
zori, deoarece ecare produs apart ine unui furnizor, iar utilizatorul nu poate introduce
un produs f ar a s a specice furnizorul care det ine acel produs. Pe l^ ang a furnizor, un
produs mai cont ine o unitate de m asur a si o cot a de TVA, iar pentru acestea s-au
introdus TableAdapter-ul UM si TableAdapter-ul CotaTVA pentru a face leg atrua cu
baza de date si pentru a putea alege o unitate de m asur a care exist a in baza de date,
la fel si o valoare TVA. Interog arile folosite pentru aceste tabele sunt:
SELECT IdFurnizor, DFurnizor FROM Furnizor;
SELECT Um FROM UM;
SELECT CotaTVA FROM CotaTVA;
Comand a nou a
Urm atroarea schem a logic a este pentru fereastra care realizeaz a o comand a nou a.
^In aceast a schem a se evident iaz a opt iunile pe care le poate accesa utilizatorul aplicat iei.
Figura 3.14 : Schema logic a pentu fereastra comand a nou a
Odata cu deschiderea ferestrei pentru o comand a nou a, utilizatorul intr a in modul
de completare comand a. Aplicat ia ofer a posibilitatea modic arii comenzii, aceast a
modicare se refer a at^ at la modicarea unui r^ and din comand a c^ at si la ad augare sau
stergere de produse.
Pentru a p ar asi aceast a fereastr a, utilizatorul are de ales ori prin memorarea comenzii
efectuate p^ an a ^ n momentul de fat a, ori prin renunt area la acea comand a.
47
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
DataSet-ul asociat ferestrei pentru crearea unei noi comenzi cont ine trei obiecte.
Un TableAdapter pentru furnizori, deoarece pentru a alege un produs, trebuie ales
^ nt^ ai furnizorul care furnizeaz a acel produs. DataSet-ul mai cont ine un TableAdapter
pentru produse, deoarece utilizatorul trebuie s a ^ si aleaga o list a de produse din cele
furnizate de furnizori. S i, de asemenea, un obiect DataTable (FacturareDetaliu) care
va cont ine lista propriu-zis a de produse pe care le alege un utilizator la un moment
dat. Acest DataTable nu are leg atur a cu baza de date, el cont ine o colect ie de coloane,
de randuri si constrangeri.
Figura 3.15 : DataSet-ul pentu fereastra comand a nou a
Interog arile pentru cele dou a DataTable sunt simple, cu ajutorul lor se obt in
informat ii dintr-un tabel (pentru DataTable Furnizor se obt in informat ii de tabelul
Furnizor, iar pentru DataTable Produs din tabelul Produs).
SELECT IdFurnizor, DFurnizor, CodFiscal, Localitate, Adresa FROM Furnizor;
SELECT IdProdus, DProdus, Um, CotaTVA, Stocabil, PretVanzare, IdFurnizor
FROM Produs ORDER BY DProdus;
Pentru realizarea DataTable-ul FacturareDetaliu s-a introdus c^ ate o coloan a cu un si
un tip de dat a. Realizarea acestui obiect a fost pentru a memora datele care se introduc
de ecare dat a cand de acceseaz a comand a nou a, si s-a ales DataTable deoarece dup a
ecare renunt are sau conrmare, acest tabel va sters din memorie ca s a e gol pentru
48
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
o nou a comand a. Structura acestuia este urm atoarea (nume coloan a si tipul de dat a):
.Nrc – System.Int32
.DProdus – System.String
.PretAchizitie – System.Decimal
.UM – System.String
.Cantitate – System.Decimal
.CotaTVA – System.Int32
.Valoare – System.Decimal (aceast a coloana are si formul a de calcul: PretAchizi-
tie*Cantitate)
.ValoareTVA – System.Decimal (formula de calcul: Valoare*CotaTVA/100)
.IdProdus – System.Int32
.IdAchizitieDetaliu – System.Int32
Majoritatea coloanelor se completeaz a automat din baza de date sau se completeaz a
automat prin formula de calcul dup a ce utilizatorul ^ si alege un produs. El nu poaate
s a modice ^ n comand a dec^ at cantitatea de produs pe care o dore ste.
Vizualizarea recept iilor
Schema logic a pentru vizualizarea recept iilor prezint a aspecte semnicative ^ n ve-
derea ^ nt elegerii utiliz arii sistemului.
Figura 3.16 : Schema logic a pentru fereastra de vizualizare a recept iilor
Prin schema abordat a se evident iaz a aspectele generale pentru visualizarea recept iilor
si a facturilor. Sistemul ofer a posibilitatea vizualiz ari tuturor recept iilor f acute pentru
o anumit a factur a, dar a seaz a si facturile recept ionate part ial sau nerecept ionate.
DataSet-ul ata sat acestei scheme are urm atoarea component a:
49
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
Figura 3.17 : DataSet-ul asociat ferestrei de vizualizare a recept iilor
Cele dou a obiecte TableAdapter FacturareAchizitie si FacturareAchizitieDetaliu
sunt componente ce se reg asesc si ^ n DataSet-ul pentru vizualizarea facturilor. Aceste
obiecte fac posibil a a sarea facturilor la modul general prin data ^ nregistr arii, denumi-
rea furnizorului si valoarea total a a facturii, dar si a sarea ^ n detaliu a ec arei factur a
prin component a acesteia.Interog arile folosite pentru a sarea facturilor sunt:
SELECT f.IdFacturareAchizitie, f.NrDocument, fact.DataDocument,
f.DataInregistrarii, f.IdFurnizor, Furnizor.DFurnizor,
SUM(fDet.Valoare) AS TotalValoare, SUM(fDet.ValoareTVA) AS TotalTVA
FROM Furnizor INNER JOIN
FacturareAchizitie AS f ON Furnizor.IdFurnizor =
f.IdFurnizor INNER JOIN FacturareAchizitieDetaliu AS fDet
ON f.IdFacturareAchizitie = fDet.IdFacturareAchizitie
GROUP BY f.IdFacturareAchizitie, f.NrDocument, f.DataDocument,
f.DataInregistrarii, f.IdFurnizor, Furnizor.DFurnizor
ORDER BY f.DataDocument DESC, f.NrDocument DESC
SELECT fDet.IdFacturareAchizitieDetaliu, fDet.Nrc, fDet.PretAchizitie,
fDet.Cantitate, fDet.CotaTVA,
fDet.Valoare, fDet.ValoareTVA, fDet.IdProdus, fDet.IdFacturareAchizitie,
Produs.DProdus, Produs.Um, Produs.Stocabil
FROM FacturareAchizitieDetaliu AS fDet INNER JOIN
Produs ON fDet.IdProdus = Produs.IdProdus
ORDER BY fDet.IdFacturareAchizitie, fDet.Nrc
Tabelele Receptie si ReceptieDetaiu sunt realizate pentru a a sa recept iile la modul ge-
neral reprezentate prin data recept iei, num arul documentului si pret ul total al recept iei,
50
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
dar si a sarea ^ n detaliu a ec arei recept ii.
SELECT SUM(r.Valoare) AS TotalValoare, SUM(r.ValoareTVA) AS TotalTVA,
Receptie.IdReceptie, Receptie.NrDocument, Receptie.DataDocument,
fDet.IdFacturareAchizitie
FROM Receptie INNER JOIN ReceptieDetaliu AS r ON Receptie.IdReceptie =
r.IdReceptie INNER JOIN FacturareAchizitieDetaliu AS fDet ON
r.IdFacturareAchizitieDetaliu = fDet.IdFacturareAchizitieDetaliu
GROUP BY Receptie.IdReceptie, Receptie.NrDocument,
Receptie.DataDocument, fDet.IdFacturareAchizitie
SELECT r.IdReceptie, r.Nrc, r.Cantitate, r.Valoare, r.ValoareTVA,
Produs.DProdus, Produs.Um, fDet.CotaTVA,
fDet.PretAchizitie, r.IdFacturareAchizitieDetaliu
FROM ReceptieDetaliu AS r INNER JOIN
FacturareAchizitieDetaliu AS fDet ON r.IdFacturareAchizitieDetaliu =
fDet.IdFacturareAchizitieDetaliu INNER JOIN
Produs ON fDet.IdProdus = Produs.IdProdus
DataSet-ul cuprinde un DataTable denumit Ramase ^ n care se a seaz a lista de produse
care nu au fost recept ionate din factura selectat a, incluz^ and toate specicat iile ec arui
produs. Structura coloanelor acestuia este urm atoarea (nume coloan a si tipul de date
asociat):
.IdFacturareAchizitie – System.Int32
.Nrc – System.Int32
.Dprodus – System.String
.PretAchizitie – System.Decimal
.UM – System.String
.Cantitate – System.Decimal
.Valoare – System.Decimal
.ValoareTVA – System.Decimal
.CotaTVA – System.Int32
.IdFacturareAchizitieDetaliu – System.Int32
Recept ia unei facturi
^In continuare, este prezentat a schema logic a a ferestrei pentru recept ia unei facturi.
Prin aceast a schem a sunt puse ^ n evident a opt iunile de care dispune utilizatorul ^ n
momentul recept iei.
Dup a vizualizarea facturilor, utilizatorul aplicat iei are posibilitatea de a recept iona
o factur a. ^In fereastra pentru recept ie de factur a este permis a modicarea datelor.
C^ ampul din tabel care poate modicat este cantitatea unui produs recept ionat;
aceast a cantitate poate mai mic a sau egal a cu cantitatea din factur a.
Pentru a ^ nchide aceast a fereastr a este pus a la dispozit ie opt iunea de conrmare, dar
51
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
Figura 3.18 : Schema logic a pentru fereastra recept ia unei facturi
si de renunt are. Astfel utilizatorul poate recept iona factura aleas a sau poate renunt a
la recept ia facturii selectate ^ n cazul ^ n care s-a produs o modicare nedorit a.
DataSet-ul acestei ferestre cont ine dou a obiecte TableAdapter, unul denumit Re-
ceptiiFacute si cel alalt ReceptieDetaliu.
Figura 3.19 : DataSet-ul pentru fereastra recept ia unei facturi
Recept ia unei facturi presupune detectarea facturii de recept ionat, a sarea datelor
din factur a si conrmarea recept iei. Prin DataSet-ul ferestrei de recept ie a unei facturi,
se subliniaz a faptul c a seste necesar a o referint a c atre factur a pentru a se putea realiza
recept ia. Leg atura ^ ntre factur a si repect ia acesteia este pus a ^ n evident a prin existent a
metodei parametrizate Fill.
Metoda Fill cont ine ^ n declarat ie un parametru marcat prin folosirea simbolului @,
care se modic a de ecare dat a c^ and este apelat a metoda si care realizeaz a transferul
52
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
unui parametru, ^ n cazul de prezent se trimite identicatorul unic al facturii pentru
care se realizeaz a recept ia.
Interogarea pentru realizarea obiectului TableAdapter ReceptieDetaliu are urm atoarea
structur a si realizeaz a dispunerea facturii pentru care s-a solicitat recept ia cu toate
informat iile necesare: denumire produs, cantitatea de recept ionat, unitatea de m asur a,
TVA-ul, pret ul de achizit ie al unui produs, valoarea total a a facturii cu si f ar a TVA.
SELECT fDet.IdFacturareAchizitieDetaliu, fDet.Nrc, fDet.PretAchizitie,
fDet.CotaTVA,fDet.Valoare, fDet.ValoareTVA,
fDet.IdFacturareAchizitie, fDet.IdProdus, Produs.DProdus,
Produs.Um, fDet.Cantitate, fDet.Cantitate AS CantMaxs
FROM FacturareAchizitieDetaliu AS fDet INNER JOIN
Produs ON fDet.IdProdus = Produs.IdProdus
WHERE (fDet.IdFacturareAchizitie = @Param1)
ORDER BY fDet.Nrc
Interogarea care furnizeaz a obiectul ReceptiiFacute se caracterizeaz a prin complexitate,
aceasta realizeaz a calculul recept iilor existente pentru o anumit a factur a specicat a.
Este o interogare parametrizat a si are urm atoarea sintax a:
SELECT fDet.IdFacturareAchizitieDetaliu, ReceptieDetaliu.Cantitate
FROM ReceptieDetaliu INNER JOIN FacturareAchizitieDetaliu AS fDet ON
ReceptieDetaliu.IdFacturareAchizitieDetaliu = fDet.IdFacturareAchizitieDetaliu
WHERE (fDet.IdFacturareAchizitie = @Param1)
Efectuarea unei Pl at i
Figura 3.20 : Schema logic a pentru fereastra efectuarea unei pl at i
Prin aceast a schem a logic a sunt evident iate act iunile de care dispune utilizatorul ^ n
momentul realiz arii unei pl at i. Dup a deschiderea ferestrei, prima opt iune este de a
53
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
alege un furnizor pentru a face posibil a plata. Urm atorul pas este de a alege lista de
facturi care urmeaz a a pl atite. Pentru ecare factur a, utilizatorul are posibilitatea de
a modica suma de plat a. ^Inchiderea acestei ferestre se realizeaz a prin dou a metode,
ori este efectuat a plata si se salveaz a facturile pl atite, ori se renunt a la efectuarea pl at ii.
Figura 3.21 : DataSet-ul asociat ferestrei Efectuarea unei pl at i
DataSet-ul asociat acestei ferestre ^ nglobeaz a trei obiecte de tip TableAdapter si un
obiect DataTable. TableAdapter-ul Furnizor este conceput pentru a permite vizualiza-
rea furnizorilor. Obiectul Datorii memoreaz a, dup a cum specic a si numele acestuia,
datoriile c atre ecare furnizor. Prin intermediul trezoreriei se realizeaz a schimbul mo-
netar.
Interog arile care au generat aceste obiecte din DataSet au urm atoarea structur a:
SELECT IdFurnizor, DFurnizor, CodFiscal, Localitate, Adresa
FROM Furnizor
ORDER BY DFurnizor;
SELECT Datorii.IdFacturareAchizitie, f.NrDocument, f.DataDocument,
SUM(Datorii.ValoareFactura) AS Valoare, SUM(Datorii.Platit) AS Platit,
0 AS Restant
FROM Datorii INNER JOIN FacturareAchizitie AS f ON
Datorii.IdFacturareAchizitie = f.IdFacturareAchizitie
GROUP BY Datorii.IdFacturareAchizitie, f.NrDocument, f.DataDocument
ORDER BY f.DataDocument, f.NrDocument;
SELECT IdTrezorerie, DTrezorerie, Cont, Moneda
FROM Trezorerie;
DataTable-ul Plata a fost realizat pentru a putea gestiona facturile ce urmeaz a a
54
Procesul de dezvoltare al aplicat iei Proiectarea Form-urilor si a DataSet-urilor
pl atite. Acesta are urm atoarea structur a (nume coloan a si tipul de date asociat):
.Nrc – System.Int32
.NrFactura – System.Int32
.DataFactura – System.DateTime
.Suma – System.Decimal
.IdFactura – System.Int32
.SumaMaxima – System.Decimal
55
Capitolul 4
Implementare
Implementarea aplicat iei Approvizinare s-a realizat ^ n mediul de dezvoltare inte-
grat Microsoft Visual Studio Community 2017, folosind limbajul de programare C#
si utiliz^ and Microsoft SQL Server pentru a memora baza de date necesar a stoc arii
informat iilor utilizate ^ n aplicat ie.
De ecare dat a cand se alege crearea unui program nou, se genereaz a automat clasa
Program.cs care cont ine o metoda, metoda main care lanseaz a in execut ie fereastra
principal a a aplicat iei.
Figura 4.1 : Fereastra pricnipal a
Aceast a fereastr a este format a din meniul principal, care este alc atuit din opt iuni ^ n
vererea realiz arii aprovizion arii si numele aplicat iei.
FacturareAct.cs reprezint a clasa asociat a form-ului FacturareAct care realizeaz a edita-
rea unei comenzi noi, salvarea acesteia si modicarea unei facturi.
56
Implementare Implementare
Figura 4.2 : FacturareAct.cs
Funct ia adaugaInregistrareComenzi() realizeaz a ad augarea unei ^ nregistr ari ^ n ta-
belul FacturareAchizitie din baza de date. Aceast a act iune se realizeaz a prin execut ia
interog arii din variabila cmd.CommandText. Informat iile care se introduc ^ n baza de
date sunt preluate din interfat a.
Variabilele con si cmd sunt variabile globale,con realizeaz a conexiunea cu baza de
date, iar prin intermediul variabilei cmd se transmit comenzi SQL prin care se obt in
informat ii din sursa de date. Aceste variabile se declar a ^ n felul urm ator:
private SqlConnection con = new SqlConnection();
private SqlCommand cmd = new SqlCommand();
57
Implementare Implementare
Figura 4.3 : Funct ia de ad augare a unei ^ nregistr ari ^ n comand a
Figura 4.4 : Facturare.cs
Facturare.cs este clasa pentru fereastra care a seaz a facturile^ nregistrate^ n sistem.
Prin intermediul acesteia, utilizatorul are posibilitatea de a ad auga o comand a nou a,
de a modica o factur a sau poate sterge o factur a.
Funct ia btnStergeFactura Click(object sender, EventArgs e) este apelat a prin ap asarea
butonului S terge factura din fereastra Facturare.cs. ^In aceast a funct ie sunt declarate
vaariabilele con si cmd pentru realizarea conexiunii cu baza de date si pentru a trimite
informat ii c atre aceasta.
cmd.ExecuteNonQuery();
Aceast a comand a este folosit a pentru a executa comanda SQL memorat a ^ n variabila
cmd. Funct iile Open() si Close() se apeleaz a pentru a deschide si a ^ nchide conexiunea
58
Implementare Implementare
Figura 4.5 : Funct a care realizeaz a stergerea unei facturi
cu baza de date.
Figura 4.6 : ReceptieAct.cs
ReceptieAct.cs este clasa prin care se efectueaz a recept ia unei facturi. Aceast a fereastr a
a seaz a o factur a selectat a de utilizator pentru a memora o recept ie si ofer a posibilitatea
modic arii unor cantit at i de recept ionat a unor produse.
Funct ia scadeReceptiiFacute() realizeaz a modicarea datelor din fereastr a dac a factura
selectat a de utilizator a suferit si alte recept ii anterioare, oferind spre vizualizare doar
produsele r amase de recept ionat.
Plata.cs reprezint a clasa ata sat a ferestrei prin care se efectueaz a o plat a, iar Pla-
59
Implementare Implementare
Figura 4.7 : Funct ia prin care se actualizeaz a o recept ie
taVizualizare.cs clasa pentru vizualizarea pl at ilor.
Figura 4.8 : Plata.cs si PlataVizualizare.cs
Funct ia facturiRestante() realizeaz a calculul facturilor pentru care nu s-a realizat plata
pentru a putea a sate ^ n fereastra cu efectuarea pl at ilor. Aceast a funct ie are nevoie
de variabilele con si cmd pentru a manipula datele din baza de date. Init ial se reali-
zeaz a conexiunea cu sursa de date prin intermediul variabilei con.ConnectionString.
Prima comand a SQL este de a sterge ^ nregistr arile din tabelul Datorii pentru a putea
introduce datoriile furnizorului selectat de utilizator prin a doua instruct iune SQL.
Ultima instruct iune SQL introduce ^ n tabelul Datorii suma achitat a c atre furnizorul
selectat.
Ultima linie de cod, apelarea metodei Fill s-a realizat pentru a expune modic arile rea-
lizate la nivelul bazei de date dup a ecare select ie de furnizor, aceast a metod a a seaz a
datoriile furnizorului selectat de utilizator.
60
Implementare Implementare
Figura 4.9 : Funct ie pentru calculul facturilor restante
Figura 4.10 : StocProduse.cs
StocProduse.cs reprezint a clasa cu ajutorul c areia se realizeaz a vizualizarea sto-
cului de produse la o anumit a dat a. Prin intermediul acestei clase se realizeaz a at^ at
calculul stocului c^ at si arhivarea stocului calculat.
Metoda adaugaStocCalculatInArhiva() realizeaz a ad augarea stocului de produse cal-
culat pentru o anumit a dat a calendaristic a ^ n arhiva acestora.
61
Implementare Implementare
Figura 4.11 : Metoda pentru ad augarea unei arhive
62
Capitolul 5
Concluzii
Lucrarea a prezentat proiectarea si implementarea aplicat iei Approvizionare care
urm are ste procesul de aprovizionare. Aplicat ia prezint a caracteristici comune altor
aplicat ii de aprovizionare, ea ind u sor de ^ nt eles si de utilizat. A fost implemen-
tat a cu ajutorul limbajului de programare C# si prin intermediul IDE Visual Studio
Community 2017.
Scopul principal al aplicat iei este s a faciliteze achizit ia de bunuri de la un fur-
nizor oferindu-i posibilitatea utilizatorului s a aleag a ce produse dore ste astfel ^ nc^ at
cheltuielile s a e c^ at mai mici.
Approvizionare este o aplicat ie destinat a rmelor care au nevoie s a se t in a la curent
cu nout at ile de pe piat a, s a vizualizeze ^ n permanent a ofertele furnizorilor si s a realizeze
comenzi de produse, av^ and principalul scop mic sorarea cheltuielilor si obt inerea unui
venit c^ at mai mare.
Principalele etape ale aplicat iei sunt:
1.Ofeta, unde utilizatorul poate compara ofertele de la toti furnizorii existent i ^ n
aplicat ie;
2.Comanda care ^ i ofer a utilizatorului posibilitatea de a lista produsele preferate si
de a le comanda de la furnizori;
3.Factura, care se realizeaz a odat a ce se ^ nregistreaz a o comand a;
4.Recept ia produselor, aplicat ia t ine evident a recept iilor f acute, ofer a posibilitatea
utilizatorului s a recept ioneze toat a comanda sau doar o parte din aceasta;
5.Efectuarea pl at ilor, de asemenea, aplicat ia t ine evident a pl at ilor efectuate de
companie;
6.Vizualizarea stocului de produse disponibil la o anumit a dat a;
7.Actualizarea resurselor disponibile in baza de date, produse, furnizori, unitate de
masur a, TVA si trezorerie.
63
Bibliograe
[1] Constantin G al at an, Susuna G al at an, Curs de C#: Programare ^ n Visual Studio
2008, Editura L&S Info-mat, Bucure sti, 2008;
[2] Ross Mistry, Misner Stacia, Introducing Microsoft SQL Server 2012,Microsoft
Press,Redmond, Washington,2012;
[3] Introducere ^ n limbajul C# si .NET Framework
(https://msdn.microsoft.com/en-us/library/z1zx9t92.aspx )
[4] Site-ul ocial bcAchizit ii
(http://www.bcmanager.ro/sites/default/les/bcAchizitii.pdf)
[5] Site-ul ocial Microsoft Dynamics NAV
(https://www.microsoft.com/en-us/dynamics365/nav-overview)
[6] Pas cu pas Microsoft Visual C#
(https://ptgmedia.pearsoncmg.com/images/9780735681835/samplepages/9780735681835.pdf)
[7] Site-ul ocial SeniorERP
(http://www.seniorerp.ro)
64
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Dezvoltarea unei aplicat ii pentru analiza [612118] (ID: 612118)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
