Competencies and objectives

 

Course context for academic year 2025-26

The development of a software system involves making decisions about how the process will be organized and planned throughout the project's life cycle. Agile development methodologies support realistic planning and enable teams to accommodate changes while minimizing their impact on the system's development, all while maintaining software quality.

This course introduces some of the most widely used practices in agile application development, implemented through group projects based on the methodologies covered in lectures. It also revisits software modeling techniques introduced in previous courses, with a focus on designing robust and flexible systems through the use of design patterns.

To successfully follow the course, students are expected to have a solid understanding of object-oriented programming and a basic knowledge of UML.

 

 

Course competencies (verified by ANECA in official undergraduate and Master’s degrees) for academic year 2025-26

Specific Competences (CE)

  • CE1 : Capacity to design, develop, select and evaluate computer systems and applications, ensuring their reliability, security and quality in accordance with ethical principles and the legislation and regulations in force.
  • CE13 : Understand and apply the tools needed for the storage, processing and access to Information Systems, including web-based systems.
  • CE16 : Understand and apply the principles, methodologies and life cycles of software engineering.
  • CE7 : Understand, design and use the most appropriate data types and structures to solve problems in the most efficient manner.

 

 

 

Learning outcomes (Training objectives)

No data

 

 

Specific objectives stated by the academic staff for academic year 2025-26

  • Get an overview of the major generic process frameworks, techniques and notations in Software Engineering.
  • Know the main characteristics of the most widespread agile development methodologies.
  • Being able to implement management techniques, modeling and agile development in a software project.
  • Being able to analyze software development processes existing in organizations and suggest improvements to them based on the processes, techniques and tools in the subject studied.
  • Understanding the relationship between analytical artifacts (studied in other subjects) and artifacts of design and implementation of a software system within the various software development processes.
  • Understand the concept of pattern, and some of the best-known design architectural patterns, and learn to identify their advantages and disadvantages.
  • Being able to apply patterns and mechanisms of abstraction to simplify and identify opportunities for reuse of software components.
  • Understanding the role of quality assurance in software engineering.

 

 

General

Code: 34026
Lecturer responsible:
Abreu Salas, José Ignacio
Credits ECTS: 6,00
Theoretical credits: 1,20
Practical credits: 1,20
Distance-base hours: 3,60

Departments involved

  • Dept: Software and Computing Systems
    Area: LANGUAGES AND COMPUTING SYSTEMS
    Theoretical credits: 1,2
    Practical credits: 1,2
    This Dept. is responsible for the course.
    This Dept. is responsible for the final mark record.

Study programmes where this course is taught