Software
Engineering
Week 02 Lecture 02
Timeline of Methodologies
1950s Code and Fix
1960s Design-Code-Test-Maintain
1970s Waterfall Model
1980s Spiral Model
1990s Rapid Application Development, V Model
2000s Agile Methods
Rapid Application
Development
•RAD Model is a software development process based on prototyping
without any specific planning.
•Flexible and adaptable.
•Allows developers to quickly respond to changes in requirements and
design specifications.
Rapid Application
Development
Phases of RAD
•Requirements Planning
•Rapid Prototyping/ Designing
•Iterative Development/ Construction
•Deployment/Cutover
Requirements Planning
•Combines Planning and Analysis from Waterfall model
•The project team identifies the project requirements,
constraints, and objectives.
•This includes gathering information from stakeholders,
identifying project risks, and establishing a project plan.
Designing
•The team creates a working prototype of the software
application (system processes, inputs, outputs)
•This prototype is used to validate the design, identify potential
issues, and gather feedback from stakeholders.
•It needs to be a continuous interactive process.
Development / Construction
• Team uses feedback from stakeholders to refine and improve
the software application.
•This involves multiple iterations of development, testing, and
refinement until the software meets the desired functionality
and quality.
Deployment/Cutover
•Team deploys the software application to the end-
users.
•This includes installation, training, and support.
Other
Version
Business Model
• Describes the organization's goals, objectives, and processes.
•Identifies the key stakeholders, their roles, and the
interactions between them.
•To ensure that the software application aligns with the
organization's overall strategy and objectives.
Data Model
•Describes the structure of the data that is used by the software
application.
• Identifies the data entities, attributes, and relationships between
them.
•To ensure that the software application can effectively manage and
manipulate the data that it uses.
Process Model
•Describes the workflow or business processes that the software
application will support.
•Identifies the different steps in the process, the inputs and outputs at
each step, and the business rules that govern the process.
•To ensure that the software application can effectively support the
organization's key business processes.
Methodology
•The most effective family of techniques must be
formalized and used to deliver the system
•A complete list of tasks is provided.
•Techniques are fully documented.
People
•The best people must be well-trained in both the
methodology and tools.
•Small teams that work consistently well together
should be grouped together on assignments.
Management
•Project must be managed for speed using techniques
such as Joint Requirement Planning (JPR) and Joint
Application Design (JAD).
•Timebox Management is used in rapid construction to
iteratively deliver the system to users
Advantages of RAD
•Significantly reduced development time.
•Increases reusability of components
•Quick initial reviews.
•Encourage customer feedback
•Integration from very beginning solves a lot of integration issues
Disadvantages of RAD
•Depends on strong team and individual performances
of identifying business requirements.
•High dependency on modelling skills
•Inapplicable to cheaper projects
When to use RAD
•If there’s high availability of designers for modelling
•If budget is high
•If resources with high business knowledge are
available.
Rapid Application Development
WHAT Phases of RAD
HAVE YOU Advantages of RAD
LEARNT IN
THIS
Disadvantages of RAD
CLASS When to use RAD