Informació general


Idiomes d'impartició


  • Català

Descripció


L'assignatura de Laboratori de Software 1 del tercer trimestre de segon curs, és la primera de les dos assignatures anomenades Laboratori de Software. La seva impartició està pensada en dedicar 1 ECTS a la part de teoria i 3 ECTS a practicar els conceptes exposats a teoria i els adquirits a la resta d’assignatures de primer i segon curs.

Aquesta assignatura serà la que introduirà la persistència d’objectes a base de dades relacionals utilitzant l’API JDBC, aprofundirà amb l’ús de l’API Swing de Java i introduirà els conceptes d’aplicacions client-servidor mitjançant l’ús del Framework GWT.

Resultats d'aprenentatge


En l'àmbit general, aquesta assignatura contribueix als següents resultats d'aprenentatge especificats per a la matèria a la qual pertany (Enginyeria del Software)

  • Utilitzar de forma apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats en les decisions de disseny.
  • Usar les eines d'un entorn de desenvolupament de programari per a crear i desenvolupar aplicacions.
  • Demostrar coneixement i saber aplicar les tècniques apropiades per a modelar i analitzar els diferents tipus de decisions.
  • Gestionar i resoldre els problemes i conflictes gràcies a la capacitat de generar alternatives o escenaris de futur convenientment analitzats, integrant els aspectes d'incertesa i els múltiples objectius a considerar.
  • Controlar versions i configuracions de projecte.
  • Controlar la qualitat i dissenyar proves en la producció de programari.
  • Definir i gestionar els requisits d'un sistema de software
  • Identificar tecnologies actuals i emergents i avaluar si són aplicables, i en quina mesura, per a satisfer les necessitats dels usuaris.
  • Comprendre i utilitzar eficaçment manuals, especificacions de productes i altra informació de caràcter tècnic escrita en anglès.
  • Planificar i utilitzar la informació necessària per a un treball acadèmic (per exemple, per al treball de final de grau) a partir d'una reflexió crítica sobre els recursos d'informació utilitzats. Gestionar la informació de manera competent, independent i autònoma. Avaluar la informació trobada i identificar les llacunes presents.
  • Garantir que els sistemes TIC d'una organització funcionen de forma adequada, són segurs i estan adequadament instal·lats, documentats, personalitzats, mantinguts, actualitzats i substituïts, i que les persones de l'organització reben un suport TIC correcte.
  • Dirigir, planificar i coordinar la gestió de la infraestructura informàtica: maquinari, programari, xarxes i comunicacions.

A un nivell més concret, en acabar l’assignatura l’estudiant o estudianta ha de ser capaç de:

  • RA1: Conèixer les fases d'un projecte de programació.
  • RA2: Aplicar els principis del disseny orientat a objectes.
  • RA3: Implementar programes amb interfície gràfica per l'usuari en entorn escriptori.
  • RA4: Implementar programes per entorn web.
  • RA5: Persistir objectes a bases de dades relacionals mitjançant l'ús del JDBC.
  • RA6: Entendre els criteris de qualitat dels programes.
  • RA7: Desenvolupar projectes de programació en equip.
  • RA8: Controlar les versions del projecte

Metodologia de treball


En aquesta assignatura només unes quantes sessions estaran dedicades preferentment a introduir els conceptes bàsics de les interfícies de l’usuari en Java, la persistència en JDBC i el desenvolupament web d’aplicacions, mostrant la seva aplicació amb exercicis resolts pel docent. Es recomana que abans de cada sessió els estudiants es  llegeixin el  material publicat a  la  plataforma virtual.

La majoria de sessions seran per desenvolupar el software proposat en l’enunciat de la pràctica, es farà en grups reduïts (entre 3 i 5 estudiants) i caldrà aplicar els coneixements adquirits en els 3 blocs de l’assignatura a més dels coneixements de les assignatures de programació, bases de dades i d’enginyeria del software. En aquestes sessions es donaran les eines escaients per a desenvolupar el software proposat però s'espera que aquestes s'allarguin des del punt de vista temporal, més enllà de les hores de laboratori i que, en conseqüència, els estudiants les hagin de finalitzar durant el temps d'aprenentatge autònom.

 

