Software Engineering

This specialisation provides students with the skills to participate in projects for the design, maintenance and evaluation of different software systems and services and to carry out the tasks corresponding to different professional roles, including project director, analyst, domain expert, requirements engineer, software architect and database administrator. Students will learn to carry out projects of arbitrary complexity (for example, involving teams from different countries), of critical importance (for example, involving potential risk to human life in the event of faulty operation) and of different technical characteristics (for example, involving service-based systems, web systems, real-time systems, embedded systems or business systems). As a differentiating feature, students will also learn to ensure that these projects comply with the main quality standards applied in the software industry and to integrate social considerations such as sustainability, resource optimisation and confidentiality.


Have a look at the briefing of this specialisation:

Career options

Software is an important element in IT systems and has become the fulcrum of IT services for individuals and organisations, leading to widespread use of the term “software as a service”. The service sector is the mainstay of developed economies and the area that has shown the greatest economic growth in recent years, and the concept of services is now largely inseparable from the software upon which these services are built.

Informatics engineers with specialised training in Software Engineering can pursue a wide range of careers, including skilled and management positions in the following areas:

  • Development of software services and systems, working with the latest software engineering methods, techniques and tools.
  • Requirements engineering, software architecture, database administration, and any other area related to informatics.
  • Software engineering reviewing and auditing for organisations, and the design and implementation of management and quality improvement plans.

Specialization coordinator

Xavier Franch Gutiérrez

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.2
      To solve integration problems in function of the strategies, standards and available technologies
    • CES1.3
      To identify, evaluate and manage potential risks related to software building which could arise.
    • CES1.4
      To develop, mantain and evaluate distributed services and applications with network support.
    • CES1.5
      To specify, design, implement and evaluate databases.
    • CES1.6
      To administrate databases (CIS4.3).
    • CES1.7
      To control the quality and design tests in the software production
    • CES1.8
      To develop, mantain and evaluate control and real-time systems.
    • CES1.9
      To demonstrate the comprehension in management and government of software systems.
  • 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.
  • CES3
    To identify and analyse problems; design, develop, implement, verify and document software solutions having an adequate knowledge about the current theories, models and techniques.
    • CES3.1
      To develop multimedia services and applications.
    • CES3.2
      To design and manage a data warehouse.

Subjects

Specialization compulsory subjects

Specialization complementary subjects



Requisites between subjects

If a subject A is prerequisite of another subject B, it means that to be able to register B is necessary to have passed the subject A.
If a subject A is corequisite of another subject B, it means that to be able to register B is necessary to have passed or to be register in the subject A.
If a subject A is precorequisite of another subject B, it means that to be able to register B it is necessary to be registered (a quadrimester before at least) subject A. But, in case of havig a list of precorequits (A precorequsite of B, and B precorequisite of C), it won't be posible to register subject C until subject A has not been passed.
If two subjects A and B are orequisite of subject C, it means that to register subject C it is necessary to have passed either subject A or subject B.