requirements determination

advertisement
FEASIBILITY ANALYSIS
and
REQUIREMENTS
DETERMINATION
31
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
Design
Analysis

Planning
 Feasibility
Study (optional)

Requirements Determination

Conceptual Design

Physical Design

Construction and/or Purchase
(prototype)

Training

Conversion - old to new

Implementation
FEASIBILITY ANALYSIS
• FEASIBILITY (in information systems development) is the
measure of how beneficial the development or enhancement
of an information system will be to the business
• FEASIBILITY ANALYSIS is the process by which
feasibility is measured
33
FEASIBILITY TYPES
• OPERATIONAL FEASIBILITY is the measure of how well
a particular information system will work in a given
environment
• TECHNICAL FEASIBILITY is the measure of the
practicality of a specific technical information system
solution and the availability of technical resources
• ECONOMIC FEASIBILITY is the measure of the costeffectiveness of an information system solution
34
ECONOMIC FEASIBILITY
Example
• Costs to develop, maintain and operate
• Benefits when operational
• Break-Even point (Costs = Benefits)
35
1. Systems Development Costs (one-time; representative only)
Personnel:
• 2 Systems Analysts (450 hours/each @ $45/hour)
• 5 Software Developers (275 hours/each @ $36/hour)
• 1 Data Communications Specialist (60 hours @ $40/hour)
• 1 Database Administrator (30 hours @ $42/hour)
• 2 Technical Writers (120 hours/each @ $25/hour)
• 1 Secretary (160 hours @ $15/hour)
• 2 Data Entry clerks during conversion (40 hrs/ea @ $12/hr)
Training:
• 3 day in-house course for developers
• User 3 day in-house course for 30 users
Supplies:
• Duplication
• Disks, tapes, paper, etc.
Purchased Hardware & Software:
• Windows for 20 workstations
• Memory upgrades in 20 workstations
• Mouse for 20 workstations
• Network Software
• Office Productivity Software for 20 workstations
TOTAL SYSTEMS DEVELOPMENT COSTS:
$40,500
49,500
2,400
1,260
6,000
2,400
960
7,000
10,000
500
650
1,000
8,000
2,500
15,000
20,000
$161,670
2. Annual Operating Costs (on-going
each year)
Personnel:
• Maintenance Programmer/Analyst (250 hrs/year @ $42/hr)
• Network Supervisor (300 hrs/year @ $50/hr)
$10,500
15,000
Purchased Hardware & Software Upgrades:
• Hardware
• Software
5,000
6,000
Supplies and Miscellaneous items
3,500
TOTAL ANNUAL OPERATING COSTS:
40,000
-----------------------------------------------------------------------------------------------------------
TOTAL COST TO DEVELOP AND OPERATE THE SYSTEM: $201,670
==========
TANGIBLE BENEFITS
 Fewer processing errors
 Increased throughput
 Increased response time
 Elimination of job steps
 Reduced expenses
…Equate these
to Dollars ($)
 Increased sales
 Faster turnaround
 Better credit
 Reduced credit losses
 Reduction of accounts receivables
38
INTANGIBLE BENEFITS
 Improved customer goodwill
 Improved employee morale
 Improved employee job satisfaction
 Better service to the community
 Better decision making
…Equate these
to Dollars ($) 39
BREAK EVEN (PAYBACK)
ANALYSIS
Break Even (Payback) Analysis Example*
Year 0
Year 1
Year 2
Year 3
Year 4
Year 5
Development Costs (161,670)
Operational Costs
(40,000) (40,000) (40,000) (40,000) (40,000)
Tangible Benefits
Intangible Benefits
Benefit (Cost)
Cum Benefit (Cost)
-
50,000
20,000
55,000
25,000
60,000
30,000
(161,670)
30,000 40,000 50,000
(161,670) (131,670) (91,670) (41,670)
65,000
35,000
70,000
40,000
60,000
18,330
70,000
88,330
* This simple example does not consider the Time-Value of Money
Cum Benefit (Cost)
150,000
100,000
50,000
(50,000)
(100,000)
(150,000)
(200,000)
88,330
18,330
(41,670)
(91,670)
(131,670)
(161,670)
0
1
2
3
4
5
Cum Benefit
(Cost)
REQUIREMENTS
DETERMINATION*
* AKA: Requirements Engineering, Requirements Management, Requirements As
41
Design
Analysis
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

Planning

Feasibility Study (optional)
 Requirements
