You are on page 1of 10

Generalitat de Catalunya

Departament d’Educació
Institut Obert de Catalunya
Nom i cognoms

CFGS Desenvolupament d'Aplicacions Multiplataforma (DAM)


CFGS Desenvolupament d'Aplicacions Web (DAW)

Mòdul 5 – Entorns de Desenvolupament

UF1 – Desenvolupament de programari

EAC2
(Curs 2022–23 / 1r semestre)

Presentació i resultats d'aprenentatge

Aquest exercici d'avaluació contínua (EAC) dona resposta als resultats d'aprenentatge (RA) de la UF1,
Desenvolupament de programari:

 Reconèixer els elements i les eines que intervenen en el desenvolupament d'un programa
informàtic , analitzant les seves característiques i les fases en què actuen fins arribar a la seva posada en
funcionament.
 Avaluar entorns de desenvolupament integrat analitzant les seves característiques per editar codi
font i generar executable.

Criteris d’avaluació

La puntuació màxima assignada a cada activitat s’indica a l’enunciat.

Els criteris que es tindran en compte per avaluar el treball de l’alumnat són els següents:

 Exactitud a les respostes a les preguntes objectives.


 Robustesa, claredat i llegibilitat en el codi generat.

Forma i data de lliurament

Per respondre les qüestions heu d’utilitzar aquest mateix fitxer. Elimineu els apartats Presentació i resultats
d'aprenentatge, Criteris d’avaluació i Forma i data de lliurament.

Un cop finalitzat l’exercici d’avaluació continuada heu d’enviar el document des de l'apartat M5 Lliurament
EAC2 de l'aula, dins del termini establert. Tingueu en compte que el sistema no permetrà fer lliuraments
després de la data i hora indicades.

El nom del fitxer comprimit serà el següent: DA2_M05_EAC2_Cognom1_Inicial del cognom2.zip. Els
cognoms s’escriuran sense accents. Per exemple, l’estudiant Joan García Santos posaria el següent nom al
seu fitxer de l’EAC2: DA2_M05_EAC2_Garcia_S.zip.

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 1 de 10

Lliurament:
Versió: 03 DA2_M05_EAC2_Enunciat_2122S2
05/05/2022
Formació professional
Nom i cognoms

Substituïu Nom i cognoms de la capçalera per les vostres dades personals.


El termini de lliurament finalitza a les 23:55 h del dia 08/11/2022. La proposta de solució i les qualificacions
de l’EAC es publicaran els dies 09/11/2022 i 18/11/2022 respectivament.
Enunciat

Per publicar la solució del primer apartat heu d’utilitzar aquest mateix model, eliminant els apartats
Presentació i resultats d'aprenentatge, Criteris d’avaluació i Forma i data de lliurament i tot l'apartat 2 i
substituint Enunciat per Solució. Substituïu Nom i cognoms de la capçalera per les vostres dades
personals i doneu-li el nom DA2_M05_EAC2_Cognom1_Inicial del cognom2.odt Un cop fets aquests
canvis i omplertes les respostes, heu d’afegir el document resultant al fitxer comprimit que s’especifica en
l’apartat «Forma i data de lliurament».

Apartat 1: Desenvolupament de programari (3 punts)

Responeu les següents preguntes tipus test a la taula del final de l'apartat (als requadres blaus). L'exercici
consta de 15 preguntes referides al primer apartat del material. Totes les preguntes compten igual (1/5
punts). Cada resposta equivocada resta 1/15 punts.

PREGUNTES

1. La definició de programa informàtic és:


a. Un llenguatge informàtic utilitzat per a controlar el comportament d'una màquina que té una
sèrie de regles sintàctiques i semàntiques.
b. Un seguit d’ordres que s’executen una darrera de l’altra aplicades sobre un conjunt de
dades.
c. Allò que s’executa quan iniciem el PC.
d. Totes les anteriors són correctes.

2. El codi assemblador té aquest aspecte (podeu ajudar-vos buscant exemples en llenguatge assemblador a
Internet):
a. MOV al, 061h
b. 10101001000001101100110 10100101011100001110111
c. while (true)
d. No es pot representar

3. El procés en el qual se separen les propietats més importants d’un objecte de les que no ho són
s’anomena...
a. encapsulació
b. jerarquia
c. modularitat
d. abstracció

4. Un editor de text simple és aquell que permet escriure-hi només text sense format. N’és un exemple:
a. GoogleDocs
b. Gedit
c. Word
d. WordPerfect

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 2 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

5. Quina de les següents afirmacions sobre la màquina virtual Java (JVM) NO és correcta:
a. La JVM és l’entorn en què s’executen els programes Java.
b. La JVM és l’encarregada, quan s’executa l’aplicació, de convertir el codi de bytes a codi
natiu de la plataforma física.
c. La JVM es situa en un nivell superior al maquinari sobre el qual es vol executar l’aplicació.
d. El gran desavantatge de la JVM és que impossibilita la portabilitat de l’aplicació entre
diferents plataformes.

6. Un objecte en POO està format per:


a. herències i mètodes.
b. atributs i mètodes.
c. variables i fórmules.
d. atributs i herències

7. Digueu quin d’aquests llenguatges de programació correspon a un llenguatge de segona generació:


a. Assemblador
b. Java
c. ASP
d. Prolog

8. Necessitem afegir una funcionalitat al nostre IDE. És possible que puguem aconseguir-la amb un/a
a. app
b. workbench
c. plugin
d. altre IDE

9. El teorema de l’estructura demostra que tot programa es pot escriure utilitzant les tres estructures
bàsiques de control:
a. Seqüència, condició i bucles
b. Seqüència, selecció i iteració
c. Seqüència, selecció i bucles
d. Condició, selecció i iteració

10. Entre les classes Cos i Braç,on sense existència d’un objecte de la classe Cos no poden existir objectes
de la classe Braç, quina mena de jerarquia es pot definir?
a. Agregació
b. Composició
c. Sobreescriptura
d. Herència.

11. Completeu la següent expressió: paradigma imperatiu/...


a. estructurat
b. d’objectes
c. funcional
d. lògic

12. Entre les classes Gos i PastorAlemany, que és un tipus de Gos, podem definir una jerarquia de
a. herència
b. agregació
c. encapsulació
d. sobrecàrrega

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 3 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

13. La classe Alumne té definits els mètodes modifAdreca(String carrer) i modifAdreca(String carrer, String
Poblacio). Què hi ha entre aquests mètodes?
a. Sobreescriptura
b. Sobrecàrrega
c. Herència
d. Cap de les anteriors

14. La classe Gallina és classe filla de la classe Au. La classe Au té definit el mètode posarOus(int x). La
classe Gallina defineix el mètode posarOus(int x) Què hi ha entre aquests mètodes?
a. Sobreescriptura
b. Sobrecàrrega
c. Herència
d. Agregació.

15. Quina de les següents fases no formaria part de les cinc fases principals de la metodologia Mètrica v3.0:
a. Estudi de viabilitat del sistema.
b. Implantació i acceptació del sistema.
c. Disseny del sistema d’informació.
d. Revisió del sistema d’informació.

RESPOSTES

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 4 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

Apartat 2: Instal·lació i ús d'entorns de desenvolupament (7 punts)

Ajuts:
· A la carpeta Material complementari UF1 de l’aula trobareu vídeos i documents .pdf on es mostra la
descàrrega i instal·lació d’Eclipse, la instal·lació de WindowBuilder, del servidor Tomcat i com treballar
amb aquestes eines.
· Si a l’entorn us falta alguna finestra, podeu obrir-la des del menú Window, opció Show view.

16. (5 punts) Amb l'entorn Eclipse, realitzeu una aplicació d'escriptori independent en Java amb interfície
gràfica (de finestres) que simuli el càlcul del preu d’una mensualitat d’una hipoteca. La pantalla a l'inici
tindrà el següent aspecte:

Com podeu veure, la pantalla està dividida en quatre blocs o parts: la superior «Dades Habitatge»,
inicialment activada, la segona «Dades Hipoteca», inicialment desactivada i la inferior,«Alertes», que
contindrà un camp de tipus text (a la imatge es veu com un requadre gris llarg), que servirà per notificar per
pantalla els errors que es produeixin en les validacions dels camps d’entrada. Cal tenir en compte que el

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 5 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