Normes de realització de les activitats

Per a cada activitat, els docents informaran de les normes i condicions particulars que les regeixin.

Les  activitats unipersonals pressuposen el  compromís de  l'estudiant de  realitzar-les de  manera individual. Es consideraran suspeses totes aquelles activitats en què l'estudiant no s'ajusti a aquest compromís, independentment del seu paper (origen o destí).

Igualment, les activitats que s'hagin de realitzar en grups pressuposen el compromís per part dels estudiants que l'integren de realitzar-les en el si del grup. Es consideraran suspeses totes aquelles activitat en què el grup no hagi respectat aquest compromís amb independència del seu paper (origen o destí).

En  les  activitats  realitzades  en  grup  el  docent  pot,  en  base  a  la  informació  de  què  disposi, personalitzar la qualificació per a cada integrant del grup.

Qualsevol activitat no lliurada es considerarà puntuada amb zero punts.

És potestatiu dels docents acceptar o no lliuraments fora dels terminis que s'indiquin. En el cas que aquests lliuraments fora de  termini s'acceptin, és  potestatiu del  docent decidir si  aplica  alguna penalització i la quantia d'aquesta.

Continguts


1. Conceptes bàsics de disseny d'interfícies en Java

Tipus d'entrada i sortida. Principis de comunicació amb interlocutors humans. Presentació d'informació, entrada i validació de dades, navegació, nivells d'ajut, models d'usuari. Construcció d'interfícies gràfiques en Java.

2. Persistència d'objectes Java a base de dades relacionals

Ús de l'API JDBC, explicant les diferents formes de connexió (drivers) i la part programàtica 100% Java.

3. Conceptes bàsics d’aplicacions web

Es tracta d’introduir els conceptes necessaris per a poder desenvolupar una petita aplicació software per entorn web.

 

 

Activitats d'aprenentatge


PRIMERA PART DEL PROJECTE EN GRUP

Especificar, analitzar i dissenyar la base de dades de l'enunciat del projecte en grup.

Caldrà lliurar, en format electrònic, l’enunciat ampliat, casos d'us, requisits no funcionals, diagrama UML de classes del domini, diagrama de context, disseny de la base de dades i dedicació de cada membre del grup al projecte.

Ponderació: 14% de la nota final.

Objectius específics: En finalitzar l'activitat els estudiants han de ser capaços de:

  • Conèixer les fases d'un projecte de programació.
  • Aplicar els principis del disseny orientat a objectes.
  • Entendre els criteris de qualitat dels programes.
  • Desenvolupar projectes de programació en equip.
  • Controlar les versions del projecte

SEGON PART DEL PROJECTE EN GRUP

Disseny,  implementació modus escriptori i implementació de la base de dades de l’enunciat del projecte en grup.

Caldrà lliurar el projecte Eclipse amb la implementació,  diagrames UML del disseny i dedicació de cada membre del grup al projecte.

Ponderació: 20% de la nota final.

Objectius específics: En finalitzar l'activitat els estudiants han de ser capaços de:

  • Conèixer les fases d'un projecte de programació.
  • Aplicar els principis del disseny orientat a objectes.
  • Implementar programes amb interfície gràfica per l'usuari en entorn escriptori.
  • Persistir objectes a bases de dades relacionals mitjançant l'ús del JDBC.
  • Entendre els criteris de qualitat dels programes.
  • Desenvolupar projectes de programació en equip.
  • Controlar les versions del projecte

TERCERA PART DEL PROJECTE EN GRUP

Disseny,  implementació modus web de l’enunciat del projecte en grup.

Caldrà lliurar el projecte amb la implementació per entorn web,  diagrames UML del disseny de les planes web i dedicació de cada membre del grup al projecte.

Ponderació: 16% de la nota final.

Objectius específics: En finalitzar l'activitat els estudiants han de ser capaços de:

  • Conèixer les fases d'un projecte de programació.
  • Aplicar els principis del disseny orientat a objectes.
  • Implementar programes per entorn web.
  • Entendre els criteris de qualitat dels programes.
  • Desenvolupar projectes de programació en equip.
  • Controlar les versions del projecte

 

