Investigating System Requirements
Investigating System Requirements
LECTURE 4:
Investigating System Requirements
1
Lecture Outline
2
The Analysis Phase in More Detail
Prioritize requirements
4
The Analysis Phase
Gather Information
System analyst needs to become an expert in the
business area the system will support or should
even actually do some or part of the task to get a
feel for what is done (e.g., in order to automate
order-entry, may need to know how orders are
processed)
Gathered information involves:
• Understanding the existing system
• Identifying all current and future users, locations,
system interfaces (inside and outside the organization)
• Identifying possible software package solutions that
might be used
5
The Analysis Phase
Prioritize Requirements
• Establish which functional and technical requirements are most
critical
• Why? Since resources are always limited and you want to address
the most important things
• Unless evaluation priorities, system requirements tend to expand
as users make more suggestions (called “scope creep”)
8
System Requirements
9
Functional requirements
Functional requirements
Activities system must perform (use
cases)
Based on procedures and business
functions
Documented in analysis models
E.g.: “reduce fuel costs by calculating
where is it best to fuel up”
10
Nonfunctional requirements
Nonfunctional requirements
Technical requirement – hardware and software
Performance requirement – workload measures
Usability requirement – user interface,
workflow
Reliability requirement – outages, error
detection
Security requirement – access & protection
13
Types of Models
14
Some Descriptive Models
15
Overview of Models Used
in Analysis and Design
17
Stakeholders—The Source of
System Requirements
19
Users as Stakeholders
Technical Stakeholders
• The technical staff includes people who establish
and maintain the computing environment of the
organization
• They are source of many technical requirements
– provide guidance in such areas as programming
language, computer platform, equipment, etc.
21
RMO
Stakeholders
22
Techniques for Information
Gathering
Analysis phase done to understand business
functions and develop system requirements
Original structured approach
Create physical and logical models of existing
system
Derive requirements from existing system model
Create physical and logical models of new system
Current approach
Identify logical requirements for new system
Balance the review of current business functions
with new system requirements
23
Traditional Approach to Identifying
System Requirements
24
Current Approach to Identifying
System Requirements
25
The transition from information
gathering to model building
26
Methods of Information Gathering
27
Just For Fun
28
Question Topics
29
Themes for information-gathering
questions
30
Review Existing Reports, Forms,
and Procedure Descriptions
32
Conduct Interviews and
Discussions with Users
One of the most effective ways to understand business
functions and rules
Can be time consuming and resource expensive
Team members meet with individuals or groups of users
May require multiple sessions to
Meet all users
Understand all processing requirements
List of detailed questions prepared
Can involve new approaches (critical incident method and
cognitive task analysis – not mentioned in text)
To be effective should be organized in three areas:
(1) preparing for the interview
(2) conducting the interview
(3) following up the interview
33
Sample Checklist to Prepare for
User Interviews
34
Preparing for the Interview
See text for variety of tips: like dress well, be polite and
arrive on time!
Limit the time of the interview (plan for about an our and a
half)
If it is required more time to cover all questions, schedule
another session.
It is better to have several shorter interviews than one long
“marathon”
Look for errors or exception conditions – e.g. get them to
describe when things go wrong (“What if it doesn’t arrive?”,
“What if the balance is incorrect?”)
In critical incident method can ask to describe an easy
case, as well as a “scenario from hell”
“What ifs” can be explored as well as probing about real
incidents
The ability to think of the exceptions is very important; it
couldn’t be learned from a textbook, but only from
experience 36
Conducting the Interview (2 of 2)
37
Sample
Agenda for
Interview
38
Following Up the Interview
40
Observe and document business
processes (1 of 2)
Varies from office walkthroughs to performing
actual tasks
44
Activity
Diagram
that
Models a
Workflow
45
Activity Diagram with Concurrent
Paths
46
Building Prototypes
Characteristics of Prototypes:
Operative: a prototype should be a working
model, with some real functionality (if not
working, but just shows what it looks like, its
called a mock-up)
Focused: a prototype should be focused on a
single objective (to test a specific concept or
verify an approach)
Quick: the prototype should be built and
modified quickly (so can validate an approach,
and if it is wrong, fix it fast in an iterative
process)
Built and modified rapidly with CASE tools
48
Distribute and Collect
Questionnaires
Sample RMO
Questionnaire
Closed-ended
open-ended
50
Conduct Joint Application Design
Sessions
Expedites investigation of system requirements
JAD is a technique to define system requirements
in a single session by having all the necessary
people participating together
Compare: Normal interview and discussion approach takes
a lots of time and effort (meet with users, document the
discussion, build models, review and revise them, place
unresolved issues on an open-items list – all of those on
iterative basis!)- May require many meetings (months)
JAD idea is to compress all these activities into a
shorter series of meetings with users and team
members (An individual JAD session may last
from a day to a week)
Critical factor is to have all important
stakeholders present
51
Joint Application Design
Participants
JAD session leader
Trained in group dynamics and facilitating group discussion
Must ensure agenda and objectives are met
Often system analyst appointed as leader but better if someone actually
trained to lead group decision making
May not be the expert in the business area though
Users
Managers are good to have at the meeting since important decisions have
to be made
If executives cannot be at the meeting, they at least should be
contactable (or visit once a day)
Technical staff
A representative from the technical support group should be present (e.g.
for info. regarding networks, operating environments etc.)
Project team members
System analysts
User experts
Assist in discussion, clarify points, build models and document the results
Members of the project team are the experts on ensuring the objectives
are met 52
Joint Application Design Facilities
54
Group Support Systems (GSSs)
Can be risky
Since done very fast may end up with sub-
optimal decisions
Details may be inappropriately defined or missed
However, can be effective if it is done carefully
with the result of shortening the schedule
56
Validating the Requirements
Execution
– During the walkthrough analyst presents material point by point
– Walks through each diagram or section of a document explaining
each component (one effective technique is to define a sample
test case and process it through the defined flow)
– The reviewers look for inconsistencies or problems and point them
out
– A librarian (helper for presenter) documents the comments, errors
and suggestions
– Corrections and solutions are not made during the walkthrough
– If there is a complex error may reschedule for another meeting
– Reviewer should only provide focused feedback
– Presenter can integrate feedback later on when gets entire set of
comments
Follow-up
– Making required corrections
– Additional walkthrough may be needed 59
END
60