Magazin Online Pentru Distributie DE Carti

MAGAZIN ONLINE PENTRU DISTRIBUȚIE DE CĂRȚI

Cuprins

Capitolul 1. Introducere

Capitolul 2. Prezentarea tehnologiilor folosite

2.1. Descrierea platformei software utilizate

2.2. Despre Internet

2.3. Serverul Apache

2.4. Limbajul de programare PHP

2.5. SGBD-ul MySQL

2.6. Limbajul HTML

2.7. CSS (Cascading Style Sheets)

2.8. Macromedia Dreamweaver

2.9. Macromedia Fireworks

Capitolul 3. Soluția de informatizare propusă pentru noul sistem informatic

3.1. Baze de date – noțiuni

3.2. Relațiile dintre tabele

3.3. Lista aplicațiilor informatice pe domenii de activitate

3.4. Fișele descriptive ale platformei client – server

3.5. Arhitectura soluției

Capitolul 4. Proiectarea, realizarea și implementarea sistemului informatic

4.1. Obiective și activități

4.2. Structura sistemului informatic

4.3. Definirea și proiectarea ieșirilor informaționale

4.4. Proiectarea codurilor

4.5 Definirea și proiectarea intrărilor informaționale

Capitolul 5. Prezentarea produsului software, implementarea și exploatarea aplicației

5.1. Considerații generale

5.2. Descrierea funcțiunilor aplicației

5.3. Prezentarea aplicației

5.3.1. Tabelele – structura

5.3.2. Exemple de date

5.4. Manual de utilizare

5.5. Modul de Administrare

Concluzii

Bibliografie

Cărți

Website-uri

Capitolul 1. Introducere

Firma S.C. Magazin Carti S.R.L. este o firmă cunoscută în mediul bibliotecilor bucureștene și nu numai, ea având reprezentanțe în marilor orașe ale Romaniei.

Datorită dezvoltării Internetului și a importanței deosebite pe care acesta o are în prezent, aplicațiile virtuale au ajuns o necesitate pentru orice companie. Compania are ca obiectiv oferirea de carti si isi propune realizarea unui magazin virtual cu ajutorul carora sa vanda aceste produse.

Scopul lucrării este prezentarea pasilor necesari pentru dezvoltarea unei aplicatii pentru gestionarea cărților.

Aplicatia va permite introducerea de date necesare fiecarei carti, categorii, edituri, precum si evidentierea anumitor rapoarte.

Proiectul cuprinde toti pașii necesari (proiectare, realizare, punere in functiune), precum si date despre tehnologiile folosite.

Capitolul 2. Prezentarea tehnologiilor folosite

2.1. Descrierea platformei software utilizate

Website-ul este realizat folosind limbajele HTML și PHP și o bază de date MySQL, care este instalată pe un server Apache. Pentru aspect este folosită tehnologia CSS (Cascade Style Sheet). Harta României și prezentarea tehnologiilor utilizate pentru realizarea website-ului au fost realizate cu ajutorul produsului Macromedia Flash, iar pentru validarea unor forme a fost folosit limbajul JavaScript.

Aceste tehnologii au avantajul că sunt ușor de utilizat și gestionat, respectiv sunt majoritatea gratuite și, astfel, nu necesită un cost suplimentar pentru achiziționarea de licențe din partea companiei producătoare.

2.2. Despre Internet

Internet-ul este o grupare de diverse rețele; ARPANET (Advanced Research Projects Agency Network) a fost prima rețea experimentală WAN (Wide Area Network). ARPANET a fost înființată în 1969; acest Packet Switched Network experimental folosea Network Control Protocol (NCP). NCP a fost protocolul oficial al Internet-ului din 1970 pană în 1982 (e cunoscut și sub numele de DARPA (Defense Advanced Research Projects Agency) Internet sau ARPA Internet). La începutul anilor 80 DARPA a creat Transmission Control Protocol/Internet Protocol (TCP/IP) care a devenit protocolul oficial de azi.

Din această cauză, în 1983 ARPANet s-a separat în doua rețele, MILNET (MILitary NETwork) și ARPANET. Amândouă încă fac parte din DDN (Defense Data Network).

Expansiunea rețelelor Local Area Networks (LAN) și Wide Area Networks (WAN) a ajutat Internet-ul să conecteze peste 20.000 de rețele. Acestea includ NSFNET, MILNET, NSN, ESnet și CSnet.

Rețelele leagă împreună două până la mii de PC-uri, permițându-le să folosească în comun fișiere și alte resurse. În plus, o rețea poate centraliza gestionarea unei baze mari de date, astfel că toate operațiile cerute de coordonarea securității, salvarea de siguranță, modernizări și control se pot desfășura într-un singur loc. Lucrul în rețea a devenit atât de important pentru operațiile uzuale efectuate de calculatoarele personale, încât este inclus în noile sisteme de operare și este folosit atât acasă cât și la birou.

Structura Internet-ului a făcut posibilă nu numai distribuirea de informații “statice”, ci și existența serviciilor. De exemplu, pe baza unei cărți de credit, se pot face toate rezervările pentru petrecerea concediului de odihnă în orice țară din lume și se poate plăti utilizând calculatorul de la domiciliu.

2.3. Serverul Apache

Apache este un server web open-source a cărui primă versiune a fost elaborată în 1995. Exista un zvon conform căruia se spune că Apache a fost creat pornind de la un server http deja existent, dezvoltat de NCSA, plus diverse patch-uri, și de aceea a fost numit un server "patchy", adică peticit – de aici numele de Apache Server (a patchy server = un server peticit). Zvon pe care aceștia il infirmă, și susțin că numele de Apache provine din istorie, de la vechiul trib de indieni cunoscut pentru iscusința lor în război și pentru rezistența lor inepuizabilă.

Ca urmare a caracteristicilor sale sofisticate, performanță excelentă, și a prețului acestuia (este gratuit), Apache a devenit cel mai popular server Web din lume. Conform unor estimări, este utilizat pentru a găzdui mai mult de 65% din site-urile Web din lume.

La dezvoltarea serverului Apache, au lucrat un grup de aproximativ 20 de programatori, voluntari denumit Apache Group. În iunie 1999, o dată cu dezvoltarea platformei, acest grup s-a tranformat întro societate non-profit numită ASF (Apache Software Foundation). Cu toate acestea, deoarece codul sursă este disponibil gratuit, oricine poate aduce modificări serverului pentru a îndeplini nevoi specifice, și pentru asta există și o mare bibliotecă publică de add-on-uri pentru Apache. În multe privințe, dezvoltarea serverului web Apache este similară cu dezvoltarea sistemului de operare Linux. Versiunea originală a serverului a fost scrisă pentru UNIX, dar acum există și versiuni care se execută în conformitate cu OS/2, Windows sau alte platforme.

Numele Apache a fost ales din respect pentru tribul de indieni americani cu acest nume, binecunoscut pentru strategiile sale de război și pentru rezistența inepuizabilă, caracteristici de care beneficiază și serverul.

Instalare Apache

După ce ați descarcat Apache de la: http://apache.idilis.ro/httpd/binaries/win32/apache_2.0.54 -win32-x86- no_sal.msi, executați pentru a porni instalarea.

Apăsati next, apoi (după ce ați citit textul) selectați opțiunea “I accept the terms în the license agreement” – aceasta opțiune înseamnă că ați citit și acceptat termenii din licentă și că puteți trece mai departe la instalare apoi apasați Next.

Apasați din nou Next și va apare o fereastra în care completați câmpurile, exemplu:

Apăsați Next, Next, Next, Install și așteptați să se efectueze instalarea apoi apăsați Finish pentru a termina.

Dacă serverul s-a instalat cu succes, uitati-vă în bara de jos (dreapta), langă ceas. Observați că a apărut o iconiță cu un cerc, în mijlocul căreia apare o săgeată de culoare verde (în caz că serverul rulează) sau de culoare roșie (în caz că serverul nu a putut să pornească).

Fiecare server/pachet instalat are câte un fișier de configurare. Fișierul de configurare al serverului Apache este httpd.conf pe care îl puteti găsi în folderul din C:\Program Files\Apache Group\Apache2\conf\ .

Intrați în C:\Program Files\Apache Group\Apache2\htdocs\, ștergeți tot de acolo și creați un fișier test.html în care introduceți codul:

<html>

<head>

<title>Primul HTML</title>

</head>

<body>

Acesta este un test HTML

</body>

</html>

Salvați și accesați în browser: http://localhost/test.html

Observați că serverul Apache rulează HTML-ul.

Instalare PHP

Pentru a rula scripturi PHP trebuie să instalați pachetul PHP pe care în cazul în care nu îl aveți trebuie sa-l descărcați de la:

Pentru sistem Linux: http://ro.php.net/distributions/php-4.4.0.tar.bz2

Pentru sistem Windows: http://ro.php.net/distributions/php-4.4.0-Win32.zip

Intrați un C:\Program Files\Apache Group\ și creați un folder cu numele php apoi dezarhivați și copiați conținutul directorului php-4.4.0-Win32.

În continuare, trebuie să edităm fișierul de configurare al PHP-ului, și anume php.ini

Intrați în C:\Program Files\Apache Group\php, copiați fișierul php.ini-recommended și redenumiți-l în php.ini, deschideți-l în notepad și efectuați modificările:

1 – căutați doc_root = și schimbați cu doc_root = “C:\Program Files\Apache Group\Apache2\htdocs”

(această operațiune se face pentru a seta calea către folderul unde sunt ținute scripturile, paginile)

2 – căutați extension_dir = și schimbați cu

