Credits
6
Types
Elective
Requirements
This subject has not requirements
, but it has got previous capacities
Department
ESSI
Teachers
Person in charge
- Xavier Franch Gutiérrez ( xavier.franch@upc.edu )
Weekly hours
Theory
1
Problems
0
Laboratory
2
Guided learning
0.4
Autonomous learning
6.6
Objectives
-
To get introduced to the current practices of software engineering
Related competences: -
To apply software engineering methods and techniques in a project
Related competences:
Contents
-
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. -
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 -
Agile software engineering
Agile principles. Key concepts: sprint, backlog, product owner, ... Agile methods: SCRUM, Lean, Kanban. Agile project management. Documentation -
Empirical software engineering
The importance of empirical methods in Software Engineering. Qualitative approaches and quantitative approaches. Experimentation. Surveys. Case studies. Systematic Literature Reviews -
The software engineering laboratory
Main components in a software project environment. IDEs (Eclipse, ...). Code repositories (git). Issue trackers. Collaborative spaces.
Activities
Activity Evaluation act
Software engineering project
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 experimentationObjectives: 2
Week: 15
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Exposure to the theoretical background in software engineering
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 teacherObjectives: 1
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
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.
Evaluation methodology
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
Bibliography
Basic
-
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
Complementary
-
Service research challenges and solutions fot the future Internet : S-Cube : towards engineering, managing and adapting service-based systems
- Papazoglou, M,
Springer,
cop. 2010.
ISBN: 978-3-642-17598-5
http://cataleg.upc.edu/record=b1382416~S1*cat -
Software architecture : foundations, theory, and practice
- Taylor, Richard N; Medvidovi??, Nenad; Dashofy, Eric M,
John Wiley,
cop. 2010.
ISBN: 978-0-470-16774-8
http://cataleg.upc.edu/record=b1431665~S1*cat -
Ultra-Large-Scale Systems: The Software Challenge of the Future
- Northrop, Linda,
Carnegie Mellon University,
2006.
ISBN: 0-9786956-0-7
http://www.sei.cmu.edu/library/assets/ULS_Book20062.pdf -
The Agile samurai : how agile masters deliver great software
- Rasmusson, Jonathan,
The Pragmatic Bookshelf,
cop. 2010.
ISBN: 1934356581
http://cataleg.upc.edu/record=b1389167~S1*cat -
The Rational unified process : an introduction
- Kruchten, Philippe,
Addison-Wesley,
2007.
ISBN: 0321197704
http://cataleg.upc.edu/record=b1323392~S1*cat
Web links
- The i* guide http://istar.rwth-aachen.de/tiki-view_articles.php
- The Scrum guide https://www.scrum.org/scrum-guide