This course aims to present the most industry-relevant techniques in the area of architectural design and provide the means to document software architectures with standards like UML. It also provides the participants with the necessary knowledge to reduce the technical debt in the software development projects they work on. Moreover, the course has a hands-on approach, which translates into actionable know-how that is relevant to the professional practice of software design.
- Quality requirements: motivates the importance of quality requirements in the success of a software architecture; provides a definition of what quality requirements are.
- Creating a software architecture: provides the tools (design principles, design tactics, and architectural patterns) and methods to create a software architecture that satisfies the key requirements and, particularly, the quality requirements related to performance, availability, and security.
- Evaluating a software architecture: describes a qualitative method to assess whether a software architecture is able to provide support for the key system requirements.
Learning outcomes: after course completion, the student should be able to:
- Understand the prevalent role of architectural design in the development lifecycle
- Identify and prioritize the requirements that have the highest impact on the design of a software architecture
- Suggest technical solutions to solve design challenges, e.g., with respect to performance, availability and security requirements
- Be able to identify trade-offs and risks in an architectural designs
Related industrial challenges addressed in the course:
- Improving the chances of delivering a project on time/budget by identifying the design flaws early on
- Reducing technical debt
- Making explicit trade-off decision among the conflicting interests of the stakeholders involved in a software development project
- Tackling security, performance and availability from the early stages of the development process
The PROMPT Advanced Software Architecture course is meant for professionals. The lectures are provided as online videos, and the assignments can be supervised via Skype. Furthermore, the industrial background of PROMPT participants is considered as a means to fulfill the entry requirements stated on the admission page.
For further questions and clarification, do not hesitate to contact Riccardo Scandariato.
Upcoming instances: January 2019
- More information at University of Gothenburg
- Course syllabus at University of Gothenburg
- Course title in Swedish: Avancerad mjukvaruarkitektur
- Course code: DIT544 (GU)
- Course requirements: two years of studies within the subject computer science, software engineering, or equivalent. Successful completion of a course in the area of software architecture (DIT945 Model Driven software development or similar). Applicants must prove their knowledge of English: English 6/English B from Swedish Upper Secondary School or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.