extension_dir = “C:\Program Files\Apache Group\php\extensions”

(această operațiune se face pentru a seta calea către folderul unde sunt ținute extensiile php)

3 – căutați display_errors = Off și schimbați cu display_errors = On

(această operațiune se face pentru a seta ON afișarea erorilor)

4 – căutați session.save_path = /tmp și schimbați cu

sesaion.save_path = “C:\Program Files\Apache Group\php\sesiuni”

(intrați apoi în folderul cu php (C:\Program Files\Apache Group\php) și creați un folder cu numele “sesiuni”, această operațiune se face pentru a seta calea către sesiunile temporare de pe server)

După ce ați efectuat aceste schimbări în fișierul php.ini, deschideți fișierul de configurare al serverului Apache, aflat în C:\Program Files\Apache Group\Apache2\conf sub numele de httpd.conf și efectuați următoarele modificări:

1 – Adăugați la sfarșitul fișierului, următoarele 3 linii.

ScriptAlias /php/ "C:/Program Files/Apache Group/php/" AddType application/x-httpd-php .php

Action application/x-httpd-php "/php/php.exe"

2 – Căutați linia DirectoryIndex index.html și schimbați-o cu DirectoryIndex index.html index.php

Salvați și reporniți serverul Apache.

Intrați în C:\Program Files\Apache Group\Apache2\htdocs și creați un fișier cu numele test.php în care introduceți codul de mai jos, salvați și accesați-l în browser: http://localhost/test.php

<?php

echo 'Primul script PHP';

?>

Dacă rezultatul afișat în browser este la fel ca cel de mai sus, atunci serverul Apache + PHP s-a instalat cu succes și rulează.

2.4. Limbajul de programare PHP

Limbajul PHP a fost creat în anul 1994 de catre Rasmus Lerdorf, care incerca sa-si personalizeze propria pagina Web; din acest motiv limbajul a fost numit initial PHP adica: Personal Home Page (pagina de baza personala). Ulterior limbajul a fost perfectionat, utilitatea și caracteristicile sale s-au dezvoltat treptat, ajungand sa aiba semnificatia Hypertext Preprprocesor (PHP). Preprocesarea consta în aceea ca datele sunt interpretate(preprocesate) de catre serverul Web inainte ca acesta sa genereze cod HTML.

PHP este una dintre cele mai interesante tehnologii pentru site-uri și programare web, îmbină caracteristici dintre cele mai complexe cu simplitatea în utilizare. PHP a devenit un instrument de frunte pentru dezvoltarea aplicațiilor Web. Spre deosebire de alte instrumente pentru aplicații Web, cum este Perl, PHP este un limbaj de programare comod pentru începatori, chiar și pentru cei care nu au mai desfășurat activități de programare.

Daca sunteti un cunoscator al limbajului HTML, dar nu aveti experienta în materie de programare, va puteti pune întrebarea: care sunt functionalitatile suplimentare pe care le poate asigura cunoasterea limbajului PHP? Ca și alte limbaje de scripting pentru Web, PHP va permite sa furnizati un continut Web dinamic, adica un continut Web care se modifica automat de la o zi la alta sau chiar de la un minut la altul. Continutul Web este un element important în sustinerea traficului unui sit Web; de regula, vizitatorii nu vor mai reveni la o pagina limbajul a fost perfectionat, utilitatea și caracteristicile sale s-au dezvoltat treptat, ajungand sa aiba semnificatia Hypertext Preprprocesor (PHP). Preprocesarea consta în aceea ca datele sunt interpretate(preprocesate) de catre serverul Web inainte ca acesta sa genereze cod HTML.

PHP este una dintre cele mai interesante tehnologii pentru site-uri și programare web, îmbină caracteristici dintre cele mai complexe cu simplitatea în utilizare. PHP a devenit un instrument de frunte pentru dezvoltarea aplicațiilor Web. Spre deosebire de alte instrumente pentru aplicații Web, cum este Perl, PHP este un limbaj de programare comod pentru începatori, chiar și pentru cei care nu au mai desfășurat activități de programare.

Daca sunteti un cunoscator al limbajului HTML, dar nu aveti experienta în materie de programare, va puteti pune întrebarea: care sunt functionalitatile suplimentare pe care le poate asigura cunoasterea limbajului PHP? Ca și alte limbaje de scripting pentru Web, PHP va permite sa furnizati un continut Web dinamic, adica un continut Web care se modifica automat de la o zi la alta sau chiar de la un minut la altul. Continutul Web este un element important în sustinerea traficului unui sit Web; de regula, vizitatorii nu vor mai reveni la o pagina Web care contine aceleasi informatii ca și cele prezentate la ultima vizita. Pe de alta parte, siturile Web frecvent actualizate pot atrage cantitati enorme de trafic.

Mai mult, spre deosebire de limbajele de scripting, precum JavaScript, PHP ruleaza pe serverul Web, nu în navigatorulul Web. În consecinta, PHP poate obtine accesul la fisiere, baze de date și alte resurse inaccesibile programului JavaScript. Acestea constituie bogate surse de continut dinamic, care atrag vizitatorii. În plus, putem folosi limbajul PHP pentru a generera cod Java Script.

Secventele de cod PHP pot fi incluse intr-un fisier HTML; ulterior serverul Web va identifica aceasta secventa de cod, va procesa acesta secventa de cod generand cod HTML iar la final va inlocui secventa de cod PHP cu codul HTML.

Printre caracteristicile cele mai importante ale imbajului enumeram:

– simplicitate : acest limbaj este simplu de folosit, fiind accesibil și ne-programatorilor. Datorita acestui fapt el a devenit cel mai popular limbaj de script pentru generarea de pagini HTML dinamice.

– usor de folosit : limbajul are o sintaxa asemanatoare limbajului C, care este foarte popular în randul programatorilor. De aceea programatorii care au cunostine de C sau Perl vor face foarte rapid trecerea spre PHP. Pe de alta parte anumite aspecte cum ar fi: declararea și folosirea variabilelor este mult simplificata în PHP, spre deosebire de C++ sau alte limbaje de nivel inalt.

– eficienta : specificatiile limbajului includ folositea tehnicilor de POO (Programare orientata pe obiecte) iar acest lucru contribuie la marirea productivitatii: un programator PHP poate folosi module scrise de un alt programator fara sa fie nevoit sa cunoasca detalii specifice de implementare a codului.

– cross-platform : exista implementari ale limbajului pe mai multe sisteme de operare, cele mai populare fiind cele de pe sistemele Linux și Windows. În acest caz daca scriem cod PHP care ruleaza pe un sistem Linux, ulterior vom putea folosi acest cod pe un server care ruleaza Windows și viceversa.

– gratis : PHP reprezinta un program Open Source, oricine poate folosi acest limbaj fara a fi nevoit sa plateasca ceva. De asemenea utilizatorii au access la sursele PHP (scrise în limbajul C). Site-ul oficial al limbajului PHP se afla la : www.php.net , datorita popularitatii acestui limbaj exista numeroase site-uri Web care prezinta informatii despre PHP, exemple de cod, forum de discutii , etc.

Acest curs de initiere în PHP și MySQL este menit a prezenta elemente introductive de programare și dezvoltare a paginilor web folosind PHP. Este important sa retineti ca nu reprezinta decat un punct de plecare cu lectii și tutoriale php introductive. Dezvoltarea Web este o activitate solicitanta, iar viitorul dezvoltator Web trebuie sa dispuna de multe abilitati, printre care și pe aceea de programator. Dezvoltatorii Web începatori vor gasi în aceast curs un prim pas util și amical în activitatea de programare în PHP.

Scrierea programelor PHP

Programele PHP sunt o mixtură de trei elemente: text, cod HTML și script PHP. Pentru că paginile ce conțin script PHP să poată fi procesate de modulul PHP implementat în Apache sau alt server de pagini Web este necesar ca paginile să aibă acea extensie pe care ati specificat-o la încarcarea modulului în serverul de web (standard, extensia implicită este .php).

Cum funcționează codul

Fișierul program1.php este trimis modulului de php încarcat în serverul de web. Modulul prelucrează NUMAI ce se află între tagurile <?php și ?> restul fiind trimis catre serverul web fară a fi prelucrat sau interpretat.

Rezultatul prelucrarii este și el trimis serverului de web care rimite mai departe catre client (browser).

Comanda echo este folosită pentru trimiterea catre serverul de web a textului înscris între cele două ghilimele.

Fiecare linie de cod PHP (după terminare) trebuie închisă de semnul punct-si-virgulă (;).

Instrumente PHP

Variabila reprezintă un identificator la o locatie de memorie și se foloseste pentru stocarea, prelucrarea și ștergerea datelor.

Variabilele în PHP sunt apelate folosind prefixul ‘$’.

Ex: $nume=“Teodor”;

După ce am inițializat o variabilă atribuindu-i o valoare putem folosi acea variabila.

Ex: print $nume;

Limitari și reguli ale variabilelor

În multe limbaje de programare există o limitare a numarului de caractere din numele variabilei (între 255-1000 caractere). În PHP nu există astfel de limitari.

O regulă a variabilelor este că ele trebuie să înceapă cu o literă sau cu un underscore (după prefixul ‘$’).

O altă regulă este că în corpul numelui variabilei sunt acceptate litere, numere și underscore, simboluri precum +,-,* și & nefiind admise.

Variabilele în PHP sunt case-sensitive, adică $student este diferit de $Student .

Tipuri de date în PHP

PHP cuprinde mai multe tipuri de variabile, dintre care cele mai importante sunt cele ce conțin valori de tip text și numeric.

