Teachers
Person in charge
- Carles Farre Tost ( carles.farre@upc.edu )
- Silverio Juan Martínez Fernández ( silverio.martinez@upc.edu )
Others
- Albert Pinto Gil ( albert.pinto@upc.edu )
- Matías Sebastián Martínez Martínez ( matias.martinez@upc.edu )
- Vincenzo De Martino ( vincenzo.de.martino@upc.edu )
- Víctor Asenjo Carvajal ( victor.asenjo@upc.edu )
Competences
Teamwork
- G5.3 - To identify the roles, skills and weaknesses of the different members of the group. To propose improvements in the group structure. To interact with efficacy and professionalism. To negotiate and manage conflicts in the group. To recognize and give support or assume the leader role in the working group. To evaluate and present the results of the tasks of the group. To represent the group in negotiation involving other people. Capacity to collaborate in a multidisciplinary environment. To know and apply the techniques for promoting the creativity.
Effective oral and written communication
- G4.3 - To communicate clearly and efficiently in oral and written presentations about complex topics, becoming adapted to the situation, the type of audience and the communication goals, using the strategies and the adequate means. To analyse, value and respond adequately to the questions of the audience.
Software engineering specialization
- CES1.1 - To develop, maintain and evaluate complex and/or critical software systems and services.
- CES1.3 - To identify, evaluate and manage potential risks related to software building which could arise.
- CES1.7 - To control the quality and design tests in the software production
- CES2.1 - To define and manage the requirements of a software system.
- CES2.2 - To design adequate solutions in one or more application domains, using software engineering methods which integrate ethical, social, legal and economical aspects.
Objectives
-
To reinforce concepts already learned in previous courses through his practice in a project
Related competences: CES1.1, CES2.1, CES2.2, G5.3, CES1.7, -
Know how to put in practice the principles of project management
Related competences: CES1.1, CES2.2, G5.3, CES1.3, -
Knowing how to follow a method in a systematic and disciplined way
Related competences: CES1.1, G5.3, -
Knowing how to properly use tool support for project management and development
Related competences: CES2.2, CES1.7, -
Learn to make project presentations to diverse audiences
Related competences: G4.3, G5.3, -
Learn the technique of writing the project and other documents resulting from the work
Related competences: G4.3, G5.3,
Contents
-
Presentation of the project
Description of the operation, statement, guide the project, making of project teams -
Background
Brief summary of the knowledge acquired in previous courses that is relevant for the project construction -
Development environment
Description of the development tools needed for the project -
Inception phase of the project
Development of the artifacts corresponding to the inception phase of the project -
Initial development phase of the project
Development of the artifacts corresponding to the two first development sprints of the project -
Final development phase of the project
Development of the artifacts corresponding to the last two sprints of the project
Activities
Activity Evaluation act
Background
Make clear the knowledge necessary for the consecution of the projectObjectives: 1
Contents:
Theory
0h
Problems
0h
Laboratory
4h
Guided learning
0h
Autonomous learning
2h
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
6h
Inception phase of the project
The project teams develop the project with support from the tutor for questions and queries- Laboratory: The weekly work to build the initial phase of the project, includes the presentation.
- Autonomous learning: Work independently of project teams
Contents:
Theory
0h
Problems
0h
Laboratory
16h
Guided learning
0h
Autonomous learning
18h
Initial phase of development of the project
The project teams develop the project with support from the tutor for questions and queries- Laboratory: The weekly work to build the initial phase of the project.
- Autonomous learning: Work independently of project teams
Contents:
Theory
0h
Problems
0h
Laboratory
16h
Guided learning
0h
Autonomous learning
18h
Final phase of the project
The project teams develop the project with support from the tutor for questions and queries- Laboratory: The weekly work to build the final phase of the project, includes the presentation.
- Autonomous learning: Work independently of project teams
Contents:
Theory
0h
Problems
0h
Laboratory
16h
Guided learning
0h
Autonomous learning
18h
Initial presentation of the project
Customer-oriented presentation, explaining the functionality of the software system to be built, on what platform, and who is the final userObjectives: 5
Week: 4
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Final presentation of the project
Engineer-oriented presentation, which should explain the technical contentObjectives: 5
Week: 14
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
It is a project-based course, and therefore essentially practical. The classes will be always in classroom laboratory with an expected number of 3 to 5 project teams per classroom. The project teams will be composed of 5 to 7 students, in order to allow implementing a non-trivial prototype.The explanations of concepts needed (most at the first two weeks, but also at any time whenever necessary) will be in the same classroom. The teacher in the classroom, will act as tutor of the teams. Both presentations will be also provided in lab hours.
The project will start from a general idea and will try to reproduce a real project, with all its elements (deadlines, deliverables, project management, etc..). The methodology used will be agile, organized as an initial inception phase and then 3 or 4 development iterations. The technical issues that will be put into practice will come from the previous courses (IES, BD, ER, AS, GPS).
Evaluation methodology
In a project's course, what needs to be qualifies is the realization of the project itself. The project is developed as team work, but also the team members have assigned different tasks which demand to be evaluated individually. As a result, the final grade of every student is determined applying the following formula:Nfinal = Nteam * IndivFactor
The project global grade Nteam includes the project ambition, the artifacts produced, the team management, the documentation and the presentations:
Nteam = (0.6*Artifacts + 0.2*ProjectManagement + 0.2*(Docum+Presentations))*Ambition, where:
- The grade Artifacts is computed as a weighted average of all the delivered artifacts. As the most important artifact, the software executable prototype represents the 50% of this grade.
- In ProjectManagement are included both human aspects (e.g., balanced share of the work, deadline achievement, etc.) and the efficient use of development tools (e.g., code repositori -git-, ...)
- In the documentation and presentation evaluation, are taken into account especially communicational aspects and the neatness of the work done
- The ambition measures the final complexity of the software produced. It is a multiplicative factor comprised among 0.8 and 1.2, determined by the teacher. In any event, this multiplicative factor cannot make the Nteam grade greater than 10.
The individual factor IndivFact is also a multiplicative factor among 0.8 and 1.2 (and similarly, cannot make Nfinal grow beyond 10). This factor is obtained from the evaluation that the teacher makes about the participation of the student in the project development and the evaluation that the team mates make on this very participation. In really exceptional situations, IndivFact can be less than 0.8 for those students who have really very low participation in the project along the course.
The assessment of generic skills is given directly by some project factors:
Oral and Written Communication = (Docum+Presentations)*IndivFactor
Teamwork = ProjectManagement*IndivFactor
and has values ​​A, B, C, D, according to:
A if the score is greater than 8.4
B if the score is between 7 and 8.4
C if the score is between 5 and 6.9
D if the score is less than 5
Bibliography
Basic
-
Agile estimating and planning
- Cohn, M,
Prentice Hall Professional Technical Reference,
2006.
ISBN: 0131479415
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004009399706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
User stories applied: for agile software developmentnt
- Cohn, M,
Addison-Wesley,
2004.
ISBN: 9780321205681
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004009389706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Material de l'assignatura
- Professorat PES,
https://www.essi.upc.edu/~franch/PES_material.zip
Complementary
-
Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development
- Larman, C,
Prentice Hall PTR,
2005.
ISBN: 0131489062
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002842069706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
The Agile samurai: how agile masters deliver great software
- Rasmusson, J,
The Pragmatic Bookshelf,
2010.
ISBN: 9781934356586
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003867899706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Clean Android architecture : take a layered approach to writing clean, testable, and decoupled Android applications
- Dumbravan, Alexandru,
Packt Publishing, Limited,
2022.
ISBN: 9781803240558
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=6997317 -
Flutter cookbook : 100+ step-by-step recipes for building cross-platform, professional-grade apps with Flutter 3.10.x and Dart 3.x
- Alessandria, Simone,
Packt Publishing Ltd,
©2023.
ISBN: 9781803232638
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=30587007 -
React and react native : build cross-platform JavaScript and TypeScript apps for the web, desktop, and mobile
- Sakhniuk, Mikhail; Boduch, Adam,
Packt Publishing Ltd,
©2024.
ISBN: 9781805126874
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=31304328
Web links
- Recordatori simple sobre UML http://www.ibm.com/developerworks/rational/library/769.html#fig4
- Site de UML http://www.uml.org/
- Site de gitlab https://about.gitlab.com/
- Site de bitbucket https://bitbucket.org/
- Site de Android Studio https://developer.android.com/studio/index.html
- Site de GitHub https://github.com/
- Site de Gradle https://gradle.org/
- Informació sobre Taiga https://tree.taiga.io/
- Site de Trello https://trello.com/
- The SCRUM Guide https://www.scrum.org/scrum-guide