Universitatea Spiru haret
Facultatea de matematica-Informatica
Centrul Universitar
INITIERE IN INGINERIA SISTEMELOR
SOFT
Realizarea unui sistem soft care sa tina evidenta servicilor prestate de o firma de amenajari interioare, precum si o evidenta a clientilor acestei firme.
Cerintele sistemului soft 3
Proiectarea sistemului soft 4
Crearea tabelelor............ 4
Crearea Diagramei ER..... 23423m1223x ..... 4
Popularea cu date a tabelelor...... 5
Crearea interogarilor (Queries)..... 7
Crearea rapoartelor......... 9
Constructia interfetei sistemului soft.... ..
Formularul de Adaugare Inregistrari.... 10
Formularul Cautare inregistrari... . 11
Formularul Raportare........ 12
Cerintele sistemului soft
Sistemul soft are ca scop urmatoarele:
adaugarea in baza de date a clientilor noi;
adaugarea in baza de date a unor noi tipuri de servicii;
inregistrarea in baza de date a comenzilor primite din partea clientilor;
posibilitatea de cautare a inregistrarilor necesare aflarii: clientilor carora se presteaza serviciul, tipul de serviciu prestat unui client, durata si data executiei, lista clicntilor societatii;
sa permita aflarea la un moment dat a tuturor clientilor, a tuturor tipurilor de serviciii pe care firma le poate presta, a angajatilor specializati in prestarea unui anumit tip de serviciu, si bineinteles raportul serviciilor prestate.
Proiectarea sistemului soft
Crearea tabelelor
Proiectarea bazei de date s-a realizat folosindu-se aplicatia MS Access din cadrul suitei Microsoft Office.
Din meniul FILE al programului Microsoft ACCESS s-a selectat optiunea NEW si apoi BLANK DATA BASE. S-a salvat apoi sub forma unui fisier cu numele Proiect1.mdb. Apoi s-a deschis baza de date, s-a ales optiunea Table si s-au creat un numar de 4 tabele: Clienti, Executant, Prestare si Servicii.
Numele tabelei |
Campuri de date |
Reguli speciale |
Clienti |
Cod client Denumire client Adresa client Telefon client |
Cheie primara |
Executant |
Cod executant Nume executant |
Cheie primara |
Servicii |
Cod serviciu Denumire serviciu Cost serviciu Timp de executie |
Cheie primara |
Prestare |
Cod client Cod serviciu Cod executant Data prestare serviciu |
Cheie secundara Cheie secundara Cheie secundara |
Crearea Diagramei ER
Dat fiind faptul ca in tabela Prestare primele trei campuri sunt chei primare
in celelalte trei tabele, ele devin chei secundare pentru cea de-a patra. In acest caz intre cele patru tabele s-au creat relatii de dependenta intre ele.
Diagrama ER (a relatiilor intre tabele) intre tabele este urmatoarea:
Popularea cu date a tabelelor
Pasul urmator dupa crearea sistemului soft a fost popularea tabelelor cu date si testarea functionalitatii dupa cerintele clientului final al sistemului proiectat.
Pentru a facilita accesul la introducerea datelor in tabele, si respectiv in baza de date, s-au creat formulare prin utilizarea optiunii Form din meniul Object, cu ajutorul comenzii Create form using Wizard.
Astfel introducerea de clienti in tabela Clienti este facilitata de urmatorul formular:
Prin aceeasi modalitate s-au realizat si formularele aferente tabelelor: Prestare si Servicii.
Tabela Clienti populata arata in felul urmator:
Tabela Executanti:
Tabela Servicii:
Tabela Prestari:
Crearea interogarilor (Queries)
Dupa popularea tabelelor s-a trecut la crearea interogarilor pe tabelele create (Queries).
Crearea lor s-a facut astfel: din meniul Object s-a selectat submeniul Queries, si de aici optiunea Create with Design View
S-au format astfel 6 cereri, total diferite una fata de cealalta, fiecare avand functionalitatea ei, dupa cum urmeaza:
Spre exemplu cererea numarul 1, adica Query1, s-a realizat astfel:
S-a stabilit relatia de dependenta intre tabelele alese.
S-a definit prin intermediul comenzilor SQL, criteriul necesar pentru realizarea interogarii:
La deschiderea Query1, se afiseaza urmatoarea fereastra:
In care se cere introducerea numelui clientului caruia i s-au prestat serviciile. La introducerea numelui de METEX (spre exemplu), se afiseaza urmatoarele date:
Acelasi procedeu a dus si la crearea celorlalte interogari.
Crearea rapoartelor
Ultima cerinta, aceea de a afisa rapoartele cu datele complete din baza de date, s-a realizat folosindu-se obiectul Reports din aplicatia MS ACCESS.
Constructia interfetei sistemului soft
Pasul final a foat acela de legare a acesti baze de date, a tabelelor, interogarilor si rapoartelor create anterior, la o interfata prietenoasa, interfata care sa permita utilizatorului interactiunea cu baza de date intr-un mod simplu.
Acest lucru s-a putut realiza prin intermediul obiectului Forms din Access, atasandu-se pe formularul creat butoane si asignandu-se acestora actiuni corespunzatoare.
Formularul principal, cel de inceput al programului, este :
Codul sursa ce a fost folosit :
Option Compare Database
Private Sub Command0_Click()
On Error GoTo Err_Command0_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Adaugare inregistrari"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command0_Click:
Exit Sub
Err_Command0_Click:
MsgBox Err.Description
Resume Exit_Command0_Click
End Sub
Private Sub Command1_Click()
On Error GoTo Err_Command1_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Cautare inregistrari"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command1_Click:
Exit Sub
Err_Command1_Click:
MsgBox Err.Description
Resume Exit_Command1_Click
End Sub
Private Sub Command2_Click()
On Error GoTo Err_Command2_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Raportare"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command2_Click:
Exit Sub
Err_Command2_Click:
MsgBox Err.Description
Resume Exit_Command2_Click
End Sub
Private Sub Command3_Click()
On Error GoTo Err_Command3_Click
DoCmd.Close
Exit_Command3_Click:
Exit Sub
Err_Command3_Click:
MsgBox Err.Description
Resume Exit_Command3_Click
End Sub
Formularele ce se pot accesa pornind de aici, si care reprezinta de fapt o grupare a actiunilor ce se pot executa asupra bazei de date, sunt detaliate in cele ce urmeaza.
Formularul de Adaugare Inregistrari
Prin intermediul acetui formular, operatorii sistemului soft au posibilitatea
de a adauga inregistrari in baza de date, respectiv in tabelele ce o alcatuiesc :
adaugare inregistrare in tabela Clienti
adaugare inregistrare in tabela Prestare
adaugare inregistrare in tabela Servicii
Deasemeni exista pe pagina un buton prin intermediul caruia se poate
reveni la pagina initiala a sistemului soft creat.
Codul sursa ce a fost folosit :
Option Compare Database
Private Sub adinreg_clienti_Click()
On Error GoTo Err_adinreg_clienti_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "clienti"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_adinreg_clienti_Click:
Exit Sub
Err_adinreg_clienti_Click:
MsgBox Err.Description
Resume Exit_adinreg_clienti_Click
End Sub
Private Sub adinreg_prestare_Click()
On Error GoTo Err_adinreg_prestare_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "prestare"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_adinreg_prestare_Click:
Exit Sub
Err_adinreg_prestare_Click:
MsgBox Err.Description
Resume Exit_adinreg_prestare_Click
End Sub
Private Sub adinreg_servicii_Click()
On Error GoTo Err_adinreg_servicii_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "servicii"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_adinreg_servicii_Click:
Exit Sub
Err_adinreg_servicii_Click:
MsgBox Err.Description
Resume Exit_adinreg_servicii_Click
End Sub
Private Sub close_adinreg_Click()
On Error GoTo Err_close_adinreg_Click
DoCmd.close;
Exit_close_adinreg_Click:
Exit Sub
Err_close_adinreg_Click:
MsgBox Err.Description
Resume Exit_close_adinreg_Click
End Sub
Private Sub adinreg_close_Click()
On Error GoTo Err_adinreg_close_Click
DoCmd.Close
Exit_adinreg_close_Click:
Exit Sub
Err_adinreg_close_Click:
MsgBox Err.Description
Resume Exit_adinreg_close_Click
End Sub
Formularul Cautare inregistrari
Ca de altfel in orice activitate, si in cazul firmei de fata exista necesitatea de a
se cauta anumite inregistrari in baza de date existenta. Acestea ajuta la usurarea coordonarii activitatii.
Pe pagina curenta a programului, cea de Cautare inregistrari, se pot realiza urmatoarele interogari:
se pot afisa serviciile prestate unei anumite firme
se pot afla serviciile prestate intr-o anumita data
se poate afisa lista firmelor dintr-o anumita localitate
se poate afisa o lista cu valorea serviciilor
se pot afisa serviciile prestate de un anumit expert
se poate afisa o lista cu durata de executie a serviciilor
Codul sursa ce a fost folosit :
Option Compare Database
Private Sub view_q1_Click()
On Error GoTo Err_view_q1_Click
Dim stDocName As String
stDocName = "Query1"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_view_q1_Click:
Exit Sub
Err_view_q1_Click:
MsgBox Err.Description
Resume Exit_view_q1_Click
End Sub
Private Sub view_q2_Click()
On Error GoTo Err_view_q2_Click
Dim stDocName As String
stDocName = "Query2"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_view_q2_Click:
Exit Sub
Err_view_q2_Click:
MsgBox Err.Description
Resume Exit_view_q2_Click
End Sub
Private Sub view_q3_Click()
On Error GoTo Err_view_q3_Click
Dim stDocName As String
stDocName = "Query3"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_view_q3_Click:
Exit Sub
Err_view_q3_Click:
MsgBox Err.Description
Resume Exit_view_q3_Click
End Sub
Private Sub view_q4_Click()
On Error GoTo Err_view_q4_Click
Dim stDocName As String
stDocName = "Query4"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_view_q4_Click:
Exit Sub
Err_view_q4_Click:
MsgBox Err.Description
Resume Exit_view_q4_Click
End Sub
Private Sub view_q5_Click()
On Error GoTo Err_view_q5_Click
Dim stDocName As String
stDocName = "Query5"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_view_q5_Click:
Exit Sub
Err_view_q5_Click:
MsgBox Err.Description
Resume Exit_view_q5_Click
End Sub
Private Sub view_q6_Click()
On Error GoTo Err_view_q6_Click
Dim stDocName As String
stDocName = "Query6"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_view_q6_Click:
Exit Sub
Err_view_q6_Click:
MsgBox Err.Description
Resume Exit_view_q6_Click
End Sub
Private Sub view_inreg_close_Click()
On Error GoTo Err_view_inreg_close_Click
DoCmd.Close
Exit_view_inreg_close_Click:
Exit Sub
Err_view_inreg_close_Click:
MsgBox Err.Description
Resume Exit_view_inreg_close_Click
End Sub
Formularul Raportare
De aici se pot afisa rapoarte complete cu privire la unele aspecte ce fac obiectul de
activitate al societatii, si anume, se pot afisa:
raportul complet al clientilor existenti in baza de date
raportul specialistilor ce pot executa lucrari
raportul complet al serviciilor prestate pe o anumita perioada
se poate lista raportul complet de servicii pe care le poate oferi societatea
Codul sursa ce a fost folosit :
Option Compare Database
Private Sub show_rap_clienti_Click()
On Error GoTo Err_show_rap_clienti_Click
Dim stDocName As String
stDocName = "clienti"
DoCmd.OpenReport stDocName, acPreview
Exit_show_rap_clienti_Click:
Exit Sub
Err_show_rap_clienti_Click:
MsgBox Err.Description
Resume Exit_show_rap_clienti_Click
End Sub
Private Sub show_rap_executanti_Click()
On Error GoTo Err_show_rap_executanti_Click
Dim stDocName As String
stDocName = "executant"
DoCmd.OpenReport stDocName, acPreview
Exit_show_rap_executanti_Click:
Exit Sub
Err_show_rap_executanti_Click:
MsgBox Err.Description
Resume Exit_show_rap_executanti_Click
End Sub
Private Sub show_rap_prestari_Click()
On Error GoTo Err_show_rap_prestari_Click
Dim stDocName As String
stDocName = "prestare"
DoCmd.OpenReport stDocName, acPreview
Exit_show_rap_prestari_Click:
Exit Sub
Err_show_rap_prestari_Click:
MsgBox Err.Description
Resume Exit_show_rap_prestari_Click
End Sub
Private Sub show_rap_servicii_Click()
On Error GoTo Err_show_rap_servicii_Click
Dim stDocName As String
stDocName = "servicii"
DoCmd.OpenReport stDocName, acPreview
Exit_show_rap_servicii_Click:
Exit Sub
Err_show_rap_servicii_Click:
MsgBox Err.Description
Resume Exit_show_rap_servicii_Click
End Sub
Private Sub Command4_Click()
On Error GoTo Err_Command4_Click
DoCmd.Close
Exit_Command4_Click:
Exit Sub
Err_Command4_Click:
MsgBox Err.Description
Resume Exit_Command4_Click
End Sub
Aprobarea proiectului
Sistemul soft in versiunea finala se ofera clientului pentru care s-a creat, acesta urmand sa faca toate verificarile de rigoare, sa verifice daca este realizat in perfecta concordanta cu specificatiile oferite dezvoltatorului.
In cazul in care se gasesc unele neajunsuri, neconcordante, ele se vor comunica dezvolatorului sistemului soft, iar firma poate decide daca va accepta ca acesta sa faca modificarile necesare sau sa renunte la proiectul dezvoltat, in favoarea altuia fara deficiente.
Petrus, P., Ed. Promedia-Plus, Cluj Napoca, 1998
Airinei, D., s.a., Medii de programare; Ed. Sedcom Libris, Iasi, 2002
Blattner, P., Ed.Teora, Bucuresti, 2002
Grama, A., Filip, M., Medii de programare în economie, Ed. Sedcom Libris, Iasi, 2000
Curteanu, S., Bujor, A., Introducere în utilizarea bazelor de date, Ed. Matrix Rom, Bucuresti, 2004
Connoloy, Th, Begg, C., Strachan, A., Baze de date. Proiectare. Implementare. Gestiune, Ed. Teora, Bucuresti, 2001
|