Determination

Conceptual Design

Physical Design

Construction and/or Purchase
(prototype)

Training

Conversion - old to new

Implementation
Business “problems” come in all sizes and sh





Examples:









Name & Address Book
CD Collection
Course Registration
Reservations
Student Grades
Payroll
ATM machine & Banking in General
Check-Out Counters at Retail Stores
Order Fulfillment - Mail or Web Ordering
Manufacturing
Securities Portfolio Management
Space Shuttle Flight
Election Results
Video Games (Arcade and Home)
43
DETERMINATION
An activity used to determine what is “in” and what is “out”!
Problem Domain Details
Requirements Determination Activity
Problem Domain
Required Details
44
What are
Requirements?
Three (3) alternative ways to think about Requireme
• Requirements are criteria that are necessary,
needed, or demanded.
• Requirements are implicit or explicit criteria
that must, should, or might be met.
• Requirements equal the wants and needs of the
user(s).
45
Observations about
Requirements
• Requirements are not supposed to dictate any details regarding
the implementation of a solution.
• We commonly define differing levels of necessity for our
requirements, such as “absolutely must be satisfied”, “nice to
have”, and “optional”.
• Some requirements may apply to an entire system, while
others apply only to part of the system.
• Compromise is often necessary for conflicting requirements
from different user(s).
• Some requirements are static, while others are dynamic and
evolve or emerge over time.
• Requirements are not always easy to explain (communicate),
46
understand, or document.
Documenting the
Requirements
1 of 2
• One very common way to document requirements is a textual
document containing a list of numbered or bulleted items, i.e.,
the requirements.
• Each requirement is (ideally) stated in the form of a single
sentence.
• Each sentence contains a word such as “must,” “shall,”
“should,” “will,” “might,” or “can.”
• The document contains a way of differentiating those
requirements which are essential/demanded from those
requirements which are optional/suggested.
47
Documenting the
Requirements
2 of 2
• Text is not the optimum form for all requirements.
• For GUI, specifying colors, window layouts, and the placement of
icons is more easily and directly done using graphical techniques.
• For systems using audio, animation, video capture, etc., it is
difficult to be precise if we are limited to textual descriptions.
• Both static and dynamic models may be necessary to accurately
and correctly document requirements.
48
Product Requirements
Versus Project Requirements
Two very different sets of requirements:
• Product Requirements
– define the criteria that must, should, or, might
be met by the delivered product.
• Project Requirements
– stipulates resources for those conducting the
project.
– stipulates how different aspects of the project
will be carried out.
49
Requirements:
Priorities and Constraints
• Both product and project requirements may have associated
priorities and constraints.
• A priority is a level of importance assigned to an item
– helps define which items take precedence over other items.
• A constraint is a limit or a restriction placed on an item or
situation
– helps define the scope (boundaries) of an item or situation.
50
Types of Requirements
There are three major types of requirements:
• User-Driven
• User-Reviewed
• User-Independent
51
User-Driven Requirements
• Defined and specified entirely by the user.
• The systems analyst has little, or no, input to
the definition and specification of the system
requirements.
• Not a desirable situation.
52
User-Reviewed
Requirements
• Specified by the user and the systems analyst
working together.
• It is not the analyst’s job to be an expert in the
user’s application domain.
• It is, however, required that systems analysts
possess the skills, methods, techniques, and tools
with which they effectively define, specify, and
verify requirements through interactions with the
user.
53
User-Independent
Requirements
• Defined and specified without a particular
user being present.
• The most common example of userindependent requirements are those
requirements which are defined by software
product vendors when they choose to
develop a new software product.
54
INFORMATION SYSTEMS
REQUIREMENTS
Three Perspectives:
• Global
• Individual
• Collective (group)
55
INFORMATION SYSTEMS
REQUIREMENTS
Perspective: Global
• Reviewing old reports, forms, and files
• Conducting research to find out what
other companies have done - books,
magazines, newspapers, trade & scholarly journals,
vendor literature, colleagues, web...
• Conducting site visits
56
INFORMATION SYSTEMS
REQUIREMENTS
Perspective: Individual
• Interviews
• Observations
• Questionnaires (surveys)
• Create a prototype
57
INFORMATION SYSTEMS
REQUIREMENTS
Perspective: Collective (group)
• Create a prototype
• Joint Application Design (JAD)
• Automated support tools, such as
EJAD and integrated CASE tools
• Electronic Meeting Facilitation
58
INFORMATION SYSTEMS
REQUIREMENTS
Three Common Threads in all Methods:
• Feedback to the user(s)
• Technology-free information content
• Good communication skills needed
59
REQUIREMENTS AMBIGUITY*
START WITH
GOAL
what
the
user
wants/
needs
what
the
user
does not
want/
need
EXPLORE
and
ITERATE
want/need,
but they
do not
ask for
do not
want/need,
but ask for
* Requirements Ambiguity (adapted from [Gause & Weinberg])
60
Be Suspicious of the Quality of
Requirements
Requirements usually have one or
more of the following 8 problems:
• Omissions
• Contradictions
• Ambiguities
• Duplications
• Inaccuracies
• Introduced elements
• Too much design
• Irrelevant information
61
Omissions
Problem #1
• Very often, the initial set of user-supplied
information is incomplete.
• During the course of analysis, the systems
analyst will be expected to locate and/or
generate new requirements information.
• This new information is, of course, subject to
the approval of the user.
62
Contradictions
Problem #2
• Contradictions may be the result of:
–
–
–
–
incomplete information
imprecise specification methods
a misunderstanding
a lack of consistency check on the
requirements.
• If the user alone cannot resolve the
contradictions, the analyst will be required
to propose a resolution to each problem.
63
Ambiguities
Problem #3
• Ambiguities are often the result of:
–
–
–
–
incompletely defined ideas
use of ambiguous words (e.g., big, small…)
lack of precision in the specification method
a conscious decision to leave resolution of ideas
to the analysts performing analysis.
• Resolution of ambiguities with user input is
important otherwise the resolution is left in
the hands of the systems analyst.
64
Duplications
Problem #4
• Duplications may be
– the outright replication of information in the
same format in a different place
– the replication of the same information in
several different places and formats.
• Sometimes duplications are not obvious
– the use of several different terms to describe the
same item.
• The systems analyst must be careful when
identifying and removing duplications.
65
Inaccuracies
Problem #5
• It is not uncommon for systems analysts to
uncover information which they suspect is
incorrect.
• Inaccuracies must be brought to the user’s
attention and resolved.
• Often, it is not until the user is confronted
with a precisely-described, proposed
“requirements document” that many of the
inaccuracies in the original requirements
66
come to light.
Introduced Elements
Problem #6
• It is not uncommon for systems analysts to take
the liberty of introducing additional
requirements after they have met with the users
– Forgot to discuss
– Think that they will save time by adding it without
discussing it with the users
– Think that the user would want it
– Think that the user would like it.
• Sometimes this is okay and other times it can
be harmful.
67
Too Much Design
Problem #7
• One of the greatest temptations in systems
analysis is “to do the next person’s job.”
– i.e., to both define a problem and to propose a
(detailed) solution.
• One of the most difficult activities during
analysis is the separation of “real
requirements” from arbitrary (and
unnecessary) design decisions made by
those supplying the requirements.
68
Irrelevant Information
Problem #8
• Systems analysts are often reluctant to throw away
any information.
• Users sometimes feel it is better to supply too
much information rather than too little (usually
just the opposite).
• Without some clear cut mechanisms to identify
and remove irrelevant information, it will be
difficult to develop accurate, cost-effective, and
pragmatic solutions to a user’s problems.
69
REQUIREMENTS
DETERMINATION
How to get started?????
• Four sub-activities
• Kozar’s Requirements Model
• Enterprise Objects
70
Framework #1: Requirements Determination Sub-Activities
•
Requirements Anticipation - being able to relate;
analogical reasoning; patterns
•
Requirements Elicitation - asking the right questions;
listening & understanding; reflection
•
Requirements Specification - documenting your
understanding of the real requirements
•
Requirements Assurance - verifying and validating
(V&V) requirements with the user(s)
71
Framework #2: Requirements Model (Kozar)*
A strategy that links information systems activities with
established business activities.
PREMISE: Information systems support business
activities; therefore, associating information systems
activities with business activities should be possible.
Provides verification and validation (V & V) traceability
* Adapted from Kozar, K.A., Humanized Information Systems Analysis and Design,
McGraw-Hill Inc., 1989, pp. 61-62 and personal communication with the author.
72
Kozar’s Requirements Model is partially based on
the traditional Top-Down MANAGEMENT Pyramid*
More
Abstract
MISSION/
PURPOSE
Reason for existence
GOALS
General statements
OBJECTIVES
TACTICS & NEEDS
More
Details
INFORMATION SYSTEMS
Specific measurable statements
Actions to accomplish
objectives
Support for user actions
* Note: The pyramid model on this slide is NOT part of Kozar’s Model73
Kozar’s Requirements Model - page 1 of 3
STIMULI
A change of some type
Hired a marketing consultant
BUSINESS
OBJECTIVES
forces changed enterprise needs
Recommends better tracking
of where sales orders come from
BENEFITS
BUSINESS
TACTICS
causing changed user behaviors
Mkt. code on each promo. piece
mailed out
COSTS
INFO. SYS.
OBJECTIVES
requiring changed information needs
Develop mkt. codes
Track sales based on mkt. codes
Reports showing promo. piece
effectiveness
BENEFITS
INFO. SYS.
TACTICS
requiring changed I.S. activities
Modify Sales Order Fulfillment Sys
(about 2 dozen changes)
COSTS
74
Kozar’s Requirements Model - page 2 of 3
STIMULI
Creates one or more
BUSINESS OBJECTIVES
Creates one or more
BUSINESS TACTICS
Creates zero or more
INFORMATION SYSTEMS OBJECTIVES
Creates one or more
INFORMATION SYSTEMS TACTICS
75
Kozar’s Requirements Model - page 3 of 3
Business Objectives
1. ......
2. ......
3. ......
4. ......
etc....
Business Objectives
create one or more
Business Tactics
Business Tactics
1.1 ......
1.2 ......
1.3 ......
2.1 ......
3.1 ......
3.2 ......
4.1 ......
4.2 ......
4.3 ......
4.4 ......
etc....
Info. Sys. Objectives
1.1.1
1.1.2
1.1.3
1.2.1
1.2.2
2.1.1
2.1.2
etc...
Business Tactics
create zero or more
Information Systems
Objectives
Info. Sys. Tactics
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.2.1
1.1.2.2
1.1.3.1
etc.....
Information Systems
Objectives create
one or more
Information Systems
Tactics
76
Video Store Requirements Model
(partial)
page 1 of 4
MISSION STATEMENT
To be the video store of choice by successfully providing a generous
selection of home video products for sale or rental at competitive prices.
GOALS
1. Increase market share and maintain profitability
2. Offer superior customer assistance and browsing environment
BUSINESS OBJECTIVES
(what we want to accomplish for the business)
1. Decrease checkout time for customers by at least 50%
2. Improve membership management by 50%
3. Increase memberships by 75% each year for the next two years
4. Improve inventory management by 60%
5. Purchase at least one new store each calendar year for the next 3 years
and then begin acquiring several stores each year thereafter.
77
Video Store Requirements Model
(partial)
page 2 of 4
BUSINESS OBJECTIVES
(what we want to accomplish for the business)
BUSINESS TACTICS
(how we plan to accomplish the business objectives)
1.1 Revise the check-out method for rentals and sales to be more
efficient and effective
2.1 Revise the membership management method to be more effective
and efficient
3.1 Implement a marketing strategy to increase membership
4.1 Revise inventory management to be more effective and efficient
5.1 Replace/implement accounting and financial systems
78
Video Store Requirements Model
(partial)
page 3 of 4
INFORMATION SYSTEMS OBJECTIVES
GENERAL OBJECTIVES:
A. Provide Just-in-Time (JIT) training
B. The systems we implement must be friendly and easy to learn and use
C. The systems we implement must give considerations to security issues
SPECIFIC OBJECTIVES:
1.1.1 Provide an automated system to assist with customer sales/rental
check-outs
2.1.1 Provide and maintain an automated membership database
a. provide current (up to date) membership information on demand
b. capability to add, change, and delete (remove) membership info.
79
(partial)
INFORMATION SYSTEMS OBJECTIVES - continued
page 4 of 4
2.1.2 Provide membership information reports such as (not limited to):
a. least used memberships
b. most used memberships
c. delinquent memberships (both money owing and outstanding rentals)
4.1.1 Provide and maintain an inventory database for both sales and rental items
a. provide current (up to date) inventory information on demand
b. capability to add, change, and delete (remove) inventory information
(sales and rental)
4.1.2 Provide inventory information reports such as (not limited to):
a. least popular rentals
b. most popular rentals
c. delinquent tape rentals outstanding
d. products “on order” (purchasing report) for sale and for rent items
5.1.1 Provide Sales Reports such as (not limited to):
a. sales for a time period (day, days, week, weeks, month, etc.) by
product code
b. rentals for a time period (same as above)
80
Framework #3: Enterprise Objects
A strategy that maps information systems business objects
with established business functionalities.
PREMISE: Information systems support integrated business
activities; therefore, they should mimic the “real world”
business activities as closely as possible.
Provides verification and validation (V & V) traceability
81
Enterprise Objects
• Objects are not all created equal:
• Different object types address different issues
• Process and management issues differ
• Buy vs. Make decision driven by different motivations
• Three types of objects:
• Business - business concepts / components, sharable across a
company or industries, independent of applications (ex: customer,
employee, product, vehicle, transcript, course...)
• Technology - software and infrastructure building blocks,
frameworks for software development (ex: windows, forms,
controls…)
• Application - user interfaces to business objects as solutions to
82
specific business problems (ex: Order Entry, Ticketing, Acct setup)
Enterprise Objects
Information
System
Business Objects
Application Objects
Technology Objects
83
AN OBJECT-ORIENTED
REQUIREMENTS
DETERMINATION
METHODOLOGY*
* Based on the work of Peter Coad and others...
84
REQUIREMENTS
DETERMINATION
METHODOLOGY
EMPHASIZES:
• OBJECTS
• PATTERNS
• RESPONSIBILITIES
• SCENARIOS
85
REQUIREMENTS
DETERMINATION
METHODOLOGY
• OBJECT - a person, place, thing, or concept.
• PATTERN - a naturally recurring template of objects within a
“problem domain” having stereotypical responsibilities and
interactions.
• RESPONSIBILITY - something associated with an object:
– What the object knows about itself (attributes)
– What other objects the object knows (relationships)
– What the object does (services performed)
• SCENARIO - a time-ordered sequence of object interactions to
fulfill a specific responsibility.
86
REQUIREMENTS
DETERMINATION
METHODOLOGY
Four Activities:
1. Identify the purpose and features of the
information system
2. Identify objects and patterns
3. Establish object responsibilities - attributes,
relationships, and services
4. Work out the information system’s dynamics using
scenarios
87
REQUIREMENTS
DETERMINATION
METHODOLOGY
The preceeding four (4) activities are performed
for each of four (4) Object Model Components:
• Problem Domain component (PD)
• Human Interaction component (HI)
• Data Management component (DM)
• System Interaction component (SI)
88
REQUIREMENTS
DETERMINATION
METHODOLOGY
Information System
Human Interaction
Problem Domain
GUI Forms & Windows
Business Rules & Policies
Data Management
System Interaction
Database Activities
Integration with other systems
89
Note: This illustrates the 3-Tier or N-Tier Technology concept
page 1 of 3
Types of Information System Features
A feature is a tangible, measurable, desired outcome
that an information system could produce.
Log Information
(“needed information”)
•Business Problem
Master/Reference Data
Analyze results
• Business Problem Results
Conduct Business
• Business Problem
Transaction Data
Interact with
other systems
• Business Problem Integration
page 2 of 3
Features Examples

