Disertatie 21 Mai [306221]

INTRODUCERE

CAPITOLUL 1 – TURISMUL IN ERA TEHNOLOGIEI

1.1 Istoria E-Turismului

1.2 Importanta E-Turismului

1.3 Comparatie cu alte sisteme informatice pentru informare si rezervari turistice

CAPITOLUL 2 – TEHNOLOGII INFORMATICE UTILIZATE

Tehnologiile informatice utilizate: ASP.[anonimizat], [anonimizat], Jquery, Javascript

CAPITOLUL 3 – ANALIZA ȘI PROIECTAREA APLICATIEI INFORMATICE DE E-TURISM

3.1 Specificarea cerințelor

3.1.1. Obiectivul aplicației

3.1.2 Grupul țintă

3.1.3. Specificații funcționale

3.2 Analiza activitatii de turism din cadrul aplicatiei

3.2.1. Diagrama cazurilor de utilizare

3.2.2 Diagramele de secvență

3.2.3 Diagrama de activitate

3.2.4 Diagrama de stare

3.2.5 Diagrama claselor

3.3 Proiectare si modelarea noului sistem pe baza cerintelor anterioare

3.3.1 Specificatii tehnice

3.3.2 Modelarea comportamentala a sistemului

– [anonimizat]

-Diagrama de stare

3.3.3 Modelarea structurala a aplicatiei

– Diagrama claselor

3.3.3 Proiectarea bazei de date

3.3.4 Proiectarea modulelor

3.3.5 Proiectarea interfetelor

CAPITOLUL 4 – IMPLEMENTAREA SOLUȚIEI INFORMATICE PENTRU MANAGEMENTUL BIBLIOTECAR

4.1. [anonimizat]

4.2. [anonimizat].[anonimizat]://iw-interfete-web.blogspot.ro/2008/12/proiectarea-eficienta-unei-interfete_01.html

https://en.wikipedia.org/wiki/Web_design

Istoria turismului – de la comerț la internet

Introducere

Ce

De ce

Cum

CAPITOLUL 1 – TURISMUL IN ERA TEHNOLOGIEI

Istoria E-Turismului

Herodot fiind parintele lor. [anonimizat], de razboi, a celor oficiale sau religioase. Turismul s-a dezvoltat de-a [anonimizat]-[anonimizat] a [anonimizat] a face inconjurul lumii intr-o singura zi.

1.2 Importanta E-[anonimizat], firme si mici companii care veneau in ajutorul oamenilor ce doreau sa isi petreaca vacanta intr-o destinatie indepartata de tara lor. [anonimizat], masa, [anonimizat]. Turismul s-a [anonimizat] 50 de ani astfel incat lucrul cu dosare si facturi pe foaie a devenit foarte greoaie. Aici a venit in ajutorul agentiilor, E-turismul.

E-turismul are un rol extrem de important in dezvoltarea companiilor de turism si pentru confortul clientilor. [anonimizat]-line, [anonimizat]-uri astfel incat clientii pot alege dintr-o gama larga de oferte fara a mai fi nevoiti sa se deplaseze la sediul companiilor sau sa plateasca cu bani cash. Astfel, E-turismul are o [anonimizat], confortul si timp economisit atat in vietile clientilor cat si in cea a companiei.

Alte sisteme informatice pentru informare si rezervari turistice

Unul dintre sistemele informatice de E-[anonimizat].ro. Acesta are o [anonimizat]-o singura pagina fara a o incarca.

Ca si sistemul prezentat in aceasta lucrare, siteul vola.ro acopera toate ariile necesare pregatirii unei vacante perfecte, cum ar fi: transport, cazare, masa si timp liber.

Un alt concurent este reprezentat de site-ul booking.com, un site ce ofera vizitatorilor oferte de vacante si city break-uri insa doar la nivel de cazare si masa, transportul nefiind asigurat.

Un plus adus ultilizatorilor de catre aceasta aplicatie este notarea si formul aferent fiecarei destinatii si unitati de cazare astfel incat clientii pot citi si parerile alor persoane fiindu-le astfel mult mai usor sa gaseasca o unitate de cazare mai potrivita dorintelor lor. Meniul booking.ro este mai redus din punct de vedere al optinilor, insa aduce un plus prin multiplele poze si informatia completa intr-o singura pagina si dintr-un singur click.

In comparatie cu sistemul de E-turism prezentat in aceasta lucrare, site-il booking.ro aduce in plus parerile utilizatorilor, note , rating si poze facute de alti clienti care au vizitat unitatea de cazare respectiva inainte, dand astfel posibilitatea utilizatorilor sa aleaga cu mai mare usurinta si siguranta un loc de cazare pentru vacanta lor.

CAPITOLUL 2 – TEHNOLOGII INFORMATICE UTILIZATE

Lista tehnologiilor informatice folosite in dezvoltarea aplicatiei de E-Turism sunt : ASP.Net MVC si Visual Studio 2015, SQL Server, Google API, Bootstrap, Jquery, Javascript si HTML5.

Tehnologia ASP.Net MVC (model-view-controller) a fost aleasa in vederea dezvoltarii aplicatiei deoarece este cea mai noua arhitectura de dezvoltare informatica, fiind de altfel si cea mai eficienta datorita gruparii separate a functionalitatilor, datelor si interfete. Acestea sunt indepentente una de alta altfel incat orice modificare adusa unui modul al aplicatiei, nu va influenta restul modulelor. Tool-ul utilizat pentru crearea si dezvoltarea proiectului – Visual Studio, este cel mai portrivit fiind tool-ul de baza al dezvoltarilor in limbajul C# ce utilizeaza framework-ul .Net.

