Submit your article  Contact us 
Automotive
Business
Communications
Computers & Technology
Games
Hardware
Multimedia
Personal Tech
Software
Technology
Education
Entertainment
Finance
Food & Drink
Health & Fitness
Home & Family
Internet
Kids & Teens
Law & Legal
News & Society
Self Improvement
Shopping
Sports & Recreation
Travel & Leisure
Women's Interests
Writing
  

Rapid Application Development Is it Really a Need of Today?

Posted by By Syed Feroz Zainvi on: 2005-06-21 23:54:25


Rapid Application Development (RAD) is a software development methodology. In this competitive world, software product delivery time should be as little as it can be. The RAD is a way to this. As the name suggests, RAD technique allows RAPID application development, with development time, usually, 30 to 90 days.

Before touching upon the topic in details, I would like to make you feel that you are not away from this methodology. The code generators, visual tools like Visual Basic (VB) and Visual C++ (VC++), and CASE tools like Rational Rose are based on RAD technique. For e.g., you design your application with Rational Rose and it can then automatically generate code in languages like C++, VC++ or VB. If you have worked with tools like MS FrontPage then its again a RAD tool; you design your web-page layout and contents and HTML code will be automatically generated.

Previous paragraph brings out an important fact. Although, RAD will require early requirement specifications and it can be applied at design phase also but mostly it attacks the construction phase of the software development.

There many methods of RAD applied in software construction. There may be commercial or free functional libraries available that can cater to some functionality of your application. You need to simply link them to your application. At other times, re-usable code may be available that you can use with no or little modifications.

Above are not so appealing forms for RAD methodology. There are RAD tools that occupy the topmost position in this approach. Take the case of code generator RAD tools. The user needs to enter few customizable inputs to generate required code. For e.g. you need to generate a C code for printing numbers between 1 and 100 in steps of 5. So, just input START, END, STEP to the code generator and it will output C code.

#include main() {

int i;

for(i=START;i<=END;i+=STEP)

printf("%dn",i); }

Most of the code generators are based on template approach. They substitute some template parameters with the inputs given by you. Like in above C Code template, START, END and STEP will be substituted with your inputs. A good code generator should take minimal number of inputs. The inputs should be meaningful and in well-defined sequence.

Visual Integrated Development Environments (IDE) are another good example of RAD tools. They allow visual construction of application and equivalent code will be automatically generated. They also provide compilation, execute and version management facilities that too add to rapid application development.

Code re-use also leads to rapid development. So, object-oriented programming is a candidate for RAD activities.

Besides lower development time, RAD offers many other advantages also. The main RAD advantages are:-

1. RAPID application development

2. Since tasks are automated using tools, so team size are small. This in turn means lower COST.

3. Limited duration further brings down the COST.

4. Code is automatically generated which is well tested. So, QUALITY of product is high.

5. Testing effort also reduces bringing down the COST further.

With so many advantages, why this methodology is not always used? Since development time is very little and tasks are automated, confidence in product is usually not high for risky and mission-critical applications. So, use RAD methodology for not-so complex and low-risk applications where requirements are well-known and specified.

Syed Feroz Zainvi has obtained M.Tech. (Comp Sc & Engg) degree from Indian Institute of Technology, Delhi (INDIA). His areas of interests are distributed computing, computer graphics and Internet Technologies. Currently, he is involved in Software Project Planning, Development and Management. His other interests include writing for magazines and contributing utility softwares on Magazine's CDs. He also have flair for teaching computer science with new teaching methodologies. His web-page URL is http://www.geocities.com/zainvi_sf







Copyright 2005 Articles Magazine