Flashcards
6 System Design
Cards in this deck (29)
- 1What does coupling measure? What does cohesion measure?1. Cohesion measures the interdependence of the objects IN ONE SUBSYSTEM
2. Coupling measures the interdependence of objects BETWEEN SUBSYSTEMS - 2How can we achieve high cohesion?- Operations work on same attributes
- Operations implement a common abstraction or service - 3How can we achieve low coupling?- Small interfaces
- Information hiding
- No global data
- Interaction are mostly within the subsystem rather than across subsystem boundaries - 4What is a subsystem interface?A group of externally visible operation provided by a subsystem
- 5What are the two main elements of an Architectural Style?- Components (Subsystems = Computational units with a specified interface)
- Connectors (Communication) - 6What are the relationships between Subsystem Composition, Architectural Style and Software Architecture?An Architectural Style is a pattern for Subsystem Decomposition.
A Software Architecture is an instance of an Architectural Style. - 7How does a Facade Pattern provide a unified interface for a subsystem?- A Facade consists of a set of operations
- Each public operation is delegated to one or more operations in the classes behind the facade - 8When are two objects inherently concurrent?If they can receive events at the same time without interacting
- 9Which type of requirements do you address if you identify concurrencies? + examplesNonfunctional requirements:
Performance, Response Time, Latency, Availability - 10What is a thread of control?A Path through a set of state diagrams where only a single object is active at any time
- 11What is a race condition?A design flaw where the output of a process depends on the specific sequence of other events
- 12What is the difference between physical and logical concurrency?Physical concurrency:
Threads are provided by hardware
Logical concurrency:
Threads are provided by Software - 13Map each, Control Objects, Entity Objects and Boundary Objects to one hardware componentControl Objects -> Processor
Entity Objects -> Memory
Boundary Objects -> Input/Output Devices - 14What is the difference between a component diagram and a deployment diagram?Component diagram: Illustrates dependencies between components at design time, compile time and run time
Deployment diagram:
Illustrates the distribution of components at runtime - 15At which point of time in the software engineering process is a deployment diagram useful?For showing a design after these design decisions have been made:
- Subsystem decomposition
- Concurrency
- Hardware/Software Mapping - 16All classes of which type have to be persistent (=value of their attributes have a lifetime beyond a single execution)?All classes of type entity in the system model
- 17Name 2 measures how a persistent class can be realized?- File System
- Database System - 18How are classes, attributes, instances and associations of the object model mapped to a Database?- Class -> Table
- Attribute -> Column
- Instance -> Row
- Association -> Own table - 19What is global resource handling?Access control
- 20How do we model access rights during a) analysis? b) system design?a) Use cases
b) Access matrix - 21In an access matrix, where are the actors and where are the classes we want to control?Actors -> Rows
Classes -> Columns - 22When do we usually apply a Proxy Pattern?When different actors have different access and viewing rights for the same object
- 23In which 3 situations can a Proxy Pattern be used?- Access Control
- Caching of Information
- Standin - 24What are the 2 choices that we have for software control?- Implicit software control (rule-based systems, logic programming)
- Explicit software control (Centralized & Decentralized control) - 25What is the difference between centralized and decentralized explicit software control?Centralized: One subsystem or control object controls everything
Decentralized: Control is distributed - 26How can we determine from a sequence diagram if we should use a centralized or decentralized design?If fork-diagram -> Centralized
If stair-diagram -> Decentralized - 27What are the 3 boundary conditions?1. Initialization
2. Termination
3. Failure - 28What are the 6 criteria of requirements validation?1. Correctness
2. Clarity
3. Completeness
4. Consistency
5. Realism
6. Traceability - 29What is the difference between verification and validation?Verification: Equivalence check between two models
Validation: Comparison of model with reality
Information
- Description
- Software Engineering Flashcards on 6 System Design, created by Maximilian Zeyda on 06/07/2017.
- Created by
- Maximilian Zeyda · Jul 2017
- Updated
- Jul 6, 2017
- Views
- 2
- Rating