Documente Academic
Documente Profesional
Documente Cultură
3 Fișier SMQ/Formulare
2
F 272.13/Ed.2 Fișier SMQ/Formulare
3
F 272.13/Ed.2 Fișier SMQ/Formulare
Cuprins
Introducere .................................................................................................................................. 6
ACCELaero ....................................................................................................................... 11
ameliaRES ......................................................................................................................... 12
Navitaire New Skies Integrated Customer Centric Passenger Service System ................. 13
KIU .................................................................................................................................... 14
RESIBER ........................................................................................................................... 15
Concluzii................................................................................................................................... 48
Bibliografie ............................................................................................................................... 49
5
Introducere
Sistemele de rezervare online sunt actualmente văzute ca furnizori de servicii într-un
mod lejer, comod, la îndemăna oricui. Facilitățile pe care le aduc persoanelor care nu vor să
stea la coadă sau să alerge de la agenție la agenție pentru a se informa de prețurile cele mai
convenabile sau amploarea pachetului de servicii oferite de către o companie anume.
În societea în care trăim o altfel de situație ar fi absurdă. De aceea, subiectul lucrării este
realizarea unui sistem de rezervare a biletelor de avion online. Desigur că amploarea acestui
sistem nu va fi acoperită pe deplin în cadrul lucrării de față, dar aceasta va urma să fie extinsă
pentru rezultate cât mai bune.
Un prim capitol desigur că va descrie acest sistem de la baza lui și până la cele mai
importante componente și servicii de care dispune. De asemenea, va cuprinde atât aspecte
majore din istoria apariției acestora, cât și sistemele de succes cotidiene.
Cel de-al doilea capitol acoperă partea tehnică a sistemului, și anume, partea de analiză
cu ajutorul diagramelor uml pentru a putea stabili dimensiunile, capacitățile, comportamentul
și activitățile acestuia.
6
I. Sisteme de rezervare ale companiilor aeriene
Un sistem de rezervare al companiilor aeriene, varianta engleză a acestei noțiuni este
Airline Reservation System (ARS), reprezintă o parte componentă a așa-numitei secțiuni de
sisteme de servicii dedicate pasagerilor, alături de sistemul de inventariere și cel de plecări.
ARS poate fi definit ca un ansamblu de aplicații care susține contactul direct cu pasagerii
(Wikipedia, 2016).
I. 1. Definiții și noțiuni-cheie
Mai întâi de toate, pentru a putea fi înțeleasă pe deplin noțiunea de sistem de rezervare
aerian, trebuie să fie explicate cuvintele-cheie ale acestuia:
Tipurile de aeronave frecvent întâlnite în cadrul companiilor aeriene românești sunt: Airbus,
ATR, Boeing, Bombardier, etc.
a. Low-cost – după cum sugerează și numele, prețul biletelor este unul foarte mic datorită
excluderii din activitatea tradițională unele servicii
b. De linie – care activează după un program stabil, cu aceleași ore în aceleași zile, pe durata
întregului an. Aceste companii au introduse și clase tarifare (prețuri flexibile în comformitate
cu serviciile oferite).
- linie aeriană planificată/programată – o linie care operează conform unui orar fixat,
prestabilit
- cabină – o clasă de servicii de obicei identificată printr-un set unic de servicii oferite
(Economic, Business, Întâi etc.)1.
1. Clasa economic este cea mai convenabilă soluție din punct de vedere al prețului, deținând un
set restrâns de servicii.
2. Clasa business este varianta optimă pentru pasagerii ce călătoresc în scop de serviciu, iar
prețul călătoriilor includ un număr mai mare de servicii și, desigur, un grad mai înalt de comfort.
3. Clasa întâi cuprinde cel mai mare tarife dintre cele trei prezetate, datorită exclusivității
serviciilor și comfortului înalt din timpul zborurilor.
1
***, 2016, https://www.esky.ro/ghid-de-calatorie/bilete-de-avion/tipuri-de-zboruri/clase-tarifare
[accesat la 1 septembrie 2016]
7
i. directe – călătorie realizată cu aceeași aeronavă, cu opriri pentru alimentare cu combustibil
sau fără opriri
ii. cu escală – călătorie realizate cu aeronave diferite pe segmente diferite, între care se face
una/ mai multe opriri pentru debarcare dintr-un avion și îmbarcarea în altul
- bilet – act care denotă dreptul deținătorului de a folosi serviciile pentru unul sau mai
multe zboruri
# online (e-ticket) – nu necesită să fie imprimante, pot fi prezentate prin intermediul aplicațiilor
mobile specializate
După cele prezentate mai sus, vom trata mai multe definiții ale ARS, conform mai
multor surse pentru a putea fi atinse toate aspectele privitoare la acest sistem.
O rezervare a companiei aeriene este un contract legal prin care o companie aeriană se
angajează, în schimbul unei sume de bani, pentru a oferi un loc unui anumit pasager cu avionul
pe un anumit zbor de la un aeroport la altul. Avionul este programat, dar nu este garantat să
plece într-o anumită perioadă de timp și ajunge, la destinație, la un anumit moment. Rezervarea
companiei aeriene poate fi ulterior modificată, acest lucru variind de la bilet la bilet (de obicei,
un companiile low-cost sunt mai puțin flexibile în această privință).
Potrivit Dicționarului Central CRS este un sistem prin care biletele de avio sau camere
de hotel pot fi rezervate de la terminalul din biroul agentului de voiaj sau de la un terminal
direct de la computerul central de rezervare.
8
Sistemele moderne oferă o varietate mare de de facilități corelate cu marketingul și
vânzările de transporturi aeriene, cum ar fi accesul la sistemele de transport individuale și
emiterea de bilete.
Altă variantă este propusă de Dicționarul Industriei de Turism, care susține că CRS
poate fi numit oricare dintre sistemele informatice brevetate care permit accesul în timp real la
tarifele de transport ale unei companii aeriene, și orarele și disponibilitatea locurilor și care
oferă capacitatea de rezervare, precum și generarea de bilete. Acum, tot mai des noțiunea este
înlocuită cu cea de sistem global de distribuție (GDS – Global Distribution Systems).
Așadar, GDS nu este altceva decât o rețea mondială de rezervare computerizată folosită
ca un singur punct de acces pentru locuri de avion, camere de hotel, închirieri de mașini, precum
și alte elemente legate de călătorie de către agenții de voiaj, rezervări online, site-uri și corporații
mari.
I. 2. Istoric și evoluție
Sistemele de rezervare ale companiilor aeriene au fost introduse pentru prima dată la
sfârșitul anilor 1950 ca sisteme de sine stătătoare relativ simple pentru a controla inventarul de
zbor, să mențină orarele de zbor, misiuni de încărcare a aeronavelor și de ocupare a scaunelor.
Istoria sistemelor de rezervari al unei companii aeriene a început la sfârșitul anilor 1950,
când American Airlines a avut nevoie un sistem care să permită accesul în timp real la detaliile
de zbor în toate birourile sale, precum și integrarea și automatizarea proceselor sale de rezervare
și de emitere a biletelor.
Ca rezultat a fost dezvoltat un mediu semi-automat de cercetare a business-ului și a fost
lansat în 1964 – Electromechanical Reservisor (Fig. 1) și reala descoperire a fost capacitatea
sa de a păstra inventarul corect în timp real, accesibil agenților din întreaga lume. Înainte de
aceasta, sistemele manuale necesitau centre de rezervare centralizate, grupuri de persoane într-
o cameră cu cardurile fizice care reprezentau inventarul, în acest caz, numărul de locuri din
avioane (Ross, 2013).
10
I. 3. Sisteme majore
ACCELaero2
1. aeroMART – sistem de servicii de bază pentru pasageri și comerț online care susține
vânzările cu amănuntul și retenția consumatorilor;
3. aeroLINE – suită care conduce spre productivitate înaltă gestionând optim business-ul.
Radixx International 3
2
Site-ul oficial - http://accelaero.com, [accesat la 1 septembrie 2016]
3
Site-ul oficial - https://www.radixx.com , [accesat la 1 septembrie 2016]
11
Fig. 2. Sistemul Radixx Galaxy
ameliaRES4
Este un sistem robust de servicii pentru pasageri complet: rezervare, bilete de avion,
tarif, gestionarea inventarului; precum și agent de turism, rezervări publice și check-in online,
și portaluri call center de rezervare cu un sistem complet de control al plecărilor pentru aeroport.
Acest produs este utilizat în prezent de către companiile aeriene low-cost, regionale și ale
corporațiilor din întreaga lume.
Crane PAX 5
Oferă o tehnologie de călătorie eficientă din punct de vedere a costurilor și soluții ale
companiilor de maximizare a profitabilității și a satisfacției clienților.
TTS este o divizie a Travel Incorporated, înființată în anul 1979; cea mai mare firmă din
Atlanta de management de turism cu capital independent și printre cele mai mari la nivel
național. TTS este specializată în furnizarea de tehnologie de gestiune a serviciilor care oferă
flexibilitate și scalabilitate la nevoile dinamice ale întreprinderilor, inclusiv executare, venituri
4
Site-ul oficial - http://www.intelisysaviation.com/index.php/products, [accesat la 1 septembrie 2016]
5
Site-ul oficial - http://www.hititcs.com, [accesat la 1 septembrie 2016]
6
Site-ul oficial - http://www.traveltechsolutions.com, [accesat la 1 septembrie 2016]
12
din contabilitate și depozitarea datelor globale cu servicii analitice și de raportare folosind
propriile platforme proprietare.
Este numită noua lume a comenzilor pentru companiile aeriene. Formula de succes e
asigurată de eficientizarea operațiunilor, creșterea rezultatelor, selectarea unor noi surse de
venituri și posibilitatea de concurare contra companiilor low-cost.
New Skies este următoarea generație de sisteme centrate pe client, care integrează
rezervarea online, rezervări call center, conectivitate GDS între companii și alianțe dintre
itinerarii, raportare în timp real, generarea de venituri auxiliare și capacități de control al
plecărilor.
Este o soluție fără sudură din industrie care stabilește puncte puternice de servicii și
vânzări – la nivel de web, de mobil, de chioșc și de agent. Vânzările și serviciile flexibile
îndreptate către client sunt unice, generatoare de venituri și capacități centrate pe client la
costuri mici.
În centrul său se regăsesc rezervările, cel mai popular sistem de control al plecărilor și
principalul motor de rezervare pe internet, susținute de stabilirea prețurilor, shopping, inventar,
bilete, cazare.
Acesta oferă cea mai cuprinzătoare gamă de servicii de administrare disponibile pentru
pasageri. Infrastructura sa este construită pe o platformă flexibilă a sistemelor de bază cerute
7
Site-ul oficial - http://www.navitaire.com/p_new_skies.aspx, [accesat la 1 septembrie 2016]
8
Site-ul oficial - http://www.sabreairlinesolutions.com/home/software_solutions/customer_sales_service/,
[accesat la 1 septembrie 2016]
9
Site-ul oficial - http://www.sita.aero/solutions-and-services/solutions/horizon-passenger-management-and-
distribution, [accesat la 1 septembrie 2016]
13
de fiecare companie aeriană, inclusiv rezervări, bilete, inventar, check-in, un control de plecare
și de greutate și echilibru.
Soluția dată este cu funcții bogate este scalabilă, rentabilă și suficient de adaptabilă
pentru a furniza blocuri de construcție pentru creștere transportatorilor, precum și lărgirea pieței
pentru cele ajunge scopurile bine stabilite.
Altea Res10
Este un sistem complet de servicii pentru pasageri, care oferă rezervare completă,
capacități de control al plecărilor și al inventarului, oferind o soluție unică, integrată. Sistemele
de servicii ale companiei aeriene pentru pasageri (SSP) sunt critice pentru misiune și reprezintă
niște platforme extrem de complexe. Pentru a migra în mod eficient și a opera astfel de sisteme
necesită un nivel deosebit de ridicat de expertiză tehnică.
KIU11
Acesta oferă fiecărei companii aeriene o suită de soluții integrate care contribuie la
optimizarea marketingului și a strategiei de management, garantând succesul funcționării,
adaptării cu flexibilitate la nevoile diferitor profiluri ale companiei.
- acesta este aliniat la toate criteriile de standardele industriale ale companiei aeriene care
garanteaza dinamica de execuție,
10
Site-ul oficial - http://www.amadeus.com, [accesat la 1 septembrie 2016]
11
Site-ul oficial - http://www.kiusys.com, [accesat la 1 septembrie 2016]
14
RESIBER12
Videocom VRS13
12
Site-ul oficial - https://sistemas.iberia.es/portal/site/WebSistemas/, [accesat la 1 septembrie 2016]
13
Site-ul oficial - [accesat la 1 septembrie 2016]
15
I. 4. Avantaje și dezavantaje ale sistemelor
Avantaje:
Maximizarea rezervărilor – în cazul în care cineva vrea să renunțe la bilet, acest lucru
se realizează simplu online, oferindu-i posibilitatea altui client sa-l rezerveze
Lipsa necesității telefonului – nu este nevoie ca personalul să fie prezent lângă telefon
în permanență pentru realizarea rezervărilor
Dezavantaje:
Prețul biletelor – majoritatea sistemelor fac publicitate biletelor ieftine, însă acestea vor
fi acoperite de taxe care le vor face să devină scumpe
I. 5. Operațiuni
Arhitectura
Funcții
16
II. Diagrame UML
UML nu este absolut complet și nu este complet vizual. Oferindu-se câteva exemple de
diagrame, nu este suficient pentru a înțelege comportamentul sistemului doar din diagramele
aparte. Unele informații pot fi omise intenționat, altele pot avea sensuri sau interpretări multiple,
unele concepte de UML nu au reprezentare grafică deloc.
Conform Tehnopedia, arhitectura UML este bazată pe facilitatea meta obiectelor, care
definesc fundamnetul creării limbajului de modelare. Acestea sunt suficient de exacte pentru a
genera o întregaă aplicație. Un limbaj complet executabil poate fi lansat pe diferite platforme
utilizând diferite tehnologii și poate fi folosit cu toate procesele pe tot parcursul ciclului de
dezvoltare de software.
17
II. 1. Diagrama cazurilor de utilizare
18
II. 2. Diagrama de activități
- punct de decizie în care există mai multe opțiuni de activități (ex. logare cu facebook,
cu google sau locală)
În figura 7 de mai sus este un exemplu de diagramă de stare cu număr finit de stări,
numărul acestora depinzând de alegerile utilizatorului aplicației. Componentele acestei
diagrame sunt:
1. accesare – a paginilor
5. înregistrare – pentru crearea unui cont
2. căutare – a zborurilor
6. rezervare – a biletelor pentru un zbor
3. selectare – a zborurilor
7. plată - a valorii biletului
4. logare – pentru a putea rezerva
- punctul de alegere dintre o stare și alta (de ex. între plată și căutare alt zbor)
20
II. 4. Diagrama de clase
Diagrama de clasă (Fig. 8.) reprezintă o diagramă de structură care descrie componența
sistemului, arătând clasele acestuia, atributele , metodele și relațiile dintre acestea. Legenda
diagramei ar fi următoarea:
- clasele între ele sunt conectate prin linii ce redau tipul de legătura
stabilită: unu la unu, unu la mulți sau mulți la mulți (în figură sunt
doar legături unu la mulți)
Semnul + înseamnă că atributul sau metoda este publică, semnul – presupune că metoda
e privată, semnul # - că este protejată.
Semnul / prevede o clasă derivată, pe când semnul ~ face apel la un întreg pachet.
21
II. 5. Diagrama de secvențe
22
III. Studiu de caz
Visual Studio .NET este un mediu de programare vizuală deținut de Microsoft pentru
crearea serviciilor web bazat pe utilizarea limbajul de marcare extensibil – XML. Suita
produsului furnizează o interfață vizuală pentru identificarea unui program ca serviciu web,
formulare pentru construirea unei interfețe pentru utilizator (inclusiv sprijin pentru interfețele
dispozitivelor mobile), proprietăți pentru integrarea unei aplicații existente și pentru depanare.
Visual Studio .NET vine împreună cu .NET Framework, inclusiv Common Language
Runtime și include câteva limbaje de programare precum Visual Basic, C++ și Visual
C#.Acesta este pentru toate trei nivele de capacitate și preț: Profesional, Enterprise Developer
(care include SQL Server de la Microsoft) și Enterprise Arhitect (care include produse Visio
pentru modelarea programului unei aplicații). Visual Studio .NET este, în general, comparabil
cu J2EE Sun Microsystems.
SQL a devenit, de facto, limbaj de programare standard pentru bazele de date relaționale,
după ce au apărut la sfârșitul anilor 1970, începutul anilor 1980. De asemenea, cunoscut sub
numele de baze de date SQL, sistemele relaționale cuprind un set de tabele care conțin date în
rânduri și coloane.
Un SQL standard oficial a fost adoptat de către Institutul Național de Standarde ANSI
(American), în 1986 și apoi de către Organizația Internațională de Standardizare, cunoscut sub
numele de ISO, în 1987. Mai mult de o jumătate de duzină de actualizări comune ale
standardului au fost eliberate de către cei doi standarde de organisme de dezvoltare atunci; ca
din acest scris, cea mai recentă versiune este SQL: 2011, aprobat în acel an.
23
III. 3. Aplicația
Studiul de caz reprezintă o aplicație web menită să simuleze procesul de rezervare și
vânzare a biletelor de avion pentru diferite itinerarii. Aceasta este denumită simbolic Plan Your
Trip, făcând referire la faptul că planificarea vacanțelor începe cu achiziționarea biletelor în
direcția în care necesitățile, dar în special dorințele vor fi satisfăcute.
Primul pas către realizarea bazei de date este stabilirea conexiunii cu serverul, care poate
fi efectuat prin selectarea tabului View ->Registered Servers (Fig. 10)
24
La desfășurarea Database Engine->Local Server Groups se va afișa numele serverului
necesar pentru acțiunile ulterioare. Apoi pentru a pute începe activitate de creare propriu-zisă
nu rămâne decât conectarea la aceste server, ferestră de dialog afișată în figura 12.
25
Fig. 14. Crearea unui nou tabel
Aceasta este cea mai simplă metodă de creare a tabelului, fiind necesar să se specifice
numele coloanelor, tipurile de date, dacă acceptă valori nule sau nu, cheile primare, externe,
unice, etc.
Tabelul FLIGHTS
Primul tabel este denumit generic – FLIGHTS – care este destinat să descrie un zbor
standard de avion. Coloanele descriptive sunt:
- flight_id = numarul de identificare a zborului, cheie primară a tabelului, de tip întreg
- from_location = locația de origine a zborului, de tip caracter
- to_location = locația finală a zborului, de tip caracter
- depature_date = data de plecare a avionului, de tip dată
- departure_time = timpul/ora de decolare a avionului, de tip timp
- arrival_time = timpul/ora de aterizare a avionului, de tip timp
- price = prețul unei călătorii într-o direcție, de tip valută
- available_seats = numărul de locuri disponibile pentru un itinerar, de tip întreg
26
Tabelul TICKET_INFO
Tabelul PASSENGER_PROFILE
27
Următorul tabel este destinat informațiilor personale despre utilizatori și/sau potențialii
pasageri. Numele tabelului – PASSENGER_INFO – denotă faptul că va conține informații
despre pasageri. Coloanele acestuia sunt:
- profile_id = numărul de identificare al unui pasager, cheie primară, de tip întreg
- first_name = prenumele pasagerului, de tip caracter
- last_name = numele pasagerului, de tip caracter
- address = adresa pasagerului, de tip întreg
- tel_no = numărul de telefon al pasagerului, de tip întreg
- email = adresa electronică, de tip întreg
Tabelul CREDIT_CARD_DETAILS
28
Pentru stabilirea legăturilor dintre tabele necesită a fi creată o diagramă de relații în
Database Diagrams, făcând clic dreapta și selectând New Database Diagram. Se deschide o
ferestră de dialog care permite alegerea tabelelor ce urmează a fi interconectate (Fig. 15)
Apoi între tabelele între care trebuie să fie o legătură se aleg câmpurile corespunzătoare
(de obicei, cu același nume) – Fig. 16
29
și se definesc criteriile legăturii conform Figurii 17.
După cum se observă din imagine, se selectează Installed -> Templates -> Visual C# -
> Web pentru a crea o aplicație ASP.NET Web Application (.NET Framework).
În acceași fereastră se stabilește și numele aplicației, în cazul dat fiind varianta ințială,
nu un nume specific. După care este necesar de a fi stabilit șablonul aplicației (Fig. 20)
31
După stabilirea criteriilor descrise anterior aplicația nou creată va avea o forma și o
structura prestabilită, demonstrată în Fig. 21.
32
Primul serviciul care va fi implementat este logarea cu Facebook. Pentru a crea
conexiunea cu aplicația, rândurile de mai sus vor fi decomentate și vor trebuie dobândite appId
și appSecret ale aplicației conectoare cu Facebook. Pentru a obține aceste informații trebuie
creată o aplicație specifică pe portalul de Facebook: developers.facebook.com.
În meniul My Apps este opțiunea Add a New App. În fereastra de dialog deschise se
selectează setări avansate, ajungând la fereastra de dialog prezentată în figura 23.
Înainte de rula aplicația mai este nevoie de stabilit url pe care va rula aceasta. Așadar,
se navighează către Properties->Web și se selectează Project URL (Fig. 24).
Momentan, aplicația este accesibilă doar pentru dezvoltator, nu și pentru public, adică
aplicația nu este activă. În setările aplicației se introduce o adresă de email pentru contact. Iar
în status & review – make app public (Fig. 25)
Aceleași informații sunt necesare și pentru aplicația de logare cu google. Acestea pot fi
obținute creând o aplicație pe console.developers.google.com. Se creează un nou proiect – My
App. Odată ce proiectul a fost creat, se slectează APIs & auth -> consent screen (Fig. 26).
Următorul pas este navigarea către Credentials->Create Client ID, în care opțiunea
selectată este cea de Web Application și URIs: http://localhost:51635/signin-google. ID-ul și
”secretul ” obținut trebuie introduc în codul specificat anterior.
După crearea acestor aplicații utilizatorii sistemului de rezervare vor avea o facilitate în
plus de logare, pentru a îmbunătăți serviciile oferite.
Mai intâi de toate, însă, pentru a putea furniza oricare servicii avem nevoie de stabili
conexiunea cu baza de date creată anterior. Pentru ca acest lucru să fie posibil trebuie instalat
pachetul corespunzător cu ajutorul Manage NutGet packages (Fig. 27)
34
Fig. 27. Gestiunea pachetelor
Se deschide tab-ul Online -> nutget.org, unde trebuie să fie bifat cu verde pachetul
EntityFramework – adică e instalat (în cazul de față e instalată versiunea 6.1.3).
Acum urmează să fie adăugat obiectul propriu-zis de tip Entity Framework. Cu un clic
dreapta pe proiect, se selectează Add->Add New Item->ADO.NET Entity Data Model(Fig. 28)
35
Fig. 29. EF Designer from database
Apoi din drop down list se alege conexiunea nou creată, generându-se automat o conexiune de
tip string a aplicației cu baza de date(Fig. 31).
36
Următorul pas presupune alegerea obiectelor și setărilor care vor fi incluse în model,
precum și cheile externe (Fig. 32)
La finisarea procesului vor fi create mai multe clase, corespunzătoare tabelelor din
cadrul bazei de date (Fig. 33)
namespace WebApplication
{
using System;
37
using System.Collections.Generic;
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage",
"CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<TICKET_INFO> TICKET_INFO { get; set; }
}
}
Asemenea acestei clase sunt auto-generate și celelalte trei clase. Toate acestea sunt
incluse într-un model, denumit generic model.edmx (Fig. 34)
namespace WebApplication.Models
{
38
public class FLIGHTSModel
{
public String InsertFlight(FLIGHTS flight)
{
try
{
PlanYourTripEntities db = new PlanYourTripEntities();
db.FLIGHTS.Add(flight);
db.SaveChanges();
db.SaveChanges();
}
catch (Exception e)
{
return "Error:" + e;
}
}
public String DeleteFlight(int id)
{
try
{
PlanYourTripEntities db = new PlanYourTripEntities();
}
catch (Exception e)
{
return "Error:" + e;
}
}
39
- TICKET_INFOModel – metodele modelului
public String InsertTicketInfo(TICKET_INFO ticket)
Următoarea pagină creată este cea de management a zborurilor pentru a putea adăuga
curse în baza de date (Fig. 34)
40
Această pagină are următoarele componente:
Etichete pentru fiecare text afișat
TextBox-uri pentru informația ce urmează a fi introdusă
ImageButton pentr afișarea calendarului
Calendar pentru alegerea facilă a datei
Button pentru efectuarea transmiterii datelor
Codul sursă:
using System;
using System.Web.UI;
using WebApplication.Models;
namespace WebApplication.Management
{
public partial class ManageFLIGHTS : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
txtDate.Text = DateTime.Today.ToString("yyyy/MM/dd");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
FLIGHTSModel model = new FLIGHTSModel();
FLIGHTS f = createFlight();
lblResult.Text = model.InsertFlight(f);
txtFrom.Text = "";
txtTo.Text = "";
txtDepTime.Text = "";
txtArrTime.Text = "";
txtPrice.Text = "";
txtSeats.Text = "";
}
private FLIGHTS createFlight()
{
FLIGHTS f = new FLIGHTS();
f.from_location = txtFrom.Text;
f.to_location = txtTo.Text;
f.departure_date = Convert.ToDateTime(txtDate.Text);
f.departure_time = TimeSpan.Parse(txtDepTime.Text);
f.arrival_time = TimeSpan.Parse(txtArrTime.Text);
f.price = Convert.ToDecimal(txtPrice.Text);
f.available_seats = Convert.ToInt32(txtSeats.Text);
return f;
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Calendar1.Visible = true;
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
txtDate.Text = Calendar1.SelectedDate.ToShortDateString();
Calendar1.Visible = false;
}
}
41
Acestă pagină populează tabelul FLIGHTS, dapt ce se poate verifica prin următorii
comandă SQL:
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [flight_id]
,[from_location]
,[to_location]
,[departure_date]
,[departure_time]
,[arrival_time]
,[price]
,[available_seats]
FROM [PlanYourTrip].[dbo].[FLIGHTS]
Doar introducerea datelor în tabel este insuficient pentru gestionarea facilă a datelor, de
aceea am mai creat o pagină de gestiune numită Manage Destinations.aspx (Fig. 36)
42
Pagina conține un gridview care permite afișarea datelor conținute de baza de date
datorită stabilirii conexiunii. Se selectează sursa de date (Fig. 37)
Mai apoi se stabilesc câmpurile care vor fi afișate în grid view prin configurarea selecției
(Fig. 38)
43
Alte specificații pentru grid view ar fi paginarea, sortarea, editarea și ștergerea, toate
fiind incluse direct în tabelul afișat (Fig. 40).
Acest lucru a fost obțiunut prin crearea unui filtru pentru datele din baza de date din trei
criterii diferite.
Codul sursă:
protected void btnSearch_Click(object sender, EventArgs e)
{
string Filter = "";
if (Filter.Length > 0)
{
string FinalFilter = Filter.Remove(Filter.Length - 4, 3);
SqlDataSource1.FilterExpression = FinalFilter;
}
else
{
GridView1.DataBind();
}
}
După vizualizarea posibilităților de zbor, utilizatorul poate rezerva un zbor numai dacă
acesta este logat, fapt impus prin următoarele linii de cod.
Codul sursă:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
//if (!string.IsNullOrWhiteSpace(Request.QueryString["id"]))
//{
45
string profileId = Context.User.Identity.GetUserId();
int id = 0;
Int32.TryParse(GridView1.SelectedRow.Cells[0].Text, out id);
if (profileId != null)
{
TICKET_INFO ticket = new TICKET_INFO
{
pass_guid = profileId,
flight_id = id,
ticket_date = DateTime.Now,
status = true
};
Dacă utilizatorul deja are cont pentru a rezerva un zbor, datele acestuia se vor trimite
catre baza de date, iar pe următoarea pagină (Fig. 43) vor fi afișate costul acestuia, tva și costul
final, precum și posibilitatea de a renunța la bilet sau totți de a-l achiziționa.
if(tickets != null)
{
foreach(TICKET_INFO ticket in tickets)
{
TICKET_INFO oldticket = db.TICKET_INFO.Find(ticket.ticket_id);
oldticket.ticket_date = DateTime.Now;
oldticket.status = false;
}
db.SaveChanges();
}
}
47
Concluzii
În ritmul alert al societății în care trăim, multe servicii sunt furnizate online sau sunt cu
livrare la domiciliu. Nimeni nu mai știe să aștepte și să aibă răbdare pentru că nimeni nu are
timp. De aceea, sistemele online care pot fi accesate oricând și de oriunde sunt la îndemâna
oricui pentru a satisface necesități și nevoi.
Un astfel de exemplu sunt și sistemele de rezervare online care facilitatea procedura,
astfel încât toate aspectele să poate fi prevăzute din timp și rezolvate în timp real. Apariția unor
astfel de sisteme a condus la prosperitatea companiilor aeriene, datorită avalanșei de noi
pasageri.
Dezavantajele acestor sisteme sunt adesea insesizabile, de aceea populația preferă
această posibilitatea în defavoarea celei tradiționale, într-o agenție stând de vorbă cu un agent.
De partea cealaltă a baricadei, ca muncitor în domeniul turistic, aceste entități oferă
posibilități și variante infinite de combinații pentru a putea gestiona în modul cel mai potrivit
acest business.
Sistemele de rezervare online sunt complexe și complete pentru a putea, pe de o parte,
furniza suficiente informații pentru planificarea și alegerea unei călătorii, iar, pe de altă parte,
de a stabili tendințe, necesități, etc. care prevalează pentru a ajuta afacerea să se dezvolte și să
prospere.
48
Bibliografie
Barlow, J. F., Valdivieso, T. A. M., Risal, A. G., Shah, V. R., Parmekar, S. G., Perumal,
R. V., ... & Peterson, J. A. (1997). U.S. Patent No. 5,652,867. Washington, DC: U.S.
Patent and Trademark Office.
Berardi, D., Calvanese, D., & De Giacomo, G. (2005). Reasoning on UML class
diagrams. Artificial Intelligence, 168(1), 70-118.
Blair, P., Hansen, K. L., & Seifert, D. (2006). U.S. Patent No. 7,117,183. Washington,
DC: U.S. Patent and Trademark Office.
Boies, S., Dinkin, S., Moskowitz, P., & Yu, P. (2000). U.S. Patent Application No.
09/747,815.
Cochrane, R., Pirahesh, H., & Mattos, N. (1996, September). Integrating triggers and
declarative constraints in SQL database systems. In VLDB (Vol. 96, pp. 3-6).
Dobing, B., & Parsons, J. (2006). How UML is used. Communications of the
ACM, 49(5), 109-113.
Evans, A., France, R., Lano, K., & Rumpe, B. (1998, June). The UML as a formal
modeling notation. In International Conference on the Unified Modeling Language (pp.
336-348). Springer Berlin Heidelberg.
Gogolla, M., & Presicce, F. P. (1998). State diagrams in uml: A formal semantics using
graph transformations-or diagrams are nice, but graphs are worth their price.
In University of Munich.
Goheen, J. R. (2000). U.S. Patent No. 6,094,640. Washington, DC: U.S. Patent and
Trademark Office.
Guckenheimer, S., & Perez, J. J. (2006). Software Engineering with Microsoft Visual
Studio Team System (Microsoft. NET Development Series). Addison-Wesley
Professional.
http://www.uml-diagrams.org
https://creately.com/app/?tempID=h165rwt81&login_type=demo#
49
https://en.wikipedia.org/wiki/Airline_reservations_system
Johnson, B., Skibo, C., & Young, M. (2003). Inside Visual Studio. NET. Microsoft
Press.
Keller, B., Melland, S., Isaac, M., LaRoy, G., & Krueger, M. (2001). U.S. Patent No.
6,304,850. Washington, DC: U.S. Patent and Trademark Office.
Kießling, W., & Köstler, G. (2002, August). Preference sql: design, implementation,
experiences. In Proceedings of the 28th international conference on Very Large Data
Bases (pp. 990-1001). VLDB Endowment.
Mehovic, F. (2000). U.S. Patent No. 6,122,642. Washington, DC: U.S. Patent and
Trademark Office.
Ohst, D., Welle, M., & Kelter, U. (2003, September). Differences between versions of
UML diagrams. In ACM SIGSOFT Software Engineering Notes(Vol. 28, No. 5, pp. 227-
236). ACM.
Rumbaugh, J., Jacobson, I., & Booch, G. (2004). Unified Modeling Language Reference
Manual, The. Pearson Higher Education.
Tuttle, J. R. (1999). U.S. Patent No. 5,914,671. Washington, DC: U.S. Patent and
Trademark Office.
50