CS206-Note6 - Chu Hai College

advertisement
Part II: Information
Requirements Analysis
Note 6
Prototyping, RAD, and Extreme
Programming
Systems Analysis and Design
Kendall & Kendall
Sixth Edition
Major Topics
•
•
•
•
•
•
The Prototyping Concept
The different kinds of prototypes
Guidelines for developing prototype.
Advantages and disadvantages.
Rapid Application Development (RAD)
Extreme Programming (XP)
CS206 System Analysis and Design
Note 6 By ChangYu
2
Prototyping
• Prototyping is an informationgathering technique.
• Prototypes are useful in seeking
user reactions, suggestions,
innovations (新發明) and revision
(修订) plans.
Initial
Requirements
Identify
Problem
Develop
initial
Prototype
,
• Prototyping may be used as an
alternative (替換物) to the Systems
Development Life Cycle.
• One special instance of prototyping
that uses an Object-Oriented
Approach is called Rapid
Application Development – RAD.
Working
Convert to
Operational
System
Implement
and Use
Prototype
Prototype
Problem
Next Version
Revise and
Enhance
Prototype
The prototyping methodology (方法)
3
When SA using the prototyping, They can
• Test certain aspects (方面) of overall design
• Check for functionality and usability
• Revision plans and change in the model
• Discovers many perspectives (前景).
• Set priorities (優先權) and redirect plans.
• Seek
1.
User Reactions: The reactions of users and management to the
prototype. Gathered through observation, interviews, questionnaires.
2.
User Suggestions: The suggestions should point the SA toward
ways of refining (精煉), changing, “cleaning up” the prototype.
3.
Innovations: Innovations are new system capabilities (能力) that
have not been thought of prior (之前) to the time when users began to
interact with the prototype.
4.
Revision Plans: Help identify priorities (先後次序) for what
should be prototyped next.
4
Four Kinds of Prototypes
The four conceptions of prototypes are :
–
–
–
–
Patched-up (拼湊) prototype
Non-operational scale model
First-of-a-series Prototype
Selected Features Prototype
5
Patched-up Prototype
• This kind prototype has to do
with constructing (建造) a
system that works but is
patched up (拼湊) or patched
together.
• This is a working model with
all the features but is
inefficient.
• Users can interact with the
system.
• Storage and retrieval of data
may be inefficient. Because
programs were written rapidly
with the objective of being
workable rather than efficient.
• May contain only basic
features.
E.g: An a information system is
working model that has all the
necessary features but is inefficient.
The system’s components and
interfaces are patched together. Users
can interact with the system. The
storage and retrieval of information
may be inefficient.
6
Non-operational Scale Models
• A nonoperational scale mode is
one that is not operational,
except for certain features to be
tested.
• It might be produced when the
coding required by the
applications is too extensive (廣泛
的) to prototype but when a
useful idea of the system can be
gained through the prototyping
of the input and output only.
• In this instance, processing,
because of undue (過度的) cost and
time, would not be prototyped.
But could still be made based on
prototyped input and output.
E.g. A full-scale model of an
automobile which is used in wind
tunnel tests. The size and shape of
the auto are precise (精確的), but the
car is not operational (運作). Only
features of the automobile needed for
wind tunnel testing are included.
7
First-of-a-Series Prototype
• Pilot system is created.
• Prototype is an operation
model.
• Useful when many
installations of the same
information system are
planned.
• An example is a system to
be installed in one
location, tested and
modified as necessary,
and later implemented in
other locations.
E.g. In banking installations for
electronic funds (資金) transfer. A
full-scale prototype is installed in 1
or 2 locations first, and if successful,
duplicates are installed at all
locations.
8
Selected Features Prototype
• An operational model includes some, but not all,
of the essential system features.
E.g. A system menu may appear on-screen that lists 6
features: However, in the prototyped system, only 3 of
the 6 may be available for use, so that the user may add
a record (feature 1), delete a record (feature 3), and list
a record (feature 5).
• With the acceptance of these features,
later essential features are added.
• Some menu items are available.
• System is built in modules. so that if the
features that are prototyped are evaluated as
successful, they can be incorporated (納入)
into the larger, final system.
• These are part of the actual system.
1.
add a record,
2.
update a record,
3.
delete a record,
4.
search a record
for a keyword,
5.
list a record, or
6.
scan a record
9
Prototyping As an Alternative to the Systems Life Cycle
• Two main problems with the SDLC:
– Extended (延長的) time required to go through the development life
cycle. As the investment of analyst time increases, the cost of the
delivered system rises (上升) proportionately (成比例地).
– User requirements change over time. Sometime the users cannot
really know what they do or do not want until they see something
tangible. In the traditional SDLC, it often is too late to change an
unwanted system once it is delivered.
• Prototyping may be used as an alternative.
– The analyst effectively shortens the time .
– Using the prototype, SA might overcome (戰勝) some of the
problems of accurately identifying user information requirements.
• Prototyping is considered as an additional (外加的),
specialized method for ascertaining (弄清楚) users’
information requirement.
10
Prototyping is a excellent way
to elicit (引出) feedback about
the proposed system and about
how readily it is fulfilling the
information needs of its users.
The first step of prototyping is to
estimate the costs involved in
building a module of the system.
• Costs of programmers’ and
analysts’ time
• Cost of equipment
If Costs
Budget
The building of the prototyping can proceed.
11
Prototype Development Guidelines
Guidelines for developing a prototype are:
1. Work in manageable (易辦的) modules.
One advantage of prototyping is that it is not
necessary or desirable (稱心的) to build an entire
working system for prototyping proposes.
2. Build the prototype rapidly.
•
•
Speed is essential to the successful prototyping. The
user sees and uses the system very early in the
SDLC instead of waiting for a finished system to
gain hands-on experience.
After a brief analysis of information requirements,
SA constructs working models for the prototype. It
takes less than a week.
12
3.
Modifying the Prototype
–
–
Its construction must support modifications.
The prototype is modified several times, going
through several iterations (重複). Change in the
prototyping should move the system closer to what
users say is important.
4. Stressing (強調) the User Interface
–
–
Since what you are really trying to achieve with the
prototype is to get users to further articulate (清晰) their
information requirements, they must be able to
interact easily with the system’s prototype.
For many users, the interface is the system.
13
Prototype Disadvantages
1. Managing the project
– Managing the prototyping process is difficult because of
its rapid, iterative nature. To solve this problem, the
analyst should set up specific time periods during which
the analyst and management decision makers will use the
feedback to evaluate how well the prototyping is
performing.
2. Adopting (採用) an Incomplete System as Complete
System
– If a system is needed badly and welcomed readily, the
prototype may be accepted in its unfinished (未完成) state.
– A prototype will not perform all necessary functions.
14
Prototype Advantages
1.
Potential (有可能性的) for changing the system early in its
development
–
–
2.
Early, frequent user feedback , then Modify the system and
make it more responsive (支持) to actual needs.
Early changes are less expensive in the project’s development.
Opportunity to stop development on an unworkable
system
–
–
3.
Permanently (永久) removing the prototype system from use is
done when it becomes clear that the system is not useful and
does not fulfill the information requirements that have been set.
It is better than putting increasing sums of time & money into a
project that is plainly unworkable.
Possibility of developing a system that closely addresses
users needs and expectations
–
–
The prototype acts as an interactive tool that shapes the final
system to accurately (準確地) reflect (反映) users’ requirements.
Users who take early ownership (擁有權) of the information
system work harder to ensure (確保) its success.
15
Prototype Evaluation – The User’s Role
• The user’s role is
honest involvement.
• Three ways the user
is involved:
– Experimenting (試
驗) with the
prototype.
– Giving open
reactions to the
prototype.
– Suggesting
additions to
and/or deletions
from the
prototype.
16
17
Rapid Application Development (RAD)
• RAD, or Rapid Application Development, is a teambased technique, is an Object-Oriented Approach to
systems development that includes a method of
development as well as software tools.
•
Goal:
• Shortening of time and expense needed in SDLC
between the design and implementation of the information
system.
• Helping to design a system that requires a highly
interface or complex user interface.
• RAD is the one special instance of prototyping.
18
RAD Phases
• The three broad phases to RAD are :
– Requirements planning.
– RAD design workshop.
– Implementation.
Notice that RAD involves users in each part of the development effort, with intense
participation in the business part of the design.
19
Requirements Planning Phase
• Users and analysts meet to
– identify objectives of the application or system
– and to identify information requirements arising
from those objectives.
• The orientation (方向) is toward solving business
problems.
– Although information technology and systems
may even drive some of the solutions proposed,
the focus will always remain on reaching
business goals.
20
RAD Design Workshop
– Is a Design-and-Refine (精鍊) phase.
– Use group decision support systems (GDSS) to
help users agree on designs.
– Programmers and analysts can build and show
visual representations of the designs and
workflow to users.
– During the RAD design workshop, Users
respond to actual working prototypes.
– Analysts refine designed modules based on user
responses.
21
Implementation Phase
• As the systems are built and refined, the new
systems or partial systems are tested and then
introduced to the organization.
• When creating new systems, there is no need to
run old systems in parallel.
• By this time, the RAD design workshop will have
generated excitement (興奮), user ownership (擁有權)
and acceptance of the new application.
22
RAD and the SDLC
• RAD tools are
used to generate
screens and exhibit
the overall flow of
the application.
• Users approve the
design and sign off
on the visual model.
• Implementation is
less stressful (重要的)
because users
helped to design the
business aspects of
the system.
23
Comparing the RAD and SDLC
RAD
1 Purpose: Shorten the SDLC 
Respond more rapidly to
information requirements of
organizations.
SDLC
Purpose: Ensure completeness and
accuracy, and to create well
integrated system into standard
business procedures and culture.
2
Use RAD software tools to
generate screens and to exhibit (展
覽) the overall flow of the running
of the application.
Use a conceptual design represented
on paper.
3
Users have helped to design the
business aspects of the system,
and know what changes will take
place  Less stressful.
There is a lengthy time during
development and design when SA is
separated from users.
24
When to Use RAD
RAD is used when:
– The team includes programmers and
analysts who are experienced with it.
– There are pressing reasons for speeding up
application development.
– The project involves a novel (嶄新)
ecommerce application and needs quick
results.
– Users are sophisticated (世故的) and highly
engaged (從事) with the goals of the
company.
25
Advantage and Disadvantages of RAD
Advantage
• System can be
developed more quickly
with significant cost
savings.
Disadvantage
• May try and hurry the
project too much
• Loosely documented
The documentation never
exists.
• Programmers
inexperienced with RAD
tools (e.g. Microsoft Access,
Microsoft Visual Basic, Visual
C++, Jbuilder 3).
26
27
Extreme Programming (XP)
• Extreme (極端) programming (XP) is a system
development approach that accepts what we know
as good systems development practices and takes
them to the extreme.
• Project management is important, so extreme
programming (XP) tries to
– define an overall system plan quickly,
– develop and release (釋放) software quickly,
– and then continuously revise (修正) the software to add
additional features.
• Extreme programming is based on values,
principles and practices.
28
Four Values of Extreme Programming
• Essential (必不可少的) to extreme programming are stated values and
principles that create the context for collaboration (合作) among
programmers and customers.
• These are four values (準則)
of XP that create an
environment in which
both developers and
businesses can be
adequately (足夠地) served.
– Communication.
– Simplicity.
– Feedback.
– Courage (勇氣).
29
Five XP Principles
The five XP principles are:
1.
2.
3.
4.
5.
Providing rapid
feedback.
Assuming simplicity.
Changing
incrementally.
Embracing change.
Encouraging quality
work.
30
Four Basic Activities of XP
The four basic activities of XP are:
–
–
–
–
Coding.
Testing.
Listening, to the programming partner and customer.
Designing.
31
Four XP Core Practices
The four XP core practices are:
– Short releases, work with the most important
features first.
– Having a 40-hour work week.
– Having an onsite customer.
– Pair programming with another programmer.
32
Review Questions
• What four kinds of information is the analyst seeking through
prototyping?
• What is meant by the term patched-up prototyping and a nonoperational scale mode ?
• Give an example of prototyping that is a first-of-series
prototyping and selected features prototyping.
• List the advantages and disadvantages of using prototyping to
replace the traditional SDLC.
• List four guidelines the analyst should observe in developing
a prototyping.
• Define what is meant by RAD and XP?
• What are the three phrases of RAD?
33
Download