• No se han encontrado resultados

Aplicacions web per al treball col laboratiu

N/A
N/A
Protected

Academic year: 2021

Share "Aplicacions web per al treball col laboratiu"

Copied!
21
0
0

Texto completo

(1)

Aplicacions web per al treball col·laboratiu

Estudi d’eines informàtiques que donen suport al treball en grups virtuals

Albert Soldevila Carcel TFC – UOC (Juny 2012)

uXat

(2)

Índex

PLA DE TREBALL OBJECTIUS REQUISITS

EINES UTILITZADES

ESPECIFICACIÓ I ANÀLISI RESUM DE FUNCIONALITATS REQUERIMENTS NO FUNCIONALS DIAGRAMA CASOS D’US

MODEL ENTITAT RELACIÓ I MODEL RELACIONAL DE BBDD

IMPLEMENTACIÓ

ARQUITECTURA DEL PROJECTE MOTORXML

DAODINAMIC

CONCLUSIONS I VALORACIÓ PERSONAL

REFERÈNCIES

(3)

Pla de treball (Objectius)

¾ Primer de tot hem de reconèixer les necessitats de l’aplicació que volem realitzar per tal d’identificar el problema i poder identificar les tasques que podem automatitzar.

¾ Una vegada identificades les necessitats del projecte hem de realitzar un anàlisi dels requisits i dissenyar una bona arquitectura.

¾ Quan ens referim a dissenyar una bona arquitectura ens referim a desenvolupar un projecte amb el codi el més clar i llegible

possible.

(4)

Pla de treball (Objectius)

¾ Un altre dels punts que volem destacar es que els mòduls de

l’aplicació han de ser reutilitzables per tal que el projecte sigui el més eficient possible i s’eviti la duplicació de codi.

¾ Totes aquestes característiques descrites anteriorment, facilitaran el manteniment i els possibles evolutius/versions del projecte.

¾ Per últim realitzar una planificació basant-se en els punts descrits anteriorment i amb les tasques desglossades que haurien de

realitzar-se

(5)

Pla de treball (Requisits)

¾ Autenticació d’usuaris: Control de sessió

¾ Gestió d’usuaris (control i permisos): Es crearan tres perfils (Administrador, Moderador, Invitat)

¾ Xat web síncron

– Permetre una interacció fluïda mitjançant text síncron

– Incloure la foto de l’ informació personal en la finestra del xat – Totes les sessions i els missatges quedaran registrats al sistema

pel seu posterior anàlisi

¾ Històric de les converses: Totes les converses seran desades en fitxers per a la seva posterior manipulació/visualització

(6)

Pla de treball (Requisits)

¾ Estadístiques del sistema: El sistema obtenir estadístiques

¾ Multiidioma: Els idiomes del programa podran ser català, castellà i anglès, per defecte l’ idioma serà el castellà

¾ Motor XML: La seva finalitat serà que de forma automàtica el sistema sàpiga interpretar ordenar i generar un xml mitjançant un objecte qualsevol

¾ DaoDinamic: Realitzarà les operacions més comunes de BBDD (alta,baixa,modificació,consulta) només informant d’un objecte i la seva taula relacionada.

(7)

Pla de treball (Eines Utilitzades)

¾ Servidor web: Apache2, Tomcat 7

¾ Servidor de base de dades: Oracle 11g Database

¾ Traçador de logs: Log4j

¾ Framework de desenvolupament: Struts

¾ Llenguatge de programació orientat a objectes: Java 6.0

¾ Llenguatge de programació web: Jsp, Jquery (framework Ajax), Javascript, HTML, CSS

¾ Llenguatge de marques: XML (W3C)

¾ Màquina Virtual: Oracle VM VirtualBox amb Windows Server 2003 R2 x86

(8)

Pla de treball (Eines Utilitzades)

¾ Editor gràfic: Gimp, paint

¾ Diagrames: Magic Draw (UML), Visio, Project

¾ Editor PL/SQL: PL/SQL Developer

¾ Suport editor XML: Stylus Studio 2011 XML Enterprise

¾ Sistema Operatiu: Windows 7 x64

¾ Navegadors utilitzats: Google Chrome

¾ Ofimàtica: Microsoft Office 2007 ( Word, Excel, Powerpoint)

¾ Editors de programació: Eclipse Indigo IDE for Web Developers, HTTPWatcher i Firedebug (debugadors webs)