Baza de date este stocata pe un server de baze de date Sql Server, tool aflat de asemenea sub semnatura Microsoft.

Cu ajutorul GoogleMaps API aplicatia va deveni una interactiva, utilizatorul avand posibilitatea de vizualizare a hartii, a locatiei si imprejurimilor acesteia direct din aplicatie, nemafiind nevoie de accesarea separata a site-ului GoogleMaps.

Limbajele de scripting Jquery, Javascript si HTML5 impreuna cu codul open-source al celor de la Twitter Bootstrap vor face din interfata aplicatiei una extrem de placut organizata, simetrica si usor de utilizat datorita dinamicitatii paginilor care usureaza extrem de mult interactiunea utilizatorului cu aplicatia.

2.1 ASP.NET MVC

ASP.NET MVC este un framework web dezvoltat de Microsoft, care implementeaza arhitectura model-view-controller (MVC). Este un software open-source, separat de ASP.NET Web Forms, componentă care este proprietate Microsoft.

Bazat pe ASP.NET, ASP.NET MVC permite dezvoltatorilor de software crearea de aplicații web formate din 3 componente: Model, View si Controller. Modelul MVC defineste aplicatii web avand 3 straturi logice:

Modelul (componenta de afaceri)

View (vedere – componenta de afișare)

Controller (componenta de control)

Un model reprezintă starea unui anumit obiect din aplicatie, modelul comunicand direct cu baza de date. Un controller gestioneaza cereri, interacțiuni și actualizează modelul pentru a reflecta o schimbare a aplicatiei și transfera apoi informațiile la view. View-ul preia modelul si schimbarile necesare de la operator și redă o interfață de utilizator pentru a afișa aceste informații.

ASP.NET MVC uneste modelele cu vederile si controllerele folosind contracte bazate pe interfata, permițând astfel ca fiecare componentă să poata fi testata în mod independent.

2.2 Bootstrap

Bootstrap este un librarie gratuita și open-source pentru front-end, pentru crearea de site-uri web si aplicatii web. Acesta conține HTML- și template-uri de design bazate pe CSS pentru tipografie, formulare, butoane, navigare și alte componente de interfață, precum și extensii opționale JavaScript. Acesta are ca scop facilitarea dezvoltarii de site-uri si aplicatii web dinamice .Bootstrap este un cadru de front-end-ul web, adică, o interfață pentru utilizator, spre deosebire de codul de server-side, care se află pe "capătul din spate" sau server.Bootstrap este cel de-al doilea proiect din topul de pe GitHub.

Bootstrap a pornit a un proiect intern al angajatilor de la Twitter Mark Otto si Jacob Thornton, ajungand in final sa devina o adevarata librarie utilizata de dezvoltatorii din intreaga lume. Aceasta este o librarie suportata de mai toate browserele si dispozitivele, avand un caracter dinamic al interfetei in functie de dimensiunea ecranului in care este afisata informatia.

2.3 Javascript si Jquery

JavaScript este un limbaj de programare de nivel înalt, dinamic, netipizat și interpretat. A fost standardizat în specificația limbajului ECMAScript. Alături de HTML și CSS, acesta este unul dintre cele trei tehnologii de bază pentru producția mondială de conținut World Wide Web; majoritatea site-urilor îl folosesc și este susținută de toate browserele moderne Web. JavaScript este un limbaj cu funcții de primă clasă, orientat obiect avand un stil de programare imperativ și funcțional. Javascript are un API pentru lucrul cu text, tablouri, date și expresii regulate, dar nu include nici un i / o, cum ar fi crearea de rețele, stocare, sau facilități grafice, bazându-se pentru acestea pe mediul gazda în care este încorporat.

JavaScript este de asemenea folosit în medii care nu sunt bazate pe Web, cum ar fi documente PDF, browsere specifice site-ului, și widget-uri desktop. Masinile virtuale mai noi si rapide JavaScript și platforme construite pe ele au crescut, de asemenea, popularitatea JavaScript-ului pentru aplicații Web server-side. Pe partea de client, JavaScript a fost implementat în mod tradițional ca un limbaj interpretat, dar mai multe browsere recente efectueaza compilare just-in-time. Este, de asemenea, utilizat în dezvoltarea jocurilor, crearea de aplicații desktop și mobile, precum și programarea de rețea de server-side cu medii de rulare, cum ar fi Node.js.

jQuery este o librarie din JavaScript conceput pentru a simplifica scripting-ul pe partea de client de HTML. jQuery este cea mai populara librarie JavaScript utilizata astăzi, fiind instaalt pe 65% din primele 10 milioane de site-uri cu cel mai mare trafic pe Web. jQuery este gratuit, fiind un open-source software-ul aflat sub licența MIT.

Sintaxa jQuery este proiectata pentru a face mai ușoara navigarea intr-un document web, selectarea de elemente DOM, crearea animatiilor, tratarea de evenimente si devoltarea aplicatiilor Ajax. Abordarea modulară a librariei jQuery permite crearea de pagini si aplicatii web dinamice si puternice.

