6 ECTS credits
160 h study time
For all students in the 2nd semester at a (F) Master - specialised level.
- 2nd semester
- Enrollment based on exam contract
- Not possible
- Grading method
- Grading (scale from 0 to 20)
- Can retake in second session
- Enrollment Requirements
- Following courses are mutually exclusive: 'Software architecturen' and 'Software architectures'
- Taught in
- Faculty of Science and Bio-engineering Sciences
- Responsible organization
- Computer Science
- Educational team
- Carlos Noguera (course titular)
- Activities and contact hours
- 26 contact hours Lecture
26 contact hours Seminar, Exercises or Practicals
- Course Content
- Introduction to Software Architecture
- What is a Software Architecture
- Revisiting Object-Oriented Analysis and Design
- Quality properties of a Design
- Architectural Styles
- Motivation and Introduction
- Overview of architectural styles
- Advanced software development models and frameworks
- Component based software development
- Service Oriented Architectures
- Aspect Oriented Software Development
- Model Driven Architecture
- Software Product Line
- Source-code quality
- Laws of Software Evolution
- Aspects of Source-code Quality
- Introduction to Source-code Metrics
- Introduction to Software Visualizations
- When concrete code examples are needed, the object-oriented language Java will be used. However, most of the material presented in this course is language independent.
- Recommended Course material
- Handbook: Software architecture in Practice, L. Bass, P. Clements, R. Kazman, Addison Wesley
Digital course material: Materiaal voor de oefeningen is beschikbaar op PointCarré
Digital course material: Cursusmateriaal is beschikbaar op PointCarré
- Additional info
- Learning Outcomes
- General Competencies
The primary objective of this course is to teach students how to approach software systems from an architectural point of view. By the end of the course, students should be able to:
- identify the different stakeholders of a software development process
- define software quality attributes
- explain the different design patterns, architectural styles and advanced software development methods that were presented in the lectures
- connect the use of design patterns, architectural styles and advanced software development methods to software quality attributes
- recognize major patterns and architectural styles in existing software systems
- generate reasonable architectural alternatives for a problem and choose among them
- evaluate software development tools, frameworks and software components from an architectural perspective
- explain the software metrics and visualisations covered in the course
- use the information obtained by applying software metrics and visualizations to identify quality issues in a software system’s architecture
The final grade is composed based on the following categories:
Written Exam determines 50% of the final mark.
Practical Assignments determine 50% of the final mark.
Within the Written Exam category, the following assignments need to be completed:
- Wrtitten theory exam which comprises 50% of the final mark.
Within the Practical Assignment category, the following assignments need to be completed:
- Mandatory assignments which comprise 50% of the final mark.
- Additional info w.r.t. grading
Mandatory assignments have to be submitted through PointCarre. The deadlines are strict.