(9)

Especificació i anàlisi (Resum de funcionalitats)

¾ Autenticació d’usuaris: En el cas que l’usuari oblidi el seu password, hi haurà un mecanisme de recordatori de password.

¾ Gestió de permisos. Hi ha d’haver diferents rols dels usuaris, en el nostre cas (administrador, moderador i invitats)

¾ Pestanya gestió d’usuaris. Els administradors podran gestionar els usuaris (crear, modificar, eliminar) i assignar els usuaris a les diferents categories disponibles. Els moderadors només podran assignar usuaris a les categories de les seves aules.

(10)

Especificació i anàlisi (Resum de funcionalitats)

¾ Pestanya Meus Xats. Llistat de les sales autoritzades i disponibles amb els usuaris que estan disponibles a la sala. Una vegada

seleccionat el xat, l’usuari podrà intercanviar missatges amb els usuaris.

¾ Pestanya Gestió Xats. Els administradors i moderadors podran gestionar les sales i vincular els usuaris.

¾ Pestanya Estadístiques. Els administradors i moderadors podran obtenir estadístiques i gràfics amb les dades enregistrades que hi haurà al sistema.

(11)

Especificació i anàlisi

(Requeriments no funcionals)

¾ L’aplicació ha de ser:

‰ Fiable, robusta i eficient degut a que es tracta d’una aplicació que treballa en temps real

‰ Resistent a les possibles fallades, be siguin de connexió o bé pròpies del sistema gestionant-les d’una manera eficaç.

‰ També ha d’oferir una usabilitat i disseny intuïtiu i senzill al client, per tal que la interacció entre l’usuari i l’aplicació sigui el més fàcil possible sense operacions rebuscades ni difícils de trobar.

(12)

Especificació i anàlisi

(Model E/R i relacional de BBDD)

(13)

Implementació

(Arquitectura del projecte)

¾ Struts. Struts és una eina de suport per al desenvolupament d'aplicacions Web sota el patró MVC sota la plataforma Java EE (Java Enterprise Edition)

‰ Model Vista Controlador (MVC) és un patró d'arquitectura de programari que separa les dades d'una aplicació, la interfície d'usuari, i la lògica de negoci en tres components diferents

¾ Negoci: Proporciona els serveis necessaris per a la creació, consulta, eliminació o altres serveis relacionats amb l'entitat

específica d'una forma segura i eficient. El negocia actua com un intermediari entre les entitats i les dades.

(14)

Implementació

(Arquitectura del projecte)

¾ DTO (Data Transfer Object): El patró DTO s'ocupa de com s'intercanvien dades entre capes d'una aplicació multi-capa

¾ DAO (Data Access Object): El patró DAO s'ocupa per emmagatzemar i recollir dades d'una base de dades

¾ Bean: Un Bean es com una representació d'una taula de la base de dades en què els atributs és una representació de les columnes de la taula

(15)

Implementació

(Arquitectura del projecte)

(16)

Implementació (MotorXML)

(17)

Implementació(DaoDinamic)

DaoDinamic DaoPerfil<BeanPerfil>

Petició

BeanPerfil