Microsoft și Nokia au integrate pachete jQuery pe platformele lor. Microsoft include Visual Studio pentru a fi utilizate în contextul dezvoltarii aplicatiilor de tip ASP.NET AJAX și ASP.NET MVC Microsoft în timp ce Nokia le-a integrat în platforma de dezvoltare widget-ul Web Run-Time.jQuery a fost de asemenea utilizat în MediaWiki începând cu versiunea 1.16.

2.4 Google API

Google API (Application Programming Interface) este un set de interfețe de programare a aplicațiilor dezvoltate de Google, care permit comunicarea cu serviciile Google și integrarea lor la alte servicii sau aplicatii. Exemple de acestea cuprind: cautare google, Gmail, traduceri sau hărți Google. Aplicațiile terțe pot utiliza aceste API-uri pentru a profita de sau pentru a-si extinde funcționalitatea serviciilor existente. API-urile furnizează funcționalități de analiză cum ar fi, masina de învățare ca un serviciu (Prediction API) sau accesul la datele de utilizator (atunci când este dat permisiunea de a citi datele). Un alt exemplu important este o hartă Google încorporată pe un site web, care poate fi realizat cu ajutorul API hărți statice, Places API (locuri) sau API Google Earth.

2.5 SQL Server

Microsoft SQL Server este un sistem de gestiune a bazelor de date dezvoltat de Microsoft. Ca server de baze de date, acesta este un produs software cu funcția principală de stocare și extragere a datelor solicitate de către alte aplicații software, care pot rula fie pe același computer sau pe un alt computer printr-o rețea (inclusiv pe Internet).

Microsoft a pus pe piata cel puțin o duzină de ediții diferite ale Microsoft SQL Server, care vizează diferite segmente de public și pentru volum de lucru, de la mici aplicatii single-machine pentru aplicatii mari cu care se confruntă conexiuni la Internet cu mai mulți utilizatori simultan.

Microsoft SQL Sever folosește un limbaj de scripting SQL numit T-SQL sau Transact-SQL. T-SQL adaugă sintaxă adițională pentru procedurile stocate și pentru tranzacții. Standardele SQL necesită ACID; acesta este un acronim pentru cele 4 condiții ce trebuie îndeplinite de orice tranzacție: atomicitate, consistență, izolare, durabilitate. Microsoft SQL Server suportă ODBC (Open Database Connectivity).

Stocarea datelor se face pe modelul relațional, sub forma unei colecții de tabele cu rânduri și coloane. Fiecare coloană este de un anumit tip: SQL Server suportă atât tipurile primare, precum întreg, zecimal, caracter, dată calendaristică, dar și tipuri mai complexe precum text, date binare, date geometrice, date spațiale, XML, etc.

Capitolul 3: ANALIZA ȘI PROIECTAREA APLICATIEI INFORMATICE DE E-TURISM

3.1 Specificarea cerințelor

3.1.1. Obiectivul si scopul aplicației

Prezenta lucrare abordeaza problema realizarii unei platforme care să asigure un serviciu de turism electornic, de informare si rezervare de vacante si city break-uri in diverse locatii din tara si strainatate într-un mod rapid și sigur. Platforma, ce va lua formă unui web site, în cadrul căruia vor putea fi regăsite cu ușurință informatii legate de diverse destinatii de interes pentru vizitator, cele mai bune oferte din momentul respectiv si rezervarea vacantelor alese pentru a fi ulterior contactat de catre un angajat al tur operatorului totul in cadrul unui website cu interfata atragatoare si usor de utilizat.

Obiectivul principal al aplicației este descoperirea rapida si cu usurinta a celor mai bune oferte de cazare, transport si petrecere a timpului liber din zonele turistice selectate de catre vizitator. Astfel, dintr-un singur click, utilizatorului îi vor putea fi furnizate toate informațiile căutate despre o anumită zona, localitate sau destinatie turistica avand rapid la indemana disponibilitatea de a-si rezerva concediul perfect.

Scopul este acela de informa si usura procedura de planificare a unei vacante avand toate informatiile necesare intr-un singur loc, filtrate in functie de preferintele selectate. Astfel timpul necesar întreprinderii oricărei acțiuni ( informare, rezervare) va fi cu mult redus, comparativ cu timpul necesar de planificare in cazul in care informarea si rezervarea s-ar face pe platforme informatice diferite sau chiar prin deplasarea la sediul tur operatorului. O căutare și completare automatizată a câmpurilor prin intermediul bazei de date va face din prezența aplicație una extrem de rapida si dinamica.

3.1.2 Grupul țintă

Site-ul web este destinat oricarei persoane care utilizeaza internetul, cu o minima de experienta in explorarea site-urilor web. Site-ul este util in special persoanelor cu un timp liber limitat si care nu au disponibilitatea de a se deplasa la o sucursala a unei agentii de turism pentru pregatirea vacantei, astfel rezervarea acestia direct pe internet fiind cea mai optima solutie.

Aplicația va putea fi utlizata de persoanele de orice vârstă deoarece interfață va fi una prietenoasă și accesibilă, iar pașii exclusivi pe care aceștia vor fi nevoiți să-i efectueze în cadrul aplicației vor fi extrem de simpli și intuitivi datorită automatizării intense a aplicației.

3.1.3. Specificații funcționale

Descrierea aplicației