contingut d’aquest camp s’ha d’anar actualitzant o esborrant depenent de si volem o no informar d’algun
error en aquell moment.

El funcionament és el següent:

✔ Primer s’introduiran les següents dades: a la caixa «Preu habitatge» s’introduirà el preu sense
impostos del pis/casa/... a adquirir. A la caixa «Estalvis aportats» s’escriurà la quantitat que ja tenen
estalviada els compradors. En el primer camp combo, «Tipus Residència», es seleccionarà un dels 2
valors possibles (habitatge habitual o segona residència).
✔ Quan es prem el botó «Acceptar»:

✔ Si hi ha alguna errada a les dades, es selecciona tot el quadre de text que conté aquesta dada, es
fa que guanyi el focus, es mostra l’error al quadre de text llarg del final i no es realitza cap acció
més. S’ha de tenir en compte que totes les dades són obligatòries i que els estalvis aportats han
de ser del 20% del preu de l’habitatge com a mínim.
✔ En cas contrari, quan la validació és correcta, es deshabiliten tots els camps i botons de la part
superior (secció/bloc Dades Habitatge) i s'habilita de la secció «Dades Hipoteca» ; aquesta inclou:
el combo «Bonificacions», els camps de text «Edat Client», «Anys Hipoteca» i «Euríbor actual», i
els botons «Restablir» i «CALCULAR». La resta de caixes d’aquest bloc no són editables, serviran
per a mostrar els resultats dels càlculs. Al combo «Bonificacions» hi haurà 4 valors possibles:
funcionari, menor de 35 anys, col·lectius especials, cap. Només se’n pot seleccionar una (si n’hi
ha més d’una, la que consideri més avantatjosa).
✔ Seguidament, l’usuari selecciona al combo «Bonificacions» , si en pot rebre alguna, i introdueix les
dades requerides a la resta de camps: l’edat del client, de quants anys vol la hipoteca i a quant està
l'Euríbor actualment.
✔ Quan es prem el botó «CALCULAR»:

◦ Es comprova que el valor del camp «Bonificacions» estigui informat amb un valor vàlid
(identificat en un paràgraf anterior). En cas que no s’hagi seleccionat res al combo o la dada
sigui incorrecta, el camp «Bonificacions» guanya el focus i al quadre de text llarg del final es
mostra l'error corresponent.
◦ Es comprova els anys d’hipoteca, si és habitatge habitual el màxim serà 30 anys, mentre que si
és segona residència el màxim són 25 anys. També s’ha de tenir en compte que l’edat del client
sumada als anys d’hipoteca sigui igual o inferior als 75 anys. En cas que no s’hagin acomplert
aquestes condicions o no s’hagi informat la dada, el camp «Anys hipoteca» guanya el focus i al
quadre de text llarg del final es mostra l'error corresponent.
◦ Es comprova que l'Euríbor sigui un valor vàlid (numèric, pot ser negatiu o positiu i pot tenir
decimals). En cas que no hi hagi cap valor o aquest sigui incorrecte, el camp «Euribor actual»
guanya el focus i al quadre de text llarg del final es mostra l'error corresponent.
◦ Si hi ha algun error a algun camp, els càlculs no es realitzaran i, com ja s’ha dit, la dada
incorrecta guanyarà el focus i es mostrarà l’error al quadre de les Alertes.
✔ Si les dades entrades són correctes, es calculen les dades de sortida:
◦ Primerament es tindrà en compte els descomptes que pot tenir la hipoteca:

Funcionari : -1%
Menors de 35 anys: -0,5%
Col·lectius especials: -0,75%
Cap: no es modifica l’interès (-0%)

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 6 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

◦ Seguidament, es tindran en compte els preus de les diferents hipoteques (els descomptes es
restaran a aquests interessos):
Fixa sense bonificar → interès del 2,95%
Fixa bonificada → interès del 2,55%
Variable sense bonificar → interès del 1,24% més Euríbor
Variable bonificada → interès del 0,6% més Euríbor

