Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE




AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Introducere in proiectarea aplicatiilor web

webdesign

+ Font mai mare | - Font mai mic






DOCUMENTE SIMILARE

Trimite pe Messenger
Sisteme de reprezentare si masurare a culorilor
Continut executabil (Java, JavaScript, VBScript)
Web design
Marcaje CSS
Introducere in proiectarea aplicatiilor web
Editarea unui sit web (alegerea corpului de litera-fontului; alinierea textului;
Gestionarea site-urilor WEB
Tehnologii pentru aplicatiile web
Tehnologii Utilizate in Proiectarea si Design-ul Site-urilor Web: HTML, XHTML, CSS, XML, XSL, XSLT, JavaScript, DHTML, Java, PHP, JSP, ASP
HTML (Hyper Text Markup Language)

Introducere in proiectarea aplicatiilor web

            Aplicatiile web moderne sunt sisteme software complexe, iar dezvoltarea acestora necesita o abordare metodologica a proiectarii lor. Similar cu proiectarea aplicatiilor software, proiectarea web implica utilizarea unei abordari sistematice si cuantificabile pentru realizarea specificatiilor, implementarii, operatiilor si intretinerii aplicatiilor web de calitate superioara. Din punct de vedere al istoricului dezvoltarii si complexitatii distingem anumite tipuri de aplicatii web; aplicatiile web pot fi orientate pe documente, interactive, tranzactionale, pot dispune de caracteristici ubicue sau chiar de trasaturi ale web-ului semantic. Cerintele particulare ale proiectarii aplicatiilor web rezulta din caracteristicile lor speciale din sfera produselor software, dezvoltarii si utilizarii acestora. Evolutia este o caracteristica care cuprinde cele trei sfere mentionate.


            World Wide Web are o influenta enorma si permanenta asupra vietii noastre. Economia, industria, educatia, sanatatea, administratia publica si distractia reprezinta componente ale vietii noastre care nu au fost patrunse de World Wide Web. Motivul acestei omniprezente consta in special in natura web-ului, caracterizata prin disponibilitatea globala si permanenta dar si prin accesul omogen la informatiile distribuite la nivel global produse indivizi sub forma paginilor web[1].

            Initial, web-ul a fost proiectat ca un mediu pur informational, in prezent evoluand intr-un mediu al aplicatiei. Aplicatiile web de astazi sunt rapide si reprezinta sisteme software complexe care ofera servicii interactive si personabilizabile accesibile prin intermediul diferitelor dispozitive; ele ofera posibilitatea realizarii tranzactiilor intre utilizatori si de obicei stocheaza datele intr-o baza de date. Elementul distinctiv al aplicatiilor web, comparativ cu aplicatiile software traditionale, este modul in care este utilizat web-ul: de exemplu tehnologiile si standardele sale sunt utilizate ca o platforma de dezvoltare si ca platforma utilizator in acelasi timp. O aplicatie web poate fi definita astfel:

            O aplicatie web este un sistem software bazat pe tehnologiile si standardele consortiului World Wide Web (W3C) care ofera resurse web specifice cum ar fi continut si servicii prin intermediul unei interfete numita browser web.   

            Aceasta definitie include in mod explicit tehnologiile dar si interactiunea utilizatorului. De aici putem deduce ca tehnologiile in sinea lor, la fel ca si serviciile web, nu sunt aplicatii web, dar pot fi o parte a acestora. In plus, aceasta definitie implica ca siturile web lipsite de componente software, cum sunt paginile HTML statice, sa nu fie considerate aplicatii.

            In ciuda schimbarilor fundamentale ale web-ului de la un mediu informational la un mediu al aplicatiilor, situatia actuala a dezvoltarii ad-hoc a aplicatiilor web ne aminteste de practicile de dezvoltare a software-ului din 1960 inainte sa se realizeze ca dezvoltarea aplicatiilor necesita mai mult decat experienta in programare[2]. Dezvoltarea aplicatiiilor web este vazuta ca un eveniment spontan, de obicei bazat pe cunoastere, experienta si practici de dezvoltare ale dezvoltatorilor individuali, limitat la reutilizare la modul ”Copy & Paste” si in cele din urma caracterizata de o documentare necorespunzatoare a deciziilor de proiectare. Desi aceasta procedura poate pare pragmatica, astfel de metode rapide si neadecvate de dezvoltare conduc deseori la probleme serioase privitoare la calitate si la dificultati de operare si intretinere. Aplicatiile dezvoltate sunt deseori dependente de tehnologie, incorporeaza erori si sunt caracterizate prin lipsuri privind performanta, siguranta, scalabilitatea, atitudinea prietenoasa si chiar intelesul[3]. Legatura stransa dintre aplicatiile web sporeste gravitatea problemei raspandindu-se de la o aplicatie la alta. Cauza acestei situatii este complexa si poate fi abordata din mai multe perspective:

            - abordarea centrata pe documente. Dezvoltarea aplicatiilor web este deseori considerata centrata pe documente, cum ar fi de exemplu activitatea de authoring care include crearea si realizarea legaturilor din siturile web dar si includerea elementelor grafice[4]. Desi anumite tipuri de aplicatii web (de exemplu paginile principale, ziarele online) sunt incluse in aceasta categorie, o abordare prin prisma authoring-ului nu este adecvata pentru dezvoltarea de aplicatii software concentrate pe web;

            - presupusa simplitate a dezvoltarii aplicatiilor web. Disponibilitatea larga a diferitelor utilitare, cum ar fi editoarele HTML sau generatoarele de formulare permite crearea de aplicatii web simple care nu necesita cunostinte specializate. De obicei, accentul se pune pe proiectarea vizuala si nu pe structurarea interna si pe programare. Aceasta duce la inconsistente si redundanta;

            - cunostintele specifice din discipline relevante nu pot aplicate sau utilizate. Exista o conceptie gresita conform careia dezvoltarea aplicatiilor web este similara cu dezvoltarea aplicatiilor web traditionale si din acest motiv metodele din ingineria software pot fi utilizate in sensul abordarii sistematice, cu masuri adecvate de control a calitatii. Acest lucru este neadecvat in majoritatea cazurilor datorita caracteristicilor speciale ale  aplicatiilor web. In plus, concepte si tehnici din domenii relevante cum ar fi hypertext sau interactiunea om-calculator nu sunt aplicate intr-o maniera consecventa. Standardele de dezvoltare pentru aplicatiile web de calitate sunt neexistente, acest lucru datorandu-se si relativei scurte istorii a web-ului.

            Practicile curente privind dezvoltarea aplicatiilor web, cresterea complexitatii si relevantei acestora pentru diverse segmente ale societatii si in particular pentru functionarea eficienta a proceselor critice ale afacerii (de exemplu comertul electronic), au evoluat datorita preocuparilor privind acest tip de dezvoltare si calitatii pe termen lung a aplicatiilor web, acestea avand deja o contributie considerabila la software-ul dezvoltat in prezent[5].

            Proiectarea web nu este un eveniment imediat; este un proces realizat pe tot parcursul ciclului de viata a aplicatiei web, similar cu proiectarea software-ului. Este necesara o abordare disciplinara diferita pentru proiectarea web fata de proiectarea software-ului?

            O disciplina poate fi definita ca un domeniu de studiu al stiintei, mai mult sau mai putin independent care include cercetarea, invatarea si cunoasterea stiintifica sub forma publicatiilor. Numarul mare de publicatii, cursuri, programe analitice, seminarii stiintifice si conferinte demonstreaza ca, in acord cu aceasta definitie, proiectarea web poate fi considerata un domeniu independent a proiectarii software-ului[6]. Proiectarea reprezinta in general o aplicatie practica a stiintei folosita in scopul planuirii aplicatiilor intr-un mod mai bun, mai rapid, mai ieftin si mai sigur. Proiectarea software este definita ca o aplicatie a stiintei si matematicii prin care capacitatile unui sistem de calcul sunt facute utile oamenilor prin intermediul programelor, procedurilor si documentatiei asociate[7]. Pe baza acestei definitii si a celei lui Despande[8], putem defini proiectarea web in doua moduri:

            - proiectarea web reprezinta aplicarea unei abordari sistematice si cuantificabile (concepte, metode, tehnici si utilitare) in analiza, proiectarea, implementarea, testarea, operarea si intretinerea aplicatiilor web de calitatea superioara;

            - proiectarea web reprezinta o disciplina stiintifica implicata in studiul acestei abordari.         Termenii din literatura asociati sunt proiectarea siturilor web[9], proiectarea hipermedia[10], proiectarea documentelor[11], proiectarea continutului[12] si proiectarea software-lui Internet[13]. Prin comparatie, ”proiectarea web” este un termen concis, desi daca vorbim in mod strict nu are o acuratete totala: nu web-ul este proiectat ci aplicatiile web sunt proiectate.

            Din punct de vedere al proiectarii software-ului, dezvoltarea aplicatiilor web este un nou domeniu al aplicatiilor[14]. In ciuda anumitor similitudini cu aplicatiile traditionale, caracteristicile speciale ale aplicatiilor web necesita o adaptare a multiplelor abordari ale proiectarii software-lui sau chiar a dezvoltarii de abordari complet noi.

            Principiile de baza ale proiectarii web pot fi descrise in mod similar cu cele ale proiectarii software:

            - obiective si cerinte clar definite;

            - dezvoltarea sistematica, in faze, a aplicatiilor web;

            - o planificare foarte atenta a acestor faze;

            - auditul continuu a intregului proces de dezvoltare.

            Proiectarea web face posibila planificarea si repetarea proceselor de dezvoltare si in acest mod faciliteaza evolutia continua a aplicatiilor web. Aceasta permite nu doar reducerea costurilor si minimizarea riscului pe parcursul dezvoltarii si intretinerii, ci si cresterea calitatii, precum si masurarea calitatii rezultatelor fiecarei faze[15].      

           

1.1 Categorii de aplicatii web

            Aplicatiile web au grade variate de complexitate. Acestea pot fi pur informationale sau aplicatii de comert electronic complexe care functioneaza 24 de ore pe zi / 7 zile pe saptamana. In functie de cronologia (istoricul) dezvoltarii si gradul de complexitate au fost identificate diferite categorii de aplicatii web (o clasificare similara se poate observa si la Pressman[16]), asa cum putem observa si in figura 1.1:    

Figura 1.1: Categorii de aplicatii web

            Trebuie sa remarcam faptul ca exista o corelatie intre cronologia dezvoltarii si complexitate. De exemplu, aplicatiile bazate pe fluxuri sunt bazate pe tranzactii, adica nivelul inalt de dezvoltare necesita o dezvoltare anterioara a unei categorii mai putin complexe. Exista si exceptii de la aceasta regula pentru anumite categorii (de exemplu aplicatiile orientate pe portaluri) care sunt recente din punct de vedere istoric dar au un grad scazut de complexitate.

            Prezenta pe web a organizatiilor care au fost pe web de la inceputuri au avut deseori un istoric al dezvoltarii similar cu cel descris in figura 1.1. Este cert faptul ca dezvoltarea aplicatiilor web poate fi inceputa de la oricare din aceste categorii si ulterior dezvoltata catre un nivel sporit de complexitate. Noile categorii sunt in general mult mai complexe, dar aceasta nu inseamna ca ele pot inlocui in totalitate vechea generatie. Fiecare din aceste categorii dispun de domenii specifice ale aplicatiilor. In consecinta, aplicatiile web complexe pot fi in mod tipic alocate mai multor categorii odata. De exemplu, magazinele online de cumparaturi nu integreaza doar diferiti furnizori de servicii dar ofera si diferite posibilitati de cautare, monitorizarea starii comenzilor si in anumite cazuri chiar licitatii online.  

            Putem sesiza ca diferite categorii de aplicatii web acopera mai multe domenii traditionale ale aplicatiilor, cum ar fi bancile online, dar in acelasi timp creaza noi domenii ale aplicatiilor, cum ar fi serviciile pentru anumite locatii (location-aware services). In cele ce urmeaza vom descrie trasaturile relevante ale acestor categorii.            

            Siturile web axate pe documente sunt precursoare ale aplicatiilor web. Paginile web sunt stocate pe un server web deja configurat, sunt statice, iar documentele HTML sunt trimise clientului web ca raspuns la o cerere. Aceste pagini web sunt de obicei actualizate manual utilizand utilitare corespunzatoare. Pentru siturile web care impun schimbari frecvente sau pentru siturile web cu un numar mare de pagini aceasta este un factor semnificativ pentru costuri si adesea are drept consecinta informatii depasite. In plus exista pericolul aparitiei inconsistentelor atunci cand un anumit continut este prezentat frecvent in mod redundant pe mai multe pagini web pentru a usura accesul. Principalul beneficiu este simplitatea si stabilitatea unui astfel de sit web dar si timpul scurt de raspuns, paginile fiind deja stocate pe serverul web. Paginile principale statice si simpla prezenta pe web a micilor afaceri apartin acestei categorii.

Odata cu aparitia Common Gateway Interface (http://hoohoo.ncsa.uiuc.edu/cgi/ interface.html) si formularelor HTML, au aparut aplicatiile web interactive, oferind o prima simpla forma de interactivitate prin intermediul formularelor, butoanelor radio si meniurilor de selectie. Paginile web si legaturile catre alte pagini sunt generate in mod dinamic in acord cu ceea ce introduce utilizatorul. Exemple de astfel de categorii sunt prezentarile virtuale, siturile de stiri sau planificarea calatoriilor.         

            Aplicatiile web tranzactionale au fost create pentru a oferi mai multa interactivitate, oferind utilizatorului posibilitatea de a nu interactiona cu aplicatia doar in modul citire, acesta avand posibilitatea de a realiza actualizari ale continutului de baza. Daca luam in considerare un sistem informational pentru turism acesta va permite actualizarea continutului intr-un mod descentralizat sau face posibila rezervarea camerelor. Premisa necesara pentru un asfel de sistem implica existenta unor sisteme de baze de date care permit manevrarea consistenta a unei cantitati in continua crestere de continut in aplicatiilor web si ofera posibilitatea structurarii interogarilor. Bancile online, magazinele online si sistemele de rezervare apartin acestei categorii.

            Aplicatiile web bazate pe fluxuri permit manevrarea fluxurilor in interiorul sau intre diferite companii, reprezentanti publici si utilizatori individuali. Este esentiala pentru aceste aplicatii disponibilitatea serviciilor web adecvate pentru asigurarea interoperabilitatii[17]. Complexitatea serviciilor, autonomia companiilor participante si necesitatea ca aceste fluxuri sa fie robuste si flexibile sunt principalele provocari. Exemple pentru aceste categorii sunt solutiile B2B (Business-to-Business) din comertul electronic, aplicatiile e-government din domeniul administratiei publice sau suportul web pentru fluxurile de pacienti din sectorul sanatatii.

            In timp ce aplicatiile bazate pe fluxuri necesita o anumita structurare a proceselor automatizate si a operatiilor, aplicatiile web colaborative sunt folosite indeosebi in scopul cooperarii pentru operatiile nestructurate (groupware). Exista o nevoie sporita pentru comunicatie intre utilizatorii care coopereaza. Aplicatiile web colaborative suporta distribuirea informatiei si spatiile de lucru (de exemplu WikiWiki - http://c2.com/cgi/wiki -  sau BSCW - http://bscw.gmd.de/ -) pentru a genera, edita si administra informatiile distribuite. Acestea sunt utilizate si pentru a pastra log-urile anumitor intrari si a le edita (cum sunt log-urile web), pentru a media intalnirile sau pentru luarea deciziilor (un exemplu poate fi camerele de discutii – chat rooms), pentru sistemele de planificare sau ca platforme de e-learning.      

            Cu toate ca web-ul a fost initial caracterizat prin anonimat, exista o orientare in crestere spre web-ul social, in care indivizii isi ofera identitatea unei mici comunitati cu interese similare. Log-urile web sau sistemele colaborative de filtrare cum ar fi friendster (http://friendster.com), care ofera posibilitatea de a gasi nu numai anumite subiecte de interes ci si persoane cu interese similare, apartin acestei categorii de aplicatii.

            Aplicatiile orientate pe portaluri ofera un singur punct de acces la surse de informatie si servicii distincte / potential eterogene[18]. Realizatorii de browsere (Microsoft, Netscape), motoarele de cautare (Yahoo), serviciile online (AOL), conglomeratele media si alte companii au devenit constiente de cererea existenta si ofera acum hub-uri centrale sau asa numitele portaluri, ca punct de acces la web. Pe langa aceste portaluri generale, exista diverse portaluri specializate cum ar fi portalurile de afaceri, portalurile de piata sub forma magazinelor de vanzare online si portalurile comunitatii. Portalurile afacerii ofera angajatilor si/sau partenerilor afacerii un acces focalizat la diferite surse de informatie si servicii prin intranet sau extranet. Portalurile de piata sunt impartite in piete orizontale si verticale. Pietele orizontale functioneaza pe piata B2C oferind bunuri de consum direct publicului, si in B2B, vanzand produsele sale altor companii din alte sectoare de activitate. Pietele verticale se reduc la companiile dintr-un singur sector de activitate, cum ar fi furnizorii pe de o parte si producatorii pe de alta parte. Portalurile comunitatilor sunt dirijate catre grupuri tinta specifice (de ex. tinerii) si incearca sa creeze o loialitate a clientilor prin intermediul interactiunilor cu utilizatorii sau sa asigure oferte individuale printr-un management al utilizatorilor adecvat (marketing unu-la-unu).

            O categorie importanta este reprezentata de aplicatiile web omniprezente care ofera servicii personalizate oricand si oriunde si pentru orice dispozitiv, astfel facilitand accesul de oriunde. Un exemplu poate fi afisarea meniului zilei pe dispozitivele mobile ale tuturor utilizatorilor care intra in restaurant intre 11 am si 2 pm. Pentru acest tip de sistem este important sa luam in calcul limitarile dispozitivelor mobile (latimea de banda, dimensiunea ecranului, memoria, lipsa de maturitate a software-ului) si contextul in care aplicatiile web sunt in mod obisnuit utilizate.

            Dezvoltarile prezente si in special convergenta sporita a domeniului TIMES (telecomunicatii, tehnologia informatiei, multimedia, educatie si amuzament, securitate), vor conduce, in viitorul apropiat, la o situatie in care aplicatiile omniprezente vor domina piata. Unul dintre aceste dezvoltari este web-ul semantic. Obiectivul web-ului semantic este prezentarea informatiei pe web nu numai pentru indivizi ci si sub forma usor de citit pentru sistemele de calcul[19]. Acesta va facilita managementul cunostintelor pe web si in particular conectarea si reutilizarea cunoasterii (sindicalizarea continutului), dar si localizarea cunostintelor noi relevante, cu ajutorul sistemelor recomandate. Datorita interactivitatii crescute la nivel semantic si posibilitatii executiei sarcinilor automate (prin intermiediul agentilor intelegenti), putem afirma ca web-ul va deveni mai omniprezent si prin urmare mai relevant in viata de zi cu zi.       

1.2 Caracteristicile aplicatiilor web

            Aplicatiile web difera de aplicatiile traditionale (non-web), particularitatile acestora fiind prezentate in cele ce urmeaza. Acestea sunt pe de o parte caracteristicile de care aplicatiile traditionale nu au nevoie (de exemplu navigarea non-liniara)  si caracteristicile care prezinta o importanta particulara (de exemplu frecventa actualizarilor), pe de alta parte.  

            Chiar daca o anumita caracteristica este prezenta si depinde intr-o anumita masura de  tipul de aplicatie web, dezvoltarea aplicatiilor web tranzactionale cum ar fi sistemele de        e-commerce necesita o focalizare mai atenta asupra actualizarii si consistentei continutului comparativ cu sistemele informationale pure – de exemplu prezentarile virtuale. Aceste caracteristici sunt motivul pentru care numeroase concepte, metode, tehnici si utilitare ale proiectarii software traditionale trebuie adaptate la cerintele proiectarii web, desi in unele situatii acestea pot fi in totalitate neadecvate. Figura 1.2 ne ofera o imagine a acestor caracteristici si le imparte in trei dimensiuni: ”produs”, ”utilizare” si ”dezvoltare”, impreuna cu ”evolutia” vazuta ca o dimensiune atotcuprinzatoare.

Figura 1.2 Dimensiunile conform cu standardul ISO/IEC 9126-1 pentru clasificarea caracteristicilor aplicatiilor web (http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=22749)

           

Aceste dimensiuni se bazeaza pe standardul ISO/IEC 9126-1 pentru evaluarea caracteristicilor de calitate ale software-ului (http://www.iso.org). Prin atribuirea diferitelor caracteristici ale aplicatiilor web acestor dimensiuni putem observa influenta acestora asupra calitatii aplicatiilor si astfel sa consideram caracteristicile ca un punct de pornire pentru definirea necesarului proiectarii web. Pe langa caracteristicile asociate produselor, utilizarii si dezvoltarii exista si evolutia ca o a patra dimensiune care guverneaza cele trei dimensiuni. Produsele trebuie sa fie adaptabile, noul context informational trebuie luat in considerare pe durata utilizarii, iar modalitatile de dezvoltare vor modifica in mod continuu schimbarile care vor apare. In continuare, vom prezenta caracteristicile individuale conform acestor dimensiuni. O imagine a influentelor acestor caracteristici este reprezentata in Tabelul 1.1.

PROIECTAREA WEB

Caracteristica

Capitol

2. Necesarul proiectarii

3. Modelare

4. Arhitecturi

5. Proiectarea bazata pe tehnologie

6. Tehnologii

7. Testare

8. Operare si intrtinere

9. Managementul proiectelor

10. Procesul de dezvoltare

11. Usurinta in folosire

12. Performanta

13. Securitate

14. Web semantic

Caractersiticile aplicatiilor web

PRODUS

continut

Caracterul documentului / multimedianitatea

x

x

x

x

Aspecte privind calitatea

X

x

x

x

x

Hypertext

Non-lineritatea

x

x

x

x

x



Dezorientarea / Supraincarcarea cognitiva

x

x

x

Prezenntare

Estetica

X

x

x

x

x

Evident

x

x

x

x

x

UTILIZARE

context social

Spontaneitate          

x

x

x

x

Multiculturalism

x

x

x

x

x

context tehnic

Calitatea serviciilor

x

x

x

x

x

Distribuirea multi-platforma

x

x

x

x

x

x

x

x

context natural

Globalitate

x

x

x

x

Disponibilitate

x

x

x

DEZVOLTARE

echipa

Multidisciplinaritate

x

x

x

x

Tinerete




x

x

Dezvoltarea comunitatii

x

x

x

x

infrastructura

Neomogenitate

x

x

x

x

x

x

x

Imaturitate

x

x

x

x

x

proces

Flexibilitate

x

x

x

x

Paralelism

x

x

EVOLUTIE

Schimbare continua

x

x

x

x

x

x

Presiune competitiva

x

x

x

x

x

Durata de viata scurta

x

x

x

x

x

x

x

1.2.1 Caracteristicile produselor

            Caracteristicile produselor constituie segmentul principal al aplicatiilor web si pot consta in continut, structura hipertextuala (structura de navigare) si prezentare (interfata utilizator). Conform paradigmei orientata obiect, fiecare din aceste parti nu are doar aspecte structurale sau statice ci si aspecte comportamentale sau dinamice.

            Continut

            Generarea continutului, disponibilizarea acestuia, integrarea si actualizarea sunt in egala masura importante la fel cum sunt dezvoltarea si testarea aplicatiilor web. Aplicatiile web sunt utilizate in mod expres datorita continutului pe care il ofera, fiind valabil motto-ul ”Continutul este regele”. Dezvoltatorii aplicatiilor web trebuie prin urmare sa nu se comporte doar ca programatori dar si ca autori. Aspectele importante vizeaza gradul variat al structurii continutului si calitatea cererilor pe care utilizatorii le au asupra continutului.                        * Caracterul axat pe documente si multi-median. In functie de modul de organizare, continutul este oferit sub forma tabelelor, textului, elementelor grafice, animatiilor, elementelor audio sau video. Natura documentului in aplicatiile web se refera la faptul ca continutul este asigurat, respectiv documentele sunt generate in mod adecvat pentru anumite grupuri de utilizatori (de exemplu informatii pentru turisti intr-o anumita zi de sarbatoare dintr-o anumita regiune). Aceasta implica si anumite cerinte speciale privitoare la usurinta in folosire. Continutul este intr-o anumita proportie generat si actualizat dinamic (de exemplu numarul de camere disponibile dintr-un sistem informational pentru turism). Mai mult, web-ul poate fi folosit ca infrastructura pentru transmiterea continutului multimedia (de exemplu videoconferinte sau aplicatiii Real Audio).           

            * Calitatea cererilor. In functie de domeniul aplicatiei, continutul unei aplicatii web nu este doar un subiect pentru diferentierea frecventei actualizarilor, dar si pentru diferentierea masuratorilor de calitate privitoare la actualitate, exactitate, consistenta si incredere. Aceasta necesita nu numai luarea in considerare a acestor cereri calitative in definirea necesarului, dar si evaluarea conformitatii cu aceste principii.

            Siturile de stiri, de exemplu, necesita o frecventa sporita a actualizarilor si trebuie sa faca fata cererilor de ultima ora ale utilizatorilor. Web-ul ca mediu de distribuire a informatiei, alaturi de televiziune, radio si presa, ofera un potential enorm pentru adresarea acestor cereri, mult mai bine decat mijloacele de informare traditionala, prin intermediul personalizarii. Pe de alta parte, exista opinii conform carora aplicatiile ”inteligente”, ”constiente” de locatie, necesita dezvoltarea unui nou gen de aplicatii; motivul este ca aceste aplicatii bazate pe continut cum ar fi podcasting sau continut mobil sunt un mediu diferit decat cele care nu se pot adapta cu usurinta la continutul existent. 

            In particular, calitatea superioara este necesara pentru pretul si utilitatea informatiei in sistemele de cumparare online, acestea formand baza tranzactiilor unei afaceri. Preturile incorecte pot duce la anularea vanzarii, iar informatia invechita sau indisponibila poate conduce la nevanzarea produselor din stoc sau la probleme de livrare deoarece produsele afisate drept disponibile nu exista in stoc. Indiferent de scopul in care sunt utilizate aplicatiile web, calitatea continutului este un factor esential. Marea provocare implica capacitatea de a garanta calitatea datelor in ciuda unui volum mare si frecvent de actualizari.

            Hipertext

            Dintre caracteristicile specifice aplicatiilor web relevanta este natura non-liniara a documentelor hipertextuale. Paradigma hipertext, folosita ca baza pentru structurarea si prezentarea informatiei a fost prezentata de Vannevar Bush[20]. Elementele de baza ale modelelor hipertext sunt nodurile, legaturile si ancorele. Un nod este o unitate de informatie unic identificata, cu continut propriu. Pe web acesta poate fi un document HTML care poate fi accesat printr-un URL (Uniform Resource Locator). O legatura este calea de la un nod la altul. Pe web aceste cai sunt intodeauna unidirectionale, intelesul acestora nefiind clar definit (poate fi urmatorul nod in acord cu ordinerea de citire recomandata). O ancora este o zona din continutul unui nod care este sursa sau destinatia unei legaturi (de exemplu o secventa de cuvinte dintr-un text sau obiect grafic dintr-o figura). Pe web, ancorele sunt posibile doar in documentele HTML.

            Trasatura esentiala a paradigmei hipertext este non-liniaritatea continutului produs de autori si a continutul receptat de utilizatori, impreuna cu problemele potentiale de dezorientare si supra-incarcare cognitiva.

            * Non-liniaritatea. Hipertextul implica stereotipuri privind citirea sistematica relativa, si prin aceasta aplicatiile web difera in mod evident de aplicatiile software traditionale. Acest stil individual de citire, adaptabil la nevoile si comportamentul utilizatorilor este cel mai indicat pentru dezvoltarea abilitatii de invatare. Utilizatorii se pot misca liberi in spatiul informational, in functie de interesele si cunostintele anterioare. Ancorele si legaturile nu sunt doar predefinite in mod static de autori, ele putand fi generate dinamic (legaturi evaluate) ca o reactie predefinita la comportamentul utilizatorilor. Crearea hipertextului a fost o provocare permanenta pentru autori, pe masura cautarii eliminarii dezorientarii si supra-incarcarii cognitive pentru utilizatori.

            * Dezorientarea si supra-incarcarea cognitiva. Este important in dezvoltarea aplicatiilor web sa intelegem aceste doua probleme fundamentale ale paradigmei hipertext. Dezorientarea reprezinta tendinta de a pierde pozitia intr-un document non-liniar. Supra-incarcarea cognitiva este determinata de concentrarea suplimentara solicitata de memorarea simultana a diverselor cai sau sarcini. Hartile siturilor, cautarea prin intermediul cuvintelor cheie, urmarirea cailor (modul history) si afisarea timpului de accesare si a timpului petrecut pe sit ajuta utilizatorii sa-si pastreze orientarea pe aplicatie. Legaturile pline de inteles si denumirea inteligenta a legaturilor reduce supra-incarcarea cognitiva. In plus, folosirea sabloanelor de proiectare in modelarea aspectului hipertext poate ajuta la contracararea acestei probleme.     



            Prezentarea

            La nivelul prezentarii, principalele doua caracteristici ale aplicatiilor web sunt estetica si auto-explicarea.

            Estetica. Spre deosebire de aplicatiile traditionale, estetica la nivelul prezentare a aplicatiilor web, elementul ”look and feel” al interfetei utilizator este factorul central datorita presiunii competitive ridicate de pe web. Prezentarea vizuala a paginilor web este un subiect la moda si deseori determina succesul sau esecul, in special pentru aplicatiile de e-commerce[21].

            Auto-explicarea. Dincolo de estetica, este esential ca aplicatiile web sa fie auto-explicative, respectiv sa fie posibila utilizarea aplicatiei web fara a consulta o documentatie in prealabil. Sistemul de navigare sau cel care implica interactiunea trebuie sa fie consistent in intreaga aplicatie, astfel incat utilizatorii sa devina familiari cu utilizarea aplicatiei web.

1.2.2 Caracteristici asociate utilizarii

            Comparativ cu aplicatiile traditionale, utilizarea aplicatiilor web este extrem de eterogena. Utilizatorii difera prin prisma numarului si culturii generale, dispozitivele folosite avand caracteristici hardware si software diferite, iar ora si locatia de unde este accesata aplicatia nu poate fi prevazuta. Dezvoltatorii nu au posibilitatea de a cunoaste apriori potentiala diversitate a acestor factori contextuali si nu-i pot influenta in nici un mod datorita naturii lor autonome. Este greu chiar si sa prezicem frecventa de utilizare a unei aplicatii web.

            Utilizarea aplicatiilor web este prin urmare caracterizata de necesitatea adaptarii continue la situatii de utilizare specifice (contexte). Reglarea acestor contexte poate fi necesara in mod egal pentru toate partile aplicatiilor web (continut, hipertext si prezentare). Datorita semnificatiei ajustarii contextului, caracteristicile asociate utilizarii sunt impartite in trei grupuri: context social, context tehnic si context natural.

           

            Contextul social: utilizatorii

            Contextul social se refera la aspecte specifice utilizatorului; spontaneitatea si multiculturalitatea creaza un grad inalt de eterogenitate.

            Spontaneitatea. Utilizatorul poate vizita si parasi o aplicatie web oricand doreste, chiar daca este situl unui competitor. Utilizatorul web nu trebuie sa fie loial nici unui furnizor de continut, web-ul fiind un mediu care nu atrage nici o obligatie. Deoarece este usor sa gasim aplicatii concurente cu ajutorul motoarelor de cautare, utilizatorii vor utiliza o aplicatie web doar daca le va aduce un avantaj imediat.       

            Multiculturalitatea. Aplicatiile web sunt dezvoltate pentru diferite grupuri de utilizatori. Daca grupul luat in discutie este un grup de utilizatori cunoscut (poate fi cazul intranet-ului sau extranet-ului) aceasta poate fi comparabila cu aplicatiile traditionale. Cand dezvoltam o aplicatie web pentru un grup anonim de utilizatori, vor exista elemente eterogene evidente in ceea ce priveste abilitatile (sau incapacitatile), cunoasterea (expertiza aplicatiei) si preferintele (interesele). Pentru a permite o personalizare adecvata, presupunerile privind contextul utilizatorilor trebuie facut in faza de dezvoltare a aplicatiilor web. Acest aspect va fi luat in considerare atunci cand adaptam componentele aplicatiei. Clientii obisnuiti pot avea reduceri speciale (adaptarea contextului), noii clienti pot receptiona un ghid pentru aplicatia web (adaptarea  hipertextului) si utilizatorii cu deficiente vizuale pot fi sprijiniti prin folosirea unor dimensiuni adecvate ale fontului (adaptarea prezentarii). Personalizarea necesita deseori specificarea preferintelor utilizatorilor (de exemplu metoda preferata de plata pe http://www.amazon.com ).

            Contextul tehnic: Reteaua si dispozitivele

            Contextul tehnic include proprietati legate de conexiunile in retea privitoare la calitatea serviciului si componentele hardware si software ale dispozitivelor utilizate pentru a accesa aplicatia web, pentru o distribuire multi-platforma.

            Calitatea serviciului. Din punct de vedere tehnic, aplicatiile web sunt bazate pe principiul client/server. Caracteristicile mediului de transmisie, cum ar fi latimea de banda, siguranta si stabilitatea conexiunii sunt factori independenti care trebuie luati in considerare cand dezvoltam o aplicatie web pentru a  garanta o calitate adecvata a serviciului. De exemplu, parametrul latimea maxima de banda poate fi ajustat pentru a optimiza cantitatea de date transferata, astfel incat continutul multimedia (clipuri video) va fi transferat la o rezolutie scazuta in situatia unei latimi de banda mici. In timp ce in aplicatiile traditionale specificatiile retelei sunt cunoscute dinainte, dezvoltatorii aplicatiilor web trebuie sa faca supozitii privitor la aceste proprietati. Datorita tendintei de orientare catre aplicatiile web mobile, acest aspect este de o importanta sporita, asa cum retelele convergente necesita o mai multa adaptare la nivelul aplicatiei.

            Distribuirea multi-plaforma. Aplicatiile web ofera de obicei servicii nu doar unui anumit tip de dispozitiv ci si dispozitivelor mobile cu specificatii diferite (dimensiunea monitorului, capacitatea memoriei, software-ul instalat). Numarul mare de versiuni ale browserului reprezinta o provocare datorita diferitelor functionalitati si restrictii ale acestora (deseori acestea nu implementeaza specificatiile presupuse). Acest lucru determina dificultati in crearea unei interfete utilizator consistente si in testarea aplicatiilor web.

            In plus, utilizatorii pot configura browserele in mod autonom. Prezentarea (ascunderea imaginilor), drepturile de acces (applet-urile Java) si o serie de functii (cookies, caching) pot fi toate configurate individual, acestea avand influente asupra performantei, functionalitatii tranzactiilor si posibilitatii de interactiune.

            Pe baza presupunerilor privind clasele tipice de dispozitive, dezvoltatorii aplicatiilor web pot adapta continutul la PDA-uri (personal digital assistants) prin netransmiterea imaginilor sau clipurilor video si oferirea in schimb a legaturilor si textului descriptiv. La nivel hipertext, putem oferi versiunea pentru listare a documentelor hipertext. Pentru a lua in calcul diferitele versiuni de Javascript din varietatea de browsere, pot fi utilizate librarii independente de platforma in procesul de dezvoltare (vezi http://www.domapi.com ).  

           

            Contextul natural: locatia si durata          

            Contextul natural include aspecte privind locatia si durata de accesare. Globalitatea si disponibilitatea creaza un nivel inalt de eterogenitate.

            Globalitatea. Locatia din care o aplicatie web este accesata (pozitia geografica) este importanta pentru internationalizarea aplicatiilor web relativ la diferentele regionale, culturale si lingvistice. In plus, locatia fizica poate fi utilizata impreuna cu modelele locatiei pentru a defini pozitia logica cum ar fi locul de rezidenta sau locul de munca in scopul de a oferi servicii ”constiente” de locatie. ”Constienta” locatiei determina dificultati suplimentare pentru testarea aplicatiilor web, deseori fiind dificil sa simulam schimbarea locatiei si/sau testa toate locatiile posibile. Disponibilitatea globala sporeste de asemenea cererile privind securizarea aplicatiilor web pentru a preveni accesul deliberat sau accidental al utilizatorilor in zone private sau confidentiale.

            Disponibilitatea. ”Mecanismul de distribuire instantanee” isi are originea in natura web-ului de a face aplicatiile imediat disponibile. Aplicatiile web devin imediat utilizabile, ceea ce implica ca calitatea produsului dezvoltat sa fie sigur. Disponibilitatea permanenta (24/7) sporeste de asemenea pretentiile privind stabilitatea aplicatiilor web. In plus, serviciile dependente de timp sunt posibile prin luarea in considerare a acestui aspect (timpul) (de exemplu informatiile privind programul depind de ora din zi si ziua din saptamana).

1.2.3 Caracteristici asociate dezvoltarii

            Dezvoltarea aplicatiilor web este caracterizata de necesarul de resurse, cum ar fi echipa de dezvoltare si infrastructura tehnica, procesul de dezvoltare in sine si de integrarea necesarului de solutii deja existente.

            Echipa de dezvoltare

            Dezvoltarea aplicatiilor web este puternic influentata de faptul ca echipele de dezvoltare sunt multi-disciplinare si in general formate din tineri. Acesti factori si metode ale cumunitatii de dezvoltare contribuie la aparitia unui nou mod de organizare a colaborarii intre diferite grupuri de dezvoltatori.

            Multi-disciplinaritatea. Aplicatiile web pot fi caracterizate ca o combinatie intre publicistica tiparita si dezvoltarea software, marketing si stiinta calculatoarelor, arta si tehnologie. Dezvoltarea aplicatiilor web trebuie perceputa ca o abordare multidisciplinara care solicita cunoastere si expertiza din diferite domenii. Pe langa expertii IT responsabili de implementarea tehnica a sistemului, expertii hipertext si proiectantii trebuie sa fie angajati in proiectarea hipertextului si prezentarii, in timp ce expertii in domeniu trebuie sa fie responsabili pentru continut.

            Se observa o varietate mare a competentelor si cunoasterii in echipa de dezvoltare fata de dezvoltarea software traditionala. Disciplina dominanta este dependenta de tipul de aplicatie web. De exemplu, aplicatiile e-commerce sunt bazate mai mult pe baze de date traditionale si expertiza de programare, in timp ce dezvoltarea unei prezentari virtuale va pune mai mult accent pe expertiza in domeniu si in proiectare.

            Varsta medie mica. Dezvoltatorii de aplicatii web  sunt in medie mult mai tineri si mai putin experimentati decat dezvoltatorii de software traditionali. De obicei sunt apelati cu stereotipuri de tipul ”ciudati in domeniul tehnologiei” carora nu le pasa de vechile conventii si sunt foarte interesati in folosirea noilor utilitare si tehnologii.

            Comunitate de dezvoltare. Dezvoltarea de software open-source disponibila gratuit pe web si integrarea acesteia in aplicatiile reale este un fenomen recent. Dezvoltatorii utilizeaza acest software pentru crearea propriilor aplicatii, pe care le fac disponibile comunitatii open source. 

            Infrastructura tehnica

            Neomogenitatea si imaturitatea utilizarii componentelor sunt caracteristici importante ale infrastructurii tehnice a aplicatiilor web.

            Neomogenitatea. Dezvoltarea aplicatiilor web depinde de doua componente externe: server si browser. In timp ce serverul web poate fi configurat si folosit asa cum se doreste de programatorii de aplicatii, nu exista nici o cale de a influenta browserele web ale utilizatorilor si preferintele lor individuale. Situatia se complica in cazul diferitelor versiuni de browser si plugin-uri.

            Imaturitate. Datorita cresterii presiunii de a ajunge pe piata, componentele utilizate in aplicatiile web sunt deseori imature, au bug-uri sau lipsuri in privinta functionalitatii.

            Procese. Procesul de dezvoltare este cadrul de lucru pentru toate caracteristicile de dezvoltare si este influentat de flexibilitate si paralelism.

            - Flexibilitate. In dezvoltarea aplicatiilor web este imposibil sa aderam la un plan de proiect rigid si predefinit. Este important sa fim flexibili la anumite conditii de schimbare.

            - Paralelism. Datorita necesitatii de a dezvolta aplicatiile web intr-un timp scurt si faptului ca ele pot fi deseori impartite in componente autonome (de exemplu autentificare, functie de cautare, notificarea stirilor), majoritatea aplicatiilor web sunt dezvoltate in paralel de diferite subgrupuri ale echipei de dezvoltare. Spre deosebire de dezvoltarea software-ului traditional aceste subgrupuri sunt structurate conform cu aceste componente si nu in concordanta cu expertiza membrilor proiectului (de exemplu dezvoltatorii GUI, modelatorii de date)[22].

            Pe langa dezvoltarea in paralel a partilor aplicatiei, sarcinile metodice cum ar fi proiectarea, implementarea si asigurarea calitatii sunt deseori folosite simultan pentru versiuni diferite. De exemplu, asigurarea calitatii poate fi in curs de desfasurare pentru o versiune anterioara, in timp ce implementarea inceputa deja pentru versiunea urmatoare si cele care vor urma au fost deja proiectate. Aceasta rulare in paralel a fazelor determina noi cerinte pentru planificarea modului de desfasurare a dezvoltarii in proiectele web.         

           

            Integrarea     

            Caracteristica speciala a aplicatiilor web este nevoia de integrarea interna si externa. In acest context, integrarea se refera nu numai la aspectele tehnice, dar si la continut si la aspectele organizationale.

            Integrarea interna. Frecvent, aplicatiile web trebuie integrate cu sistemele de mostenire existente cand continutul existent (de ex. cataloagele de produse) va fi facut disponibil aplicatiei web.

            Integrarea externa. Integrarea continutului si a servicilor aplicatiilor web externe reprezinta o caracteristica speciala a aplicatiilor web. Dintre particularitatile integrarii pe web mentionam:

            - existenta unui numar mare de surse care se schimba frecvent si cu un grad inalt de autonomie;

            - se cunosc putine detalii privitoare la proprietatile acestor surse, cum ar fi continutul si functionalitatile;

            - diferite surse sunt adesea foarte eterogene la diverse nivele (nivelul datelor, schemei sau modelului de date).

            Integrarea serviciilor externe in aplicatiile web orientate pe portaluri se bazeaza pe  cresterea formelor de dezvoltare comune a furnizarii si utilizarii serviciilor web. In acest context, un serviciu web este o componenta reutilizabila cu o interfata si functionalitate foarte clar definita. Interactiunea diferitelor servicii web si garantarea calitatii serviciilor sunt cateva dintre problemele relevante ale acestui context.

1.2.4 Evolutia

            Evolutia este o caracteristica care guverneaza toate cele trei dimensiuni ale produsului, utilizarii si dezvoltarii. Necesitatea evolutiei poate fi argumentata prin schimbarea continua a cerintelor si conditiilor, presiunea competitiva si dezvoltarea rapida.     

           

Schimbarea continua

            Aplicatiile web se schimba rapid si sunt in consecinta intr-o evolutie permanenta datorita schimbarii constante a cerintelor sau conditiilor[23]. Schimbarea rapida si permanenta a tehnologiilor web si a standardelor in particular, necesita o adaptare continua a aplicatiilor web la acestea. Aceasta schimbare are doua cauze:

            - utilizatorii doresc ultimile aplicatii web;

            - instrumentele utilizate sunt conditionate de tehnologie.

            Schimbarile constante ale cerintelor si conditiilor reprezinta caracteristica centrala a aplicatiilor web, acestea afectand toate cele trei dimensiuni ale aplicatiilor web – produsul insusi, utilizarea acestuia si in particular dezvoltarea lui.      

            Presiunea competitiva

           

            Presiunea competitiva ridicata de pe web, presiunea de pe piata si necesitatea prezentei pe web, sporeste nevoia de a scurta ciclul de viata a produsului si nu lasa loc pentru un proces de dezvoltare sistematica.

            Dezvoltarea competitiva

            Presiunea timpului in dezvoltarea aplicatiilor web se datoreaza schimbarilor rapide de pe web si duratei scurte de viata a aplicatiilor web sau frecventei actualizarilor.

            In timp ce in aplicatiile software traditionale evolutia se manifesta sub forma seriilor planificate de versiuni, in aplicatiile web aceasta este continua. Aplicatiile web sunt intr-o continua intretinere, ciclul schimbarii fiind deseori nu mai lung de cateva zile sau saptamani.

            Principalele aspecte abordate in continuare sunt prezentate in Figura 3. Principalele componente luate in discutie pot fi grupe pe trei piloni:

            - abordare (metodologie);

            - dezvoltarea produsului;

            - aspecte privind calitatea.

            Elementul de baza este partea introductiva prezentata anterior, web-ul semantic fiind ”acoperisul”, perspectiva viitoare.


Figura 3. Abordari ulterioare

Principalele provocari ale proiectarii cerintelor aplicatiilor web includ:  spatii de depozitare indisponibile, schimbarea dinamica a conditiilor, medii de actiune impredictibile, importanta deosebita a calitatii si frecventa lipsa de experienta in utilizarea tehnologiilor.

Modelarea se refera la dezvoltarea aplicatiilor web pe baza de modele, cu focalizare asupra continutului si hipertextului, si implica o dezvoltare de sus in jos. Este necesara o prezentare a metodelor existente pentru modelarea aplicatiilor web si a unor instrumente de modelare care ajuta utilizatorul in alegerea metodei adecvate.

Arhitectura este un factor decisiv pentru stabilirea calitatii aplicatiilor web. Performantele slabe, intretinerea neadecvata si diponibilitatea redusa se datoreaza deseori unei arhitecturi necorespunzatoare. Folosind arhitecturi multi-straturi si flexibile, oferirea unui continut multimedia si integrarea aplicatiilor si depozitelor de date existente influenteaza pozitiv dezvoltarea cu succes a aplicatiilor web.

Proiectarea bazata pe tehnologie descrie alternativa dezvoltarii de jos in sus a aplicatiilor web. Proiectarea hipertext/hipermedia, a informatiei si a software-ului orientat obiect nu ofera o solutie satisfacatoare, fiind necesare abordari de proiectare specifice web-ului, cum ar fi:

- proiectarea vizuala, in care aspectul este determinat si in care sunt abordate modalitati multiple ale interfetei utilizator.

 - proiectarea interactiva, in care sunt proiectate caile de navigare si interactiunea cu componentele

- proiectarea functionala este esenta aplicatiei web si pe masura ce proiectarea pe fiecare nivel devine mai concreta, trebuie utilizate mai multe instrumente pentru hipertext, informatie si proiectarea software.

Tehnologiile au anumite caracteristici care trebuie cunoscute in detaliu pentru a putea fi utilizate in etapa adecvata. Implementarea aplicatiilor web necesita o cunoastere aprofundata nu doar a diferitelor tehnologii ci si a interactiunii acestora cu o anumita arhitectura. Astfel, este necesara o prezentare a diferitelor tehnologii si o exemplificare a interactiunii si utilizarii impreuna cu anumite arhitecturi. Recomandarile consortiului web (W3C) necesita o atentie deosebita.

Testarea prin metodele existente se focalizeaza pe cerintele functionale ale aplicatiilor web. In majoritatea cazurilor nu sunt luate in considerare aspectele de calitate nonfunctionale importante pentru utilizatori cum ar fi: usurinta in folosire, siguranta si securitatea.

Operarea si intretinerea sunt esentiale deoarece dezvoltarea aplicatiilor web implica un proces evolutiv in permanenta dezvoltare. Exista de asemena o tendinta de a automatiza sarcinile cat timp sistemul este operational. De exemplu, sarcini de rutina pentru intretinerea continutului sunt in mare masura automatizate, eliminandu-se astfel sursele de erori si garantand o siguranta a operatiilor.

Managementul proiectelor este o activitate proiectata pentru a coordona actiunile oamenilor, aceasta abordare necesitand competente deosebite din partea managerilor de proiecte web in rezolvarea conflictelor si o cunoastere interdisciplinara intre echipele web. In consecinta, planul proiectului pentru dezvoltarea unei aplicatii web trebuie sa fie flexibil si sa permita o dezvoltare iterativa incrementala si o comunicare permanenta cu clientul.

Posibilitatea utilizarii proceselor de dezvoltare sofware traditionale pentru dezvoltarea aplicatiilor web implica sase cerinte de baza folosite pentru evaluarea procesului de dezvoltare a produselor software orientate obiect (Rational Unified Process - RUP) si a programarii extreme (Extreme Programming - XP). Nici unul dintre aceste procese nu indeplineste toate cerintele. Avantajul RUP consta in adaptarea cu usurinta la gradul de complexitate a aplicatiei in curs de dezvoltare. XP, pe de alta parte,  se poate adapta la timpuri reduse de dezvoltare si la modificari ale cerintelor aparute pe parcurs.

Usurinta in folosire, perfomanta si securitatea reprezinta 3 dintre aspectele de calitate ale aplicatiilor web. Usurinta in folosire subliniaza faptul ca aplicatiile web greu de utilizat nu sunt acceptate de catre utilizatori. Noile dezvoltari, cum ar fi aplicatiile web mobile si facilitatile speciale pentru utilizatori cu deficiente pun de asemenea un accent deosebit pe usurinta in folosire, care nu poate fi dobandita imediat ci pe intregul proces de dezvoltare.

Performanta implica folosirea unor metode, incepand cu cele de modelare pentru verificarea performantei si terminand cu cele de masurare. Dintre metodele de modelare mentionam modelele operationale si modelele generale de simulare. Masurarea necesita accesul la un sistem existent si avantajul ca sistemul poate fi urmarit in timp real. In cazul aparitiei unor probleme de performanta identificate prin masurare sau modelare este necesara o imbunatatire a performantei prin extinderea hardware-ului, optimizarea software-ului, prin caching sau replicari.

Securitatea implica abordarea unor probleme privind confidentialitatea datelor, prevenirea interceptarii mesajelor schimbate pe canalele accesibile publicului si oferirea unor servicii de incredere.

Web-ul semantic  reprezinta urmatorul pas logic in evolutia web-ului. Se identifica 3 abordari principale. In primul rand, paginile web trebuie extinse fie manual fie prin intermediul unor instrumente care ofera etichete semantice cu ajutorul carora paginile vor avea un continut interpretabil de sistemele de calcul. In al doilea rand utilizatorii care cauta informatia ar trebui sa foloseasca agenti software inteligenti capabili sa proceseze paginile web proiectate cu aceasta facilitate. In final, producatorii de continut si agentii software trebuie sa adopte un vocabular comun al conceptelor – o ontologie. Web-ul semantic este inca la inceputuri, dar opinia generala este ca acesta implica tehnologii promitatoare care vor influenta profund mediul de lucru al lucratorilor in domeniul cunoasterii.



[1] Berners-Lee, T., WWW: Past, Present, and Future, IEEE Computer, 29 (10), 1996, pp. 69–77

[2] Pressman, R. S., Can WebApps Be Engineered?, SPC Essentials, Software Productivity Center, May 2000a, la http://www.spc.ca/essentials/may0300.htm , [vizitat la: 2007-10-01]

[3] Fraternali, P., Tools and Approaches for Data-intensive Web Applications: A Survey, ACM Computing Surveys, 31 (3), September, 1999, pp. 227–263

[4] Ginige, A., Lowe, D., Robertson, J., Hypermedia Authoring, IEEE Multimedia, 2 (4), Winter, 1995, pp. 24–35

[5] Deshpande, Y., Hansen, S., Web Engineering: Creating a Discipline among Disciplines, Special Issue on

Web Engineering, IEEE Multimedia, 8 (2), April–June, 2001, pp. 82–87

[6] Kappel, G., Michlmayr, E., Web Engineering – Old Wine in New Bottles? Proc. of the 5th International Conference on Web Engineering (ICWE 2005), Springer LNCS 3255, Munich, Germany, 2005

[7] Boehm, B. W., Software Engineering, IEEE Transactions on Computers, 25 (12), 1976, pp. 1226–1241

[8] Deshpande, Y., Murugesan, S., Ginige, A., Hansen, S., Schwabe, D., Gaedke, M., White, B., Web Engineering, Journal of Web Engineering, 1 (1), 2002, pp. 3–17

[9] Powell, T., Jones, D., Cutts, D., Web Site Engineering: Beyond Web Page Design, Prentice Hall, 1998.

Pressman, R. S., Can Internet-Based Applications Be Engineered?, IEEE Software, 15 (5), September–

October, 1998, pp. 104–110

[10] Lowe, D., Engineering the Web – Web Engineering or Web Gardening? WebNet Journal, 1 (1), January–March, 1999

[11] Glushko, R., McGrath, T., Document Engineering for E-business, Proc. of the ACM Symposium on Document Engineering (DocEng) (held in conjunction with the ACM Int. Conf. on Information and Knowledge Management, CIKM), Virginia, USA, November 2002

[12] Reich, S., G¨untner, G., Digital Content Engineering – An Introduction, Proc. of Digital Content Engineering–Content Plattformen in Theorie und Praxis. Trauner Verlag, 2005

[13] Balasubramaniam, R., Pries-Heje, J., Baskerville, R., Internet Software Engineering: A Different Class of Processes, Annals of Software Engineering, 14 (1–4), December, 2002, pp. 169–195

[14] Glass, R. L., A Mugwump’s-Eye View of Web Work, Communications of the ACM, 46 (8), August, 2003,

pp. 21–23

[15] Mendes, E., Mosley, N., Web Engineering, Springer, 2006

[16] Pressman, R. S., Applying Web Engineering. In: Software Engineering: A Practitioner’s Approach, 6th Edition, McGraw-Hill, 2005

[17] Weerawarana, S., Curbera, F., Leymann, F., Storey, T., Ferguson, D. F., Web Services Platform Architecture,

Prentice Hall, 2005

[18] Wege, Ch., Portal Server Technology, IEEE Internet Computing, 6 (3), May–June, 2002, pp. 73–77

[19] Berners-Lee, T., Hendler, J., Lassila, O., The Semantic Web, Scientific American, May, 2001

[20] Bush, V., As We May Think, The Atlantic Monthly, 176 (1), 1945, pp. 101–108.

[21] Pressman, R. S., Can WebApps Be Engineered?, SPC Essentials, Software Productivity Center, May 2000a,

http://www.spc.ca/essentials/may0300.htm

[22] McDonald, A., Welland, R., A Survey of Web Engineering in Practice, Department of Computing Science

Technical Report R-2001-79, University of Glasgow, Scotland, 2001.

[23] Scharl, A., Evolutionary Web Development – Automated Analysis, Adaptive Design, and Interactive Visualization

of Commercial Web Information Systems, Springer-Verlag, 2000









Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2474
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site