Software Architecture Course

Context

This course is part of the Software Engineering degree at the School of Computer Science Engineering. It is also part of the specific training module titled Software engineering. Other related subjects are Software Process Engineering; Software Design; Software Quality, validation and Verifying; Requirements Engineering and Software Engineering Modelling.

The subject is compulsory and is taught in Spanish and English during the second semester of the third year of the Degree in Software Engineering.

It has 6 ECTS credits, which represent a total of 150 hours, 60 on-campus activities hours and 90 self-study hours.

From the organizational point of view, the course will have two hours of lectures a week (for a total of 21 hours), one hour seminar (for a total of 7 hours), two hours of laboratory practice (for a total 28 hours), and 2 group tutorials hours.

Syllabus

  • Software Architecture definition and basic concepts
    • Software Architecture Definitions
    • Role of Software Architect and Stakeholders
    • Description and validation of Software Architectures
    • Software Architecture Viewpoints and Perspectives
  • Software Architecture Taxonomies
  • Architectural tactics, styles and patterns
  • Allocation: Building, deployment and distribution
  • Modularity
  • Behaviour: Components and connectors
  • Integration
  • Business architectures

Course editions

The course started in 2012-13 but we were using University of Oviedo's virtual campus infrastructure to store the material.

Laboratory assignments

The laboratory work will be done in teams of 5-8 students using github.

Conferences

During each course we organize several invited conferences by some professional experts related with software architecture. Here, you can see the conferences that have been organized in the last years

DatePresenterTitleMaterial
15/Mar/2023 Rafael F. Font 7 years of an IT Project Slides (English) Video (English), Video (Spanish)
15/Feb/2023 Iván Arrizabálaga Getino, Director of Engineering at JOOR Software architecture, people and other juices Slides (English) Video (English), Video (Spanish)
6th/Apr/2022 David Rico, Manager Industry Asturias NTT DATA, NTT Data
Eduardo Priego, Tech Lead, NTT Data
Mario Olea, Tech Lead, NTT Data
Microservices (Spanish) Slides (Spanish)
16th/Mar/2022 Pablo Bermejo García, Distinguised Software Architect
DXC Technology
Avoiding cosplaying when designing software Slides, Video (English), Video (Espanish)
14th/Apr/2021 Jorge Manrubia Díez, Senior programmer at Basecamp Fighting the merchants of complexity Slides, Video (English), Video (Espanish)
10th/Feb/2021 Ángel Maldonado, CEO, Pablo Cañal, Gema Rico, developers at Empathy.co Open Decentralization: SOLID and Empathy for new developers Slides, Video (English), Video (Espanish)
1st/April/2020 Diego Berrueta, Principal Engineer, Atlassian Scaling towards a thousand microservices Slides, Video (English), Video (Espanish)
19/Feb/2020 Alejandro Juan García, Project Manager, Empathy.co Solid Search Video (Spanish)
12/Jun/2019 Mitzi Laszlo (Solid Manager at Inrupt) Solid presentation English
20/Mar/2019 Pablo Bermejo, Digital Platform Engineering Manager at DXC Technology Software Architecture #10YearsChallenge Slides, Source code of slides
30/Jan/2019 Sergio Fernández, Software Development Engineer, Amazon Trends in Software Architecture: A professional (dis)orientation Slides
9/Apr/2018 Luis Fernández Palacio, Software architect, CapGemini Software architecture based on microservices Video
20/Apr/2017 Manuel Jesús Fernández, Quality department manager, Mecalux Arquitectura del software del producto Mecalux EasyWMS Slides, Video
21/Mar/2017 Miguel Fernández, Senior Platform Engineer, Github Refactoring systems at scale Video
14-15/Mar/2017 Iván Arrizabalaga Getino, CTO, Zapiens Zapiens: from legacy to production, and more Slides Video

Further info

Official information (English and Spanish)