Aplicația va fi dezvoltată pentru a fi utilizată de catre toate categoriile de persoane, fiind accesibila de pe orice dispozitiv mobil sau PC vederea informarii si / sau rezervarii facile și rapide a escapadelor turistice folosind informații relevante despre materiale, clienți sau alte informații voluminoase stocate pe serverul de baze de date.

Infrastructura necesară rulării corecte și eficiente a programului va consta ,în principal, din trei părți:

Serverul de baze de date – unde vor fi stocate informații despre materiale, clienți, angajați si actiunile intreprinse de catre acestia ( rezervari, plati etc)

Aplicația care se execută pe serverul web – tratează cererile venite de la utilizatori, interoghează si actualizează baza de date

Programul client – care se execută in browser-ul utilizatorului

Cerințe funcționale

Funcționalitățile aplicației trebuie să respecte următoarele criterii functionale:

evidenta electronica a tuturor destinatiilor

evidenta electronica a tututor clienților, a datelor și a istoriei lor in cadrul companiei de turism

evidența electronică a tutror acțiunilor de tipul “rezervare” din cadrul aplicatiei

regăsirea rapidă si intuitiva a informațiilor căutate

inserarea rapidă a datelor în baza de date prin intermediul interfeței automatizate

introducerea a cât mai puține date pentru căutare si filtrare

asigurarea unei interfețe prietenoase care să ofere cât mai multe informații (ex. Pagină Home )

Cerinte non-functionale

aplicatia va gestiona conturile si datele personale ale clientilor in mod confidential, fiecare client avand o parola unica

parolele clientilor trebuie sa fie criptate

aplicatia trebuie sa aiba o fiabilitate de 99%

sistemul va putea procesa aproximativ 100 de tranzactii pe secunda

3.2 Analiza aplicației – Diagramele UML

3.2.1. Diagrama cazurilor de utilizare

Actorii

Singura entitate care interactioneaza cu sistemul este Clientul, persoana care acceseaza site-ul web.

Clientul, utilizatorul aplicației, este responsabil să se autentifice prin intermediul unei adrese de e-mail / cont de facebook pentru înregistrarea datelor în cazul în care vizitează pentru prima dată site-ul, dar nu este obligatoriu. In cazul in care acesta doreste sa efectueze o rezervare, atunci este obligat sa se autentifice, fiind necesar un numar mai mare de informatii pentru finalizarea acestei actiuni ( ex. Nume, adresa, Nr de telefon, adresa de email etc)

Cazurile de utilizare

În ceea ce privește aplicația, aceasta este structurată din punctul de vedere al cazurilor de utilizare în următorul mod:

1.Autentificare

2. Regasire destinatie / oferta

3. Introducere date in vederea personalizarii ofertei

4. Rezervare vacanta

3.2.2 Diagramele de secvență

Diagrama de secvență pentru cazul de utilizare “Regasire si vizualizare destinatie/ oferta”

Descriere Clientul face click pe una dintre zonele marcate de pe prima pagina a site-ului sau introduce denumirea unei destinatii in textbox-ul corespunzator, iar sistemul va cauta ofertele disponibile stocate pe serverul de baze de date.

Clientul interogheaza titlurile ofertelor (compuse din destinatie, pret, numar zile) si acceseaza oferta cea mai atragatoare dupa ce sistemul il redirectioneaza catre o alta pagina in care vor fi incarcate toate informatiile referitoare la respectiva oferta

Diagrama de secvență pentru cazul de utilizare “Introducere date in vederea personalizarii ofertei”

Descriere In pagina de vizualizare a ofertei, daca una dintre informatiile predefinite nu sunt conforme, poate modifica ( de ex numarul de zile) sistemul recalculand astfel costurile.

Diagrama de secvență pentru cazul de utilizare “Autentificare”

Descriere Pentru finalizarea rezervarii, sistemul va cere utilizatorului o serie de date personale necesare pentru asigurarea autenticitatii rezervarii si in vedere contactarii ulterioare de care un angajat al turoperatorului.

Diagrama de secvență pentru cazul de utilizare “Rezervare vacanta”

Descriere Prin apasarea unui buton, clientul va finaliza rezervarea in vederea contactarii ulterioare de care un operator ai companiei de turism, iar sistemul va salva datele in baza de date.

3.2.3 Diagrama de activitate

Diagrama de activitate pentru “Regasire si vizualizare destinatie / oferta”

Descriere: Activitatea de regasire constă în următorii pași așa cum ilustrează și diagrama de mai jos:

clientul acceseaza site-ul web

In prima pagina poate accesa una din destinatiile evidentiate in harta afisata sau poate cauta utilizand textbox-ul corespunzator

sistemul va afisa o lista cu ofertele ce contin destinatia aleasa

Diagrama de activitate pentru “Introducere date in vederea personalizarii ofertei”

Descriere: Activitatea de introducere date constă în următorii pași așa cum ilustrează și diagramă de mai jos:

in pagina de vizualizare a ofertei, anumite elemente pot fi editate (cum ar fi nr de zile, persoane, transport)

Dupa completare, sistemul va calcula automat noile costuri

Diagrama de activitate pentru “Rezervare vacanta”

Descriere: Activitatea de rezervare constă în următorii pași așa cum ilustrează și diagramă de mai jos:

dupa vizualizarea si customizare ofertei, clientul va apasa butonul “rezerva”

Sistemul va intregistra rezervarea in baza de date in vederea contactarii ulterioare de catre un operator

