Escuchar

21712. Enginyeria del Software . Grup 2

Identificació de l'assignatura

Assignatura21712 - Enginyeria del Software
Grup Grup 2 ( Campus Digital )
Any acadèmic 2019-20
Crèdits6 crèdits
Període d'impartició Segon semestre
Idioma d'impartició Català
Titulació
  • Grau d'Enginyeria Telemàtica - Quart curs
  • Grau d'Enginyeria Informàtica (Pla 2014) - Segon curs

Professors

Professor/aHorari d'atenció alumnes
Hora d'iniciHora de fiDia de la setmanaData d'iniciData de fiDespatx/Edifici
Esperança Amengual Alcover
eamengualeamengual@uib.esuib.es
Responsable
Cal concertar cita prèvia amb el professor per a fer una tutoria
Gabriel Fontanet Nadal
gfontanetgfontanet@uib.esuib.es
14:30h15:30h Dilluns 02/09/201931/01/2020 Despatx 216
12:30h13:30h Dimecres 03/02/202001/06/2020 Despatx 216
Jaime Jaume Mayol
jaume.jaumejaume.jaume@uib.esuib.es
11:00h13:00h Dijous 09/09/201930/06/2020 Dept. Informàtica / Arxiduc Lluís Salvador
10:00h11:00h Dimarts 09/09/201926/06/2020 Dept. Informàtica / Arxiduc Lluís Salvador
Antoni Lluís Mesquida Calafat
antoni.mesquidaantoni.mesquida@uib.esuib.es
13:00h14:00h Dimecres 09/09/201908/01/2020 D138
10:00h11:00h Dijous 17/02/202010/06/2020 D138

Contextualització

L'assignatura Enginyeria del Software és una de les quinze assignatures que integren el mòdul d'assignatures comuns de la branca d'informàtica del pla d'estudis del títol oficial de Grau en Informàtica . El seu objectiu és introduir l'enginyeria del software com a disciplina, essencial en la formació dels professionals de la informàtica perquè siguin capaços d'analitzar, dissenyar i mantenir aplicacions informàtiques de qualitat. S'imparteix a segon curs.

Més concretament, l'assignatura Enginyeria del Software se centra en introduir els processos del cicle de vida del software, tant des de la perspetiva dels models de processos genèrics més emprats, com des del punt de vista dels mètodes àgils. En particular, s'aprofundeix en:

  1. L'enginyeria de requisits que se centra en la definició dels requisits d'un sistema
  2. El modelat del sistema mitjançant els diagrames de UML (diagrames de casos d'ús, diagrama de classes, diagrames de seqüència i diagrames d'estats)
  3. El disseny arquitectònic
  4. Les proves
  5. L'evolució dels sistemes informàtics

A aquesta assignatura es proposarà la resolució d'un cas pràctic on s'hauran de realitzar un conjunt d'activitats d'especificació i disseny d'un sistema software utilitzant els coneixements teòrics introduïts a l'assignatura. Donat que un dels objectius principals d'aquest cas pràctic és fomentar el treball en grup, aquests s'hauran de dur a terme en grup.

Requisits

Enginyeria del Software és una assignatura del mòdul comú de la branca d'informàtica i per això no té requisits previs definits.

Recomanables

Es requereixen coneixements que s'imparteixen a les assignatures Programació - Informàtica I , Programació II , Algorísmia i Empresa . Més concretament s'espera que l'alumne tengui coneixement dels aspectes següents:

  1. Anàlisi i disseny d'algorismes
  2. Programació Orientada a Objectes
  3. Abstracció
  4. Control d'errors
  5. Verificació i validació de programes
  6. Conceptes bàsics sobre l'empresa i el seu funcionament.
  7. Bases de la gestió empresarial.

Competències

L'assignatura Enginyeria del Software té el propòsit de contribuir a l'adquisició de les competències que s'indiquen a continuació, les quals formen part del conjunt de competències establertes en el pla d'estudis del títol de Grau en Enginyeria Informàtica .

Específiques

  • CCM01 - Capacitat per dissenyar, desenvolupar, seleccionar i avaluar aplicacions i sistemes informàtics, assegurant la seva fiabilitat, seguretat i qualitat, conforme a principis ètics i a la legislació i normativa vigent
  • CCM16 - Coneixement i aplicació dels principis, metodologies i cicles de vida de l'enginyeria del software

