IMPORTANCE OF SYSTEM DESIGN IN SOFTWARE DEVELOPMENT Flashcards

1
Q

System design provides a detailed plan that developers must follow during the
implementation phase.

A

BLUEPRINT FOR DEVELOPMENT

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

Many possible problems may be recognized and corrected during the design phase.

A

EARLY DETECTION ISSUES

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

A well-designed system is easier to scale and maintain.

A

SCALABILITY AND MAINTENANCE

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

A class should have only one reason to
change. It should have a single, well-defined responsibility. When a class has multiple responsibilities, changes to one can impact others.

A

SINGLE RESPONSIBILITY PRINCIPLE (SRP)

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

Software entities (classes, modules,
functions, etc.) should be open for extension but closed for modification.

A

OPEN/CLOSED PRINCIPLE (OCP)

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

Subtypes must be substitutable for their
base types without altering the correctness of the program.

A

LISKOV SUBSTITUTION PRINCIPLE (LSP)

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

Client-specific interfaces are better than
one general-purpose interface. Clients
should not be forced to implement a function they do not need.

A

INTERFACE SEGREGATION PRINCIPLE (ISP)

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

This principle states that our classes should depend upon interfaces or abstract classes instead of concrete classes and functions.

A

DEPENDENCY INVERSION PRINCIPLE (DIP)

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