Diagrama de activitate pentru “Autentificare client”

Descriere: Activitatea de autentificare constă în următorii pași așa cum ilustrează și diagrama de mai jos:

clientul va introduce datele necesare in formularul special creat pentru aceasta activitate

Sistemul va salva si introduce datele in baza de date

3.2.4 Diagrama de stare

Obiectul “Oferta”

Obiectul oferta este pre-existent in aplicatie, el fiind deja creat in momentul accesarii. Initial acesta este accesat avand starea “activ” in baza de date, insemnand faptul ca furnizorul de sejururi inca are locuri disponibile pentru respectiva oferta. Dupa vizualizarea detaliilor acesteia oferta poate fi editata in vederea unei rezervari personalizate a sejurului sau transformata in rezervare aceasta fiind starea sa finalal. In cazul in care oferta nu mai este activa, aceasta va disparea din lista de oferte a aplicatiei.

Obiectul “Rezervare”

Obiectul “rezervare” ia forma initial din obiectul oferta avand starea initiala de rezervare in curs de creare,iar odata cu vizualizarea detaliilor, rezervarea devine activa in baza de date aceasta fiind starea sa finala.

3.2.5 Cerinte tehnice detaliate ale noului sistem

Cerințe funcționale

Funcționalitățile aplicației trebuie să respecte următoarele criterii functionale si tehnice:

Existenta unei aplicatii interne de tip intranet pentru evidenta electronica a tuturor destinatiilor

– aceasta se va realiza prin inserarea in baza de date a tuturor datelor legate de destinatiile disponibile si ofertele aferente acestora ori de cate ori este nevoie, folosind o aplicatie de tip intranet, utilizata doar de catre angajatii agentiei, diferita de aplicatia curenta.

SQL Server pentru evidenta electronica a tututor clienților, a datelor și a istoriei lor in cadrul companiei de turism

– evidenta electronica a tututor clienților, a datelor și a istoriei lor se va mentinte pe serverul de baze de date, utilizand sistemul relational de baze de date SQL Server.Structura bazei de date va fi prezentata ulterior.

Utilizarea SQL Server pentru evidența electronică a tutror acțiunilor de tipul “rezervare” din cadrul aplicatiei

– evidența electronică a tutror acțiunilor de tipul “rezervare” se va realiza prin crearea de catre utilizatori a unor noi rezervari in urma acceptarii detaliilor ofertelor predefinite sau personalizate. Prin apasarea unui buton de tipul " Rezerva vacanta", in baza de date se va insera o noua intrare in tabela Rezervare, aceasta continand toate datele rezervarii si clientului.

Utilizarea tool Entity framework si SQL Server pentru regăsirea rapidă si intuitiva a informațiilor căutate

– aceasta cerinta se va implementa folosind interfete prietenoase, cu informatii clare si concise. Informatia cautata va fi regasita rapid datorita SQL Server ale carui puncte forte principale este performanta. Completand o singura informatie,aplicatia fiind una dinamica, va afisa rapid cele mai relevante informatii.

Utilizarea tool-ului Entity framework pentru inserarea rapidă a datelor în baza de date prin intermediul interfeței automatizate

– inserarea rapida se va efectua datorita tool-ului Entity Framework de la Microsoft care mapeaza automat aplicatia si clasele sale, pe tabelele din baza de date, fiecare camp completat fiind aferent unei coloane din baza de date.

Normalizarea bazei de date in vederea introducerii a cât mai puține date pentru căutare si filtrare

– fiind o baza de date normalizata, cautarea si regasirea informatiei relevante se poate face folosind datele dintr-o singura coloana a unei tabele.

Utilizarea framework-ului Bootstrap pentru asigurarea unei interfețe prietenoase

– utilizand framework-ul open source Bootstrap aplicatia va putea să ofere cât mai multe informații (ex. Pagină Home) clare si concise intr-o singura pagina.

Cerinte non-functionale / de performanta

aplicatia va gestiona conturile si datele personale ale clientilor in mod confidential, fiecare client avand o parola unica acestea fiind criptate utilizand unul dintre algoritmii deja existenti de criptare sau, pentru o mai mare siguranta, dezvoltarea unui algoritm propriu eliminand astfel posibilitatea decriptarii parolelor de catre persoane neautorizate.

aplicatia trebuie sa aiba o fiabilitate de 99%, siguranta fiind sustinuta de algoritmii de criptare a informatiilor personale ( parola ) si de metoda POST prin care datele trimise la server nu sunt vizibile utilizatorului.

sistemul va putea procesa aproximativ 100 de tranzactii pe secunda, putere sustinuta prin utilizarea SQL Server impreuna cu Entity Framework.

3.3 Proiectarea aplicatiei

3.3.1 Modelarea noului sistem pe baza analizei anterioare

3.3.1.1 Diagramele de secvență

Diagrama de secvență pentru cazul de utilizare “Regasire si vizualizare destinatie/ oferta”

Descriere Clientul face click pe una dintre zonele marcate de pe prima pagina a site-ului, acceseaza lista de oferte din meniul site-ului sau introduce denumirea unei destinatii in textbox-ul corespunzator, iar sistemul va cauta ofertele disponibile ce indeplinesc criteriile cautate,stocate pe serverul de baze de date.