– string (text)

– integer (numeric)

– double (numeric)

– array

– object

Tipurile de date nu sunt stabilite de programator. PHP decide automat tipul lor atunci când interpretează codul.

Tipul de dată string – tot ce este cuprins între ghilimele la inițializare se consideră string (chiar și numerele).

Ex:

$nume=”Ionescu”;

$nr=”5”;

Date de tip numeric – În PHP există 2 tipuri de date numerice: integer și double.

Integer sunt numere fară virgulă, în timp ce double reprezintă numere cu zecimale.

Constante

O variabilă isi poate schimba conținutul de mai multe ori pe parcursul unui program. dacă dorim ca o locatie de memorie să nu poată fi schimbată pe parcursul unui program putem folosi instructiunea define.

Ex: define(“PI”,”3.1416”);

Constantele sunt scrise prin conventie cu MAJUSCULE.

Sisteme de operare pe care poate rula PHP

PHP poate fi folosit pe aproape toate marile sisteme de operare, incluzând Linux, multe variante de Unix (incluzând HP-UX, Solaris și OpenBSD), Microsoft Windows, Mac OS X, RISC OS, probabil și altele.

PHP are deasemenea suport pentru majoritatea serverelor de web din prezent. Acestea includ serverele Apache, Microsoft Internet Information Server, Personal Web Server, Netscape și iPlanet, serverul Oreillz Website Pro, Caudium, Xitami, OmniHTTPd, și multe atele. Pentru majoritatea serverelor PHP are un modul, iar pentru celelalte suportă standardul CGI, PHP putând să lucreze ca un procesor CGI.

Deci, cu PHP ai libertatea de a alege un sistem de operare și un server de web. Chiar mai mult, ai posibilitatea de a alege programarea procedurală sau programarea orientată obiect, sau chiar să le amesteci. Cu toate acestea, nu orice facilitate a standardului POO este prezentă în versiunea curent a PHP-ului, multe librarii de cod și aplicații mari (incluzând și libraria PEAR) sunt scrise folosind doar cos POO. Cu PHP nu ești limitat și scoți rezultat HTML. Posibilitatile PHP-ului includ afișarea de imagine, fișiere PDF și chiar filmulețe Flash (folosind librariile libswf și Ming) toate generate instant. Poți deasemeanea ca rezultatul tău să fie orice fișier text, cum ar fi XHTML sau orice alte fișiere XML.

PHP poate genera automat aceste fișiere și să le salveze în sistemul de fișiere în loc să le afiseze, formând un cache de partea serverului pentru conținutul tău dinamic.

Conectarea la o baza de date MySQL

Conectarea cu PHP la o baza de date MySQL se face in doi pasi. Primul il reprezinta conectarea la server, folosind datele de conectare ale acestuia, adica numele de utilizator si parola. Comanda este:

mysql_connect ($nume_host, $user_nume, $user_parola);

Daca se reuseste conectarea la server, se realizeaza conectarea la baza de date. (Pe un server pot fi mai multe baze date.) Comanda este:

mysql_select_db ($nume_bd);

În ambele cazuri se poate afla daca s-a reusit conectarea sau nu, iar daca apar erori, acestea pot fi afisate folosind comanda:

mysql_error();

În continuare, intr-o variabila numita, de exemplu, $sql este construit șirul SQL care va extrage din bază datele dorite. Exemplu

$sql = "SELECT * FROM orase ORDER BY nume_oras";

Rularea șirului SQL construit se realizează cu comanda mysql_query, care “trimite” rezultatul în variabila $rezultat.

$rezultat = mysql_query ($sql);

Este testat dacă șirul SQL a fost rulat cu succes si, dacă nu, este afișat un mesaj de eroare. Altfel, cu ajutorul comenzii while ($row = mysql_fetch_array ($rezultat)), sunt parcurse rândurile și afișate valorile din celule.

2.5. SGBD-ul MySQL

MySQL este cel mai popular software de baze de date open source, cu peste 100 de milioane de copii ale software-ului descărcat sau distribuit de-a lungul istoriei sale. Cu viteza sa superioara, fiabilitate, și usurinta de utilizare, MySQL a devenit alegerea preferata pentru Web, Web 2.0, SaaS, ISV, companii de telecomunicatii și managerii IT de corporatii, deoarece elimina problemele majore asociate cu timpul pierdut, intretinere și administrare pentru aplicații moderne, on-line.

Multe dintre cele mai mari și dezvoltate rapid organizatii din lume folosesc MySQL pentru a economisi timp și bani, alimentand site-urile lor Web de mare volum, sisteme critice de business, și pachete software – inclusiv lideri din industrie, cum ar fi Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube , Wikipedia, și Booking.com.

Produsul de varf MySQL Enterprise, este un set complet de software de productie testat, instrument de monitorizare proactiva, și servicii de suport premium disponibile intr-un abonament anual la preturi accesibile.

MySQL este o parte esentiala a LAMP (Linux, Apache, MySQL, PHP / Perl / Python), un open source ce creste rapid. Tot mai multe companii folosesc LAMP ca o alternativa la stiva costisitoare software, din cauza costurilor mai mici și libertatii fata de alegerea platforma de lucru.

MySQL a fost initial fondat și dezvoltat în Suedia, de doi suedezi și un finlandez: David Axmark, Allan Larsson și Michael "Monty" Widenius, care au lucrat impreuna inca din anii 1980.

Dacă este necesar un sistem gratuit sau necostisitor de gestiune a bazelor de date, puteți alege din mai multe opțiuni: MySQL, mSQL, Postgres, unul din motoarele gratuite (dar fără suport) furnizate de producătorii comerciali și așa mai departe. La compararea MySQL cu alte sisteme de baze de date, trebuie luat în calcul ce este cel mai important pentru aplicație. Performanță, suport, caracteristici (conformantă cu SQL, extensii etc.), condiții și restricții de licențiere, preț; toate acestea constituie factori care trebuie luați în considerare. Date fiind aceste considerații, MySQL are de oferit numeroase caracteristici atractive:

Viteză. MySQL este rapid

Programatorii pretind că MySQL este cel mai rapid sistem de baze de date pe care îl puteți găsi. Puteți verifica această afirmație vizitând http://www.mysql.com/benchmark.html, o pagină de comparație a performanțelor.

Ușurință în utilizare

MySQL este un sistem de baze de date cu performanțe ridicate, dar relativ simplu, a cărui configurare și administrare sunt mult mai simple decât în cazul sistemelor mai mari.

Cost zero. MySQL este gratuit pentru majoritatea utilizărilor interne

MySQL nu este un produs Open Source, dar, în general, poate fi folosit gratuit. Trebuie să consultați manualul de referință MySQL pentru detalii privind licența, dar principiile de bază sunt următoarele:

– Programele client și biblioteca de programare a clienților sunt gratuite, pe toate platformele.

– Pentru UNIX și alte platforme non-Windows, serverul MySQL poate fi folosit gratuit, cu excepția situațiilor când doriți să vindeți serverul sau alte programe sau servicii care impun utilizarea acestuia, în această situație, trebuie să obțineți licență pentru server. Ideea este că, dacă obțineți un profit din MySQL, este normal ca dezvoltatorii sistemului să primească o parte din acesta. (200 de dolari este o nimica toată pentru un specialist SGBDR care vă ajută să obțineți un profit și există o mulțime de programe gratuite pe care vi le puteți procura pentru a folosi eficient sistemul.)

– Versiunea Windows a serverului MySQL impune obținerea unei licențe.

– Versiunile mai vechi de MySQL sunt disponibile în condițiile licenței publice GNU (GPL) și pot fi folosite în orice scopuri, fără nici o plată. MySQL 3.20.32a este disponibil în condițiile GPL.

Suport pentru limbaje de interogare

MySQL înțelege SQL (Structured Query Language – limbaj de interogare structurat), limbajul preferat al tuturor sistemelor moderne de baze de date. De asemenea, puteți avea acces la MySQL folosind aplicații care acceptă ODBC (Open Database Connectivity), un protocol de comunicație cu bazele de date creat de Microsoft.

La server se pot conecta mai mulți clienți simultan

Clienții pot folosi mai multe baze de date simultan. Puteți obține acces la MySQL în mod interactiv, folosind numeroase interfețe care vă permit să introduceți interogări și să vizualizați rezultate: clienți în linie de comandă, browsere Web sau clienți X Window System. De asemenea, este disponibilă o varietate de interfețe de programare pentru limbaje precum C, Perl, Java, PHP și Python. Astfel, aveți opțiunea de a folosi programe client preambalate sau de a vă scrie propriile programe client pentru aplicații personalizate.

Conectivitate și securitate

MySQL poate fi folosit integral în rețele, iar bazele de date sunt accesibile de oriunde din Internet, deci vă puteți partaja datele cu oricine, oriunde. Dar MySQL are controlul accesului, astfel încât persoanele care nu au dreptul să vă citească datele nu vor avea această posibilitate.

Distribuție liberă

MySQL este ușor de obținut; pentru aceasta, folosiți-vă browserul de Web. Dacă nu înțelegeți funcționarea unei componente sau sunteți curios cu privire la un algoritm, vă puteți procura codul sursă și îl puteți examina. Dacă nu vă place modul de funcționare a unei componente, îl puteți modifica.

2.6. Limbajul HTML

Unul din primele elemente fundamentale ale WWW (World Wide Web) este HTML (Hypertext Markup Language), care descrie formatul primar în care documentele sunt distribuite și văzute pe Web. Multe din trasaturile lui, cum ar fi independenta fata de platforma, structurarea formatarii și legaturile hipertext, fac din el un foarte bun format pentru documentele Internet și Web.

