Chapter 6: System Design

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/65

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 5:45 PM on 3/26/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

66 Terms

1
New cards

What is system design?

Phase where the analysis model is transformed into a system design model. Developers define design goals and decompose the system into smaller subsystems that can be handled by individual teams. 

2
New cards

When are strategies for building the system selected?

System design.

3
New cards

What is the result of system design?

A model that includes subsystem decomposition.

4
New cards

What are the activities that system design is decomposed into?

  • Identify design goals by identifying qualities of the system that should be optimized.

-

  • Design initial subsystem decomposition by decomposing the system into smaller parts based on the analysis models. 

-

  • Refine subsystem decomposition until all design goals are met.

5
New cards

When do developers bridge the gap between the requirements specification (produced during requirements elicitation and analysis), and the system?

System design, and object design.

6
New cards

What does requirements elicitation and requirements analysis focus on?

The purpose and functionality of the system.

7
New cards

What is something that system design focuses on?

System decomposition, processes, data structures, and software/hardware components.

8
New cards

What does the requirements analysis phase result in?

The requirements model.

9
New cards

What does the requirements model entail?

  • Nonfunctional requirements and constraints (response time, throughput, reliability).

-

  • Use case model describing the system functionality from actors’ point of view.

-

  • Object model describing the entities manipulated by the system.

-

  • Sequence diagram for each use case, showing the sequence of interactions among objects in the use case.

-

  • Analysis model describing the system from the actors’ point of view and serves as the basis of communication between the client and the developers.

10
New cards

What does system design result in?

  • Design goals: Describing the qualities of the system that developers should optimize.

-

  • Software architecture: Describing the subsystem decomposition in terms of subsystem responsibilities, dependencies among subsystems, subsystem mapping to hardware.

-

  • Boundary use cases: Describing the system configuration, startup, shutdown, and exception handling issues.

11
New cards

What are design goals derived from?

Nonfunctional requirements.

12
New cards

What is a service?

 A set of related operations that share a common purpose. 

13
New cards

During system design, subsystems are defined in terms of what?

The services they provide.

14
New cards

During object design, the subsystem interface is defined in terms of what?

The operations it provides. 

15
New cards

What are two properties of subsystems?

Coupling and cohesion.

16
New cards

What is coupling?

Measures the dependencies between two subsystems.

17
New cards

What is cohesion?

Measures the dependencies among classes within a subsystem.

18
New cards

What should ideal subsystem decomposition do?

Minimize coupling and maximize cohesion.

19
New cards

What is layering?

Allows a system to be organized as a hierarchy of subsystems, each providing higher-level services to the subsystem above it by using lower-level services from the subsystems below it.

20
New cards

How do we reduce the complexity of the application domain?

Identify smaller parts called “classes” and organized them into packages.

21
New cards

How do we reduce the complexity of the solution domain?

Decompose the system into subsystems, which are made of a number of solution domain classes.

22
New cards

What is a subsystem?

Replaceable part of the system with well-defined interfaces that encapsulates the state and behavior of its contained classes. Characterized by the services it provides to other subsystems.

23
New cards

What does decomposing the system into subsystems, allow for?

Allows teams to work on individual subsystems with minimal communication.

24
New cards

What is a logical component?

Corresponds to a subsystem that has no explicit run-time equivalent. 

25
New cards

What is a physical component?

Corresponds to a subsystem that has an explicit run-time equivalent, for example, a database server.

26
New cards

What does system design focus on?

Defining the services provided by each subsystem.

27
New cards

What does object design focus on?

The application programmer interface, which refines the subsystem interfaces.

28
New cards

What is coupling?

The number of dependencies between two subsystems.

29
New cards

What does it mean if two subsystems are loosely coupled?

They are relatively independent.

30
New cards

What does it mean if two subsystems are strongly coupled?

Modifications to one subsystem is likely to impact the other. Subsystems ought to be as loosely coupled as reasonable.

31
New cards

What is cohesion?

The number of dependencies within a subsystem. 

32
New cards

What is high cohesion?

The subsystem contains many objects that are related to each other and perform similar tasks.

33
New cards

What is low cohesion?

Subsystem contains a number of unrelated objects.

34
New cards

Should subsystems have high or low cohesion?

Low cohesion.

35
New cards

What is a layer?

Grouping of subsystems providing related services and are ordered in that each layer can depend only on lower level layers and has no knowledge of the layers above it.

36
New cards

What is a difference between closed and open architecture?

In a closed architecture, each layer can access only the layer immediately below it.

-

In an open architecture, a layer can also access layers at deeper levels.

37
New cards

What is an example of closed architecture?

Reference Model of Open Systems Interconnection (OSI model).

38
New cards

What is an example of open architecture?

 Swing user interface toolkit for Java.

39
New cards

What are some closed layered architecture advantages?

Leads to low coupling between subsystems.

-

Subsystems can be integrated and tested incrementally. 

40
New cards

What are some closed layered architectures disadvantages?

Each level introduces a speed and storage overhead that makes it harder to meet nonfunctional requirements.

41
New cards

What does subsystem decomposition result in?

Partitioning and layering of the system. Each subsystem can be decomposed into lower-level layers until simple enough to be implemented by a developer or team.

42
New cards

What is architectural style?

A way of organizing a system’s architecture including how the system is decomposed, control flows, and how subsystems communicate.

43
New cards

What are some architectural styles?

  • Repository architectural style-

  • Model/View/Controller (MVC) architectural style

  • Client/server architectural style

  • Peer-to-peer architectural style

  • Three-tier architectural style

  • Four-tier architectural style

  • Pipe and filter architectural style

44
New cards

What is repository architectural style?

Subsystems access and modify a single data structure called the central repository. Subsystems are relatively independent and interact only through the repository. Control flow can be dictated either by the central repository.

45
New cards

What is a disadvantage of repository architectural style?

Disadvantage is that the central repository can quickly become a bottleneck for performance and modifiability.

46
New cards

What is repository architectural style suited for?

Applications with constantly changing, complex data-processing tasks.

47
New cards

What is Model/View/Controller (MVC) architectural style?

Subsystems are classified into:

  • Model subsystems: Maintains domain knowledge

-

  • View subsystems: Display information to the user

-

  • Controller subsystems: Manage sequence of interactions with the user. 

48
New cards

What is MVC suited for?

Interactive systems, especially when multiple views of the same model are needed.

49
New cards

What is client/server architectural style?

A subsystem where the server provides services to instances of other subsystems called the clients, which are responsible for interacting with the user. Request for a service is done via a remote procedure call mechanism.

50
New cards

What is an example of client/server architectural style?

An information system with a central database is an example of a client/server architectural style.

51
New cards

What is peer-to-peer architectural style?

Generalization of the client/server architectural style in which subsystems can act both as client or servers, in that each subsystem can request and provide services. 

52
New cards

What is an example of peer-to-peer architectural style?

Database that accepts requests from the application and notifies to the application when data is changed.

53
New cards

What is three-tier architectural style?

Organizes subsystems into three layers.

  • Interface layer: Includes all boundary objects that deal with the user, including windows, forms, web pages.

-

  • Application logic layer: Includes all control and entity objects, processing, and rule checking,

-

  • Storage layer: Used for storing, retrieving, and query of persistent objects.

54
New cards

What is four-tier architectural style?

Interface layer is decomposed into a Presentation Client layer and a Presentation Server layer. The Presentation Client layer is located on the user machines, whereas the Presentation Server layer can be located on a servers. 

55
New cards

What is pipe and filter architectural style?

Subsystems process data received from a set of inputs and send results to other subsystems via a set of outputs. Subsystems are called “filters,” and associations between subsystems are called “pipes.” 

56
New cards

What is an example of pipe and filter architectural style?

Unix shell

57
New cards

What are design goals?

Identifies the qualities that our system should focus on and can be inferred from the nonfunctional requirements or from the application domain. The first step of system design is defining design goals.

58
New cards

What can design goals be selected from?

Qualities such as:

  • Performance

  • Dependability

  • Cost

  • Maintenance

  • End user criteria

59
New cards

What is performance criteria?

Speed and space requirements imposed on the system. Includes:

  • Robustness

  • Reliability

  • Fault tolerance

60
New cards

What is cost criteria?

Includes the cost to develop the system, deploy it, and maintain it.

61
New cards

What is maintenance criteria?

Determine how difficult it is to change the system after deployment. Includes:

  • Extensibility

-

  • Modifiability

-

  • Adaptability

62
New cards

What is end user criteria?

Qualities desirable from a users’ point of view, but have not yet been covered under the performance criteria. Includes:

  • Utility

-

  • Usability

63
New cards

What are examples of design goal trade-offs?

  • Delivery time vs. functionality

  • Delivery time vs. quality

64
New cards

What is delivery time vs. functionality?

If development falls behind, the system can be delivered on time with fewer features or deliver all features later.

65
New cards

What is delivery time vs. quality?

If testing falls behind, the system can release on time with known bugs and be patched later, or delay release to reduce bugs.

66
New cards

What is facade design pattern?

Allows us to further reduce dependencies between classes by encapsulating a subsystem with a unified interface.

Explore top notes

note
Chapter 12: Forensic DNA Profiling
Updated 1082d ago
0.0(0)
note
Les 1, Biopolymeer
Updated 1024d ago
0.0(0)
note
Nervous system
Updated 1047d ago
0.0(0)
note
SWAT Operations
Updated 1221d ago
0.0(0)
note
Chromatography Practical
Updated 1200d ago
0.0(0)
note
Chapter 12: Forensic DNA Profiling
Updated 1082d ago
0.0(0)
note
Les 1, Biopolymeer
Updated 1024d ago
0.0(0)
note
Nervous system
Updated 1047d ago
0.0(0)
note
SWAT Operations
Updated 1221d ago
0.0(0)
note
Chromatography Practical
Updated 1200d ago
0.0(0)

Explore top flashcards