Prova 1

Prova individual eminentment pràctica del blocs 1, 2 i 3.

Caldrà lliurar la resolució de la prova.

Aquesta prova representa el 50% de la qualificació final de l'assignatura.

Objectius específics: L'objectiu d'aquesta activitat és avaluar si l’estudiant sap:

  • Aplicar els principis del disseny orientat a objectes.
  • Implementar programes amb interfície gràfica per l'usuari i web.
  • Persistir objectes a bases de dades relacionals mitjançant l'ús del JDBC.

Per tal de superar (aprovar) les activitats avaluatives, els estudiants hauran de demostrar

  • Que han adquirit els coneixements teòrics relatius als continguts de l’assignatura i que la seva comprensió els permet de portar-los a la pràctica [MECES-2 punt a, punt c]
  • Que poden desenvolupar solucions a problemes que, si bé són semblants a d’altres vistos anteriorment, presenten aspectes que són nous [MECES2 punt f]

A continuació s'expliciten els aspectes més importants de cada competència assignada a l'assignatura:

  • B2: Aplicar els coneixements de forma professional
  • B4: Transmetre informació, idees, problemes i solucions a un públic divers
  • B5: Tenir autonomia en l'aprenentatge
  • EFB4: Coneixements sobre programació de computadors i bases de dades
  • CIN1: Desenvolupar programari assegurant la seva seguretat i qualitat conforme principis ètic
  • CIN2: Planificar projectes informàtics
  • CIN3: Negociar i comunicar problemes i solucions dins del grup de treball
  • CIN4: Elaborar un pleg de condicions tècniques
  • CIN5: Administració i manteniment d'aplicacions informàtiques
  • CIN8: Analitzar, dissenyar i construir aplicacions de forma robusta, segura i eficient
  • CIN12: Ús adequat de les bases de dades
  • CIN13: Accés a sistemes d'informació basats en web
  • CIN16: Aplicació dels principis i metodologies de l'enginyeria del software
  • CIN17: Dissenyar i avaluar interfícies persona computador accessibles i usables
  • EIS1: Desenvolupar sistemes software que satisfacin els requisits de l'usuari
  • EIS2: Entendre les necessitats del client i especificar els requisits software
  • EIS3: Solucionar problemes d'integració usant les tecnologies disponibles
  • EIS4: Identificar i solucionar problemes software tot documentant-los
  • T1: Llegir i comprendre manuals tècnics en anglès
  • T2: Treballar en equip

Sistema d'avaluació


La nota final es calcularà amb les qualificacions de les activitats ponderades de la forma següent:

· Prova 1: 50%

. Primer lliurament del projecte en grup 14%.

· Segon lliurament del projecte en grup 20%.

· Tercer lliurament del projecte en grup 16%.

Només podrà recuperar-se la prova 1 (el projecte en grup no es podrà recuperar). El 50% de la nota final de l’assignatura serà la més gran entre la prova de recuperació i  l’obtinguda en la prova 1.

Per poder realitzar la prova de recuperació l’estudiant haurà de complir les tres condicions següents:

. La nota de l’assignatura és inferior a cinc.

. La nota de la prova 1 és superior a 3.

. La nota que ha obtingut de la pràctica de grup és superior a 3.

Bibliografia


Bàsica

Larman, Crai; Moros Valle, Begoñ. UML y patrones : una introducción al análisis y diseño orientado a objetos y al proceso unificado. 2ª ed. Madrid [etc.]: Prentice Hall, cop. 200. ISBN 9788420534381.

Pressman, Roger S. Ingeniería del software: un enfoque práctico. 7e. McGraw-Hill, 2010. ISBN 9786071503145.


Complementària

Bolaños Alonso, Danie; Sierra Alonso, Almuden; Alarcón Rodríguez, Miren Idoi. Pruebas de software y JUnit : un análisis en profundidad y ejemplos prácticos.Madrid: Pearson, cop. 200. ISBN 9788483223543.

Martin, Robert C.. UML para programadores Java. 1a.Pearson, 2004. ISBN 9788420541099.