Chapter 1 - Module 1: Software Design and Testing

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

1/13

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.

14 Terms

1
New cards

What is the purpose of software design?

To transform user requirements into a suitable form that helps programmers in coding and implementation.

2
New cards

What document is created to assess user requirements?

The Software Requirement Specification (SRS).

3
New cards

What are the three levels of software design?

  1. Architectural Design - highest-level, shows system components and their interaction.

  2. High-Level Design - focuses on sub-systems and modules.

  3. Detailed Design - defines logic, structure, and interfaces of modules.

4
New cards

What is modularization in software design?

A technique to divide software into independent modules that can work separately.

5
New cards

List two advantages of modularization

Smaller components are easier to maintain, Components with high cohesion can be reused.

6
New cards

What is concurrency in software design?

The ability to execute more than one part of code in parallel.

7
New cards

Define cohesion and coupling.

Cohesion: Intra-dependability within a module (higher = better). , Coupling: Inter-dependability between modules (lower = better).

8
New cards

What is design verification?

The process of checking design outputs (documents, diagrams, pseudocode) before implementation.

9
New cards

What does FURPS stand for in software quality attributes?

Functionality, Usability, Reliability, Performance, Supportability.

10
New cards

Give one example of each FURPS quality attribute.

Functionality: Security of the system, Usability: Ease of learning, Reliability: Accuracy of results, Performance: Response time, Supportability: Maintainability.

11
New cards

What is the principle of portable designs?

Software should work across different platforms using abstract interfaces.

12
New cards

What is the principle of malleable designs?

Software should be easily adaptable to evolving user requirements.

13
New cards

What is conceptual integrity in design?

Consistency and coherence in design through uniform application of limited design forms.

14
New cards

How can visibility in design be achieved?

By using visual notations (diagrams, flowcharts, UML, ER diagrams).