-
Introduction and administrative information
-
Why is software architecture and design a needed discipline?
-
Architecture Styles
-
OOP Anti-Patterns
-
Setup environment for exercises and portfolio
SWAT Lecture
SWAT Lecture
Introduction
The software architecture and techniques SWAT lecture conveys the basics of systematic agile design for a software architecture. The approach is adequate for the problem of (agile architectural thinking) as well as methods of agile quality assurance. Students apply the learnt principles of their semester or private software projects.
It is particularly suitable for students who are working on a larger software project at the same time. The course with 3 ECTS was taught at Swiss technical universities during this and the last decade. The themes are regularly updated to reflect actual trends and technical possibilities.
Slides and reference literature are in English and published under Slides and Literature.
Description
\$2/3\$ of the lecture is the presentation of new concepts. \$1/3\$ of the lecture is used to discuss the literature and support the students in the application of the concepts for their software project.
The basics of the domain-driven design approach are presented in the third part of the training [9, 10, 11].
Lecture | Content | Details |
---|---|---|
Lecture 1 |
Why agile architecture and design? |
|
Lecture 2 |
Evolution of Software Architecture and Design over the last Decades |
|
Lecture 3 |
What is Agile Architecture? |
|
Lecture 4 |
Agile Approaches with Scrum, eXtreme Programming, LeSS |
|
Lecture 5 |
Refactoring |
|
Lecture 6 |
Errors, Vulnerabilities, and Smells in Source Code |
|
Lecture 7 |
Architecture of Components and Subsystems |
|
Lecture 8 |
Verify functional features |
|
Lecture 9 |
Validate Architecture Characteristics |
|
Lecture 10 |
Architecture Documentation |
|
Lecture 11 |
Software Architectural Trends (1/2) |
|
Lecture 12 |
Software Architectural Trends (2/2) |
|
Lecture 13 |
Domain-Driven Design Workshop |
|
Lecture 14 |
Team and Technical Excellence for Architects |
|
References
[1] N. Ford, R. Parsons, and P. Kua, Building Evolutionary Architectures: Automated Software Governance, Second. O’Reilly Media, 2023 [Online]. Available: https://www.amazon.com/dp/B0BN4T1P27
[2] N. Ford, R. Parsons, and P. Kua, Building Evolutionary Architectures: Support Constant Change, First. O’Reilly Media, 2017 [Online]. Available: https://www.amazon.com/dp/1491986360
[3] M. Fowler, Refactoring, First. Addision-Wesley, 1999 [Online]. Available: https://www.amazon.com/dp/B004PQQRK2
[4] R. C. Martin, Clean Code. Prentice Hall, 2009 [Online]. Available: https://www.amazon.com/dp/0132350882
[5] R. C. Martin, The Clean Coder. Prentice Hall, 2011 [Online]. Available: https://www.amazon.com/dp/0137081073
[6] R. C. Martin, Clean Architecture. Pearson, 2017 [Online]. Available: https://www.amazon.com/dp/0134494164
[7] R. C. Martin, Clean Agile. Prentice Hall, 2020 [Online]. Available: https://www.amazon.com/dp/0135781868
[8] R. C. Martin, Clean Craftsmanship. Addison-Wesley Professional, 2021 [Online]. Available: https://www.amazon.com/dp/B095C16LSW
[9] E. Evans, Domain-driven design. Addison-Wesley, 2004 [Online]. Available: https://www.amazon.com/dp/0321125215
[10] V. Vernon, Implementing Domain driven Design. Addison-Wesley Professional, 2012 [Online]. Available: https://www.amazon.com/dp/B00BCLEBN8
[11] V. Vernon, Domain-Driven Design Distilled. Addison-Wesley Professional, 2016 [Online]. Available: https://www.amazon.com/dp/B01JJSGE5S/