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… [609553]
UNIVERSITATEA „BABE
Ș
-BOLYAI”
FACULTATEA DE MATEMATICǍ
Ș
I INFORMATICǍ
SPECIALIZAREA INFORMATICǍ
Lucrare de diplomă
Eliminarea unui obiect nedorit
dintr-o imagine
Conducător științific
Absolvent: [anonimizat]. dr.
Vasile Prejmerean
Rus
Cristian-Vlad
Cluj-Napoca
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țiilor web
10
2.3 Arhitectura unei aplicații web
12
2.3.1 Avantaje și constrângeri ale arhitecturii aplicațiilor
12
2.4 Construcția și implementarea unei aplicației web la nivel funcțional
12
Capitolul 3. Eliminarea unui obiect nedorit
15
3.1 Introducere
15
3.2 Detectarea conturului – Contur activ
15
3.2.1 Contururi active geodezice morfologice(MorphGAC)
15
3.2.2 Contururi active fără margine(MorphACWE)
15
3.3 Image inpainting (umplerea spatiului sters)
15
Capitolul 4. Aplicație
15
Capitolul 5. Concluzii
15
2
1.
Capitolul 1. Caracteristici ale aplicațiilor și tehnologiilor web
1.1 Introducere
Termenul
“web”
este
o
prescurtare
ce
provine
de
la
termenul
World
Wide
Web
(WWW)
ș
i
reprezintă
totalitatea
informa
ț
iilor
compuse
din
struc turi
de
tip
hipertext(html)
ș
i
alte
tipuri
de
resurse
imagini,
videoclipuri…
sunt
legate
între
ele.
Acestea
pot
fi
utilizate
ș
i
accesate
cu
ajutorul
internetului,
pot
fi
stocate
în
diferite
loca
ț
ii,
în
diverse
dispozitive
,
fiind
accesate printr-o denumire sau identificator unic numit URL(uniform resource locators).
Aceste
structuri
de
tip
hipertext
sunt
randate
ș
i
afi
ș
ate
cu
ajutorul
programelor
de
navigare dezvoltate de-a lungul timpului, numite navigatoare web(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
hipertext,
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ța
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
realizează
cu
ajutorul
unui
limbaj
de
stil
(en:
“style
language”)
numit
CSS
(“Cascading
Style
Sheets”),
subiect
ce
va
fi
tratat
și
prezentat
de
3
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 întrepătrunderea 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 întrepătrunderea 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
fișier
markup,
se
referă
la
o
secventă
de
caractere
sau
alte
simboluri
special
numite
etichete
sau
taguri,
ce
sunt
inserate
la
nivelul
unui
text
pentru
a
putea
fi
ulterior
randate
într-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
conținutului
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
încadrat
intre
o
eticheta
de
start
la
început
și
o
etichetă
de
final
la
final,
etichetă
ce
va
avea
în
plus
fata
de
cea
inițiala
simbolul
“/”.
De
exemplu,
eticheta
de
început
<b>
are
eticheta
caracteristică de final “</b>”.
Având
în
vedere
evoluția
în
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
4
î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
în
partea
de
client)
ce
se
vor
executa
la
încă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
fișierelor
de
tip
HTML
se
vor
folosi
etichetele
de
tip:
<script></script>
ce
vor
fi
incluse
în
partea
de
început
a
documentului,
în
<head>.
De
asemenea
ele
pot
fi
incluse
și
în
<body>,
însă
diferența
fata
de
includerea
lor
în
tag-ul
de
<head>
unde
ele
vor
fi
apelate
doar
la
acțiunea
unui
eveniment,
este
că
ele
vor
fi
executate
la
încărcarea
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
protocolul
http
în
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
înțelege
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
distribuit,
în
internet
și
drept
urmare
exploatează
un
sistem
standard
de
adresare
a
resurselor. Resursele HTTP sunt identificate prin URL, având următorul format:
http: // <host> [:port] [<path> [? <query>]]
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
celălalt. 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 proces principal, în primă fază numele
URL-ului este convertit de protocolul 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 aleatoare
cu privire la cererea realizată inițial (Figura 1.1). Informațiile se pot structura în
informații ce țin de browserul de pe care a fost făcuta cererea, parametrii, etc.
Figura 1.1
– Comunicare protocol
HTTP între client și server
1
U R L
– reprezintă un localizator uniform de resurse
ș
i reprezintă o secven
ț
ă de caractere folosită în
denumirea, localizarea
ș
i identificarea unor resurse sau pagini în Internet.
6
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
în
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 dacă se folosește protocolul HTTP.
–
Fiecare
cerere
a
unui
client
este
interpretată
și
tratată
de
serverul
web
independent.
Astfel
că
în
cazul
în
care
un
client
trimite
două
cereri,
serverul
va
interpreta
independent,
la
fel
ca
și
cum
ar
veni
cererile
de
la
doi
clienți
diferiți.
–
In
cazul
în
care
se
dorește
păstrarea
unui
istoric
asupra
cererilor
și
răspunsurilor
între
un
client
și
un
server,
datorită
proprietăților
protocolului
HTTP,
care
nu
reține
în
niciun
fel
o
“sesiune”
a
unui
client,
va
fi
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
în
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
în
JavaScript
care
le
pot
citi,
interpreta
și
prelucra.
Acest
arbore
de
obiecte
al
paginii
web
este
numit:
Document
Object
Model
7
(DOM)
și
este
caracterizat
printr-un
standard
ce
îl
oferă
World
Wide
Web
Consortium
pentru
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
seamănă
îndeaproape
cu
codul
limbajului
de
programare
C++.
De
asemenea
acest
limbaj
conține
o
listă
amplă
de
funcții
și
comenzi
ce
au
rol
să
ajute
la
operații
matematice,
manipulări
de
șiruri,
sunete, imagini, obiecte și ferestre ale browserului, validări de introducere a datelor.
Pentru
introducerea
codului
de
tip
JavaScript
în
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>
Sunt cunoscute câteva proprietăți ale limbajului de scripting JavaScript:
JavaScript
reprezintă
un
limbaj
dependent
de
mediu,
astfel
încât
fiind
un
limbaj
de
scriptare,
el
rulează
la
nivelul
browserului
fiind
în
totalitate
interpretat
și
rulat
de
către
acesta.
Codul
este
în
totalitate
interpretat
de
browser
înainte
de
a
fi
executat.
Prin
urmare
nu
necesita
compilări
sau
preprocesări,
ci
rămâne
parte
integrantă
a
documentului
HTML.
Dezavantajul
la
acest
nivel
este
reprezentat
de
faptul
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
în
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
utilizatorul
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
8
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
dezvoltată
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
AJAX
– reprezinta un grup de tehnologii de dezvoltare bazate pe arhitectura client-server care
permit părților de pagină web să fie actualizate fără a trebui să reîncărcați întreaga pagină [1]
3
jQuery
–jQuery este o bibliotecă care face mai rapidă și mai ușoară să construirea paginilor Web
și aplicațiilor web JavaScript. De multe ori cu jQuery puteți scrie o singură linie de cod pentru a realiza
ceea ce ar fi luat 10-20 de linii de cod JavaScript obișnuit.[2]
9
Capitolul 2. Dezvoltarea aplicațiilor We b
2.1 Prezentare generală
Dezvoltarea
unei
aplicații
web
este
cuprinsă
din
mai
multe
etape
ce
trebuiesc
parcurse
în
vederea
obținerii
rezultatului
final
dorit.
Aceste
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ționării și dezvoltării aplicației dorite.
Dezvoltarea aplicațiilor web pot fi privite din mai multe puncte de vedere:
–
din
punct
de
vedere
tehnic,
dezvoltarea
unei
aplicații
web
complexe,
presupune
utilizarea
mai
multor
tipuri
de
tehnologii
sau
limbaje
de
programare,
care
întrepătrunse
pot
să
ruleze
o
aplicație
bine
definită.
Este
de
asemenea
foarte
importantă
o
arhitectură
bine
definită
încă
de
la
începutul nivelului de dezvoltare.
–
în
ceea
ce
privește
dezvoltarea
pe
partea
de
resurse
umane,
este
necesara
implicarea
unui
număr
variabil
de
personal
ce
dețin
abilitați
și
capacități
diferite.
Fiecare
dintre
aceștia,
este
dezvoltat
și
concentrat
pe
partea
lui
de
nivel
de
cunoștințe,
fiind
reunite
în
realizarea
obiectivului
final,
aplicația
web
funcțională.
Astfel,
vor
fi
implicați
dezvoltatori
cu
cunoștințe
de
baze
de
date,
de
programare
funcțională,
de
programare
la
nivel
de
interfață
cu
utilizatorul.
–
cerințe
–
în
funcție
de
cerințele
inițiale
ale
aplicației
web
realizarea
unui
proces
de
dezvoltare
poate
fi
bine
stabilit
încă
de
la
începuturile
dezvoltării
acesteia.
Însă,
pe
parcursul
procesului
de
dezvoltare
pot
apărea
diferite
cerințe noi care pot sau nu afecta bunul mers în dezvoltarea aplicațiilor.
2.2 Avantaje și dezavantaje în dezvoltarea aplicațiilor web
Dezvoltarea
unei
aplicații
web
poate
fi
o
activitate
valoroasă
,
dar
care
însa
poate
întâmpina
probleme.
In
momentul
dezvoltării
unei
aplicații
web,
sunt
de
luat
în
considerare
câțiva
factori
principali
care
au
ca
scop
determinarea
avantajului
10
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ă
dacă
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ștințe
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.
–
Abilitaț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
care
întrepătrunse
oferă
aplicația
complexă
web
dorită.
De
asemenea,
dacă
este
necesară
dezvoltarea
unei
interfețe
cu
utilizatorul
specială,
trebuie
implicate
tehnologii
și
personal
ce
au
cunoștințe
legate
de
crearea
și
dezvoltarea de design.
–
Întreținere
–
nivelul
de
complexitate
al
unei
aplicații
web
este
poate
avea
un
efect
negativ
asupra
întreținerii.
Astfel
că,
nivelul
de
calificare
necesar
în
pregătirea
ș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,
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
folosite
în
funcție
de
cerințele
deținătorului
aplicației,
sau
diferitele
11
configurări
pentru
server
și
siguranță
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ă
să
fie
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țială
trebuie
să
aibă
posibilitatea
de
a
fi
extinsă
în
cazul apariției unor cerințe noi.
–
Performantă
–
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
încărcare
în
ceea
ce
privește
utilizatorii,
fiind
evitate
momentele
în
care
aplicația
s-ar
putea
opri
din
cauze 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
negativ
asupra
utilizatorilor
ce
deja
au
folosit
aplicația
dezvoltată.
De
asemenea,
apariția
erorilore
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.
2.4 Construcția și implementarea unei aplicației web la nivel funcțional
Nivelul
funcționalității
unei
aplicații
web
poate
fi
dat
prin
totalitatea
elementelor
ce
construiesc
o
aplicație
complexă
ce
se
întrepătrund
în
momentul
închegării
finale.
Astfel
că
o
aplicație
funcțională
cuprinde
elemente
și
caracteristici
ce
încep
de
la
nivelul
setărilor
serverelor
care
vor
utiliza
aplicația
până
la
nivelul
12
interfeței și interacțiunii cu utilizatorul.
Astfel
că
funcționarea
optimă
a
unei
aplicații
web va fi dată de participarea următorilor actori:
–
Analist
–
va
prelua
toate
datele
inițiale
ale
cerințelor
de
afaceri,
le
va
interpreta
și
prelucra
pentru
ca
ulterior
să
poată
fi
transformate
în
cerințe
pentru dezvoltare.
–
Arhitect
–
procesează
datele
primate
de
la
analist,
creează
o
viziune
generală
asupra
proiectului
ce
urmează
a
fi
dezvoltat.
De
asemenea,
are
rol
în
crearea
unui
model
conceptual
al
aplicației
pentru
ca
ulterior
să
poată
fi
prezentat
echipei.
–
Designer
–
bazat
pe
datele
analizate
de
arhitect
și
cerințelor,
acesta
dezvoltă
diverse interpretări ale datelor respective transpuse în planșe de design.
–
Dezvoltatorul
(developer)
–
bazat
pe
design-ul
realizat
și
aprobat,
el
va
realiza
integrarea
efectivă
a
planșelor
la
nivel
funcțional
(atât
pe
partea
de
interfață
cu utilizatorul, cât și la nivelul funcționalității și prelucrării datelor.
–
Tester
–
rolul
acestuia
este
de
a
prelua
datele
de
la
toți
actorii,
în
vederea
comparării
lor
cu
aplicația
dezvoltată.
El
trebuie
să
se
asigure
ca
cerințele
de
business
inițiale
au
fost
respectate
la
toate
nivelurile
și
ca
aplicația
funcționează corespunzător la parametrii corespunzători
–
Administrator
de
rețea
–
finalizarea
cerințelor
celor
implicați
mai
sus,
duce
la
finalizarea
efectivă
a
funcționalității
aplicației.
Prin
urmare,
pentru
ca
aplicația
să
ruleze
într-un
sistem
optim,
securizat
în
internet,
este
nevoie
de
acest tip de actor.
Dezvoltarea
funcțională
a
aplicației
este
supusă
mai
multor
pași,
începând
de
la
nivelul
de
analiză,
până
la
lansarea
în
internet
a
aplicației
web,
pașii
vor
trebui
repetați
sau
reluați.
Începând
de
la
o
versiune
inițială
a
aplicației,
aceasta
trebuie
testată și evaluată ca apoi eventual să fie extinsă sau modificată.
În
concordanță
directă
actorii
implicați
în
dezvoltarea
aplicațiilor
web,
sunt
etapele
dezvoltării
aplicației
efective,
care
de
asemenea
necesită
parcurgerea
unor
pași
cronologici pentru a se ajunge la un rezultat dorit:
–
Identificarea
cerințelor
și
obiectivelor
inițiale
–
primul
pas
în
inițierea
proiectului
este
dat
de
stabilirea
și
colectarea
informațiilor
prealabile
ce
vor
reprezenta
firul
principal în dezvoltare.
13
–
Planificarea
–
caracterizată
prin
realizarea
unei
strategii
de
dezvoltarea
și
a
unui
plan
bine
pus
la
punct
pe
baza
cerințelor
și
obiectivelor
inițiale.
Planificarea
va
fi
realizată
și
la
nivel
tehnic
din
punct
de
vedere
al
softurilor
și
tehnologiilor
utilizate.
–
Conceptul
de
design
–
după
realizarea
planificării
vor
fi
implementate
propunerile
de
design,
care
vor
fi
aprobate
sau
modificate
adecvat
în
urma
cerințelor
inițiale.
–
Proiectare
și
implementare
–
cuprinde
întreg
procesul
de
development,
care
va
avea
ca
finalitate,
o
aplicație
funcțională
realizată
pe
cerințele
și
obiectivele
inițiale.
–
Procesul
de
testare
–
se
va
realiză
procesul
de
testare
ce
include
compararea
datelor
inițiale
și
aplicația
finală
rezultat.
Acest
proces
are
ca
scop
identificarea
eventualelor probleme și trimiterea lor mai departe pentru rezolvare.
–
Suport
–
odată
lansată
aplicația,
în
cazul
apariției
unor
erori,
se
va
oferi
suport
de către dezvoltatori.
Este
foarte
importantă
respectarea
structurii
și
pașilor
în
dezvoltarea
aplicațiilor
web,
deoarece
în
cazul
omiterii
unuia
dintre
aceștia
pot
apărea
diverse
elemente
ce
afectează
bunul
mers
al
aplicației.
Netratarea
corespunzătoare
sau
distorsionarea
informațiilor
inițiale
pot
duce
la
un
întreg
proces
defect
de
dezvoltare,
care
va
avea
un
rol
negativ
pentru
dezvoltatori.
De
aceea,
este
important
ca
fiecare
actor
sa
își
realizeze
corect
fiecare
pas,
pentru
ca
în
final
să
rezulte
o
aplicație
corect
funcțională conform cerințelor inițiale oferite spre dezvoltare.
14
Capitolul 3
. Eliminarea unui obiect nedorit
3.1 Introducere
Eliminarea unor obiecte dintr-o imagine se poate realiza în trei pa
ș
i:
–
determinarea conturului obiectului nedorit
–
ș
tergerea obiectului
–
umplerea spa
ț
iului rămas în urma
ș
tergerii
3.2 Detectarea conturului – Contur activ
Conturul activ reprezinta o familie de metode asociate cu ajutorul cărora se
poate detecta conturul obiectelor . Acestea au aplicații în mai multe domenii, cum ar fi
urmărirea și segmentarea imaginilor.
In capitolele următoare voi prezenta doi algoritmi, cu ajutorul cărora conturul
obiectelor se poate determina într-un mod facil, și anume .Contururi active geodezice
morfologice denumit în continuare MorphGAC,
Contururi active fără margine
denumit în continuare MorphACWE.
Fiecare dintre acestea au avantaje cat și dezavantaje :
–
MorphGAC este potrivit pentru obiecte cu conturul vizibil. Insa este
nevoie ca imaginea sa fie preprocesata pentru ca conturul sa fie mai bine
evidențiat. Calitatea conturului redat de algoritmul MorphGAC depinde
în special de preprocesarea aplicat
ă
.
–
MorphACWE funcționează bine când pixeli aflați în interiorul și
exteriorul obiectelor au medii diferite.
–
Spre deosebire de MorphGAC, MorphACWE nu necesita un contur bine
definit și funcționează pe imaginea originala fără preprocesare, asta face
MorphACWE mai ușor de folosit și reglat fata de MorphGAC.
3.2.1 Contururi active geodezice morfologice(
MorphGAC
)
3.2.2
Contururi active fără margine(
MorphACWE
)
3.3 Im
age inpainting
(umplerea spatiului sters)
Capitolul 4. Aplica
ț
ie
Capitolul 5. Concluzii
15
Bibliografie
:
[1]
Carey
W
oderhouse –
https://www.upwork.com/hiring/development/how-ajax-works/
[2]
Matt Doyle –
https://ww w.elated.com/articles/what-is-jquery/
Marcelo Bertalmio ,Guillermo Sapiro,Vicent Caselles, Coloma Ballester : Image Inpainting
http://www.dtic.upf.edu/~mbertalmio/bertalmi.pdf
16
Juan Manuel Rendón Mancha , Vannary Meas-Yedid2 , Santiago Venegas Martínez ,
Jean-Christophe Olivo-Marin ,Georges Stamon : Morphological Active Contours for Image
Segmentation
https://pdfs.semanticscholar.org/7b4a/827dfd5e8756d48cf0deda6e487cc314ae6e.pdf
17
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: 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… [609553] (ID: 609553)
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.
