Aplicatie Multifir Pentru Gestionarea Activitatii Unei Firme DE Parking
APLICAȚIE MULTIFIR PENTRU GESTIONAREA
ACTIVITĂȚII UNEI FIRME DE PARKING
CUPRINS
Capitolul 1. INTRODUCERE
Scopul
Motivația
Capitolul 2. TEHNOLOGII UTILIZATE
PHP
HTML
JAVA SCRIPT
AJAX
CSS
MySQL
2.6.1Conectarea la baya de date
2.7 MVC
Capitolul 3. TESTARE
3.1Testarea unitara
3.2 Testarea integrarii
3.3 Testarea sistem
3.4 Testarea de acceptare
Capitolul 4. PREZENTAREA APLICAȚIEI
4.1 Parcări
4.2 Useri
4.3 Tichete
4.4 Abonamente
4.5 Cheltuieli
4.6 Salarii
4.7 Tarife
4.8 Statistici
Concluzii
Bibliografie
Referinte web
Capitolul 1
INTRODUCERE
Scopul
Această lucrare de licența urmareste dezvoltarea unei aplicatii care coordoneaza activitățile aferente unui software de management al unei firme pentru parking online.
Un Software de management al unei firme pentru parking este un ystem software (sau un set de aplicații software) care tine evidenta locurilor libere dintr-o parcare și tot ce tine de aceasta parcare(personal,cheltuieli pentru intreținere,taxe de parcare).
Aplicația trebuie să ruleze online și să poată realiza gestiunea veniturilor si cheltuielilor specifice pentru firma care le detine .
Aplicația dispune și de o interfata de administrare prin Internet care permite operații uzuale specifice administrării unei baze de date (adăugări, ștergeri, modificări).
Motivația
Principala motivație este aceea de a usura familiarizarea cu programarea folosind PHP, de a acumula experiență în dezvoltarea de produse software bazate pe această platformă și de a învăța cât mai multe aspecte noi legate de programare.
Capitolul 2
tEHNOLOGII UTILIZATE
PHP
Fig.1 PHP-WEB
PHP reprezinta un limbaj de programare ce permite modificarea paginilor web înainte ca acestea sa fie transmise de server catre browserele utilizatorilor.
PHP este un limbaj de programare ce ruleaza server, proiectat special pentru WEB.
Intr-o pagina HTML puteți ingloba cod PHP care va fi executat la fiecare vizitare a paginii.
Codul dumneavoastra PHP este interpretat pe serverul WEB și genereaza un cod HTML care va fi vazut de Utilizator (clientului (browserului) fiindu-i transmis numai cod interpretat ca și HTML).
PHP poate genera continut HTML pe baza unor fisiere existente sau pornind de la zero, poate sa afiseze o imagine sau orice alt continut accesibil prin web, sau sa redirecționeze utilizatorul catre alte pagini. In cadrul acestui proces, PHP poate consulta baze de date, fișiere externe sau alte resurse, poate trimite email-uri sau executa comenzi ale sistemului de operare. Întrucat procesarea se realizeaza la nivelul serverului web, înainte ca paginile web să ajungă în browser, PHP este considerat un limbaj de programare server-side.
Modul în care PHP generează continut pentru o pagină ce va fi afisata de browser este prin instrucțiunile delimitate de etichetele <?php si ?>. Astfel, orice se afla intre aceste tag-uri va fi considerat cod-sursa si va fi executat de interpretorul PHP și inlocuit cu rezultatul execuției. Ce este in afara tag-urilor ramane neschimbat și este transmis catre browser. Spre exemplu, avem o pagina ca mai jos.
<html>
<body>
Azi e <?php print date( 'd.m.Y' ); ?>
</body>
</html>
Rezultatul va fi o pagina HTML ce va contine cuvintele "Azi e" și rezultatul codului PHP (în cazul acesta – data curentă). Codul HTML final, transmis de server in urma procesarii PHP este urmatorul:
<html>
<body>
Azi e 03.06.2015
</body>
</html>
Codul PHP nu trebuie să fie neaparat intercalat in pagina HTML. Secventa de mai jos produce o pagina similara celei de mai sus (in acest caz PHP produce o pagina HTML de la zero).
<?php
print '<html><body>';
print 'Azi e' . date( 'd.m.Y' );
print '</body></html>';
?>
PHP este un limbaj de programare de tip interpretat. Asta inseamna ca fisierele ce contin cod-sursa PHP sunt interpretate ca atare in momentul execuției, de catre PHP. Asadar, pentru execuția unei portiuni de cod PHP este folosit codul-sursa asa cum a fost scris el, si nu este transformat intr-o forma intermediara (binara sau cod-masina) cum se intampla la Java sau C/C++. Acest lucru ofera flexibilitate, întrucat orice modificare a fișierelor sursa va fi aplicată imediat la urmatoarea execuție, fara alți pasi intermediari. Exista și dezavantaje la acest mod de lucru, cum ar fi timp mai mare de execuție a codului, dar în anumite situații avantajele pot cantari mai mult decât dezavantajele. Datorită faptului că limbajul este unul interpretat, PHP mai este numit și limbaj de scripting.
In sens mai larg, PHP este un limbaj de programare universal (sau general-purpose), oferind toate facilitățile oricarui limbaj avansat. Codul scris in PHP poate face aproape aceleasi lucruri ca un cod de C/C++ sau Java. Cu toate astea, PHP s-a impus in zona web, ca limbaj server-side, ce extinde funcționalitatea serverelor web. Din acest motiv programarea in PHP mai este denumita si programare web sau programare web server-side.
Declararea variabilelor
Variabilele sunt diferențiate de celelalte elemente ale limbajului prin caracterul $.
In PHP declararea variabilelor se realizează în același timp cu inițializarea lor (cu atribuirea unei valori de început). Atribuirea unei valori se realizează cu ajutorul instructiunii de atribuire ce are forma <nume variabila> = <valoare>;
// variabile numerice
$variabila = 1;
$numar = 0;
// variabile text (stringuri)
$text = "Salut";
$text2 = 'Ce faci?';
// variabile logice (boolean)
$stiuPHP = true;
$uitRepede = false;
// vector
$vectorGol = array();
$vectorS = array( 10,11,12,13 ); // vector simplu
// vector asociativ
$vector = array(
'luni' => 'Monday',
'marti' => 'Tuesday',
'miercuri' => 'Wednesday'
);
// definirea unei noi componente a unui vector asociativ
$vector[ 'joi' ] = 'Thursday';
// vector simplu definit ca asociativ, echivalentul lui $vectorS
$vectorS2 = array(
0 => 10,
1 => 11,
2 => 12,
3 => 13
);
$variabila = "negru";
$vaRiabilA = "alb";
$Variabila = 1;
Atribuirea de valori
Se realizeaza la fel ca si declararea prin intermediul instructiunii de atribuire.
# atribuirea unei valori anume
$variabila = 2;
# copierea valorii de la o alta variabila
$text = $variabila;
# copierea valorii functioneaza si in cazul vectorilor
# in urma copierii cei 2 vectori vor fi identici
$vectorS = $vectorS2; # toate componentele lui $vectorS2 sunt copiate in $vectorS
# in cazul vectorilor se pot atribui valori separat fiecarei componente
$vectorS[ 0 ] = 100;
$vectorS[ 3 ] = 10;
$vector[ 'luni' ] = 'Lundi';
$vector[ 'joi' ] = 'Jeudi';
Stergerea variabilelor
De obicei nu e nevoie ca variabilele să fie sterse dupa ce au fost folosite. Totuși, lucrul acesta se poate face in urmatoarele moduri:
unset( $variabila );
$variabila = null;
Afisarea variabilelor
Afisarea se realizeaza utilizand oricare din instructiunile de afisare:
$variabila = "Text";
$randNou = "<br>";
print $variabila;
print $randNou;
// echivalent cu cele doua instructiuni print
echo $variabila, $randNou;
$var1 = 123;
print "\n print_r: "; print_r($var1); // afiseaza 123
print "\n var_dump: "; var_dump($var1); // afiseaza int(123)
$var2 = "test";
print "\n print_r: "; print_r($var2); // afiseaza test
print "\n var_dump: "; var_dump($var2); // afiseaza string(4) "test"
$var3 = array('aaa', 'bbb', 'ccc');
print "\n print_r: "; print_r($var3); // afiseaza Array ( … )
print "\n var_dump: "; var_dump($var3); // afiseaza array(3) { … }
HTML
HTML este prescurtarea de la Hyper Text Mark-up Language și este codul care sta la baza paginilor web. Paginile HTML contin elemente (etichete) si au extensia .html sau .htm
Elemetele sunt incadrate de tag-uri. Tag-urile sunt simbolurile care marchează începutul și sfarșitul unui element. Tag-ul pentru început este < iar pentru sfarsit este >.
În marea lor majoritatea elementelor sunt pereche, una de deschidere <eticheta> și alta de închidere </eticheta>. Browserul interpreteaza aceste etichete afișând rezultatul pe ecran. HTML nu este un limbaj case sensitiv (nu face deosebirea intre litere mici si mari).
Pagina principala a unui domeniu este fisierul index.html. Aceasta pagina este setata a fi afisata automat la vizitarea unui domeniu.
HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe solide de HTML și este consumatoare de timp. Editoarele grafice cum ar fi Macromedia Dreamweaver sau Microsoft FrontPage permit ca paginile web să fie tratate asemănător cu documentele Word, dar cu observația că aceste programe generează un cod HTML care este de multe ori de proastă calitate.
HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum ar fi PHP, JSP sau ASP.
2.3 JAVA SCRIPT
JavaScript este un limbaj de programare care face posibil ca paginile web sa fie mai interactive. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea siturilor web, dar este folosit și pentru acesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript.
În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.
Este mai des recunoscut ca facand parte din categoria "Scripting Languages". A fost lansat sub numele de "LiveScript", schimbarea numelui in JavaScript fiind o chestie legata de strategia de marketing.
Scripturile Javascript sunt introduse in pagina HTML si sunt interpretate si executate de browser. Javascript poate fi considerat o unealtă foarte bună dacă doriti să controlați conținutul paginilor în functie de dată, oră, sistemul de operare sau browserul utilizatorilor, să faceti site-uri interactive, care sa comunice cu vizitatorii, site-uri dinamice, să validați datele primite din formulare, dar nu numai atat, acestea fiind doar cateva din posibilitatile pe care le ofera acest limbaj.
Dupa cum am spus mai sus, javascript poate fi introdus in interiorul paginilor html. Pentru a fi interpretat de catre browser trebuie să marcam codul astfel:
2.4 AJAX
Ajax este prescurtarea de la Asynchronous Javascript And XML dar cel mai simplu se poate numi ca fiind un "javascript cu steroizi". Un limbaj de programare destul de complicat pentru un programator începator. Ajax a fost facut in prejma lui 2005 popular de catre Google dar și alți mari webdeveloperi.
In principal Ajax nu este un limbaj de programare ci mai degraba un atu in realizarea unui website. Ajax face posibila comunicarea cu serverul fara a fi nevoie să incarce o noua pagina.
Este bine sa mentionam că nu toate browserele accepta acelasi cod javascript pentru a creea un obiect ajax dar îl vom face compatibil cu cele mai importante browsere folosite pe la noi și anume: Internet Explorer, Opera, Firefox,Safari.
AJAX reprezintă practic o grupare de tehnologii, gen JavaScript, XML, CSS, DOM, HTML și DHTML), încercă să remedieze această problemă, lăsând codul JavaScript să comunice direct cu serverul Web, prin utilizarea un obiect special JavaScript numit XMLHttpRequest (sau un ActiveXObject.Cu ajutorul acestui obiect, codul JavaScript poate trimite sau primi informații de la/spre server, fără a fi necesară reîncărcarea completă a paginii Web (printr-un eventual Reload), făcând astfel posibil un schimb bidirecțional, asincron, de date cu serverul (practic cu scripturi rulând server-side).
AJAX nu este o tehnologie în sine, ci mai mult o colecție de tehnologii grupate în jurul unui nucleu central fundamet special JavaScript numit XMLHttpRequest (sau un ActiveXObject.Cu ajutorul acestui obiect, codul JavaScript poate trimite sau primi informații de la/spre server, fără a fi necesară reîncărcarea completă a paginii Web (printr-un eventual Reload), făcând astfel posibil un schimb bidirecțional, asincron, de date cu serverul (practic cu scripturi rulând server-side).
AJAX nu este o tehnologie în sine, ci mai mult o colecție de tehnologii grupate în jurul unui nucleu central fundamentat pe JavaScript. Pot fi enumerate următoarele tehnologiile de bază implicate (mai mult sau mai puțin) în construcția unei aplicații AJAX:
HTML–folosit pentru construcția formularelor Web, ca elemente interactive de bază;
JavaScript–elementul central a unei aplicații AJAX, coordonând o comunicație asincronă între interfața client și nucleul aplicație rulând pe partea de server (nucleul AJAX, utilizând obiecte dedicate, fiind implementat în JavaScript);
DHTML(Dynamic HTML) permite o actualizare dinamică a paginii, punând la dispoziție elemente dinamice HTML gen DIV, SPAN lucrând integrat cu HTML;
DOM(Document Object Model) –utilizat (prin intermediul JavaScript) pentru a conlucra atât cu structura HTML (prin evenimente atașate), cât și (dacă este cazul) cu datele XML returnate de server;
XML(eXtensible Markup Language)-utilizat ca format pentru transferul datelor.
2.5 CSS
CSS – Cascading Style Sheets, sunt etichete folosite pentru formatarea paginilor web (de exemplu formatare text, background sau aranjare in pagina, etc.).
Un fisier CSS surprinde diferite stiluri de catre un browser web va ține cont de afisarea documentului.Legatura dintre documentul HTML si fisierul CSS se realizeaza cu ajutorul elementului HTML STYLE.Acest element este plasat in partea de HEAD a documentului HTML.
Fiercare regula este alcatuita dintr–un selector (de obicei un element HTML)si stilul care va fi aplicat selectorului.
Exista numeroase proprieteti care pot fi aplicate unui element.Fiecare proprietete are o anumita valoare .Valoarea impreuna cu proprietatea descriu cum ar trebui sa fie prezentat selectorul.
Sintaxa este: selector{proprietete :valoare}
Daca pentru un singur selector vrem sa declaram mai multe stiluri vom folosi sintaxa urmatoare:
selector{proprietate1:valoare1;proprietate2:valoare2}
Beneficiile sintaxei CSS sunt:
formatarea este introdusa într-un singur loc pentru tot documentul
editarea rapida a etichetelor
datorită introducerii într-un singur loc a etichetelor se obtine o micsorare a codului paginii, implicit incarcarea mai rapida a acesteia
Sintaxa CSS este structurată pe trei nivele:
Nivelul 1: proprietatile etichetelor din documentul HTML, tip inline
Nivelul 2 este informatia introdusa in blocul HEAD, tip embedded
Nivelul 3 este reprezentat de comenzile aflate in pagini separate, tip externe
Folosirea unui fisier extern sau nivel 3 care să contina comenzi CSS este foarte practic deoarece poate fi utilizat in mai multe situatii (mai multe fisiere HTML pot folosi acelasi fisier extern CSS) eliminand timpul necesar introducerii codului corespunzator în fiecare pagina și totodata editarea lor într-un singur loc pentru mai multe fisiere.
Legatura paginilor HTML cu fisierele extene CSS se face prin introducerea urmatoarei linii:
<link rel="stylesheet" type="text/css" href="fisier_css.css">
Comenzile de nivel 2 sau embedded sunt cele găzduite oriunde între perechea de etichete <head> si </head> conform sintaxei:
<style type="text/css">
<!–
… comenzi CSS …
–>
</style>
Unde style -specifica unde începe și unde se termină blocul CSS iar type este folosit pentru a ascunde de browserele vechi, care nu cunosc sintaxa CSS, continutul blocului style.
Comenzile CSS de nivel 1 sau inline sunt cele mai folosite, ele suprascriind orice alte comenzi CSS. Sunt amplasate in interiorul etichetelor HTML aflate in zona BODY si au sintaxa:
<eticheta style="codul CSS dorit">
…textul sau obiectul asupra caruia este aplicat codul CSS…
</eticheta>
2.6 MYSQL – My Structured Query Language
Fig.2 MySQL-Server-PHP-Web
MySQL este un sistem de gestiune a bazelor de date, foarte rapid și robust.O baza de date va permite să stocați, să cautați, să sortați și să vă regasiți datele în mod eficient.
Serverul MySQL controleaza accesul la datele dumneavoastra pentru a garanta că mai multi utilizatori pot lucra simultan cu acestea.
Deci, MySQL este un server multi-user (mai multi utilizatori) si multi-thread (mai multe fire de executie).
MySQL este disponibil în mod public din 1996, dar istoria dezvoltarii sale începe in 1979. A castigat de mai multe ori Linux Journal Readers` Choice Award (Premiul cititorilor).
Administrarea MySQL se poate face din linie de comanda sau folosind browserul și accesand aplicația numită PHPMyAdmin scrisă in PHP.
2.6.1 Conectarea la baza de date
De cate ori vom lucra cu MySQL va trebui sa ne conectam la baza de date folosind o anume sintaxa. Vom salva aceasta secventa de cod cu numele conexiune.php putand fi folosita ulterior in mai multe scripturi utilizand functia include().
/* urmeaza fiesierul conexiune.php */
<?php
$hostname="localhost";
$username="root";
$password="pass";
$database="test";
$conexiune=mysql_connect($hostname,$username,$password)
or die ("Nu ma pot conecta la baza de date");
$bazadate=mysql_select_db($database,$conexiune)
or die ("Nu gasesc baza de date");
?>
mysql_connect() este functia prin care ne conectam la baza de date cu urmatorii paramatrii: numele serverului, nume utilizator si parola pentru conectarea la baza de date.
Variabila $conexiune va avea o valoarea TRUE sau FALSE functie de rezultatul conectarii la serverul MySQL folosind functia mysql_connect(), iar in cazul esuarii va afisa mesajul continut de constructia die().
mysql_select_db este functia care stabileste baza de date la care ne vom conecta, avand ca parametrii numele bazei de date si identificatorul de acces la conexiunea catre serverul MySQL.
In mod similar variabila $bazadate folosind functia mysql_select_db va afisa in cazul negasirii bazei de date mesajul continut de die.
Puteti modifica variabilele din fisierul conexiune.php in functie de configurarile propriei baze de date:
$hostname=adresa serverului, de cele mai multe ori este localhost dar pentru siguranta intrebati administratorul serverului
$username=username-ul de conectare la baza de date
$password= parola de conectare la baza de date
$database=numele bazei de date
Dupa ce operatiile dorite au fost executate cu baza de date va trebui sa inchidem conexiunea folosind functia mysql_close() avand ca argument datele de acces la serverul MySQL.
mysql_close($conexiune);
Anterior am salvat intr-un fisier php numele utilizator si parola care poate parea un lucru riscant. Codul php este interpretat de server si doar rezultatul este afisat, deci datele continute nu vor fi afisate in browser vizitatorului.
Cele mai uzuale operatii cu bazele de date sunt:
Pentru a stoca informatii în MySQL, este nevoie de o baza de date.
Comanda CREATE DATABASE este folosită pentru a crea o baza de date în MySQL.
mysql> CREATE DATABASE database_name;
Pentru selectarea unei baze de date se foloseste instructiunea use urmată de numele bazei de date respective.
mysql>USE database_nume;
Creare tabel in MySQL
Tabelele sunt elementele care stocheaza datele in baza de date.
Pentru a crea un tabel în MySQL, se foloseste comanda CREATE TABLE.
mysql> CREATE TABLE nume_tabe(
mysql>nume_col1 tip atribute,
mysql>nume_col2 tip atribute,
mysql>primary_key(nume_col1)
mysql>);
Atributele câmpurilor unui tabel
NOT NULL – Fiecare rand trebuie să contina o valoare în acea coloana, valorile null nu sunt permise.
DEFAULT value – Setează o valoare initială care este adaugată cand nici o alta valoare nu este transferată
UNSIGNED – Poate fi folosit pentru numere, seteaza să fie folosite doar numere pozitive si zero.
AUTO INCREMENT – MySQL va mari automat valoarea din randul urmator cu 1 de fiecare data cand o noua înregistrare este adaugată.
PRIMARY KEY – Este folosit pentru a identifica unic randurile dintr-un tabel. Coloana cu setarea PRIMARY KEY este de obicei un ID numeric, și în general folosită cu AUTO_INCREMENT
Fiecare tabel ar trebui să aibă o coloana primary key. Valoarea ei trebuie să fie unica pentru fiecare înregistrare din tabel.
Comanda INSERT permite inserarea de noi inregistrari intr-un table.
mysql>INSERT INTO nume_tabel (coloana_1, coloana_2,…, coloana_n) values ('valoare_1','valoare_2',…,'valoare_n');
Cea mai utilizată comanda SQL este comanda SELECT.Aceasta comandă permite atat regasirea datelor ,cat si vizualizarea datelor din table.
mysql>SELECT * from nume_tabel;
Pentru a modifica înregistrarile dintr-o tabela se utilizează comanda UPDATE.
mysql>UPDATE nume_tabel set col1=val1,col2=val2 where col1=value;
Pentru a sterge înregistrarile dintr-un tabel se utilizeaza comanda DELETE.
mysql>DELETE from nume_tabel;
Pentru distrugerea întregii baze de date sau suprimarea unui tabel din baza de date se foloseste comanda DROP.
mysql>drop database nume_bază;
mysql>drop table nume_tabel;
2.7 MVC – Model View Controller
MVC este o arhitectură care se învarte exact în jurul acestei idei. Aplicatia noastra va fi impartiă în mai multe sectiuni, carora le vor corespunde cate două clase. MVC vine de la Model View Controller, reprezentând cele trei componente principale ale unei aplicatii.
Cele trei componete sunt:
model:datele cu care lucreaza aplicatia
view:prezentarea datelor catre utilizator ,de obicei în forma unei interfete grafice –pot exista mai multe view-uri associate cu un același model.
controller:captează și procesează acțiunile utilizatorului.
Fig.3 Schema cenceptuala a modelului
-Liniile punctate arată legăturile indirecte
Modelul reprezintă partea de hard-programming, logică aplicatiei. El este responsabil de actiuni precum operatiile asupra datelor, integrarea cu baza de date, autentificarea userilor etc. Modelul reprezintă astfel o colecție de clase ce vor îndeplini anumite functii, fară legatură cu acțiunile userului. Ele vor fi baza pentru orice funcție pe care va trebui să o îndeplineasca siteul.
View-ul se ocupa de afisarea datelor. O data ce funcțile sunt executate de model, viewului îi sunt oferite rezultatele, iar acesta le va trimite către browser. Viewul va folosi deci anumite templateuri, în funcție de setarile oferite de model.
Controller-ul este legatura între model și view, între logica aplicației și acțiunile userului. În functie de cerintele userului, controllerul va executa o anumita functie definită special pentru secțiunea de site în care se afla userul. Funcția va folosi modelul pentru a prelucra datele și va trimite rezultatele catre view, care îsi va afisa apoi templateurile.
Capitolul 3
TESTARE
Un test const n execuia programului pentru un set de date de intrare convenabil ales, pentru a verifica dac rezultatul obinut este corect.
Testarea este activitatea de concepie a cazurilor de test, de execuie a testelor i de evaluare a rezultatelor testelor, n diferite etape ale ciclului de via al programelor.
Tehnicile de testare sunt mult mai costisitoare decât metodele statice (inspectrile i demonstrrile de corectitudine), de aceea n prezent se apreciaz c tehnicile statice pot fi folosite pentru a le completa pe cele dinamice, obinndu-se astfel o reducere a costului total al procesului de verificare i validare.
3.1Testarea unitara
Testarea unui modul este realizat de programatorul care implementeaz modulul. Toate celelalte teste sunt efectuate, n general, de persoane care nu au participat la dezvoltarea programului.
Scopul testarii unui modul este de a se stabili că modulul este o implementare corecta a specificatiei sale (conforma cu specificatia sa). Specificația poate fi neformală sau formală. De exemplu:
– o specificaie de pre i post condiii pentru o funcie sau procedur;
– un invariant al clasei, care specific mulimea strilor posibile ale fiecrui obiect din clasa respectiv, mpreun cu specificaii de pre i post condiii la nivelul funciilor membru;
– o specificaie algebric a clasei;
În cursul testarii unui modul, modulul este tratat că o entitate independent, care nu necesit prezena altor componente ale programului. Testarea izolat a unui modul ridic dou probleme:
simularea modulelor apelate de cel testat;
simularea modulelor apelante.
3.2 Testarea integrarii
Sunt dedicate verificrii interaciunilor dintre module, grupuri de module, subsisteme, pn la nivel de sistem. Exist mai multe metode de realizare a testelor de integrare.
Testele de integrare presupun, ca i testele unitare, realizarea de module "ciot" i module "driver". Numrul de module "driver" i de module "ciot" necesare n testele de integrare depinde de ordinea n care sunt testate modulele (metoda de integrare). Testele de integrare necesit de asemenea instrumente de gestiune a versiunilor i a configuraiilor.
3.3 Testarea de sistem
Acestea sunt teste ale sistemului de programe i echipamente complet. Sistemul este instalat i apoi testat n mediul su real de funcionare. Sunt teste de conformitate cu specificaia cerintelor de sistem (software) :
teste functionale, prin care se verifica satisfacerea cerintelor functionale
teste prin care se verifica satisfacerea cerintelor ne-functionale :
de performan,
de fiabilitate,
de securitate, etc.
Adesea, testele de sistem ocup cel mai mult timp din ntreaga perioad de testare.
3.4 Testarea de acceptare (validare)
Sunt teste de conformitate cu produsul solicitat, conform contractului cu clientul (Specificatia cerintelor utilizatorilor). Aceste teste sunt uneori conduse de client.
Pentru unele produse software, testarea de acceptare are loc n dou etape:
1.Testarea alfa: se efectueaz folosindu-se specificaia cerinelor utilizatorilor, pân cnd cele dou pri cad de acord c programul este o reprezentare satisfctoare a cerinelor.
2.Testarea beta: programul este distribuit unor utilizatori selecionai, realizndu-se astfel testarea lui n condiii reale de utilizare.
Cerințe Funcționale
Modelul Entitate-Relatie
Entitatea este un obiect (fizic sau abstract) care poate fi identificat ca distinct. Entitățile pot fi clasificate în entități obișnuite și entități slabe. Entitatea slabă este cea a cărei existență depinde de o altă entitate, în sensul că nu poate exista daca nu există și acea entitate. Spre deosebire de aceasta, entitatea obișnuită poate exista de sine stătător.
Entitățile, ca și unele corelații dintre entități, au atribute (proprietăți). Atributele sunt informații care descriu entitățile (corelațiile). Toate entitățile sau corelațiile de un anumit tip au în comun anumite proprietăți (atribute) .
Corelația reprezintă o asociație (legătură) între entități.
Diferite tipuri de corelații (legături)
1. Corelație de tip unu-la-unu (1:1) – Unui element (instanță) al unui tip de entitate E1 îi corespunde cel mult un element de tipul de entitate E2 și reciproc, unui element de tipul E2 îi corespunde cel mult un element de tipul de entitateE1.
2. Corelație de tip unu-multi (1:m) – Unui element al unui tip de entitate E1 îi sunt asociate zero, unul sau mai multe elemente de tipul de entitate E2 iar unui element de tipul de entitate E2 îi corespunde cel mult un element de tipul de entitate E1.
3. Corelație de tip multi- multi (m:m) – Unui element al unui tip de entitate E1 îi sunt asociate zero, unul sau mai multe elemente de tipul de entitate E2 și reciproc, unui element de tipul E2 îi sunt asociate zero, unul sau mai multe elemente de tipul de entitate E1.
Baza de date MySql are 11 tabele:
parcări
users
tarife
tichete
cheltuieli
abonamente
salarii
ci_sessions
user_autologin
user_profiles
login_attempts
MODELUL RELATIONAL AL BAZEI DE DATE
Capitolul 5
PREZENTAREA APLICAȚIEI
Această aplicație este dezvoltată in PHP cu baze de date MySQL, iar interfata grafica este realizata in HTML5 , CSS3 si JavaScript.
Accesul se face prin intermediul unei panel dedicat pe baza introducerii unui e-mail și a unei parole valide.
5.1 APLICAȚIA MELON
Interfata de gestiune are opt categorii principale:
1.Parcari
2.Useri
3.Salarii
4.Tichete
5.Tarife
6.Abonamente
7.Cheltuieli
8.Statistici
1 PARCĂRI
Categoria parcări cuprinde urmatoarele operații:
Adaugare
Vizualizare
Editare
Stergere
ADAUGĂ PARCARE
Pentru agăugarea unei parcari trebuie completate urmatoarele campuri:
Nume(nume parcare)
Locuri totale
Locuri ocupate
Nivele
Program(program parcare)
Adresa(adresa parcare)
Vizualizează
EDITEAZĂ PARCARE
Această optiune permite editarea parcării aferente.
STERGE PARCARE
Este operatia prin care se sterge parcarea.
2 TICHETE
Categoria Tichete cuprinde urmatoarele operatii:
Adăugare
Editare
Stergere
Adăugare tichete
Pentru adăugarea unui tichet trebuie completate urmatoarele campuri:
Parcare(nume parcare)
Data eliberare
Tarif(nume tarif)
Durată taxare
Numar inmatriculare
EDITEAZA TICHET
Această operație permite editarea tichetului aferent.
STERGE TICHET
Este operația prin care se sterge tichetul.
3 ABONAMENTE
Categoria abonamente cuprinde urmatoarele operatii:
Adăugare
Editare
Stergere
ADĂUGARE ABONAMENT
Pentru adăugarea unui abonament trebuie completate urmatoarele campuri:
Parcare(nume parcare)
Angajat(numele si prenumele angajatului)
Data expirare
Tarif
CNP abonat(codul numeric personal al abonatului)
EDITEAZA ABONAMENT
Această operație permite editarea abonamentului aferent.
STERGE ABONAMENT
Este operația prin care se sterge abonamentul.
4 CHELTUIELI
Categoria cheltuieli cuprinde urmatoarele operații:
Adăugare
Editare
Stergere
Pentru adăugarea unei cheltuieli trebuie completate urmatoarele campuri:
Parcare(nume parcare)
Tip cheltuiala
Factura/Garanție
EDITEAZĂ CHELTUIALĂ
Această operație permite editarea cheltuieli aferente.
STERGERE CHELTUIALĂ
Este operația prin care se sterge cheltuiala.
SALARII
Categoria salarii cuprinde urmatoarele opertaii:
Adăugare
Editare
Stergere
ADAUGA SALARIU
Pentru adăugarea unui salariu trebuie completete urmatoarele câmpuri:
Angajat(numele si prenume angajatului)
Perioada inceput
Perioada sfârsit
Suma achitată
EDITEAZĂ SALARIU
Această operație permite editarea salariului aferent.
STERGERE SALARIU
Este operația prin care se sterge salariul.
TARIFE
Categoria salarii cuprinde urmatoarele operatii:
Adăugare
Editare
Stergere
ADĂUGARE TARIFE
Pentru adăugarea unui tarif trebuie completate urmatoarele câmpuri:
Valoare tarif
Nume tarif
EDITEAZĂ TARIF
Această operație permite editarea tarifului aferent.
STERGERE TARIF
Este operația prin care se sterge tariful.
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: Aplicatie Multifir Pentru Gestionarea Activitatii Unei Firme DE Parking (ID: 149454)
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.
