Master in Software Development and Architecture

Master in Software Development and Architecture

Master all the phases of the development process of an IT Project and learn how to define a software structure with a reliable and efficient performance

Nid: 5355
Syllabus
SYLLABUS

SOFTWARE ARCHITECTURE (5 ECTS)

A good software architecture can mean the success or failure of a project. In this subject you will learn which architectures are being used in the market today, and you will learn how to make decisions to choose the most appropriate software architecture for your project: from monolithic architectures to microservices architectures, we will analyze the pros and cons of the most relevant ones so that you can make decisions.

SOFTWARE DESIGN I (5 ECTS)

In this subject you will learn the most recommended and validated programming practices for software design, such as Clean code, SOLID, software design patterns or TDD.

SOFTWARE DESIGN II (5 ECTS)

You will continue working on your quality software using advanced techniques for software design. Some of these techniques could be Domain-Driven Design or Hexagonal Architecture.

SOFTWARE ARCHITECTURE I (5 ECTS)

A good software architecture can mean the success or failure of a project. In this subject you will learn what architectures are being used in the market today, and you will learn to make decisions to choose the most appropriate software architecture for your project: from monolithic architectures to microservices architectures, we are going to analyze the pros and cons of the more relevant so that you can make decisions.

SOFTWARE ARCHITECTURE II (5 ECTS)

Software architectures must adapt to the context in which they are developed, but also to the way in which they are deployed. In this subject you will obtain the necessary concepts to design scalable cloud architectures and you will test your knowledge by deploying complex architectures on the AWS platform.

NON-STRUCTURED DATABASES (5 ECTS)

Chososing the right technologies and designing efficient models are essential skills for a software architect. In this subject you will train the most popular No-SQL's database families to expand your range of technological options. MongoDB, Hive, Hbase, Cassandra, Neo4J or Elastic Search will no longer be unknown concepts.

PROGRAMMING PARADIGMS (5 ECTS)

The imperative paradigm and object-oriented programming are no longer a new thing. Currently, new programming languages are appearing that make use of new programming paradigms. In this subject you will learn to master concepts of programming paradigms, environments, languages and technologies that allow their correct choice and the optimal use of their capabilities.

SOFTWARE DEVELOPMENT MODELS (5 ECTS)

The path that takes us from the programming process, until this software reaches production, is increasingly complex. In the Software Development Models subject we will see what a production pipeline is along with Continuous Integration (CI) and Continuous Delivery (CD) tools.

AGILE METHODOLOGIES (5 ECTS)

Managing projects has never been easy, but Agile methodologies can help us do it. If you still don't know what Scrum, Kanban or Agile Inception are, in this subject you will learn everything about them.

DEVELOPMENT PRINCIPLES AND TOOLS (5 ECTS)

Software development is a team work and for this we need principles and tools that help us to collaborate with our team. In this subject we will introduce communication tools, development principles, as well as a DevOps Mindset.

FUNDAMENTALS OF TESTING (5 ECTS)

A product cannot be of quality without a good testing strategy. In the Fundamentals of Testing subject, you will see techniques and tools to prevent our software from being riddled with bugs.

MASTER’S THESIS (10 ECTS)

During the development of the Master's Final Thesis, you will be able to put into practice everything you have learned while working as a team on a real challenge proposed and led by a company in the area.