Flashcards
Rep Analysis and System Design
Cards in this deck (17)
- 1What are the activities in the Requirements Engineering Process? Which results does each of them produce?1. Requirements Elicitation
Result: Requirements Specification (Nonfunctional requirements, Functional Model)
2. Analysis
Result: Analysis Model
(Dynamic Model, Analysis Object Model) - 2What is the difference between Requirements Elicitation and Analysis?Requirements Elicitation: Definition of the system in terms understood by a customer/user
Analysis: Definition of the system in terms understood by a developer - 3Name the Eight System Design Issues. Afterwards, map them to: - Nonfunctional requirements - Object Model - Dynamic Model - Functional Model1. Identify Design Goals -> Non-functional requirements
2. Subsystem Decomposition -> Functional Model
3. Identify Concurrency -> Dynamic Model
4. Hardware/Software Mapping -> Object Model
5. Persistent Data Management -> Object Model
6. Global Resource Handling -> Dynamic Model
7. Software Control -> Dynamic Model
8. Boundary Conditions -> Functional Model - 4Fill in typical system design trade-offs: Functionality vs. ... Cost vs. ... Efficiency vs. ... Rapid Development vs. ... Cost vs. ... Backward Compatibility vs. ...Functionality vs. Usability
Cost vs. Robustness
Efficiency vs. Portability
Rapid Development vs. Functionality
Cost vs. Reusability
Backward Compatibility vs. Readability - 5Architectural Style vs. (Software Architecture)Architectural Style: Pattern for a subsystem decomposition
Software Architecture: Instance of an Architectural Style - 6Name the 4 Architectural Patterns and one example for each1. From Mud to Structure (Layers, Pipes and Filters)
2. Distributed Systems (Broker)
3. Interactive Systems (MVC)
4. Adaptable Systems (Reflection) - 7What is the difference between a closed layered architecture and an open layered architectureClosed layered architecture: Each layer can only call operations from the layer below
Open layered architecture: A layer can call operations from any layer below - 8What are the design goals of a closed layered architecture?Maintainability, Flexibility
Through low coupling - 9What are the design goals of an open layered architecture?High Performance
Through High coupling - 10What is the difference between Layering and Partitioning?When layering, the system is organized as a hierarchy of subsystems whereas in Partitioning subsystems are peers that mutually provide different services to each other
Layering: Each subsystem depends on the subsystem below as it uses their services
Partitioning: Each subsystem only loosely depends on others and can often operate in isolation - 11What does coupling measure? What does cohesion measure?Coupling measures the dependencies between two subsystems
Cohesion measures the dependencies among classes within a subsystem - 12What is a good heuristic for the number of subsystems?7+-2
(Decomposing the system into smaller subsystems increases cohesion, but also increases coupling) - 13What is the goal of allocating subsystems to hardware?To distribute functionality and processing power where it is needed
- 14What is the advantage of using of-the-shelf components in hardware-software mapping?Off-the-shelf components enable developers to realize complex services more economically
- 15Describe the structure of an Access MatrixRows: Actors
Columns: Classes
Cells: Operations/Access Rights - 16What is a Access Control List?- ACL associates a list of (actor, operation) pairs with the class being accessed
- Every time an instance of this class is accessed, the access list is checked for the corresponding actor and operation - 17Which design pattern can be used for modeling Access Control?Proxy Pattern
Information
- Description
- Software Engineering Flashcards on Rep Analysis and System Design, created by Maximilian Zeyda on 28/07/2017.
- Created by
- Maximilian Zeyda
- Views
- 3
- Rating