Primele specificatiile de baza ale Web-ului au fost HTML, HTTP și URL.

HTML a fost dezvoltat initial de Tim Berners-Lee la CERN în 1989. HTML a fost vazut ca o posibilitate pentru fizicienii care utilizeaza computere diferite și schimbe intre ei informatie utilizind Internetul. Erau prin urmare necesare citeva trasaturi : independenta de platforma, posibilitati hypertext și structurarea documentelor.Independenta de platforma inseamna ca un document poate fi afisat în mod asemanator de computere diferite ( deci cu fonte, grafica și culori diferite ), lucru vital pentru o audienta atit de variata.

Hipertext inseamna ca orice cuvint, fraza, imagine sau alt element al documentului vazut de un utilizator ( client ) poate face referinta la un alt document, ceea ce usureaza mult navigarea intre multiple documente sau chiar în interiorul unui aceluiasi document. sStructurarea riguroasa a documentelor permite convertirea acestora dintr-un format în altul precum și interogarea unor baze de date formate din aceste documente.

Standardul oficial HTML este World Wide Web Consortium (W3C), care este afiliat la Internet Engineering Task Force (IETF). W3C a enuntat cateva versiuni ale specificatiei HTML, printre care și HTML 2.0, HTML 3.0,HTML 3.2, HTML 4.0 si, cel mai recent, HTML 4.01. În acelasi timp, autorii de browsere, cum ar fi Netscape și Microsoft, au dezvoltat adesea propriile "extensii" HTML în afara procesului standard și le-au incorporat în browserele lor. În unele cazuri, cum ar fi tagul Netscape , aceste extensii au devenit standarde de facto adoptate de autorii de browsere.

HTML 2.0, elaborat în Iunie 1994, este standardul pe care ar trebui sa-l suporte toate browserele curente – inclusiv cele mod text. HTML 2.0 reflecta conceptia originala a HTML ca un limbaj de marcare independent de obiectele existente pentru asezarea lor în pagina, în loc de a specfica exact cum ar trebui sa arate acestea. Daca doriti sa fiti siguri ca toti vizitatorii vor vedea paginile asa cum trebuie, folositi tagurile HTML 2.0.

Specificatia HTML 3.0, Enuntata în 1995, a incercat sa dezvolte HTML 2.0 prin adaugarea unor facilitati precum tabelele și un mai mare control asupra textului din jurul imaginilor. Desi unele din noutatile HTML 3.0 erau deja folosite de autorii de browsere, multe nu erau inca. În unele cazuri, taguri asemanatoare implementate de autorii de browsere au devenit mai raspandite decat tagurile "oficiale". Specificatia HTML 3.0 acum a expirat, deci nu mai este un standard oficial.

In Mai 1996, W3C a scos pe piata specificatia HTML 3.2 , care era proiectata sa reflecte și sa standardizeze practicile acceptate la scara larga. Deci, HTML 3.2 include tagurile HTML 3.0 ce erau adoptate de autorii de browsere ca Netscape și Microsoft plus extensii HTML raspandite. În Bilantul asupra HTML, W3C recomanda ca providerii de informatii sa utilizeze specificatia HTML 3.2.Versiunile curente ale majoritatii browserelor ar trebui sa suporte toate, sau aproape toate aceste taguri.

De asemenea exista extensii Netscape și Microsoft care nu fac parte din specificatia HTML 3.2, ori pentru ca sunt mai putin utilizate, ori au fost omologate dupa aparitia HTML 3.2. Pentru ca navigatorul Netscape a fost printre primele browsere care suporta anumite taguri HTML 3.0, iar Netscape detine în jur de 70% din piata de browsere, multi au crezut eronat ca toate extensiile Netscape (incluzand taguri ca <BLINK> și facilitati ca ferestrele) fac parte din HTML 3.0 sau HTML 3.2.

Documentele HTML sint documente în format ASCII și prin urmare pot fi create cu orice editor de texte. Au fost insa dezvoltate editoare specializate care permit editarea intr-un fel de WYSIWYG desi nu se poate vorbi de WYSIWYG atita vreme cit navigatoarele afiseaza acelasi document oarecum diferit, în functie de platforma pe care ruleaza. Au fost de asemenea dezvoltate convertoare care permit formatarea HTML a documentelor generate ( și formatate ) cu alte editoare. Evident conversiile nu pot patra decit partial formatarile anterioare deoarece limbajul HTML este inca incomplet.

Scrierea documentelor HTML

După achiziționarea unui pachet de găzduire pentru site, trebuie create paginile. Este recomandată păstrarea a două copii pentru fiecare document, una pe spațiul alocat de host, iar a doua pe hard disk, astfel problemele care pot apărea (întreruperi de curent electric, pierderea conexiunii la internet) să nu afecteze website-ul în niciun fel. Se recomandă crearea unui director pe hard disk pentru a păstra documentele HTML, imaginile, fișierele audio și video ale site-ului.

Primul fișierul care se va edita este index.html. Acesta reprezintă, în general, fișierul principal al unui site internet (cel care se încarcă atunci când se introduce în browser o adresă de genul www.abc.ro): index.html, index.php, index.asp. Serverul poate fi configurat astfel încât prima pagină să se numească default. Exemple: default.html, default.php etc.

Marcarea textului se face cu ajutorul unor tag-uri (marcaje, etichete). Un tag este introdus întotdeauna între paranteze unghiulare, sub forma:

<nume_tag atribut1=”valoare1” atribut2=”valoare2” … >

Marcajele html pot avea sau nu și o formă de închidere:

</nume_tag>

Tag-urile indică browser-ului (Netscape, Internet Explorer etc) modul de prezentare a informației din pagină. Regulile de folosire ale tag-urilor nu sunt foarte stricte (nu e obligatorie scrierea unui tag pe un rând sau folosirea numai a literelor mari etc).

Structura documentelor HTML

Documentele HTML sunt fișiere ce conțin texte și care au extensia .htm, .html, .shtml. Structura lor constă în două părți, "head"-ul și "body"-ul. "Head"-ul unui document conține titlul acelui document și o scurtă descriere. În "body" se regăsește conținutul paginii.

Structura unui document HTML (exemplu):

<html>
<head>

<title>Titlul paginii</title>

</head>

<body>

conținutul paginii

text

imagini

linkuri

tabele

formulare

etc

</body>

</html>

Pentru o mai bună vizualizare, se pot lăsa spații între liniile documentului. Spațiile libere vor fi ignorate de către browser în momentul interpretării.

Tot ceea ce se află între tagurile title va reprezenta titlul documentului. Acesta va apărea în momentul vizionării documentului în partea de sus a paginii, în bara pentru titlu (în stânga butoanelor de minimalizare/maximalizare/închidere ale paginii).

World Wide Web (WWW) este o rețea de resurse informaționale. Web-ul se bazează pe trei mecanisme pentru a face aceste resurse disponibile unei audiențe cât mai mari:

Un indicator de nume fix pentru găsirea informațiilor pe Web (ex: URI).

Protocoale, pentru accesarea resurselor care se găsesc pe Web (ex: HTTP).

Hypertext, pentru navigarea facilă în multitudinea de informații (ex: HTML).

HTTP – definiție, mod de funcționare

Toate calculatoarele folosesc un standard de comunicare între ele numit HTTP (Hyper Text Transfer Protocol).

În traducere Hyper Text Transfer Protocol înseamnă un text care este direcționat către alt text sau un text care are legătură la alt text, ceea ce se și întîmplă în timpul navigării pe Internet.

Vizualizarea unei pagini web

Într-o pagină web sunt stocate informații care pot fi vizualizate pe ecranul calculatorului la o anumită adresă web.

O pagină web poate fi vizualizată cu ajutorul unui software numit Web browser, cele mai cunoscute fiind Internet Explorer, Opera, FireFox Mozilla, Safari etc.

Găzduirea paginilor web

Paginile web sunt stocate pe un calculator numit Web server. Calculatoarele care vizualizează o pagină web se numesc Web clients.

Deschiderea unei pagini de pe un Web Server cu ajutorul browser-ului

Browser-ul primește de la vizitator o cerere, care este un standard http. Cererea conține adresa paginii respective (de exemplu: http://www.nume.com/opagina.html).

Standardul web

Standardul web este stabilit de consorțiul W3C sau mai bine zis World Wide Web Consortium care dictează specificațiile pentru web.

Standarde web sunt HTML, CSS, XML, ultimul apărut este XHTML 1.0

2.7. CSS (Cascading Style Sheets)

Crearea paginilor HTML este un lucru relativ simplu, invatarea etichetelor HTML și crearea unor imagini ducand la realizarea de pagini web de o complexitate medie. Odata cu dezvoltarea internetului, site-urile au devenit din ce în ce mai complexe, cu un numar mai mare de pagini, cerintele privind grafica și elementele din pagina au devenit mai pretentioase și astfel proiectarea paginilor web a devenit o sarcina ceva mai dificila.

O problema importanta cand avem un site cu multe pagini este atunci cand dorim sa facem anumite schimbari în elementele pagini: fondul, grafica sau fontul textelor din pagini.

Prin utilizarea CSS (Cascading Style Sheets), în traducere "foi de stil în cascada", acest lucru nu mai este o problema, realizandu-se relativ usor, prin schimbarea sau adaugarea unor elemente în codul CSS, ne fiind nevoi sa lucram la fiecare pagina sau la fiecare element din pagina.

CSS se ocupă în general cu aspectul și controlul grafic al elementelor din pagină, cum ar fi textul, imaginile, fondul, culorile și asezarea acestora în cadrul ferestrei paginii.

CSS foloseste stiluri, acestea inglobeaza, sub un anumit nume, atribute de formatare care se aplica asupra unui element individual din pagina, asupra unui grup de elemente sau la nivelul intregului document.

CSS functioneaza cu HTML, insa nu este HTML. El extinde functionalitatile HTML, permitand redefinirea etichetelor HTML existente.

Prin utilizarea CSS aspectul documentului pe ansamblu, sau a unui element individual din interiorul sau, poate fi controlat mult mai usor. Stilurile pot fi aplicate asupra unui element, a unui document sau chiar asupra unui intreg site web.

Un dezavantaj ar fi ca unele navigatoare nu sunt compatibile CSS, astfel ca documentele HTML sunt afisate ca și cum CSS n-ar exista, dar cele mai cunoscute și utilizate browsere, cum ar fi: Mozilla Firefox, Internet Explorer, Opera, și altele, sunt compatibile CSS.

Beneficiile sintaxei CSS

– formatarea este introdusă într-un singur loc pentru tot documentul

– editarea rapidă a etichetelor

– datorită introducerii într-un singur loc a etichetelor se obtine o micsorare a codului paginii, implicit incarcarea mai rapidă a acesteia

Sintaxa CSS este structurată pe trei nivele:

nivelul 1 fiind proprietatile etichetelor din documentul HTML, tip inline

nivelul 2 este informatia introdusă în blocul HEAD, tip embedded

nivelul 3 este reprezentat de comenzile aflate în pagini separate, tip externe

Cea mai mare importanță (suprascrie orice alt parametru) o are sintaxă de nivelul 1 iar cea mai mică importantă o are cea de nivelul 3.

Folosirea unui fișier extern sau nivel 3 care să conțină comenzi CSS este foarte practic deoarece poate fi utilizat în mai multe situatii (mai multe fișiere HTML pot folosi acelasi fișier extern CSS) eliminand timpul necesar introducerii codului corespunzator în fiecare pagina și totodată editarea lor într-un singur loc pentru mai multe fișiere.

Extensia acestor fișiere este .css.

Legatura paginilor HTML cu fișierele extene CSS se face prin introducerea urmatoarei linii:

<link rel="stylesheet" type="text/css" href="fișier_css.css">

Atributele indică urmatoarele:

rel – fișierul este tip styleshhet

type – tip text ce conține comenzi CSS

href – fișierul sau adresa fișierului CSS.

Exemplu de fișier css:

A:ACTIVE, A:LINK, A:VISITED {

color: #960000;

}

A:HOVER{

background-color: #960000;

color: #FFFFCC;

}

BODY {

background-image: url('img/background1.jpg');

background-attachment: fixed;

background-color: #FDFAF2;

font-family: Arial, Helvetica, sans-serif;

font-size: 10pt;

color: #960000;

}

2.8. Macromedia Dreamweaver

Adobe Dreamweaver (cunoscut anterior ca Macromedia Dreamweaver) este o aplicație de dezvoltare web a companiei americane Adobe Systems, disponibilă atât pentru MS Windows, cât și pentru Apple Mac OS. Versiunile recente includ suport pentru tehnologii web cum ar fi CSS, JavaScript, PHP, Cold Fusion, cât și cadre ASP.

Dreamweaver s-a bucurat de un larg succes încă de la sfârșitul anilor 1990 și momentan deține aproximativ 80 % din piața editoarelor HTML. Produsul poate fi rulat pe variate platforme software: Mac OS, Windows, dar suportă în același timp și platforme UNIX cu ajutorul unor emulatoare software cum ar fi Wine.

Ca orice alt editor WYSIWYG, Dreamweaver poate ascunde detaliile de implementare a paginilor HTML, făcând astfel posibilă crearea cu ușurință a acestora și de către utilizatorii neexperimentați.

Unii creatori de pagini web critică aceste tipuri de editoare deoarece produc pagini de dimensiuni mult mai mari decât ar fi necesar, ceea ce conduce la o funcționare neperformantă a browserelor web. Această afirmație este în mare parte adevarată deoarece paginile web produse folosesc designul pe bază de tabel. În plus, produsul a mai fost criticat în trecut și pentru producerea de coduri care adesea nu erau conform standardelor W3C, dar acest aspect a fost mult îmbunătățit în versiunile recente. Cu toate acestea, compania Macromedia a îmbunătățit suportul pentru tehnologia CSS precum și alte modalități de design, fără a fi necesară folosirea designului pe bază de tabel.

Dreamweaver permite folosirea majorității browserelor instalate pe calculatorul utilizatorului, pentru a previzualiza situl web creat. De asemenea conține și câteva utilitare pentru administrarea siturilor, cum ar fi cele pentru a găsi și modifica un paragraf sau o linie de cod, în întregul sit, pe baza oricăror parametri specificați de către utilizator. Cu ajutorul panourilor de stare se poate crea cod JavaScript fără a avea cunoștințe de programare.

2.9. Macromedia Fireworks

Adobe® Fireworks, cunoscut sub vechiul nume ca Macromedia Fireworks, este un editor grafic, dezvoltat inițial de catre Macromedia, cumpărat ulterior de catre Adobe în 2005. Este destinat web designerilor datorită abilităților sale de a crea prototipuri de site-uri și interfețe de aplicații într-un mod facil.

Adobe Fireworks a fost proiectat astfel incat sa fie compatibil atat cu versiunile mai vechi cat și cu vechile produse Macromedia. În prezent se poate gasi facand parte din pachetul Adobe CS4 sau ca produs separat.

Capitolul 3. Soluția de informatizare propusă pentru noul sistem informatic

3.1. Baze de date – noțiuni

Baza de date – definiție

Din punct de vedere conceptual, o baza de date este poate fi privita ca un depozit organizat de date. Din punct de vedere tehnic, o baza de date este o colectie organizata de obiecte (tabele, vederi, proceduri stocate, functii etc.). Multe aplicații, indiferent de limbajul în care au fost implementate, au nevoie sa acceseze o baza de date. De exemplu, o aplicație e-Commerce nu poate exista fara o baza de date care sa tina evidenta clientilor și a produselor.

Baza de date relațională

Baza de date relationala a aparut în 1969 de catre dr. Edgar F. Codd, cercetator la IBM, care la momentul respectiv cauta noi modalitati de manipulare a unor cantitati mari de date. El si-a fundamentat noul model pe doua ramuri ale matematicii – teoria multimilor și logica predicatelor de ordinul intai. Acest fapt permite bazei de date relationale sa garanteze obtinerea unor informatii precise. De asemenea, aceste ramuri ale matematicii asigura un fundament pentru formularea unor metodologii de proiectare adecvate și crearea unor structuri performante de baze de date relationale. Numele modelului în sine este derivat din termenul de relatie, care constituie o parte a teoriei multimilor, contrar ideii ca provine din faptul ca tabelele pot fi corelate unele cu altele.

Noțiuni: entitate, atribut, valoare

Aceste 3 notiuni, entitate, atribut și valoare, sunt importante de amintit pentru teoria bazelor de date. O entitate reprezinta un obiect din realitatea inconjuratoare, cum ar fi o persoana sau un produs. Entitatile, ca și obiectele, reprezinta o clasa de „obiecte”. O entitate Clienti descrie la nivel conceptual toti clientii posibili, iar 2 fiecare instanta a acestei clase reprezinta un client individual. Toate instantele entitatii Clienti vor avea atribute identice care sa le reprezinte. Sa consideram urmatoarele atribute:

Nume

Prenume

Adresa

E-mail

Telefon

Fiecăruia dintre aceste atribute i se atribuie valori, ceea ce va diferentia o instanta a entitatii Clienti de alta. O instanta a entitatii Clienti poate contine urmatoarele valori pentru atributele care o caracterizeaza: Popescu, Radu, Strada SQL, [anonimizat] și 0744.000.111, în timp ce o alta instanta va contine valori cu totul diferite: Ionescu, Anca, Strada Soarelui, [anonimizat], 0722.222.333.

Transpus în lumea bazelor de date relationale, putem face urmatoarele analogii:

• O entitate este un tabel.

• Un atribut este un camp în acel tabel.

• O inregistrare este o instanta a entitatii respective (contine valori specifice pentru fiecare camp care descriu tabelul).

Structura unei baze de date

O bază de date este alcătuită în principal din următoarele:

Tabele

Interogări (queries, views)

Forme de introducere a datelor

Rapoarte

Proceduri și funcții

Trigger-e

Module

Macrouri

Normalizare. Forme normale.

Este știut faptul că în anumite forme bazele de date prezintă diverse tipuri de anomalii. Normalizarea este procedeul prin care se transformă baza de date astfel încât aceste anomalii să fie considerabil diminuate.

Se folosesc primele trei forme normale FN1, FN2 și FN3, acestea fiind și în practică cele mai des utilizate. Întrucât FN2 implică FN1 și FN3 implică FN2, nu este posibilă trecerea la etapa următoare decât dacă cea curentă este realizată.

Ce este normalizarea 

Tehnică formală de analiză și optimizare a relațiilor ce are la bază cheile primare (sau candidate) și dependențele funcționale

O serie de condiții (forme normale), fiecare fiind din ce în ce mai restrictivă

Formele normale FN1, FN2, FN3, BCNF se raportează la dependențele funcționale

Formele normale superioare (FN4, FN5) se definesc în raport de alte tipuri de dependențe (multivaloare, respectiv joncțiune)

Scopul normalizarii

Pentru a evita redundanța (duplicarea valorilor)

Pentru a înlătura anomaliile de actualizare (erori sau inconsistențe ale structurii bazei de date)

Inserare – nu se poate insera un tuplu pentru că nu dispunem de toate informațiile necesare;

Ștergere – atunci când se șterge un tuplu se șterge mai multă informație decât s-a intenționat;

Modificare – când dorim să modificăm o valoare șiaceasta apare în sute de rânduri.

Relații de-normalizate 

Când baza de date se află într-o formă normală superioară este nevoie de mai multe JOIN-uri pentru a răspunde cererilor utilizatorilor finali

Prin proiectare trebuie găsit echilibrul între Normalizare și performanță

Se pot accepta zone de-normalizate ale bazei de date pentru a obține performanțele dorite.

O baza de date normalizată este una care a fost transformata astfel încât sa satisfacă o serie de reguli. Regulile de normalizare a bazelor de date sunt descrise ca proprietăți pe care o bază de date care respectă aceste reguli trebuie să le aibă, proprietăți cunoscute sub numele de forme. Setul cel mai frecvent aplicat de reguli de normalizare a bazelor de date include trei reguli, care descriu prima, a doua și a treia formă normală.

Aceste forme sunt destinate a preveni problemele care pot apărea în cadrul bazelor de date care nu le respectă. Totuși, aceste reguli sunt derutante și dificil înțeles pentru multi. Sub-secțiunea de față prezintă pe scurt o abordare de bun simț a normalizării bazelor de date, adecvată pentru evitarea a numeroase probleme frecvent întâlnite legate de proiectarea bazelor de date. Proiectanții bazelor de date foarte simple pot opta în mod logic pentru omiterea în totalitate a normalizării bazelor de date, întrucât problemele de proiectare pot fi corectate pur și simplu la apariția lor, în cursul programării sau al utilizării. Totuși, normalizarea bazelor de date este esențială pentru bazele de date mari, unde costul și efortul de descoperire și remediere a unei erori poate depăși semnificativ costul și efortul implicate în normalizarea bazelor de date.

3.2. Relațiile dintre tabele

1. Relații one-to-one sunt cele mai simple relații între tabele. Între rândurile tabelelor există o corespondență unu la unu; într-o tabelă nu există rânduri cărora să le corespundă mai mult de un rând în altă tabelă. Tabelele aflate în această relație se pot combina întruna singură în care să apară toate coloanele acelor tabele. În acest caz, câmpul cheie din noua tabelă trebuie să fie unic. Nu sunt permise valori duplicat.

2. Relații one-to-many leagă un singur rând dintr-o tabelă cu două sau mai multe rânduri din altă tabelă. Legătura se realizează printr-o relație între cheia principală a tabelei de bază și cheile externe corespunzătoare din tabelele corelate. Constituie tipul cel mai răspândit de relații. Ele cer unicitatea câmpului cheie din noua tabelă.

3. Relații many-to-many (mulți la mulți) sunt asocieri libere, în care nu există nicio relație unică între câmpurile cheie ale tabelelor, iar câmpurile cheie din ambele tabele conțin valori duplicat.

3.3. Lista aplicațiilor informatice pe domenii de activitate

Aplicația dezvoltată reprezintă implementarea unei solutii web pentru prezentarea produselor sale: în cazul de față fiind vorba de abonamente pentru bibliotecă.

Aplicația poate rula pe un server de web Apache instalat pe sistemul de operare Windows. De asemenea este necesară funcționarea pe serverul de web a unei versiuni mai noi de PHP – utilizat ca modul al serverului Apache și a unei versiuni recente de MySQL ca server de baze de date.

Partea executabilă a aplicației este constituită de scripturi PHP, care sunt rulate pe serverul de web și al căror rezultat este vizualizat de către utilizatorul client pe calculatorul sau, prin intermediul unui browser local.

Site-ul web a fost dezvoltat folosind următoarele limbaje de programare și aplicații Web:

Pentru partea de programare s-au utilizat limbajele PHP, HTML și JavaScript

Pentru partea de design s-a utilizat CSS, Adobe Photoshop

Pentru partea de baze de date s-a utilizat MySQL versiunea

3.4. Fișele descriptive ale platformei client – server

Arhitectura client/server presupune existența unui server de baze de date (server) și a unui modul software specific aplicației (clientul) care prelucrează datele (logica aplicației) și prezintă rezultatele (logica prezentării). În acest sistem nu există notiunea de obiecte, partea client lucrează direct cu tabelele de date și procedurile stocate din baza de date.

În cadrul arhitecturii multi-strat, un server de aplicații se interpune între aplicația client și serverul de baze de date. Serverul de aplicații implementează logica aplicației iar clientul implementează logica de prezentare a sistemului. Avantajul major al arhitecturii multi-strat față de arhitectura client/server îl reprezintă creșterea flexibilitatii.

server – în general un sistem de gestiune al bazelor de date care, în baza unui program (componentă server a unei aplicații) trafică date, le stochează, prelucrează, verifică regulile de integritate a structurilor de date, etc.

client – este programul cu rol de interfață între utilizator și server. Cu ajutorul clientului se solicită date de la server, se afișează în structuri logice ușor de interpretat de către utilizator, se permite actualizarea (adăugarea, modificarea sau ștergerea) acestora în mod facil și logic. În final, operațiunile executate asupra datelor sunt transmise către server.

3.5. Arhitectura soluției

Produsul software realizat a fost creat în limbajul de programare PHP, folosind o bază da date MySQL. Modulul PHP este instalat pe un server Apache, cel mai răspândit server web din întreaga lume în acest moment.

Aplicația rulează pe serverul Apache și, cu ajutorul limbajului de programare PHP, extrage informațiile necesare din baza de date MySQL cu ajutorul comenzilor limbajului specifice (mysql_connect, mysql_select_db, mysql_query, mysql_num_rows, mysql_fetch_array).

Capitolul 4. Proiectarea, realizarea și implementarea sistemului informatic

4.1. Obiective și activități

Sistemul are ca scop memorarea datelor despre utilizatori, cărți, comenzi realizate de utilizatori. A fost creată pentru realizarea unei pagini web care oferă vizitatorilor posibilitatea de a viziona on-line cărțile din baza de date, iar pentru companie realizarea gestiunii intr-un mod mai eficient. Baza de date a fost realizată în phpMyAdmin.

4.2. Structura sistemului informatic

Aplicatia este realizata în limbajele HTML și PHP, folosind o bază de date MySQL. Limbajul PHP conține funcții de conectare și gestionare a unei baze de date MySQL.

Ce avantaje avem?

Principalul avantaj al unui site dinamic asupra unuia static este usurinta în administrare. Adăugarea sau modificarea conținutului este floare la ureche și atât de simplu încât putem delega pe oricine să se ocupe de această sarcină. Deoarece conținutul este stocat în baza de date sau în fișiere text, cei care se ocupă de conținut nu au nevoie să știe vreun pic de HTML sau organizarea sau layout-ul paginilor.

De asemenea, dacă vrem să schimbam logo-ul pe fiecare pagină a site-ului este de ajuns să facem modificarea într-un singur fișier în loc să luăm fiecare pagină în parte, să o modificăm și să o uploadam înapoi pe server.

Într-un site dinamic se pot adăuga elemente de interactivitate foarte ușor. Metodele puse la dispoziție de aplicațiile server-side ne pot ajuta să transformăm un simplu site într-o comunitate activă.

De ce PHP și MySQL?

Cel mai puternic motiv pentru folosirea PHP și MySQL ca unelte pentru crearea unui site dinamic este faptul că amândouă sunt open-source și oricine le poate utiliza fără costuri suplimentare. Un alt motiv este că aplicațiile create sunt cross-platform: PHP și MySQL rulează atât pe sisteme Linux și Windows precum și pe o mulțime de alte sisteme de operare mai rar întâlnite. Astfel, putem crea un întreg website pe calculatorul personal, fără să instalăm un nou sistem de operare, iar la sfârșit doar să transferam site-ul pe serverul Linux și să ruleze fără probleme.

În prezent, PHP este atât de puternic și versatil încât pană și liderul portalurilor, Yahoo!, a renuntat la limbajul sau proprietar – yscript – în favoarea PHP. Aceasta nu înseamnă că PHP este complicat sau dificil: dimpotrivă, PHP și MySQL sunt foarte ușor de învatat, chiar și pentru cei nefamiliarizați cu programarea sau bazele de date.

4.3. Definirea și proiectarea ieșirilor informaționale

Comanda finală sau factura care urmează a fi trimisă către procesare firmei este vizualizată atunci când clientul încheie o comandă.

Onorarea comenzii și trecerea ei în baza de date ca fiind “livrată” este realizată de către administratorul site-ului.

Operațiile pe care le poate efectua un administrator asupra comenzilor sunt:

Vizualizarea comenzilor efectuate;

Verificarea corectitudinii intrărilor;

Notarea comenzilor onorate ca fiind livrate și trecerea lor în tabela de comenzi livrate;

Vizualizarea tabelei cu comenzi onorate.

4.4. Proiectarea codurilor

Realizarea bazei de date se face cu phpMyAdmin, un gestionar de baze de date MySQL.

Încărcarea datelor se face dupa realizarea interfeței de administrare (cu limbajul php), în următoarea ordine:

– cu phpMyAdmin se introduc datele administratorilor site-ului

– cu interfața de administrare se realizeaza conectarea administratorului la funcțiile sistemului

– se introduc întâi categoriile

– se introduc apoi datele despre producatori

– la final se introduc cărțile din gestiune

Structura aplicatiei

Beneficiind si exploatand limbajul PHP, site-ul este structurat astfel:

Fișierul index1.php – conține partea de sus a site-ului:

– titlul site-ului

<title>

<? print $titlu_site . " – " . ucfirst($titlu_pagina); ?>

</title>

$titlu_site este luat din fișierul index1datesite.php

$titlu_pagina este preluat din fiecare pagină, în funcție de context.

– legatura cu fișierul stil.css

<link rel="stylesheet" type="text/css" href="stil.css">

– antetul cu imaginea-titlu

– sumarul

– începutul unui tabel în care se află conținutul site-ului

<table width="970" border="0" cellpadding="0" cellspacing="0">

Fișierul index2.php – conține partea din dreapta și de jos a site-ului:

– sfârșitul tabelului în care se află conținutul site-ului

– casuta de login

– cosul de cumparaturi

– date despre site

Fișierele secțiunilor includ cele două fișiere descrise mai sus, astfel:

– în partea de sus a paginii, fișierul index1.php (folosind funcția “include” din limbajul PHP)

– în mijloc, conținutul propriu-zis al paginii

– în partea de jos a paginii, fișierul index2.php

Astfel, de exemplu, un fișier are următorul cod:

<?

include ("index1.php");

?>

… conținut secțiune (cod html si/sau php) …

<?

include ("index2.php");

?>

Fișierul stil.css

– Este un fișier de tip .css care se folosește pentru a stabili caracteristicile tuturor secțiunilor să aibe aceleași culori pentru fundal, texte, linkuri.

Antetul cu imaginea-titlu (fișierul titlu.jpg)

– Este o imagine care apare pe toate paginile site-ului.

După ce am terminat cu cerințele, vom trece la impartirea efectivă pe pagini. Astfel avem:

Zona publica

index1.php – conține antetul site-ului (imaginea de sus) și partea din stânga, care conține meniul categoriilor. Include fișierele index1sumar.php, index1datesite.php.

De asemenea, index1.php cuprinde începutul unui tabel centrat de dimensiune fixă în care este „incadrat” conținutul site-ului. Acest tabel are rolul de a realiza dinamic și ușor același design pentru toate paginile din site.

Fișierul index1.php este inclus la începutul fiecărei pagini.

index2.php – conține partea din dreapta a site-ului, caseta de logare sau afișare a opțiunilor unui utilizator deja conectat, iar în partea de jos date generale (drept copyright, statistici trafic) ale site-ului. Include fișierele index2login.php, index2cautare.php.

Fișierul index2.php este inclus la sfârșitul fiecărei pagini și închide tabelul deschis în index1.php

Prezentarea fiecarui fișier și a funcționalităților

Fișierele comune

– sunt fișierele care sunt incluse sau folosite în celelalte fișiere ale site-ului.

index2cautare.php – conține caseta pentru căutarea rapidă.

index2login.php – conține casetele text pentru logare (username și password). Tot aici avem posibilitatea de a creea un cont nou sau reamintirea parolei.

index1datesite.php – conține funcții și variabile, apelabile din orice pagină.

index0sumar.php – conține bara de meniu, vizibilă în partea de sus a fiecărei pagini.

index1sumar.php – conține meniul cu categoriile.

conectare_la_bd.php – conține scriptul pentru conectarea la baza de date.

data_curenta.php – returnează data curentă.

Fișiere generale

– sunt fisierele “normale” ale site-ului, care le acceseaza (includ) pe cele comune

index.php – reprezintă pagina de început, obligatorie la crearea oricarui site. Include în structura sa fișierele index1.php, index2.php, conectare_la_bd.php, și celelalte pagini ale site-ului având aceeasi componentă, mai puțin, evident, partea de conținut.

produs_detalii.php – afișează poza, descrierea și prețul cărții selectate. Include în structura sa fișierele index1.php, conectare_la_bd.php, index2.php.

contact.php – conține datele de contact. Include în structura sa fișierele index1.php, index2.php

login2.php – aici se face autentificarea propriu-zisă a userului. Include în structura sa fișierele index1.php, index2.php.

cautare1.php – în această pagină este prezentă secțiunea de căutare avansată. Datele introduse aici sunt trimise către cautare2.php. Include în structura sa fișierele index1.php, conectare_la_bd.php, index2.php

cautare2.php – preia datele de la cautare1.php, în această pagină se efectuează căutarea propriu-zisă și se afișează rezultatele. Include în structura sa fișierele index1.php, conectare_la_bd.php, index2.php

Fișiere de lucru cu opțiunile utilizatorului

– au în nume prefixul „user_”

user_creare1.php si user_creare1b.php – preiau datele de la vizitator pentru crearea unui cont și le transmite mai departe la user_creare2.php. Include în structura sa fișierele index1.php, index2.php.

user_creare2.php – preia datele de la user_creare1.php, verifică dacă în baza de date există deja contul cerut, iar în caz contrar acesta va fi creat, utilizând numele contului, parola, numele și prenumele, adresa de e-mail, telefonul, adresa și localitatea noului utilizator. Include în structura sa fișierele index1.php, conectare_la_bd.php, index2.php.

user_modificare1.php – preia datele pentru modificarea unui cont existent de la vizitator și le transmite mai departe la user_modificare2.php. Include în structura sa fișierele index1.php, conectare_la_bd.php, index2.php.

user-modificare2.php – preia datele de la user_modificare1.php, și modifică datele în cadrul contului deja existent. Include în structura sa fișierele index1.php, conectare_la_bd.php, index2.php.

user_trimitere_parola1.php – preia datele de la utilizator și le transmite mai departe la user_trimitere_parola2.php. Include în structura sa fișierele index1.php, index2.php.

user_trimitere_parola2.php – preia datele de la user_trimitere_parola1.php, și trimite pe adresa de e-mail a contului respectiv, un mail cu datele de conectare: nume_user și password. Include în structura sa fișierele index1.php, conectare_la_bd.php, index2.php.

Fișiere de lucru cu opțiunile categoriilor

– au în nume prefixul „categ_”

categ_introducere1.php – în această pagină se poate introduce o noua categorie în baza de date. Include în structura sa fișierele index1.php, index1sumar.php, index2.php.

categ_introducere2.php – în această pagină verifică dacă în baza de date există deja o categorie cu numele precizat, iar în caz contrar se va crea. Include în structura sa fișierele index1.php, conectare_la_bd.php, index1sumar.php, index2.php.

categ_modificare1.php – în această pagină avem posibilitatea de a modifica unul sau mai multe câmpuri din cadrul unei categorii. Include în structura sa fișierele index1.php, conectare_la_bd.php, index1sumar.php, index2.php.

categ_modificare2.php – în această pagină putem vedea dacă modificarea a fost efectuată sau a întâmpinat erori. Include în structura sa fișierele index1.php, conectare_la_bd.php, index1sumar.php, index2.php.

categ_stergere1.php – în această pagină suntem întrebați dacă dorim într-adevăr să ștergem categoria selectată. Include în structura sa fișierele index1.php, conectare_la_bd.php, index1sumar.php, index2.php.

categ_stergere2.php – în această pagină se efectuează ștergerea propriu-zisă a categoriei selectate. Include în structura sa fișierele index1.php, conectare_la_bd.php, index1sumar.php, index2.php

categ_afisare.php – în această pagină este afișat un tabel în care sunt trecute pe fiecare rând categoriile din baza de date, având posibilitatea de a le modifica si/sau șterge. Include în structura sa fișierele index1.php, index1sumar.php, index2.php

4.5 Definirea și proiectarea intrărilor informaționale

categorii de produse / cărți

producatori / edituri

produse / cărți

utilizatori

Capitolul 5. Prezentarea produsului software, implementarea și exploatarea aplicației

5.1. Considerații generale

Cerințele platformei hardware și software ale produsului program

Echipamente hadware necesare

1. Sistem de calcul având configurația minimă:

– procesor AMD Sempron 1000 MHz

– RAM: 512 MB

– HD: 40 GB

– Placa de rețea

– Unitate DVD

– Mouse, tastatură

Preț estimativ: 800 RON

2. Monitor

Preț estimativ: 400 RON

3. Imprimantă cu jet

Preț estimativ: 340 RON

4. Scanner

Preț estimativ: 230 RON

Software necesar

1. Sistem de operare Windows 7

Preț estimativ: 500 RON

2. Internet Explorer

Preț: gratuit

Schema de sistem a aplicației

Modelul descrie procesele ce se desfășoară în cadrul firmei, a legăturii între diversele componente care au ca scop buna funcționare și a garantării profitului. Aceste procese pot fi cuprinse în mai multe departamente sau sub-departamente și primesc informații din mai multe surse. Dacă se pornește de la scopul activității firmei, modelul procesului poate fi mult mai dezvoltat decât activitatea implementată în mod efectiv de aplicția în analiza căreia este făcut. Acest lucru se datorează faptului că aceasta poate include proceduri automate sau manuale suplimentare.

Modelul oferă o privire analitică de ansamblu asupra activităților (proceselor) și obiectelor (intrări și ieșiri) pe care organizația le folosește. Este avut în vedere în cadrul analizei a întregului ciclu de viață ca scop și justificare a elementelor viitorului model.

Aplicația are definite două procese: prezentarea on-line a cărților din bibliotecă și prelucrarea de comenzi a clienților. Procesele definite au numeroase intrări, declanșatoare și ieșiri. Intrările și ieșirile au echivalente în așa numitul model al domeniului. Ele grupează entitățile principale ale activităților și relațiile dintre ele.

Instalarea și lansarea în execuție

În prezent serverul se prezintă sub forma unui pachet software de tip tar-gzip (există și o versiune pentru Windows 7) ce conține sursele complete precum și un set de documentație pentru server. Compilarea serverului este extrem de facilă și nu s-a întâlnit nici o platformă uzuală care să aibă vreo problemă la compilare.

Rezultatul compilării va fi în principal un fișier binar executabil numit în principal httpd, localizat în directorul src/. Se recomandă copierea acestui binar într-un loc mai sigur, eventual crearea unui director bin/ (de exemplu) și copierea în acel director. În unele versiuni mai vechi, calea (path-ul) către locul unde este instalat serverul va trebui inserată în unele fișiere sursă, înainte de compilare. Deoarece acest fapt nu mai este de actualitate nu îl vom comenta însă se recomandă instalarea serverului la o locație destul de comună, de exemplu: în /usr/local/http, /usr/http sau chiar /etc/http/. NU instalați serverul (fișierul binar) în sistemul de fișiere principal. (/usr/bin, /bin, etc.)

După instalarea binarului (vom presupune /usr/http ca director principal de instalare și /usr/http/bin directorul în care se găsește fișierul binar executabil httpd) va trebui configurat serverul prin modificarea unor fișiere de configurare. Acestea se găsesc în acest caz în /usr/http/conf. Ele sunt httpd.conf, access.conf, srm.conf. Fiecare dintre ele stabilesc parametri diferiți pentru serverul de web. Se recomandă citirea documentației de configurare. Nu trebuie modificate direct fișierele de configurare existente în acel director. De obicei numele acestora are o extensie ?-dist'. (Ex. httpd.conf-dist) . Se copie acestea în fișiere cu nume fără extensia respectivă (Ex. cp httpd.conf-dist httpd.conf) și abia apoi se va modifica fișierul copie.

Configurarea serverului în cazul cel mai simplu impune doar modificarea, în httpd.conf, a numelui serverului precum și, în toate fișierele, a cailor (path) ce definesc locul de instalare a serverului precum și a documentelor html.

După configurarea serverului se impune pornirea acestuia. Exisă două moduri de rulare a serverului. Modul implicit și cel mai utilizat de rulare este modul daemon. În mod daemon acesta este pornit și rulează în background, activându-se de la sine de mai multe ori, asigurând astfel un bun timp de raspuns la cereri HTTP. Al doilea mod ar fi rularea serverului prin intermediul daemonului inetd. În acest caz, inetd are grijă de interceptarea unei cereri HTTP și pornirea unei copii a unui server de web pentru tratarea acelei cereri. Nu se recomandă acest mod de rulare decât în cazuri speciale.

Pornirea serverului (modul daemon) se rezumă la executarea binarului cu parametrii adecvați (în principal stabilirea caii fișierului primar de configurare httpd.conf) după care acesta va raporta orice erori sau probleme precum și accesele de web în cazul rulării, prin intermediul unor fișiere de log localizate în directorul logs/. în cazul unor erori sau porniri defectuoase se recomandă analizarea fișierului error-log din logs/.

După ce ați pornit serverul există posibilitatea accesării unei documentații complete chiar prin serverul proaspat instalat.

5.2. Descrierea funcțiunilor aplicației

Funcții pentru vizitatori

Vizualizare

Căutare

Funcții ale administratorilor

Operatii produse (cărți): introducere, modificare, ștergere, afișare

Operatii categorii

Operatii producatori (edituri)

La acestea se adaugă funcțiile necesare de gestionare a conturilor de utilizatori.

Implementarea aplicației

Se crează sau se instalează baza de date folosind fișierul SQL corespunzător.

Se copiază fișierele php în folderul public al server-ului.

Fișierul sql și exemple de fișiere php sunt detaliate la finalul proiectului.

5.3. Prezentarea aplicației

5.3.1. Tabelele – structura

Pentru administrare, se foloseste aplicatia PhpMyAdmin

Tabela admini

Tabela categorii

Tabela cosulet

Tabela firme

Tabela produse

Tabela subcategorii

Tabela useri

5.3.2. Exemple de date

Tabela admini

Tabela carti

Tabela cos

Tabela firme

Tabela produse

Tabela subcategorii

Tabela useri

5.4. Manual de utilizare

Prima pagina

Antetul site-ului

Sumarul (categoriile)

Categorie deschisa cu subcategorii

Casuta de cautare simpla

Cativa producatori

Topul celor mai bine vandute

Subsolul site-ului

Fereastra de cautare avansata

Afisare producatori

Pagina cu instructiuni ai pasilor de cumparare

Formular de contact

Paginile de creare a unui cont de utilizator

Mesaje in caz de erori

Mesaj de informare in cazul crearii contului

Optiunea de reamintire parola

Casuta de autentificare

Cos de cumparaturi

Mesaj de eroare daca s-au introdus date gresite

Confirmare logare

Afisare date utilizator autentificat

Vizualizare cos de cumparaturi

Afisare date utilizator autentificat si cos de cumparaturi

Vizualizare produse cumparate

Interiorul primei pagini

Pagina interioara (afisare subcategorii sau rezultat cautare)

Afisare detalii produs

Mesaj in cazul reusitei introducerii in cos a unui produs

5.5. Modul de Administrare

Introducere produs

Concluzii

Încurajarea dezvoltării domeniului “e-commerce” presupune implementarea măsurilor necesare pentru a asista companiile în utilizarea tehnologiei informației și în dezvoltarea comerțului electronic.

Indiferent dacă “e-commerce” înseamnă interacțiunea electronică dintre companiile din mediul de afaceri (B2B – “business to business”), interacțiunea dintre companii și clienții acestora (B2C – “business to consumer”) sau interacțiunea dintre Guvern și cetățeni, maniera de a face afaceri prin intermediul mijloacelor electronice (e-business) se va impune prin beneficiile create: creșteri semnificative de eficiență, îmbunătățirea serviciilor și crearea de valoare adăugată. Mai mult de 50% din afaceri se vor desfășura prin intermediul piețelor virtuale (“e-market” = site-uri web unde mai multi vânzători și cumpărători vor interacționa și vor încheia tranzacții comerciale). Pentru realizarea de afaceri prin intermediul mijloacelor electronice sunt necesare o bună infrastructură de comunicații, aplicații software, tehnologia informației, servicii Internet accesibile și de calitate, consultanță și logistică. Toate aceste industrii de suport se vor dezvolta considerabil prin “e-commerce”.

În contextul internațional creat în e-commerce se impun pentru România atingerea și dezvoltarea în regim de urgență a următoarelor obiective:

Perfecționarea cadrului dezvoltării comerțului electronic românesc și armonizarea lui cu cel internațional,

Utilizarea de către mediul de afaceri a celor mai noi tehnologii ale domeniului;

Atragerea investitorilor și a companiilor internaționale în România, ca loc preferat de acestea pentru a face afaceri prin mijloace electronice.

Aplicatia prezentata atinge ultimele doua puncte dintre cele enumerate mai sus, punand la dispozitie ultimele tehnologii privind gestiunea unei librării si oferind posibilitatea potentialilor investitori de a lua contact si de a se informa cu privire la domeniul bibliotecar românesc.

Totodata aplicatia anuleaza in buna masura “dominatia hartiilor”, munca de gestiune si cautare cu ajutorul dosarelor de inregistrari pe hartie fiind “mutate” in calculator, exploatând astfel resursele sale.

Bibliografie

Cărți

Nicolae Al. Pop – “Marketing” – Editura Didactică și Pedagogică R.A., București, 1996

Rodica Mihalca, Adina Tătaru – “Realizarea Produselor Program” – Editura Scripta, București, 1994

Ion Lungu, Gheorghe Sabău, Traian Surcel, Constanța Bodea – “Sisteme Informatice Pentru Conducere” – Editura Siaj, 1994

Rodica Mihalca, Csaba Fabian, Adina Ută – “Proiectarea Produselor Program” – București, 1997

Chip special – “Site dinamic, Magazin virtual” – Februarie 2003

Adrian Trașcă, Georgeta Manafu – “Inițiere în Visual Basic (Bazele programarii)” – Editura "Arves" Craiova, 2006

Website-uri

www.afaceri.net

www.computerworld.ro

www.pcmagazine.ro

www.compendium.ro

www.smartnews.ro

www.ibm.com/ro

www.netconsulting.ro

www.microsoft.com

www.chip.ro

www.netreport.ro

news.agora.ro

www.softrom.ro

Bibliografie

Cărți

Nicolae Al. Pop – “Marketing” – Editura Didactică și Pedagogică R.A., București, 1996

Rodica Mihalca, Adina Tătaru – “Realizarea Produselor Program” – Editura Scripta, București, 1994

Ion Lungu, Gheorghe Sabău, Traian Surcel, Constanța Bodea – “Sisteme Informatice Pentru Conducere” – Editura Siaj, 1994

Rodica Mihalca, Csaba Fabian, Adina Ută – “Proiectarea Produselor Program” – București, 1997

Chip special – “Site dinamic, Magazin virtual” – Februarie 2003

Adrian Trașcă, Georgeta Manafu – “Inițiere în Visual Basic (Bazele programarii)” – Editura "Arves" Craiova, 2006

Website-uri

www.afaceri.net

www.computerworld.ro

www.pcmagazine.ro

www.compendium.ro

www.smartnews.ro

www.ibm.com/ro

www.netconsulting.ro

www.microsoft.com

www.chip.ro

www.netreport.ro

Similar Posts