Objectives
The course teaches students how to apply software design principles, design patterns, and architectural styles effectively, and document and evaluate architectures for large software systems. The student learns to:
- understand the theoretical aspects of design patterns and architectural styles
- apply design patterns and architectural styles in practice
- follow the recommended software design principles and avoid design smells
- design, document and evaluate architectures for large distributed systems
- explain the stakeholder forces and central quality attributes affecting the architecture
The course additionally introduces students to practical tools and methods for software design and documentation, such as model-driven development tools and the 4+1 architectural view model. The course strengthens the following working life skills: presentation skills, creativity, multi-professionalism, problem solving skills, project management, information and communication technology skills, communication skills and cooperation and negotiation skills.
The course teaches students how to apply software design principles, design patterns, and architectural styles effectively, and document and evaluate architectures for large software systems. The student learns to:
- understand the theoretical aspects of design patterns and architectural styles
- apply design patterns and architectural styles in practice
- follow the recommended software design principles and avoid design smells
- design, document and evaluate architectures for large distributed systems
- explain the stakeholder forces and central quality attributes affecting the architecture
The course additionally introduces students to practical tools and methods for software design and documentation, such as model-driven development tools and the 4+1 architectural view model. The course strengthens the following working life skills: presentation skills, creativity, multi-professionalism, problem solving skills, project management, information and communication technology skills, communication skills and cooperation and negotiation skills.
- Opettaja
Sampsa Rauti