Software Engineering – Implementation

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

1/39

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering coding standards, implementation qualities, naming rules, debugging phases, refactoring, and UI design principles.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

40 Terms

1
New cards

Coding Standards

Documented conventions that guide code formatting, naming, commenting, and banned constructs to ensure consistency across a project.

2
New cards

Characteristics of Good Implementation

Key qualities—readability, maintainability, performance, traceability, correctness, and completeness—that well-written code should possess.

3
New cards

Readability (Code)

The ease with which a human can understand the purpose, control flow, and data flow of source code.

4
New cards

Maintainability

How easily software can be modified to fix defects, improve performance, or adapt to a changed environment.

5
New cards

Performance (Software)

The efficiency with which a program uses resources such as CPU, memory, and I/O to perform its tasks.

6
New cards

Traceability

The ability to link code back to requirements, design documents, and test cases.

7
New cards

Correctness

The degree to which software adheres to specified functional requirements.

8
New cards

Completeness (Implementation)

Extent to which all required features are fully implemented in the software.

9
New cards

Naming Convention

A set of rules for choosing identifiers (classes, methods, variables, files) that promote clarity and consistency.

10
New cards

Global Identifier Naming Guideline

Use longer, descriptive names for globally visible identifiers; keep local names short.

11
New cards

Python lowerwithunder

Preferred Python style for functions, variables, modules, and packages (e.g., my_function).

12
New cards

CapWords (CamelCase)

Python recommendation for class and exception names (e.g., MyClass).

13
New cards

CAPSWITHUNDER

Python style for constants at module or class scope (e.g., MAX_SPEED).

14
New cards

GUI Prefix "btn"

Naming prefix indicating a button control, e.g., btnLogin.

15
New cards

GUI Prefix "chk"

Naming prefix indicating a checkbox control, e.g., chkStatus.

16
New cards

Function/Method Size Rule

Keep methods under ~50 lines to reduce error likelihood and simplify understanding.

17
New cards

File‐Naming Best Practice

Use short (<25 char), descriptive names without spaces or special characters; write conventions in a data-management plan.

18
New cards

ISO 8601 Date Format

YYYYMMDD representation recommended for embedding dates in file names (e.g., report_20241005.txt).

19
New cards

Avoid GOTO

Structured programming guideline that prohibits GOTO/setjmp/longjmp to preserve readable control flow.

20
New cards

Multiple Inheritance (Risk)

Discouraged practice because it can introduce ambiguity and complexity in object hierarchies.

21
New cards

Comment Smell: Code Repetition

Comment merely restates code and should be avoided.

22
New cards

Comment Type: Description of Intent

Most valuable comment; explains WHY the code exists, not what it literally does.

23
New cards

Coding Standards Repository

Central location (e.g., repo_standards/general.md) storing language-specific guidelines.

24
New cards

Debugging – Stabilization/Reproduction

Phase where a minimal test case that reliably triggers the defect is produced.

25
New cards

Debugging – Localization

Process of finding the exact code section responsible for a defect.

26
New cards

Debugging – Correction

Modifying code to eliminate the located defect.

27
New cards

Debugging – Verification

Confirming the fix and ensuring no regressions, often using tools like source comparators or interactive debuggers.

28
New cards

Source Code Comparator

Tool that highlights differences between code versions to aid verification (e.g., Code Compare).

29
New cards

Interactive Debugger

Tool that allows step-through execution, variable inspection, and breakpoint control during debugging.

30
New cards

Assertion

Executable statement that checks a condition assumed true; used for defensive programming.

31
New cards

Defensive Programming

Technique of writing code that anticipates and guards against possible errors or misuse.

32
New cards

Profiler

Performance tool that measures resource usage to guide optimization.

33
New cards

Refactoring

Improving code structure and readability without altering external behavior.

34
New cards

Code Smell

Surface indication that usually corresponds to a deeper problem (e.g., duplicated code, long methods).

35
New cards

Long Method (Smell)

Excessively lengthy routine; often refactored by extracting smaller functions.

36
New cards

Feature Envy (Smell)

Method that excessively uses data or methods of another class, suggesting a relocation of logic.

37
New cards

Three Golden Rules of UI Design

1) Place user in control, 2) Reduce user memory load, 3) Ensure consistency.

38
New cards

Place User in Control

UI principle where operations are reversible and users initiate actions rather than react to system behavior.

39
New cards

Reduce User’s Memory Load

Design guidance to minimize the amount of information users must remember by keeping cues visible.

40
New cards

Consistent User Interface

Maintaining uniform visual and interaction patterns across an application to enhance learnability.