In functie de locul de cautare, clientul este redirectionat catre lista de oferte sau catre o anumita oferta selectata. In cazul in care se acceseaza lista de oferte, de aici utilizatorul face click pe oferta dorita, fiind in final redirectionat catre pagina “Detalii oferta”.

Diagrama de secvență pentru cazul de utilizare “Introducere date in vederea personalizarii ofertei”

Descriere In pagina de vizualizare a ofertei, daca una dintre informatiile predefinite nu sunt conforme, utilizatorul are optiunea de a face click pe butonul “Editeaza oferta” ce il va redirectiona catre pagina de editare a ofertei unde va avea posibilitatea de a modifica ( de ex numarul de zile) sistemul recalculand astfel costurile.

Diagrama de secvență pentru cazul de utilizare “Rezervare vacanta”

Descriere Prin apasarea butonului “Rezerva oferta” utilizatorul va fi redirectionat catre pagina de completare a datelor personale, clientul va finaliza rezervarea in vederea contactarii ulterioare de care un operator ai companiei de turism, iar sistemul va salva datele in baza de date.

Diagrama de secvență pentru cazul de utilizare “Autentificare”

Descriere Pentru finalizarea rezervarii, sistemul va cere utilizatorului o serie de date personale necesare pentru asigurarea autenticitatii rezervarii si in vederea contactarii ulterioare de care un angajat al turoperatorului.Astfel, utilizatorul va introduce datele personale, iar apoi va face click pe butonul “Salvare” fiind redirectionat catre pagina de finalizare a rezervarii.

Diagrama de secvență pentru cazul de utilizare “Rezervare vacanta”

Descriere Prin apasarea butonului “Rezerva oferta” utilizatorul va fi redirectionat catre pagina de completare a datelor personale, clientul va finaliza rezervarea in vederea contactarii ulterioare de care un operator ai companiei de turism, iar sistemul va salva datele in baza de date.

3.3.1.2 Diagrama de activitate

Diagrama de activitate pentru “Regasire si vizualizare destinatie / oferta”

Descriere: Activitatea de regasire constă în următorii pași așa cum ilustrează și diagrama de mai jos:

clientul acceseaza site-ul web

In prima pagina poate accesa una din destinatiile evidentiate in harta afisata sau poate cauta utilizand textbox-ul corespunzator sau poate accesa oferta dorita din pagina “Lista oferte”

sistemul va afisa o lista cu ofertele ce contin destinatia aleasa

Diagrama de activitate pentru “Introducere date in vederea personalizarii ofertei”

Descriere: Activitatea de introducere date constă în următorii pași așa cum ilustrează și diagramă de mai jos:

in pagina de vizualizare a ofertei, utilizatorul are optiunea de a face click pe butonul “Editeaza oferta” pentru a fi redirectionat catre pagina de editare unde anumite elemente pot fi editate (cum ar fi nr de zile, persoane, transport)

Dupa completare, sistemul va calcula automat noile costuri

Diagrama de activitate pentru “Rezervare vacanta”

Descriere: Activitatea de rezervare constă în următorii pași așa cum ilustrează și diagrama de mai jos:

dupa vizualizarea si customizare ofertei, clientul va apasa butonul “Rezerva oferta”

Sistemul va intregistra rezervarea in baza de date in vederea contactarii ulterioare de catre un operator

Diagrama de activitate pentru “Autentificare client”

Descriere: Activitatea de autentificare constă în următorii pași așa cum ilustrează și diagrama de mai jos:

clientul va introduce datele necesare in formularul special creat pentru aceasta activitate

Sistemul va salva si introduce datele in baza de date

3.3.1.3 Diagrama de stare

Obiectul “Oferta”

Obiectul oferta este pre-existent in aplicatie, el fiind deja creat in momentul accesarii. Initial acesta este accesat avand starea “activ” in baza de date, insemnand faptul ca furnizorul de sejururi inca are locuri disponibile pentru respectiva oferta. Dupa vizualizarea detaliilor acesteia oferta poate fi editata in vederea unei rezervari personalizate a sejurului sau copiata in tablelul de Rezervari aceasta fiind starea sa finalal. In cazul in care oferta nu mai este activa, aceasta va disparea din lista de oferte a aplicatiei.

Obiectul “Rezervare”

Obiectul “rezervare” ia forma initial din obiectul oferta avand starea initiala de rezervare in curs de creare,iar odata cu vizualizarea detaliilor, rezervarea devine activa in baza de date aceasta fiind starea sa finala.

3.3.1.4 Diagrama claselor

Aplicatia va folosi metodologia Microsoft Entity Framework de mapare a obiectelor din baza de date in clasele aferente, aplicatia utilizand astfel clase generate din tabelele si viziunile din baza de date.

Clasele folosite pentru dezvoltarea functionalitatilor există relații de agregare. Agregarea indică faptul că o clasa părinte are elemente de tipul clasei copil. În diagrama de mai jos se poate observă faptul că, de exemplu, intre clasa Hoteluri si Oferte exista o relatie de agregare deoarece clasa oferte contine elemente de tipul clasei Hotel, aceeasi relatie existand si intre clasele Oferte si Rezervari.

3.3.2 Proiectarea arhitecturii aplicației informatice

Aplicatia informatica de E-Turism este una de tip client- server, fiind o aplicatie web, asa cum se poate observa si in schema de mai jos:

Aplicatia este structurata conform sablonului 3-tier application (arhitectura pe 3 nivele) dupa cum urmeaza:

Aplicație Web = interfață + program + conținut (datele din BD)

Modelul de structurare a datelor este separat de maniera de procesare (controlul aplicației) și de modul de prezentare a acestora (interfața Web) respectand astfel principiul spararii punctelor de interes (separation of concerns). Acest model de structurare se numeste Model-View-Controller (MVC), iar in contextul actual, majoritatea aplicatiilor web sunt dezvoltate conform acestui model arhitectural.

Arhitectura generică a unei aplicații Web de tip MVC consta intr-un set de resurse ce constituie controllerul, modelul și viewul. Arhitectura aplicatiilor Web de tip MVC este conforma imaginii de mai jos:

http://profs.info.uaic.ro/~busaco/teach/courses/web/presentations/web04DezvoltareaAplicatiilorWeb-InginerieWeb.pdf

Framework-ul folosit impune de asemenea o anumită structură a fișierelor aplicației ce va fi implementată. In cazul aplicatiei curente, fisierele sunt structurate conform standardelor ASP.Net MVC asa cum se poate observa in imaginea de mai jos:

3.3.3 Proiectarea bazei de date

Aplicatia isi va trage datele dintr-o baza de date formata din 7 tabele asa cum se poate observa in schema de mai jos:

Tari

IdTara

NumeTara

CoordonateTara

Localitate

idLocalitate

idTara

coordonateLocalitate

Hoteluri

idHotel

idOras

numeHotel

pretPerNoapte

BeneficiiHotel

idBeneficiu

idHotel

activ

transportAeroport

excursii

micDejun

spaMasaj

piscina

turZoneTuristice

spectacoleCina

camereDuble

camereTriple

camereGrup

chicineta

Oferte ( tara, oras, transport, hotel, beneficii,activitati)

idOferta

idOras

idBeneficiu

idHotel

numarZile

tipTransport

numarPersoane

pret

dataInceput

dataFinal

active

Clienti

idClient

nume

numarTelefon

adresaEmail

dataInregistrare

numarRezervariOnorate

numarRezervariNeonorate

taraProvenienta

Rezervari

idRezervare

idOferta

idClient

pretInitial

pretPersonalizat

ofertaPersonalizata

dataRezervare

dataScadentaPlata

penalizare

Folosind structura acestora si tool-ul Entity Framework – Database First de la Microsoft au fost generate si clasele prezentate mai sus.

Deoarece tool-ul Microsoft EF mapeaza automat datele din baza de date SQL Server pe clasele din aplicatie, vederile nu mai au un rol la fel de important deoarece, folosind cheile primare si cele straine, Microsoft EF retrage si introduce datele automat in tabelele corespunzatoare, nemaifiind nevoie de vederi.

Mai jos se poate observa diagrama tabelelor din baza de date utilizata in aplicatie:

3.3.4 Proiectarea modulelor

Aplicatia de E-turism va fi alcatuita din doua module principale si alte module secundare cum ar fi logarea in aplicatie.

Primul modul principal consta in vizualizarea si editarea ofertelor existente in baza de date si afisate in site. Clientul acceseaza pagina de Oferte a aplicatiei in care va vizualiza o lista cu toate ofertele existente sau le poate filtra in functie de criteriile de cautare din prima pagina aplicatiei ( filtrare dupa localitate).

Lista de oferte disponibile

Lista de oferte disponibile afiseaza date sumare despre ofertele disponibile asa cum se poate observa in figura de mai sus, avand, de asemenea, si un buton cu trimitere catre pagina de vizualizare a detaliilor ofertei dorite.

Vizualizare detalii oferta

In pagina de vizualizare a detaliilor ofertei, clientul poate vizualiza o serie de detalii cum ar fi pretul de persoana, numarul de persoane din oferta si altele. De asemenea, are la dispozitie doua butoane: unul cu trimitere catre pagina de editare a ofertei si unul cu trimitere catre pagina de rezervare a ofertei.

Editare oferta

Pagina de editare a ofertei, da vizitatorului posibilitatea de a modifica datele standard ale ofertei astfel incat sa-si poata planifica vacanta potrivita pentru el/ ea. Pagina dispune, de asemenea, de un buton pentru rezervarea ofertei. Prin apasarea acestuia rezervarea este salvata in baza de date, clientul urmand a fi contactat de catre un reprezentant al agentiei.

Cel de-al doilea modul principal din aplicatie este reprezentat de crearea si vizualizarea unei rezervari. Crearea unei rezervari se poate face numai din modulul de Oferte, asa cum este descris mai sus, continutul rezervarii finale neputand fi editate.

Un alt modul al aplicatiei este reprezentat de inregistrarea in aplicatie a clientilor in vederea rezervarii de vacante.

Creare cont nou

Astfel, aplicatia va mentine un istoric al clientilor putand oferi vacante personalizare, rasplati clientii fideli sau taxa pe cei care nu si-au respectat datele limita si platile si multe altele

Clientii deja existenti au posibilitatea de a se loga in aplicatie din pagina de logare a clientilor deja existenti.

Accesare cont existent

Un alt modul al aplicatiei este reprezentat de vizualizarea datelor de contact ale companiei in cazul in care clientii se confrunta cu probleme in procesul de rezervare a vacantelor.

