General information


Subject type: Mandatory

Coordinator: Vladimir Bellavista Parent

Trimester: Third term

Credits: 4

Teaching staff: 

Rosa Herrero Antón

Academic year: 2025

Teaching course: 2

Languages ​​of instruction


  • Catalan

Competencies / Learning Outcomes


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
  • EFB4_Basic knowledge of the use and programming of computers, operating systems, databases and computer programs with application in engineering

  • 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

Presentation of the subject


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

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

Another of the topics addressed in this subject will be Testing, making a general introduction, and explaining a specific technique, going into as much depth as necessary to be able to use it.

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

The classroom (physical or virtual) is a safe space, free from sexist, racist, homophobic, transphobic and discriminatory attitudes, whether towards students or teachers. We trust that together we can create a safe space where we can make mistakes and learn without having to suffer the prejudices of others.

Contents


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. Testing strategies

2.3. Testing techniques

Topic 3. Software modeling

3.1. Relationships between Use Cases

3.2. Organization of the Domain Model

3.3. Operations contract

3.4. State diagrams and state patterns

3.5. Organization of Packages

Topic 4. Software design patterns

4.1. Requirements and methods

4.2. Concept of Pattern

4.3. GoF patterns (adapter, factory, singleton, strategy, composite, facade and proxy)

 

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

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

Activities and evaluation system


Assessment activities:

EX: The exam grade is 40%, it is retaken, and at least a 5 out of 10 must be obtained in the final or retake exam.

R: Average grade for the challenges completed in theory classes 20%, not recoverable.

P: Average grade for the practices proposed during the quarter 40%, not recoverable.

Final grade:

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

Final grade = EX · 0.40 + R · 0.20 + P · 0.40

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

Final note = EX

Considerations:

  • 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, personalize the grade for each member of the group.
  • It is the student's responsibility to avoid plagiarism in all its forms. Any form of academic fraud will be sanctioned in accordance with the center's evaluation regulations. In the event that signs of fraud are detected, including the improper use of generative artificial intelligence tools, the subject's teaching staff may call the student for an individual interview with the aim of verifying authorship. Failure to comply will result in a NP grade for the subject - without the right to retake - and the teacher will communicate the situation to the coordination so that applicable measures can be taken in terms of the sanctioning regime.

Recovery:

  • The internship of the subject (grade P) is NOT recoverable.
  • The Challenges (Rated R) is NOT recoverable.
  • Students who do not take the final exam will fail the subject without the option of retake, and will be recorded as not having taken the exam. Only students who take the final exam and fail, and who obtain a final grade of less than 5, are entitled to the retake exam.
  • The grade of the retake exam replaces the EX grade. The final grade will be calculated using the formulas detailed above.

Bibliography


Basic

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

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

Complementary

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.

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

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.

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