Software Design Principles and Processes

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/23

flashcard set

Earn XP

Description and Tags

These flashcards cover key vocabulary and concepts related to software design principles and processes from the lecture notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

24 Terms

1
New cards

Design Phase

The phase in software development that transforms user requirements into a suitable form for programming and implementation.

2
New cards

Correctness

A design objective ensuring that software functions as per its requirements.

3
New cards

Modularity

The division of software into separate modules that can be managed independently.

4
New cards

Problem Partitioning

The practice of dividing a significant problem into smaller, manageable pieces for easier handling.

5
New cards

Abstraction

A mechanism that allows a designer to focus on essential features while hiding unnecessary details.

6
New cards

Functionality in Modularity

Each module should have a defined responsibility and interface for interaction with other modules.

7
New cards

Top-Down Approach

A design strategy that starts with identifying main components and breaks them down into sub-components.

8
New cards

Bottom-Up Approach

A design strategy that begins with detailed elements and integrates them into a higher-level structure.

9
New cards

Efficiency

A design objective that emphasizes the optimal use of resources.

10
New cards

Flexibility

A design property that allows modifications based on changing needs.

11
New cards

Consistency

A design principle that ensures uniformity and coherence throughout the design.

12
New cards

Maintainability

A design quality that allows for ease of maintenance and updates by future designers.

13
New cards

UML

Unified Modeling Language; a collection of inter-related diagramming notations used in design and analysis.

14
New cards

Implementation

The process of translating a database schema into a technology-dependent structure.

15
New cards

Physical Design

The design aspect concerned with the physical storage of information in a database.

16
New cards

Logical Design

The design stage that documents characteristics in terms of relational database structures.

17
New cards

Conceptual Design

The initial design phase that abstractly represents key characteristics of a system.

18
New cards

Design Objectives

Guidelines to ensure the design is correct, complete, efficient, and maintainable.

19
New cards

Common Abstraction Mechanisms

Techniques like functional and data abstraction that help manage complexity in design.

20
New cards

Advantages of Modularity

Benefits such as easier collaboration among developers and simplified program management.

21
New cards

Disadvantages of Modularity

Potential issues like longer execution times and increased complexity in inter-module communication.

22
New cards

Design Principles

Guidelines that help manage the complexity and effort involved in the design process.

23
New cards

System Controls

Measures to ensure the system operates correctly and that data is secured.

24
New cards

Key Design Activities

Essential questions and tasks that guide the overall design process of software.