<div class="page">
<div class="cover text-center">
<img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo">
# Programació didàctica
<h2 class="skip-counter">0487 - Entorns de Desenvolupament</h2>
<h2 class="skip-counter">Cicle formatiu: Desenvolupament d'Aplicacions Multiplataforma</h2>
<div class="text-end fit-content ms-auto my-3 mt-auto pt-3">
<p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p>
<p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p>
<p><strong>Curs:</strong> 2023/2024</p>
</div>
<div>
<p class="fw-bold mb-0">Llicència: BY-NC-SA</p>
<p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank">
<img class="mx-auto" src="/itb/images/license.png" alt="Licence"/>
</a>
</div><!--license-->
</div><!--cover-->
</div><!--page-->
<h5>Control de versions</h5>
| Versions ||
| - | - |
| 06/09/2022 | Elaboració document |
| 22/03/2023 | Modificació de les unitats del 3r trimestre |
| 12/09/2023 | Adaptació programació al curs 23/24 |
---
{:toc}
## Propostes de millora del curs anterior
Respecte a les següents propostes de millora del curs passat:
- __Seqüenciar els continguts tenint en compte què ha funcionat i què haguera pogut
funcionar millor.__
- __Git i Testing com a UD transversals a tot el curs.__
_S'ha incorporat una unitat de Git en la segona avaluació i s'han reorganitzat els continguts de cadascuna.
Quant al testing, s'introdueix el concepte de "testing manual" utilitzant el depurador. S'ha estimat
que no és viable introduir testing a la 3a avaluació._
- __Eliminar el mínim de qualificació de les pràctiques i repensar els percentatges dels I.A.__
_S'ha eliminat el mínim de 5 en la qualificació de les pràctiques per evitar-li als
estudiants aquesta pressió per poder aprovar el mòdul. Es repensarà el model de pràctiques
i els objectius d'aquests, perquè tinguen un menor impacte en el còmput total
de la nota del mòdul._
## Objectius del mòdul
L'objectiu d'aquest mòdul és que l'alumnat siga competent en els següents aspectes:
- Reconeixer els diferents elements, ferramentes i les diferents fases
que intervenen en el desenvolupament i manteniment del programari.
- Avaluar entorns integrats de desenvolupament, analitzant les seues característiques
i ferramentes per generar codi font i executables.
- Verificar el correcte funcionament de programes, dissenyant i realitzant proves.
- Optimitzar el codi, utilitzant les eines disponibles en els entorns de desenvolupament.
- Realitzar diferents diagrames que analitzen el disseny i el comportament del
programari a desenvolupar.
## Continguts
##### Bloc 1.- Desenrotllament de programari
- Concepte de programa informàtic.
- Codi font, codi objecte i codi executable; màquines virtuals.
- Tipus de llenguatges de programació.
- Característiques dels llenguatges més difosos.
- Fases del desenrotllament d’una aplicació: anàlisi, disseny, codificació, proves, documentació, explotació i manteniment, entre altres.
- Estructures d’equips de treball per al desenrotllament i revisió de programes informàtics.
- Funcions i responsabilitats dels membres.
- Procés d’obtenció de codi executable a partir del codi font; ferramentes implicades.
##### Bloc 2.- Instal·lació i ús d’entorns de desenrotllament
- Concepte i aplicació dels entorns de desenrotllament.
- Classificació dels entorns de desenrotllament.
- Funcions d’un entorn de desenrotllament.
- Ferramentes i assistents.
- Instal·lació d’un entorn de desenrotllament.
- Instal·lació i desinstal·lació de mòduls addicionals.
- Mecanismes d’actualització.
- Avaluació dels distints entorns de desenrotllament lliures i comercials més usuals.
- Ús bàsic d’un entorn de desenrotllament: edició de programes. Generació d’executables.
- Avantatges i inconvenients del desenrotllament d’aplicacions amb entorns de desenrotllament respecte a l’ús de tecnologies tradicionals.
##### Bloc 3.- Disseny i realització de proves
- Planificació de proves.
- Tipus de proves: funcionals, estructurals, regressió...
- Procediments i casos de prova.
- Ferramentes de depuració. Punts de ruptura, tipus d’execució, examinadors de variables, entre altres.
- Validacions.
- Proves de codi: cobriment, valors límit, classes d’equivalència, entre altres.
- Factors que determinen la qualitat del programari.
- Criteris de control de qualitat del desenrotllament de l’aplicació.
- Proves unitàries; ferramentes.
- Automatització de proves - Documentació de proves.
- Documentació d’incidències detectades. Descripció del seu tractament.
##### Bloc 4.- Optimització i documentació
- Concepte i objectiu de l’optimització de codi.
- Optimitzacions locals i globals.
- Optimitzacions dependents i independents de la màquina.
- Refactorització. Concepte. Limitacions. Patrons de refactorització més usuals. Analitzadors de codi; ús i configuració. Refactorització i proves. Ferramentes d’ajuda a la refactorització.
- Control de versions. Estructura de les ferramentes de control de versions. Repositori. Ferramentes de control de versions. Clients de control de versions integrats en l’entorn de desenrotllament.
- Documentació. Ús de comentaris. Alternatives. Documentació de classes. Documentació de constructors i mètodes. Documentació de camps. Ferramentes.
##### Bloc 5.- Elaboració de diagrames de classes
- Metodologia de disseny orientada a objectes.
- Metodologia de disseny orientada a estructura de dades.
- Classes. Atributs, mètodes i visibilitat.
- Objectes. Instanciació. - Relacions. Herència, composició, agregació.
- Estandardització amb un llenguatge de modelatge: UML (llenguatge unificat de modelatge) o altres.
- Diagrames estructurals. Camp d’aplicació.
- Notació dels diagrames de classes.
- Notació dels diagrames d’objectes.
- Ferramentes de disseny de diagrames.
- Generació de codi a partir de diagrames de classes.
- Generació de diagrames de classes a partir de codi.
##### Bloc 6.- Elaboració de diagrames de comportament
- Tipus. Camp d’aplicació.
- Notació dels diferents diagrames de comportament UML o altres.
- Diagrames de casos d’ús. Actors, escenari, relació de comunicació.
- Diagrames de seqüència. Línia de vida d’un objecte, activació, enviament de missatges.
- Diagrames de col·laboració. Objectes, missatges.
- Diagrames d’activitats. Activitats, transicions, decisions i combinacions.
- Diagrames d’estat. Estats, esdeveniments, senyals, transicions.
## Distribució temporal
<table class="distribucio-temporal mx-auto">
<tr>
<th colspan="6">Blocs</th>
<th rowspan="2">Unitats didàctiques</th>
<th rowspan="2">Avaluació</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
</tr>
<tr class="term1">
<td>X</td>
<td>X</td>
<td>X</td>
<td></td>
<td></td>
<td></td>
<td>UD1: Desenvolupament de programari</td>
<td rowspan="3" class="center">1</td>
</tr>
<tr class="term1">
<td></td>
<td></td>
<td></td>
<td>X</td>
<td></td>
<td></td>
<td>UD2: Introducció a Git</td>
</tr>
<tr class="term1">
<td></td>
<td></td>
<td></td>
<td></td>
<td>X</td>
<td></td>
<td>UD3: Diagrama de classes</td>
</tr>
<tr class="term2">
<td></td>
<td></td>
<td></td>
<td>X</td>
<td></td>
<td></td>
<td>UD4: Git avançat</td>
<td rowspan="3" class="center">2</td>
</tr>
<tr class="term2">
<td></td>
<td></td>
<td>X</td>
<td></td>
<td></td>
<td></td>
<td>UD5: Prova de programari</td>
</tr>
<tr class="term2">
<td></td>
<td></td>
<td></td>
<td>X</td>
<td></td>
<td></td>
<td>UD6: Documentació</td>
</tr>
<tr class="term3">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>X</td>
<td>UD7: Diagrames UML</td>
<td rowspan="2" class="center">3</td>
</tr>
<tr class="term3">
<td></td>
<td></td>
<td></td>
<td>X</td>
<td></td>
<td></td>
<td>UD8: GitFlow</td>
</tr>
</table>
## Metodologia didàctica
Aquest mòdul és sobretot pràctic. Considerem que la manera millor
manera d’aprendre és realitzant i resolguent els problemes de manera
pràctica.
Es realitzaran breus explicacions dels continguts
combinats amb molts exemples resolts, afavorint la participació activa
de l’alumnat (exposició participativa). A mesura que es va
avançant en la unitat, es proporcionaran activitats que vagen
augmentant progressivament de dificultat.
La metodologia en aquest mòdul s’ajustarà a les característiques de
l’alumnat. A causa del caràcter semipresencial, es proposaran
activitats i es proporcionarà material per fomentar l’autoaprenentatge.
No obstant això, també es realitzaran tutories individuals i
col·lectives que s’adaptaran a les necessitats de l’alumnat present.
## Avaluació
### Criteris d'avaluació
Els resultats d'aprenentatge i els seus corresponents criteris d'avaluació del
mòdul _Entorns de Desenvolupament_ són:
__1.- Reconeix els elements i les eines que intervenen en el desenvolupament d'un programa informàtic, analitzant-ne les característiques i les fases en què actuen fins arribar a la seva posada en funcionament.__
<ol class="latin">
<li>Identifica la relació dels programes amb els components del sistema informàtic: memòria, processador, perifèrics, entre d'altres.</li>
<li>Identifica les fases de desenvolupament d'una aplicació informàtica.</li>
<li>Diferencia els conceptes de codi font, objecte i executable.</li>
<li>Reconeix les característiques de la generació de codi intermedi per a la seva execució en màquines virtuals.</li>
<li>Classifica els llenguatges de programació.</li>
<li>Avalua la funcionalitat oferta per les eines utilitzades en programació.</li>
</ol>
__2.- Avalua entorns de desenvolupament integrat analitzant-ne les característiques per editar codi font i generar executable.__
<ol class="latin">
<li>Instal·la entorns de desenvolupament, propietaris i lliures.</li>
<li>Afegeix i elimina mòduls en l'entorn de desenvolupament.</li>
<li>Personalitza i automatitza l'entorn de desenvolupament.</li>
<li>Configura el sistema d'actualització de l'entorn de desenvolupament.</li>
<li>Genera executables a partir de codi font de diferents llenguatges en un mateix entorn de desenvolupament.</li>
<li>Genera executables a partir d'un mateix codi font amb diversos entorns de desenvolupament.</li>
<li>Identifica les característiques comunes i específiques de diversos entorns de desenvolupament.</li>
</ol>
__3.- Verifica el funcionament de programes dissenyant i realitzant proves.__
<ol class="latin">
<li>Identifica els diferents tipus de proves.</li>
<li>Defineix casos de prova.</li>
<li>Identifica les eines de depuració i prova d'aplicacions ofertes per l'entorn de desenvolupament.</li>
<li>Utilitza eines de depuració per definir punts de ruptura i seguiment.</li>
<li>Utilitza les eines de depuració per examinar i modificar el comportament d'un programa en temps d'execució.</li>
<li>Efectua proves unitàries de classes i funcions.</li>
<li>Implementa proves automàtiques.</li>
<li>Documenta les incidències detectades.</li>
</ol>
__4.- Optimitza codi emprant les eines disponibles en l'entorn de desenvolupament.__
<ol class="latin">
<li>Identifica els patrons de refacció més usuals.</li>
<li>Elabora les proves associades a la refacció.</li>
<li>Revisa el codi font utilitzant un analitzador de codi.</li>
<li>Identifica les possibilitats de configuració d'un analitzador de codi.</li>
<li>Aplica patrons de refacció amb les eines que proporciona l'entorn de desenvolupament.</li>
<li>Realitza el control de versions integrat en l'entorn de desenvolupament.</li>
<li>Utilitza eines de l'entorn de desenvolupament per documentar les classes.</li>
</ol>
__5.- Genera diagrames de classes valorant-ne la importància en el desenvolupament d'aplicacions i emprant les eines disponibles en l'entorn.__
<ol class="latin">
<li>Identifica els conceptes bàsics de la programació orientada a objectes.</li>
<li>Instal·la el mòdul de l'entorn de desenvolupament integrat que permet l'ús de diagrames de classes.</li>
<li>Identifica les eines per elaborar diagrames de classes.</li>
<li>Interpreta el significat de diagrames de classes.</li>
<li>Traça diagrames de classes a partir de les especificacions d'aquestes classes.</li>
<li>Genera codi a partir d'un diagrama de classes.</li>
<li>Genera un diagrama de classes mitjançant enginyeria inversa.</li>
</ol>
__6.- Genera diagrames de comportament valorant-ne la importància en el desenvolupament d'aplicacions i emprant les eines disponibles en l'entorn.__
<ol class="latin">
<li>Identifica els diferents tipus de diagrames de comportament.</li>
<li>Reconeix el significat dels diagrames de casos d'ús.</li>
<li>Interpreta diagrames d'interacció.</li>
<li>Elabora diagrames d'interacció senzills.</li>
<li>Interpreta el significat de diagrames d'activitats.</li>
<li>Elabora diagrames d'activitats senzills.</li>
<li>Interpreta diagrames d'estats.</li>
<li>Planteja diagrames d'estats senzills.</li>
</ol>
### Procediments i instruments de qualificació

