The SWA exam is done. Here are the topics and tasks of the exam:
- Textual specification is given. Class diagram and sequence diagram for a specific process have to be created. Design decision needed to be described shortly.
- Component and package diagram have to be created. And the interface between two components had to be written basically in pseudo code.
- Multiple tasks regarding ‘What is SOA and how does it work?’.
- Multiple questions about Object Orientation basics, like ‘What is a Aggregation?’, ‘What is a Composition?’, etc. and ‘Which UML diagram is best for a given scenario?’.
- Multiple questions about Software Architecture.
It was a good mix of practical and theoretical questions. However, I had to write a lot and now my right hand hurts. 🙂 I’m happy that I had to write only one exam today.
There is only one day left to learn for the Software Architecture exam. At the moment I’m mostly fine with the topics. Part of the exam will be UML diagrams, especially class diagrams, component diagrams, state machines, etc. Then there might be also some questions about Object Orientation in general.
The second part is mostly architecture related. There are two topics that worry me. At first there are multiple layer concepts, for example the 4+1 architectural view model by Kruchten, the four architectural views by G. Starke, TOGAF, RM-ODP, etc. I can’t get these things in my head. They are also very similar to each other, which makes it harder to memorize each view model.
The second hard thing is the architecture description language called Z and Object-Z. This is an ADL like UML, but without graphical elements. Instead it uses predicate logic and textual description to describe the rules and functions. I’m mainly used to graphical UML diagrams, so this predicate logic stuff is a whole new world for me.
The last topics are related to Domain Driven Design and Cloud Computing, but these things are not that deeply described and therefore they should not be that hard to learn for the exam. Overall I hope that the exam will be more practical in terms of application and not so much theory related.