Genèriques

  • CTR02 - Capacitat d'anàlisi crítica i de proposta i aplicació de noves solucions
  • CTR06 - Capacitat de lideratge, iniciativa, esperit emprenedor i eficàcia en ambient d'exigència basant-se en la creativitat, la qualitat i l'adaptació a noves situacions.

Bàsiques

Podeu consultar les competències bàsiques que l'estudiant ha d'haver assolit en acabar el grau a l'adreça següent: http://estudis.uib.cat/grau/comp_basiques/

Continguts

Els continguts específics prevists per aquesta assignatura són els que es mostren a continuació.

Continguts temàtics

Tema 1 Introducció a l'Enginyeria del Software

L'objectiu d'aquest tema és introduir l'enginyeria del software i proporcionar el marc teòric per poder entendre l'assignatura:

  • Entendre què és l'enginyeria del software i per què és important
  • Entendre que el desenvolupament de diferents tipus de sistemes software requereix diferents tècniques d'enginyeria del software
  • Entendre alguns aspectes ètics i professionals que són importants pels enginyers de software
Tema 2 Processos de software

L'objectiu d'aquest tema és introduir la idea de procés de software com a un conjunt coherent d'activitats per a la producció de software:

  • Entendre el concepte de procés de software i models de processos de software
  • Introduir els tres models de processos genèrics
  • Donar a conèixer les activitats fonamentals dels processos: enginyeria de requisits, disseny i implementació, proves i evolució
  • Entendre com s'han d'organitzar els processos per donar suport als canvis en els requisits i en el disseny del software
  • Introduir l'estàndard ISO/IEC 12207 com a estàndar internacional dels processos del cicle de vida del software
Tema 3 Enginyeria de requisits

L'objectiu d'aquest tema és introduir l?enginyeria de requisits i els processos relacionats amb l?obtenció i la documentació d?aquests requisits:

  • Entendre el conceptes de requisit d?usuari i requisit de sistema
  • Entendre les diferències entre requisits funcionals i requisits no funcionals
  • Entendre com els requistis s?han d?organitzar en un document de requisits formal
  • Entendre les activitats principals d?enginyeria de requisits
  • Entendre per què la gestió de requisits és necessària
Tema 4 Desenvolupament àgil de software

L'objectiu d'aquest tema és introduir els mètodes de desenvolupament àgil de software:

  • Entendre el perquè de l'ús dels mètodes àgils i les diferències entre els mètodes àgils i els mètodes dirigits per la planificació
  • Conèixer les pràctiques d'eXtreme Programming i com estan relacionades amb els principis generals dels mètodes àgils
  • Entendre com Scrum enfoca la gestió de projectes àgil
  • Estar al corrent dels problemes als que s'han de fer front quan els mètodes àgils es volen adaptar al desenvolupament de grans sistemes software
Tema 5 Modelat del sistema

L'objectiu d'aquest tema és introduir alguns tipus de models del sistema que s'han de desenvolupar durant els processos d'enginyeria de requisits i de disseny del sistema:

  • Entendre com els models gràfics es poden emprar per representar sistemes software
  • Entendre per què és necessari emprar diferents tipus de models i les diferents perspectives fonamentals: mode de context, model d'interacció i model de dades
Tema 6 Disseny arquitectònic

L'objectiu d'aquest tema és introduir els conceptes d'arquitectura de software i de disseny arquitectònic:

  • Entendre per què el disseny arquitectònic del software és important
  • Entendre les decisions que s'han de prendre sobre l'arquitectura del sistema
  • Introduir la idea de patrons de disseny reutilitzables

Tema 7 Disseny i implementació

L'objectiu d'aquest tema és introduir el disseny de software orientat a objectes utilitzant UML:

  • Entendre les activitiats de disseny més importants
  • Entendre els diferents models de disseny que es poden emprar per documentar el disseny orientat a objectes
Tema 8 Proves de software

L'objectiu d'aquest tema és introduir les proves de software i els processos de proves de software:

  • Entendre les actititats de proves, des de les proves unitàries fins a les proves d'acceptació dels clients
  • Introduir les tècniques de proves que ajuden a elegir els casos de proves adequats per descobrir defectes en els programes
  • Entendre la importància de provar abans de lliurar el software
  • Entendre les diferències entre les proves de components, de sistema i de lliurament