És a dir, si per exemple marquem que és una hipoteca variable bonificada, amb un euríbor del 1,75% i
la està demanant un funcionari, el càlcul de l’interès seria: 0,6+1,75-1= 1,35%

Per calcular el valor de cada mensualitat farem servir la fórmula:

i n t e r è s −( a n y s * 12)
1−( 1+ )
12
a=
( inter ès
12 )
(Preu habitatge− Estalvis)
mensualitat=
a

✔ Si l’usuari prem el botó de «Restablir», es podrà tornar a iniciar la configuració dels paràmetres del
càlcul, habilitar camps i botons de la part superior possibilitant l’opció de reintroduir valors a la part
superior i inhabilitant i esborrant el contingut dels camps i botons de la part del mig.

Un cop acabat l'exercici, comprimiu la carpeta src del vostre projecte en un fitxer que s'anomenarà
exercici16.zip i adjunteu-la al fitxer comprimit que s'indica a l'apartat "Forma i data de lliurament".

RESTRICCIONS:
• Cal posar un text d'ajut (tooltip) a cada quadre de text editable amb informació sobre quina dada ha
d'entrar l'usuari a cadascun.
• Cal utilitzar el component WindowBuilder Pro amb components SWT. S'ha d'evitar l'ús de Swing.
• No pot utilitzar-se cap altra biblioteca (a part de les estàndard de Java i les pròpies del component
esmentat al punt anterior).

AJUTS:

A) Recordeu que a la carpeta Material complementari UF1 teniu un grapat de recursos que poden
ajudar-vos. A més, podeu trobar un exemple d’aplicació realitzada amb WindowBuilder a l’apartat
2.4.22. del material: Exemple d’utilització d’Eclipse: "projecte Calculadora".

B) Convé que declareu els diferents controls com a dades membre de la classe (i no com a variables
locals del mètode que els crea i inicialitza). Dues maneres d’aconseguir que es generin així són:

• Anar a Windows ─► Preferences ─► WindowBuilder ─► Code Generation i seleccionar Field a


Default code generation settings. Això hauria de fer que els controls es generessin com a
membres de la classe.

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 7 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

• El segon mètode és per a passar a membre de la classe un control que, pel motiu que sigui, s'hagi
declarat com a variable local: a la pestanya de Design de la nostra classe, cal seleccionar (amb
un clic) el control que volem declarar a fora i, a la finestra de les seves propietats, fer clic a la
icona (convert local to field). Aquesta icona només apareix si la variable és local. No la
confoneu amb “convert field to local”, que és igual, però, amb la fletxa al revés; aquesta segona
apareix quan el control ja és un membre de la classe.

C) Cal que tingueu en compte les següents propietats (la majoria són aplicables a diferents controls):
• Editable (quadres de text): editable
• Text d'ajut: toolTipText.
• Text: text (mètodes getText i setText).
• Habilitat: enabled (mètodes getEnabled i setEnabled).

D) Si volem seleccionar tot el contingut d'un quadre de text i fer que guanyi el focus, l’objecte que
representa aquest quadre de text ha de cridar als seus mètodes setFocus() i selectAll(), un rere
l'altre. El primer li fa guanyar el focus i el segon selecciona tot el quadre.

E) El component combo:
▪ S’ha d’omplir amb un array d’String mitjançant el mètode setItems().
▪ Té el mètode getSelectionIndex(), que permet consultar l’índex seleccionat.
▪ Té el mètode getItemCount(), que serveix per a obtenir el nombre de valors que conté l’array del
combo.
F) Veureu que el propi entorn s'encarrega de crear i posar a un lloc adequat la classe
org.eclipse.wb.swt.SWTResourceManager si és necessari. També s'encarrega d'afegir les
biblioteques necessàries i de fer els import que calen.

G) Podeu trobar els javadoc dels diferents controls SWT en aquesta adreça:
https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi
%2Findex.html.
És especialment útil el que correspon al paquet org.eclipse.swt.widgets:
https://help.eclipse.org/latest/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/
package-summary.html.

17. (2 punts) La finalitat d'aquesta activitat és que utilitzeu l'entorn de desenvolupament per treballar amb
una aplicació client-servidor, fent ús en aquest cas d’un servlet. En aquest moment no és important que
aprofundiu en el funcionament dels servlet.

