venda de kiwis online · cara al comprador final. en el caso de la fruta, el cliente acaba...
TRANSCRIPT
VENDA DE KIWIS ONLINE
WWW.PROSMOKIWI.COM
Memòria del projecte
d‟Enginyeria Informàtica
realitzat per
Ricard Pros Morell
i dirigit per
Montserrat Serra Vizern
Bellaterra, 11 de juny de 2008
www.PROSMOKIWI.com 1
Ricard Pros Morell Projecte Fi de Carrera
La sota signant, Montserrat Serra Vizern,
professora de l'Escola Tècnica Superior d'Enginyeria de la UAB,
CERTIFICA:
Que el treball al que correspon la present memòria ha estat
realitzat sota la seva direcció per en Ricard Pros Morell.
I per a que consti firma la present.
Signat: Montserrat Serra Vizern
Bellaterra, 11 de juny de 2008
www.PROSMOKIWI.com 2
Ricard Pros Morell Projecte Fi de Carrera
Resum del projecte
Avui en dia la venda de productes, mitjançant les possibilitats que ens ofereix Internet,
es troba en ple auge. Aquest projecte, pretén posar en funcionament una pàgina Web
dedicada a la venda de fruita, concretament kiwis.
Des de fa un temps, la població comença a ser conscient del desequilibri entre el agent
productor i el agent comercial. Com passa també en altres sectors, el productor ven a
un preu molt inferior, respecte al que després es ficarà de cara al comprador final. En el
cas de la fruita, el client acaba comprant un producte més car i normalment de menys
qualitat.
L‟objectiu principal d‟aquest projecte, és promoure la venda online a partir d‟una
mercaderia de qualitat i més econòmica, aconseguint un major benefici tant per part del
productor com del client.
_
La venta de productos, utilizando las posibilidades que Internet nos ofrece, es, hoy en
día, un campo en pleno auge. Este proyecto, pretende poner en funcionamiento una
página Web dedicada a la venta de fruta, concretamente kiwis.
Desde hace un tiempo, la población empieza a ser consciente del desequilibrio
existente entre los productores i los comerciantes. Como pasa también en otros
sectores, los productores venden a un precio muy inferior, respecto al que se pondrá de
cara al comprador final. En el caso de la fruta, el cliente acaba comprando un producto
más caro i normalmente de menor calidad.
El objetivo principal de este proyecto, es promover la venta online a partir de una
mercancía de calidad i más económica, logrando un mayor beneficio por parte del
productor i también por parte del cliente.
_
The sale of products using the benefits of Internet is today at its very peak. This project
aims to put into operation a Web page to sell fruits, specifically kiwis.
Nowadays, the population starts to be aware of the imbalance between producers and
merchants. As in other sectors, producers are selling with a price much lower than the
www.PROSMOKIWI.com 3
Ricard Pros Morell Projecte Fi de Carrera
final price for the last buyer. In the case of the fruits, at the end, the coustomer buys a
more expensive product with a lower quality.
The main objective of this project is to promove the e-commerce with a high quality and
cheaper products, getting a higher benefit for the producer and for the coustomer.
www.PROSMOKIWI.com 4
Ricard Pros Morell Projecte Fi de Carrera
Taula de continguts
CAPÍTOL 1 – INTRODUCCIÓ ......................................................................................... 6
Introducció ................................................................................................................ 6 Objectius ................................................................................................................... 7 Estructura de la memòria ............................................................................................. 8
CAPÍTOL 2 – ESTAT DE L’ART ................................................................................... 11
Introducció .............................................................................................................. 11 Usabilitat ................................................................................................................. 12 Accessibilitat ........................................................................................................... 20 Diferència entre Usabilitat i Accessibilitat ............................................................... 23 Disseny Universal ................................................................................................... 24 Normativa i legislació .............................................................................................. 27
CAPÍTOL 3 – ANÀLISI .................................................................................................. 32
Anàlisi de requeriments .......................................................................................... 32 Requeriments funcionals ........................................................................................ 33 Requeriments no funcionals.................................................................................... 34 Especificació del sistema ........................................................................................ 36
CAPÍTOL 4 – DISSENY ................................................................................................. 40
Introducció .............................................................................................................. 40 Interfície amb l’usuari .............................................................................................. 43 Prototipat................................................................................................................. 44 Pàgina d’inici ........................................................................................................... 48 Navegació ............................................................................................................... 50 Arquitectura de la informació .................................................................................. 52
CAPÍTOL 5 – IMPLEMENTACIÓ .................................................................................. 54
Models de desenvolupament de software ............................................................... 54 Model de desenvolupament escollit ........................................................................ 58 Eines de desenvolupament ..................................................................................... 59 Decisions d’implementació ...................................................................................... 66 Desenvolupament de l’aplicació .............................................................................. 68 Dificultats ................................................................................................................ 83
CAPÍTOL 6 – SEGURETAT .......................................................................................... 84
Introducció .............................................................................................................. 84 Compra segura ....................................................................................................... 86 Advertència legal .................................................................................................... 87
CAPÍTOL 7 – AVALUACIÓ ........................................................................................... 89
Mètodes d’avaluació de l’usabilitat .......................................................................... 89 Mètodes d’avaluació de l’accessibilitat ................................................................... 91
www.PROSMOKIWI.com 5
Ricard Pros Morell Projecte Fi de Carrera
CAPÍTOL 8 – PLANIFICACIÓ I GESTIÓ DEL RISC ..................................................... 93
Identificació i gestió del risc .................................................................................... 93 Planificació .............................................................................................................. 94
CAPÍTOL 9 – PROVES I VALIDACIÓ DEL SISTEMA .................................................. 96
Introducció .............................................................................................................. 96 Proves d’unitat ........................................................................................................ 96 Proves d’integració ................................................................................................. 97 Proves de validació ................................................................................................. 97 Proves de sistema .................................................................................................. 97
CAPÍTOL 10 – CONCLUSIONS I AMPLIACIONS ........................................................ 99
Conclusions ............................................................................................................ 99 Ampliacions ............................................................................................................. 99
BIBLIOGRAFIA ........................................................................................................... 100
AGRAÏMENTS ............................................................................................................. 102
ANNEX – MANUAL D’USUARI ................................................................................... 103
Benvinguts a l’ajuda de l’aplicació ........................................................................ 104
www.PROSMOKIWI.com 6
Ricard Pros Morell Projecte Fi de Carrera
Capítol 1 – Introducció
Introducció
Des de ja fa molts anys i passant per varies generacions, la producció de fruita forma
part del negoci familiar.
A pocs kilòmetres de Lleida, en un poble anomenat Torrefarrera, és on es troba la finca
de l‟empresa Prosmokiwi, entitat recentment creada per a la venda exclusiva de kiwis.
Actualment, gràcies als avenços científics, els pagesos compten amb un ampli ventall
de productes que els permeten lluitar contra les plagues i malalties que sofreixen els
arbres fruiters. No obstant, la majoria d‟aquests adobs es creen a partir de substàncies
químiques que afecten tant al medi ambient com al propi fruit i que a més acostumen a
tenir un preu poc assequible.
Els costos dels adobs són un més a més que fan que la producció de fruita sigui cada
cop menys rentable, l‟altre factor, i el més important, és el preu al que es ven. Aquest
preu ve normalment condicionat pel nombre de tones que es produeixen, ja que el
pagès no pot vendre tota la producció a consumidors finals o bé a fruiteries i no pot fer
altra cosa que vendre la mercaderia a un intermediari per a que la comercialitzi, existint,
entre els uns i els altres, una diferència de preu més que notable.
Degut a tot això, es decideix cultivar el kiwi. L‟arbre fruiter de l‟actinídia no necessita ser
sulfatat i a més es controla la producció limitant-la al nombre de consumidors finals i
fruiteries que es poden abastir.
En aquest punt és on entra en escena la necessitat d‟un espai Web, on l‟usuari pugui
comprar el nostre producte. D‟aquesta manera, l‟empresa s‟obre a un ampli mercat, en
el qual no hi ha intermediaris i en el que a més, l‟usuari o client, pot comprar un fruit de
millor qualitat i a millor preu.
Amb la creació d‟aquest projecte, i un cop entri en funcionament la pàgina Web
www.prosmokiwi.com, es pretén incrementar la producció del kiwi paral·lelament a la
demanda d‟aquest.
www.PROSMOKIWI.com 7
Ricard Pros Morell Projecte Fi de Carrera
A llarg termini, es preveu la traducció integra de la plana Web a altres idiomes com el
portuguès, el castellà i el francès, amb la intenció de continuar creixent i ampliant el
nombre d‟usuaris.
Objectius
Aquest projecte vol assolir una sèrie d‟objectius tant a nivell social com a nivell de
software.
Es pretén vendre el fruit directament al consumidor per tal de subministrar un producte
més fresc, sense que passi per intermediaris, fent front, d‟aquesta manera, al increment
de preus.
La pàgina Web a realitzar ha d‟atreure a qualsevol tipus d‟usuari que la visiti, sense
importar els seus diferents interessos. La quantitat d‟espai visible per la pantalla de
l‟ordinador, un cop situats a la pàgina principal del Web, és la zona preferida i per tant,
ha de ser la millor (terme heretat dels diaris, la pàgina principal és la que veiem a simple
vista).
Així doncs, els objectius a assolir per la pàgina Web són els següents:
A nivell social:
L‟usuari ha de poder comprar kiwis des de casa seva, simplement amb un
ordinador connectat a Internet, i podrà fer-ho des de qualsevol punt de la
península.
El preu del producte ha de ser menor del que trobem en qualsevol establiment
que faci d‟intermediari entre el productor i el consumidor final.
La pàgina s‟haurà de traduir, a llarg termini, al portuguès, al castellà i al francès.
A nivell de software:
L‟aplicació ha de ser intuïtiva, usable i segura.
La pàgina Web ha de garantir la seguretat de l‟usuari, ja sigui a partir de termes
legals com proporcionant un entorn acollidor.
www.PROSMOKIWI.com 8
Ricard Pros Morell Projecte Fi de Carrera
Des de l‟aplicació s‟ha de poder confeccionar un cistell i finalitzar la compra, ja
sigui mitjançant contrareemborsament, transferència bancària o pagament amb
targeta de crèdit.
L‟usuari podrà escollir el nombre de kilograms, caixes i el calibre del fruit alhora
de confeccionar la seva compra i veurà en tot moment l‟import d‟aquesta.
La compra romandrà en el cistell mentre duri la sessió del usuari.
No s‟ha de poder realitzar una compra si l‟usuari no es registra prèviament. Per
tant, s‟ha d‟utilitzar un sistema gestor de base de dades.
Estructura de la memòria
Aquesta memòria esta estructurada amb onze capítols i un annex. Per tal de tenir una
idea més clara dels continguts del document, tot seguit es narren els punts principals
que es tracten:
- Introducció:
Introducció del projecte i enumeració dels objectius que ha d‟assolir.
- Estat de l‟art:
Es parla dels elements que intervenen en la Interacció Persona – Ordinador:
Usabilitat, accessibilitat i disseny universal.
En aquest punt també es tracten els aspectes legals així com la normativa
vigent.
- Anàlisi:
Definició dels diferents tipus de requeriments, funcionals i no funcionals,
explicació de cadascun d‟ells i especificacions del sistema.
Definició dels diferents models de desenvolupament i model escollit per a la
realització del projecte.
www.PROSMOKIWI.com 9
Ricard Pros Morell Projecte Fi de Carrera
- Disseny:
Descripció detallada de totes les parts que intervenen en el disseny així com
la interfície, la navegació, i l‟estructura del lloc.
Explicació de tot el procés que s‟ha seguit fins arribar al disseny actual a
partir d‟una breu exposició de les diferents maneres d‟enfocar la realització
de la pàgina Web. Mostra dels diferents prototips i evolució fins al disseny
actual.
- Implementació:
Es parla dels models de software existents i l‟escolli‟t per al desenvolupament
de l‟aplicació. Es repassen totes les eines que intervenen en el projecte tot
especificant el software que s‟ha utilitzat. També es detallen les dificultats
més rellevants alhora d‟implementar-lo.
- Seguretat:
Exposició dels diferents punts de vista referents a la seguretat de la Web.
Redacció de l‟advertència legal del lloc.
- Avaluació:
Avaluació de l‟usabilitat i accessibilitat del lloc Web.
- Planificació i gestió del risc:
Enumeració dels possibles riscos que pot patir el projecte i planificació
d‟aquest.
- Proves i validació del sistema:
Diferents proves realitzades al sistema amb l‟objectiu de trobar qualsevol
tipus d‟error. Proves d‟unitat, integració, validació i de sistema.
- Conclusions i ampliacions:
Reflexions apropiades segons els resultats obtinguts. Possibles extensions
del treball per a que, a llarg termini es pugui veure reflectit en un resultat
tangible.
www.PROSMOKIWI.com 10
Ricard Pros Morell Projecte Fi de Carrera
- Bibliografia:
Cadascuna de les fonts que s‟han utilitzat per poder realitzar aquest projecte.
- Agraïments:
Un petit comentari sobre aquelles persones més properes que ja sigui amb
ajuda tècnica o moral han ajudat a fer realitat aquesta tasca.
- Annex:
Manual d‟usuari.
www.PROSMOKIWI.com 11
Ricard Pros Morell Projecte Fi de Carrera
Capítol 2 – Estat de l’art
Introducció
A partir d‟unes mateixes eines i en una situació idèntica, un mateix equip de
desenvolupament, es capaç d‟implementar tota una varietat de sistemes, les interfícies
dels quals, poden assemblar-se i tenir característiques comunes.
Tot i això, sembla evident que si no es realitza un gran esforç en conèixer les
particularitats dels usuaris i en reflectir-les a la interacció que presenta la interfície,
aquests, de cap manera podran percebre la familiaritat necessària que els proporcioni
seguretat i relaxació durant la manipulació del sistema.
D‟aquesta manera, alhora de realitzar el desenvolupament, tangible per part del usuari,
s‟ha de pretendre trobar una interfície fàcil d‟utilitzar i d‟aprendre, aspecte que no pot
determinar-se únicament, com sol succeir, pels dissenyadors o programadors del
sistema interactiu, sinó que també haurà de determinar-se a partir d‟una col·laboració
per part dels usuaris. Aconseguir aquest objectiu, tan sols és possible si impliquem als
propis usuaris en el procés de desenvolupament des del principi. I no hem de confondre
el fet d‟implicar a l‟usuari en el disseny del sistema amb el fet de realitzar un disseny
pensant en l‟usuari, el darrer cas, fa referència a que els usuaris no intervenen fins al
moment de la implantació definitiva del sistema.
En definitiva, es pot dir que serveix de ben poc un desenvolupament sense tenir en
compte una de les parts més important, com és l‟usuari. Per tant, centrar-nos en
l‟usuari, significa que no podem oblidar-nos d‟ell i relegar-lo quan ens trobem a la fase
final d‟un projecte, després de la instal·lació de l‟aplicació, quan ja no pot fer-se res en el
seu benefici.
El disseny interactiu, implica realitzar un disseny en el qual l‟usuari passa a ser el focus
d‟atenció i la implementació de les funcionalitats del sistema s‟implementen d‟acord a
les característiques dels mateixos.
www.PROSMOKIWI.com 12
Ricard Pros Morell Projecte Fi de Carrera
També és important, tenir en compte que no ens hem de centrar en un tipus d‟usuari en
concret sinó en tots els usuaris, tenint en compte tots els trets diferencials entre ells,
pensant, fins i tot, en aquells que pateixen una discapacitat.
Usabilitat
La usabilitat és un dels principis en el que es basa la Interacció Persona – Ordinador
(IPO).
La interacció Persona – Ordinador, és la disciplina que estudia els intercanvis
d’informació entre les persones i els ordinadors perquè totes les persones puguin
realitzar les seves tasques d’una manera eficient i satisfactòria i amb un mínim d’esforç
d’aprenentatge.
La investigació en IPO/HCI (Human Computer – Interaction) porta a l‟estandardització
de la usabilitat, la seva millora i recolzament empíric. L‟enfocament científic de l‟IPO/HCI
inclou una varietat de eines i tècniques que ajuden a desenvolupar millors interfícies
d‟usuari.
El disseny de la pàgina www.prosmokiwi.com està realitzat a partir dels criteris de la
usabilitat Web.
Ja sigui un portal Web, una pàgina personal o bé, com és el nostre cas, una pàgina
dedicada a la venda online, no hem d‟oblidar que l‟usuari que entra en un espai Web és
bàsicament perquè està buscant quelcom concret, per tant, és funció i responsabilitat
del dissenyador fer-la senzilla i intuïtiva,es a dir, usable.
Avui en dia, la Web s‟està convertint en un element clau, tant per al desenvolupament
de les empreses com per al d‟institucions i s‟ofereix una ampli ventall de serveis a
través d‟aquesta. La usabilitat aporta un enfocament imprescindible per a que qualsevol
tipus de pàgina tingui el suficient atractiu per tal de que el visitant no només es quedi i la
visiti sinó que també la tingui present en un futur, i torni.
Per tot això, les interfícies han de ser el més fàcils d‟utilitzar i d‟aprendre possible, sense
perdre l‟horitzó sobre la universalitat de les mateixes, és a dir, que aplicant els principis
coneguts, com el disseny universal, que es tractarà més detalladament en els propers
www.PROSMOKIWI.com 13
Ricard Pros Morell Projecte Fi de Carrera
punts, procurarem a més, implementar unes interfícies per a totes les persones, sense
barreres (tecnològiques) de cap tipus, que interfereixin la seva utilització.
La Societat de la Informació i el Coneixement (SIC) constitueix un factor determinant
que marca el desenvolupament i l‟evolució de la societat actual. Contràriament, la
mateixa SIC, la majoria de vegades, no avança en funció de les necessitats de
l‟esmentada societat a la què dóna servei.
No tots tenim les mateixes capacitats ni aptituds. Per a persones amb algun tipus de
limitació funcional, manipular productes o utilitzar els serveis que la vida diària imposa
suposa un repte moltes vegades impossible de superar. Conceptes com ajuts tècnics,
accessibilitat integral o disseny per a tots són cada vegada més utilitzats per assegurar
la independència i la participació social de les persones amb mobilitat o força reduïda,
deficiències en la visió o en l‟audició, dificultats per parlar o d‟altres limitacions
funcionals.
Internet, com a exemple determinant actualment, ofereix accés a tot tipus de recursos,
serveis, cultura, educació, etc. El seu desenvolupament, però, s‟està manifestant que
una vegada més, estem ensopegant de nou amb la mateixa pedra, traslladant al món
virtual problemes ja detectats en el món real. Com a responsables del desenvolupament
dels sistemes que s‟inclouen a Internet, tenim l‟obligació d‟evitar que es repeteixin els
errors que suposen les barreres arquitectòniques habituals, existents en els carrers dels
nostres pobles i ciutats, errors que hem d‟evitar tant alhora de crear una pàgina Web
com en qualsevol altre sistema interactiu. Cal crear, per tant, un sistema usable.
El concepte d‟usabilitat
El concepte d‟usabilitat, popularitzat per J.NIELSEN [1], d‟un sistema software, té dos
components principals, un fa referència a l‟aspecte funcional del sistema “accions o
operacions que els sistema realitza” i l‟altre fa referència a com els usuaris poden
utilitzar l‟esmentada funcionalitat, sent aquesta darrera la que més ens interessarà en
aquest punt.
Els factors principals que s‟han de considerar alhora de parlar d‟usabilitat són, la facilitat
d‟aprenentatge, l‟efectivitat d‟ús i la satisfacció amb què les persones són capaces de
www.PROSMOKIWI.com 14
Ricard Pros Morell Projecte Fi de Carrera
realitzar les seves tasques gràcies a l‟ús del producte amb el que està treballant, factors
que descansen en les bases del disseny centrat en l‟usuari.
El grau d‟usabilitat d‟un sistema interactiu és un aspecte relacionat amb la interfície
d‟usuari i que és inversament proporcional al temps que l‟usuari malgasta intentant
esbrinar l‟abast del sistema o bé buscant una determinada funcionalitat. L‟usabilitat fa
referència, per tant, a la rapidesa i facilitat amb què les persones porten a terme les
seves tasques a través de l‟ús del producte amb el que estant treballant.
Aquesta idea es veu reflectida en els següents punts:
a) Una aproximació a l’usuari: Usabilitat significa centrar-se en els usuaris. Per
desenvolupar un producte usable s‟ha de conèixer, entendre i treballar amb les
persones que representen els usuaris actuals o potencials del producte.
b) Un ampli coneixement del context d’ús: Les persones utilitzen els productes
per incrementar la seva pròpia productivitat. Així doncs, un producte es considera
fàcil d‟aprendre i d‟utilitzar en termes del temps que pren l‟usuari per dur a terme
el seu objectiu, el nombre de passos que ha de realitzar per això i l‟èxit que té en
predir l‟acció apropiada per dur a terme. Per desenvolupar productes usables cal
entendre els objectius de l‟usuari, cal conèixer els treballs i tasques de l‟usuari
que el producte ha de automatitzar o bé modificar.
c) El producte ha de satisfer les necessitats de l’usuari i adaptar-se als seus
models mentals: Els usuaris són de gran diversitat i ocupats intentant realitzar
una tasca. Es relacionarà usabilitat amb productivitat i qualitat. El maquinari i el
programari són les eines que ajuden a les persones ocupades a realitzar el seu
treball i a gaudir del seu lleure.
d) Són els usuaris i no els dissenyadors o els desenvolupadors, els que
determinen quan un producte és fàcil d’usar.
Col·loquialment, sol definir-se l‟usabilitat com la propietat que té un determinat sistema
perquè sigui “fàcil d‟usar o d‟utilitzar i aprendre”, tractant-se d‟una propietat que no és
només aplicable als sistemes software, sinó que, com demostra D.NORMAN [2], és
aplicable als elements de la vida quotidiana.
www.PROSMOKIWI.com 15
Ricard Pros Morell Projecte Fi de Carrera
L‟organisme d‟estandardització ISO (International Organization for Standarization)
proposa dues definicions del terme usabilitat, definides a partir del que es considera en
el moment d‟especificar o avaluar l‟esmentada usabilitat:
ISO 9241-11 (Guidance on Usability – 1998) [3]
Aquest estàndard (part de la sèrie ISO 9241) proporciona la definició de la
usabilitat que s‟utilitza en estàndards ergonòmics:
La mesura en la qual un producte es pot usar per determinats usuaris per
aconseguir objectius específics amb efectivitat, eficiència i satisfacció en un
context d’ús especificat.
Aquesta norma explica com identificar la informació que es necessita considerar
en el moment d‟avaluar l‟usabilitat en termes de mesures de funcionament i de
satisfacció de l‟usuari. La direcció es dóna en com descriure el context d‟ús del
producte i de les mesures d‟usabilitat d‟una manera explícita. Inclou una
explicació de com la usabilitat d‟un producte es pot especificar i avaluar com a
part d‟un sistema de qualitat. També explica com les mesures de funcionament i
de satisfacció de l‟usuari es poden utilitzar per mesurar com un component
qualsevol d‟un sistema, afecta a la qualitat del mateix dins del context del seu ús.
ISO/IEC 9126 (Software engineering – Product quality. Product evaluation –
Quality characteristics and guidelines for their use, 2001) [4]
En la comunitat de l‟enginyeria del software, el concepte d‟usabilitat, s‟ha
associat més comunament al disseny de la interfície d‟usuari. L‟ISO/IEC 9126
(desenvolupat com un estàndard de l‟enginyeria del software) defineix la
usabilitat com una contribució relativament independent a la qualitat del software
associat amb el disseny i l‟avaluació de la interfície de l‟usuari i la seva interacció.
L‟esmentada definició és la que segueix:
Un conjunt d’atributs que influeixen en l’esforç necessari per a l’ús, i en
l’assessorament individual de cada ús per a un conjunt d’usuaris definit o
implicats. (1991)
La capacitat que té un producte software per ser atractiu, entès, après, usat per
l’usuari quan és utilitzat sota unes condicions específiques. (2001)
www.PROSMOKIWI.com 16
Ricard Pros Morell Projecte Fi de Carrera
Podem observar que aquesta definició respon més a criteris en termes
qualitatius. La definició de l‟any 2001 acaba especificant “sota unes condicions
específiques” per deixar clar que un producte no disposa d‟usabilitat intrínseca,
sinó que té la capacitat de ser usat en un context particular.
Importància de la usabilitat
El gran avenç en la tecnologia dels ordinadors ha incrementat la potència d‟aquests,
alhora que ha ampliat la banda de comunicació entre les persones i els ordinadors. Tot i
així, els principis aplicables al procés d‟interacció són independents de la tecnologia, ja
que depenen molt més d‟un millor coneixement dels elements humans i no tant de
l‟esmentada tecnologia.
Una vegada conegut què és i a què fa referència la usabilitat, hem de reflexionar sobre
com s‟està enfocant la implantació de les noves tecnologies i plantejar-se preguntes
com per què ens hem de preocupar per la usabilitat? o per què les coses són tan difícils
d’utilitzar? Per comprendre el que D.NORMAN assegura, quan diu, que el verdader
problema no rau en l‟èmfasi de la pròpia tecnologia, sinó en la persona per a la qual
esta fet el sistema o dispositiu [5] mentre el desplegament actual, normalment, oblida a
l‟usuari final.
NIELSEN, per altra banda, afirma que la importància de la usabilitat en el
desenvolupament de software i diu que es tracta d‟un factor crític per a que el sistema
assoleixi el seu objectiu. Els usuaris han de tenir la sensació real de que el sistema els
ajudarà a realitzar les seves tasques. I aquest ha de fer-ho, d‟un altra forma, seran
reacis a la seva utilització.
Beneficis de la usabilitat
El benefici immediat de la usabilitat és que les interfícies són més fàcils d‟utilitzar, el
qual de per si ja suposa un benefici humanitari i ètic ja que aquesta finalitat d‟ús fa que
les persones es sentin menys frustrades i menys intimidades per la tecnologia [6].
www.PROSMOKIWI.com 17
Ricard Pros Morell Projecte Fi de Carrera
A part d‟això, són molts els estudis, de diversos autors, que evidencien els beneficis
aportats per la usabilitat. Alguns d‟aquests estudis afirmen, fins i tot, que la usabilitat
millora la productivitat dels usuaris, incrementa la seva moral i redueix els costos
derivats de la formació i la documentació [7][8].
MAYHEW I MANTEI [9] foren els primers a descriure els beneficis d‟aplicar la usabilitat
al disseny software des d‟un punt de vista intern i de les vendes realitzades. Aquests
van centrar-se en tres àrees diferents: Desenvolupament, ús intern i vendes.
a) Desenvolupament:
Reducció dels costos de producció: Encara que sembli contradictori, els
costos i temps de desenvolupament totals es poden reduir evitant el sobre-
disseny i reduint el nombre de canvis posteriors del producte. S‟optimitzen,
d‟aquesta manera, els costos de disseny i re disseny de les aplicacions.
Reducció dels costos de manteniment i suport: Els sistemes que són fàcils
d‟usar requereixen menys entrenament, menys suport per a l‟usuari i menys
manteniment.
Reducció dels costos corporatius: Aquest factor ja s‟aconsegueix com a
conseqüència dels dos punts anteriors, al qual hem d‟afegir que el valor que
l‟equip d‟usabilitat, d‟una companyia que desenvolupa software, aporta al conjunt
global, proporciona millores metodològiques en el sistema global de
desenvolupament, reduint, per tant, els costos generals [10].
b) Ús intern:
Reducció dels costos d’ús: Els sistemes que millor s‟ajusten a les necessitats
de l‟usuari, milloren la productivitat i la qualitat de les accions i les decisions. Els
sistemes més fàcils d‟utilitzar, redueixen l‟esforç i permeten als usuaris utilitzar
una varietat més àmplia de tasques. Per altra banda, els sistemes difícils d‟usar,
disminueixen la salut, el benestar i la motivació, i poden incrementar
l‟absentisme.
Reducció dels costos d’aprenentatge: Un sistema amb elevades dosis
d‟usabilitat, s‟organitza de manera que s‟adapti millor al model mental dels seus
usuaris amb el que es minimitza el temps necessari per al seu aprenentatge.
www.PROSMOKIWI.com 18
Ricard Pros Morell Projecte Fi de Carrera
Millora la qualitat de vida dels usuaris, ja que redueix el seu estrès,
incrementant la satisfacció i la productivitat.
c) Vendes:
Increment de les vendes: Un producte més usable permet un millor màrqueting
a causa d‟una millor imatge, ja que aquest, és més comprensible, i per tant, més
fàcilment vendible.
Millora en la qualitat del producte: El disseny centrat en l‟usuari dóna lloc a
aplicacions de major qualitat d‟ús, més competitius en un mercat que demanda
productes de fàcil ús. En l‟entorn Web, es millora la imatge i el prestigi del lloc, la
qual cosa afavoreix a l‟augment de la taxa de conversió de visitants a clients.
Menor suport al client: Els sistemes usables són més fàcils d‟aprendre i
d‟utilitzar-los, comportant un menor cost d‟implementació i d‟enteniment.
La usabilitat aplicada a la Web
La Web és un entorn en el qual el poder és a les mans dels usuaris. L‟usuari, que és qui
fa clic al ratolí, és qui pren totes les decisions. Com a resultat de les enormes
possibilitats que ofereix la world wide Web i de la facilitat per anar d‟uns llocs a altres,
és molt fàcil anar a qualsevol altra part que no sigui la pàgina que hem creat [11]. La
competència de tot el món estarà disposada a rebre aquell usuari a qui no la convençut
la nostra Web. Els usuaris d‟Internet tenen una impaciència i una insistència enorme per
rebre satisfacció de forma immediata i si no s‟imaginen com usar el nostre espai Web
en un màxim d‟un o dos minuts, acaben per pensar que no val la pena perdre el temps i
l‟abandonen.
Els usuaris no llegeixen una pàgina Web de la mateixa manera que seqüencial que
llegeixen, per exemple, un diari, un llibre, un article o un còmic. Els usuaris tenen
necessitats i objectius que volen aconseguir, i saben que la forma d‟aconseguir-los no
acostuma a ser a base de passar-se llargues estones llegint cada node Web que
visiten, llegint de principi a fi els seus continguts i enllaços. L‟usuari, en una pàgina, farà
clic sobre el primer enllaç que cregui que pot portar-lo allí on trobarà el que està buscant
www.PROSMOKIWI.com 19
Ricard Pros Morell Projecte Fi de Carrera
o necessita. Això vol dir que molts dels continguts i enllaços d‟aquella Web, l‟usuari, ni
tan sols els haurà vist.
L‟actitud d‟un usuari davant d‟una pàgina és anar recorrent, a forma de salts,
d‟informació continguda. No podem predir amb exactitud quin serà el camí que l‟usuari
seguirà durant la seva exploració visual de la nostra pàgina, però si podem saber a
quines zones li prestarà més atenció.
En la següent imatge és mostra un esquema del que acostuma a ser el recorregut
visual alhora de mirar una pàgina Web:
Figura 1. Esquema de l‟exploració visual d‟una pàgina Web.
Hi ha zones de l‟interfície de la pàgina que confereixen una major jerarquia a
l‟informació que contenen, com per exemple, la zona 1 de la imatge anterior. La
jerarquia visual, proporciona relacions jeràrquiques del tipus “això es part d‟això” i “això
va a continuació d‟això” entre els diferents objectes informatius de la pàgina, mentre que
la jerarquia de l‟informació o dels continguts, estableix relacions del tipus “això és més
important que això altre”.
Per tal d‟emfatitzar l‟importància d‟uns objectes informatius en vers uns altres, és a dir,
per definir la jerarquia de l‟informació, es poden utilitzar varies tècniques com són:
- Col·locar l‟informació més important en les zones de la interfície més rellevants.
- Emfatitzar mitjançant efectes tipogràfics.
- Augmentar el tamany dels textos de major importància.
- Utilitzar el contrast del color per tal de distribuir i discriminar els objectes
informatius.
- Agrupar objectes informatius relacionats entre si.
www.PROSMOKIWI.com 20
Ricard Pros Morell Projecte Fi de Carrera
Al contrari del que es pugui pensar, els objectes informatius que parpadejen, que
canvien o bé llisquen per la pantalla, no seran percebuts per l‟usuari com a objectes
importants, és més, l‟usuari els pot percebre com a publicitat, ja que és un mecanisme
massa explícit per atreure l‟atenció del usuari.
Tampoc podem definir o assignar massa objectes com a “molt importants" ja que es
produeix en l‟usuari una sobrecàrrega d‟informació, amb la qual cosa haurem fracassat
en el nostre objectiu.
Per últim, hem de tenir en compte que l‟usuari de la Web no és únic ni uniforme. Cada
usuari que visiti el nostre lloc tindrà necessitats, expectatives i comportaments diferents,
per tant, el disseny de l‟informació ha de realitzar-se de manera que satisfaci al major
nombre d‟usuaris possible. Si es disposa dels coneixements i de la tecnologia suficient,
es pot realitzar un disseny dinàmic que mitjançant perfils s‟adapti a les diferents
necessitats de cada grup d‟usuaris, o idealment, a cada usuari en concret. Alguns
d‟aquests mètodes més comuns per a estructurar l‟informació dins d‟una pàgina Web de
manera que englobi la forma de pensar de diferents grups d‟usuaris, és la tècnica
d‟agrupació de targetes o CardSorting. No hi entrarem en detall, però, per ficar un
exemple, es podria dir que la informació de les pàgines de la nostra Web serien
diferents per un usuari que visita el lloc Web una mitja de tres cops per setmana i que ja
hagués efectuat alguna compra, que per un usuari que visita la pàgina per primera
vegada.
Accessibilitat
Parlar d‟accessibilitat Web és parlar d‟un accés universal a la Web, independentment
del tipus de hardware, software, infraestructura de la xarxa, idioma, cultura, localització
geogràfica i capacitats dels usuaris.
Accessibilitat significa proporcionar flexibilitat per tal d‟acomodar-se a les necessitats de
cada usuari i a les seves preferències i/o limitacions. Amb aquesta idea, neix l‟Iniciativa
d‟Accessibilitat Web, coneguda com WAI (Web Accessibility Initiative) [12]. Es tracta
d‟una activitat desenvolupada per W3C, amb l‟objectiu de facilitar l‟accés a les persones
amb discapacitats, desenvolupant pautes d‟accessibilitat, millorant les eines per a
www.PROSMOKIWI.com 21
Ricard Pros Morell Projecte Fi de Carrera
l‟avaluació i reparació de l‟accessibilitat Web, portant a terme una tasca educativa i de
conscienciació en relació a l‟importància del disseny accessible de pàgines Web, i obrint
també nous camps en l‟accessibilitat, a través de la investigació en aquesta àrea.
L‟any 2005 va ser l‟any de l‟accessibilitat a tot el món, després de que el 2003 fos
declarat per la Unió Europea “l‟any europeu de les persones amb discapacitats”.
El 10 d‟abril de 2003, el govern britànic va reconèixer que el 80% dels seus llocs Web
necessitaven ser re dissenyats per a poder fer-los accessibles.
Només a Espanya, un 9% de la població és discapacitada. El nombre de llocs Web
públics accessibles de l‟Administració – estatal, autonòmica i local – és pràcticament
nul. De la mateixa manera, moltes de les aplicacions software més utilitzades als
ordinadors, no tenen en compte que moltes persones discapacitades han de poder
usar-les.
Avui en dia, els països desenvolupats estan dedicant molts esforços i recursos per
garantir que la societat no perdi el tren de l‟accés a les noves tecnologies. És per això
que la majoria d‟accions dels governs van encaminades a la formació de la població en
l‟ús d‟aquestes noves eines de comunicació i en afavorir l‟accessibilitat tant a nivell Web
com a nivell d‟aplicacions.
Actualment, l‟accessibilitat, es veu com una dificultat afegida alhora de dissenyar
software, no obstant això, són molts els individus i les organitzacions que troben
diverses raons per dissenyar de forma accessible [13]:
L‟accessibilitat, un benefici social:
L‟ús creixent de les noves tecnologies a totes les àrees de la societat, fa que
l‟accessibilitat representi un pas endavant a la independència d‟aquells individus
amb discapacitats.
L‟accessibilitat, un aspecte regulat per la llei:
Un nombre creixent de països exigeix que certes Webs i aplicacions software
siguin accessibles i s‟ajuden de la legislació i de la normalització pel seu
compliment. Aquest tema el tractarem amb més detall en el darrer punt d‟aquest
capítol.
www.PROSMOKIWI.com 22
Ricard Pros Morell Projecte Fi de Carrera
L‟accessibilitat, un benefici a nivell tecnològic:
El disseny accessible aconsegueix que determinades Webs o aplicacions
estiguin disponibles per a altres dispositius, com per exemple telèfons o PDAs, ja
que les tècniques d‟accessibilitat estan basades amb tecnologies i estratègies de
disseny recents.
L‟accessibilitat, un benefici a nivell econòmic:
L‟accessibilitat ofereix el potencial perquè les organitzacions i les empreses
adquireixin nous clients i nous mercats.
Pautes d‟accessibilitat aplicades a www.Prosmokiwi.com
Per tal de fer un contingut Web accessible, s‟han desenvolupat les denominades
“Pautes d‟Accessibilitat al Contingut” de la Web WCAG [14], la seva funció principal és
guiar el disseny de pàgines Web cap a un disseny accessible, reduint d‟aquesta manera
barreres a l‟informació. WCAG consisteix en 14 pautes que proporcionen solucions de
disseny i que utilitzen, a forma d‟exemple, situacions comunes en les que el disseny
d‟una pàgina pot produir problemes d‟accés a l‟informació. Les Pautes contenen a més
una sèrie de punts de verificació que ajuden a detectar possibles errors.
Cada punt de verificació està assignat a un dels tres nivells de prioritat establerts per les
pautes.
Prioritat 1: Són tots aquells punts que un desenvolupador Web ha de complir, ja
que, d‟altra manera, certs grups d‟usuaris no podrien accedir a l‟informació del
lloc Web.
Prioritat 2: Són aquells punts que un desenvolupador Web hauria de complir, ja
que, d‟altra manera, seria molt difícil accedir a l‟informació per certs grups
d‟usuaris.
Prioritat 3: Són aquells punts que un desenvolupador Web hauria de complir, ja
que, d‟altra manera, alguns usuaris tindrien certes dificultats per a accedir a
l‟informació.
En funció d‟aquests punts de verificació, s‟estableixen els nivells de conformitat:
www.PROSMOKIWI.com 23
Ricard Pros Morell Projecte Fi de Carrera
Nivell de conformitat “A”: Tots els punts de verificació de prioritat 1 es satisfan.
Nivell de conformitat “Doble A”: Tots els punts de verificació de prioritat 1 i 2
es satisfan.
Nivell de conformitat “Triple A”: Tots els punts de verificació de prioritat 1,2 i 3
es satisfan.
Les pautes descriuen com fer pàgines Web accessibles sense sacrificar el disseny,
oferint la flexibilitat necessària per tal que l‟informació sigui accessible un cop exposada
a diferents situacions i proporcionant mètodes que permeten la seva transformació en
pàgines útils e intel·ligibles.
De la mateixa manera, s‟han desenvolupat “Pautes d‟Accessibilitat per a Eines d‟Autor”,
amb l‟objectiu d‟ajudar als desenvolupadors de software alhora de crear eines d‟autor
per tal de produir contingut Web accessible. També existeixen “Pautes d‟Accessibilitat
per a XML”, on s‟explica com assegurar l‟accessibilitat d‟aplicacions basades en XML.
Per últim, les “Pautes d‟Accessibilitat per Agents d‟Usuari”, expliquen com fer accessible
els navegadors, reproductors multimèdia i altres tecnologies assistives.
Diferència entre Usabilitat i Accessibilitat
Tots dos conceptes s‟haurien de tractar conjuntament i amb un alta prioritat alhora de
desenvolupar qualsevol aplicació o sistema interactiu.
A continuació s‟exposa un breu estudi dels quatre possibles casos que es poden donar
en qualsevol aplicació software:
a) Ni usable ni accessible: Aquest és el cas més habitual en les aplicacions. Són
aquelles que no tenen en compte els paràmetres d‟accessibilitat per persones
amb discapacitats i que no disposen de la usabilitat necessària per a utilitzar-les
de forma satisfactòria.
b) Usable però no accessible: Són aquelles aplicacions que tan sols podran ser
usables per aquelles persones que no sofreixen cap tipus de discapacitat.
www.PROSMOKIWI.com 24
Ricard Pros Morell Projecte Fi de Carrera
c) Accessible però no usable: Aplicacions a les quals podran accedir un nombre
de persones major que en el cas anterior però amb problemes d‟usabilitat.
d) Usable i accessible: Aquest és el cas òptim, però també el menys freqüent.
Representa la idea bàsica de disseny per a la navegació universal d‟una manera
usable.
Disseny Universal
O també anomenat disseny per a tothom, és el procés de fer el disseny i la composició
dels diferents entorns i productes accessibles i comprensibles, de tal manera que siguin
usables per el rang més ampli de persones possible i en el rang més ampli de
situacions, sense la necessitat d‟adaptació ni de disseny especialitzat i que sigui
comercialment practicable [15].
Existeixen uns principis de disseny universal [16] redactats per un grup d‟experts en
disseny universal i que ens pot servir com una guia inicial per avaluar la incorporació de
l‟accessibilitat en el disseny de sistemes interactius.
Els set Principis del Disseny Universal o Disseny per a Tots tenen l‟objectiu
d‟aconseguir que els productes siguin usables i utilitzables per tothom, tenint en compte
tant el disseny i altres aspectes com el cost o l‟àmbit d‟ús.
Aquests principis generals del disseny són aplicables i s‟apliquen en l‟arquitectura,
l‟enginyeria i en les pàgines i aplicacions Web, entre d‟altres camps.
Aquest principis són els següents:
1. Ús equitatiu:
El disseny ha de ser usable per a persones amb diferents habilitats i ha de tenir un
preu raonable.
- Ha de proporcionar les mateixes maneres d‟ús per a tots els usuaris: idèntiques
quan sigui possible, equivalents quan no ho sigui.
- Ha d‟evitar segregar o estigmatitzar qualsevol usuari.
- Les característiques de privacitat, garantia i seguretat han d‟estar disponibles per
www.PROSMOKIWI.com 25
Ricard Pros Morell Projecte Fi de Carrera
a tots els usuaris.
- Ha de ser atractiu per a tots els usuaris.
2. Ús flexible:
El disseny s‟ha d‟acomodar a un rang ampli de persones amb diferents gustos i
habilitats.
- Ha d‟oferir possibilitats d‟elecció en els mètodes d‟ús.
- S‟ha de poder accedir i usar tant amb la mà dreta com amb l‟esquerra.
- Ha de facilitar a l‟usuari exactitud i precisió.
- Ha d‟adaptar-se al pas o ritme de l‟usuari.
3. Ús simple i intuïtiu:
El funcionament del disseny ha de ser fàcil d‟entendre, independentment de
l‟experiència de l‟usuari, coneixement, habilitats del llenguatge i nivell de
concentració actual.
- Ha d‟eliminar la complexitat innecessària.
- Ha de ser consistent amb les expectatives i intuïció de l‟usuari.
- Ha d‟acomodar-se a un ampli rang d‟alfabetització i habilitats lingüístiques.
- Ha de dispensar la informació de manera consistent amb la seva importància.
- Ha de proporcionar avisos eficaços i mètodes de resposta durant i després de
l‟acabament de la tasca.
4. Informació perceptible:
El disseny ha de comunicar la informació necessària de manera efectiva a l‟usuari,
independentment de les condicions ambientals per a les habilitats sensorials de
l‟usuari.
- Ha d‟usar diferents sistemes per presentar de manera redundant la informació
essencial (gràfica, verbal o tàctil).
- Ha de proporcionar un contrast suficient entre la informació essencial i la de les
proximitats.
www.PROSMOKIWI.com 26
Ricard Pros Morell Projecte Fi de Carrera
- Ha de proporcionar compatibilitat amb diverses tècniques o dispositius usats per
persones amb limitacions sensorials.
5. Tolerància per a l’error:
El disseny ha de minimitzar possibles incidents per atzar i les conseqüències
adverses d‟accions no previstes.
- Ha de disposar els elements de manera que es minimitzin els riscs i errors;
elements més usats, més accessibles; i elements perillosos, eliminats, aïllats o
tapats.
- Ha de proporcionar advertències sobre perills i errors.
- Ha de proporcionar característiques segures d‟interrupció.
6. Esforç físic mínim:
El disseny s‟ha de poder usar eficientment i confortablement amb un mínim de
fatiga.
- Ha de permetre que l‟usuari mantingui una posició corporal neutra.
- Ha de minimitzar les accions repetitives.
- Ha de minimitzar l‟esforç físic continuat.
7. Mida i espai per poder aproximar-se i utilitzar el disseny (en el cas d’un
sistema hardware):
El disseny ha de tenir un espai i una mida apropiats per a l‟aproximació i utilització.
- Ha de proporcionar una línia de visió clara cap els elements importants, tant per
a un usuari assegut com dempeus.
- Ha de fer que l‟abast de qualsevol component sigui confortable per a qualsevol
usuari assegut o dempeus.
- S‟ha de poder acomodar a variacions de mida de la mà o de l‟agafament.
- Ha de proporcionar l‟espai necessari per a l‟ús d‟ajuts tècnics o assistència
personal.
www.PROSMOKIWI.com 27
Ricard Pros Morell Projecte Fi de Carrera
Aquests són els criteris que defineixen un disseny utilitzable per tots que, juntament
amb altres aspectes com l‟estètica, el cost, la seguretat, o el respecte a la diversitat,
s‟hauran de tenir en compte en el procés de disseny.
Fragment extret de l‟investigació sobre la Interacció Persona – Ordinador per part de
l‟AIPO [17]:
“Nuestro enfoque del diseño para todos incluye dos niveles diferentes pero
complementarios: el primero se dedica al diseño para la usabilidad (esto es, la
minimización del sobreesfuerzo para realizar una tarea impuesto por el uso del
computador) y a la accesibilidad (es decir, la eliminación de las barreras que
encuentran algunos usuarios para usar el computador debido a sus
características físicas, sensoriales cognitivas o al contexto en el que trabajan).
Así pues, este primer nivel incluye al diseño centrado en el usuario y el diseño
libre de barreras de accesibilidad. El segundo nivel trata con la teclología
asistencial que incluye el diseño de servicios y dispositivos para las necesidades
“especiales” de usuarios especificos puedan usar equipamiento comercial”.
Normativa i legislació
Les discapacitats visuals, auditives, físiques, de la parla, cognitives i neurològiques
poden afectar l‟accés a les aplicacions software i/o Web.
La mitjana d‟edat en molts països s‟incrementa, i amb ella també els efectes de
l‟envelliment de la població, creant, com a conseqüència, un increment de problemes
d‟accessibilitat.
Qui és el responsable de garantir l‟accessibilitat?
Els governs tenen com a responsabilitat, amb els seus ciutadans, garantir l‟accés als
continguts oficials de manera equivalent. És per aquest motiu que diversos països han
legislat sobre l‟accessibilitat dels continguts digitals.
Tot seguit es mostren diferents punts, extrets de diferents legislacions, Internacional,
Europea i Espanyola:
www.PROSMOKIWI.com 28
Ricard Pros Morell Projecte Fi de Carrera
LEGISLACIÓ INTERNACIONAL
20 de desembre de 1993
Normes Uniformes sobre la igualtat d’oportunitats per els persones amb
discapacitat.
- Article 5: Possibilitats d’accés.
Per a les persones amb discapacitats de qualsevol índole, els Estats han de:
a) Establir programes d‟acció per a que l‟entorn físic sigui accessible.
b) Adoptar mesures per garantir l‟accés a la informació i la comunicació.
b) Accés a la informació i la comunicació.
6. Els Estats han d‟elaborar estratègies per a que els serveis d‟informació i
documentació siguin accessibles a diferents grups de persones amb discapacitat.
S‟ha d‟utilitzar el sistema Braille, gravacions en cinta, tipus d‟impremta grans i altres
tecnologies apropiades per a proporcionar accés a la informació oral a les persones
amb deficiències auditives o dificultats de comprensió.
10. Els Estats han de vetllar per a que els nous sistemes de serveis i de dades
informatitzades que s‟ofereixen al públic en general siguin des d‟un principi
accessibles a les persones amb discapacitat, o s‟adaptin per a fer-los accessibles a
elles.
LEGISLACIÓ EUROPEA
Gener 2003
Resolució del Consell de la Unió Europea sobre “Accessibilitat Electrònica” – Millorar
l‟accés de les persones amb discapacitat a la societat del coneixement.
Recomanacions:
- Evitar l‟exclusió social en la societat de la informació
- Creació d‟una “etiqueta d‟accessibilitat electrònica” per als productes i serveis
que compleixin les normes de l‟accessibilitat electrònica.
www.PROSMOKIWI.com 29
Ricard Pros Morell Projecte Fi de Carrera
- Fomentar mesures que animin les empreses privades per a que els seus
productes i servies basats en les TIC (tecnologies de la informació i de la
comunicació) siguin accessibles, i exigir que els productes i serveis per als
contractes públics de les TIC siguin accessibles.
Actualment, s‟està treballant amb el projecte “i2010” (European Information Society in
2010).
LEGISLACIÓ ESPANYOLA
Llei 34/2002, de l’11 de juliol de 2002, de serveis de la societat de la informació i
de comerç electrònic.
Disposició addicional quinta. Accessibilitat per a les persones amb discapacitat i
d’edat avançada a la informació proporcionada per mitjans electrònics.
- Les Administracions Públiques adoptaran les mesures necessàries per a que la
informació disponible en les seves respectives pàgines d‟Internet puguin ser
accessibles a persones amb discapacitat i d‟edat avançada d‟acord amb els
criteris d‟accessibilitat al contingut generalment reconeguts, abans del 31 de
desembre del 2005.
Així mateix, podran exigir que les pàgines d‟Internet el disseny o manteniment de les
quals financin, apliquin els criteris d‟accessibilitat abans mencionats.
- Es promourà l‟adopció de normes d‟accessibilitat per als prestadors de serveis i
els fabricants d‟equips i software, per a facilitar l‟accés de les persones amb
discapacitat o d‟edat avançada als continguts digitals.
Llei 51/2003, del 2 de desembre, d’igualtat d’oportunitats, no discriminació i
accessibilitat universal de les persones amb discapacitat.
Aquesta llei omple el buit existent a Espanya d‟un marc legal ampli i general, similar
al que proporcionen en altres països lleis similars.
Es basa i posa en relleu els conceptes de: No discriminació, acció positiva i
accessibilitat universal.
www.PROSMOKIWI.com 30
Ricard Pros Morell Projecte Fi de Carrera
La llei estableix, la obligació gradual i progressiva de que tots els entorns, productes
i serveis han de ser oberts, accessibles i practicables per a totes les persones i
disposa terminis i calendaris per a la realització de les adaptacions necessàries.
Disposició final sèptima: Condicions bàsiques d‟accessibilitat i no discriminació per
l‟accés i utilització de les tecnologies, productes i serveis relacionats amb la societat de
la informació i medis de comunicació social.
- En el termini de 2 anys des de l‟entrada en vigor d‟aquesta llei, el govern
aprovarà, segons el previst en el seu article 10, unes condicions bàsiques
d‟accessibilitat i no discriminació per a l‟accés i utilització de les tecnologies,
productes i serveis relacionats amb la societat de la informació i amb qualsevol
mitjà de comunicació social, que seran obligatoris en el termini de quatre a sis
anys de l‟entrada en vigor d‟aquesta llei, per a tots els productes i serveis nous, i
en el termini de vuit a deu anys per a tots aquells existents que siguin
susceptibles d‟ajustaments raonables.
- En el termini de 2 anys des de l‟entrada en vigor d‟aquesta llei, el Govern haurà
de realitzar els estudis integrals sobre l‟accessibilitat als anomenats béns o
serveis que es considerin més rellevants des del punt de vista de la no
discriminació i accessibilitat universal.
LA SECCIÓ 508
La Secció 508 de l‟Acta dels Americans amb Discapacitat, va entrar en vigor el 21 de
juny de 2001.
Com a resum, podem citar el següent paràgraf que explica el seu objectiu primordial:
“La secció 508 exigeix que quan les agències Federals desenvolupin, adquireixin,
mantinguin o usin tecnologia electrònica i per a la informació, han d’assegurar-se
que dites tecnologies permeten als empleats federals amb discapacitat tenir
accés i utilitzar la informació i dades de manera similar a l’accés i ús a la
informació i dades que tenen els empleats federals que no són persones amb
discapacitats, a menys que constitueixi una càrrega excessiva imposada a
l’agència. La secció 508 també exigeix que els individus amb discapacitat, que
formen part del públic que busca informació o serveis per part d’una agència
www.PROSMOKIWI.com 31
Ricard Pros Morell Projecte Fi de Carrera
Federal, tinguin accés a i a l’ús de la informació i dades de manera comparable a
la que es proporciona al públic que no són persones amb discapacitat, a menys
que signifiqui una càrrega excessiva imposada a l’agència.”
La Secció 508, també determina les normes per a la creació de pàgines Web i
aplicacions software que són aplicables a totes les agències federals d‟Estats Units.
www.PROSMOKIWI.com 32
Ricard Pros Morell Projecte Fi de Carrera
Capítol 3 – Anàlisi
Anàlisi de requeriments
Els requeriments són la descripció i especificació d‟un sistema software. Inclouen tant
els serveis que el client requereix del sistema, com les restriccions sota les quals
funcionarà o serà desenvolupat.
L‟Enginyeria de Requeriments és el procés d‟establir aquests requeriments, el principal
motiu d‟aquesta, és identificar què s‟ha de fer. El software és una matèria prima amb
molts graus de llibertat, i si no sabem concretament què cal fer, per culpa d‟un matís,
podem estar construint un producte que satisfaci unes necessitats molt diferents a les
que té el client.
Els requeriments també serveixen de contracte entre nosaltres i el client. Una vegada
validats per part del client , ens responsabilitzem de incloure tot allò que s‟hagi definit en
aquests.
Tipus de requeriments
Requeriments funcionals:
Descripció dels serveis que hauria d‟aportar el sistema, com hauria de reaccionar
a unes entrades concretes i com s‟hauria de comportar en situacions particulars.
Requeriments no funcionals:
Aquests requeriments no tenen res a veure amb les funcionalitats del sistema,
sinó que són propietats que l‟aplicació haurà de complir per tal d‟obtenir una bona
qualitat.
Finalment farem una comparativa amb els requeriments que dicta el Disseny Universal
per tal de definir que haurà de cobrir la nostra pàgina Web.
www.PROSMOKIWI.com 33
Ricard Pros Morell Projecte Fi de Carrera
Requeriments funcionals
Registrar-se:
L‟usuari podrà omplir un formulari per tal de quedar registrat a la nostra base de
dades i així tenir accés, utilitzant un nom d‟usuari i una contrasenya, als
continguts específics de la Web.
Restringir l’accés a usuaris no registrats:
Els usuari no podran finalitzar la seva compra si no es registren i entren al
sistema prèviament. No es podrà registrar un nom d‟usuari ja existent a la base
de dades.
Recuperar login:
El client podrà recuperar el seu password de forma segura si es dóna el cas que
el perd.
Veure els productes i les seves característiques:
La pàgina d‟inici, del espai Web, mostrarà al visitant el producte que es ven.
L‟usuari podrà escollir el nombre de kilograms, el calibre del fruit i el nombre de
caixes. També veurà, a cada moment, el preu resultant de cada elecció.
Confeccionar una llista de la compra:
L‟usuari podrà confeccionar la seva compra veient, en tot moment, com es van
afegint els productes al cistell. Es podran eliminar els productes, un per un, o bé,
afegir-los de nou. La llista romandrà sempre ordenada.
Finalitzar compra:
Un cop confeccionat un cistell de productes, l‟usuari, prèviament registrat, podrà
accedir a la pàgina on es mostrarà la seva compra, el càlcul de l‟Iva, el transport,
i l‟import final a pagar.
Sistema de pagament:
El client podrà efectuar el pagament, de la seva compra, de diverses maneres:
contra reemborsament, transferència bancària o pagament amb targeta de crèdit.
www.PROSMOKIWI.com 34
Ricard Pros Morell Projecte Fi de Carrera
Recomanar:
L‟usuari podrà recomanar la pàgina a altres usuaris, ho farà a partir d‟un formulari
on s‟especificarà la direcció de correu del receptor i un comentari.
Contactar:
El visitant podrà contactar amb l‟empresa mitjançant un formulari estàndard en el
qual afegirà els seus comentaris i/o sol·licituds.
Tancar sessió:
El client ha de poder finalitzar la sessió, per motius de seguretat bàsicament.
Aquest, no podrà accedir a les zones restringides si no es torna a identificar.
Requeriments no funcionals
Solidesa:
El sistema guiarà, en certes ocasions, al usuari. Ho farà a partir de notificacions
d‟avís, o simplement, de caràcter informatiu. De la mateixa manera, l‟aplicació
controlarà els possibles errors que es produeixin en temps d‟execució i aquests
seran notificats a l‟usuari.
Robustesa:
La compra realitzada per l‟usuari romandrà en el cistell en tot moment, encara
que aquest visiti altres pàgines del espai Web i podrà recuperar-la i finalitzar-la
quan ho desitgi.
Contingut informatiu:
L‟espai Web comptarà amb diverses seccions de caràcter informatiu, com una
descripció de l‟empresa Prosmokiwi, imatges de la finca i diferents receptes de
cuina relacionades amb el fruit del kiwi.
www.PROSMOKIWI.com 35
Ricard Pros Morell Projecte Fi de Carrera
Consistència:
Per a què l‟aplicació Web sigui consistent, tots els mecanismes s‟hauran
d‟utilitzar sempre de la mateixa manera, per tal de no confondre a l‟usuari, on les
pàgines estaran dissenyades amb una estètica semblant.
Fiabilitat:
Per a que l‟aplicació sigui fiable, aquesta haurà de garantir que l‟entrada de
dades sigui en tot moment correcta, detectant els possibles errors de l‟usuari.
Comparativa amb el Disseny Universal:
A continuació es recorren tots els punts que formen el Disseny Universal per tal de
contrastar-los amb la l‟aplicació Web de Prosmokiwi.
1. Ús equitatiu.
El disseny de l‟aplicació és usable per a persones amb diferents habilitats. És
atractiu per a qualsevol tipus d‟usuari, proporcionant les mateixes maneres d‟ús per
tots ells i proveint-los d‟unes característiques de privacitat, garantia i seguretat.
2. Ús flexible.
L‟aplicació intenta acomodar-se a un ampli rang de persones amb diferents gustos i
habilitats. El disseny s‟ajusta automàticament a la pantalla segons la resolució que
tingui configurada l‟usuari. Els enllaços es mostren amb un tamany adequat i amb
una configuració de colors adient per tal de ser fàcilment identificats.
3. Ús simple i intuïtiu.
El funcionament de la Web és intuïtiu i fàcil d‟entendre per qualsevol usuari. Elimina
la complexitat innecessària i guia a l‟usuari durant la realització de qualsevol tasca.
4. Informació perceptible.
El disseny comunica la informació necessària de manera efectiva a l‟usuari. S‟utilitza
una notificació flotant i un avís sonor, alhora de guiar a l‟usuari. Mostra les
restriccions i els errors en llocs completament visibles tot utilitzant colors que
destaquin.
www.PROSMOKIWI.com 36
Ricard Pros Morell Projecte Fi de Carrera
5. Tolerància per a l’error.
El disseny minimitzarà possibles incidents per atzar i les conseqüències adverses
d‟accions no previstes.
6. Esforç físic mínim.
El disseny del sistema permet a l‟usuari utilitzar-lo de forma confortable i eficient
amb un mínim de fatiga. La senzillesa que ofereix el disseny, no col·lapsa a l‟usuari.
7. Mida i espai per poder aproximar-se i utilitzar el disseny (en el cas d’un
sistema hardware).
Cal tenir en compte que una pàgina Web és únicament de tipus software. Aquesta
està pensada per ser visitada des d‟un ordinador de sobretaula o un portàtil. Amb
unes condicions normals, la plana Web, pot utilitzar-se fàcilment sense estar molt
pròxim a la pantalla ni tampoc a una distància exageradament gran.
Especificació del sistema
Figura 2. Arquitectura tecnològica del sistema.
www.PROSMOKIWI.com 37
Ricard Pros Morell Projecte Fi de Carrera
Recursos hardware utilitzats
Ordinador portàtil Apple MacBook de generació Intel amb les següents
característiques:
o Processador Core 2 Duo de Intel a 2,2 GHz amb 3 MB de catxé de nivell 2
integrada i compartida que funciona a la velocitat del processador.
o Bus frontal a 800 MHz.
o 2 GB (en dos mòduls SODIMM de 1 GB) de SDRAM DDR2 a 667 MHz.
o Processador gràfic GMA X3100 de Intel amb 144 MB de SDRAM DDR2
compartida amb la memòria principal.
o Disc dur Serial ATA de 120 GB a 5.400 rpm.
o Unitat “Combo” de carga per ranura a 24x (DVD-ROM i CD-RW).
o Pantalla brillant TFT de 13,3 polzades (en diagonal) i compatible amb milions
de colors.
- Resolucions compatibles: 1.280 per 800 (nativa), 1.152 per 720, 1.024 per
768, 1.024 per 640, 800 per 600, 800 per 500, 720 per 480 i 640 per 480
píxels a una relació dimensional de 16:10; 1.024 per 768, 800 per 600 i
640 per 480 píxels a una relació dimensional de 4:3 i 720 per 480 a una
relació dimensional de 3:2.
o Connexió Wi-Fi integrada AirPort Extreme2 (basada en el borrador de la
norma 802.11n del IEEE); compatible amb les normes 802.11a, b i g del
IEEE.
o Bluetooth 2.0 + EDR integrat (Enhanced Data Rate).
o Ethernet Gigabit 10/100/1000BASE-T incorporada (connector RJ-45).
Mòdem router Amper 7768 11g de Xavi Technologies.
Punt d‟accés Linksys Wireless-G WAP54G.
Connexió ADSL 3MB de Telefònica.
www.PROSMOKIWI.com 38
Ricard Pros Morell Projecte Fi de Carrera
Recursos hardware mínims pel bon funcionament de la pàgina
Processador Intel Pentium I
128 Mb de memòria RAM
Disc Dur de 1 Gb
Monitor color SVGA (resolució de pantalla adequada: 1024x768)
Teclat i ratolí estàndard.
Model/Router Zyxel de Telefònica.
Connexió ADSL 1MB.
Recursos software utilitzats
Sistema Operatiu Mac OS X v10.5.2 Leopard.
Adobe Software CS3 per a Macintosh amb els següents paquets:
o Adobe Bridge CS3
o Adobe Device Central CS3
o Adobe Dreamweaver CS3
o Adobe Flash CS3
o Adobe Flash CS3 Vídeo Encoder
o Adobe Illustrator CS3
o Adobe InDesing CS3
o Adobe Photoshop CS3
o Adobe Stock Photos CS3
Màquina virtual VMWare v1.1 amb una instal·lació de Windows XP Professional.
o Microsoft Office Word 2007
o Navegador Internet Explorer v6.0
www.PROSMOKIWI.com 39
Ricard Pros Morell Projecte Fi de Carrera
Navegadors:
o Safari v3.1.1
o Mozilla Firefox v2.0.0.14
o Opera v9.24
Java Web Start v12.1.0
Opció Javascript activada per tots els navegadors.
Software Web proporcionat per l‟empresa www.freehostia.com per a les proves
de funcionament de la pàgina.
Recursos software mínims pel bon funcionament de la pàgina
Microsoft:
Sistema Operatiu Windows XP Home Edition.
Navegador Internet Explorer v6.0.
Opció Javascript activada.
Apple:
Sistema Operatiu Mac OS Classic.
Navegador Mozilla Firefox v2.0.0.2
Opció Javascript activada.
www.PROSMOKIWI.com 40
Ricard Pros Morell Projecte Fi de Carrera
Capítol 4 – Disseny
Introducció
Després d‟haver realitzat l‟anàlisi de requeriments en el capítol anterior, i seguint amb el
model de procés que segueix l‟enginyeria de l‟usabilitat (figura 3), tot seguit, es mostra
l‟informació necessària per tal de poder realitzar, posteriorment, el desenvolupament, tot
modelant el sistema de forma pertinent i procedint, després, amb la seva codificació.
Figura 3. Model de procés de l‟enginyeria de l‟Usabilitat.
Com ja s‟ha dit anteriorment, un dels aspectes més importants d‟un sistema interactiu
es troba en la capacitat de diàleg amb l‟usuari. Per tant és evident l‟importància del
disseny. Aquest, tot i ser, particularment, el més complex, també és el més gratificant,
un cop s‟aconsegueix l‟objectiu de proporcionar el suport necessari a l‟usuari.
Una vegada resoltes totes les funcionalitats que ha de cobrir la Web, junt amb la resta
de característiques derivades del context de la interacció, es passa, en aquesta fase, a
realitzar el “disseny de l‟activitat” i el “disseny de la informació” com a principals
activitats que conformen el procés global de disseny de la interacció.
www.PROSMOKIWI.com 41
Ricard Pros Morell Projecte Fi de Carrera
Disseny de l’activitat:
Aquest punt, està directament relacionat amb l‟especificació funcional, la tecnologia i les
noves possibilitats que el sistema ofereix per a que les persones siguin capaces
d‟utilitzar sistemes interactius per a la consecució dels seus objectius. El disseny de
l‟activitat s‟aconsegueix analitzant les funcionalitats, les tasques necessàries que
permeten realitzar-les i el modelat a nivell conceptual, buscant una aproximació al
model mental dels usuaris, com s‟ha dit en capítols anteriors, prèviament incorporats
com a membres del equip de desenvolupament. Aquesta part del disseny cobreix l‟espai
existent entre les funcionalitats definides i la interfície del usuari.
Disseny de la informació:
El principal objectiu d‟aquesta part del disseny, és donar suport a la percepció, la
interpretació i la comprensió de la informació dels sistemes interactius. Afronta aspectes
relacionats amb la part física de la interacció (colors, organització dels elements, etc.),
el llenguatge (visual per a les interfícies visuals, auditiu per a les auditives, etc.), els
models de la informació i per últim, la consistència i coherència. No només farem
referència a quins colors o fonts tipogràfiques utilitzar, sinó també a la disposició dels
elements interactius per l‟interfície, d‟acord amb les tasques a realitzar i en compromís
amb els objectius d‟usabilitat, i a la consecució funcional d‟aquestes tasques, en
definitiva, al diàleg amb l‟usuari.
Coneixement de la funció dels objectes: les Affordances.
La affordance o comprensió intuïtiva [18] és un aspecte important de la fase anterior
(disseny de la informació), aquesta, relaciona els factors humans amb la capacitat dels
elements de la interfície de transmetre la sensació de poder utilitzar-se adequadament.
Quan s‟elabora una interfície, el dissenyador, desitja que els usuaris coneguin la funció
que tindran els diferents objectes d‟aquesta. Per exemple, en la interfície la de nostra
Web, no serveix de res incloure un hipervincle a través d‟una imatge si l‟usuari
desconeix que clicant sobre ella podrà accedir a una nova pantalla.
www.PROSMOKIWI.com 42
Ricard Pros Morell Projecte Fi de Carrera
Tradicionalment, s‟ha pensat que les persones percebem únicament la funció d‟un
objecte a partir del que es podria denominar una inferència: primer es reconeix l‟objecte
(p.e. la tecla de l‟espai en blanc), a continuació es categoritza (p.e. element d‟un teclat)
finalment s‟accedeix al coneixement de la seva funció (p.e. prémer la tecla per a obtenir
un espai en blanc en el text). Però aquesta, tot i que certa en molts casos, no és la
única forma d‟accedir a la informació de la funció d‟un element. Una forma d‟accés més
ràpida és la que es coneix amb el nom de affordances (o captació intuïtiva) que són les
funcions d‟un objecte que l‟observador percep directament a partir de la seva imatge, i
que constitueixen un aspecte d‟importància capital alhora de dissenyar les interfícies
dels usuaris d‟un sistema interactiu.
D‟aquesta manera, l‟objecte no ha de ser, ni reconegut ni categoritzat per tal que es
manifesti la seva funció. Així doncs, per seguir amb l‟exemple anterior, un usuari, al
percebre una tecla espaiador, la primera impressió que té és la d‟estar davant d‟un
objecte “per a ser premut”.
Requeriments de les affordances:
Forma funcional:
La correspondència entre la forma de l‟objecte i la seva funció ha de ser el més
transparent possible. Per exemple: per tal que un objecte presenti la affordance de “ser
premut” ha d‟estar representat de tal forma que doni la sensació de tenir volum sobre
una superfície.
Visibilitat a l’usuari:
Els elements com “els links emergents” que només apareixen quan l‟usuari es situa a
sobre d‟aquests, no són aconsellables en la mesura de que no fan visible la seva funció
a primera vista.
Acció coherent:
L‟acció que segueix al accionament d‟un objecte ha de ser coherent, amb la seva
affordance per tal de facilitar el seu aprenentatge i ús. Per exemple: un botó per a
www.PROSMOKIWI.com 43
Ricard Pros Morell Projecte Fi de Carrera
accedir a un menú ocult que s‟identifica amb una fletxa senyalant cap a baix, haurà de
presentar el menú des d‟aquell punt i cap a baix.
Relativitat del observador:
Un problema de les affordances és que no susciten la mateixa funció a tot tipus de
persones. Per exemple: un banc, situat en un parc, pot presentar la affordance “seures
en ell” per a un ancià, i “escalar-lo” per a un nen.
Interfície amb l’usuari
El disseny de la interfície comença a desenvolupar-se a partir d‟unes idees clares sobre
com han de ser les interaccions.
La interfície de la pàgina Web ha de cobrir una sèrie de característiques importants en
el disseny, com ja s‟ha detallat en apartats anteriors, aquesta ha de ser usable, ha de
tenir en compte el disseny de l‟activitat i de la informació, i també les affordances de
cada objecte.
La interfície d‟aquesta Web, ha estat dissenyada basant-se amb el paràgraf anterior i
també seguint les pautes que s‟indiquen en el Disseny per a tots o Disseny Universal.
Alhora de dissenyar l‟esmentada interfície, s‟ha intentat estructurar la informació d‟una
manera lògica i equilibrada per tal de fer l‟espai el més senzill i fàcil d‟utilitzar possible.
Un altre factor molt important i decisiu, quan ens enfrontem a la creació del disseny
d‟una interfície, és l‟elecció d‟un estil, d‟una manera de fer, d‟un conjunt de colors
predominant i d‟una distribució de la informació, com l‟esmentada en el paràgraf
anterior.
A mode de pilar, de tots els elements anteriors, i bàsic en la creació d‟aquest disseny,
ha estat una idea en forma d‟imatge.
Ens trobem en una pàgina dedicada a la venda de kiwis, d‟una fruita de color marró per
fora i d‟un verd càlid per dins, aquests són els colors que marquen el disseny d‟aquesta
interfície.
www.PROSMOKIWI.com 44
Ricard Pros Morell Projecte Fi de Carrera
La següent figura mostra aquesta imatge, en la qual podem diferenciar un fruit i un
animal, tots dos amb el mateix nom. La imatge no busca un sentit lògic sinó generar un
motiu a l‟usuari per tal que aquest es pari a mirar la resta de la pàgina.
Figura 4. Capçalera de la Web de Prosmokiwi.
A continuació anem a veure els trets més característics de la nostra interfície, indicant
quina ha estat l‟evolució d‟aquesta a partir dels diferent prototips.
Prototipat
Seguint amb el model de procés de l‟enginyeria de la usabilitat, ens trobem amb
l‟apartat de prototipat. Aquest terme no el trobarem al Diccionari General de la Llengua
Catalana, no obstant, és una paraula d‟ús comú en l‟àmbit de la Interacció Persona –
Ordinador (IPO). S‟utilitza com una traducció del anglicisme prototyping, que ve a ser un
substantiu que aglutina el significat de la paraula prototip amb les diferents eines i
tècniques que permeten la producció d‟aquests.
Des de que iniciem el desenvolupament d‟un sistema interactiu, necessitem provar les
parts d‟aquest amb multitud d‟objectius com: verificar funcionalitats, esbrinar aspectes
relacionats amb la interfície del sistema (com ja s‟ha dit anteriorment: posició dels
controls, texts, colors, etc.), validar la navegació, provar noves possibilitats, etc.
www.PROSMOKIWI.com 45
Ricard Pros Morell Projecte Fi de Carrera
Es impensable arribar al final del desenvolupament sense haver realitzat diverses
comprovacions durant el recorregut d‟aquest. Els prototips són precisament el
mecanisme que ens permeten realitzar aquestes comprovacions.
A continuació es mostra l‟evolució dels prototips que s‟han utilitzat per arribar a un
disseny òptim.
Disseny de la Web v0.1
Figura 5. Disseny inicial de la Web, versió 0.1.
Des d‟un principi, s‟ha tingut clar que el color verd hauria de ser predominant. En
aquesta primera versió de la Web, a pesar de partir d‟un logotip bastant atractiu, no
s‟aconsegueix l‟espaiabilitat que es desitja, és a dir, la pàgina agafa un caire un tant
ofegat.
També cal dir, que s‟utilitzen un nombre d‟enllaços, en el menú, que no són suficients
per tal de cobrir tots els objectius que pretén assimilar la Web.
A part de l‟exposa‟t anteriorment, tampoc es té en compte un disseny de la informació el
més òptim possible.
www.PROSMOKIWI.com 46
Ricard Pros Morell Projecte Fi de Carrera
Disseny de la Web v0.2
Figura 6. Segon prototip de disseny, versió 0.2.
En aquest segon disseny de la Web, es solucionen alguns dels problemes anteriorment
descrits.
En aquest cas, el disseny de la informació, es veu breument optimitzat per un tamany
del text del menú, més gran i també per una sèrie d‟elements o d‟objectes que donen un
valor afegit al disseny, aquests són, per exemple, l‟utilització d‟una planta decorativa o
el fet de plasmar una escena com la que podem observar en la figura anterior. No
obstant, tot i que aquest disseny s‟ajusta al centre de la pantalla (a diferència del
disseny anterior), no s‟acaba de cobrir la necessitat de proporcionar a l‟usuari una
sensació d‟espaiabilitat.
També podem observar, que el fet de situar la planta a la part superior de la imatge, fa
que tota la pàgina comenci uns 120 píxels (3cm aprox.) més tard, la qual cosa no ens
interessa, si tenim en compte que no és la planta un element important sinó tot el que hi
ha a sota.
www.PROSMOKIWI.com 47
Ricard Pros Morell Projecte Fi de Carrera
Disseny de la Web v0.3
Figura 7. Tercer prototip de disseny, versió 0.3.
Arribats en aquest punt, podem observar una millora important en l‟espaiabilitat.
Aquest disseny, dóna una affordance als botons del menú, amb una sensació
d‟afonament d‟aquests quan ens situem a sobre amb el cursor del ratolí. No obstant
això, degut a que aquest efecte, el produeix una imatge situada al darrera del text, no es
conserva una estètica atractiva si l‟usuari augmenta el tamany de la lletra.
En la següent figura es mostra un exemple d‟aquest cas:
Figura 8. Incompatibilitat de les imatges amb el text.
Es important, per aquest motiu, utilitzar text únicament alhora d‟elaborar els botons. Si
contràriament, utilitzem imatges per cada botó, en les quals ja tenim incorporat el text,
llavors, no estem tenint en compte l‟accessibilitat de la Web, ja que en aquest cas, si
l‟usuari incrementa el tamany del text, les imatges no ho fan.
www.PROSMOKIWI.com 48
Ricard Pros Morell Projecte Fi de Carrera
Disseny de la Web v0.4
Figura 9. Disseny final de la Web, versió 0.4.
Aquest prototip és el que finalment adopta la pàgina Web de Prosmokiwi.
Aquest disseny de la interfície, soluciona tots els problemes descrits en els prototips
anteriors, mostrant-se al usuari, d‟una manera atractiva, accessible, i usable, tal i com
es complementarà en els següents punts.
Pàgina d’inici
La pàgina d‟inici és, lògicament, la pàgina més important d‟un lloc Web.
Aquesta, ha de comunicar, a primer cop d‟ull, de que tracta el lloc, per tal de fer-ho
d‟una manera ràpida i eficaç, és interessant el fet de mostrar tot el contingut de la
pàgina sense tenir que desplaçar-se cap a baix. Aquesta tècnica és la que utilitzen
moltes empreses d‟Internet, tot i que, normalment, no ho fan les que tenen objectius
comercials, com és el nostre cas.
Així doncs, donat que no és possible realitzar una pàgina ajustada a la pantalla i que a
més compleixi tots els requisits de disseny detallats en aquest capítol, la nostra pàgina
www.PROSMOKIWI.com 49
Ricard Pros Morell Projecte Fi de Carrera
d‟inici, es recolzarà, com ja s‟ha dit, en una capçalera atractiva, que convidi a l‟usuari a
continuar resseguint tota la pàgina.
L‟objectiu principal del disseny gràfic és obtenir una comunicació visual eficaç,
estructurant les pàgines amb jerarquies consistents dels elements de disseny,
emfatitzant els més rellevants i mostrant el contingut d‟una manera lògica i ordenada.
Si repassem tot el lloc Web, la pàgina d‟inici, no es diferència de la resta en més que
dóna a l‟usuari una gran informació del contingut i objectiu del lloc, mantenint, en totes
les seves pàgines, la mateixa capçalera. En general, a tot el lloc, incloent la pàgina
d‟inici, s‟ha utilitzat una mateixa plantilla de disseny, mantenint així, una consistència
(unicitat en totes les pàgines), una simplicitat (assegurant que els títols, elements de
navegació i la informació continguda són reconeguts com a tals per l‟usuari) i un
enfocament clau (posant el mateix èmfasi en tots els elements clau de les pàgines,
comunicant així, i de forma immediata, la informació que contenen).
A continuació, es mostra un tret característic d‟aquesta plantilla, tot recorrent diferents
pàgines, per tal de posar un exemple del paràgraf anterior:
Figura 10. Capçalera del contingut de la pàgina d‟inici.
Figura 11. Capçalera del contingut de la pàgina d‟avís legal.
Figura 12. Capçalera del contingut de la pàgina de registre.
www.PROSMOKIWI.com 50
Ricard Pros Morell Projecte Fi de Carrera
Figura 13. Capçalera del contingut de la pàgina on es detalla la compra.
La pàgina d‟inici de la Web de Prosmokiwi, és la que fa referència als productes, ja que,
si tenim en compte tot el que s‟ha exposat anteriorment, aquesta pàgina és la que millor
transmet l‟objectiu del lloc, la venda de kiwis online.
Navegació
A continuació, es mostra un estudi dels models de navegació per tal de determinar i
entendre com naveguen els usuaris, i així poder definir com volem que aquests
naveguin per la nostra Web.
Figura 14. Topologies de models de navegació.
www.PROSMOKIWI.com 51
Ricard Pros Morell Projecte Fi de Carrera
Tot i que existeixen varies topologies, totes elles parteixen d‟una pàgina d‟inici i des
d‟aquesta, es dóna accés a la resta. De totes formes, no podem oblidar que un
navegant pot entrar al nostre lloc Web a través de qualsevol altra pàgina.
La topologia d‟una Web constitueix la primera via de definició sobre com estan
enllaçades les diferents pàgines del lloc.
El model de navegació, té com a principals objectius:
Permetre als usuaris trobar la trajectòria més fàcil per arribar al seu objectiu.
Assegurar-se que els usuaris saben sempre on són.
Assegurar que els usuaris es mouen ràpidament i de manera lògica a través del
lloc Web.
Donar als usuaris un context del que estan llegint.
La navegació en la Web de Prosmokiwi
L‟exemple que segueix, mostra la topologia exacta del model de navegació utilitzat:
Figura 15. Topologia del model de navegació de la Web de Prosmokiwi.
www.PROSMOKIWI.com 52
Ricard Pros Morell Projecte Fi de Carrera
La Web de Prosmokiwi utilitza una topologia de navegació arbitrària.
Des de la pàgina d‟inici (en la figura anterior, enquadrada de color vermell) només
podem accedir a algunes de les pàgines que pengen des d‟altres pàgines del nostre
nivell, de la mateixa manera, les pàgines del mateix nivell no poden accedir als enllaços
específics de la nostra pàgina.
Tots els enllaços marcats en la figura anterior són bidireccionals, excepte els que van
de les pàgines pintades en blau a les grises.
En el següent punt veurem quina és la informació continguda en cada pàgina, exposant,
d‟aquesta manera, l‟arquitectura de la informació.
Arquitectura de la informació
Els requadres de color verd fan referència als enllaços del menú principal:
Prosmokiwi – Productes – La finca – Receptes – Recomani‟ns – Enllaços – Contacti
Prosmokiwi: informació de l‟empresa, una mica d‟història i propietats del fruit que
cultiva.
Productes: pàgina principal del Web. L‟usuari confecciona la seva compra, un cop
registrat i loguejat en el sistema. També conté informació sobre els productes.
La finca: imatges de la finca seleccionades segons l‟estat o fase en la que es troba la
producció, creixement, pol·linització, naixement del fruit o recol·lecció.
Receptes: algunes receptes típiques elaborades a partir del kiwi.
Recomani‟ns: petit formulari amb l‟objectiu de recomanar la pàgina a un altra persona.
Enllaços: pàgines relacionades amb la venda de fruita online.
Contacti: formulari estàndard de contacte amb l‟empresa.
Productes és la pàgina d‟inici i, des de només aquesta, podem accedir als enllaços de
color gris anomenats:
Registrar-se – Login perdut? – Modificar dades – Tancar sessió – Finalitzar compra –
Compra segura – Transport
www.PROSMOKIWI.com 53
Ricard Pros Morell Projecte Fi de Carrera
Registrar-se: conté un formulari de registre amb una sèrie de camps que seran validats
abans d‟enviar la sol·licitud.
Login perdut?: l‟usuari pot introduir el seu e-mail i enviar-lo a Prosmokiwi per tal de
rebre així, l‟usuari i la contrasenya oblidats o perduts.
Modificar dades: un cop loguejat, l‟usuari pot obtenir les seves dades i modificar-les.
Tancar sessió: sortir del sistema. L‟usuari no podrà efectuar cap compra sinó es registra
de nou. El fet de tancar sessió es important per tal de donar seguretat a l‟aplicació.
Finalitzar compra: l‟usuari veu amb detall la compra realitzada. Pot escollir el sistema de
pagament i finalitzar la compra o be anul·lar-la.
Compra segura: informació referent a la seguretat del sistema, breu explicació d‟ús.
Transport: informació del transport com per exemple, quina empresa se‟n ocupa o quan
temps tarda el client en rebre la compra.
Les pàgines enquadrades de color blau fan referència a:
Avís legal – Sam WD
Avís legal: informació legal de l‟empresa.
Sam WD: futur enllaç a la pàgina de disseny personal.
www.PROSMOKIWI.com 54
Ricard Pros Morell Projecte Fi de Carrera
Capítol 5 – Implementació
Models de desenvolupament de software
A continuació es plantegen diversos models a utilitzar alhora d‟enfrontar-nos al
desenvolupament d‟una aplicació software.
Model lineal seqüencial
També conegut com a cicle de vida clàssic o model del salt d‟aigua. Tot i que és molt
simple (i no reflexa adientment la realitat), estableix clarament quines són les fases que
apareixen en la producció del software.
Esquemàticament, el model seqüencial consta de les següents fases:
Figura 16. Model seqüencial.
L‟enfocament del cicle de vida clàssic genera una sèrie de problemes. És massa
seqüencial i no respon a la vida real. La construcció del software acostuma a ser un
procés iteratiu, amb refinaments progressius. És molt difícil poder establir tots els
www.PROSMOKIWI.com 55
Ricard Pros Morell Projecte Fi de Carrera
requeriments en la fase d‟anàlisi inicial i es triga molt a tenir una versió operativa que
pugui ser validada pel client.
Construcció de prototipus:
Quan no és possible establir d‟entrada els requeriments de l‟aplicació de forma
complerta, és aconsellable abordar el problema construint prototipus.
El desenvolupador, junt amb el client, defineixen els objectius globals i n‟identifiquen els
requeriments. Es fa un disseny ràpid i es desenvolupa una maqueta, a continuació, el
client l‟avalua.
Aquest cicle es repeteix fins a aconseguir el detall desitjat. Tot seguit es mostra
l‟algorisme utilitzat:
Figura 17. Construcció d‟un prototipus.
www.PROSMOKIWI.com 56
Ricard Pros Morell Projecte Fi de Carrera
De fet, la construcció de prototipus no s‟ha de veure com un model de construcció de
software per si mateix, sinó com una metodologia per ajudar a establir els requeriments
de l‟aplicació (que correspondria al primer pas del model seqüencial).
Els principals problemes que poden aparèixer amb aquest enfocament són, la
possibilitat de que es perdi de vista l‟objectiu inicial del prototipatge (obtenir una bona
especificació de requeriments), i que es faci servir el prototipus obtingut com aplicació
final. Es prenen decisions d‟implementació pensant en obtenir ràpidament un prototipus,
però no es fa un replantejament a l‟hora de desenvolupar l‟aplicació final.
Una metodologia similar a la del prototipatge és la coneguda com “programació
exploratòria”, en la que partint d‟un esbós dels requeriments, es construeix una versió
inicial del sistema, i aquest es va modificant o ampliant a mesura que es va utilitzant.
La diferència fonamental està en que en el cas dels prototips, els passos intermedis
corresponen realment a aplicacions que funcionen.
Model incremental
En aquest model, el sistema, no s‟implementa tot de cop sinó que es divideix en parts,
basant-se en la funcionalitat.
A cada iteració es fa tot el procés per desenvolupar una part concreta i es lliura el
software corresponent.
Es comença per les que tenen un major risc i a les quals el client dóna més importància.
Així, es redueix el risc global i les funcionalitats més importants estan més provades.
En principi, un cop acabat el lliurament, ja no es tornen a analitzar els requeriments
d‟aquesta part.
Aquest és, probablement, el model més utilitzat avui en dia.
La següent figura mostra aquesta manera de treballar, cada fase compta amb el seu
anàlisi de requisits, el seu disseny i la seva codificació. Aquest procés es va repetint fins
que es cobreixen totes les funcionalitats o objectius funcionals del sistema, avaluant en
cada fase la funcionalitat corresponent.
www.PROSMOKIWI.com 57
Ricard Pros Morell Projecte Fi de Carrera
Figura 18. Model Incremental.
Model en espiral
El model en espiral, va ser proposat per Boehm l‟any 1988.
Aquest inclou la idea de que el desenvolupament del software és un procés iteratiu.
En aquest model de software es desenvolupa en una sèrie de versions incrementals.
Durant les primeres iteracions o versions, s‟obté un model en paper o un prototipus i
durant les darreres iteracions, es produeixen versions cada vegada més completes del
sistema.
A continuació es mostra una figura on es veuen detallades les diferents fases i apartats
del model en espiral.
www.PROSMOKIWI.com 58
Ricard Pros Morell Projecte Fi de Carrera
Figura 19. Model en espiral.
Model de desenvolupament escollit
El model escollit pel desenvolupament del projecte ha estat una barreja de dos models,
el model seqüencial per una banda i el model incremental per l‟altra.
Tenint en compte que els requeriments funcionals de l‟aplicació s‟han tingut clars des
d‟un principi, s‟ha aplicat el model seqüencial en tota l‟estructura general del projecte.
En canvi, pel que fa al disseny de la interfície i a la forma d‟interacció del usuari amb
aquesta, les idees no estaven tan clares.
Pel motiu anterior, alhora de desenvolupar la interfície i el disseny de la Web, s‟ha
utilitzat el model incremental, ja que aquest model ens permet mostrar els resultats a
l‟usuari, poden rebre de forma anticipada la seva opinió i reacció, amb la possibilitat de
modificar qualsevol cosa si es creu convenient.
www.PROSMOKIWI.com 59
Ricard Pros Morell Projecte Fi de Carrera
Eines de desenvolupament
A continuació veurem amb detall totes les eines que s‟han empleat per a la
implementació de la Web. Així com els recursos utilitzats, per tal de crear un entorn
d‟execució òptim.
Llenguatges de programació utilitzats:
HTML
PHP
CSS
JAVASCRIPT
SQL
HTML (Hypertext Markup Language)
Aquest llenguatge de marques de hipertext, és el format en el que es construeixen,
guarden, i viatgen les pàgines en la World Wide Web. Aquest format permet la inclusió
de vincles o enllaços (hipertext) entre els diferents documents (imatges o text) d‟una
mateixa pàgina, o entre pàgines diferents. Amb això s‟aconsegueix un fàcil accés i
interconnexió entre ells.
Consisteix en un conjunt de codis especials, anomenats “tags”, que permeten definir
tots els paràmetres de visualització d‟hipertext, gràfics i aplicacions en la xarxa.
PHP
Breu història del llenguatge PHP (Hipertext Preprocessor):
PHP és l‟hereu d‟un producte anterior, anomenat PHP/FI. Aquest va ser creat per
Rasmus Lerdorf [19] l‟any 1995. Inicialment, es tractava d‟un conjunt d‟scripts en Perl
per a controlar els accessos a la seva pàgina web personal i els va anomenar “Personal
Home Page Tools”. A mesura que es necessitaven més funcionalitats, Rasmus va anar
escrivint una implementació en llenguatge C molt més amplia, i que fins i tot era capaç
www.PROSMOKIWI.com 60
Ricard Pros Morell Projecte Fi de Carrera
de comunicar-se amb base de dades, permetent crear als usuaris, petites aplicacions
per a webs. Finalment, Rasmus va decidir alliberar el codi font de PHP/FI per a que
qualsevol persona pogués utilitzar-lo, corregir errors i millorar-ne el codi.
L‟any 1997, la segona versió del codi (PHP/FI 2.0) implementat en C, va tenir un
seguiment per varis milers d‟usuaris, aproximadament, uns 50.000 dominis utilitzaven
PHP/FI 2.0, aconseguint així, un 1% dels dominis d‟Internet.
Andi Gutmans i Zeev Zuraski [20] van reescriure completament la versió 2.0 en veure
que tenia poques possibilitats per a desenvolupar una aplicació comercial per a un
projecte que estaven fent a la universitat.
En veure això, Andi i Zeev van decidir cooperar i començar a construir PHP3 (successor
oficial del PHP/FI 2.0).
Aquesta versió, va ser alliberada oficialment el juny de 1998 amb el nom de PHP,
acrònim de Hypertext Preprocessor, deixant de banda, d‟aquesta manera, l‟anterior
nom, però conservant-ne la versió. Això va fer que PHP obtingues una gran expansió en
els anys 1998 i 1999 amb la nova versió (PHP3) obtenint un 10% d‟utilització en els
servidors d‟Internet.
Pocs mesos després del llançament de PHP3, Andi i Zeev van començar a treballar en
la reescriptura del nucli de PHP, creant el nou motor “ZEND”, dels seus noms Zeev i
Andi. La nova versió PHP4 va ser alliberada oficialment el maig de l‟any 2000, gairebé 2
anys després del seu predecessor PHP3.
Aquesta nova versió, aprova millores d‟execució, sessions, incorporació de nous
mòduls, etc. A partir d‟aquí, Andi i Zeev varen fundar l‟empresa Zend Technologies des
de la qual es comença a treballar en el nou motor Zend 2.0 i amb la nova, i actual,
versió PHP5.
Visió general del PHP
És un llenguatge de programació Web semblant a C.
L‟execució i la interpretació es realitza al servidor en el qual està
emmagatzemada la pàgina i el client només en rep el resultat.
Amb PHP es poden generar arxius XML, FLASH, JPG i fins i tot PDF.
www.PROSMOKIWI.com 61
Ricard Pros Morell Projecte Fi de Carrera
Permet la connexió de nombroses bases de dades, com MySQL, Postgres,
Oracle, ODBC, IBM DB2, MySQL Server, Sqlite, SyBase etc.
També permet ser executat en quasi tots els sistemes operatius, com Unix,
Linux, Windows, Mac OS X, i amb els servidors Web més populars com, Apache,
IIS, PWS, iPlanet, OmniHTTPd etc.
Suporta WDDX per a l‟intercanvi de dades entre diferents llenguatges de
programació.
Usos de PHP
Els principals usos del PHP són els següents:
Programació de webs dinàmiques tot combinant motors de bases de dades.
Programació d‟aplicacions Web locals per a Windows, Unix, Mac OS etc.
Creació d‟aplicacions gràfiques, independents del navegador, per mitjà de la
combinació de PHP i GTK que permet crear aplicacions d‟escriptori Windows,
Unix o Mac OS.
CSS (Cascade Style Sheets)
També conegut amb el nom de fulls d‟estil, és una nova forma d‟organitzar els nostres
llocs Web. Els CSS, atreuen una nova metodologia per necessitat, la necessitat de
separar el contingut, de l‟aparença. Això significa, que la informació del nostre lloc Web
ha d‟anar dins dels arxius HTML, però aquests arxius no han de contindre la definició de
com s‟ha de mostrar aquesta informació. La informació de com s‟han de mostrar els
arxius HTML està ubicada en els CSS.
Les fulles d‟estil en cascada són un llenguatge formal utilitzat per a definir la presentació
del document estructurat, escrit en HTML o XML (i per extensió en XHTML).
El W3C (World Wide Web Consortium), referenciat en capítols anteriors, és l‟encarregat
de formular l‟especificació de les fulles d‟estil que servirà d‟estàndard per als agents
d‟usuari o navegadors.
www.PROSMOKIWI.com 62
Ricard Pros Morell Projecte Fi de Carrera
Avantatges dels CSS:
Control centralitzat de la presentació d‟un lloc Web complert, amb el que s‟agilitza
de forma considerable l‟actualització del mateix.
Els navegadors permeten als usuaris especificar la seva pròpia fulla d‟estil local,
que serà aplicada a un lloc Web remot, amb el que s‟augmenta considerablement
l‟accessibilitat. Per exemple, persones amb deficiències visuals poden configurar
la seva pròpia CSS per tal d‟augmentar el tamany del text o bé remarcar més els
enllaços.
Una pàgina pot disposar de diferents fulls d‟estil segons el dispositiu que la mostri
o inclús a elecció de l‟usuari. Per exemple, per a ser mostrada en un dispositiu
mòbil o bé per a ser interpretada per un sintetitzador de veu.
El document HTML en sí mateix és més clar d‟entendre i s‟aconsegueix reduir
considerablement el seu tamany. Per tant, es carregarà més ràpidament.
Separar el contingut de l‟aparença. Es pot definir la forma de tota la Web d‟una
sola vegada.
Models de disseny flexibles, amb pocs límits de personalització de l‟HTML.
El manteniment de la Web serà més fàcil i senzill, degut a que els continguts
estan separats del codi del format.
En un document HTML, es pot definir la forma de tota la pàgina a partir d‟una
simple línia de codi a la capçalera.
Arriba inclús a poder definir-se diversos estils diferents per a una sola etiqueta.
Això és molt important, ja que ofereix potència a la nostra programació. Podem
definir, per exemple, diversos tipus de paràgrafs; en roig, en blau, amb marges,
sense, etc.
JAVASCRIPT
És un llenguatge de computadora de plataforma independent desenvolupat per
Netscape Communications l‟any 1994 per a que els creadors de webs dissenyessin els
llocs de forma interactiva.
www.PROSMOKIWI.com 63
Ricard Pros Morell Projecte Fi de Carrera
JavaScript no requereix accés a les parts potencialment „sensibles‟ o importants de
l‟ordinador, sistema o xarxa. És un llenguatge de programació per a fer scripts. És de
característiques semblants a VBScript o Perl, utilitzat per a la creació d‟accions i
processos d‟automatització per a pàgines webs. Pot ser inserit entre el codi HTML,
interpretat i executat pel navegador. Actualment, tots els navegadors el suporten. El
codi de JavaScript és enviat al client com a part del codi HTML i pot ser utilitzat per a
crear efectes especials, botons animats etc.
SQL (Structured Query Language)
Breu història del llenguatge SQL:
Aquesta comença l‟any 1974 amb la definició, per part de Donald Chamberlin [21] i
d‟altres persones que treballaven en els laboratoris d‟investigació de IBM, d‟un
llenguatge per a l‟especificació de les característiques de les bases de dades que
adoptaven el model relacional. Aquest llenguatge s‟anomenava SEQUEL (Structured
English Query Language) i es va implementar en un prototip anomenat SEQUEL-XRM
entre 1974 i 1975. Les experimentacions amb aquest prototip, van conduir, entre 1976 i
1977, a una revisió del llenguatge (SEQUEL/2), que a partir d‟aquest moment, va
canviar de nom, per motius legals, convertint-se en SQL. El prototip (System R), basat
en aquest llenguatge, es va adoptar i utilitzar internament en IBM.
Gràcies a l‟èxit d‟aquest sistema, que no estava encara comercialitzat, també altres
companyies van començar a desenvolupar els seus productes relacionals basats en
SQL. A partir de 1981, IBM va començar a lliurar els seus productes relacionals i l‟any
1993 va començar a vendre DB2. En el curs dels anys vuitanta, nombroses companyies
(com per exemple Oracle i Sybase) van comercialitzar productes basats en SQL, que
s‟acaba convertint en l‟estàndard industrial pel que fa a les bases de dades relacionals.
L‟any 1986, la institució ANSI (American National Standards Institute) va adoptar SQL
com a estàndard per als llenguatges relacionals, i l‟any 1987 es va transformar en
estàndard ISO amb el nom SQL/86. Durant els anys següents, aquest va passar a
anomenar-se SQL/89 després de diverses revisions i, posteriorment, SQL/92, nom que
conserva encara actualment. El fet de tenir un estàndard definit per un llenguatge per a
www.PROSMOKIWI.com 64
Ricard Pros Morell Projecte Fi de Carrera
base de dades relacionals, obre potencialment el camí a la intercomunicabilitat entre
tots els productes que es basen en ell.
Actualment, està en marxa un procés de revisió del llenguatge per part dels comitès
ANSI i ISO, que hauria d‟acabar en la definició del que en aquest moment es coneix
com SQL3. Les característiques principals d‟aquesta nova versió haurien de ser la seva
transformació en un llenguatge stand-alone, es a dir, que no s‟utilitzés com un
llenguatge allotjat en altres llenguatges, i per altra banda, la introducció de nous tipus de
dades més complexes, que permetin, per exemple, el tractament de dades
multimedials.
Recursos utilitzats:
Servidor Web.
Servidor de base de dades
SGBD
Servidor Web (o HTTP)
Un servidor Web és un programa que implementa el protocol HTTP (hypertext transfer
protocol). Aquest protocol, està dissenyat per a transferir el que s‟anomena
“hipertextos”, pàgines Web o pàgines (hypertext markup language): textes complexes
amb enllaços, figures, formularis, botons i objectes incrustats amb animacions o
reproductors de música.
Es tracta d‟una aplicació que s‟executa contínuament en un ordinador (també s‟utilitza el
terme per a referir-se al ordinador que l‟executa), mantenint-se a l‟espera de peticions
per part d‟un client (un navegador d‟Internet) i que respon a aquestes peticions
adequadament, mitjançant una pàgina Web que s‟exhibirà en el navegador o mostrant
el respectiu missatge si es detecta algun error.
Instal·lar un servidor Web en el nostre PC ens permet, entre d‟altres coses, poder
muntar la nostra pròpia pàgina Web sense la necessitat de contractar un hosting (espai
per albergar una Web), provar els nostres desenvolupaments de forma local o accedir
als arxius del nostre equip des d‟un PC remot.
www.PROSMOKIWI.com 65
Ricard Pros Morell Projecte Fi de Carrera
Servidor de base de dades
Un servidor de base de dades és un programa que proveeix serveis de base de dades a
altres programes o computadores, com es defineix en el model client – servidor.
També pot fer referència a aquells ordinadors (servidors) dedicats a executar aquests
programes, prestant l‟esmenta‟t servei.
SGBD (Sistema Gestor de Base de Dades)
Els sistemes gestors de base de dades; (en anglès: Database management system,
DBMS) són un tipus de software molt específic, dedicat a servir de interfície entre la
base de dades, l‟usuari i les aplicacions que l‟utilitzen. Es basa en un llenguatge de
definició de dades, d‟un llenguatge de dades i d‟un llenguatge de consulta. Aquest
sistema ha d‟assegurar la integritat, confidencialitat i seguretat. Per tant, ha de
permetre:
Definir una Base de Dades: especificar el tipus, estructures i restriccions de
dades.
Construir la Base de Dades: guardar les dades en algun mitjà controlat per
mateix SGBD.
Manipular la Base de Dades: realitzar consultes, actualitzar-la, generar informes,
etc.
Alguns dels exemples de SGBD més coneguts són Oracle, MySQL i PostgesSQL.
Algunes de les característiques desitjades en un SGBD són:
Control de la redundància: la redundància de dades té varis efectes negatius,
com pot ser la duplicació del treball en les actualitzacions, desaprofitament
d‟espai en disc i inconsistència de les dades. Malgrat tot, en ocasions, és
desitjable per qüestions de rendiment.
Restricció d‟accessos no autoritzats: cada usuari ha de tenir permisos d‟accés i
autorització.
Compliment de restriccions d‟integritat: el SGBD ha d‟oferir recursos per definir i
garantir el compliment de les restriccions d‟integritat.
www.PROSMOKIWI.com 66
Ricard Pros Morell Projecte Fi de Carrera
Decisions d’implementació
A continuació es veurà quines són les aplicacions que s‟ha decidit utilitzar en la
implementació del sistema.
Per al desenvolupament de tot el projecte, s‟ha utilitzat un ordinador de l‟empresa
Apple, un portàtil del model Macbook. Aquests proporcionen un gran ventall de
solucions per al disseny i la creació, ja sigui de webs, de música o d‟imatges.
Des d‟un principi es va decidir treballar amb l‟aplicació Dreamweaver CS3 d‟Adobe. Es
tracta d‟un editor de pàgines Web, el més utilitzat per al disseny i programació
d‟aquestes. Proporciona un ampli ventall de funcionalitats i una bona integració amb
altres eines com per exemple el Flash CS3. El Dreamweaver ens permet crear fàcilment
llocs que contenen gràfics i elements multimèdia. És un dels millors programes per a
crear animacions Javascript i DHTML.
Per tot el que s‟ha descrit en el paràgraf anterior, es va decidir, des d‟un principi,
comptar amb l‟editor Dreamweaver. Amb aquest s‟ha implementat tot el codi HTML,
PHP, JavaScript i CSS de la nostra Web.
Per altra banda, un software de la mateixa empresa i molt important per a qualsevol
dissenyador Web, és l‟aplicació Photoshop. El Photoshop CS3 d‟Adobe, ha permès
crear i retocar totes les imatges de la Web, amb una gran comoditat.
Pel que fa al servidor Web, s‟ha treballat de forma local la major part del temps. S‟ha
decidit utilitzar, com a servidor, una aplicació molt coneguda, com és el servidor Apache
2.2, aquest ja el proporciona el propi sistema operatiu de Mac, Leopard. Així que,
simplement a estat necessari activar-lo. El servidor HTTP Apache és un software
(lliure), de codi obert per plataformes Unix (BSD, GNU/Linux, etc.), Windows, Macintosh
i altres, que implementa el protocol HTTP/1.1 i la noció de lloc virtual.
Apache presenta entre altres característiques, missatges d‟error configurables, base de
dades d‟autentificació i negociació del contingut, però també una escassa interfície
gràfica. Aquest, té un amplia acceptació a la xarxa. L‟any 2005, Apache va ser el
servidor HTTP més utilitzat amb un 48% de tots els servidors del món i actualment ja
s‟utilitza en un 70% d‟aquests.
www.PROSMOKIWI.com 67
Ricard Pros Morell Projecte Fi de Carrera
L‟arquitectura del servidor Apache és molt modular. El servidor consta d‟una secció core
i diversos mòduls que aporten moltes de les funcionalitats que podria considerar-se
bàsiques per a un servidor Web.
Els avantatges d‟utilitzar Apache i el motiu pel qual ha estat escollit són, la seva
modularitat, que és open source i gratuït, multi plataforma, i extensible. A part de tot
això, es tracta d‟un servidor molt popular i això fa que sigui fàcil aconseguir ajuda i
suport.
Referent a les bases de dades, es va decidir utilitzar el sistema gestor de base de
dades de MySQL. Aquest, és un sistema de gestió de base de dades relacional. El seu
disseny permet suportar una gran carga de forma eficient.
MySQL va ser creada per l‟empresa sueca MySQL AB, que manté el copyright del codi
font SQL, així com també de la marca. Tot i que MySQL és software lliure, MySQL AB,
distribueix una versió comercial que no es diferencia de la versió lliure més que en el
suport tècnic que ofereix, i la possibilitat d‟integrar aquest gestor a un software
propietari, ja que al no ser així, es vulnerari la llicència GPL [22].
Aquest gestor de base de dades és, probablement, el gestor més utilitzat en el món del
software lliure, això, és degut a la gran rapidesa i fàcil ús d‟aquest. Aquesta gran
acceptació, ve originada per la infinitat de llibreries i altres eines que permeten l‟ús a
través de gran quantitat de llenguatges de programació, a més a més de la fàcil
instal·lació i configuració.
Les principals característiques d‟aquest gestor de base de dades són les següents:
Aprofita la potència dels sistemes multiprocessadors, gràcies a la seva
implementació multi-fil.
Suporta gran quantitat de tipus de dades per les columnes.
Disposa d‟API‟s en gran quantitat de llenguatges (C,C++,Java,PHP,etc.).
Gran portabilitat entre sistemes.
Suporta fins a 32 índex per taula.
Ha estat important també, per al desenvolupament del sistema, la utilització d‟una eina
que ens proporciona el propi MySQL, el phpMyAdmin. Aquesta, és una eina escrita en
www.PROSMOKIWI.com 68
Ricard Pros Morell Projecte Fi de Carrera
PHP amb la intenció de manejar l‟administració de MySQL a través de pàgines webs,
utilitzant Internet o bé de forma local. Actualment, pot crear i eliminar bases de dades,
crear, eliminar i alterar taules, esborrar, editar i afegir camps, executar qualsevol
sentència SQL, administrar claus en camps, administrar privilegis i exportar dades en
diversos formats. A més està disponible en una cinquantena d‟idiomes. phpMyAdmin es
troba disponible sota la llicència GPL.
Desenvolupament de l’aplicació
Un cop detallades totes les eines que han intervingut en la implementació de la Web,
anem a veure, a continuació, com s‟ha desenvolupat l‟aplicació tot repassant els punts
més importants de la codificació en els diferents llenguatges de programació.
XHTML
Acrònim del anglès de eXtensible Hypertext Markup Language (llenguatge extensible de
marcat de hipertext), és el llenguatge pensat per a la substitució d‟HTML com a
estàndard per a les pàgines Web. XTHML és la versió XML de HTML, amb la qual cosa,
té, bàsicament, les mateixes funcionalitats, però compleix les especificacions més
estrictes de XML.
Aquest llenguatge ha estat la base en el desenvolupament de la interfície, permetent
crear tota l‟estructura de la pàgina, els formularis, botons, taules, etc.
L’encapçalament XHTML
Totes les pàgines de la Web comencen amb el mateix encapçalament:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es">
La propera línia d‟aquest encapçalament és la declaració del tipus de document
DOCTYPE, es tracta d‟una part fonamental de totes aquelles pàgines que vulguin
www.PROSMOKIWI.com 69
Ricard Pros Morell Projecte Fi de Carrera
complir els estàndards, tant HTML com XHTML. Aquesta declaració indica quina versió
de (X)HTML s‟utilitza, de manera que els navegadors puguin saber quina sintaxi i
gramàtica s‟utilitza, i els validadors puguin comprovar la seva validesa. Per aquest
motiu, la declaració indica un DTD (Document Type Definition) contra el qual es pot
realitzar la validació.
A part d‟això, la declaració DOCTYPE s‟utilitza pels navegadors per a activar el seu
mode, estàndard o estricte, o el seu mode de compatibilitat. Cal adonar-se de que la no
utilització de un DOCTYPE o el seu ús incorrecte, pot fer que els navegadors renderitzin
la pàgina de forma completament diferent a la que tenim previst. Per això, totes les
pàgines de la Web han de contenir aquesta declaració i fer-ho de forma correcta, amb la
finalitat de complir els estàndards per un costat i per garantitzar uns resultats de
renderitzat homogenis per l‟altre.
En el cas de la nostra declaració, s‟indica que la pàgina ha de validar-se com XHTML
Transitional, utilitzant el DTD existent a la url http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd.
Existeixen tres tipus de documents XHTML: Strict, Transitional i Frameset. A
continuació es mostra la declaració de cada un d‟ells amb la corresponent referència de
validació de cada DTD.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Tot seguit es mostren les diferències entre les declaracions anteriors per tal de saber
quina cal utilitzar en cada cas:
Strict: aquest tipus de document està principalment ideat per a la seva utilització
amb CSS, separant completament el contingut i la presentació. Per tal efecte, no
www.PROSMOKIWI.com 70
Ricard Pros Morell Projecte Fi de Carrera
permet la utilització d‟etiquetes i atributs ja en desús orientats a la presentació,
com font, center i altres. Escrivint pàgines en XHTML 1.0 Strict s‟aconsegueixen
pàgines ben estructurades i fàcilment adaptables mitjançant CSS, però té la
desavantatge de crear incompatibilitats amb altres navegadors.
Transitional: inclou totes les característiques de XHTML 1.0 Strict, però afegeix
característiques orientades a la presentació.
Frameset: es tracta d‟una variant del Transitional per a les pàgines que utilitzen
frames.
A continuació, trobem una instrucció com la següent:
<html xmlns="http://www.w3.org/1999/xhtml" lang="es">
Aquest atribut, defineix l‟espai de noms que seran utilitzats en el document. L‟enllaç a
lloc Web de noms s‟utilitza només com a identificador, en aquesta direcció no hi ha cap
definició sobre l‟espai de noms que pugui entendre el navegador. Aquest l‟especifiquem
a continuació amb la definició de lang = “es”, seleccionant el llenguatge espanyol.
Totes les pàgines de la Web, a part de compartir l‟encapçalament anterior, també
comparteixen les següents instruccions contingudes entre els tags del head:
<meta name="Description" lang="es" content="venta de kiwis frescos y de calidad" />
<meta name="Keywords" lang="es" content="kiwi, kiwis, venta kiwis, kiwis lleida, kiwi fresc,
comprar kiwis, fruta fresca, comprar fruta, venda de kiwis,fruita de lleida,fruta de lleida" />
<meta name="language" content="es" />
<meta name="revisit" content="7 days" />
<meta name="robots" content="index, follow, all" />
<meta name="Author" content="Ricard Pros" />
<meta name="Copyright" content="KIWIS PROS MORELL" />
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<meta name="DC.language" scheme="ISO639-1" content="es" />
<link rel="start" href="http://www.prosmokiwi.com" title="Página índice" />
www.PROSMOKIWI.com 71
Ricard Pros Morell Projecte Fi de Carrera
Aquest conjunt de sentències fan referència a les etiquetes conegudes amb el nom de
“metatags”.
Les metatags són etiquetes html que s‟incorporen en l‟encapçalament d‟una pàgina
Web i que resulten invisibles per al visitant normal, però de gran utilitat per als
navegadors i altres programes que puguin valer-se d‟aquesta informació.
El propòsit dels metatags és el d‟incloure informació (metadades) de referència sobre la
pàgina: autor, títol, data, paraules clau, descripció, etc. Aquesta informació podria ser
utilitzada pels robots de búsqueda per a incloure-la en les seves bases de dades i
mostrar-la en el resumen de búsquedes o bé tenir-la en compte durant les mateixes.
Pel que fa referència a la resta de la codificació XHTML, un dels punts més importants
alhora d‟estructurar la informació, ha estat la utilització del tag <div></div> que ens
permet dividir els diferents objectes d‟informació del lloc, per tal d‟organitzar les dades
de la millor manera.
PHP5
L‟ús de PHP5 ha estat bàsic per al desenvolupament de l‟aplicació. Aquest es va
intercalant entre el codi XHTML entre els tags <? i ?>.
A continuació veurem els trets més característics del PHP aplicat a la nostra Web:
Pas d’informació
Una de les grans virtuts d‟aquest llenguatge és que ens permet enviar i rebre dades des
d‟una mateixa pàgina o bé enviar-les a d‟altres.
Tot seguit es mostra un exemple del enviament i rebuda de dades des d‟una mateixa
pàgina:
</body> </html> <?php if (isset($_POST['muestra'])) { echo 'Hola, '.$_POST['nombre'].', el teu menjar preferit és:'. $_POST['comida'].''; } else { ?> <form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>"> ¿Quin és el teu nom?
www.PROSMOKIWI.com 72
Ricard Pros Morell Projecte Fi de Carrera
<input type="text" name="nombre" /> ¿Quin és el teu menjar preferit? <select name="comida"> <option value="Spaguetis">Spaguetis</option> <option value="Asado">Rostit</option> <option value="Pizza">Pizza</option> </select> <input type="submit" name="muestra" value="Seguir" /> </form> <?php } //Fi del bloc else ?> </body> </html>
L‟exemple anterior comença mostrant el formulari de preguntes, i un cop l‟hem omplert,
al prémer el botó, la pàgina es recarrega a ella mateixa mostrant-nos la resposta. Això
s‟aconsegueix amb la instrucció isset que determina l‟existència d‟una variable, es a dir,
determina si aquesta variable ja ha estat definida.
Per enviar les dades d‟un formulari s‟utilitza el mètode POST, d‟aquesta manera,
aquestes es reben dintre de la matriu $_POST, amb la qual cosa, les podem recuperar
fàcilment, ja sigui des de la mateixa pàgina o des d‟un altra.
Aquest mateix mètode s‟utilitza pel llenguatge per a totes les fonts d‟informació d‟una
aplicació Web, tals com cookies amb la matriu $_COOKIES, variables de URL amb
$_GET, variables de sessió utilitzant $_SESSION, i variables del servidor i el client
mitjançant la matriu $_SERVER.
En la codificació de la Web de Prosmokiwi, s‟ha utilitzat el mètode POST freqüentment
per tal de passar dades des d‟una pàgina a un altra. Un dels casos més interessants, és
l‟utilitza‟t a la pàgina principal, quan l‟usuari clica a l‟enllaç de Finalitzar compra. En
aquest moment les dades referents a la compra, confeccionada per l‟usuari, passen a la
pàgina següent per tal de poder mostrar-les, sumar l‟Iva, el transport i mostrar l‟import
final a l‟usuari.
Variables de sessió
Una sessió, en l‟entorn de desenvolupament Web, consisteix en controlar l‟accés
individual a una pàgina o grup de pàgines determinat, mitjançant l‟assignació d‟un
identificador únic per a cada usuari. Amb això aconseguim fer un seguiment de cada
www.PROSMOKIWI.com 73
Ricard Pros Morell Projecte Fi de Carrera
usuari durant la seva visita a la nostra pàgina Web, des de que entra fins que surt. PHP
aconsegueix, amb l‟ús de les sessions, construir pàgines més personalitzades,
conservant dins de l‟objecte $_SESSION de PHP l‟estat de les accions realitzades per
l‟usuari (d‟on ve, a on va, etc.).
Algunes de les funcions relacionades amb l‟ús de les sessions són les següents:
Session_start(): iniciar la sessió (crear-ne una de nova o be continuar-la).
Session_register(): per a registrar les variables, accepta com a argument una cadena
que identifica el nom d‟una variable, o una matriu que contingui més identificadors de
variables.
Session_destroy(): per a destruir les dades associades a la sessió actual. No destrueix
cap variable global associada a la sessió ni a la cookie.
Un altre ús molt freqüent de les sessions, és l‟autentificació en pàgines restringides
mitjançant un usuari i una contrasenya. Tal i com s‟ha fet en el cas de Prosmokiwi,
primer PHP comprova que les dades introduïdes per l‟usuari en el formulari
d‟autentificació, són vàlides, es a dir, que existeixen a la base de dades del sistema, i si
és així, tot seguit s‟inicia una sessió guardant aquestes dades en objectes del tipus
$_SESSION. D‟aquesta manera, en les pàgines amb accés restringit, es comprova
l‟existència d‟aquestes variables, permetent, o no, l‟accés als usuaris.
Aquestes variables, també s‟han utilitzat per determinar si existeix una compra pendent
o no, es a dir, si l‟usuari realitza una compra, aquesta ha de romandre activa durant tota
la sessió i això s‟aconsegueix inicialitzant una variable de sessió amb un determinat
valor.
A continuació es mostren els fragments de codi corresponents a la identificació i a la
compra, on intervenen les variables de sessió:
Identificació:
<?PHP
session_start(); $_SESSION['ident']=1; include('conn.php');
www.PROSMOKIWI.com 74
Ricard Pros Morell Projecte Fi de Carrera
// Consulta $user = $_POST["usuari"]; $passwd = $_POST["password"]; $result = mysql_query("SELECT passwd FROM clients WHERE user='$user' ", $conexion); $si = ""; while ($row = mysql_fetch_row($result)){ if($row[0] == $passwd ){ $_SESSION['logat'] = $user; } } // Tancar connexió mysql_close($conexion); /* Redirect to a different page in the current directory that was requested */ $host = $_SERVER['HTTP_HOST']; $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); $extra = 'index.php'; header("Location: http://$host$uri/$extra"); exit; ?>
El fragment de codi anterior pertany a una pàgina pont, es a dir, que el seu contingut és
merament funcional, no es mostra res en aquesta, simplement s‟executa i es crida a un
altra pàgina.
Aquest codi comprova l‟existència de l‟usuari a la base de dades i si aquest existeix
s‟inicialitzen les variables de sessió corresponents.
De la mateixa manera, existeix una pàgina pont encarregada de tancar la sessió en la
que es destrueixen aquestes variables.
Compra:
<?PHP session_start();
//variables de sessió: if(isset($_SESSION['import']) && !isset($_POST["imp"])) {
www.PROSMOKIWI.com 75
Ricard Pros Morell Projecte Fi de Carrera
$import = $_SESSION['import']; $gran = $_SESSION['gran']; $mig = $_SESSION['mig']; $lot = $_SESSION['lot']; }else{ $import = $_POST["imp"]; $gran = $_POST["gran"]; $mig = $_POST["mig"]; $lot = $_POST["lot"]; $_SESSION['import'] = $import; $_SESSION['gran'] = $gran; $_SESSION['mig'] = $mig; $_SESSION['lot'] = $lot; } //re càlcul: $recalcul = ($gran * 3) + ($mig * 2.5) + ($lot * 4 * 5); if($recalcul == $import) { $recalcul = "OK"; }else{ $recalcul = "KO"; } ?>
Aquest codi, primer, mira si venim de confeccionar una compra, o d‟un altra pàgina, i a
continuació, s‟inicialitzen o recuperen les variables de compra segons correspongui.
En aquest fragment també es re calculen les dades que rebem per tal de comprovar
que tot és correcte.
CSS
Com ja s‟ha detallat anteriorment, els fulls d‟estil (CSS) ens permeten determinar
l‟aspecte de les pàgines.
El document que conté la codificació CSS, es referència a cada pàgina amb la següent
sentència:
www.PROSMOKIWI.com 76
Ricard Pros Morell Projecte Fi de Carrera
<link href="../css/estructura.css" rel="stylesheet" type="text/css" />
Així doncs la pàgina, alhora de carregar-se, sap d‟on ha d‟extreure la informació referent
al estil.
Tot seguit, es mostra un exemple d‟algunes parts interessants del document CSS que
s‟ha utilitzat en la implementació de la Web:
Codi referent a l’estructura de les pàgines:
body{ margin:0 0 0 0; background-image: url("../img/fons.jpg"); background-repeat:repeat-x; } /* ----- estructura ----- */ #contenido{ width:967px; margin:auto; } #cabecera{ float: left; height:362px; width:966px; background:url("../img/ca-cabecera.jpg") no-repeat; } ...
Codi referent al menú general:
.menullista{ margin:0 0 0 0; padding:23px 0 0 123px; } .menullista li{ list-style:none; font-size:19px; font-family:"Monotype Corsiva",Geneva, Arial, Helvetica, sans-serif; display:inline; outline:0; } .menullista li a{ list-style:none; outline:0; display:inline; margin:0 15px 0 14px; padding:10px 5px 10px 5px;
www.PROSMOKIWI.com 77
Ricard Pros Morell Projecte Fi de Carrera
text-decoration:none; color: #2D2D22; } .menullista li a:hover{ margin:0 15px 0 14px; padding:10px 5px 10px 5px; text-decoration: underline; color: #CC5533; outline:0; } .menullista li a:link{ outline:0; } .menuselec{ list-style:none; outline:0; margin:0 15px 0 14px; padding:10px 5px 10px 5px; text-decoration: underline; color: #CC5533; }
Codi referent a les caixes de text dels formularis:
.login { border-left-color: #B7943A; border-color: #B7943A; border-bottom-color: #B7943A; border-right-color: #B7943A; border-right-style: solid; border-bottom-style: solid; border-top-style: solid; border-left-style: solid; border-top-color: #B7943A; border-left-width: 1px; border-bottom-width: 1px; border-right-width: 1px; border-top-width: 1px; height: 18px; margin-bottom: 3px; width: 133px; font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; margin-top: 3px; background-color: #FFF; color: #2D2D2D; padding-left: 4px; margin-right: 2px; }
www.PROSMOKIWI.com 78
Ricard Pros Morell Projecte Fi de Carrera
Codi referent al estil i comportament d’un botó:
A.afegir { font-family: Geneva, Arial, Helvetica, sans-serif; text-decoration: underline; font-size:12px; color: #730; outline:0; } A.afegir:hover { font-family: Geneva, Arial, Helvetica, sans-serif; text-decoration: overline; font-size:12px; color: #730; outline:0; } A.afegir:active { font-family: Geneva, Arial, Helvetica, sans-serif; text-decoration: overline; font-size:12px; color: #BB8B21; outline:0; }
En la següent figura, es pot observar com queda la pàgina principal de la Web de
Prosmokiwi si no es té en compte el document CSS:
Figura 20. Pàgina inicial de Prosmokiwi sense CSS.
www.PROSMOKIWI.com 79
Ricard Pros Morell Projecte Fi de Carrera
JavaScript
El llenguatge JavaScript es pot introduir en el nostre codi senzillament, simplement
l‟hem d‟ubicar entre els següents tags, situats dins del head:
<script type="text/javascript" language="javascript">
...JavaSript...
</script>
En la implementació de les pàgines de la web, aquest llenguatge s‟ha utilitzat en dos
punts bàsicament, alhora de confeccionar la compra (pàgina inicial), i alhora de validar
els formularis de registre i modificació de dades.
A continuació es mostra un exemple de la validació de les dades més rellevant, feta des
de la pàgina de registre:
Comprovar que s’han acceptat les condicions d’ús:
if(!document.formreg.ac.checked ) { alert("Cal acceptar les condicions d'ús"); document.retorn = false; }
Validació del CIF/DNI:
filter = /^(X(-|\.)?0?\d{7}(-|\.)?[A-Z]|[A-Z](-|\.)?\d{7}(-|\.)? [0-9A-Z]|\d{8}(-|\.)?[A-Z])$/; if (!filter.test(document.formreg.nif.value)) { errors = errors + "Insert a correct NIF/CIF (capital letter) \n"; document.retorn = false; }
Validació del e-mail:
filter = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/; if (!filter.test(document.formreg.email.value)) { errors = errors + "Insert a correct e-Mail \n"; document.retorn = false; }
www.PROSMOKIWI.com 80
Ricard Pros Morell Projecte Fi de Carrera
Validació del telèfon:
filter = /^[0-9]{2,3}-? ?[0-9]{6,7}$/; if (!filter.test(document.formreg.tlf.value)) { errors = errors + "Insert a correct Telèfon \n"; document.retorn = false; }
Com es pot observar en els fragments de codi anterior, les validacions s‟han fet a partir
d‟expressions regulars que decideixen si l‟expressió d‟entrada supera les restriccions
que aquestes estableixen.
El llenguatge JavaScript ens permet utilitzar-lo juntament amb el llenguatge PHP. De
vegades, ens pot interessar utilitzar el valor d‟una variable de PHP en JavaScript. El
següent exemple, extret de la pàgina d‟inici (productes), mostra aquesta situació:
var X = "<? if(isset($_SESSION['import'])){ echo "off"; }else{ echo "on"; } ?>";
En el fragment anterior, la variable de JavaScript “X” adoptarà la paraula “off” si la
variable de PHP “$_SESSION[„import]” està establerta, i la paraula “on” si no ho està.
La funcionalitat d‟aquest codi és activar o desactivar el cistell, es a dir, si la variable “X”
conté el valor “off” voldrà dir que ja existeix una compra i que, per tant, no podrem afegir
nous productes, a no ser que la finalitzem o en creem una de nova.
MySql i phpMyAdmin
Alhora d‟implementar la base de dades, el primer pas ha estat la configuració de
l‟aplicació phpMyAdmin a partir de la qual controlarem els elements de la base de dades
MySql. En el cas de Prosmokiwi, l‟empresa només necessita emmagatzemar la
www.PROSMOKIWI.com 81
Ricard Pros Morell Projecte Fi de Carrera
informació dels clients, i per tant, simplement serà necessària una taula on s‟especifiqui
tota aquesta informació.
En la següent imatge es mostren els camps que s‟han utilitzat així com les
característiques d‟aquests:
Figura 21. Taula clients de Prosmokiwi.
Com es pot observar en la imatge, els camps referents al nom de l‟empresa
“nomempre”, mòbil, i fax, poden contenir el valor null, es a dir, el sistema no dóna error
si aquests no s‟omplen, amb concordança amb el comportament del codi (JavaScript)
que valida aquests camps i que hem vist en el punt anterior.
Per tal de poder comunicar-nos amb la base de dades de forma local, ha estat
necessària la configuració d‟un arxiu PHP de connexió, les característiques del qual,
varien un cop pengem la pàgina en un servidor extern, ajustant-se a la configuració
d‟aquest. A continuació es mostra el codi d‟aquest fitxer on es poden observar els
paràmetres de connexió a la base de dades.
www.PROSMOKIWI.com 82
Ricard Pros Morell Projecte Fi de Carrera
<?PHP $dbhost="localhost"; // host de MySQL $dbusuario="sam"; // nom d’usuari per a accedir a la BBDD $dbpassword="*******"; // password d’accés per a l’usuari de la línia anterior $db="clients"; // seleccionem la BD amb la qual treballarem $conexion = mysql_connect($dbhost, $dbusuario, $dbpassword) or die ("No s'ha pogut connectar amb la Base de Dades"); mysql_select_db($db, $conexion) or die ("No s'ha trobat la taula Clients"); ?>
Aquest fitxer de connexió el cridem cada cop que necessitem connectar-nos a la base
de dades, això ho fem incloent aquest fitxer en el codi (include('conn.php');). Un cop
connectats a la base de dades podem realitzar tot un seguit de tasques, en les següents
línies es mostren alguns exemples.
Inserció de camps a la base de dades:
$insercio = "INSERT INTO clients (user ,passwd, tipo, nif, nomempre, nom, cognoms, datan, address, cpostal, poblacio, provin, pais, email, tlf, mobil, fax) VALUES ('$user', '$passwd', '$tipo', '$nif', '$nomempre', '$nom', '$cognoms', '$datan', '$address', '$cpostal', '$poblacio', '$provi', '$pais', '$email', '$tlf', '$mobil', '$fax')"; mysql_query($insercio) or die ("ERROR: No s'ha pogut insertar la informació");
En aquest exemple estem introduint totes les dades que el client omple en el moment
de registrar-se.
Consultar informació de la base de dades:
$hiEs = mysql_query("SELECT * FROM clients WHERE user='$user' ", $conexion);
Amb aquesta instrucció estem seleccionant tots els camps de la taula que pertanyin a
l‟usuari especificat. Aquesta sentència forma part de la comprovació que es fa per
determinar si l‟usuari que s‟està registrant ja existeix, o no, a la base de dades.
Sempre que es realitza una connexió, cal tancar-la un cop acabada la tasca per la qual
s‟havia establert aquesta. Això ho fem afegint la següent instrucció en el codi:
mysql_close($conexion);
www.PROSMOKIWI.com 83
Ricard Pros Morell Projecte Fi de Carrera
Dificultats
Per tal de finalitzar el projecte s‟han tingut que superar una sèrie de dificultats o
impediments alhora de desenvolupar el sistema. Aquests es descriuen a continuació de
forma detallada:
Compatibilitat amb els navegadors i disseny: personalment, una de les parts més
costoses del projecte, ha estat el disseny de la Web. Aquest esforç s‟ha vist incrementat
per un problema molt típic en aquest àrea, la compatibilitat amb els navegadors. Quan
es dissenya una pàgina Web cal pensar en totes les possibilitats, per tant, la nostra
pàgina ha de visualitzar-se correctament amb qualsevol navegador, ja sigui, Internet
Explorer, Safari, Firefox o Opera. Per aconseguir aquest propòsit han estat necessàries
moltes hores de prova i error amb els diferents softwars de navegació.
Codificació de l’aplicació: al llarg del desenvolupament hi han hagut varis punts crítics
pel que fa a la codificació. El més dificultós ha estat programar el sistema per a que
l‟usuari pogués confeccionar la compra, afegir el producte a cada clic, mirant si ja s‟ha
introduït abans aquell producte i sumar-lo o afegir-lo de nou segons toqui.
Per altra banda, un punt important alhora de codificar, ha estat tenir en compte, en tot
moment, totes les alternatives que té l‟usuari quan navega per la Web. Per exemple, un
cop l‟usuari ha finalitzat la compra, el sistema elimina les variables de sessió
corresponents per tal que aquesta ja no es vegi reflexada a la pàgina de productes. Això
ho fem programant el botó d‟acceptar, un cop l‟usuari finalitza la compra, però, que
passa si l‟usuari no prem el botó d‟acceptar? Hem de controlar que premi el enllaç que
premi, la compra s‟esborrarà del sistema.
Per últim, una dificultat transversal a tot el desenvolupament, ha estat la falta de temps,
ja que el projecte s‟ha desenvolupat integrament durant el segon semestre del curs
paral·lelament a la resta d‟assignatures.
www.PROSMOKIWI.com 84
Ricard Pros Morell Projecte Fi de Carrera
Capítol 6 – Seguretat
Introducció
La seguretat és un dels aspectes més importants alhora de desenvolupar un lloc web.
En el cas de Prosmokiwi cal proporcionar a l‟usuari la confiança necessària per a que
aquest es registri i efectuï una compra sense cap problema.
Per una banda, quan parlem de seguretat, ens ve a la ment una sèrie de mots com,
engany, estafa, o intrusió, aquest engany tant el pot sofrir el client com l‟empresa.
Anem a referir-nos primer a la seguretat de l‟empresa envers l‟usuari.
En el cas del llenguatge SQL, existeix un concepte anomenat “injecció de codi” que,
com veurem tot seguit, consisteix en la modificació del comportament de les nostres
consultes mitjançant la introducció de paràmetres no desitjats en els camps als que té
accés l‟usuari.
En el següent exemple es mostra l‟instrucció que s‟utilitza per tal de comprovar
l‟existència d‟un usuari a la base de dades de l‟empresa i així donar-li accés.
SELECT * FROM usr WHERE id = 'root' AND pwd = '4358'
Però, que passaria si intentéssim modificar la consulta ficant com a contrasenya:
' OR ' ' = '
En aquest cas, l‟instrucció quedaria:
SELECT * FROM usr WHERE id = 'root' AND pwd = ' ' OR ' ' = ' '
Llavors, com que ' ' sempre es igual a ' ', haurem modificat la consulta per tal que ens
retorni sempre les dades del usuari tot i havent introduint una contrasenya incorrecta.
D‟aquesta manera l‟usuari malintencionat podria connectar-se com qualsevol usuari
registrat.
Aquest és només un exemple, així mateix, el visitant malintencionat podria aconseguir
contrasenyes, esborrar, afegir i modificar dades de la nostra base de dades.
www.PROSMOKIWI.com 85
Ricard Pros Morell Projecte Fi de Carrera
Per tot això és de vital importància assegurar-se de que el nostre lloc es segur en
aquest aspecte.
Segons la configuració del nostre servidor, es possible que ens trobem afectats per
aquest problema, per tant, cal assegurar-se de que no és així.
Amb el següent codi podem saber si el nostre servidor pren les precaucions de canviar
les cometes passades a les variables.
<? if(!isset( $_GET [ "injeccio" ])){ header ( "location: ?injeccio='" ); } else { echo 'El teu servidor' ; if( $_GET [ "injeccio" ] != "'" )echo 'no ' ; echo 'té problemes d’injecció' ; } ?>
En el cas de Prosmokiwi, tant el servidor local com el servidor extern, tenen en compte
la injecció de codi, i l‟eviten.
Si es dones el cas de que el nostre servidor tingues problemes d‟injecció, es a dir, que
no es preocupes de canviar la cometa simple per dues d‟aquestes, la següent funció en
PHP ens modifica les variables problemàtiques.
function ParseSQL($value) { // Stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // Quote if not integer if (!is_numeric($value)) { $value = mysql_real_escape_string($value) ; } return $value; }
Incloent aquesta funció en totes aquelles pàgines que reben variables d‟altres, evitaríem
la injecció de codi.
Per altra banda, hem de tenir en compte la seguretat de l‟usuari envers el lloc Web.
En el següent punt es veurà com es proporciona aquesta seguretat a l‟usuari.
www.PROSMOKIWI.com 86
Ricard Pros Morell Projecte Fi de Carrera
Compra segura
La seguretat que l‟empresa ha de donar a l‟usuari, recau bàsicament en el moment en
que aquest efectua una compra.
Normalment, l‟usuari mostra una certa reticència a comprar per Internet. Sabent això,
Prosmokiwi, ha de garantir al client que el pagament de la compra serà segur i que
finalment rebrà el producte que ha comprat.
Prosmokiwi ofereix tres sistemes de pagament a l‟usuari i que aquest escull en el
moment d‟efectuar la compra:
Contrareemborsament: el client paga el producte en efectiu un cop el rep.
Transferència bancària: l‟empresa proporciona un número de compte al client i aquest
realitza una transferència bancària amb l‟import corresponent.
Targeta de crèdit: el client introdueix el número de la seva targeta de crèdit i mitjançant
una pàgina externa es realitza la transacció corresponent.
Com és normal, l‟únic sistema de pagament que pot transmetre inseguretat és el
pagament amb targeta de crèdit.
Prosmokiwi, a llarg termini, incorporarà el sistema de pagament amb targeta de crèdit.
Aquest es basa en una pàgina externa (TPV, terminal punt de venda) proporcionada per
una entitat bancària. El seu funcionament és simple, l‟empresa s‟identifica amb una
comunicació prèvia, totalment segura, i a continuació s‟envia l‟import que el client haurà
de pagar. Aquest introdueix les dades de la seva targeta de crèdit i finalment es realitza
la transacció.
Com és evident, l‟entitat bancària compta amb tot un seguit de mecanismes per tal de
donar la màxima seguretat a l‟usuari, com el xifrat de dades en les comunicacions SSL
[23], confidencialitat, control d‟accés, i un llarg etcètera.
Tot i que s‟ha estudiat la implantació d‟aquest sistema de pagament, encara no s‟ha
implementat degut als costos fixes que suposa. No obstant, un cop es compti amb una
borsa de clients suficient, aquest, es ficarà en funcionament.
www.PROSMOKIWI.com 87
Ricard Pros Morell Projecte Fi de Carrera
Advertència legal
L‟advertència legal conté la informació legal de l‟empresa, tot i que aquesta encara no
ha estat constituïda legalment ni donada d‟alta en el registre mercantil, i per tant no
disposa de les dades de registre. També conté informació sobre la protecció de dades,
la propietat intel·lectual i industrial, etc.
A continuació es mostra l‟advertència legal de la Web de Prosmokiwi:
Información legal Prosmokiwi es una empresa,de nacionalidad española con domicilio social C/Gran Via, 42, 25123 Torrefarrera, Lleida, amb CIF número ………….. e inscrita en el Registro Mercantil de Lleida, Tomo………., Sección…., Folio..... . Propiedad intelectual e industrial Todos los contenidos de la página (textos, fotografías, software, etc), son propiedad intelectual de y no podrán ser reproducidos, copiados, pegados, “linkados”, transmitidos, distribuidos o manipulados sin autorización prèvia y por escrito de Prosmokiwi, manteniendo en todo momento el “copyright” intacto y cualquier otro indicador de la propiedad intelectual de los materiales o contenidos. Todo uso o modificación del material o contenido para a una finalidad diferente a la autorizada en las Condiciones Generales será considerada una violación de les leyes internacionales del “copyright”, que protegen los derechos de autor. Protección de datos De acuerdo con la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal le informamos que, en caso que introduzca sus datos personales en nuestra página, los mismos serán usados, exclusivamente, para tramitar y responder a sus solicitudes. Los datos personales aportados voluntariamente por el usuario se conservarán en un fichero, la finalidad del mismo es hacer posible el envío de promociones comerciales que puedan resultar de su interés. El ejercicio de los derechos de acceso, rectificación, oposición y cancelación, regulados en el artículo 5 de la Ley Orgánica 15/199 de 13 de Diciembre de Protección de Datos de Carácter Personal, deberá comunicarse a la empresa mediante su página web: HYPERLINK "http://www.prosmokiwi.com" www.prosmokiwi.com. Por otra parte, y de acuerdo con lo establecido en la Ley 34/2002 de Servicios de la Información y de Comercio Electrónico, la dirección IP del usuario quedará registrada en otro fichero cuyo responsable es Prosmokiwi y cuya finalidad es el registro de las direcciones IP de los usuarios que acceden a la página. La citada dirección IP permanecerá registrada en este fichero durante un período de un año, según estipula la citada Ley en su artículo 12.
www.PROSMOKIWI.com 88
Ricard Pros Morell Projecte Fi de Carrera
Introducción de enlaces El usuario que quiera introducir enlaces desde sus propias páginas web deberá cumplir los siguientes requisitos: El enlace únicamente vinculará con la home page o página principal pero no podrá reproducirla de ninguna forma. No se realizará desde la página que introduce el enlace ningún tipo de manifestación falsa, inexacta o incorrecta sobre Prosmokiwi, sus socios, empleados, clientes o sobre la calidad de los servicios que presta. Queda prohibido establecer frames o marcos de cualquier tipo que envuelvan a la página o permitan la visualización de sus contenidos a través de direcciones de internet distintas, y, en cualquier caso, esta prohibición incluye también que se visualicen conjuntamente con contenidos ajenos a la página de forma que: induzcan a error, confusión o engaño a los usuarios sobre la verdadera procedencia de contenidos, suponga acto de comparación o imitación desleal, o que resulte prohibido por la legislación vigente o atente contra los usos y costumbre que sean de general aceptación en internet. Sitios enlazados El HYPERLINK "http://www.prosmokiwi.com" www.prosmokiwi.com puede incluir dispositivos técnicos de enlace que permiten al usuario acceder a otras páginas. En estos casos, Prosmokiwi actúa como prestador de servicios de intermediación de conformidad con el artículo 17 de la Ley 34/2002, de 12 de julio, de Servicios de la Sociedad de la Información y el Comercio Electrónico y sólo será responsable de los contenidos y servicios suministrados en los sitios enlazados en la medida que tenga conocimiento efectivo de la ilicitud y no haya desactivado en enlace con la diligencia efectiva. Prosmokiwi no es conocedor de los contenidos y servicios de los Sitios enlazados, y por tanto, no se hace responsable de los daños producidos por la ilicitud, calidad, indisponibilidad, error de los mismos. Servicios de la empresa Prosmokiwi no garantiza que los distintos servicios detallados en esta página no queden interrumpidos por problemas técnicos, y no será responsable de los problemas que se pueda ocasionar al efecto. Prosmokiwi no será responsable de las consecuencias, daño o perjuicio que se deriven de la utilización de la información o acceso a la página. Prosmokiwi no garantiza que la información, texto, contenidos referidos en la web sean exactos. Aceptación de las condiciones generales El usuario se compromete a utilizar la página y los servicios detallados en ella de conformidad con los dispuesto en la Ley y estas Condiciones Generales, así como con la moral y buenas costumbres generalmente aceptadas y el orden público, respondiendo frente Prosmokiwi o terceros de cualesquiera daños y perjuicios que pudieran causarse como consecuencia del incumplimiento de dicha obligación.
www.PROSMOKIWI.com 89
Ricard Pros Morell Projecte Fi de Carrera
Capítol 7 – Avaluació
Mètodes d’avaluació de l’usabilitat
Existeixen molts mètodes dedicats a l‟avaluació de la usabilitat, aquests, es poden
classificar de diverses maneres. En aquest apartat veurem com fer-ho amb criteris
pràctics i amb la finalitat de mostrar els mètodes més rellevants.
Un cop acabat un prototip o una versió definitiva del lloc Web i ens disposem a millorar-
lo, sense cap dubte, la millor inversió de temps i rendiment consisteix en introduir
millores en la seva usabilitat.
Per això, farem una avaluació del nostre lloc amb la finalitat de detectar errades o
aspectes susceptibles de millora pel que fa referència al seu ús. No existeix cap lloc
Web, que surti a la xarxa, que no es pugui millorar d‟alguna manera. Inclús no es
d‟estranyar, que després de successives avaluacions i redissenys encara quedin
aspectes per millorar. La perfecció es un mite, però tot i així, podem marcar la
diferència.
A continuació es descriuen una sèrie de mètodes d‟avaluació molt útils i fàcils d‟utilitzar:
Avaluació automàtica:
Consisteix en l‟utilització de software que detecta problemes elementals, com per
exemple:
Tamanys absoluts de fonts i de taules
Format dels textes
Tamany de les pàgines
Temps de descàrrega
Enllaços trencats
Es poden trobar diversos recursos disponibles d‟aquest tipus com:
Web mètrics tools
www.PROSMOKIWI.com 90
Ricard Pros Morell Projecte Fi de Carrera
Doctor HTML
L‟avantatge principal d‟aquests programes, és la rapidesa, tot i que no detecta les
qüestions globals de la usabilitat, essent aquestes les més importants. Moltes de les
qüestions crucials només es poden detectar de forma “heurística” per un ésser humà
experimentat i després d‟un període prolongat d‟ús.
Avaluació guiada per directrius
Aquest altra forma d‟avaluació consisteix en considerar l‟adequació de les
característiques del lloc a partir d‟una llista de directrius o virtuts que ha de tenir un bon
lloc Web. Aquesta llista, no obstant, haurà de ser realitzada per persones amb un cert
grau d‟experiència sobre la usabilitat.
La llista més coneguda és la dels 10 heurístics de Nielsen [24], enumerats tot seguit a
títol il·lustratiu:
Visibilitat del estat del sistema
Aparellament entre el sistema i el món real
Control i llibertat de l‟usuari
Consistència i estàndards
Prevenció d‟errors
Reconeixement sobre record
Flexibilitat i eficiència d‟ús
Estètica i disseny minimalista
Ajudar a reconèixer, diagnosticar i solucionar errors
Ajuda i documentació
Com es pot observar, aquesta llista també es pot utilitzar com a guia de disseny.
www.PROSMOKIWI.com 91
Ricard Pros Morell Projecte Fi de Carrera
Avaluació amb usuaris
Aquest mètode és el més complexe pel que fa referència a la preparació, realització i
anàlisi, però tot i això, és el que proporciona els resultats més valuosos. Bàsicament es
tracta de prendre una mostra de subjectes, de 5 a 10, i demanar-los-hi que realitzin
diverses tasques.
En qualsevol prova d‟usuari cal registrar sempre dos aspectes, el rendiment i la opinió
del subjecte. El rendiment s‟observa amb la consecució de tasques i pel que fa a
l‟opinió, les millors tècniques per conèixer-la són el pensament en veu alta i l‟ús d‟un
qüestionari o una entrevista post prova.
En aquesta entrevista, els usuaris, acostumen a ser sensibles a aquest tipus de
qüestions:
Tens clar l‟objectiu del lloc?
Creus que les etiquetes del menú són prou descriptives?
La navegació es fàcil?
Creus que el tipus de llenguatge es adequat al públic?
Un cop hem aconseguit els objectius que ens marquen aquests mètodes d‟usabilitat,
podem dir, que la nostra aplicació, Web o software en general, es usable.
Mètodes d’avaluació de l’accessibilitat
Quan es desenvolupa o re dissenya un lloc Web, l‟avaluació de l‟accessibilitat tan bon
punt es comença i al llarg del desenvolupament, ens permet trobar problemes
d‟accessibilitat quan aquests es poden resoldre amb més facilitat. Tècniques senzilles,
com per exemple, canviar la configuració del navegador, poden determinar si una
pàgina Web compleix les pautes d‟accessibilitat. Una avaluació exhaustiva, per tal de
determinar el compliment de les pautes, és molt més complexa.
Existeixen una sèrie d‟eines que ajuden a realitzar avaluacions d‟accessibilitat.
www.PROSMOKIWI.com 92
Ricard Pros Morell Projecte Fi de Carrera
No obstant, cap d‟aquestes eines en si mateixa, pot determinar si un lloc compleix o no
les pautes d‟accessibilitat. Per tal de determinar-ho, al igual que en el cas de l‟avaluació
de la usabilitat, es necessària l‟avaluació humana.
El ja referenciat anteriorment W3C, ofereix a la seva pàgina el document “Avaluació
d‟Accessibilitat de llocs Web” que proporciona assessorament sobre les revisions
preliminars, utilitzant tècniques per a l‟avaluació de forma ràpida d‟alguns dels
problemes d‟accessibilitat que es poden presentar en un lloc Web. També proporciona
procediments generals i consells per a l‟avaluació i compliment de les pautes
d‟accessibilitat.
www.PROSMOKIWI.com 93
Ricard Pros Morell Projecte Fi de Carrera
Capítol 8 – Planificació i gestió del risc
Identificació i gestió del risc
Abans d‟enfrontar-se a la realització d‟un projecte cal identificar els possibles riscs als
que aquest està sotmès.
Que és el risc?
Risc és la possibilitat de patir pèrdues.
La pèrdua descriu l‟impacte en el projecte, que pot resultar en la disminució de
qualitat del producte, increment de cost, retard o fallides.
Casos de risc:
o Risc del projecte:
Aquest tipus de risc és directament proporcional a la mida del producte.
Identifica problemes de pressupost, de planificació temporal, de personal, de
recursos, del client i dels requeriments.
o Riscs tècnics:
Identifiquen problemes de disseny, d‟implementació, d‟interfície, de verificació
i de manteniment.
o Riscs de negoci:
Aquest risc posa en perill la viabilitat del software a desenvolupar i posen en
perill el projecte o el producte, es divideix en:
Risc de mercat: representen la construcció d‟un producte excel·lent,
però que realment no vol ningú.
Risc de gestió: seria conseqüència de la pèrdua dels gestors com a
conseqüència d‟un canvi d‟objectiu o de personal.
Risc de pressupost: venen donats per pèrdues pressupostàries o de
personal.
www.PROSMOKIWI.com 94
Ricard Pros Morell Projecte Fi de Carrera
Riscs que pot patir el nostre projecte:
o Risc del projecte:
Aquest és el risc més important al que ha estat exposat el projecte. És així,
degut a la falta d‟experiència tant a planificar projectes d„aquesta mida com
als llenguatges de programació utilitzats.
o Riscs tècnics:
És fan existents alhora del disseny de la interfície i de la forma d‟interacció
d‟aquest amb l‟usuari final, ja que no és tenia una idea molt definida.
o Riscs de negoci:
Aquest és un risc important a tenir en compte un cop entri en funcionament la
pàgina Web. Caldrà trobar la manera d‟introduir-se en el mercat per tal de
tirar endavant l‟objectiu principal, com és la venda de kiwis.
Planificació
La planificació d‟un projecte consisteix en realitzar una distribució anticipada de les
tasques a realitzar, detallant la durada de cadascuna de les tasques amb la seva data
d‟inici i de fi.
ID Tasca Durada (dies) Inici Fi
1 Recollida de requeriments 5 7/02/08 11/02/08
2 Planificació del projecte 4 19/02/08 22/02/08
3 Anàlisi de requeriments 5 3/03/08 7/03/08
4 Aprenentatge de les eines 3 15/03/08 17/03/08
5 Implementació i codificació 82 19/03/08 08/06/08
5.1 Fases de prova 5 04/06/08 08/06/08
www.PROSMOKIWI.com 95
Ricard Pros Morell Projecte Fi de Carrera
6 Realització de la memòria 12 02/06/08 13/06/08
6.1 Realització del manual d‟usuari 1 13/06/08 13/06/08
111 dies
A continuació, es mostra el “Diagrama de Gannt” que correspon a aquesta planificació:
Figura 21. Diagrama de Gannt de les primeres quatre tasques.
Figura 22. Diagrama de Gannt de les quatre darreres tasques.
La barra del diagrama sobre la implementació i codificació obvia l'interval de temps més
llarg per tal de que el diagrama quedi més reduït.
www.PROSMOKIWI.com 96
Ricard Pros Morell Projecte Fi de Carrera
Capítol 9 – Proves i validació del sistema
Introducció
Una de les parts més importants en el desenvolupament d‟un projecte software, és la
validació del sistema.
Aquesta validació es realitza mitjançant proves, que són un element crític per la garantia
de qualitat del software, i representa una revisió final en les fases d‟especificacions, de
disseny i de codificació.
L‟objectiu de les proves, és trobar errors, aquest és un fet fonamental per tal que les
proves tinguin èxit, així també com validar les especificacions i el rendiment del sistema.
L‟estratègia que s‟ha seguit per realitzar les proves en l‟aplicació es composa d‟un
seguit de proves que es comentaran en els següents apartats:
1. Proves d‟unitat.
2. Proves d‟integració.
3. Proves de validació.
4. Proves de sistema.
Proves d’unitat
Es verifica cada mòdul del sistema. S‟han executat tots els mòduls per veure si realment
tenen el comportament desitjat.
S‟han analitzat tots els camins independents, assegurant l‟execució de les sentències
de cada mòdul.
S‟ha provat l‟aplicació en situacions límit ja que el software normalment falla en
aquestes.
S‟han examinat les estructures de dades verificant que en tot moment aquestes es
mantenen íntegres.
www.PROSMOKIWI.com 97
Ricard Pros Morell Projecte Fi de Carrera
Proves d’integració
Tècnica sistemàtica per construir l‟estructura del programa, simultàniament es realitzen
proves per detectar errors amb la interacció.
Es tracta d‟una prova molt important, ja que pot succeir que mòduls de l‟aplicació tinguin
efectes negatius sobre altres, o que en la combinació de subfuncions no s‟obtingui la
funció principal que s‟espera.
Durant la implementació de l‟aplicació, la integració s‟ha realitzat de forma incremental,
provant per separat els mòduls i afegint-ne de nous a mesura que aquests estaven ben
construïts.
Proves de validació
Un cop finalitzada la integració de tot el sistema s‟han realitzat les proves de validació.
La validació consisteix en comprovar que l‟aplicació funciona d‟acord amb el que s‟havia
especificat en els requeriments.
Aquesta prova s‟ha dut a terme amb tres usuaris de característiques i coneixements
informàtics diferents. Els resultats han estat satisfactoris.
Proves de sistema
Aquesta està formada per varies proves:
Prova de recuperació: S‟ha forçat la caiguda del sistema i s‟ha avaluat la seva
recuperació, obtenint un bon resultat.
Prova de resistència: Avaluació del comportament del sistema en situacions extremes i
anormals amb volums de dades molt elevats. La resposta de l‟aplicació ha estat
satisfactòria.
Prova de rendiment: Aquesta prova està dissenyada per a provar el rendiment del
software en temps d‟execució dins d‟un sistema integrat.
www.PROSMOKIWI.com 98
Ricard Pros Morell Projecte Fi de Carrera
L‟aplicació ha estat provada en diferents sistemes i navegadors, obtenint uns resultats
satisfactoris.
www.PROSMOKIWI.com 99
Ricard Pros Morell Projecte Fi de Carrera
Capítol 10 – Conclusions i ampliacions
Conclusions
Un cop finalitzat el projecte s‟han pogut extreure les següents conclusions:
La pàgina Web aconsegueix transmetre al usuari senzillesa i confiança, essent el seu
ús fàcil, usable, i segur.
L‟usuari pot comprar kiwis, tot seleccionant el nombre de kilograms i el calibre, a un
preu per sota del establert en el mercat. Satisfent així, l‟objectiu principal de la pàgina.
Tot i que des d‟un principi el disseny del lloc ha estat el punt més conflictiu, finalment,
s‟ha dissenyat un entorn acollidor i atractiu per l‟usuari, amb una interfície molt intuïtiva.
Personalment haver realitzat aquest projecte m‟omple de satisfacció, no només per
haver fet així el projecte de final de carrera sinó també, per haver contribuït en el negoci
familiar, com és la producció i venda de fruites.
Finalment, cal dir, que en el desenvolupament d‟aquest projecte s‟han ficat en pràctica
bona part dels coneixements adquirits durant la carrera, fent-me veure, que l‟esforç que
m‟ha suposat aquesta, no ha estat en va.
Ampliacions
Les ampliacions a realitzar a curt termini són, per una banda, la traducció de tota la Web
a diferents idiomes com el castellà, portuguès, i francès, i per l‟altra, implementar el
sistema de pagament amb targeta de crèdit.
Un cop acabat aquest projecte, les possibilitats de disseny en altres projectes similars
són molt més extenses, havent adquirit, en la realització d‟aquest, una experiència que
de ben segur em serà útil en un futur. De la mateixa manera, l‟increment de la destresa
en els llenguatges de programació utilitzats em permetran ampliar aquest projecte i fer-
ne d‟altres sense gran dificultat.
www.PROSMOKIWI.com 100
Ricard Pros Morell Projecte Fi de Carrera
Bibliografia
[1] Nielsen, J. (1993). Usability Engineering. Academic Press Professional, Boston, MA
[2] Norman, D. (1990). The design of everyday things. Doubleday, Nueva York.
[3] International Standard (1998). ISO 9241-11. Guidance on usability.
http://www.usabilitynet.org/tools/r_international.htm#9241-11
[4] International Standard (2001). Software engineering – Product quality – Part 1
Quality model.
[5] Freeman, R.E. (1984). Strategic Management: A stakeholder approach. Pitman,
Boston.
[6] Nielsen, J.; Gilutz, S. (2003). Usability Return on Investment. Nielsen Norman Group.
Estudi disponible:
http://www.NNgroup.com/reports/roi
[7] Trenner, L.; Bawa, J. (1998). The Politics of Usability: a practical guide to designing
usable systems in industry. Springer Verlag.
[8] Donahue, G.M. (2001). Usability and the bottom line. IEEE Software, 18, 1, p.31-37.
[9] Mayhew, D. J.; Mantei, M. (1994). A basic Framework for Cost-justifying Usability
Engneering.
[10] Lund, A.M. (1997). Another approach to Justifying the cost of usability. ACM
Interactions, juny 1997.
[11] Nielsen, J. (2000). Design Web Usability: The Practice of Simplicity. New Riders
Publishing, Indianapolis.
[12] International Standard – Technical Specification – (2003). ISO/TS 16071.
Ergonomics of human-system interaction – Guidance on accessibility for human-
computer interfaces. Primera Edició 1-02-2003.
[13] Accessibilitat a la Web:
http://www.adicas.org/3/33/917/doc-1.htm
www.PROSMOKIWI.com 101
Ricard Pros Morell Projecte Fi de Carrera
http://www.sidar.org
http://www.gencat.net/
[14] Test d‟accessibilitat. WCAG 1.0.
http://www.w3.org/TR/WCAG10
[15] Organitzacions relacionades amb el disseny per a tots o Disseny Universal:
http://www.design4all.org
http://is4all.ics.forth.gr
http://www.designforall.org
[16] The Center for Universal Design (1997). The Principles of Universal Design. Versió
2.0. Raleigh, NC: North Carolina State University. Fundació SIDAR
[17] Lorés, J. (2002). Introducción a la Interacción Persona – Ordenador. Associació
Interacción Persona – Ordenador AIPO.
[18] Model de Procés de la Enginyeria de la usabilitat y de la accessibilitat. MPIu+a.
http://griho.udl.es/mpiua/mpiua/modelo.htm
[19] Pàgina oficial del creador de PHP/FI. Rasmus Lerdorf.
http://lerdorf.com/bio.php
[20] Història del llenguatge PHP. Andi Gutmans i Zeev Zuraski (1997).
mx.php.net/history
[21] Inicis del SQL. Donald Chamberlin.
http://www.almaden.ibm.com/cs/people/chamberlin/
[22] GNU/GPL. Llicències GPL.
http://www.gnu.org/licenses/licenses.es.html
[23] Protocol de comunicació SSL.
http://www.iec.csic.es/CRIPTonOMICon/ssl.html
[24] Nielsen, J.; Mack, R.L. (1994). Usability Inspection Methods. John Wiley & Sons,
New York, NY.
www.PROSMOKIWI.com 102
Ricard Pros Morell Projecte Fi de Carrera
Agraïments
En primer lloc vull agrair a la meva família tot el suport tan moral com econòmic que
m‟han donat durant aquests cinc anys.
També vull agrair a la Cris i al David les seves ajudes morals i a en Marc i l‟Alex les
ajudes de caràcter tècnic.
Per últim també donar les gràcies a la meva directora de projecte, Montserrat Serra.
Firma del autor:
www.PROSMOKIWI.com 104
Ricard Pros Morell Projecte Fi de Carrera
Benvinguts a l’ajuda de l’aplicació
Prosmokiwi és una pàgina Web dedicada a la venda de kiwis online.
Per a efectuar una compra, cal seguir els següents passos:
Registrar-se
Cal clicar al enllaç de la pàgina principal i omplir el següent formulari correctament:
Figura 1. Formulari de registre.
Un cop registrat, i enviada la sol·licitud, entri com a client introduint el seu nom d'usuari i
contrasenya.
Elecció dels productes
Utilitzant els desplegables de la zona de productes de la pàgina principal, confeccioni
una llista de la compra.
www.PROSMOKIWI.com 105
Ricard Pros Morell Projecte Fi de Carrera
Figura 2. Productes.
Els productes s‟afegiran al cistell situat a la part dreta de la pàgina. Tots els elements
del cistell es poden eliminar de forma individual clicant l‟icona en forma de paperera.
Figura 3. Cistell de l‟usuari.
www.PROSMOKIWI.com 106
Ricard Pros Morell Projecte Fi de Carrera
Finalitzi la compra
Clicant a l‟enllaç “Finalitzar compra” de la figura anterior s‟accedeix a una nova pàgina
on es mostra la compra realitzada, tenint en compte l‟Iva i el transport, així com l‟import
final. El transport és gratuït amb una compra igual o superior a 100€.
Des d‟aquesta mateixa pàgina cal seleccionar el sistema de pagament: a contra
reemborsament, amb transferència bancària o bé amb targeta de crèdit.
Figura 4. Compra realitzada i sistema de pagament.
Rebre els productes
Un cop finalitzada la compra, l'empresa es ficarà en contacte amb vostè per tal de
verificar les dades d'enviament. Finalment, rebrà els productes en el seu domicili.
Panell de l‟usuari
Un cop entri al sistema, aquest li donarà la benvinguda. Des del mateix mòdul podrà
canviar les seves dades, així com el nom d‟usuari i la seva contrasenya.
També podrà tancar la sessió un cop acabi la seva visita.
www.PROSMOKIWI.com 107
Ricard Pros Morell Projecte Fi de Carrera
Figura 5. Panell de l‟usuari.
A la pàgina de Prosmokiwi trobarà informació sobre l‟empresa, imatges de la finca,
receptes de cuina i enllaços interessants a altres pàgines.
També pot recomanar la pàgina a un altre usuari o contactar amb l‟empresa mitjançant
un formulari de contacte.
Si l‟usuari perd la seva contrasenya pot recuperar-la clicant a l‟enllaç “login perdut?” de
la pàgina principal.
Li donem la més cordial Benvinguda a la pàgina de Prosmokiwi, el kiwi més fresc i més
econòmic.