Designing Components Flashcards

(19 cards)

1
Q

What are the three main architectural design techniques?

A

Closely related classes, architectural layers, and deployment choices.

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

What do architectural patterns and frameworks provide?

A

They offer reusable solutions and structures for common design problems.

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

What is the basis of object-oriented systems?

A

Collections of objects collaborating according to rules.

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

What diagrams model object interactions?

A

Sequence and collaboration diagrams.

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

What is the first step in designing components with classes?

A

Selecting related classes that collaborate or share responsibilities.

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

Why is interface specification important?

A

It allows objects and components to be designed in parallel without needing internal details.

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

What should designers avoid when specifying interfaces?

A

Designing the internal interface representation; it should be hidden within the object.

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

How many interfaces can an object have?

A

An object may have several interfaces as viewpoints on its methods.

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

What is an architectural layer?

A

A separation of concerns where different layers handle boundary, control, and entity responsibilities.

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

What is the 3-tier PAD architecture?

A

Presentation, Application, and Data storage layers, each managing specific use case elements.

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

Why is control logic placement a design challenge?

A

It affects speed, complexity, and access to up-to-date data depending on its location.

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

What are deployment choices influenced by?

A

Non-functional requirements such as usability, performance, and security.

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

Why should security be built in from the start?

A

To ensure robust protection against risks identified early in development.

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

How can performance be improved?

A

By reducing network traffic and optimizing across all levels of the tech stack.

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

What questions should designers ask about deployment?

A

Information needed by actors, client/server software components, data storage, and transmission methods.

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

Why is distribution important in deployment?

A

It determines where presentation, application, and data components are located for optimal performance.

17
Q

What does N-tier architecture introduce?

A

Additional layers between the three-tier system to address latency and scalability.

18
Q

What is a thin client?

A

A system where most application logic resides on the server, minimizing client-side processing.

19
Q

What affects architecture decisions related to clients?

A

Client hardware, bandwidth, and user roles (public, staff, managers).