Chapter 1 Part 2 – Software Design and Testing

0.0(0)
studied byStudied by 10 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/24

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

25 Terms

1
New cards

What is software design?

It is the process of conceptualizing software requirements into implementation by finding the optimum solution.

2
New cards

What does software design take as challenges?

User requirements.

3
New cards

What is the main goal of software design?

To create the best possible design for implementing the intended solution.

4
New cards

What is structured design?

A conceptualization of the problem into well-organized solution elements.

5
New cards

What strategy does structured design use?

Divide and conquer (breaking a problem into smaller sub-problems).

6
New cards

What are modules in structured design?

Small pieces of the problem organized hierarchically that communicate with each other.

7
New cards

What are the two key rules for communication in structured design?

Cohesion (grouping related elements) and Coupling (communication between modules).

8
New cards

What characterizes a good structured design?

High cohesion and low coupling.

9
New cards

What is function-oriented design?

A design where the system is divided into sub-systems called functions.

10
New cards

What methodology does function-oriented design inherit?

Divide and conquer.

11
New cards

How do functions communicate in function-oriented design?

By passing information and using global data.

12
New cards

What problem can arise with function calls?

Functions may change the state of the program, which can be undesirable.

13
New cards

What tool is used to model function-oriented design?

Data Flow Diagram (DFD).

14
New cards

What does object-oriented design focus on?

Entities (objects) and their characteristics instead of functions.

15
New cards

What is an object in OOD?

An entity with attributes (data) and methods (functions) such as a person, bank, or customer.

16
New cards

What is a class in OOD?

A generalized description of an object; objects are instances of classes.

17
New cards

What is encapsulation?

Bundling attributes and methods together, with information hiding from the outside world.

18
New cards

What is inheritance?

The ability of sub-classes to reuse attributes and methods from super-classes.

19
New cards

What is polymorphism?

The ability for methods with the same name but different arguments to perform similar tasks.

20
New cards

What are the two main approaches to software design?

Top-down design and Bottom-up design.

21
New cards

What is top-down design?

Starting with the whole system and decomposing it into sub-systems until the lowest level is reached.

22
New cards

When is top-down design most suitable?

When designing a system from scratch and details are unknown.

23
New cards

What is bottom-up design?

Starting with basic components and combining them into higher-level systems.

24
New cards

When is bottom-up design most suitable?

When creating a system from existing systems or components.

25
New cards

Which design approach is most practical?

A combination of both top-down and bottom-up.