Week 7 - Assignments

1 SOLID and INVEST

How is SOLID and INVEST linked? Or is it?

Can we have SOLID without INVEST? Can we have INVEST without SOLID?

What happens if we have none of them? One of them? Both?

2 Architect, Agile Principles, and Scrum?

  • Where is the architect placed in a Scrum Team?
  • What does the Agile Principles say about architecture?
  • What does Scrum say about architecture?

3 UML

What is the difference between Aggregation and Composition?

  • Find 5 examples of Composition, and 5 exampoes of Aggregation.

4 Abstract Classes

We need to model a Scrum Team using UML. You must model the different roles in a Scrum Team. Furthermore you must use an Abstract Class.

  • How could an abstract class look like?
  • What is the benefit of using Abstract Classes?

5 Sequence Diagrams

For this exercise we will draw a diagram for buying a ticket at the local cinema online.

  • First draw it with only the User (you) and the Cinema
  • Copy the Diagram and add the Payment Provider
  • Copy the new Diagram and expand the Cinema to how you could model the classes like (User, Ticket, Show, …)
  • What can you use the three different diagram for? Are they all useable?

6 Interfaces

What is an interface? What is the difference between an Interface and an Abstract Class?

Draw an UML diagram for a Cinema ticket system where you can either pay using, Credit Card, MobilePay, PayPal or Bank Transfer.

7 C4 Model

Investigate which of the C4 Diagrams can be automatically generated for your favorite programming language.