```info
El límit del 15% de faltes no justificades no aplica als alumnes dels cursos semipresencials.
```
#### Avaluació contínua
L’avaluació es realitzarà amb dos instruments d’avaluació diferents:
- __Exàmens__: Exàmens de caràcter pràctic sobre
els continguts de cada avaluació.
- __Pràctiques__: Treball teòric o pràctic on s’avalua el
treball diari i els continguts que s’estan veient. En els cas
de la semipresencialitat, es programaran vàries pràctiques
al llarg de cada avaluació.
Tots els instruments d'avaluació s'han d'entregar a temps i ha de complir amb els requisits d'entrega.
Si aquest no s'entrega en temps i forma, es considerarà com a no presentat.
La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; l'intent fraudulent d'obtenir un resultat acadèmic millor;
la col·laboració, l'encobriment o l'afavoriment de la còpia, o la utilització de material, aplicacions o dispositius no autoritzats durant l'avaluació, entre d'altres,
són conductes irregulars que poden tenir conseqüències acadèmiques i disciplinàries greus.
D'una banda, si es detecta alguna d'aquestes conductes irregulars, pot comportar el suspens en les activitats avaluables o en la qualificació final de l'assignatura.
D'altra banda, i d'acord amb la normativa acadèmica, les conductes irregulars en l'avaluació, a més de comportar el suspens de l'assignatura,
poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció corresponent.
La nota de cada avaluació es calcularà de la següent manera:
- __Nota de l'examen (70%):__ Nota de l'exàmen realitzat
en l'avaluació.
- __Nota de pràctiques (30%):__ Nota mitjana de les
pràctiques realitzades en l’avaluació.
Perquè un alumne supere una avaluació, la qualificació
d’aquesta ha de ser igual o superior a 5.
La qualificació del mòdul es calcularà mitjançant la mitjana
de la nota de totes les avaluacions. En cas que alguna avaluació
no estiga superada, la qualificació del mòdul serà com a màxim un 4.
Per norma general les notes s'arredoniran amb la fòrmula general: __>.5__.
No obstant això, en l'interval [4, 5) la nota s'arredonirà a 5 sols a partir de 4.75.
#### Convocatòria ordinària
Abans de finalitzar el curs, els alumnes amb alguna avaluació
suspesa tenen el dret a presentar-se a la examen de convocatòria
ordinària. Aquesta examen té com a objectiu superar
cada avaluació suspesa per separat.
En el cas d'haver perdut el dret a l'avaluació contínua caldrà
presentar-se de totes les avaluacions.
També es permet que estudiants que hagen aprovat un trimestre, es presenten
a per millorar la seua nota. En aquest cas, la nota de la convocatòria ordinària
serà la que es té en compte (on es pot donar el cas que baixe la nota o no s'aprove).
Es donarà l'opció de no entregar la examen si es creu que aquesta empijorarà
el resltat anterior.
En la convocatòria, es mantindran les notes de les avaluacions
__aprovades__ en l'avalaució contínua. Per a superar la convocatòria ordinària:
- La mitjana total de les notes de les avaluacions ha de ser __superior o igual a 5__.
- La nota de cada avalucio ha de ser __superior o igual a 4__.
#### Convocatòria extraordinària
L’alumnat que no supere el mòdul en la convocatòria ordinària,
té dret a la convocatòria extraordinària, que tractarà els continguts de tot el curs,
independentment de les avaluacions aprovades anteriorment.
#### Avaluació de la pràctica docent
Al final del curs es realitzarà un qüestionari per avaluar la pràctica docent i la
qualitat dels materials i el procés d'aprenentatge.
### Criteris d’avaluació mínims per superar el mòdul
Per poder superar el mòdul, l’alumnat haurà de:
- Superar els __exàmens__ que es realitzaran en cada de les avaluacions.
Per poder superar cada avaluació, __la mitjana dels exàmens
haurà de ser major o igual que 4.__
- Tindre un comportament adequat a l’aula i complir les
normes de convivència.
- __Superar cada avaluació per separat.__
### Quadre resum
<table class="quadre-resum mx-auto">
<tr>
<th></th>
<th>Instruments de qualificació</th>
<th>%</th>
<th>Consideracions</th>
</tr>
<tr>
<td rowspan="2"><strong>1a Avaluació</strong></td>
<td>Exàmens</td>
<td>70%</td>
<td rowspan="6">
En cada avaluació:
- La nota mitjana de les __exàmens__ ha de ser __igual o superior a 4.__
- En el butlletí s'arredonirà la nota, però s'utilitzaran els decimals pel còmput de la nota del mòdul.
</td>
</tr>
<tr>
<td>Pràctiques</td>
<td>30%</td>
</tr>
<tr>
<td rowspan="2"><strong>2a Avaluació</strong></td>
<td>Exàmens</td>
<td>70%</td>
</tr>
<tr>
<td>Pràctiques</td>
<td>30%</td>
</tr>
<tr>
<td rowspan="2"><strong>3a Avaluació</strong></td>
<td>Exàmens</td>
<td>70%</td>
</tr>
<tr>
<td>Pràctiques</td>
<td>30%</td>
</tr>
<tr class="ordinaria">
<td rowspan="3"><strong>Ordinària</strong></td>
<td>
Examen de la màteria de la <strong>1a avaluació</strong>.
</td>
<td>1/3</td>
<td rowspan="3">
En cas d'haver aprovat alguna avaluació, es pot guardar aquesta qualificació en compte
de realitzar l'examen corresponent.
- La nota de cada examen ha de ser __igual o superior a 4__.
</td>
</tr>
<tr class="ordinaria">
<td>
Examen de la màteria de la <strong>2a avaluació</strong>.
</td>
<td>1/3</td>
</tr>
<tr class="ordinaria">
<td>
Examen de la màteria de la <strong>3a avaluació</strong>.
</td>
<td>1/3</td>
</tr>
<tr class="extraordinaria">
<td><strong>Extraordinària</strong></td>
<td>
Examen de tota la matèria
</td>
<td>100</td>
<td>Examen de tota la matèria del mòdul. La nota obtinguda serà la nota del mòdul.</td>
</tr>
</table>
## Materials i recursos didàctics
- Pantalla digital
- Pissarra
- Plataforma educativa: __Aules__: Publicació de material, continguts, activitats, correccions i rúbriques.
- Ordinadors amb Windows.
- Accès a internet.
- Correu corporatiu.
- Entorns de desenvolupament integrats: __IntelliJ__
- Eines de control de versions: __Git__
- Llocs d'allotjament de repositoris Git: __GitHub__
- Llibreries per realitzar proves: __JUnit__
- Software de gestió de projectes: __Maven__
## Activitats complementàries i extraescolars
No s'ha contemplat cap activitat complementaria específica per aquest mòdul professional.
## Temes transversals
Els temes transversals a tractar al mòdul professional al llarg del curs estan relacionats
amb el desenvolupament de les capacitats de relacions socials i comunicatives dels alumnes,
enteses com un complement necessari i important a incloure en qualsevol titulació de tipus tècnica.
Els temes transversals concrets a tractar són els següents:
- Desenvolupar habilitats de relació social i interpersonal.
- Potenciar les actituds comunicatives, de negociació i de treball en grup.
- Fomentar la motivació.
- Saber afrontar conflictes provocats per les limitacions
tecnològiques sempre presents en un entorn tecnològic tan dinàmic i en continua evolució
com és el sector informàtic.
## Mesures de resposta educativa per a la inclusió
Es tindrà en compte a l'alumnat que necessite més atenció, de manera que
s'intentarà dedicar més temps en explicacions individuals i en la correcció
d'exercicis.
Accions que es portaran a terme:
- Elaboració d'__exercicis complementaris__ per aquells estudiants que ho precisen,
tant de suport com de aprofundiment en la matèria.
- Estimulació del treball en grup de manera remota. La composició dels grups
serà supervisada pel docent per aconseguir grups amb nivells heterogenis.