Informació general


  • Tipus d'assignatura: Obligatòria
  • Coordinador: Enric Sesa Nogueras
  • Trimestre: 2
  • Crèdits: 6
  • Professorat:

Idiomes d'impartició


  • Català

Descripció


En aquesta assignatura es veurà una visió global dels sistemes d'informació a les empreses, com analitzar-los i dissenyar-los usant les metodologies pròpies dels sistemes d'informació. En part aquestes metodologies són els processos software dels que en farem un anàlisi començant des dels més antics que comporten una gestió molt feixuga fins els més moderns que procuren evitar al màxims els costos de gestió del propi projecte. Tot seguit introduirem l'arquitectura de sistemes d'informació basada en microserveis que està estretament relacionada amb les metodologies àgils i en la forma en que s'organitzen els equips de treball.

 

Resultats d'aprenentatge


Aquesta assignatura contribueix als següents resultats d'aprenentatge especificats per a la matèria a la qual pertany (Serveis i sistemes d'informació per les organitzacions)

  • RA1: Usar de forma apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica a tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió de tots els compromisos adoptats en les decisions de disseny.
  • RA2: Especificar, dissenyar, implementar, gestionar i mantenir sistemes i serveis software complexes i/o crítics.
  • RA3: Controlar la qualitat i dissenyar proves en la producció del software.
  • RA4: Definir i gestionar els requisits d'un sistema d'informació.
  • RA5: Avaluar i seleccionar plataformes de producció hardware i software per l'execució d'aplicacions i de serveis informàtics.
  • RA6: Determinar els factors que incideixen negativament en la seguretat i la fiabilitat d'un sistema hardware/software, y minimitzar els seus efectes.
  • RA7: Controlar versions i configuracions del projecte. 
  • RA8: Dissenyar i gestionar sistemes d'informació.
  • RA9: Comprendre i utilitzar eficaçment manuals, especificacions de productes i altra informació de caràcter tècnic escrita en anglès.

 

Metodologia de treball


Hi haurà classes de teoria en grup gran i classes de pràctiques al laboratori en grup petit. A les classes de teoria s'aniran combinant sessions de tipus lliçó magistral amb sessions de resolució de problemes proposats pel professor en grups de dos o tres estudiants.

Les pràctiques al laboratori es realitzaran per parella. S'hauran de començar a treballar al laboratori amb l'ajuda del professor i s'hauran d'acabar de forma autònoma fora de les hores presencials reglamentades.

Continguts


  1. Sistemes d'informació
    1. Introducció
    2. Arquitectura
  2. Metodologies d'Enginyeria del Software
    1. Metodologies clàssiques
    2. Unified Process
    3. Metodologies àgils
  3. Cloud computing
    1. Actors principals
    2. Serveis oferts
    3. Independència de la plataforma: contenidors
    4. Cloud públic vs privat
  4. Arquitectura de microseveis
    1. Sistema distribuït vs sistema monolític
    2. SOA vs microserveis
    3. Modelització de serveis
    4. Integració (amb serveis externs)
    5. Divisió del Monolit
    6. Deployment
    7. Testing
    8. Monitorització
    9. Seguretat

Activitats d'aprenentatge


Amb l'objectiu de recollir evidència de l'assoliment dels resultats d'aprenentatge esperats es realitzaran les següents activitats de caràcter avaluatiu:

Prova escrita: l'estudiant haurà de demostrar que ha adquirit els coneixements teòrics explicats a classe i que pren decisions de disseny informades. (Evidència dels resultats d'aprenentatge RA1, RA2, RA4, RA5, RA6, RA8). Totes les competències excepte T2 (treball en equip)

Prova pràctica: l'estudiant haurà de demostrar que ha adquirit els coneixements pràctics. La prova consistirà en el desenvolupament d'una part d'un sistema d'informació (Evidència dels resultats d'aprenentatge RA2, RA3, RA8, RA9)

Pràctiques: hi haurà un màxim de 5 pràctiques on s'aplicaran els coneixements adquirits a classe. (Evidència dels resultats d'aprenentatge RA2, RA3, RA7, RA8, RA9)