Log Information:
•
•
•
•
•

Maintain membership information
Maintain product information
Maintain vendor (supplier) information
Maintain employee security information
etc…
Conduct Business:
•
•
•
•
Rental transaction
Sales transaction
Order products transaction
etc...
91
page 3 of 3
Features Examples
 Analyze
results:
• Produce Periodic Sales Report s by:
• Product
• Employee
• Fastest-moving rentals
• Fastest-moving sales
• Produce “On-Order” Report by Vendor
• Produce “On-Order” Report by Product
• etc…
 Interact
with other systems:
• Validation of Credit Cards
• etc...
92
Regarding Requirements
Determination
• People ARE Different! (Thinking & Behaviors)
• Each Software Development Project Is Different!
• Requirements Determination Is an Iterative Process
• Some Sub-Processes May Be Accomplished Concurrently
• The Requirements Determination Effort May Be Accomplished At
More Than One Point In the Life-Cycle
• The Requirements Determination Effort May Be Driven By External
or Uncontrollable Circumstances
• Requirements Determination Should Not Be Driven By Low-Level
Issues
• Verification, Validation, and Quality Assurance Are Always Important
for Requirements Determination
• Corrections and changes to Requirements late in the SDLC may cost
between 30 and 70 times their cost if done initially
93
Download