<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">0490 - Programació de Serveis i Processos</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 | | 15/12/2022 | Canvi en l'ordre de la UD3 i UD4 | | 06/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: - __Revisar els continguts i els I.A. de la UD1.__ _Es revisaran els continguts de la UD1 per tal d'evitar utilitzar el __WSL__ i s'adaptaran els I.A. al respecte. S'intentarà simplificar al màxim els exemples proporcionats als estudiants._ - __Revisar la nomenclatura de les classes en la UD3.__ _Es revisarà la nomenclatura utilitzada en les classes de la UD3, sobretot aquelles que causen confusió, com `*HandleClient`. S'intentarà simplificar al màxim els exemples proporcionats als estudiants._ - __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 Els objectius d'aquest mòdul expresats com resultats d'aprenentatge són: - Protegeix les aplicacions i les dades definint i aplicant criteris de seguretat en l'accés, emmagatzematge i transmissió de la informació. - Desenvolupa aplicacions compostes per diversos processos reconeixent i aplicant principis de programació paral·lela. - Desenvolupa aplicacions compostes per diversos fils d'execució analitzant i aplicant llibreries específiques del llenguatge de programació. - Programa mecanismes de comunicació en xarxa emprant sòcols i analitzant l'escenari d'execució. - Desenvolupa aplicacions que ofereixen serveis en xarxa, utilitzant llibreries de classes i aplicant criteris d'eficiència i disponibilitat. ## Continguts ##### Bloc 1.- Programació multiprocés: - Executables. Processos. Servicis. - Estats d’un procés. - Planificació de processos pel sistema operatiu. - Fils. - Programació concurrent. - Programació paral·lela i distribuïda. - Creació de processos. - Comunicació entre processos. - Gestió de processos. - Comandaments per a la gestió de processos en sistemes lliures i propietaris. - Ferramentes gràfiques per a la gestió de processos en sistemes lliures i propietaris. - Sincronització entre processos. - Programació d’aplicacions multiprocés. - Documentació. - Depuració ##### Bloc 2.- Programació multifil: - Recursos compartits pels fils. - Estats d’un fil. Canvis d’estat. - Elements relacionats amb la programació de fils. Llibreries i classes. - Gestió de fils. - Creació, inici i finalització. - Sincronització de fils - Informació entre fils. Intercanvi. - Prioritats dels fils. - Gestió de prioritats. - Programació d’aplicacions multifil. - Documentació. - Depuració. ##### Bloc 3.- Programació de comunicacions en xarxa: - Protocols de comunicacions. - Comunicació entre aplicacions. - Rols client i servidor. - Elements de programació d’aplicacions en xarxa. Llibreries. - Funcions i objectes de les llibreries. - Socket. - Tipus de sockets. Característiques. - Ports de comunicacions. - Creació de sockets. - Enllaç i establiment de connexions. - Utilització de sockets per a la transmissió i recepció d’informació. - Programació d’aplicacions client i servidor. - Optimització de sockets. - Utilització de fils en la programació d’aplicacions en xarxa. - Depuració. - Monitorització de temps de resposta. ##### Bloc 4.- Generació de servicis en xarxa: - Protocols estàndard de comunicació en xarxa a escala d’aplicació (telnet, ftp, http, pop3, smtp, entre altres). - Llibreries de classes i components. - Funcions i objectes de les llibreries. - Utilització d’objectes predefinits. - Establiment i finalització de connexions. - Transmissió d’informació. - Programació d’aplicacions client. - Programació de servidors. - Implementació de comunicacions simultànies. - Documentació. - Depuració. - Monitorització de temps de resposta. ##### Bloc 5.- Utilització de tècniques de programació segura: - Pràctiques de programació segura. - Control d’accessos. - Limitació de privilegis. - Validació d’entrades. - Criptografia de clau pública i clau privada. - Principis criptogràfics. - Principals aplicacions de la criptografia. - Protocols criptogràfics. - Política de seguretat. - Usuaris i rols. - Programació de mecanismes de control d’accés. - Encriptació d’informació. - Protocols segurs de comunicacions. - Sockets segurs. - Programació d’aplicacions amb comunicacions segures. - Prova i depuració. ## Distribució temporal <table class="distribucio-temporal mx-auto"> <tr> <th colspan="5">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> </tr> <tr class="term1"> <td>X</td> <td></td> <td></td> <td></td> <td></td> <td>UD1: Programació de processos</td> <td rowspan="2" class="center">1</td> </tr> <tr class="term1"> <td></td> <td>X</td> <td></td> <td></td> <td></td> <td>UD2: Programació de fils</td> </tr> <tr class="term2"> <td></td> <td></td> <td>X</td> <td>X</td> <td></td> <td>UD3: Sòcols i serveis</td> <td rowspan="2" class="center">2</td> </tr> <tr class="term2"> <td></td> <td></td> <td></td> <td></td> <td>X</td> <td>UD4: Seguretat i criptografia</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. ## Avaluació ### Criteris d'avaluació Els resultats d'aprenentatge i els seus corresponents criteris d'avaluació del mòdul _Programació de Serveis i Processos_ són: __1.- Protegeix les aplicacions i les dades definint i aplicant criteris de seguretat en l'accés, emmagatzematge i transmissió de la informació.__ <ol class="latin"> <li>Identifica i aplica principis i pràctiques de programació segura.</li> <li>Analitza les principals tècniques i pràctiques criptogràfiques.</li> <li>Defineix i implanta polítiques de seguretat per limitar i controlar l'accés dels usuaris a les aplicacions desenvolupades.</li> <li>Utilitza esquemes de seguretat basats en rols.</li> <li>Usa algoritmes criptogràfics per protegir l'accés a la informació emmagatzemada.</li> <li>Identifica mètodes per assegurar la informació transmesa.</li> <li>Desenvolupa aplicacions que utilitzin sòcols segurs per a la transmissió d'informació.</li> <li>Depura i documenta les aplicacions desenvolupades.</li> </ol> __2.- Desenvolupa aplicacions compostes per diversos processos reconeixent i aplicant principis de programació paral·lela.__ <ol class="latin"> <li>Reconeix les característiques de la programació concurrent i els seus àmbits d'aplicació.</li> <li>Identifica les diferències entre programació paral·lela i programació distribuïda, els seus avantatges i inconvenients.</li> <li>Analitza les característiques dels processos i de la seva execució per al sistema operatiu.</li> <li>Caracteritza els fils d'execució i en descriu la relació amb els processos.</li> <li>Utilitza classes per programar aplicacions que creïn subprocessos.</li> <li>Utilitza mecanismes per sincronitzar i obtenir el valor retornat pels subprocessos iniciats.</li> <li>Desenvolupa aplicacions que gestionin i utilitzin processos per a l'execució de diverses tasques en paral·lel.</li> <li>Depura i documenta les aplicacions desenvolupades.</li> </ol> __3.- Desenvolupa aplicacions compostes per diversos fils d'execució analitzant i aplicant llibreries específiques del llenguatge de programació.__ <ol class="latin"> <li>Identifica situacions en què sigui útil l'ús de diversos fils en un programa.</li> <li>Reconeix els mecanismes per crear, iniciar i finalitzar fils.</li> <li>Programa aplicacions que implementin diversos fils.</li> <li>Identifica els possibles estats d'execució d'un fil i programa aplicacions que els gestionin.</li> <li>Utilitza mecanismes per compartir informació entre diversos fils d'un mateix procés.</li> <li>Desenvolupa programes formats per diversos fils sincronitzats mitjançant tècniques específiques.</li> <li>Estableix i controla la prioritat de cadascun dels fils d'execució.</li> <li>Depura i documenta els programes desenvolupats.</li> </ol> __4.- Programa mecanismes de comunicació en xarxa emprant sòcols i analitzant l'escenari d'execució.__ <ol class="latin"> <li>Identifica escenaris que necessiten establir comunicació en xarxa entre diverses aplicacions.</li> <li>Identifica els rols de client i de servidor i les seves funcions associades.</li> <li>Reconeix llibreries i mecanismes del llenguatge de programació que permetin programar aplicacions en xarxa.</li> <li>Analitza el concepte de sòcol, els seus tipus i característiques.</li> <li>Utilitza sòcols per programar una aplicació client que es comuniqui amb un servidor.</li> <li>Desenvolupa una aplicació servidor en xarxa i en verifica el funcionament. CVE-DOGC-A-13337107-2013</li> </ol> __5.- Desenvolupa aplicacions que ofereixen serveis en xarxa, utilitzant llibreries de classes i aplicant criteris d'eficiència i disponibilitat.__ <ol class="latin"> <li>Analitza llibreries que permetin implementar protocols estàndard de comunicació en xarxa.</li> <li>Programa clients de protocols estàndard de comunicacions i en verifica el funcionament.</li> <li>Desenvolupa i prova serveis de comunicació en xarxa.</li> <li>Analitza els requeriments necessaris per crear serveis capaços de gestionar diversos clients concurrents.</li> <li>Incorpora mecanismes per possibilitar la comunicació simultània de diversos clients amb el servei.</li> <li>Verifica la disponibilitat del servei.</li> <li>Depura i documenta les aplicacions desenvolupades.</li> </ol> ### Procediments i instruments de qualificació ![](/itb/images/diagrama_convocatories.png) ```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="4"> 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 class="ordinaria"> <td rowspan="2"><strong>Ordinària</strong></td> <td> Examen de la màteria de la <strong>1a avaluació</strong>. </td> <td>1/2</td> <td rowspan="2"> 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/2</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. - Entorn de desevolupament: __IntelliJ__ - Control de versions: __Git__ allotjat a __GitHub__ ## 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.