SE: Requirements

Software design is a process to transform user requirements into some suitable form for programmer.

What is Software Design

Software design is a process to transform user requirements into some suitable form, which helps the programmer in software implementation.

It is the first step in SDLC after SRS (System requirement Specifications) analysis

Level of software design:

  • High-level Design
  • Low-level Design

High level Design

It defines the system modules, API and components and how it interfaces.

Define the system timing constraints and action behaviour that can be visualised using layered architecture and sequence diagrams.

It has 2 types:

  • Static Design/Architecture (Layered Architecture)
  • Dynamic Design (Sequence Diagrams): show the interactions

Low level Design

It is the second phase design in the SDLC and it defines:

  • the internal structure of the components APIs and Error handling for each module (internally)
  • It can be visualised using flowcharts and state-machine