0% found this document useful (0 votes)
22 views39 pages

Unit 1.2 Other Approaches

The document outlines various alternative approaches to traditional waterfall systems development life cycle (SDLC), including Prototyping, Spiral, Rapid Application Development (RAD), and Agile Development. Each approach is discussed in terms of its phases, advantages, and disadvantages, highlighting the iterative nature of Prototyping, risk management in Spiral, user involvement in RAD, and flexibility in Agile. The document serves as a foundational overview for understanding different methodologies in systems development.

Uploaded by

chaturbhuj bhatt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views39 pages

Unit 1.2 Other Approaches

The document outlines various alternative approaches to traditional waterfall systems development life cycle (SDLC), including Prototyping, Spiral, Rapid Application Development (RAD), and Agile Development. Each approach is discussed in terms of its phases, advantages, and disadvantages, highlighting the iterative nature of Prototyping, risk management in Spiral, user involvement in RAD, and flexibility in Agile. The document serves as a foundational overview for understanding different methodologies in systems development.

Uploaded by

chaturbhuj bhatt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 39

System Analysis and Design

Unit 1: Foundations for Systems Development


1.2 Other Approach

Instructor
chaturbhuj Bhatt
chaturbhujbhatt55@gmail.com
1.2 Other Approaches: Syllabus
2

 Introduction
 Prototyping
 Spiral
 Rapid Application Development (RAD)
 Introduction to Agile Development
Introduction
3

 The traditional waterfall approach focuses on


compartmentalizing project into several phases.
 Alternatives to Traditional Waterfall SDLC are:
 Prototyping
 Spiral
 Rapid Application Development (RAD)
 Agile Methodologies
Prototyping: Introduction
4

 Iterative development process:


 Requirements quickly converted to a working
system
 System is continually revised
 Close collaboration between users and analysts
(trial-and-error method)
Prototyping: Types
5

 Rapid Throwaway Prototyping:


 Developers can explore the ideas as well as get proper
customer feedback.
 Prototype need not be a final one, and so it can be further
iterated to develop new versions of the final product.
 Evolutionary Prototyping:
 Developed prototype will primarily be incremented for
refining on the foundation of customer opinion until the
final one gets accepted.
 It provides an improved way which can save time and
effort.
Prototyping: Model
6

Start Stop

Requirement Engineer
Gathering Product

Refining
Quick Design
Prototype

Building
Prototype User Evaluation

Prototyping Model
Prototyping: Phases
7

 Requirements Gathering:
 Requirements of the system are defined in detail.
 The user is interviewed in order to know the requirements of
the system.
 Quick Design:
 When requirements are known, a preliminary design or quick
design for the system is created.
 It is not a detailed design and includes only the important
aspects of the system, which gives an idea of the system to the
user.
 A quick design helps in developing the prototype.
Prototyping: Phases
8

 Build Prototype:
 Information gathered from quick design is modified to form
the first prototype, which represents the working model of the
required system.
 User Evaluation:
 Proposed system is presented to the user for thorough
evaluation of the prototype to recognize its strengths and
weaknesses.
 Comments and suggestions are collected from the users and
provided to the developer.
Prototyping: Phases
9

 Refining Prototype:
 User evaluates the prototype and if he is not satisfied, the
current prototype is refined according to the requirements.
 A new prototype is developed with the additional information
provided by the user.
 The new prototype is evaluated just like the previous prototype.
 This process continues until all the requirements specified by
the user are met.
 Once the user is satisfied with the developed prototype, a final
system is developed on the basis of the final prototype.
Prototyping: Phases
10

 Engineer Product:
 The user accepts the final prototype.
 The final system is evaluated thoroughly followed by the
routine maintenance on regular basis for preventing large-scale
failures and minimizing downtime.
Prototyping: Advantages
11

 The customers get to see the partial product early in the life
cycle. This ensures a greater level of customer satisfaction and
comfort.
 New requirements can be easily accommodated as there is
scope for refinement.
 Missing functionalities can be easily figured out.
 Errors can be detected much earlier thereby saving a lot of
effort and cost, besides enhancing the quality of the software.
 The developed prototype can be reused by the developer for
more complicated projects in the future.
 Flexibility in design.
Prototyping: Disadvantages
12

 There are no parallel deliverables.


 It is a time consuming if customer asks for changes in
