33
Note 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition Part II: Information Requirements Analysis

Note 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition Part II: Information Requirements Analysis

Embed Size (px)

Citation preview

Note 6Prototyping, RAD, and Extreme

ProgrammingSystems Analysis and Design

Kendall & Kendall

Sixth Edition

Part II: Information Requirements Analysis

CS206 System Analysis and Design Note 6 By ChangYu

2

Major Topics

• The Prototyping Concept

• The different kinds of prototypes

• Guidelines for developing prototype.

• Advantages and disadvantages.

• Rapid Application Development (RAD)

• Extreme Programming (XP)

3

Prototyping

• Prototyping is an information-gathering technique.

• Prototypes are useful in seeking user reactions, suggestions, innovations (新發明 ), and

revision (修订 ) plans.

• 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.

The prototyping methodology (方法 )

Identify Problem

Develop initial

Prototype

Convert to Operational

System

Implement and Use Prototype

Revise and Enhance Prototype

Problem

Next Version

Working

Prototype

Initial Requirements

4

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.

5

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

6

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.

7

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.

8

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.

9

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

10

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.

11

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

Costs Budget

The building of the prototyping can proceed.

If

12

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.

13

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.

14

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.

15

Prototype Advantages

1. Potential (有可能性的 ) for changing the system early in its development

– 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.

2. Opportunity to stop development on an unworkable system

– 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.

3. 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.

16

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.

17

18

Rapid Application Development (RAD)

• RAD, or Rapid Application Development, is a team-based 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.

19

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.

20

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.

21

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.

22

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.

23

• 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.

RAD and the SDLC

24

RAD SDLC

1 Purpose: Shorten the SDLC Respond more rapidly to information requirements of organizations.

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.

Comparing the RAD and SDLC

25

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.

26

Advantage and Disadvantages of RAD

Advantage Disadvantage

• System can be developed more quickly with significant cost savings.

• 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).

27

28

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.

29

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 (勇氣 ).

30

Five XP Principles

The five XP principles are:

1. Providing rapid feedback.

2. Assuming simplicity.3. Changing

incrementally.4. Embracing change.5. Encouraging quality

work.

31

Four Basic Activities of XP

The four basic activities of XP are:– Coding.– Testing.– Listening, to the programming partner and customer.– Designing.

32

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.

33

Review Questions• What four kinds of information is the analyst seeking through

prototyping?

• What is meant by the term patched-up prototyping and a non-operational 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?