Tema 9 Evolució del software

Els objectius d'aquest tema són explicar perquè l'evolució del software és una part important de l'enginyeria del software i descriure les activitats que s'han de dur a terme:

  • Entendre que els canvis són inevitables si els sistemes software han de perdurar i que el desenvolupament i l'evolució del software s'han d'integrar en un model en espiral
  • Aprendre els diferents tipus de manteniment de software i els factors que afecten als costs de mantenimen
  • Entendre com es poden avaluar els sistemes heretats per decidir si s'han de retirar, s'han de seguir mantenint, s'ha de fer reenginyeria o s'han de reemplaçar.

Metodologia docent

En aquest apartat es descriuen les activitats de treball presencial i no presencial (o autònom) previstes a l'assignatura amb l'objecte de poder desenvolupar i avaluar les competències establertes anteriorment.

Amb el propòsit d'afavorir l'autonomia i el treball personal, mitjançant l'Aula Digital l'alumne tindrà a la seva disposició una comunicació en línia i a distància amb el professor, un calendari amb notícies d'interès, documents electrònics, enllaços a Internet i la proposta de treball autònom.

Volum de treball

A la següent taula es presenta la distribució d'hores segons les diferents activitats de treball presencial i no presencial planificades i la seva equivalència en crèdits ECTS (1 crèdit ECTS = 25 hores de treball de l'estudiant)

Activitats de treball presencial (2,4 crèdits, 60 hores)

ModalitatNomTip. agr.DescripcióHores
Classes teòriques Fonaments teòrics Grup gran (G)

El professor presentarà els fonaments teòrics de l'assignatura, així com exemples pràctics dels processos, metodologies i tècniques considerats. Per facilitar l?aprenentatge dels fonaments de l'assignatura, es posarà a disposició dels alumnes una presentació de cada un dels temes. Aquestes presentacions estaran disponibles a través d'Aula Digital

Amb aquesta activitat es treballa la competència específica CCM01 pel que fa al desevolupament de sistemes informàtics fiables, segurs, de qualitat i conforme als principis ètics, legislació i normativa vigents. Així mateix també es treballa la competència CCM16 mitjançant la introducció dels fonaments de l'enginyeria del software com a disciplina.

20
Classes pràctiques Cas pràctic Grup mitjà (M)

Aquesta part de l?assignatura pretén acostar l?alumne al rol d?un enginyer de software enfrontant-se al desenvolupament en equip d'un cas pràctic.

Inicialment els alumnes s'agruparan en equips de 3 a 4 persones simulant esser una empresa de desenvolupament de software.

Hauran de triar un nom per a l'empresa i un logotipus, configurar un bloc amb la seva imatge corporativa, definir els rols i activitats de cada membre de l'equip (indicant quines habilitats són necessàries en cada cas).

També hauran d'indicar quines eines s'utilitzaran per a la comunicació interna, per a la comunicació externa i per a la documentació que generin (processadors de text, maquetació, presentacions orals, fulls de càlcul, diagramadors...), dissenyar plantilles i definir la nomenclatura per anomenar els documents

Després se'ls plantejarà un cas pràctic que hauran de desenvolupar al llarg del curs, aplicant els conceptes teòrics apresos.

En les sessions pràctiques es donaran les indicacions i exemples per poder desenvolupar de manera no presencial l?etapa següent i s?exposarà oralment o es mostrarà al professor el treball dut a terme durant l?etapa vigent.

S?anirà fent una avaluació contínua qualitativa fins a l?entrega final quan es farà a més una avaluació quantitativa del conjunt de la feina, tenint en compte l?assistència i implicació de cada membre del grup durant tot el procés.

Amb aquesta activitat, a més de treballar les competències específiques de l'assignatura des d'un punt de vista pràctic, també es treballa la competència genèrica CTR06 fomentant la capacitat de lideratge, iniciativa, esperit emprenedor i eficàcia en ambient d'exigència basant-se en la creativitat, la qualitat i l'adaptació a noves situacions.

30
Classes pràctiques Exercicis pràctics avaluables Grup gran (G)