Intrarile si iesirile aplicatiei pot fi observate in formularele din figurile de mai sus. Formularele de editare ale principalelor module (oferte, rezervari) reprezinta intrarile aplicatiei, iar iesirile sunt reprezentate de toate formularele de vizualizare a detaliilor ofertei sau rezervarii, fiind reprezentate de datele despre detinatiile turistice existente deja in baza de date a aplicatiei.

Meniul este constant pe tot parcursul aplicatiei pentru pastrarea aspectului uniform si echilibrat al functionalitatilor. Acesta este format din sigla aplicatiei E-turism care are trimitere catre aceeasi pagina ca si urmatorul element din meniu, pagina Acasa. Urmatorul element din meniu este reprezentat de trimiterea catre Lista de Oferte disponibile ale companiei, urmata de trimiterea catre pagina cu detaliile de contact ale companiei si pagina de administrare a contului personal sau accesarea acestuia in cazul in care utilizatorul nu este logat.

3.3.5 Proiectarea interfetelor

Interfata web a unui site trebuie sa respecte anumite reguli de proiectare pentru a fi accesibila si a atrage potentialii clienti. Pentru inceput, pagina Home nu trebuie sa lipseasca aceasta fiind prima pe care "aterizeaza" un potential client. Aceasta pagina trebuie sa contina cat mai multe informatii, in cazul de fata aceasta contine o sectiune cu cele mai recente oferte, o sectiune de cautare a destinatiilor preferate si o alta sectiune care contine o harta Google Maps pentru ca experienta sa fie una dinamica pentru vizualizarea pe harta Google a locatiei cautate.

Astfel prima pagina a site-ului respecta toate regulile unei interfete accesibile oricarui tip de ultilizator: contine informatie scrisa clar si concis, ofera posibilitatea de cautare, ofera o experienta dinamica .

Restul interfetelor aplicatiei se grupeaza in 2 tipuri: vizualizare si editare.

Pagina de Home

Interfetele de vizualizare (oferte, rezervare) ofera o vedere de ansamblu asupra elementului vizualizat, oferind suficiente informatii, grupate clar, fara a incarca pagina cu informatii inutile, utilizatorul putand regasi informatia dorita in cel mai scurt timp.

Interfetele de editare sunt formate din formulare ce permit utilizatorului modificare informatiilor deja existente. Fiecare element de tip "input" contine o regula de validare, astfel incat utilizatorul nu va putea introduce date gresite sau neconforme. Interfetele de editare sunt prietenoase, oferind si optiunea de a renunta la modificari si a reveni la pagina anterioara.

CAPITOLUL 4 – IMPLEMENTAREA SOLUȚIEI INFORMATICE PENTRU MANAGEMENTUL BIBLIOTECAR

4.1. Implementarea bazei de date

Baza de date va fi implementata utilizand tool-ul SQL Server 2012 specific Microsoft. Vor fi create 7 tabele urmarind structura de mai jos si folosind comenzi de tipul „create table” sau utilizand interfata grafica a aplicatiei.

Tari

IdTara

NumeTara

CoordonateTara

Localitate

idLocalitate

idTara

coordonateLocalitate

Hoteluri

idHotel

idOras

numeHotel

pretPerNoapte

BeneficiiHotel

idBeneficiu

idHotel

activ

transportAeroport

excursii

micDejun

spaMasaj

piscina

turZoneTuristice

spectacoleCina

camereDuble

camereTriple

camereGrup

chicineta

Oferte ( tara, oras, transport, hotel, beneficii,activitati)

idOferta

idOras

idBeneficiu

idHotel

numarZile

tipTransport

numarPersoane

pret

dataInceput

dataFinal

active

Clienti

idClient

nume

numarTelefon

adresaEmail

dataInregistrare

numarRezervariOnorate

numarRezervariNeonorate

taraProvenienta

Rezervari

idRezervare

idOferta

idClient

pretInitial

pretPersonalizat

ofertaPersonalizata

dataRezervare

dataScadentaPlata

penalizare

Folosind structura acestora si tool-ul Entity Framework – Database First de la Microsoft vor fi generate si clasele aferente tabelelor de mai sus, creandu-se astfel automat si conexiunea dintre aplicatie si baza de date, salvata in fisierul de configurare al aplicatiei.

Deoarece tool-ul Microsoft EF mapeaza automat datele din baza de date SQL Server pe clasele din aplicatie, vederile nu mai au un rol la fel de important deoarece, folosind cheile primare si cele straine, Microsoft EF retrage si introduce datele automat in tabelele corespunzatoare, nemaifiind nevoie de vederi.

Mai jos se poate observa diagrama tabelelor din baza de date utilizata in aplicatie:

Si clasele generate automat din acestea:

4.2. Implementarea aplicației

Proiectul Visual Studio are urmatoarea structura fiind format, bineinteles, din modele, vederi si controllere.

Sunt de asemenea integrate si elementele specifice Bootstrap asa cum se poate observa in figura de mai jos:

Google API-ul Google Maps a fost integrat in pagina principala a aplicatiei utilizand un javascript pentru integrarea acestuia:

View-urile au fost create utilizand ca model de baza unul dintre modelele generate automat de Entity Framework, in figura de mai jos fiind prezentat un model al prezentarii:

Modelele generate automat au urmatorul mod de creare, acesta putin fi customizat in functie de necesitatile aplicatiei:

Iar in final, controllere-le, cele care coordoneaza activitatea aplicatiei si logica de business, au urmatorul mod de implementare:

Concluzii

Bibliografie

Similar Posts