Block 2 sets the scene for the object-orientated design by introducing the design implementation of component-based software. Generic ideas such as cohesion and coupling are discussed, as well as the role of object-orientated concepts such as encapsulation, and Java-specific concepts such as access modifiers. You will then look in detail at determining how a system will work, employing sequence diagrams to create and compare different designs.