RAD (from the English. Rapid application development - rapid application development)

Lecture



RAD (from English. Rapid application development - rapid application development ) - the concept of creating software development tools, paying particular attention to the speed and ease of programming, creating a workflow that allows the programmer to create computer programs as quickly as possible. Practical definition: RAD is the life cycle of a design process designed to achieve higher development speed and software quality than is possible with the traditional design approach. Since the end of the 20th century, RAD has gained widespread acceptance and approval. The concept of RAD is also often associated with the concept of visual programming.

Content

  • 1. History
  • 2Assignment
  • 3Application
  • 4Basic principles
  • 5 Phases of development
  • 6Advantages
  • 7Development environment, partly using the principles of RAD
  • 8SM. also

Story

The concept of RAD was a response to the awkward methods of developing programs of the 1970s and early 1980s, such as the “ Waterfall model ”. These methods provided for such a slow process of creating a program that often even the requirements for the program had time to change before the end of development. The founder of RAD is IBM employee James Martin, who in the 1980s formulated the basic principles of RAD, based on the ideas of Barry Boim and Scott Schulz. And in 1991, Martin published a famous book, in which he detailed the concept of RAD and the possibilities of its application. Currently, RAD is becoming a common scheme for creating software development tools.

Purpose

RAD assumes that software development is carried out by a small team of developers over a period of about three to four months using incremental prototyping using visual modeling and development tools. The RAD technology provides for the active involvement of the customer at an early stage - a survey of the organization, the development of system requirements. The last of these properties implies the complete fulfillment of customer requirements, both functional and non-functional, taking into account their possible changes during the development of the system, as well as obtaining high-quality documentation that ensures ease of operation and maintenance of the system. This means that the additional costs of maintenance immediately after delivery will be significantly less. Thus, the total time from the start of development to the production of an acceptable product using this method is significantly reduced.

Application

It is advisable to use the RAD technology when certain priority areas for project development are clearly defined.

  RAD (from the English. Rapid application development - rapid application development)
Comparing RAD and Cascade Method
  1. It is necessary to complete the project in a short time. Fast project execution allows you to create a system that meets the requirements of today. If the system is designed for a long time, it is highly likely that during this time the fundamental provisions governing the organization’s activities will change significantly, that is, the system will become morally obsolete before its design is completed.
  2. Software requirements are not clearly defined. In most cases, the customer is a very rough idea of ​​the work of the future software product and cannot clearly articulate all of the software requirements. Requirements may not be defined at all at the beginning of the project, or they may change in the course of its implementation.
  3. The project is carried out in conditions of limited budget. The development is carried out by small RAD-groups in a short time, which ensures minimum labor costs and allows you to fit into budget constraints.
  4. The user interface (GUI) is a major factor. It makes no sense to force the user to draw pictures. RAD-technology makes it possible to demonstrate the interface in the prototype, and soon enough after the start of the project.
  5. It is possible to split the project into functional components. If the intended system is large, it is necessary that it can be divided into small parts, each of which has a clear functionality. They can be issued sequentially or in parallel (in the latter case, several RAD-groups are involved).
  6. Low computational complexity of software.

RAD-technology is not universal, that is, its use is not always advisable. For example, in projects where the requirements for a software product are clearly defined and should not change, customer involvement in the development process is not required and hierarchical development may be more effective (cascade method). The same applies to projects, software, the complexity of which is determined by the need to implement complex algorithms, and the role and volume of the user interface is small.

Basic principles

  RAD (from the English. Rapid application development - rapid application development)

The principles of RAD technology are aimed at providing its three main advantages - high development speed, low cost and high quality. To achieve a high quality software product is very difficult, and one of the main reasons for the difficulties encountered is that the developer and the customer see the subject of development (software) in different ways.

  • The toolkit should focus on minimizing development time.
  • Creating a prototype to clarify customer requirements.
  • Cyclical development: each new version of the product is based on the evaluation of the result of the previous version of the customer.
  • Minimizing the development time of the version, due to the transfer of ready-made modules and adding functionality to the new version.
  • The development team must work closely together, each participant must be prepared to perform several responsibilities.
  • Project management should minimize the development cycle.

The principles of RAD are applied not only during implementation, but also apply to all stages of the life cycle, in particular, the organization's survey, requirements building, analysis and design.

Development phases

  1. Planning - a set of requirements obtained in the system planning and analysis of the life cycle development procedure (SDLC). At this stage, users, managers and IT-specialists discuss the project's tasks, its scope, system requirements, as well as difficulties that may arise during development. The phase is completed by agreeing on key points with the RAD group and obtaining permission from the project managers to continue.
      RAD (from the English. Rapid application development - rapid application development)
    Rapid Application Development (RAD) Model
  2. User design - during this stage, users, interacting with system analysts, develop models and prototypes that include all the necessary system functions. To translate custom prototypes into working models, the RAD group typically uses integrated application development (JAD) techniques and CASE tools. User design turns out to be a long interactive process that allows users to understand, change and ultimately choose a working model that meets their requirements.
  3. Design is the stage in which the main task is to develop programs and applications. Similar to the “implementation” stage in SDLC. In RAD, however, users continue to participate and can still suggest changes or improvements in the form of the reports they have developed. Their tasks include programming and application development, code writing, module integration, and system testing.
  4. Switching - includes data conversion operations, testing, switching to a new system and user training. According to its tasks, it resembles the final stage of the SDLC. Comparing with the traditional methods of software development, the whole process is compressed in time. As a result, the new system is faster built, delivered to the customer and installed in the workplace.

Benefits

The technology of rapid application development (RAD) allows to provide:

  • the speed of promotion of the software product to the market;
  • user interface;
  • easy adaptability of the project to changing requirements;
  • ease of development of the functionality of the system.

RAD-based development environments

Embarcadero RAD Studio

  • Axure RP
  • C ++ Builder
  • Clarion
  • Code :: Blocks
  • Delphi
  • DevelStudio
  • Expression Studio
  • GUI Machine
  • IBM Lotus Domino Designer
  • IntelliJ IDEA
  • Intraweb
  • Lazarus
  • Macromedia flash
  • Macromedia Authorware
  • Macromedia Director
  • Microsoft Visual Studio
  • MonoDevelop
  • NetBeans IDE
  • Omnis studio
  • Powerbuilder
  • QDevelop (in conjunction with Qt Designer)
  • Qt creator
  • SharpDevelop
  • Visual dataflex
  • WxDev-C ++
  • wxFormBuilder
  • Visual basic
  • Valon

See also [edit | edit wiki text]

  • Visual programming
  • Rapid prototyping

Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Web site or software design

Terms: Web site or software design