Posted by: ahmedashfaque | December 12, 2014

software design fundamentals – part 3

In last post in this series we have seen how we can break complete design of the software product into small modular parts so that we can reduce complexity in the design.

We will see some further aspects about software design in this post.

Generally when we build a software product design, we can do it in 2 ways. One approach is known as top down approach and the other is known as bottom up approach.

Bottom up approach is generally used for building new software products. Instead of thinking of the complete software product, we think about designing individual software product features. Once design of these features is complete then we can integrate them so that we have the design for the complete product.

Top down approach is generally used for re-engineering new products from existing products. We take the design of the existing product and break it into small design parts. Then we see which of the part designs are suitable for the new product. These part designs are taken as is in the new design. Part designs which need change can be taken up and are re-designed as per requirements for the new product. Once they are designed then all these part designs are re-integrated to create complete design of the software product.

Generally as we all know, software products go through evolution. During software development, software designs evolve and thus iteration of the design is needed to make them more suitable. This aspect requires that both top down and bottom up design approach are taken from time to time. During analysis, any of these approaches are taken to make a better design.


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 )

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s


%d bloggers like this: