Rep Object Design and Design Patterns

Description

Software Engineering Flashcards on Rep Object Design and Design Patterns, created by Maximilian Zeyda on 01/08/2017.
Maximilian Zeyda
Flashcards by Maximilian Zeyda, updated more than 1 year ago
Maximilian Zeyda
Created by Maximilian Zeyda over 6 years ago
5
2

Resource summary

Question Answer
What is Object Design specifically regarding its relationship to Requirements Analysis and System Design? - Object Design bridges the gap between Analysis Model and the hardware/software platform defined during System Design - During Object Design we refine and detail application and solution objects and add additional solution objects to bridge the object design gap
What is Component-based Software Engineering? The Design Gap is filled with available components -> 0% coding
What is COTS-Development? Special form of Component-based Software Engineering The Design gap is filled with commercial-off-the-shelf components
What is the difference between Black Box Reuse and White Box Reuse? Black Box Reuse/ Composition: New class is created by the aggregation of existing classes and offers aggregated functionality White Box Reuse/Inheritance: New subclass reuses functionality of the superclass and may offer new functionality
What is Generalization? What is Specialization? Generalization: The discovery of an inheritance association between 2 classes, where the subclass is discovered first Specialization: The discovery of an inheritance association between 2 classes, where the superclass is discovered first
What is the difference between Inheritance and Delegation? Inheritance: Extends a superclass with a subclass containing a new operation or overriding an existing operation Delegation: Catches an operation and sends it to another object
Name 1 advantage and 1 disadvantage of Delegation Advantage: Flexible, because any object can be replaced at run time Disadvantage: Inefficient, because objects are encapsulated
Name 2 advantages and 2 disadvantages of Inheritance Advantages: - Straightforward to use - Supported by many programming languages Disadvantages: - Inheritance exposes the public methods of the parent class - Changes in the parent class force the subclass to change as well (at least recompile)
Name the 2 goals of inheritance and in which stages of the engineering process they occur 1. Identification of taxonomies -> Generalization or Spezialization Used during Analysis 2. Identifying Inheritance for Reuse -> Implementation Inheritance or Specification Inheritance Used during Object Design
How is "Implementation Inheritance" defined? Subclassing from an implementation -> A class is already implemented that does almost the same as the desired class
How is "Specification Inheritance" defined? Subclassing from a Specification -> The Specification is an abstract class where at least one operation is abstract which means the operation is specified but not yet implemented
Name the 2 ways abstract operations can be implemented in Java By Method Overriding or Strict Inheritance
Name the 3 types of Design Patterns and two examples for each Structural: Composite, Bridge Behavioral: Strategy, Observer Creational: Builder, Abstract Factory
"must interface with an existing object" Adapter Pattern
"Must interface to several systems, some of them to be developed in the future" "An early prototype must be demonstrated" "Must provide backward compatibility" Bridge Pattern
"Complex structure" "Must have variable width and depth" Composite Pattern
"Must interface to existing objects" "Must interface to existing API" "Must interface to existing server" Facade Pattern
"Must be location transparent" Proxy Pattern
"Must be extensible" "Must be scalable" Observer Pattern
"Must provide a policy independent from the mechanism" "Must allow to change algorithms at run time" Strategy Pattern
What are the 4 Typical Design Goals addressed by Design Patterns? - Extensibility - Customizability - Scalability - Reusability
Show full summary Hide full summary

Similar

Design Patterns
Erica Solum
Network Protocols
Shannon Anderson-Rush
System Analysis
R A
SCRUM
R A
JOOSE2 Design Patterns
Isaac Jordan
Patents
Christina
Pears of Wisdom - Software Engineering Overview
Alex Poiry
2 Introduction
Alex C
Example Use Case: Emergency Management System
Stephanie Jeandell
DEPENDABLE SYSTEMS
A J
Requerimientos
Romina V.