Eliminarea unui obiect nedorit dintr-o imagine Conducător științific Autor Prof. Prejmerean Vasile Rus Cristian-Vlad 2018 1 CUPRINS Capitolul 1…. [609552]
UNIVERSITATEA BABEȘ-BOLYAI
FACULTATEA DE MATEMATIC Ǎ ȘI INFORMATIC Ǎ
SPECIALIZAREA INFORMATIC Ǎ
LUCRARE DE LICENȚĂ
Eliminarea unui obiect nedorit dintr-o imagine
Conducător științific Autor
Prof. Prejmerean Vasile Rus Cristian-Vlad
2018
1
CUPRINS
Capitolul 1. Caracteristici aplicații și tehnologii web 3
1.1 Introducere 3
1.2 Prezentare generală 3
1.3 Componentele principale ale aplicațiilor web 4
1.3.1 Redactarea documentelor web – HTML 4
1.3.2 Protocolul HTTP 6
1.3.3 Limbajul Javascript 8
Capitolul 2. Dezvoltarea aplicațiilor Web 10
2.1 Prezentare generală 10
2.2 Avantaje și dezavantaje în dezvoltarea aplicațiillor web 10
2.3 Arhitectura unei aplicații web 12
2.3.1 Avantaje și constrângeri ale arhitecturii aplicațiilor 12
2
1. Capitolul 1. Caracteristici aplicații și tehnologii web
1.1 Introducere
Termenul “web” este o abreviere ce provine de la termenul World Wide Web
(WWW) și reprezintă totalitatea documentelor și informațiilor compuse din structure
de tip hipertext ce sunt legate între ele, ce pot fi utilizate și accesate cu ajutorul rețelei
mondiale de internet. Aceste pot fi stocate în diferite locații, în diverse dispozitive
electronice, fiind accesate printr-o denumire sau identificator unic numit URL.
Aceste structuri de tip hipertext sunt randate și afișate cu ajutorul programelor
de navigare dezvoltate de-a lungul timpului, numite în limba engleză “browser”.
1.2 Prezentare generală
Principalele tehnologii ce au la bază dezvoltarea unei aplicații web sunt formate din:
HTTP – reprezintă protocolul folosit transferul de informații și resurse la nivelul
aplicațiilor și limbajul folosit pentru scriere informațiilor de tip hypertext, numit
HTML .
Cele doua tehnologii principale menționate mai sus, permit dezvoltarea
aplicațiilor de tip web, însă nu sunt în totalitate suficiente pentru dezvoltarea unor
aplicații complexe sau mai avansate. Au apărut diverse limbaje de programare și
criptare a informațiilor care conlucrează cu aceste două tehnologii și au ca rol
principal folosirea ultimelor tehnologii existente în materie de aplicații web. Printre
acestea sunt de luat în considerare limbajele de programare ce sunt utilizate atât la
nivel de funcționalitate (PHP) cât și la nivel de interfață cu utilizatorul (Javascript,
jQuery), limbaje ce vor fi prezentate în capitolele ce urmează. De asemenea, o
întrepătrundere utilizabilă în aplicațiile web este realizată la nivelul modalităților și
procesului de afișare a informațiilor existente în paginile web, incluzând interfața cu
utilizatorul, modalitate ce se realizeaza cu ajutorul unui limbaj de stil (en: “style
3
language”) numit CSS (“Cascading Style Sheets”), subiect ce va fi tratat și prezentat de
asemenea în următoarele capitole.
1.3 Componentele principale ale aplicațiilor web
Componentele principale ale aplicațiilor web sunt formate din cele două tehnologii
precizate mai sus, și anume: HTTP și HTML. Pentru dezvoltarea unei aplicații web
simple sunt suficiente doar aceste două, însă pentru aplicații complexe apar
înterpatrunderea mai multor limbaje de programare, scripting și de stilizare.
1.3.1 Redactarea documentelor web – HTML
Componentele principale ale aplicațiilor web sunt formate din cele două tehnologii
precizate mai sus, și anume: HTTP și HTML. Pentru dezvoltarea unei aplicații web
simple sunt suficiente doar aceste două, însă pentru aplicații complexe apar
înterpatrunderea mai multor limbaje de programare, scripting și de stilizare.
Fișierele HTML ( H yper T ext M arkUp L anguage) sunt formate și alcătuite
dintr-un limbaj de marcare (limbaj hipertextual) ce are la bază un stil de compoziție
numit markup . Acest tip de fisier markup, se referă la o secvență de caractere sau alte
simboluri special numite etichete sau taguri, ce sunt inserate la nivelul unui text
pentru a putea fi ulterior randate intr-un mod diferit. Randarea diferită poate fi
realizată la nivelul fontului textului, culoarea, dimensiunea sau poziția. Modificarea
textelor de tip HTML se realizează cu orice editor de text cunoscut (exemplu: Notepad,
Notepad++, SublimeText), însă randarea continutului acestor tip de fișiere se
realizează cu ajutorul browserelor.
Din punct de vedere sintactic, tag-urile de tip HTML sunt reprezentate ca fiind
simboluri sugestive delimitate de paranteze unghiulare (< , >). Etichetele sunt folosite
cel mai des cu perechi, având ca rol delimitarea unei porțiuni de text ce primește
proprietatea respectivă. Prin urmare, textul ce primește o proprietate va fi incadrat
intre o eticheta de start la început și o etichetă de final la final, etichetă ce va avea in
plus față de cea inițială simbolul “/”. De exemplu, eticheta de început <b> are eticheta
caracteristică de final “</b>”.
4
Având în vedere evoluția in timp a fișierelor de tip HTML, s-a constat un
progres imens la nivel de dezvoltare și interpretare a acestora. Astfel că, dacă la
începutul apariției fișierelor de tip HTML, se foloseau etichete simple care în
combinație ofereau rezultatul dorit, acum limbajul de markup s-a dezvoltat (HTML 5),
oferind utilizatorilor și dezvoltatorilor posibilități ce duc la o muncă mai ușoară și mai
plăcută. Astfel, s-au introdus diferite tag-uri noi care oferă au aceeași funcționalitate
cu o combinație mult mai complicată de etichete din versiunile anterioare, având ca
scop dezvoltarea unor aplicații web cât mai complexe.
Pentru a oferi aplicațiilor web o structură cât mai interactivă s-a introdus
includerea sau inserarea unor asa-numite scripturi (doar in partea de client) ce se vor
executa la incărcarea browserului sau la aplicarea unui eveniment pe pagina. Cel mai
des folosit limbaj de scripting este bine-cunoscutul Javascript care pentru inserarea în
cadrul fisierelor de tip HTML se vor folosi etichetele de tip: <script></script> ce vor fi
incluse in partea de inceput a documentului, in <head>. De asemenea ele pot fi incluse
și in <body>, însă diferența față de includerea lor in tag-ul de <head> unde ele vor fi
apelate doar la acțiunea unui eveniment, este că ele vor fi executate la încarcarea
paginii web a browserului.
Odată cu apariția versiunii HTML 4, este introdusă și proprietatea de stilizare a
documentelor/etichetelor de tip html printr-un nou tip de limbaj de stil, numit CSS
( Cascade Style Sheet ). Datorită proprietăților sale, conține un set de reguli și proprietăți
care vor dicta browserului cum vor fi afișate etichetele de tip html.
5
1.3.2 Protocolul HTTP
Protocolul HTTP ( H yper T ext T ransfer P rotocol) reprezintă metoda cea mai des
utilizată ce are ca scop accesarea informațiilor ce sunt memorate pe servere de tip
World Wide Web (WWW). HTTP reprezintă protocolul implicit al aplicațiilor web,
ceea ce înseamnă că, în cazul accesării unei aplicații web nu este trecut protoculul http
in textul de accesare URL (www.exemplu.ro), atunci acesta este luat ca implicit. De 1
asemenea, HTTP presupune că pe dispozitivul electronic ce are rolul de “destinație”
rulează un program care întelege protocolul. Fișierele transmise la destinație pot fi
documente HTML, fișiere grafice, fișiere de sunete, animație sau video, un program de
tip executabil pe server-ul respective sau un editor de text.
Protocolul HTTP este crat cu scopul de a realiza schimburi, într-un mod
distrbuit, în internet și drept urmare exploatează un system standard de adresare a
resurelor. Resursele HTTP sunt identificate prin URL, având următorul format:
http: // <host> [:port] [<path> [? <query>]]
1 U R L – reprezintă un localizator uniform de resurse și reprezintă o secvență de caractere folosită în
denumirea, localizarea și identificarea unor resure sau pagini in Internet.
6
Modul de funcționare este dat prin tehnica de comunicare prin care paginile web
sunt transmise de la un calculator la altul, aflate la o distanță oarecare unul față de
celelalt. Ca prim pas, este accesat un url (ex: http://www.exemplu.ro) prin care se cere
afișarea unor informații de tip html. Ca process principal, în primă fază numele url-ui
este convertit de protocoulul DNS într-o adresă IP. Cu ajutorul protocolului TCP
( Transmission Control Protocol) pe portul standard 80 al serverului HTTP, este transmisă
informația cerută. Răspunsul returnat poate să conțină informații aleatore cu privire
la cerea realizată inițial (Figura 1.4). Informațiile se pot structura în informații ce țin
de browserul de pe care a fost facută cererea, parametrii, etc.
Figura 1.1 – Comunicare protocol HTTP între client și server [3]
Câteva aspecte de precizat necesare asupra protocolului HTTP, aspecte ce au
stat la baza dezvoltării aplicațiilor de tip web de-a lungul timpului:
– Interacțiunea între client și server are loc doar in momentul în care clientul
solicită serverul, prin urmare nu exista niciun mod prin care serverul poate
solicita din nou clientul (cererea de la client la server poate fi considerată
unidirecțională). Astfel, informarea clienților nu poate fi utilizată decât
doar daca se folosește protocolul HTTP.
– Fiecare cerere a unui client este interpretată și tratată de serverul web
independent. Astfel că în cazul in care un client trimite două cereri, serverul
va interpreta independent, la fel ca si cum ar veni cererile de la doi clienți
diferiți.
– In cazul în care se dorește păstrarea unui istoric aspura cererilor și
răspunsurilor între un client și un server, datorită proprietăților
protocolului HTTP, care nu reține in niciun fel o “sesiune” a unui client, va fi
7
nevoie de o implementare externa, utilizând alte proceduri de a stoca
informațiile sau sesiunile.
1.3.3 Limbajul Javascript
Partea de interfață cu utilizatorul reprezintă un element important în ziua de azi, când
aplicațiile web se doresc cât mai funcționale din partea de client și cât mai stilizate din
punct de vedere al design-ului.
In ajutorul acestor cerințe apare noțiunea de JavaScript (JS) care reprezintă un
limbaj de programare pentru scripting orientat obiect bazat pe conceptul de
prototipuri. Acest limbaj de programare este este folosit in special pentru introducerea
unor funcționalități pe paginile web, codul caracteristic fiind rulat și interpretat la fel
ca și HTML, de către browser. Cel mai des este utilizat în aplicațiile web pentru
validări ce țin de introducerea datelor, crearea de meniuri sau efecte animate ale unor
elemente HTML.
Modalitatea de funcționare se bazează pe faptul că browserele rețin în memorie
o copie/imagine a unei pagini web, sub forma unor arbori de obiecte ce ulterior sunt
luate și folosite de către scripturile redactate in JavaScript care le pot citi, interpreta și
prelucra. Acest arbore de obiecte al paginii web este numit: Document Object Model
(DOM) și este caracterizat printr-un standard ce îl oferă World Wide Web Consortium
pentr toate browserele active la ora actuală, care însă în practică este incomplete
implementat. Există posibilitatea prin care browserele randează în mod diferit codul
de script, funcționalitatea fiind afectată în cazul rulării pe browsere diferită.
Din punct de vedere al sintaxei, codul JavaScript seamană îndeaproape cu codul
limbajului de programare C++. De asemenea acest limbaj conține o listă amplă de
funcții si comenenzi ce au rol să ajute la operații matematice, maipulări de șiruri,
sunete, imagini, obiecte și fereseste ale browserului, validări de introducere a datelor.
Pentru introducerea codului de tip JavaScript in cadrul unui fișier de tip HTML
sunt utilizate etichetele speciale, care vor defini începutul și sfârșitul codului de
scripting:
<script type=”text/javascript”> </script>
<script language=”JavaScript”> </script>
8
Sunt cunoscute câteva proprietăți ale limabajului de scripting Javascript:
JavaScript reprezintă un limbaj dependent de mediu, astfel încât fiind un limbaj de
scriptare, el rulează la nivelul browserului fiind in totalitate interpretat și rulat de
către acesta. Codul este in totalitate interpretat de browser inainte de a fi executat.
Prin urmare nu necesita compilări sau preprocesări, ci ramane parte integrantă a
documentului HTML. Dezavantajul la acest nivel este reprezentat de faptut că
JavaScript va rula mai încet în comparație cu alte limbaje de programare ce compun o
aplicație web deoarece codul va fi citit de navigatorul curent pe care este apelat.
JavaScript are posibilitatea de fi introdus in fișiere format HTML – majoritatea
obiectelor JavaScript au etichete HTML pe care le reprezintă, astfel încât programul
este inclus pe partea de client.
Javascript este un limbaj ce se bazează pe obiecte, modelul obiect fiind bazat pe
instanță și nu pe moștenire.
Marea majoritatea a codului scris în JavaScript este bazat pe evenimentele ce au loc la
nivelul interfeței cu uitlizatorul pe browserul curent pe care este folosit. De asemenea
poate răspunde și la evenimente generate de sistem.
Este un limbaj multifuncțional care interpretează și rezolvă direct în browser uneori
fără a mai fi nevoie de apeluri către server. Un bun exemplu ar fi unele grafice
matematice, operații matematice, calculatoare care sunt create direct și randate direct
în browser cu ajutorul acestui limbaj.
Evoluția JavaScript este foarte rapidă, dorindu-se aducerea multor
funcționalități pe care o aplicație web le realizează cu serverul, pe partea de client
direct. De asemenea utilizarea lui este din ce în ce mai dezovoltată la nivelul multor
tehnologii. O dezvoltare și o extindere de tip JavaScript este binecunoscută în
limbajele create având la bază acest limbaj de scripting: AJAX și jQuery 2 3
2 A J A X – Asynhronous Javascript and XML– tehnică de programare pentru creare de aplicații interactive
[2]
3 j Q u e r y – platform de dezovltare bazată pe JavaScript concepută pentru a ușura și îmbunătăți procese
precum traversarea arborelui DOM în HTML.[19]
9
Capitolul 2. Dezvoltarea aplicațiilor Web
2.1 Prezentare generală
Dezvoltarea unei aplicatii web este cuprinsă din mai multe etape ce trebuiesc
parcurse in vederea obținerii rezultatului final dorit. Aceaste etape au proprietatea de
a fi bine structurate și precise, pentru ca atunci când se finalizează aplicația să se poată
identifica fiecare pas parcurs în vederea soluțiounarii și dezvoltării aplicației dorite.
Dezvoltarea aplicațiilor web pot fi privite din mai multe puncte de vedere:
– tehnic – din punct de vedere tehnic, dezvoltarea unei aplicații web
complexe, presupune utilizarea mai multor tipuri de tehnologii sau limbaje
de programare, care întrepatrunse pot să ruleze o aplicație bine definită.
Este de asemenea foarte importantă o arhitectură bine definită încă de la
inceputul nivelului de dezvoltare.
– în ceea ce priveste dezvoltarea pe partea de resurse umane, este necesara
implicarea unui număr variabil de personal ce detin abilități și capacități
diferite. Fiecare dintre aceștia, este dezvoltat și concentrat pe partea lui de
nivel de cunoștințe, fiind reunite in realizarea obiectivului final, aplicația
web complex funcțională. Astfel, vor fi implicați dezvoltatori cu cunoștinte
de baze de date, de programare functională, de programare la nivel de
interfață cu utilizatorul, dar precum și cei cu abilitati de managment.
– cerințe – în funcție de cerințele ințiale ale aplicatiei web realizarea unui
proces de dezvoltare poate fi bine stabilit încă de la inceputurile dezvoltării
acesteia. Insă, pe parcursul procesului de dezvoltare pot apărea diferinte
cerințe noi care pot sau nu afecta bunul mers în dezvoltarea aplicațiilor.
Prin urmare, dezvoltarea aplicațiilor web cuprinde mai mulți pași necesari ce
trebuie parcurși in vederea obtinerii unui rezultat dorit.
2.2 Avantaje și dezavantaje în dezvoltarea aplicațiillor web
Dezvoltarea și scrierea unei aplicații web poate fi o activitate valoroasă , dar
10
care însa poate implica unele probleme potențiale. In momentul dezvoltării unei
aplicații web, sunt de luat în considerare câțiva factori principali care au ca scop
determinarea avantajului dezvoltării aplicației sau problemele ce pot apărea pe
parcursul dezvoltării acesteia. O aplicație poate implica o mulțime de tehnologii,
limbaje de programare, limbaje de scripting și de marcare, dar și dezvoltarea la nivelul
cu bazele de date și design-ului grafic. Sunt de luat în calcul mai multe aspecte care pot
crea avantaje sau dezavantaje, cum ar fi:
– Funcționalitate – determinarea principalului avantaj în scrierea și
dezvoltarea unei aplicații web este dată de funcționalitatea acesteia. In
comparație cu unele site-uri statice ce sunt create doar din cod de tip
hipertext, HTML și CSS. Aplicațiile pot oferi însa un nivel ridicat de
interacțiune față de utilizator. Astfel că daca se dorește dezvoltarea unei
aplicații complexe, este necesară includerea mai multor tipuri de limbaje de
programare sau scripting, reprezentând un dezavantaj pentru o persoană
cu cunoștinte de bază la nivel de aplicații web. El are nevoie să studieze și să
învețe noile structuri ce urmează a fi incluse în aplicația web.
– Abilități – un dezavantaj pentru scrierea de aplicații web este dat de setul
necesar de informații ce trebuie să le dețină personalul implicat în
dezvoltare. In funcție de cerințele aplicației, un dezvoltator sau o echipă de
dezvoltatori trebuie să dețină informațiile și cunoștințele necesare
tehnologiilor folosite. Limbajele principale de programare, PHP sau ASP,
sunt adesea combinate cu limbaje de scripting, JavaScript, pe partea de
client, sau cu limbajele de baze de date (MySql) sau XML care întrepătrunse
oferă aplicația complexă web dorită. De asemenea, dacă este necesară
dezvoltarea unuei interfețe cu utilizatorul specială, trebuie implicate
tehnologii și personal ce au cunoștințe legate de crearea și dezvoltarea de
design.
– Intreținere – nivelul de complexitate al unei aplicații web este poate avea un
effect negativ asupra întreținerii. Astfel că, nivelul de calificare necesar în
pregatirea și dezvoltarea acestor aplicații este foarte important pentru
viitoarele evoluții sau dezvoltări ale aplicațiilor web. De cele mai multe ori
aplicațiile web au nevoie de rafinament, iar odată ce sunt în funcțiune,
11
procesul de dezvoltare poate fi continuat pentru o altă perioadă de timp.
Sunt de luat în calcul modificările ulterioare ce pot apărea la nivelul unei
aplicații web, modificarea limbajelor surse în funcție de cerințele
deținătorului aplicației, sau diferitele configurări pentru server și
singuranță ce pot afecta procesul optim pentru dezvoltare.
2.3 Arhitectura unei aplicații web
2.3.1 Avantaje și constrângeri ale arhitecturii aplicațiilor
Fiecare arhitectură propusă și dezvoltată va fi compusă atât din avantaje cât și
din dezavantaje ce vor avea un rol definitor asupra aplicației ce urmează a fi
dezvoltată. Astfel că, fiecare arhitectură trebuie să asigure și să atingă un nivel adecvat
de cerințe ce fac referire la următoarele caracteristici:
– Scalabilitate – arhitectura inițiala trebuie să aibă posibilitatea de a fi extinsă în
cazul apariției unor cerințe noi ulterioare, fiind direct proporțională cu
volumul de muncă ce urmează să fie depus
– Perfomanță – răspunsul fiecărei aplicații la nivelul utilizatorilor trebuie sa fie
încadrat într-un timp optim care va avea un rol definitor în impresiile
oferite de aplicație asupra acestora. De asemenea, aplicația trebuia să
răspundă fără erori la un nivel mare de încarcare în ceea ce privește
utilizatorii, fiind evitate momentele în care aplicația s-ar putea opri din
cause precum traficul.
– Fiabilitate – conținutul și funcționalitatea aplicației create să răspundă
corespunzător pe o perioadă cât mai lungă de timp, caracteristică ce are un
rol important în proiectarea inițială a arhitecturii, deoarece, modificările
ulterioare ale funcționalităților vor avea un impact negative asupra
utilizatorilor ce deja au folosit aplicația dezvoltată. De asemenea, apariția
erorile să nu afecteze modul optim de rulare al aplicației. Apariția oricărui
defect al arhitecturii nu trebuie să întrerupă serviciile oferite de aplicație.
– Securitatea – toate informațiile și conexiunile folosite sau realizate ce au
legatură direct între aplicație și utilizatori, trebuie protejate, iar fiecare
12
utilizator al aplicației trebuie identificat în cazul apariției unor erori de
sistem cauzate intenționat.
Arhitectura unui program web, poate fi afectat de anumite constrângeri, care
pot afecta luarea deciziilor și bunul mers în dezvoltarea arhitecturii:
– Complexitatea – dezvoltarea unei arhitecturi mai simple este de preferat
uneori decât o arhitectură prea complexă, deoarece aceasta poate duce la o
dezvoltare și o întreținere mai ușoară în timp a aplicației dezvoltate.
– Costul – bugetul și costul inițial pot fi stabilite în arhitectura aplicației, însă
există posibilitatea prin care costul este afectat în urma deciziilor luate
greșit în arhitecturarea aplicației. Costul se poate referi la resurse hardware,
software, licențe sau de personal.
– Decizii software – deciziile luate la nivelul software pentru arhitectura
aplicației, de asemenea pot reprezenta o constrângere în dezvoltarea
aplicației, deoarece alegerea inițială a unui soft neadecvat, necorespunzător
sau neperfomant, poate face ca aplicația să prezinte erori în funcționare
după lansare.
13
Bibliografie :
[1]
http://www.upm.ro/facultati_departamente/stiinte_litere/conferinte/situl_integrare
_europeana/Lucrari/Ispas.pdf – Ioan Ispas
[2] http://ro.wikipedia.org/wiki/AJAX
[3] https://ro.wikipedia.org/wiki/Hypertext_Transfer_Protocol
14
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Eliminarea unui obiect nedorit dintr-o imagine Conducător științific Autor Prof. Prejmerean Vasile Rus Cristian-Vlad 2018 1 CUPRINS Capitolul 1…. [609552] (ID: 609552)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
