Posted by: ahmedashfaque | December 5, 2014

object oriented design – part 1

Software products can be designed using many approaches. It depends on what is the size of the product and what that software product is supposed to do. Some smaller software products can be designed using very simple methods like an entity relationship diagram.

If you are developing a large software product which is supposed to do critical tasks then its design should be robust, should support fail safe transactions and should be modular. Object oriented design makes it possible to take these design considerations into account.

Basically a software product should be able to support all kinds of users who are supposed to use the software product. The software product must be able to handle unexpected events which can be caused either by users or some failure in hardware or any software component outside or inside the software product itself. Since making a large software product requires that the design should be broken down into smaller components so that many people can work simultaneously to build the product requires that the design is modular so that the entire design can be broken down into smaller component designs.

The entire software product can again be divided into the user interface, the middle tier and the back end database (if the software product is a database driven application).

Some of the considerations for the user interface include user friendliness, good flow across user screens & limited number of steps to perform any transaction. If OOD (object oriented design) helps in achieving these objectives? Definitely it does. The screen elements on user screens can be easily designed as objects and their relationships can be captured in the design.

The middle tier of any software product should capture the business logic. How a OOD helps in capturing the business logic? This tier is in fact the heart of any software product. OOD fits perfectly to depict this tier in such a way that the business logic is robust, fail safe and scalable. OOD enables this by ensuring that each object holds its own piece of data securely and at the same time, allows easy access of information transmission to other objects securely. this ensures that hacking of the system is extremely difficult. The software product can be scaled by refactoring existing classes so that new objects can be included in the design easily.

We will discuss more about OOD in next post.


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: