CSIS3600 System Analysis and Design
Download
Report
Transcript CSIS3600 System Analysis and Design
CSIS3600 System Analysis and
Design
Lecture 7
Determining System Requirements
The Beginning of Analysis
Analysis begins once permission has been granted to
pursue the development of a new system.
Determining System Requirements begins the
Analysis Phase of Systems Development.
Analysis includes:
Requirements Determination
Requirements Structuring
Alternative Generation and Selection
Analysis is creative work.
The Work of Determining
System Requirements
System Requirements determination answers the question:
What is the system to do?
This type of analysis primarily consists of fact-finding activities.
Through this process, "the analyst learns about the vocabulary,
problems, opportunities, constraints, requirements and priorities
of a business and a system" (Whitten and Bentley, 1999).
The work of systems analysis is "to determine what information
and information processing services are needed to support
selected objectives and functions of the organization;
consequently, analysis is fundamentally an intelligence activity in
which analysts capture and structure information" (Hoffer, et al,
1999).
Key Ideas
The goal of the analysis phase is to truly
understand the requirements of the new
system and develop a system that addresses
them.
The first challenge is finding the right people to
participate.
The second challenge is collecting and
integrating the information
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Pre-Requisite Understanding
The business objectives that drive what and how work is performed.
Information people need to know to do the job.
Data required to support the job.
When, how and by whom or what data are moved, transformed and
stored.
Sequence and other dependencies among data-handling activities.
Rules governing how data are handled and processed.
Policies and guidelines that describe the nature of the business and
the market and the environment in which it operates.
Key events affecting data value and when these events occur.
Characteristics
The characteristics of requirements
determination:
Impertinence - question everything
Impartiaility - find the best solution
Relax constraints - all things are feasible
Attention to detail - every fact fits with every
other fact
Reframing - look at the organization and the
problem in new ways
Questions to Ask
Much analysis focuses on the way work is performed. Hoffer, et
al (1999) lists questions that should be investigated:
How does the current system function? Is the system
manual or automated?
What data are necessary for proper functioning of the
supported business area?
What kinds of reports are generated?
How do people use the system to perform their work?
How should a new or replacement system function?
What data would be needed for it to operate smoothly?
How would a new system alter employees' jobs?
What new or improved information services are needed to
support the future organizational goals, objectives,
strategies, and functions?
If you don’t ask the right questions, you won’t get the right
answers.
Collecting Information
In order to properly assess the appropriate
requirements for the system, information should be
gathered from as many sources as possible including
system players (owners, users, etc.), observing users,
from reports, forms, and other pertinent
documentation and procedures used to carry out the
work.
There are several techniques for collecting
information. Analysts use a variety of these in any
given project. Understanding their advantages and
disadvantages as well as which one to use when is
important for success in building information
systems.
Traditional Approaches
Traditional approaches to fact finding:
Reviewing and evaluating the current system/similar
systems including analyzing existing procedures
Interviewing
Questionnaires
Direct observation of the work environment and end
users
Analyzing existing documentation, forms and databases
Analyzing existing procedures
Research
Sampling
Once you synthesize what I just said, you are probably
thinking this isn't feasible. The amount of information
that one could collect can be quite large and the time it
takes to collect that information might be quite
extensive. You run into another problem as well. Too
much information is sometimes no more useful than too
little information and too much analysis is not
productive ("analysis paralysis").
Sampling continued
It is not practical to collect information from every
system users and to purview every piece of relevant
documentation.
Sampling is the process of systematically selecting
representative elements of a population.
Sampling requires assessing who (or what) makes up
the total population and then determining what
would be an appropriate sample size for that
population.
Using samples enhances the fact finding mission of
systems analysts, making the process less time
consuming and more productive.
Sampling can be employed for all types of fact finding
techniques as outlined later on in these notes.
Current System/Similar
Systems
The first place to look for information is with the current system - be it
a computerized, automated or manual system.
Ways to evaluate the current/similar systems:
Model the system
Identify cause-effect relationships among system activities
Identify any business event or input to which the system
responds
Identify special business policies ,processing or decisions that
must be made to respond to the input
Identify normal business outputs or responses to
aforementioned events or inputs
Identify any information that must be produced or made
available
Note on Current System
Evaluation
It was once popular to perform a detailed and
thorough analysis of the current system –
that is no longer advocated due to the
dynamic changes in technology but it is still
important to identify the data, information
and business processes served by the current
system.
Sampling and Current
System/Similar System
A formal sampling process is not
necessary. The processing of selecting
similar systems to review includes
researching what systems exist and
choosing those that are in use in similar
environments.
Analyzing Documents
This can include most anything.
Documents that might describe the
problem:
Interoffice memos, minutes of meetings,
suggestion box notes, customer
complaints, reports, accounting records,
performance reviews, work measurement
reviews…
Analyzing Documents
continued
Documents that describe the business
functions:
Mission statement, strategic plan, organizational
and departmental objectives, policy manuals,
standard operating procedures, job descriptions,
task instructions, completed forms, manual and
computerized databases, manual and
computerized screens and reports…
Analyzing Documents
continued
Documentation of previous system
studies:
System diagrams, project repositories,
design documents, data model, program
documentation, user documentation,
computer operations manuals
Sampling Documents
Guidelines for sampling documents:
AVOID blank forms
Study enough samples to identify all conditions
and exceptions
A simple Sample formula that has been cited to be
reliable:
Sample size = 0.25 * (certainty
factor/acceptable error)2
Certainty factor – statistical representation that
sample will not include variations not in the sample
(certainty values can be found in tables)
Acceptable error – user defined
Example of Sampling Formula
Suppose you want 90% certainty that a sample of
invoices will contain no unsampled variations:
SS = 0.25(1.645/0.1) 2 = 68
Certainty factors (from table)
95% 1.96
90% 1.645
80% 1.281
Acceptable error – 100% - acceptable % of
certainty (100-90) = 10% or .10
Additional Formula
Using .25 often results in a sample size larger than
necessary. You can use an additional formula:
n = (p(1-p)/ss2) + 1
where p is an estimate of the proportion of the
population containing a specified attribute
ss is the result of using the previous formula
Selecting the Sample
Two methods for choosing the document
sample:
Randomization – randomly selecting
documents without any predetermined
plan or pattern
Stratification – systematic sampling to
reduce variance by spreading out the
sample – for instance stratification by
department, by customer type, etc.
Collecting Information
from People
The input from many individuals (users, system owners,
etc) can be beneficial. This can be facilitated by
sampling. Sample types include the
convenience sample – those that are there and willing to
be interviewed
purposive sample – selecting people who satisfy certain
criteria
simple random sample - randomly picking people
stratified sample – identifying categories of people and
then taking random samples from each category
Interviewing
Interviewing is a primary way to gather information
Steps in Interviewing:
Plan the Interview
Read Background Material
Establish Interview Objectives
Decide Whom to Interview
Prepare the Interviewee
Decide on Question Types and Structure
Interviewing Steps continued
Conduct the Interview
Use audio recording or develop good note taking skills
Shake the interviewee’s hand
Begin with general, non-threatening questions
Let your interviewee know what kind of detail you are
expecting
Don’t go beyond an hour
Listen – reflect back or summarize what the
interviewee said
End with – "Is there anything else we haven’t
discussed you feel is important for me to know?
Interviewing Steps continued
Report on the Interview
Write it as soon as possible after the interview
Identify main points
Identify your opinions versus interviewee’s
opinions
Review the report with the interviewee
Types of Interview
Questions
Open ended ("What do you think about putting all
managers on an intranet?")
Benefits:
Puts interviewee at ease
Provide for richness of detail
Allow more spontaneity
Allow interviewer to pick up on interviewee
vocabulary
Pitfalls:
May result in too much irrelevant detail
Chance to lose control of the interviewee
Allow for responses that take too much time and
glean too little information
Interview Questions
continued
Closed Questions ("How many subordinates do you have?")
Benefits:
Limit responses (Y/N, How many, etc)
Saves time
Gets to the point quickly
Keeps control of the interview
Pitfalls:
Can be boring
Fails to obtain rich detail
Chance to miss main idea or underlying reasons
Fails to build rapport
Interview Questions continued
Probe Questions ("Will you elaborate on that for me?")
Asks why and often ask for examples
Goes beyond the initial answer to get more
meaning, to clarify and to draw out and expand
on interviewee’s point
Important to probe to get beyond superficial
answers
May seem intrusive but if built on responses
given by the interviewee is a result of listening.
Listening is respected.
Surveys/Questionnaires
Questionnaires facilitate information gathering from
many people
Guidelines on whether to use questionnaires:
People who need to be questioned are widely
dispersed.
Large number of people are involved in the project
and it is meaningful to know what portion of the
group approves or disapproves of a particular
feature of the proposed system.
You are doing an exploratory study and want to
gauge overall opinion to set a specific direction.
You wish to be certain that problems with current
system are identified.
Steps in Using a
Questionnaire
Identify objectives
Write the questions
Carefully choose wording
Make questions simple, short, specific, free of
bias, technically accurate
Decide on type of questions and measurement
techniques
Quantitative scales assign numbers to response
values (strongly agree = 5, etc.)
Open ended questions require qualitative analysis
where responses are reviewed for patterns
Using a Questionnaire
continued
Test questions on a small sample of respondents.
Make edits based on their recommendations.
Develop a plan for administering questionnaire
Convene all people together at one time
Personally hand out blank questionnaires and
received completed ones
Mail questionnaire
Provide access to it electronically
Evaluate and interpret responses
Types of Questionnaire
Questions
Free-format – open ended questions
Fixed Format – require specific responses
Multiple choice
Rating questions
On a scale of 1-5 (5 being the highest) rate the
following
Ranking questions
Put the following in order of importance
Direct Observation
Steps to Observation
Decide what is to be observed
Work tasks
Physical space
Environmental dynamics (body language, etc).
Decide at what level or concreteness activities are
to be observed
Create categories that adequately capture key
activities
Brainstorm and prepare lists of activities that
might be observed
Direct Observation continued
Prepare appropriate materials for observation
Adjective pairs
Listing of adjectives and opposites
During the observation the characteristic
observed is circled
Playscript
Prepared listing of activities expected to be
observed
Each time the activity occurs, it is marked
Checklist
Prepared checklist of expected observations using
a scale (1-5). When activity occurs, a value is
selected.
Anecdotal list
Short phrases on ongoing activities is
documented.
Direct Observation continued
Decide when to observe
Time and event sampling
Time sampling occurs at specific intervals
Event sampling includes observing an
entire event
Things to remember about
people and their work
People don't always have a completely
accurate appreciation of what they do or how
they do it
People cannot always interpret their own
actions
People may change their behavior when
observed
Direct observation can be used to validate
information obtained using other methods
Summing up Traditional
Methods
Individually interview people informed about the
operation and issues of the current system and needs
for systems in future organizational activities
Survey people via questionnaires to discover issues and
requirements
Interview groups of people with diverse needs to find
synergies and constrasts among system requirements
Observe workers at selected times to see how data are
handled and what information people need to do their
jobs
Study Business documents to discover reported issues,
policies, rules and directions as well as concrete
examples of the use of data and information in the
organization.
Selecting the Appropriate
Techniques
Interviews
JAD
Questionnaires
Document
Analysis
Observation
Type of
Information
As-Is
Improve.
To-Be
As-Is
As-Is
Improve. Improve.
To-Be
As-Is
As-Is
Depth of
Information
High
High
Medium
Low
Low
Breadth of
Information
Low
Medium
High
High
Low
Integration
of Info.
Low
High
Low
Low
Low
User
Medium
Involvement
High
Low
Low
Low
Cost
LowMedium
Medium
Low
Low
LowMedium
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
New Approaches
New approaches to fact finding include
JAD, GSS, and prototyping.
JAD
The buzz these days is JAD or Joint Application
Development (or Design if you prefer).
IBM is credited with starting JAD in the late 1970s.
The main idea behind JAD is to bring together key
users, system owners, systems analysts and IS staff
to assess desired system requirements.
The primary purpose of JAD is to collect systems
requirements simultaneously from the key people
involved with the system
JAD continued
JAD sessions are structured.
JAD sessions follow an agenda and the intent is to
keep the sessions focused and moving forward.
Much planning goes into these sessions and the
questions to be asked are prepared well in advance.
Facilitator is assigned to monitor the session:
Keep session on track
Help with technical terms and jargon
Record group input
Help resolve issues
JAD continued
JAD is a formal process. JAD sessions occur in a
short period of time - anywhere between 1 day
and 2 weeks (all meeting times are consecutive).
It is recommended that JAD sessions be held offsite to elicit the full concentration of all
participants.
The main disadvantage attributed to JAD centers
around the fact that JAD sessions include so
many players who have diverse perspectives.
Therefore JAD leaders are often trained in conflict
resolution.
JAD Meeting Room
JPEG Figure 5-5 Goes Here
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
GSS
GSS are systems designed to support group work.
Such applications as Lotus Notes and Microsoft
NetMeeting are often considered groupware.
These applications provide services to that facilitate
group meetings and group sharing of information.
Actually, it has been suggested that GSS be
considered as mechanism to facilitate JAD.
GSSs were designed to alleviate some of the
problems associated with group meetings. For
instance, most GSSs support the entry of anonymous
comments. Anonymity helps those who fear reprisal
from voicing their opinion.
Prototyping
Prototyping is another hot topic in the area of
systems development and simple prototypes can be
used effectively to determine system requirements.
Prototyping is the building of a small-scale working
model of an information system.
Prototyping, as used in system requirement
determination, is an iterative process whereby the
working model is presented to end users for input,
changes are made based on their input, and the cycle
continues until a final version is agreed upon. The
main consideration is that you must have a model of
a working system so you would have to, at least, go
through some initial fact finding activities.
Prototyping Guidelines
The chances are good that by using prototyping in an
iterative fashion, you will end up with a system more
reflective of user requirements.
A couple of words of caution.
First, you must remember that the goal of using
prototyping in the determination o f system
requirements is to develop specifications for the
final system, not to build the ultimate system.
At this stage of the analysis process, you should
be more focused on deciding what the system will
do, not so much on how it will do it.
Prototyping Guidelines
continued
The use of prototyping at the requirements
stage appears to be most effective when
the desired outcomes of the system are
not easy to define.
Prototyping may be better used during the
design phase of the development process
and used to validate articulated system
requirements
Defining the Requirements
– The Structured Way
Once fact finding is completed, system
requirements need to be formalized.
Requirements are cited in a report known as
the requirements document. The complete
requirements document would include
specification and definition of requirements
and models of the system (these will we
investigate in the next lectures). Some
organizations subdivide the document
including a section just for "Functional
Requirements."
Defining Requirements
continued
Another method is to develop a requirements
definition and a requirements specification. The
requirements definition describes system functions in
natural language with associated listings or diagrams
of required services. The intended audience is system
users.
The requirements specification outlines system
services and is usually written as a contract between
the developer and the user. This can be very detailed
but when completed really assist system designers in
completing their work.
Examples from a
Requirements Document
Example of a Requirements Definition:
1. The software must provide a means of
representing and accessing external files
created by other tools.
Example of Requirements
Specification
Example of a Requirements Specification:
1.1 The user should be provided with facilities to define the
type of external files.
1.2 Each external file type may have an associated tool which
may be applied to the file.
1.3 Each external file type may be represented as a specific
icon on the user's display.
1.4 Facilities should be provided for the icon representing an
external file type to be defined by the user.
1.5 When a user selects an icon representing an external file,
the effect of that selection is to apply the tool associated
with the type of the external file to the file represented by
the selected icon.
Additional Examples
Below are links to some examples of Functional Requirements
Documents that should give you a broader view on how different
organizations approach this process:
The link, Functional Requirements Example, points you to a
completed Functional Requirements document from an actual
systems development project. Even though you do not have
contextual knowledge about the project, the document serves as
an example of how one company completes this process. The
format of the document is specified in the systems methodology
employed by this software development company. Note that the
document includes: an Introduction, Objectives of the System,
Assumptions, Description of Functions and Limitations of the
System.
Additional Examples continued
Functional Requirements Document for Uniform Resource
Names from Xerox Corporation: http://www.cis.ohiostate.edu/htbin/rfc/rfc1737.html
Functional Requirements document for the PARTNERS Project,
a multi-state initiative to develop and implement a smartcardbased delivery system to meet the client services needs of a
variety of public health and human service programs :
http://www.newenglandpartners.com/Files/RFP%20Flies/Attachments%20A%20%20F%20&%20I.pdf beginning on page 15
Functional Requirements for the People & Resources
Identification for Distributed Environments (PRIDE) project to
enable access via a single point to a global range of information
resources within the library:
http://www.ukoln.ac.uk/metadata/pride/wp2/d221/
Evolving Requirements
The specification of system requirements is the primary activity
of the analysis phase of systems development.
It results in a description of what the proposed system is to
accomplish.
It provides the input used in the design of the physical system.
The initial development of system requirements is not an ending
point.
Requirements must be validated and reviewed.
Requirements always evolve as a better understanding of user
needs is developed and as the organization's objectives change.
Requirements Validation
It is essential to plan for change in the requirements as the system
is being developed (and used). Validation checks of system
requirements throughout the process include asking the following
questions:
Does the system provide the functions which best
support the customer's needs?
Are there any requirements conflicts?
Are all functions required by the customer included?
Can the requirements be implemented given available
budget and technology?
Next Week
Another Way to Specify User
Requirements USE CASE ANALYSIS
Quotes of the Week
Systems designers and end users will always live on
different planets. This is one of those immutable laws
of nature.
By the time any one individual has the knowledge and
skills to write a complex software system, he/she - or
the organization - will no longer be capable of
understanding how little end users really know, or
want to know, about the underlying technology .
Gantz, "The More Things Change in IT..." in Computerworld,
33(51), December 20, 1999, pg. 32).