Per tant, cal que utilitzeu l'entorn Eclipse amb el servidor d'aplicacions Apache Tomcat per a realitzar una
aplicació serlvet que faci exactament el mateix que l'activitat anomenada 'Servlet' del material (és la segona
del segon apartat; la podeu trobar en aquest enllaç). En la mateixa activitat podeu trobar la solució pas a
pas, però no està actualitzada amb l’última versió d’Apache Tomcat. Per tant, haureu de seguir els passos
indicats al document DA2_M05_Exemple_Servlet.pdf de la carpeta de l’aula Material complementari UF1. A la
mateixa carpeta podeu trobar un vídeo que us mostra com instal·lar i començar a treballar amb el servidor
Apache Tomcat.

Podeu utilitzar el mateix codi que apareix a DA2_M05_Exemple_Servlet.pdf, tant pel que fa a la pàgina
HTML com pel que fa al propi servlet, com pel fitxer web.xml. Només heu de canviar el que calgui per a què
la classe amb el servlet s'anomeni eac2_web.ServletFormulariEntrada (és a dir, es dirà
ServletFormulariEntrada i estarà definida al paquet eac2_web).

Quan ja us funcioni la pàgina web, realitzeu una captura de pantalla similar a la que segueix, però posant
les vostres dades personals al formulari i graveu-la en un fitxer anomenat exercici17.jpg.

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 8 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

Un cop acabat l'exercici, comprimiu aquest fitxer gràfic (exercici17.jpg) juntament amb la carpeta src del
vostre projecte en un fitxer que s'anomenarà exercici17.zip i adjunteu-lo al fitxer comprimit que s'indica a
l'apartat "Forma i data de lliurament". Assegureu-vos que la carpeta src inclou la carpeta webapp (amb la
carpeta webapp i els fitxers web.xml i FormulariEntrada.html a dins).

AJUTS:

És possible fer les proves amb un navegador extern en cas de tenir problemes amb el que que porta integrat
l'entorn Eclipse. En aquest navegador extern probablement us serà més fàcil trobar els errors HTTP.

Si sospiteu que el servidor Apache Tomcat no té en compte els canvis que heu realitzat a l'aplicació,
recompileu l'aplicació havent netejat abans tots els fitxers que es generen (Project -> Clear).

Podeu crear el projecte des d'Eclipse de la següent forma (si seguiu la documentació que se us ha indicat,
segurament no us caldran aquestes indicacions):

• File ─► new ─► Project ─► Web ─► DinamicWebProject

• Crear el servlet. File ─► new ─► Servlet.

• Si teniu algun problema amb les biblioteques, us el pot solucionar fer el següent: al projecte d'Eclipse:

anar a propietats ─►Java Build Path ─► libraries ─► addExternals Jars i posar el fitxer servlet-api.jar
de la carpeta del Tomcat/lib.
• Crear el fitxer web.xml al projecte en el directori : src/main/webapp/WEB-INF/web.xml
• Configurar a l'entorn el servidor Apache Tomcat. A l' l'apartat 2.2.6. del material podeu veure com es fa.

Podeu treballar des de consola de la següent forma (no és necessari fer-ho):

• Afegir a la variable CLASSPATH el fitxer servlet-api.jar que hi ha al directori lib de la instal·lació del
servidor Apache Tomcat.
• Afegir, si no hi és, a la variable PATH el directori on hi ha el fitxer javac.exe.

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 9 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021
Formació professional
Nom i cognoms

• Obrir aleshores una consola per compilar el codi.


• Podeu posar la pàgina HTML en el directori apache-tomcat-10.x.xx\webapps\examples*
• i el Servlet a apache-tomcat-10.x.xx\webapps\examples\WEB-INF\classes

*El nom de la carpeta pot no ser exactament el mateix, ja que varia amb la versió del servidor que utilitzeu. x.xx
significa el número exacte de la versió 10 que teniu instal·lada.

Codi: I71 Exercici d'avaluació contínua 2 Pàgina 10 de 10

Lliurament:
Versió: 03 DA2_M05_EAF2_Enunciat_2122S1
15/11/2021

You might also like