prototype.
 This methodology may increase the system complexity as
scope of the system may expand beyond original plans.
 The invested effort in the preparation of prototypes may be
too much if not properly monitored.
 Customer may get confused in the prototypes and real
systems.
Spiral
13

 A risk-driven process model generator that is used to


guide multi-stakeholder concurrent engineering of
software intensive systems.
 The Radius of the spiral at any point represents the
expenses (cost) of the project so far, and the angular
dimension represents the progress made so far in the
current phase.
Spiral: Phases
14

1. Objectives 2. Identify and


determination and resolve risks
identify alternative
solutions

4. Review and 3. Develop next


plan for next version of the
phase product

Different Phases of Spiral Model


Spiral: Phases
15

 Objectives determination and identify alternative


solutions:
 Requirements are gathered from the customers and the objectives
are identified, elaborated and analyzed at the start of every phase.
 Then alternative solutions possible for the phase are proposed in
this quadrant.
 Identify and resolve Risks:
 During the second quadrant all the possible solutions are
evaluated to select the best possible solution.
 Then the risks associated with that solution is identified and the
risks are resolved using the best possible strategy.
 At the end of this quadrant, Prototype is built for the best
possible solution.
Spiral: Phases
16

 Develop next version of the Product:


 During the third quadrant, the identified features are
developed and verified through testing. At the end of the
third quadrant, the next version of the software is available.
 Review and plan for the next Phase:
 In the fourth quadrant, the Customers evaluate the so far
developed version of the software.
 In the end, planning for the next phase is started.
Spiral: Advantages
17

 High amount of risk analysis hence, avoidance of


Risk is enhanced.
 Good for large and mission-critical projects.
 Strong approval and documentation control.
 Additional Functionality can be added at a later date.
 Software is produced early in the software life cycle.
Spiral: Disadvantages
18

 Can be a costly model to use.


 Risk analysis requires highly specific expertise.
 Project’s success is highly dependent on the risk
analysis phase.
 Doesn’t work well for smaller projects.
Rapid Application Development (RAD)
19

 RAD is an object-oriented approach to systems development


that includes a method of development as well as software
tools.

The RAD design workshop is the heart of the interactive development process
RAD: Phases
20

 There are three broad phases to RAD that engage


both users and analysts in assessment, design, and
implementation and they are:
 Requirements Planning
 RAD Design Workshop
 Implementation
RAD: Requirements Planning Phases
21

 In this phase, users and analysts meet


 to identify objectives of the application or system and
 to identify information requirements arising from those objectives.
 This phase requires intense involvement from both groups;
 It is not just signing off on a proposal or document.
 It may involve users from different levels of the organization.
 The orientation in this phase is toward solving business
problems.
 The focus will always remain on reaching business goals.
RAD: RAD Design Workshop Phases
22

 This phase is a design-and-refine phase that can best be


characterized as a workshop.
 Usually participants are seated at round tables or in a U-
shaped configuration of chairs with attached desks
 where each person can see the other and
 where there is space to work on a notebook computer.
 During this phase, users respond to actual working prototypes
and analysts refine designed modules based on user responses.
 The workshop format is very exciting and stimulating
 If experienced users and analysts are present, there is no
question that this creative endeavor can propel development
forward at an accelerated rate.
RAD: Implementation Phases
23

 Analysts work with users intensely during the workshop to


design the business or nontechnical aspects of the system.
 As soon as these aspects are agreed on and the systems are built
and refined, the new systems or part of systems are tested and
then introduced to the organization.
 RAD can be used to create new ecommerce applications
 RAD design workshop will have generated excitement, user
ownership, and acceptance of the new application.
 Typically, change brought about in this manner is far less
wrenching than when a system is delivered with little or no user
participation.
RAD: Advantages
24

 Changing requirements can be accommodated.


 Progress can be measured.
 Iteration time can be sort with use of powerful RAD
tools.
 Productivity with fewer people in short time.
 Reduce development time.
 Increases reusability of components.
RAD: Disadvantages
25

 Dependency on technically strong team members for


identifying business requirements.
 Only system that can be modularized can be built
using RAD.
 Requires highly skilled developers/designers.
 High dependency on modeling skills.
 Inapplicable to cheaper projects as cost.
Introduction to Agile Development
26

 The Agile software development model was mainly


