Introducció a l'Enginyeria del Software

Esteu aquí

Crèdits
6
Tipus
Obligatòria
Requisits
  • Prerequisit: BD
  • Precorequisit: EDA
Departament
ESSI
L'objectiu principal de l'assignatura és el de proporcionar una visió general de l'enginyeria del software, amb un èmfasi especial a les etapes d'especificació i de disseny. Es pretén que a l'acabar l'assignatura l'alumne sigui capaç d'especificar un sistema senzill mitjançant la notació UML i de dissenyar-lo fent servir la mateixa notació i aplicant el patró arquitectònic domain model i algun dels patrons de disseny més coneguts.

Professors

Responsable

  • Ernest Teniente Lopez ( )

Altres

  • Claudia Patricia Ayala Martinez ( )
  • Dolors Costal Costa ( )
  • Manuel Rello Saltor ( )
  • Montserrat Estañol Lamarca ( )
  • Xavier Oriol Hilari ( )

Hores setmanals

Teoria
2
Problemes
2
Laboratori
0
Aprenentatge dirigit
0.4
Aprenentatge autònom
5.6

Competències

Competències Tècniques

Competències tècniques comunes

  • CT2 - Utilitzar d'una manera 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 a les decisions de disseny.
    • CT2.1 - Demostrar coneixement i capacitat d'aplicació dels principis, metodologies i cicles de vida d'enginyeria del software.
    • CT2.3 - Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, sistemes i serveis informàtics i, al mateix temps, assegurar-ne la fiabilitat, la seguretat i la qualitat en funció de principis ètics i de la legislació i la normativa vigents.
    • CT2.4 - Demostrar coneixement i capacitat per a aplicar les eines necessàries a l'emmagatzematge, el processament i l'accés als sistemes d'informació, fins i tot els que es basen en la web.
  • CT3 - Demostrar coneixement i comprensió del context organitzatiu, econòmic i legal en el qual es desenvolupa la seva feina (coneixement adequat del concepte d'empresa, del marc institucional i jurídic de l'empresa, d'organització i gestió de les empreses).
    • CT3.3 - Saber trobar i interpretar la informació bàsica que permet avaluar l'entorn econòmic de l'organització.
  • CT5 - Analitzar, dissenyar, construir i mantenir aplicacions de forma robusta, segura i eficient, triant el paradigma i els llenguatges de programació més adequats.
    • CT5.5 - Usar les eines d'un entorn de desenvolupament de software per a crear i desenvolupar aplicacions.
  • CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
    • CT6.1 - Demostrar coneixement i tenir capacitat per a administrar i mantenir sistemes, serveis i aplicacions informàtiques.
  • CT7 - Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
    • CT7.1 - Demostrar coneixement de les mètriques de qualitat i saber-les utilitzar.
  • CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
    • CT8.1 - Identificar tecnologies actuals i emergents i avaluar si són aplicables, i en quina mesura, per a satisfer les necessitats dels usuaris.
    • CT8.2 - Assumir els rols i les funcions del cap del projecte i aplicar, en l'àmbit de les organitzacions, les tècniques de gestió i programació del temps, dels costos i dels aspectes financers, dels recursos humans i del risc.
    • CT8.3 - Demostrar coneixement i saber aplicar les tècniques apropiades per a modelar i analitzar els diferents tipus de decisions.
    • CT8.4 - Elaborar el plec de condicions tècniques d'una instal·lació informàtica que compleixi els estàndards i la normativa vigent.
    • CT8.5 - 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.
    • CT8.6 - Demostrar comprensió de la importància de la negociació, dels hàbits de treball efectius, del lideratge i de les habilitats de comunicació en tots els entorns de desenvolupament de software.
    • CT8.7 - Controlar versions i configuracions del projecte.

Competències Transversals

Comunicació eficaç oral i escrita

  • G4 - Comunicar de forma oral i escrita amb altres persones coneixements, procediments, resultats i idees. Participar en debats sobre temes propis de l'activitat de l'enginyer tècnic en informàtica.
    • G4.2 - Utilitzar estratègies per a preparar i dur a terme les presentacions orals i redactar textos i documents amb un contingut coherent, una estructura i un estil adequats i un bon nivell ortogràfic i gramatical. Fer una presentació oral davant d'un auditori restringit. Triar adequadament els continguts, l'estil, la temporització i el format de la presentació. Ser capaç de comunicar-se d'una manera efectiva amb l'usuari en un llenguatge no tècnic, i de comprendre les seves necessitats.

Objectius

  1. Tenir una visió general del procés de l'enginyeria del software
    Competències relacionades: CT2.1, CT6.1, CT8.2, CT3.3,
  2. Ser capaços d'entendre els requisits d'un sistema software i relacionar-los amb parts de les especificacions
    Competències relacionades: CT8.3, CT8.6, CT8.5, CT3.3,
  3. Ser capaços d'escriure les especificacions d'un sistema software en UML
    Competències relacionades: CT8.1, CT8.3, G4.2, CT8.5, CT8.7, CT3.3, CT5.5, CT2.3,
  4. Conèixer les propietats desitjables de les especificacions d'un sistema software
    Competències relacionades: CT7.1, CT8.4,
  5. Ser capaços d'analitzar la completitud i la consistència de les especificacions
    Competències relacionades: CT8.1, CT8.3, CT7.1, CT5.5, CT2.3,
  6. Conèixer els principis generals de l'arquitectura del software i del model de disseny orientat a objectes en UML
    Competències relacionades: CT8.1, CT8.5,
  7. Entendre l'estructura lògica en capes d'un sistema d'informació: capa de presentació, de domini i de gestió de dades
    Competències relacionades: CT8.1, CT8.3, CT2.4,
  8. Saber transformar un model d'especificació UML en un de disseny
    Competències relacionades: G4.2, CT5.5, CT2.4,
  9. Conèixer el concepte de patró de disseny i dominar l'ús d'alguns dels patrons més coneguts
    Competències relacionades: CT2.1, CT8.1, CT8.3, G4.2, CT2.3,
  10. Conèixer els conceptes bàsics de la prova del software
    Competències relacionades: CT2.1, CT8.3, CT7.1, CT8.4, CT5.5,

Continguts

  1. Introducció a l'enginyeria del software
  2. Requisits d'un sistema software i la seva especificació
  3. El Model de Casos d'Ús en UML
  4. Especificació de sistemes software en UML
    - L'esquema estructural de les dades
    - L'esquema del comportament
    - Els diagrames d'estats
  5. Introducció al disseny de software
  6. Introducció al disseny orientat a objectes amb UML
  7. Disseny de proves en el context orientat a objects

Activitats

Activitat Acte avaluatiu


Estudi de la introducció a l'enginyeria del software


Objectius: 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Estudi dels requisits del software i de la seva relació amb l'especificació de sistemes software


Objectius: 1 2
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Estudi del Model de Casos d'Ús en UML


Objectius: 2 3
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Estudi de l'esquema estructural de les dades en UML


Objectius: 2 3 4 5
Continguts:
Teoria
4h
Problemes
10h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
20h

Estudi de l'esquema del comportament en UML


Objectius: 2 3 4 5
Continguts:
Teoria
4h
Problemes
8h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
16h

Estudi dels diagrames d'estat en UML


Objectius: 3 4 5
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Estudi de la introducció al disseny de software


Objectius: 6 7
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Estudi de la introducció al disseny de software en UML


Objectius: 6 8 9
Continguts:
Teoria
8h
Problemes
12h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
28h

Estudi del disseny de proves en el context orientat a objectes


Objectius: 10
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Control del model estructural en UML

S''hi avaluaran part dels objectius 3 a 5
Objectius: 3 4 5
Setmana: 4
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

FHL del model estructural en UML

S''hi avaluaran part dels objectius 1 a 5
Objectius: 1 2 3 4 5
Setmana: 6 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
0h

FHL del model del comportament en UML

S''hi avaluaran part dels objectius 1 a 5
Objectius: 2 3 4 5
Setmana: 9 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
0h

Control de disseny de software

S''hi avaluaran part dels objectius 8 i 9
Objectius: 8 9
Setmana: 12
Tipus: examen final
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

FHL del disseny de software

S''hi avaluaran part dels objectius 6 a 10
Objectius: 6 7 8 9 10
Setmana: 14 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
0h

Metodologia docent

La docència de l'assignatura està estructurada en classes de teoria i classes de problemes.

A les classes de teoria els professors presenten els continguts essencials de l'assignatura. Normalment els professors usen transparències que els estudiants poden obtenir, i ho haurien de fer, abans de les classes.

A les classes de problemes es practiquen els continguts de l'assignatura (els presentats a classe i els adquirits autònomament) mitjançant la realització de problemes. A vegades es requereix que els problemes s'hagin resolt (o almenys intentat resoldre) abans de la classe, i llavors la classe es destina a analitzar i discutir col·lectivament les millors solucions. Altres vegades, el problema es planteja i s'ha de resoldre en la mateixa classe.

Mètode d'avaluació

Durant el curs es faran cinc actes avaluatoris: dos controls a l'horari de classe (C1 i C2) i tres proves fora de l'horari de classe (FHC1, FHC2 i FHC3). Per al càlcul de la nota final també es tindrà en compte la participació activa a classe. La distribució seqüèncial d'aquests actes avaluatoris i la manera com contribueixen a la nota final de l'assignatura vénen definits per la fórmula següent:

Nota Final = 10% C1 + 30% FHC1 + 15% FHC2 + 10% C2 + 30% FHC3 + 5% participació

tenint en compte que:
El control C2 és opcional. Si un alumne no realitza el control C2, aleshores automàticament el pes de la prova FHC3 passa a ser del 40%.
La nota de participació s'aconsegueix entregant un mínim del 75% dels exercicis proposats i participant activament a classe.
Nota Final = NP si l'alumne no es presenta a la FHC3 i la seva nota final acumulada és <4.

No hi ha examen final.

A més de la nota de l'assignatura, hi haurà una nota a part de la competència genèrica assignada a l'assignatura, amb valors A, B, C, D, NO on:
o A indica que la competència s'ha superat amb un nivell d'execel.lència
o B indica que la competència s'ha superat amb el nivell desitjat
o C indica que la competència s'ha superat amb un nivell suficient
o D indica que la competència no s'ha superat
o NA indica que la competència no s'ha avaluat

Bibliografia

Bàsica:

Complementaria:

Web links

Capacitats prèvies

Els alumnes haurien de tenir coneixements suficients d'estructures de dades i algorismes i de programació quan comencen enginyeria del software.

Addenda

Continguts

No hi ha canvis respecte la informació publicada a la guia docent.

Metodologia docent

No hi ha canvis respecte la informació publicada a la guia docent.

Mètode d'avaluació

Durant el curs es faran cinc actes d'avaluació: tres controls a l'horari de classe (C1, C2 i C3) i dues proves fora de l'horari de classe (FHC1 i FHC2). Per al càlcul de la nota final també es tindrà en compte la participació a classe. La distribució seqüèncial d'aquests actes d'avaluació i la manera com contribueixen a la nota final de l'assignatura vénen definits per la fórmula següent: Nota Final = 10% C1 + 30% FHC1 + 15% C2 + 10% C3 + 30% FHC2 + 5% participació tenint en compte que: El control C3 és opcional. Si un alumne no realitza el control C3, aleshores automàticament el pes de la prova FHC2 passa a ser del 40%. La nota de participació s'aconsegueix entregant un mínim del 75% dels exercicis proposats i participant activament a classe. Nota Final = NP si l'alumne no es presenta a la FHC2 i la seva nota final acumulada és <4. No hi ha examen final. A més de la nota de l'assignatura, hi haurà una nota a part de la competència genèrica assignada a l'assignatura, amb valors A, B, C, D, NO on: o A indica que la competència s'ha superat amb un nivell d'execel.lència o B indica que la competència s'ha superat amb el nivell desitjat o C indica que la competència s'ha superat amb un nivell suficient o D indica que la competència no s'ha superat o NA indica que la competència no s'ha avaluat

Pla de contingència

En cas de suspensió de l'activitat docent presencial, totes les classes de l'assignatura se seguiran impartint en l'horari establert mitjançant vídeo conferència. De la mateixa manera, es continuarà amb l'entrega d'exercicis prevista i la seva posterior correcció a les classes de problemes. En cas de ser estrictament necessari, les proves d'avaluació presencial previstes es farien de manera no presencial.