Software Engineering Project

You are here

Credits
6
Department
ESSI
Types
Specialization compulsory (Software Engineering)
Requirements
  • Prerequisite: GPS
  • Prerequisite: ER
  • Prerequisite: AS
A project is the most common activity of engineering in their professional development, even in many companies all the engineering work is organized around projects. And informatics engineering is not immune to this trend, but is clearly present. Within the speciality of software engineering, this course is designed to reproduce, as far as possible, the project development of a software system such as in the professional environment, i.e., with a project team with different roles, and taking into account all aspects of project management: planning, cost, schedule, deliverables, meeting minutes, oral presentations, etc ... It is therefore a completely practical course. Necessary techniques have already been acquired in previous courses (GPS, ER, AS and previous ones) and in PES will be implemented during the realization of a project on a case to be presented.

Teachers

Person in charge

  • Maria Jose Casañ Guerrero ( )

Others

  • Jordi Piguillem Poch ( )
  • Xavier Burgués Illa ( )
  • Xavier Franch Gutiérrez ( )

Competences

Transversal Competences

Teamwork

  • G5 - To be capable to work as a team member, being just one more member or performing management tasks, with the finality of contributing to develop projects in a pragmatic way and with responsibility sense; to assume compromises taking into account the available resources.
    • 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 - To communicate with other people knowledge, procedures, results and ideas orally and in a written way. To participate in discussions about topics related to the activity of a technical informatics engineer.
    • 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.

Technical Competences of each Specialization

Software engineering specialization

  • CES1 - To develop, maintain and evaluate software services and systems which satisfy all user requirements, which behave reliably and efficiently, with a reasonable development and maintenance and which satisfy the rules for quality applying the theories, principles, methods and practices of Software Engineering.
    • 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 - To value the client needs and specify the software requirements to satisfy these needs, reconciling conflictive objectives through searching acceptable compromises, taking into account the limitations related to the cost, time, already developed systems and organizations.
    • 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

  1. To reinforce concepts already learned in previous courses through his practice in a project
    Related competences: G5.3, CES1.1, CES2.1, CES2.2, CES1.7,
  2. Know how to put in practice the principles of project management
    Related competences: G5.3, CES1.1, CES2.2, CES1.3,
  3. Knowing how to follow a method in a systematic and disciplined way
    Related competences: G5.3, CES1.1,
  4. Knowing how to properly use tool support for project management and development
    Related competences: CES2.2, CES1.7,
  5. Learn to make project presentations to diverse audiences
    Related competences: G4.3, G5.3,
  6. Learn the technique of writing the project and other documents resulting from the work
    Related competences: G4.3, G5.3,

Contents

  1. Presentation of the project
    Description of the operation, statement, guide the project, making of project teams
  2. Background
    Brief summary of the knowledge acquired in previous courses that is relevant for the project construction
  3. Development environment
    Description of the development tools needed for the project
  4. Inception phase of the project
    Development of the artifacts corresponding to the inception phase of the project
  5. Initial development phase of the project
    Development of the artifacts corresponding to the two first development sprints of the project
  6. Final development phase of the project
    Development of the artifacts corresponding to the last two sprints of the project

Activities

Starting the project

Read the material, form project teams and assign roles
Theory
0
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
0
  • Laboratory: Read and understand the material, form groups, assign roles, first contact with the tools
Objectives: 2 3
Contents:

Background

Make clear the knowledge necessary for the consecution of the project
Theory
0
Problems
0
Laboratory
4
Guided learning
0
Autonomous learning
2
Objectives: 1
Contents:

Configuration of the development environment

Become familiar with the tools
Theory
0
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Objectives: 4
Contents:

Inception phase of the project

The project teams develop the project with support from the tutor for questions and queries
Theory
0
Problems
0
Laboratory
16
Guided learning
0
Autonomous learning
18
  • Laboratory: The weekly work to build the initial phase of the project, includes the presentation.
  • Autonomous learning: Work independently of project teams
Objectives: 1 2 3 4 6
Contents:

Initial phase of development of the project

The project teams develop the project with support from the tutor for questions and queries
Theory
0
Problems
0
Laboratory
16
Guided learning
0
Autonomous learning
18
  • Laboratory: The weekly work to build the initial phase of the project.
  • Autonomous learning: Work independently of project teams
Objectives: 1 2 3 4 6
Contents:

Final phase of the project

The project teams develop the project with support from the tutor for questions and queries
Theory
0
Problems
0
Laboratory
16
Guided learning
0
Autonomous learning
18
  • Laboratory: The weekly work to build the final phase of the project, includes the presentation.
  • Autonomous learning: Work independently of project teams
Objectives: 1 2 3 4 6
Contents:

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 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

Bibliografy

Basic:

  • Agile estimating and planning - Cohn, M, Prentice Hall Professional Technical Reference , 2006. ISBN: 9780131479418
    http://cataleg.upc.edu/record=b1433570~S1*cat
  • User Stories Applied for Agile Software Development - Cohn, Mike, Addison-Wesley , 2004. ISBN: 0321205685

Complementary:

Web links

Previous capacities

The subjects learned in the prerequisite courses