System Design & Testing Phases

Expert Answer & Key Takeaways

Transitioning from requirements to architecture. Learn about High-Level vs Low-Level Design, Coupling, Cohesion, and the various levels of Software Testing (Unit, Integration, System, Acceptance).

System Design

Once the SRS is approved, the system design phase begins. This is where the requirements are translated into a blueprint for constructing the software.

1. High-Level Design (HLD) vs Low-Level Design (LLD)

  • High-Level Design (HLD): Focuses on the overall architecture of the system. It defines the main modules, databases, and how they interact with each other (the 'Big Picture').
  • Low-Level Design (LLD): Focuses on the internal logic of each specific module. It details the exact algorithms, data structures, and classes that the programmers will write.

2. Cohesion and Coupling (Important Concepts)

  • Cohesion (Should be HIGH): Refers to how closely related the functions within a single module are. A highly cohesive module does exactly ONE job very well.
  • Coupling (Should be LOW): Refers to how much different modules depend on each other. If modules are tightly coupled, changing one module will break the others. We want loose coupling so modules can be updated independently.

Software Testing

Testing is the process of evaluating a system to identify any defects (bugs) and ensure it meets the requirements.

1. Testing Methods

  • Black Box Testing: The tester only knows the inputs and expected outputs. They do NOT look at the internal code. (Testing the functionality).
  • White Box Testing: The tester knows the internal logic and inspects the actual source code to ensure all paths and loops work correctly.

2. Levels of Testing

Testing is done in a specific sequence, from smallest to largest:
  1. Unit Testing: Testing individual, isolated components or functions of the code. Usually done by the developers themselves.
  2. Integration Testing: Combining the individually tested units and testing them together to ensure they communicate correctly.
  3. System Testing: Testing the entire, fully assembled software system as a whole to verify it meets the overall SRS requirements.
  4. Acceptance Testing: The final phase. The actual end-users or clients test the software in a real-world environment to decide if they 'accept' it before it goes live. (Alpha and Beta testing are types of Acceptance Testing).

Course4All Editorial Board

Verified Expert

Subject Matter Experts

Comprising experienced educators and curriculum specialists dedicated to providing accurate, exam-aligned preparation material.

Pattern: 2026 Ready
Updated: Weekly