intended for helping developers build a project which
can adapt to transforming requests quickly.
 The most important endeavor for developing the Agile
model is to make easy and rapid project achievement.
 For attaining this task, developers need to preserve the
agility during development.
 Agility can be achieved by correcting the progression
to the project by eliminating activities which may not
be crucial for that specific project.
Development Process of Agile Project
27
 Two words that
characterize a project
done with an agile
approach are interactive
and incremental.
 Five distinct stages:
 Exploration,
 Planning,
 Iterations to the first release
 Productionizing
 Maintenance
The five stages of the agile modeling development process
show that frequent iterations are essential to successful
system development
Development Process of Agile Project:
Phases
28

 Exploration
 During exploration, analyst will explore your environment,
asserting conviction that the problem can and should be
approached with agile development, assemble the team,
and assess team member skills.
 This stage will take anywhere from a few weeks to a few
months.
 Analyst will be actively examining potential technologies
needed to build the new system.
 During this stage analyst should practice estimating the
time needed for a variety of tasks.
Development Process of Agile Project:
Phases
29

 Customers are experimenting with writing user stories.


 The point is to get the customer to refine a story enough so
that analyst can efficiently estimate the amount of time it
will take to build the solution into the system as planning.
 This stage is all about adopting a playful and curious
attitude toward the work environment, its problems,
technologies, and people.
Development Process of Agile Project:
Phases
30

 Planning
 In contrast to the first stage, planning may only take a few
days to accomplish.
 In this stage analyst and the customers agree on a date
anywhere from two months to half a year from the current
date to deliver solutions to their most pressing business
problems.
 If analyst’s exploration activities were sufficient, this stage
should be very short.
Development Process of Agile Project:
Phases
31

 The planning game spells out rules that can help formulate
the agile development team’s relationship with their
business customers.
 They are a basis for building and maintaining a
relationship.
 The goal of the game is to maximize the value of the
system produced by the agile team.
 The strategy pursued by the agile development team is
always one of limiting uncertainty (downplaying risk).
 To do that they design the simplest solution possible, put
the system into production as soon as possible, get
feedback from the business customer about what’s working,
and adapt their design from there.
Development Process of Agile Project:
Phases
32

 Iterations to the First Release


 This stage is composed of iterations to the first release.
 Typically these are iterations (cycles of testing, feedback,
and change) of about three weeks in duration.
 Analyst will be pushing to sketch out the entire architecture
of the system, even though it is just in outline or skeletal
form.
 One goal is to run customer-written functional tests at the
end of each iteration.
Development Process of Agile Project:
Phases
33

 During the iterations stage analyst should also question


whether the schedule needs to be altered or whether analyst
is tackling too many stories.
 Make small rituals out of each successful iteration,
involving customers as well as developers.
 Always celebrate the progress, even if it is small, because
this is part of the culture of motivating everyone to work
extremely hard on the project.
Development Process of Agile Project:
Phases
34

 Productionizing
 The feedback cycle speeds up so that rather than receiving
feedback for an iteration every three weeks, software
revisions are being turned around in one week.
 Analyst may institute daily briefings so, everyone knows
what everyone else is doing.
 The product is released in this phase, but may be improved
by adding other features.
Development Process of Agile Project:
Phases
35

 Getting a system into production is an exciting event.


 Make time to celebrate with your teammates and mark the
occasion.
 One of the watchwords of the agile approach, with which
we heartily agree, is that it is supposed to be fun to develop
systems
Development Process of Agile Project:
Phases
36

 Maintenance
 Once the system has been released, it needs to be kept
running smoothly.
 New features may be added, riskier customer suggestions
may be considered, and team members may be rotated on
or off the team.
 The attitude you take at this point in the developmental
process is more conservative than at any other time.
Introduction to Agile Development:
Advantages
37

 Working through Pair programming produce well written


compact programs which has fewer errors as compared to
programmers working alone.
 It reduces total development time of the whole project.
 Customer representative get the idea of updated software
products after each iteration. So, it is easy for him to change
any requirement if needed.
Introduction to Agile Development:
Disadvantages
38

 Due to lack of formal documents, it creates confusion and


important decisions taken during different phases can be
misinterpreted at any time by different team members.
 Due to absence of proper documentation, when the project
completes and the developers are assigned to another project,
maintenance of the developed project can become a problem.
39

Thank You

You might also like