• TestingDocs
TestingDocs.com
Software Testing website
  • Automation
    • Selenium
    • JBehave Framework
  • Tutorials
    • MySQL Tutorials
    • Testlink
    • Maven
    • Git
  • IDEs
    • IntelliJ IDEA
    • Eclipse
  • Flowcharts
    • Flowgorithm
    • Raptor
  • About

Software Testing

Software Design Approaches

Overview

Let’s learn about Software Design Approaches in this tutorial. System design is the stage where the architecture of the system is designed. The approach followed in the design process is the design approach.

Software Design Approaches

The two general approaches to software designing are as follows:

  • Top-down Approach
  • Bottom-up Approach

Top-down Approach

A system is composed of more than one sub-system and it contains a number of components. The sub-systems and components may have their one set system and components and create a hierarchical structure in the system.

Top-down design is used when the system needs to be designed from scratch and specific details of the system to be built are unknown at the design time. The top-down design takes the whole software system as one entity and then decomposes it into more than one sub-system/component. Each sub-system is then decomposed further. When all sub-systems are composed the whole system comes into existence.

Bottom-up Approach

The bottom-up design approach is the reverse of the Top-down approach. It starts with the most specific and basic components. It proceeds with composing higher-level components by using basic or lower-level components. It keeps creating higher-level components until the desired system is not evolved as one single component. With each higher level, the amount of abstraction is increased.

A bottom-up strategy is more suitable when a system needs to be created from some existing system, where the basic primitives can be used in the newer system.

 

Related Posts

Trends in Software Engineering

Software Testing /

Shaping the Future of Development: Exploring Key Trends in Software Engineering

PuTTY Tool UI

Software Testing /

Useful Tools for Software Testers

Errors Code Testing Development

Software Testing /

Error Density Metrics

Errors Code Testing Development

Software Testing /

Error Removal Effectiveness Metrics

Software Testing /

Open-Source Load Testing Tools

‹ Different Types of Software Testing› Software Quality Attributes

Recent Posts

  • How to secure your SQL Database: Tips and Tricks
  • Shaping the Future of Development: Exploring Key Trends in Software Engineering
  • Improving Java Performance with Multithreading
  • Difference between PHP and JavaScript?
  • Bing Conversation Styles
  • ChatGPT Introduction
  • Open Source AI Frameworks
  • Artificial Intelligence Tools
  • Top AI Music Applications
  • Top AI Website Design Tools

Back to Top

Links

  • Contact
  • Privacy Policy
  • Cookie Policy

www.TestingDocs.com