Enginyeria del Software Avançada

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria de Serveis)
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ESSI
As systems and services become more pervasive, large-scale and complex, new methods are needed to deal with the complexity of conceiving them, designing them and implementing them. ASE will expose students to software engineering methods that provide them the ability to develop software systems and services in a more efficient and effective way. The presented methods will embrace the full range of software engineering activities, from requirements engineering to software validation, from formal models to practical artifacts, from products to processes. The program of the course will evolve continuously as new methods emerge and others become obsolete. Practical application to a project will be part of the course

Professorat

Responsable

  • Xavier Franch Gutiérrez ( )

Hores setmanals

Teoria
1
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.4
Aprenentatge autònom
6.6

Competències

Competències Tècniques de cada especialitat

Enginyeria de serveis

  • CEE5.1 - Capacitat per participar en projectes de millora o creació de sistemes de serveis, aportant especialment: a) propostes d'innovació i recerca basades en nous usos i desenvolupaments de les tecnologies de la informació b) l'aplicació dels principis de l'enginyeria del programari i les bases de dades en el desenvolupament dels sistemes d'informació que siguin més adequats, c) la determinació, instal·lació i gestió de la infraestructura/plataforma informàtica necessària per al funcionament eficient dels sistemes de servei.
  • CEE5.2 - Capacitat per aplicar els coneixements obtinguts en sistemes de servei de qualsevol tipus, estant familiaritzat amb alguns d'ells, i amb coneixement profund dels sistemes de comerç electrònic i les seves extensions (eBusiness, eOrganization, eGovernment, etc.).

Competències Tècniques Generals

Genèriques

  • CG2 - Capacitat per a dirigir, planificar i supervisar equips multidisciplinaris.

Competències Transversals

Sostenibilitat i compromís social

  • CTR2 - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar. Ser capaç d'analitzar i valorar l'impacte social i mediambiental.

Raonament

  • CTR6 - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.

Objectius

  1. To get introduced to the current practices of software engineering
    Competències relacionades:
  2. To apply software engineering methods and techniques in a project
    Competències relacionades:

Continguts

  1. Preliminaries
    Motivation. Software Engineering in the 201x. The fundamental principles of Software Engineering. Review of Software Engineering skills and knowledge. Review of Software Engineering life-cycle and activities.
  2. A guided tour to software engineering hot topics
    Summary of the topics that are currently focus of the discipline, in the context of the life-cycle activities: business modeling, requirements engineering, software architecture and design, implementation issues, validation and testing, deployment, project management. Every year, one of these topics will be chosen to be studied in more detail
  3. Agile software engineering
    Agile principles. Key concepts: sprint, backlog, product owner, ... Agile methods: SCRUM, Lean, Kanban. Agile project management. Documentation
  4. Empirical software engineering
    The importance of empirical methods in Software Engineering. Qualitative approaches and quantitative approaches. Experimentation. Surveys. Case studies. Systematic Literature Reviews
  5. The software engineering laboratory
    Main components in a software project environment. IDEs (Eclipse, ...). Code repositories (git). Issue trackers. Collaborative spaces.

Activitats

Activitat Acte avaluatiu


Projecte d'enginyeria del software

This is the only evaluation input for the course. The project will be organized into two-weekly iterations. Every iteration will have a concrete goal determined in the previous one. The evaluation of each iteration can be diverse: from presentations, to documentation, to hand-on experimentation
Objectius: 2
Setmana: 15
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Aprenentatge de la base teòrica a l'enginyeria del software

The student respectfully pay attention to the teachers' explanation The student participates actively in the lessons both under teacher's requests or by own initiative The student completes the (short) assignments proposed by the teacher
Objectius: 1
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Metodologia docent

The course is divided mainly into two parts.

In the first part, theoretical background is introduced to the student.

In the second part, the emphasis will be in the construction of a software product by teams of students. Additional theoretical concepts will be introduced whenever necessary. Teams will be sized depending on the number of students. Given the agile focus chosen for the course and also the intention to build non-trivial products, the target will be having teams among 5 and 7 students.

Mètode d'avaluació

The final grade (FG) of the the course for a students is obtained by applying an individual factor (IF) to the team project grade (PG):

FG = IF * PG (FG will be truncated to fit in the range [0, 10])

PG will be obtained by evaluating the completeness and quality of the artefacts (including presentations) delivered during the course by every team (Qual) and considering also the scope of the project (Scop, the more ambitious the project is, the higher value):

PG = Qual * Scop, 0.8 <= Scop <= 1.2, 0 <= Qual <= 10 (PG will be truncated to fit in the range [0, 10])

IF will be obtained from the perception of the teacher during the course, and may involve the opinion of the student team mates:

0 <= IF <= 10

Bibliografia

Bàsica:

  • Software Engineering, 9th Edition - Sommerville, Ian, Addison-Wesley, 2011. ISBN: 0-13-703515-1
  • Requirements engineering : from system goals to uml models to software specifications - Lamsweerde, Axel van, Wiley, 2009. ISBN: 978-0-470-01270-3
    http://cataleg.upc.edu/record=b1342935~S1*cat
  • Qualitative Research & Evaluation Methods, 3rd edition - Patton, Michael Quinn, SAGE Publications, 2002. ISBN: 0761919716
  • Agile estimating and planning - Cohn, Mike, Prentice Hall Professional Technical Reference, cop. 2006. ISBN: 9780131479418
    http://cataleg.upc.edu/record=b1433570~S1*cat
  • User stories applied : for agile software development - Cohn, Mike, Addison-Wesley, cop. 2004. ISBN: 9780321205681
    http://cataleg.upc.edu/record=b1433569~S1*cat

Complementaria:

Web links

Capacitats prèvies

The students need a basic knowledge on traditional software engineering: basic life cycle paradigms, and basic notions of requirements engineering, software architecture and implementation skills.