CSE Exam 3 Design Patterns and Architectures
What is a stylized description of good design practice, which has been tried and tested in different environments?
architectural patterns
The results and trade-offs of applying the pattern are known as _______________
consequences
What architectural view shows how the software is decomposed for development?
development view
A ______________________ (2 words) is a description of how a software system is organized
software architecture
a __________________ (2 words) is not a concrete design, but a template for a design solution that can be instantiated in different ways
solution description
What are the 4 architectural views related by?
use cases or scenarios
What architectural view shows how, at run-time, the system is composed of interacting processes
process view
What are the 3 roles of the view in the MVC?
- renders the model - requests model updates - sends user events to the controller
Which pattern allows for the possibility of extending the functionality of an existing class at run-time?
Decorator pattern
What are 4 elements of a pattern?
1) Name 2)Problem description 3) solution description 4) consequences
What are the 2 roles of the model in the MVC?
1) encapsulates application state 2) notifies the view of state changes
What are the 2 roles of the controller in the MVC?
1) maps user actions to model updates (state change) 2) selects the view
What are the 2 ways that sub-systems can exchange data?
1) shared data is held in a repository and may be accessed by all sub-systems 2) each sub-system maintains its own repository and may be accessed by all sub-systems
List the 3 components of the client server architecture model
1) stand-alone servers which provide specific services 2) set of clients which call on the services 3) network which allows clients to access the servers
List 3 architectural design decisions
1) the type of application 2) the distribution of the system 3) the architectural styles to be used
What identifies the main structural components in a system and the relationships between them?
Architectural design
What is the critical link between design and requirements engineering?
Architectural design
__________________ (3 words) is a distributed system model which shows how data and processing is distributed across a range of components
Client server architecture
What is a way of reusing abstract knowledge about a problem and its solution?
Design patterns
Which pattern tidies up the interfaces to a number of related objects that have often been developed incrementally?
Facade Pattern
T/F Architectural design is not concerned with understanding how a software system should be organized but is concerned with designing the overall structure of the system
False - It is concerned with BOTH
T/F Each architectural model shows three views or perspectives of the system
False - it only shows ONE
T/F In a layered architecture, when a layer interface changes, every layer is affected
False - only the adjacent layer is affected
T/F Pipe and filter architecture are suitable for interactive systems
False. They are not really suitable
Which pattern provides a standard way of accessing the elements in a collection, irrespective of how that collection is implemented?
Iterator pattern
What's used to model interfacing sub-systems?
Layered architecture
Pattern descriptions should usually make use of _______________ (3 words)
Object oriented characteristics
Which pattern tells several objects that the state of some other object has changed?
Observer pattern
List 4 types of design patterns
Observer pattern Facade pattern Iterator pattern Decorator pattern
___________ are a means of representing, sharing, and reusing knowledge
Patterns
Which architectural pattern models the runtime organization of a system?
Pipe and filter architecture
Which model is most suited when large amounts of data are to be shared?
Shared repository model (data is held in a central repository)
T/F A design pattern should be sufficiently abstract to be reused in different settings
True
T/F Patterns should include information about when they are and when they are not useful
True
A name is a pattern element. Define name
a meaningful pattern identifier
In a pipe and filter architecture, when transformations are sequential, it is called
batch sequential model
What architectural view shows the key abstractions in the system as objects or object classes?
logic view
What are the 4+1 view models of software architecture?
logic view process view development view physical view +1 = related using use cases or scenarios
What are the 3 components of a Model-view controller (MVC) pattern?
model controller view
A ____________ is a description of the problem and the essence of its solution
pattern
What architectural view shows the system hardware and how software components are distributed across the processors in the system?
physical view
In which model is the output of one process the input of another process?
pipe and filter architecture
List 2 ways that patterns may be represented
tabular and graphical descriptions