Search
Recommended Sites
Related Links






Valid XHTML 1.0 Transitional

Valid CSS!
   

Informative Articles

An Introduction to Recruiting Software
There has been a lot of talk in recent years about recruiting software. Recruiting software helps companies find suitable employees, and works in a number of ways. It can manage the employment section of a company's website, keep track of any...

Build A Website With Free Software Programs
You don't need to spend a lot of money building an attractive fully functioning website. In fact, you can do it FREE if you know what type of programs to look for and where to find them. How, I hear you ask? I built my site with ...

In-Memory Database Call Accounting Software Meeting Business Needs For Speed And Security
Ten years of real-time business intelligence and security systems When Oracle announced in 2005 that it was acquiring an in-memory database provider, the term "real time" had become an industry standard. But with the way technology has...

Travel Agency Software - The Travel Jungle
Travel Agency Software - The Travel Jungle Charles Darwin was one of the most traveled people in history. Can you imagine the commissions his travel agent earned? How many times have you been held up trying to book a flight or hotel...

Workflow Management Software: Businesses are Getting into the Flow
Ah, the ebb and flow of work. Sometimes it seems like there is much more ebbing than flowing with all of the workflow, the deadlines, the projects and presentations, but overall the tide seems to constantly be flowing in and out, in and out, in and...

 
Goal Centric Software Design


Before we go into details of goal centric design let us look at one of the most important part of modern software design named abstraction. In brief abstraction is nothing but selection through examination of certain aspects of the whole requirement of the software project. Abstraction determines aspects of the requirement and isolate and rank the aspects on the basis of their importance. Thus through abstraction an analyst can identify more important and less important aspects of the project.
So in the world of objects, abstraction helps us to focus on the role that each object plays within the software application. Let us take the example of an ERP system. Suppose I am the person who is developing payroll and marketing modules. In the organization lets say that there is an employee named S and he is the marketing manager of the organization. When working on the payroll module I will only concentrate on S's salary structure, attendance, leave, medical facility etc whereas at the time of development of marketing module I will concentrate on the targets, achievements, client handling, team performance etc of S. So if S is an object of the system it has two different goals and that leads to two completely different abstractions.
So here specific objects, like Employee object or Marketing Manager object, represent abstractions in the application. But definition and usage of appropriate objects is important. So in the requirement analysis phase of the application it is important to identify goals and requirement of each object. In this stage certain objects become redundant too.
Thus Goal-centric design is the first step in the methodology for object-oriented architecture. The objective of a goal-centric design is to examine the goals as well as the requirements of the application and develop the appropriate abstractions. These steps are not concerned with the physical design of the application hence sometimes they are called the logical design steps.
Goal-centric design involves the following steps:
a) Describe the objects
b) Define relationship between objects
c) Validate each object with respect using scenarios.
Professionals with proper domain knowledge should be appointed at this stage. The design team should have prolonged sessions with these professionals. Because these experts have in-depth knowledge of the application domain and can help the design team to develop appropriate abstractions and thus identifying appropriate objects. One should not distract these experts with too many technical concepts or jargons. It is better to understand the requirement in a simple language. All interactions should be properly documented so that none of the team's abstraction is lost. Once this phase is over the design team will have the complete document that fully describes the probable objects, which need to be used in the application with their associated scenario. In a later stage at the time of implementation the objects may be combined, split or modified.

About The Author

A native Calcuttan, Santanu Ghosh is a man on a mission. This 38 years old man is the founder of a successful software development company, Simplesot Technologies. This Indian company boasts clients across the globe with its quality services. Santanu is in the field of Information Technology for last 15 years. He was the head of an IT company before he started Simplesoft. According to Santanu "To be successful, you have to stay focused, and be extremely good at what you do. There will always be setbacks – and I've had my share – but you have to get back on your feet, and keep thinking big." Much of his success, he believes, is largely due to his ability to build extensive networks Fun and frivolity aside, he also understands the need to invest in the future, and ploughs the bulk of the company's profits back into R
simplesoftindia.com
sghosh@simplesoftindia.com

Sign up for PayPal and start accepting credit card payments instantly.