General information

Subject type: Mandatory

Coordinator: Ana Beatriz Pérez Zapata

Trimester: Third term

Credits: 4

Teaching staff: 

Rosa Herrero Antón

Teaching languages

  • Catalan


Basic skills
  • B2_That students know how to apply their knowledge to their job or vocation in a professional way and have the skills they demonstrate by developing and defending arguments and solving problems within their area of ​​study


  • B4_That students can convey information, ideas, problems and solutions to both specialized and non-specialized audiences


  • B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy


Specific skills
  • EIS1_Ability to develop, maintain and evaluate software services and systems that meet all user requirements and that behave reliably and efficiently, are affordable to develop and maintain and comply with quality standards, applying theories, principles, methods and software engineering practices


  • EIS4_Ability to identify and analyze problems and design, develop, implement, verify and document software solutions based on adequate knowledge of current theories, models and techniques


Transversal competences
  • T1_That students know a third language, which will be preferably English, with an adequate level of oral and written form, according to the needs of the graduates in each degree


  • T2_That students have the ability to work as members of an interdisciplinary team either as one more member, or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments taking into account the available resources



The subject d'Software Engineering II of the third term of the second year, is the second of three subjects called Software Engineering. Its teaching is designed to dedicate 3 ECTS to the theory part and 1 ECTS to practice the concepts exposed to theory.

This course will introduce the concept of Software Design Patterns by studying the most used and practicing their use in different circumstances.

Another of the topics covered in this subject will be Testing, making a general introduction, and explaining some specific techniques by deepening what is necessary to be able to use it.

The recommended requirements for taking this subject are the knowledge of the subjects FUNDAMENTALS OF PROGRAMMING, OBJECT-ORIENTED PROGRAMMING and SOFTWARE ENGINEERING I.


Topic 1. Software development process             

1.1. The Unified Process.

1.2. Software Design.

1.3. Case Study.

Topic 2. Software tests

2.1. Introduction to software testing.

2.2. Test strategies.

2.3. Test techniques.

Topic 3. Software design patterns

3.1. Requirements and methods.

3.2. Pattern concept.

3.3. GoF patterns (adapter, factory, singelton, strategy, composite, facade and proxy).

Topic 4. Software modeling

4.1. Relationships between Use Cases.

4.2. Domain Model Organization.

4.3. Operations contract.

4.4. State diagrams. Pattern states.

4.5. Package Organization.

With this proposal we will reach the following contents of the report:

  • Application modeling.
  • Object-oriented analysis and design
  • Design patterns
  • Software architecture patterns

Evaluation system

Assessment activities:

EX: exam grade 50%, yes it is recoverable, and at least you need to get a 4 in the final or recovery exam.

Q: average rating of short exercise quizzes 10%, is not recoverable.

P: average grade of the internships proposed during the quarter 40%, it is not recoverable

Final grade:

If the grade obtained in the final or make-up exam is greater than or equal to 4, the student's final grade will be:

Final grade = EX · 0.50 + Q · 0.10 + P · 0.40

Otherwise, the student will fail the subject and the final grade will be:

Final note = EX


  • An activity not delivered or delivered late and without justification (court summons or medical matter) counts as a 0.
  • It is optional for teachers to accept or not deliveries outside the deadlines indicated. In the event that these late deliveries are accepted, it is up to the teacher to decide whether to apply a penalty and the amount thereof.
  • In group activities, the teacher can, based on the information available, customize the grade for each member of the group.
  • It is the student's responsibility to avoid plagiarism in all its forms. In the case of detecting plagiarism, regardless of its scope, in any activity it will correspond to having a final grade of 0. In addition, the professor will communicate the situation to the Head of Studies so that applicable measures can be taken in terms of regime punisher


  • The internship of the subject (grade P) is NOT recoverable.
  • Short exercise questionnaires (Q grade) is NOT recoverable.
  • Students who do not appear for the final exam will fail the subject without the option to retake it, and will be recorded as not having appeared. Students who did not present and those who obtain a final mark >= 5 will not be able to make up the recovery.
  • The make-up exam grade replaces the EX grade. The final grade will be calculated using the formulas detailed above.



Laurent Debrauwer (2018) Design patterns in Java. The 23 design models: descriptions and illustrated solutions in UML2 and Java. (2nd edition). ENI editions. ISBN 9782409016349

Craig Larman (2003) UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. (2nd Edition) Prentice Hall, cop. Translation Begoña Moros Valle. ISBN 978 8420534382


Shekhar Gulati, Rahul Sharma (2017) Java Unit Testing with JUnit 5: Test Driven Development with JUnit 5. APress Publishing. ISBN 1484230140.

Paloma Cáceres García de Marina, Miguel Ángel Garrido Blázquez, Almudena Sierra Alonso (2019) Specifying Software through Use Cases and Uml. Ramón Areces University Publishing House. ISBN 9788499613420.

Erich Gamma, et al. (2003) Design patterns: elements of reusable object-oriented software. Addison-Wesley, cop. Translation: César Fernández Acebal. ISBN 9788478290598.

Daniel Bolaños Alonso, Almudena Sierra Alonso, Miren Idoia Alarcón Rodríguez (2008) Software tests and JUnit: an in-depth analysis and practical examples. Prentice-Hall Spain. ISBN 9788483223543.