Nota: totes les activitats estan relacionades amb totes les competències. Cal destacar que tota la documentació està escrita en anglès pel que el darrer resultat d'aprenentatge i la competència transversal T1 queden garantides. D'altra banda per desenvolupar les pràctiques els estudiants hauran de resoldre de forma autònoma, usant els manuals, els problemes que els vagin sorgint pel que la competència B5 també queda garantida. A continuació s'expliciten els aspectes més importants de cada competència assignada a l'assignatura:

  • B2: resolució de problemes dins de la seva àrea d’estudi.
  • B3: reunir i interpretar informació rellevant per la seva tasca.
  • B4: transmetre problemes i solucions
  • B5: desenvolupament d’habilitats d’aprenentatge necessàries per a estudis posteriors (accés autònom a documentació, hàbits de treball efectius)
  • CIN1: dissenyar, desenvolupar i avaluar sistemes i aplicacions informàtiques assegurant la seva fiabilitat, seguretat i qualitat
  • CIN2: planificar, concebre, desplegar i dirigir projectes informàtics
  • CIN3: mostrar actituds de treball en equip
  • CIN4: elaborar el plec de condicions tècniques d'un sistema
  • CIN5: administració de serveis i sistemes
  • CIN13: aplicació de les eines d'emmagatzematge d'informació
  • CIN16: aplicació de les metodologies de l'enginyeria del software
  • EFB6: coneixement del concepte d'empresa i la seva gestió
  • EIS1: desenvolupar i avaluar sistemes que compleixin els requisits de l'usuari 
  • EIS2: especificar els requisits dels usuaris
  • EIS3: integració en funció d'estratègies i estàndards
  • EIS4: identificar i analitzar problemes i dissenyar, implementar i documentar solucions software
  • EIS5: identificar, avaluar i gestionar riscos
  • EIS6: dissenyar solucions software
  • ESI1: integrar solucions sofware i processos empresarials
  • ESI2: determinar requisits dels sistemes d'informació (SI) en seguretat i compliment de la legislació
  • ESI3: especificar, dissenyar i implementar SI
  • ESI4: aplicar els principis i pràctiques de les organitzacions
  • ESI5: avaluar i gestionar els riscos en l'elaboració de projectes
  • ESI6: aplicar tècniques de la gestió de la qualitat
  • T1: coneixement de la tercera llengua
  • T2: capacitat per treballar en equip desenvolupant diferents rols

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 [MECES- 2 punt f]

Sistema d'avaluació


Avaluació

  • PR_E: prova escrita. Ponderació de la nota final 30%
  • PR_P: prova pràctica. Ponderació de la nota final 30%
  • PRAC: pràctiques de la 1 a la 5. Ponderació a la nota final 40% (cadascuna 8%) si la nota de PR_E >= 3,5 i PR_P >= 3,5

 

Càlcul nota final (NF):

  • Si PR_E >= 3,5 i PR_P >= 3,5 :  NF = PON = PR_E  0,3 + PR_E2 0,3 + PRAC 0.4
  • Si (PR_E < 3,5 o PR_P < 3,5 :    NF = min((PR_E 0,3 + PR_P 0,3), PON)

Recuperació:

Es podran recuperar les dues proves (PR_E i PR_P) per separat. La nota final es calcularà tal i com s'ha establert anteriorment amb les notes de la recuperació de les proves.

Normativa:

  • L'assistència a les pràctiques és obligatòria. Si un estudiant no assisteix a una sessió de pràctiques sera qualificat amb una nota de 0 (zero) a la pràctica corresponent
  • Seguint la normativa de la UPF, si es detecta que una pràctica o una prova ha estat copiada la d'aquesta serà de 0 (zero) tant del que copia com del que es deixa copiar
  • Per tal que l'estudiant tingui dret a la recuperació s'haurà d'haver presentat a les dues proves (PR_E i PR_R)

Bibliografia


Bàsica

Chris Richardson. Patrons de microserveis: https://microservices.io/

Josh Long, Kenny Bastani, "Cloud Native Java. Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry". O'Reilly 2017

Newman, Sam (2015), "Building Microservices: Designing Fine-Grained Systems". O'Reilly Media


Complementària

Cardinal, Mario (2014), "Executable Specifications with Scrum. A practical guide to agile requirements discovery". Addison-Wesley

Farcic, Victor (2016), "The DevOps 2.0 Toolkit: automating the continuous development pipeline with containerized microservices". Leanpub

Kenneth S. Rubin, "A Practical Guide to the Most Popular Agile Process". Addison-Wesley Professional. July 2012
ISBN: 9780321700407