public classBeanPerfil extendsBeanUxat{

privateString idPerfil;

privateString descripcion;

//Getter and Setters

….

DaoPerfil<BeanPerfil>

Public classDaoPerfil extends DaoDinamic<BeanPerfil> { publicDaoPerfil(NegDB gestorDB, Locale locale, Logger log4j)

throwsException {

super(gestorDB, locale, "PERFILS", log4j);

}

@Override

protected voidinitPropietatsJava() {

this.newPropietatJava("idPerfil", "id_perfil");

}

@Override

protected voidinitListCampsOrderBy() {

this.addCampOrderBy("descripcion", false);

}

Resposta Oracle

(BBDD)

Traducció Camps

<Java-Oracle>

BeanPerfil

(18)

Conclusions i valoració (Conclussió)

¾ Una bona recollida de prerequisits de l’aplicació permet una bona organització del projecte ja que es pot classificar d’una manera

clara i senzilla les tasques que es duran a terme durant el projecte

¾ Un bona arquitectura de projecte permet una fàcil reutilització de mòduls i la no duplicació de codi assolint un dels objectius del

programari “alta eficiència baix acoblament”.

¾ Una bona documentació en el codi facilita el poder localitzar possibles errors i entendre que fa cada mòdul de l’aplicació

¾ Utilitzant jQuery ens permet poder utilitzar una àmplia gamma de plugins que faciliten que l’aplicació pugui tenir més efectes visuals

(19)

Conclusions i valoració (Valoració personal)

¾ Ha estat una experiència molt engrescadora i de la qual estic molt satisfet. Al principi vaig veure que hi havia molts xats

“predissenyats” a la xarxa amb unes tecnologies determinades, però vaig decidir realitzar un xat amb unes altres tecnologies i amb una arquitectura de disseny molt personal.

¾ D’aquesta manera he pogut aplicar tots els coneixements adquirits durant els estudis ja que utilitzant xats “predissenyats” crec que la experiència no hagués estat gens enriquidora.

¾ Durant el TFC he pogut aprendre d’altres com per exemple utilitzar màquines virtual amb vmware, configurar servidors (apache i

tomcat), utilitzar layouts (per al disseny gràfic del xat mitjançant JqueryUI), etc.

(20)

Referències

¾ Apache HTTP Server Project [Apache Software Foundation]. http://httpd.apache.org/

¾ Apache Struts [Apache Software Foundation]. http://struts.apache.org

¾ Apache Tomcat [Apache Software Foundation] http://tomcat.apache.org/

¾ Oracle [Oracle Corporation]

http://www.oracle.com/es/products/database/index.html

¾ VMware [VMware Inc] http://www.vmware.com/

¾ Jquery [The jQuery Foundation]. http://www.jquery.com

¾ JqueryUI [The jQuery Foundation]. http://jqueryui.com/

¾ JQuery.validity [The jQuery Foundation] http://validity.thatscaptaintoyou.com/

¾ JQuery UI Layout Plug-in [Fabrizio Balliano & Kevin Dalman] http://layout.jquery- dev.net/

¾ JQuery.kolorpicker [Dual licensed under the MIT and GPL licenses.]

¾ JQuery.timer [Dual licensed under the MIT and GPL licenses.] http://plugins.jquery.com/project/Timer

¾ JQuery.tablesorter [Crhrstian Bach] http://tablesorter.com/docs/

(21)

Referències

¾ JqueryHighcharts [Highsoft Solutions]. http://www.highcharts.com/

¾ Java [Oracle Corporation]. http://www.oracle.com/es/technologies/java/index.html

¾ SQL [Oracle Corporation] http://www.oracle.com/technetwork/developer-tools/sql- developer/overview/index.html

¾ XML [World Wide Web Consortium (W3C)] http://www.w3schools.com/xml/

¾ Eclipse [The Eclipse Foundation] http://www.eclipse.org/

¾ Wikipedia [WikiMedia] http://es.wikipedia.org/wiki/Portada /

¾ Log4j [Apache Software Foundation], http://logging.apache.org/log4j/1.2/

Referencias

Documento similar

Jean de Hennin-Liétard, señor de Boussu, caballerizo mayor (premier etgrand écuyer) desde 1538.. y amigo íntimo del Emperador, fue imo de los compradores: en 1533 y en 1535, ordenó

Quan parlem de violència fills-pares ens referim a la relació problemàtica que es produeix entre els fills i els pares i que es caracteritza per la presència d’agressions i/o

Desde esa concepción, el Derecho es considerado como algo que puede ser completamente objetivado y observado sin ningún tipo de parti- cipación (puede ser casi «fotografiado»).

Al contrari del que passa en altres composicions de la Grècia arcaica, com per exemple les d’Hesíode, la Ilíada i l’Odissea s’obren amb proemis curts, que tenen en tots dos

Això és possible gràcies a la sensibilització de bona part del professorat a incorporar aquesta realitat en les seves assignatures i seminaris de treball, i

Elaborar la llista de requisits no consisteix a definir les funcionalitats que in- corporarà el producte o servei, sinó el que ha de fer per cobrir les necessitats que hem

Dissenyar, elaborar i defensar davant d’un tribunal un exercici original que consisteixi en un projecte integral de prevenció de riscos laborals de naturalesa professional en el qual

Dissenyar i desenvolupar projectes avançats de recerca aplicada en comunicació social i en gestió empresarial... Dissenyar i desenvolupar projectes avançats de recerca en