Exam Review Flashcards
Three types of Cohesion?
1 - Operation cohesion: The degree to which an operation focuses on a single functional requirement. 2 - Class cohesion: The degree to which a class is focused on a single requirement. 3 - Specialisation: The semantic cohesion of inheritance hierarchies. A class should only a subclass of a class if the former represents a subset of the latter.
What is the Liskov Principle?
A derived object can be treated as if it were a base object. Note that by base and derived object we mean in terms if class inheritance.
What are the main principles of USDP and role of phases and workflows?
A process that is use-case driven, architecture-centric, iterative, and incremental. It is based on the iteration of phases, each of which consists of workflows.
Explain in what sense eXtreme Programming is Agile?
XP is Agile in the sense that there is no emphasis on early analysis and design documentation. It is suitable when requirements are subject to important changes.
4 Main principles if eXtreme Programming?
Communication (User Devs), Simplicity (choose always the simplest solution), Feedback (use it to avoid unjustified optimism) and Courage ( rather than trying to fix unfixable code to restart from scratch).
What is a component?
A replaceable part of a system defined primarily in terms of interfaces it provides and requires to operate.
What are the 4 types of visibility?
1 - Public (accesible by any class) 2 - Private (accessible by the class it belongs to) 3 - Protected (Access by the class that includes it or a subclass) 4 - Package (Access to objects in the same package)
What is the Facade Pattern and the cost to use it?
Provides a clear interface to a software component consisting of several classes. Apart from design and implementation, additional message passing is introduced as overheads.
How are WhiteBox and BlackBox used in Reuse?
Whitebox allows for reuse of other artefacts other than software components. Blackbox needs a level of granularity higher than that of classes due to class coupling. Whitebox offers more reuse mechanisms including inheritance, templates and parameterizations.
What businesses are good for Reuse?
Companies with large portfolio of projects and/or large product range with common subparts, consultancy firms in vertical markets, companies that design embedded software…
What are the 3 workflows of SELECT Perspective?
1 - Supply (Deliver and maintain components) 2 - Manage (Acquire, publish and retrieve components) 3- Consume (Deliver solutions based on reusable components produced by suppliers)
What is a Pattern?
An abstract solution to a commonly reoccurring problem in a given context.
What does a Pattern Template consist of?
Name: Problem: Context: Forces: Solution:
What are the 3 types of Patterns?
Creational Patterns, which are concerned with the construction of instances. Structural Patterns, which are concerned with how classes and objects are organised. Behavioural Patters, which addressed issues that arise when assigning responsibilities to classes.
What is the Singleton Pattern?
How do we ensure only one instance exists the class is created? Create a class with a class operation getInstance(), which when a class is first accessed an instance is created and returns the objects identity to the requesting object. On subsequent access of the getInstance() operation no additional instance is created but the identity is returned to the requesting object. Note that the class constructor is made private else other objects could invoke it!