Posted by: ahmedashfaque | March 19, 2016

What is a high level software design?

In software development parlance, we use a term “high level software design”. What is this high level design? Let us learn today.

Software design for a large software product will also be large. It will also be complex because there will be a large number of software components required to build this software product. These software components will be interacting with each other through method calls.

This scenario can be compared with an Integrated circuit which is used to build electronic products. For small electronic products, there will small number of electronic components. Integrating these components will not be a complex task. But imagine if we need to build a large electronic product. In such a product there will be a large number of electronic components required. Integrating them will definitely be a complex task.

In fact designing a software product involves a lot of things. Any software product has user interfaces, business logic, databases etc. Each of these software components can be grouped to form software layers. For example we can have user interface layer where all user screens can be designed using user interface control elements (components) like textboxes, dropdown lists, menus etc. We can easily separate this user interface layer from other parts of the software product. Similarly we can separate all business logic components and form a business logic layer. Database components again form another layer. Thus we can end up dividing the software product design into many layers. This separation of layers helps in reducing complexity of the software product.

Inside each layer of the software product, we can again divide software parts into many software components. Thus for the database layer, we can have many database tables, indexes, primary and foreign keys etc. The user interface layer can be divided into many user screens. Similarly the business logic can be divided into many components which will perform specific business logic functions.

We can clearly see that a lot of things need to be considered for creating software designs. All these design activities can not be performed in one stage. We must think about the software design activities from a high level before we delve into details of each part of the software design. When we look at software design from this high level and chalk out plans for further design at detail level then this level of software design activities is known as software high level design.



  1. this website is listed 41 not 38 most popular

    • yes the ranking is changed on daily basis. my website ranking is hovering in the range 35 – 42.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: