What's New in Teams Calling, Meetings and Devices March 2024
RUP VS RAD Methodology
1. RAD VS RUP
Rapid Application Development
VS
Rational Unified Process
2. What is RUP?
RUP is the abbreviation for "Rational
Unified Process" - a systems development
methodology devised by Rational Unified
Corporation and now owned by IBM. The
author has no connection with any of these
organizations, but has used the process
framework in major development projects.
3. The Rational Unified Process
RUP is a method of managing OO Software Development
It can be viewed as a Software Development Framework
which is extensible and features:
– Iterative Development
– Requirements Management
– Component-Based Architectural Vision
– Visual Modeling of Systems
– Quality Management
– Change Control Management
6. Inception Phase
Overriding goal is obtaining buy-in from all interested
parties
Initial requirements capture
Cost Benefit Analysis
Initial Risk Analysis
Project scope definition
Defining a candidate architecture
Development of a disposable prototype
Initial Use Case Model (10% - 20% complete)
First pass at a Domain Model
7. Elaboration Phase
Requirements Analysis and Capture
– Use Case Analysis
• Use Case (80% written and reviewed by end of phase)
• Use Case Model (80% done)
• Scenarios
– Sequence and Collaboration Diagrams
– Class, Activity, Component, State Diagrams
– Glossary (so users and developers can speak common vocabulary)
– Domain Model
• to understand the problem: the system’s requirements as they exist
within the context of the problem domain
– Risk Assessment Plan revised
– Architecture Document
8. Construction Phase
Focus is on implementation of the design:
– cumulative increase in functionality
– greater depth of implementation (stubs fleshed out)
– greater stability begins to appear
– implement all details, not only those of central
architectural value
– analysis continues, but design and coding predominate
9. Transition Phase
The transition phase consists of the transfer of the system
to the user community
It includes manufacturing, shipping, installation, training,
technical support and maintenance
Development team begins to shrink
Control is moved to maintenance team
Alpha, Beta, and final releases
Software updates
Integration with existing systems (legacy, existing
versions, etc.)
10. Elaboration Phase in Detail
Use Case Analysis
– Find and understand 80% of architecturally significant
use cases and actors
– Prototype User Interfaces
– Prioritize Use Cases within the Use Case Model
– Detail the architecturally significant Use Cases (write
and review them)
Prepare Domain Model of architecturally significant
classes, and identify their responsibilities and central
interfaces (View of Participating Classes)
11. Is a software development process model that has been
developed to respond to the need to deliver systems very fast
Actually it allows usable systems to be built in as
little as 3-6 months
It has been developed in the early 1990s
It takes inspiration from spiral model
Its goals are: faster, better, cheaper
12. When use RAD?
Project scope: focused, where the business objectives are well defined
and narrow
Project data: already exist
Project decisions: can be made by a small number of people who are
available and co-located
Project team: very small (six people)
Project technical architecture: defined and clear and the key technology
components are well known
Project technical requirements: are reasonable and well within the
capability of the technology being used
Intensive involvement of the end user in the design of the system (JAD,
Joint Application Development)
14. Stages of RAD: Requirements
Planning
takes one to four weeks to complete
is defined during a JRP meeting
consists of a review of the areas immediately associated
with the proposed system
– produces a broad definition of the system requirements
in terms of the functions the system will support
deliverables from this stage include
– an outline system area model (entity and process
model)
– a definition of the system’s scope
– a cost justification for the new system
15. Stages of RAD: User Design
is defined during JAD meetings
consists of a detailed analysis of the business activities
related to the proposed system to outline the design
– The team defines entity types and creates action
diagrams defining the interactions between processes
and data
– System procedures are designed and preliminary
layouts of screens are developed
– Prototypes of critical procedures are built
– A plan for implementing the system is prepared
Together with the next stage, User Design consists of a
series of iterations
16. Stages of RAD: Construction
Developers, working directly with users, finalize the
design, build and test the prototype
The deliverables include documentation and
instructions necessary to operate the new application
and procedures needed to put the system into
operation
Time box and parallel development: involves
monitoring progresses to complete each task quickly
The prototype is reviewed by users
– Requirements document can be modified, so
another iteration starts
17. Stages of RAD: Transition
the period during which the newly developed system
gradually replaces existing systems
– User acceptance: end of iterations
– Developers train users to operate the new application
objectives
– Install the system in production operation with
minimal disruption of normal business activity
– Maximize the effectiveness of the system in
supporting the intended business activities
– Identify potential future enhancements
Topic is: Comparison of RUP & RAD for Projects(for small & Medium Projects)
Business Modeling: To understand the business of the organization that is relevant for the system to be developed. Also, if needed, possibility of re-engineering business process is also explored and potential strategies are evaluated. Requirements: The scope of the project is defined. The specification documents are prepared to identify the functional (like usage, business rules, user interface) and non-functional requirements of the project. Analysis and Design: The requirements are analyses and architecture design of the system is made. This includes designing the network, database, components, modules of the system. Implementation: The program source code is developed and unit testing is done. Test: This discipline ensures quality of the system developed. It consists of finding bugs, ensuring that the system works as per the design of the system and meets all requirements mentioned in the specification documents. Deployment: This includes planning and executing delivery of software and supporting documentations ready to be deployed and making the system available to end users. Configuration and Change Management: This includes managing baselines of the project, accepting and managing change requirements, changing and delivering configuration items and managing releases. Project management: This includes assigning tasks, managing risks, tracking progress etc to ensure on time and within budget delivery of the product. Environment: This includes ensuring proper tools are available whenever required.