Sunteți pe pagina 1din 3

Parametrii unui proiect web constau in stabilirea obiectivului principal, durata de realizare,

costuri, metode de abordare, tehnologii care se aplica, procese, rezultate asteptate, resurse
umane implicate, profilul echipei.

Echipa proiectului de web poate fi structurata astfel:


- management: web project manager;
- functionalitate: software engineer, multimedia designer;
- continut: domain expert, business expert.

Algoritmul de functionare a activitatii de programare dupa Crumlish&Malone, poate fi sintetizat


ca in figura:

scopuri interactiune funcționalităti indexare instrumente


psihologie controale tehnologii structurare metodologii
comportament limbi naturale algoritmi meta-date stimuli

    
utilizatori interfata software continut creatori

Dezvoltarea aplicațiilor Web se bazeaza, in general, pe urmatoarele particularitati:

1.Cerinte (requirements)
Factorii care se iau in considerare la primirea unei comenzi sunt: lipsa unei structuri reale
(tangibile), necunoasterea publicului-tinta real, volatilitatea cerintelor si constrangerilor, mediul
de operare impredictibil, impactul sistemelor traditionale, aspecte calitative diferite, inexperienta
vizitatorilor, termenul de lansare.

2.Analiza & proiectare (software design)

Dezvoltarea unei arhitecturi software ia în calcul:


- cerinte functionale: impuse de clienti, vizitatori, concurenta, factori decizionali
(management), evolutie sociala/tehnologica;
- factori calitativi: utilizabilitate, performanta, securitate, refolosirea datelor/codului, etc.
- aspecte tehnologice: platforma hardware/software (sistem de operare), infrastructura
middleware, servicii disponibile – via API-uri publice, limbaj(e) de programare, sisteme
traditionale(legacy);
- experienta: recurgerea la arhitecturi si platforme existente, sabloane de proiectare
(design patterns), solutii „la cheie”: biblioteci, framework-uri, instrumente, management
de proiecte, etc.

In faza de proiectare se vorbeste de un “pattern”, un “sablon”, care de regula exprima o relatie


dintre un context, o problema si o solutie. Specificarea si/sau „recunoasterea” unui pattern
poate avea loc prin prezentarea datelor, procesare, integrarea componentelor, stocarea datelor.
Modelul de structurare a datelor este separat de maniera de procesare care da controlul
aplicatiei si de modul de prezentarea acestora (interfata Web).Majoritatea aplicatiilor web sunt
structurate dupa modelul din imagine:
HTML, CSS, SVG, Javascript MYSQL, JSON,
MathML, WebGL, WebVR, etc. XML (XQuery), RDF(SPARQL),…
View, Model,

context la nivel de client stocare persistenta

Controller,

aplicate (server si/sau client)

Servere de aplicatii, PHP, framework

Controller-ul este responsabil cu preluarea cererilor de la client (cereriGET/POST emise pe


baza acțiunilor utilizatorului) gestioneaza resursele necesare satisfacerii cererilor uzual, va
apela un model conform acțiunii solicitate si, apoi, va selecta un view corespunzător.

Model-ul desemnează datele+regulile (i.e.restrictiile) vizând datele concepte manipulate de


aplicația Web oferă controller-ului o reprezentare a datelor solicitate si e responsabil cu
validarea datelor menite a fi stocate.

View – furnizeaza diverse maniere de prezentare a datelor furnizate de model via controller;
pot exista view-uri multiple, alegerea lor fiind realizata de controller.

3.Implementare (build)
In faza de implementare:
- se eficientizeaza procesele de dezvoltare a aplicațiilor Web;
- se genereaza continutul la nivel de server;
- se poate impune o viziune arhitecturala privind dezvoltarea de aplicatii web;

Tot in faza de implementare se stabilesc framework-urile (cadre de lucru), care facilitează


dezvoltarea de aplicatii Web, simplificand unele operatii uzuale (acces la baze de date,
caching, generare de cod, management de sesiuni, control al accesului) si/sau încurajand
reutilizarea codului-sursa.

4.Testare(testing)

Faza de testare consta in efectuarea de teste referitoare la codul-sursă: unități de testare


automata – cadrul general dat de xUnit, HttpUnit, JUnit(Java), PHPUnit, xUnit.net (C#, F#),
Test: Class (Perl), unittest(Python), Unit.js+JSUnit, FireUnit, Selenium la nivel de client.

Teste specifice în contextul aplicatiilor Web privind continutul (structura, validare HTML, CSS,
etc.), probleme la nivel de hipertext (e.g., broken links), utilizabilitate – inclusiv accesibilitate,
multi-lingvism, estetica interfetei Web.

Teste specifice in contextul aplicațiilor Web, integrarea componentelor, gradul de disponibilitate


permanentă si de flexibilitate (evoluție continuă), gradul de independenta de dispozitiv–multi-
screen (numar mare de dispozitive+caracteristici potentiale).

Alte tipuri de testari: privind performanta de încarcare(load), stressing, testare continua,


scalabilitate, securitate

5.Exploatare(deployment)
Publicarea sitului server dedicat vs. furnizor de găzduire Web (hosting) solutie gratuita
vs.comerciala, timp de răspuns, scalabilitate, securitate, suport tehnic, etc.

6.Mentenanta (maintenance)
Mentenanta (administrarea) continutului, obtinerea, crearea, pregatirea, managementul,
prezentarea, procesarea, publicarea si reutilizarea continuturilor in maniera sistematica si
structurata.

La nivel organizational aceasta faza dezvolta managementul cunoștințelor (knowledge


management), managementul relatiilor cu clientii (CRM –Client Relationship Management)
planificarea resurselor (ERP – Enterprise Resource Planning), managementul workflow-urilor+
business rules, integrarea aplicatiilor (EAI –Enterprise App Integration).

Tot in cadrul fazei de mentenanta vorbim de Usage analysis – metode explicite,


bazate pe date oferite de utilizator, chestionare si monitorizare (usertesting), analiza mesajelor
de e-mail, reactii pe retele sociale etc. si de metode implicite, colectare automata a datelor de
interes (user analytics) uzual, folosind cookie-uri.
Analiza utilizarii masoara „popularitatea” sitului: viteza de incarcare, numarul de accesari, timpul
+ durata de vizitare, etc.