Basic concept of Software Design

The basic concept of Software Design includes various aspects like software design, tasks involved in the design process, and good software design.

Software Design

  • Software design is the process to transform the user requirements into some suitable form, which helps the programmer in software coding and implementation.
  • During the software design phase, the design document is produce, based on the customer requirements. The aim of this phase is to transform the SRS document into the design document.
  • It describes how you plan to solve the problem of designing software, the logic, or thinking behind software design.
  • It allows the software engineer to create the model of the software that is to be develop.
  • The software design concept provides a supporting and essential model for developing the right software.

General tasks involved in the design process

  1. Design the overall system processes.
  2. Segmenting the system into smaller, compact workable modules.
  3. Designing the database structure.
  4. Specifying the details of the program to be created to achieve the desired functionality.
  5. Designing the input and output documents.
  6. Designing controls for the system.
  7. Documenting the system design.

Good software design

  1. The concept of good software design has different meaning that depends upon the applications being designed.
  2. The design must implement all of the explicit requirements contained in the analysis model.
  3. The good software design must accommodate all of the implicit requirements desired by the customer.
  4. The design must be readable, understandable guide for developers and testers of the code.
  5. The design should address the data, functional and behavioral domains of the software.
  6. The goodness of design dependent on the targeted application, but also the notion of goodness of a design itself varies widely across software engineers.
  7. However, most software engineers agree on a few desirable characteristics that every good software design for general application must possess.
  8. The list of characterstics :
    i. Correctness : Implement all the functionalities identified in the SRS document.
    ii. Understandibility : A good design is easily understandable.
    iii. Efficiency : It should be efficient.
    iv. Maintainability : It should be easily amenable to change.
Read more about waterfall model