Lecture 13: Architectural Patterns Flashcards

1
Q

What is software architecture?

A

Set of structures that can be used to reason about a system
Comprises software elements, relations among them, and properties of both

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What makes a good architectural model?

A

Contains a logical breakdown of subsystems
Documents interfaces between subsystems
Captures dynamics of component interactions
Outline shared data
Quality-driven

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is stability in terms of an architectural model?

A

Ensures maintainability and reliability
Stable means features and components can be added or changed without impacting the overall architecture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is an architectural pattern?

A

Each pattern has a context, problem and solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the Multi-Layer architectural pattern?

A

Problem: System components need to be built and tested independently
Solution: Define layers (groupings of cohesive modules) and allow unidirectional relation between them (stack of boxes)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the client-server architectural pattern?

A

Problem: Large number of distributed clients need access to shared resources or services
Solution: Client components initiate interactions with server components, invoking services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the transaction-processing architectural pattern?

A

Problem: System must read and handle series of inputs that change stored data
Solution: Dispatcher component that decides how to handle each transaction (input), calling a procedure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is pipe-and-filter?

A

Stream of data is passed through a series of processes, each transforming it in some way, architecture is flexible

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is model-view-controller architectural pattern?

A

Problem: UI needs frequent modification without impacting system’s functionality
Solution: break system into three components: model, view and controller
Controller mediates between model and view

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the service-oriented architectural pattern?

A

Problem: Service consumers must be able to use/access a number of service providers
Solution: Cooperating peers that request service from and provide services to one another across a network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly