CSE 460 Exam 2
What is the Code View? -
How module view and execution view can be accomplished through the code
What is the Module View? -
Design of different modules and subsystems
What is the Conceptual View? -
High level view of important design elements
What is the Execution View? -
How modules are mapped to the runtime platform
What are the 5 Software Architectural Units? -
Object Oriented, Data Oriented, Event Oriented, Functional, and Feature Oriented
Decompositions
What are some commonly used Architectural Patterns? -
Layered, Client-Server, Pipe-Filter, Broker, Peer-to-peer, Event-bus, Model-view-
controller, Blackboard, Call and return pattern
Which design patterns identify common communication patterns between objects? -
State, Strategy, Observer
Read the following code:Which design pattern is used?
button = new JButton("Click Me!");
ActionListener bl = new ClickListener();
button.addActionListener(bl);
public class ClickListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
*Button does stuff*
}
}-
Observer
Which design passes messages to multiple participating objects in the system? -
Chain of responsibility
What is the order of the Software Architecture Life Cycle? -
Architectural Requirements -> Architectural Design -> Architectural Documentation ->
Architectural Implementation -> Architectural Evaluation OR Architectural Documentation -
> Architectural Evalutation
What do Functional Requirements get covered by? -
1|Page
, Software Requirement Representations such as use cases, user stories, or Software
Requirement Specification (SRS) Docs
What limitations do Constraints include? -
Runtime resources, availability, tech limitations
What does Quality Factors include? -
Availability, Modifiability, Security
What are inputs to the Architecture Design? -
Functional Requirements and other architecturally significant requirements (ASRs) are
inputs to the architecture design
What is Architecture Design? -
The process of translating architecturally significant requirements into software
structures, components and connections among structures and components that satisfies both
functional and other architecturally significant requirements
What is Architecture Evaluation? -
The process of investigating if the architecture design satisfies architecturally significant
requirements, performed by stakeholders
Architectural Requirements precedes which step in the software architecture life cycle? -
Architectural Design
Architectural Design precedes which step in the software architecture life cycle? -
Architectural Documentation
Architectural Evaluation precedes which step in the software architecture life cycle? -
Architectural Requirements
What are the architectural drivers of architectural design? -
Design Purpose, Quality Attributes, Primary Functionality, Architectural Concerns,
Constraints
Design Purpose -
Why are we designing the Architecture?
Quality Attributes -
Measurable and Testable Characteristics of the system that indicates the level of service
to its stakeholders
Primary Functionality -
Represents the intended features of the software system and is therefor the key
contributor in determining software structures in the architecture
Architectural Concerns -
Other factors not usually specified in the requirements. These can be general system
features that are expected, like system logs, authentication, updates, help features, or dev and
op issues like maintaining the code base, deployment, and maintenance
2|Page
, Constraints -
Certain factors that the dev team has to contend with, which may include restriction on
deployment platforms, technology, interoperability with other systems, laws and regulations,
etc.
What process in the software architecture life cycle involves identifying software structures
and establishing connections between them? -
Architecture Design
Which runtime properties are examples of quality factors that serve as architectural drivers? -
Reliability, Performance
Which design-related factors may be examples of quality factors that serve as architectural
drivers? -
Modifiability, Modularity
When developing software, which of the following factors *drive* the architecture design? -
Quality Attributes, Design Purpose, Primary Functionality, Constraints, Architectural
Concerns
What is ADD? -
Attribute Driven Design
What are the steps of ADD? -
1. Review inputs 2. Establish iteration goal by selecting drivers 3. Choose one or more
elements of the system to refine 4. Choose one or more design concepts that satisfy the
selected drivers 5. Instantiate architectural elements, allocate responsibilities and define
interfaces 6. Sketch views and record design decisions 7. Perform analysis of current design
and review iteration goal and achievement of design
What step on the ADD Roadmap comes after reviewing inputs, but before choosing elements
to refine? -
Establish iteration goals by selecting drivers
Maria is trying to choose one or more design concepts that satisfy selected drivers in a
software architecture design. Which step of the ADD Roadmap is Maria demonstrating? -
Step 4
What step on the ADD roadmap comes before selecting design concepts to satisfy drivers? -
Choose elements of the system to refine
What are Reference Architectures? -
Higher level views of a general architectural framework that solve a particular category
of problems
What are Architecture Design Patterns? -
They explain how a reference architecture is realized in a particular application domain
and how modules(architectural structures) communicate with each other
3|Page
What is the Code View? -
How module view and execution view can be accomplished through the code
What is the Module View? -
Design of different modules and subsystems
What is the Conceptual View? -
High level view of important design elements
What is the Execution View? -
How modules are mapped to the runtime platform
What are the 5 Software Architectural Units? -
Object Oriented, Data Oriented, Event Oriented, Functional, and Feature Oriented
Decompositions
What are some commonly used Architectural Patterns? -
Layered, Client-Server, Pipe-Filter, Broker, Peer-to-peer, Event-bus, Model-view-
controller, Blackboard, Call and return pattern
Which design patterns identify common communication patterns between objects? -
State, Strategy, Observer
Read the following code:Which design pattern is used?
button = new JButton("Click Me!");
ActionListener bl = new ClickListener();
button.addActionListener(bl);
public class ClickListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
*Button does stuff*
}
}-
Observer
Which design passes messages to multiple participating objects in the system? -
Chain of responsibility
What is the order of the Software Architecture Life Cycle? -
Architectural Requirements -> Architectural Design -> Architectural Documentation ->
Architectural Implementation -> Architectural Evaluation OR Architectural Documentation -
> Architectural Evalutation
What do Functional Requirements get covered by? -
1|Page
, Software Requirement Representations such as use cases, user stories, or Software
Requirement Specification (SRS) Docs
What limitations do Constraints include? -
Runtime resources, availability, tech limitations
What does Quality Factors include? -
Availability, Modifiability, Security
What are inputs to the Architecture Design? -
Functional Requirements and other architecturally significant requirements (ASRs) are
inputs to the architecture design
What is Architecture Design? -
The process of translating architecturally significant requirements into software
structures, components and connections among structures and components that satisfies both
functional and other architecturally significant requirements
What is Architecture Evaluation? -
The process of investigating if the architecture design satisfies architecturally significant
requirements, performed by stakeholders
Architectural Requirements precedes which step in the software architecture life cycle? -
Architectural Design
Architectural Design precedes which step in the software architecture life cycle? -
Architectural Documentation
Architectural Evaluation precedes which step in the software architecture life cycle? -
Architectural Requirements
What are the architectural drivers of architectural design? -
Design Purpose, Quality Attributes, Primary Functionality, Architectural Concerns,
Constraints
Design Purpose -
Why are we designing the Architecture?
Quality Attributes -
Measurable and Testable Characteristics of the system that indicates the level of service
to its stakeholders
Primary Functionality -
Represents the intended features of the software system and is therefor the key
contributor in determining software structures in the architecture
Architectural Concerns -
Other factors not usually specified in the requirements. These can be general system
features that are expected, like system logs, authentication, updates, help features, or dev and
op issues like maintaining the code base, deployment, and maintenance
2|Page
, Constraints -
Certain factors that the dev team has to contend with, which may include restriction on
deployment platforms, technology, interoperability with other systems, laws and regulations,
etc.
What process in the software architecture life cycle involves identifying software structures
and establishing connections between them? -
Architecture Design
Which runtime properties are examples of quality factors that serve as architectural drivers? -
Reliability, Performance
Which design-related factors may be examples of quality factors that serve as architectural
drivers? -
Modifiability, Modularity
When developing software, which of the following factors *drive* the architecture design? -
Quality Attributes, Design Purpose, Primary Functionality, Constraints, Architectural
Concerns
What is ADD? -
Attribute Driven Design
What are the steps of ADD? -
1. Review inputs 2. Establish iteration goal by selecting drivers 3. Choose one or more
elements of the system to refine 4. Choose one or more design concepts that satisfy the
selected drivers 5. Instantiate architectural elements, allocate responsibilities and define
interfaces 6. Sketch views and record design decisions 7. Perform analysis of current design
and review iteration goal and achievement of design
What step on the ADD Roadmap comes after reviewing inputs, but before choosing elements
to refine? -
Establish iteration goals by selecting drivers
Maria is trying to choose one or more design concepts that satisfy selected drivers in a
software architecture design. Which step of the ADD Roadmap is Maria demonstrating? -
Step 4
What step on the ADD roadmap comes before selecting design concepts to satisfy drivers? -
Choose elements of the system to refine
What are Reference Architectures? -
Higher level views of a general architectural framework that solve a particular category
of problems
What are Architecture Design Patterns? -
They explain how a reference architecture is realized in a particular application domain
and how modules(architectural structures) communicate with each other
3|Page