Per tal d'assolir les aptituds objectiu de l'assignatura es plantejaran exercicis que es resoldran durant sessions concretes. Cada alumne haurà de resoldre els exercicis de manera individual.

4
Classes pràctiques Resolució de problemes Grup gran (G)

Es resoldran els exercicis pràctics proposats pel professor. En aquestes sessions, els alumnes, amb el suport actiu del professor, abordaran els casos proposats als exercicis que seran de gran utilitat per comprendre i reforçar els coneixement teòrics. Perquè l'aprofitament d'aquest tipus de sessions sigui elevat es necessita una alta participació de l'alumant i, de vegades, un treball previ.

Aquesta activitat complementa l'adquisició de les competències específiques que es treballen a l'assignatura des d'una perspectiva pràctica. Així mateix es treballa la competència genèrica CTR02 que té com a objectiu fomentar la capacitat d'anàlisi crític i de proposta i aplicació de noves solucions per part de l'alumne.

4
Avaluació Examen final Grup gran (G)

Examen final per valorar tant els fonaments teòrics de l'assignatura com els aspectes pràctics.

És necessari obtenir una puntuació de 5 sobre 10 d'aquesta prova per poder aprovar l'assignatura.

2

A començament del semestre hi haurà a disposició dels estudiants el cronograma de l'assignatura a través de la plataforma UIBdigital. Aquest cronograma inclourà almenys les dates en què es faran les proves d'avaluació contínua i les dates de lliurament dels treballs. A més, el professor o la professora informarà els estudiants si el pla de treball de l'assignatura es durà a terme a través del cronograma o per una altra via, inclosa la plataforma Aula digital.

Activitats de treball no presencial (3,6 crèdits, 90 hores)

ModalitatNomDescripcióHores
Estudi i treball autònom individual Treball personal

Treball per preparar algunes classes pràctiques.

20
Estudi i treball autònom en grup Cas pràctic

Aquesta activitat és per completar el treball relacionat amb el cas pràctic indicat a les sessions presencials corresponents.

40
Estudi i treball autònom individual o en grup Estudi

Comprendre els conceptes introduïts al llarg del curs.

30

Riscs especifics i mesures de protecció

Les activitats d'aprenentatge d'aquesta assignatura no comporten riscs específics per a la seguretat i salut dels alumnes i, per tant, no cal adoptar mesures de protecció especials.

Avaluació de l'aprenentatge dels estudiants

Les competències establertes a l'assignatura seran valorades mitjançant l'aplicació d'una sèrie de procediments d'avaluació. A la taula del present apartat es descriu per a cada procediment d'avaluació, els criteris d'avaluació i el seu pes en la qualificació de l'assignatura.

L'alumne obtindrà una qualificació numèrica entre 0 i 10 per a cada activitat avaluativa la qual serà ponderada segons el seu pes a fi d'obtenir la qualificació global de l'assignatura.

Els alumnes que no hagin obtingut una qualificació major o igual a 5 de l'examen final (activitat recuperable) podran optar a una recuperació del mateix en el període d'avaluació extraordinària.

Les qualificacions del cas pràctic i dels exercicis pràctics avaluables no són recuperables i contribueixen a la nota definitiva. En cas de que un alumne no pugui assistir a una activitat no recuperable per una caua extraordinàriament greu i totalment imprevisible, ho podrà comunicar al professor, el més aviat possible perquè aquesa valori la viabilitat de mesures alternatives.

És requisit indispensable obtenir una qualificació major o igual a 5 de l'examen final per poder aprovar l'assignatura. En cas de que la nota de l'examen final sigui inferior a 5, la nota final de l'alumne serà el mínim entre 4,5 i la mitjana ponderada.

Si es detecta algun tipus de plagi en alguna activitat avaluable, això implicarà el suspens directe de tota l'assignatura per aquells alumnes involucrats sense posibilitat de recuperació.

D'acord amb l'article 33 del Reglament Acadèmic, "amb independència del procediment disciplinari que es pugui seguir contra l'estudiant infractor, la realització demostradorament fraudulenta d'algun dels elements d'avaluació inclosos en guies docents de les assignatures comportarà, a criteri del professor, una menysvaloració en la seva qualificació que pot suposar la qualificació de «suspens 0» a l'avaluació anual de l'assignatura".

Cas pràctic
Modalitat Classes pràctiques
Tècnica Treballs i projectes ( no recuperable )
Descripció

Aquesta part de l?assignatura pretén acostar l?alumne al rol d?un enginyer de software enfrontant-se al desenvolupament en equip d'un cas pràctic.

Inicialment els alumnes s'agruparan en equips de 3 a 4 persones simulant esser una empresa de desenvolupament de software.

Hauran de triar un nom per a l'empresa i un logotipus, configurar un bloc amb la seva imatge corporativa, definir els rols i activitats de cada membre de l'equip (indicant quines habilitats són necessàries en cada cas).

També hauran d'indicar quines eines s'utilitzaran per a la comunicació interna, per a la comunicació externa i per a la documentació que generin (processadors de text, maquetació, presentacions orals, fulls de càlcul, diagramadors...), dissenyar plantilles i definir la nomenclatura per anomenar els documents

Després se'ls plantejarà un cas pràctic que hauran de desenvolupar al llarg del curs, aplicant els conceptes teòrics apresos.

En les sessions pràctiques es donaran les indicacions i exemples per poder desenvolupar de manera no presencial l?etapa següent i s?exposarà oralment o es mostrarà al professor el treball dut a terme durant l?etapa vigent.

S?anirà fent una avaluació contínua qualitativa fins a l?entrega final quan es farà a més una avaluació quantitativa del conjunt de la feina, tenint en compte l?assistència i implicació de cada membre del grup durant tot el procés.

Amb aquesta activitat, a més de treballar les competències específiques de l'assignatura des d'un punt de vista pràctic, també es treballa la competència genèrica CTR06 fomentant la capacitat de lideratge, iniciativa, esperit emprenedor i eficàcia en ambient d'exigència basant-se en la creativitat, la qualitat i l'adaptació a noves situacions.

Criteris d'avaluació

Valoració de les competències específiques CCM01 i CCM16. Valoració de les competències genèriques CTR02 i CTR06.

L'avaluació es durà a terme per part del professor de manera continuada mitjançant la supervisió del cas pràctic resolt. Aquesta avaluació es farà tant en algunes sessions presencials com a partir del material que els alumnes posin a disposició del professor en el blog del seu equip.

També hi haurà definits uns lliuraments concrets de les parts del cas pràctic que es considerin més rellevants.

Percentatge de la qualificació final: 40%

Exercicis pràctics avaluables
Modalitat Classes pràctiques
Tècnica Proves objectives ( no recuperable )
Descripció

Per tal d'assolir les aptituds objectiu de l'assignatura es plantejaran exercicis que es resoldran durant sessions concretes. Cada alumne haurà de resoldre els exercicis de manera individual.

Criteris d'avaluació

Realitzar correctament dos exercicis que tenen com a objectiu posar en pràctica determinats coneixements introduits a la part teòrica de l'assignatura.

Valoració de les competències CCM1 i CCM16.

Percentatge de la qualificació final: 20%

Examen final
Modalitat Avaluació
Tècnica Proves objectives ( recuperable )
Descripció

Examen final per valorar tant els fonaments teòrics de l'assignatura com els aspectes pràctics.

És necessari obtenir una puntuació de 5 sobre 10 d'aquesta prova per poder aprovar l'assignatura.

Criteris d'avaluació

Correctesa en les repostes i qualitat de l'exposició: ordre, precisió, i concisió.

Percentatge de la qualificació final: 40%

Recursos, bibliografia i documentació complementària

L'assignatura s'impartirà fent ús del suport de Campus Extens i es disposarà de material ad hoc .

Com a suport complementari es pot accedir a la bibliografia especificada a continuació.

Bibliografia bàsica

Els dos llibres següents són considerats les fonts bàsiques de referència de l?Enginyeria del Software com a disciplina, tant a nivell nacional com internacional:

  • Pressman, R. Software Engineering: A Practitioners?s Approach (7th Edition). McGraw-Hill, 2009.
  • Sommerville, I. Software Engineering (9th edition). Addison Wesley, 2010.

Bibliografia complementària

Normes, Metodologies o Estàndards utilitzats a l?assignatura:
  • ISO/IEC 12207: 2017 Systems and software engineering -- Software life cycle processes.

Altres recursos

http://www.software-engin.com/