Chapter 02 Lecture
Chapter 02 Lecture
Learning Objectives
After reading this chapter, you should be able to:
Describe the activities of systems analysis
Explain the difference between functional and nonfunctional requirements
Describe the role of models in systems analysis
Identify and understand different kinds of stakeholders and their contributions to requirements
definition
Describe information-gathering techniques and determine when each is best applied
Develop activity diagrams to model workflows
Systems Analysis and Design in a Changing World, sixth edition 2-2
Opening Case
Mountain Vista Motorcycles (MVM): This case highlights the need to understand the business
context for which the system is going to be built. In this case MVM would like to have a Internet
presence that is attractive and engaging for its clientele. The problem, of course, is to understand its
clientele and what kind of Web presence would be most beneficial. Without understanding its clientele,
MVM could easily build a system that is ineffective, or even worse is one that alienates or bores its
clients.
In this case, the normal role of the systems analyst needs to be expanded to help the user understand
new technology and how it can be used to enhance and expand MVM's Web presence. As in many new
system development endeavors analysts and users must work together as a team to determine what
system capabilities are needed to best fit the business need.
The RMO Consolidated Sales and Marketing System Project
Key Terms
technology architecture – a set of computing hardware, network hardware and topology, and
system software employed by an organization
application architecture – the organization and construction of software resources to
implement an organization’s information systems
Supply Chain Management (SCM) – five year old system in Java and Oracle. Supports
purchasing, distribution, and inventory control. The new Tradeshow system will interface with
it.
Phone/Mail Order System – twelve year old system in Visual Studio and Microsoft SQL Server.
It is at capacity.
Retail Store System (RSS) – a retail store package purchased by RMO. Does point of sale and
a real-time inventory update.
Customer Support System (CSS) – fifteen year old system, with upgrades eleven years ago.
Web-based catalog and Internet storefront with shopping cart.
Systems Analysis and Design in a Changing World, sixth edition 2-3
Treating phone, Web, and retail sales as separate systems rather than as an integrated whole
Employing outdated Web-based storefront technology
Not supporting modern technologies and customer interaction modes, including mobile
computing devices and social networking
RMO plans to replace the three customer order, retail, and support systems with a new Consolidate
Sales and Marketing System (CSMS).
The Sales subsystem provides such basic functions as searching the online catalog and
purchasing items and paying for them online.
The Order Fulfillment subsystem will perform all the normal tasks of shipping items and
allowing customers to track the status of their orders as well as the shipments.
The Customer Account subsystem provides all those services that enhance the customer
experience.
The Marketing subsystem is for employees to set up the information and services for
customers, including information about all the merchandise offered by RMO.
Systems Analysis Activities
Figure 2-2 illustrates the five systems analysis activities that make up core process three. This core
process also goes by the name systems analysis. By completing these activities, the analyst defines in
great detail what the information system needs to accomplish to provide the organization with the
desired benefits. In essence, analysis activities are a second and more thorough pass at defining the
problem and need. The first pass was done to create the System Vision Document.
Systems analysts obtain information from people who will be using the system, either by interviewing
them or by watching them work. They obtain additional information by reviewing planning documents
and policy statements. Analysts also study existing systems, including their documentation. They also
frequently obtain additional information by looking at what other companies (particularly vendors)
have done when faced with a similar business need.
Define Requirements
System requirements include the functions the system must perform (functional requirements) and such
related issues as user interface formats and requirements for reliability, performance, and security
(nonfunctional requirements).
Systems Analysis and Design in a Changing World, sixth edition 2-4
As the analyst gathers information, he or she will use that information to create models that express the
user's needs in terms of precise processing requirements. Building and refining requirements models
occupies much of the analyst’s time.
Prioritize Requirements
Once the system requirements are well understood, it is important to establish which requirements are
most crucial for the system. It is important to prioritize requirements because resources are always
limited, and the analyst must always be prepared to justify the scope of the system. Therefore, it is
important to know what is absolutely required. Unless the analyst carefully evaluates priorities, system
requirements tend to expand as users make more suggestions (a phenomenon called scope creep).
Requirements priorities also help to determine the number, composition, and ordering of project
iterations.
Key Terms
system requirements – the activities a system must perform or support and the constraints that
the system must meet
functional requirements – the activities that the system must perform
nonfunctional requirements – system characteristics other than the activities it must perform
or support
usability requirements – operational characteristics related to users, such as the user interface,
related work procedures, online help, and documentation
reliability requirements – requirements that describe system dependability
performance requirements – operational characteristics related to measures of workload, such
as throughput and response time
Systems Analysis and Design in a Changing World, sixth edition 2-5
security requirements – requirements that describe how access to the application will be
controlled and how data will be protected during storage and transmission
FURPS+ – an extension of FURPS that includes design constraints as well as implementation,
interface, physical, and supportability requirements
design constraints – restrictions to which the hardware and software must adhere
implementation requirements – constraints such as required programming languages and
tools, documentation method and level of detail, and a specific communication protocol for
distributed components
interface requirements – required interactions among systems
physical requirements – characteristics of hardware such as size, weight, power consumption,
and operating conditions
supportability requirements – how a system is installed, configured, monitored, and updated
System requirements are all the activities the new system must perform or support and the constraints
that the new system must meet. Generally, analysts divide system requirements into two categories:
functional and nonfunctional requirements. In this section the authors use the FURPS+ model to
categorize system requirements. Figure 2-3 defines the meanings of the elements of the FURPS+
acronym. They are:
Functions
Usability
Reliability
Performance
Security
+ Design constraints
◦ Implementation
◦ Interface
◦ Physical
◦ Support
Requirements gathering can be hard, but an easy technique is to listen to the users and other
stakeholders for statements such as:
“The ___________________________ system/app/device must _______________________.”
“The ___________________________ system/app/device should _______________________.”
“The ___________________________ system/app/device should NOT _______________________.”
“The ___________________________ system/app/device will NOT _______________________.”
Notice you also want to listen for things the system should not do as well. One of the end results of
Systems Analysis and Design in a Changing World, sixth edition 2-6
gathering and document requirements is the defining of the scope of the project. What is in and what is
NOT in the project.
Examples:
“The Customer Service system must be up during call center hours 7:00 AM to 7:00 PM Central time.”
“The Ebay website must be up 24/7.”
“The Geocaching app. should have the same features on mobile devices as it does on full browser
versions.”
“The Customer Account Lookup feature must display within sub-second response time.”
“The Customer Order system should send a confirmation email to the customer’s email account in
addition to displaying it on the web page.”
“The Customer Order system will not accept American Express or PayPal as a form of payment.”
“The Checkout process should not accept discount/coupon codes that are more than 30 days old.”
Models and Modeling
Key Terms
Model – representation of some aspect of a system
textual models – text-based system models such as memos, reports, narratives, and lists
graphical models – system models that use pictures and other graphical elements
mathematical models – system models that describes requirements numerically or as
mathematical expressions
Unified Modeling Language (UML) – standard set of model constructs and notations defined
by the Object Management Group
A model is a representation of some aspect of the system being built, and the analyst needs to create a
variety of models to represent all aspects of the system. Some models are high-level overviews; some
are detailed views; some focus on one aspect of the system, such as inputs, processes, outputs, or data
storage; some show how the other models fit together; and some show the same problem from a
different perspective.
Models and the process of creating models are important to system development for the following
reasons:
Learning from the modeling process
Reducing complexity by abstraction
Remembering all of the details
Communicating with other development team members
Communicating with a variety of users and stakeholders
Documenting what was done for future maintenance/enhancement
Systems Analysis and Design in a Changing World, sixth edition 2-7
You may think why do you need to build models. The modeling process is frequently the only way that
the analyst really comes to understand the user requirements and to think through all of the “what if”
processing options. Without building models, analysts seldom dig deep enough to really understand the
requirements.
Analysis and design models can be grouped into three generic types:
Textual models—Analysts use such textual models as memos, reports, narratives, and lists to
describe requirements that are detailed and are difficult to represent in other ways.
Graphical models—Graphical models make it easier to understand complex relationships that
are difficult to follow when described as a list or narrative. Many graphical models used in
system development are drawn according to the notation specified by the Unified Modeling
Language (UML).
Mathematical models—Mathematical models are one or more formulas that describe technical
aspects of a system.
Also in an Agile project, often models are quickly built, used for one of the above reasons, such as to
document some decisions or details, and then discarded after they are used to write program code.
However, even in an Agile project, it may be necessary to keep the documentation and models in order
to verify decisions that were made.
Today's object-oriented development most frequently uses the Unified Modeling Language (UML) to
build the models necessary for system development. All the diagrams in this textbook conform to UML
2.0 specifications.
Stakeholders
Key Terms
Stakeholders – persons who have an interest in the successful implementation of the system
internal stakeholders – persons within the organization who interact with the system or have a
significant interest in its operation or success
external stakeholders – persons outside the organization’s control and influence who interact
with the system or have a significant interest in its operation or success
operational stakeholders – persons who regularly interact with a system in the course of their
jobs or lives
executive stakeholders – persons who don’t interact directly with the system but who either
use information produced by the system or have a significant financial or other interest in its
operation and success
client – person or group that provides the funding for a system development project
Stakeholders are your primary source of information for system requirements. Stakeholders are all the
people who have an interest in the successful implementation of the system. One useful way to help
identify all the interested stakeholders is to consider two characteristics by which they vary: internal
stakeholders versus external stakeholders and operational stakeholders versus executive
stakeholders. Figure 2-6 illustrates an example of the stakeholders for an accounting system.
Systems Analysis and Design in a Changing World, sixth edition 2-8
Two other types of stakeholders not categorized by internal/external or operational/executive are the
clients and the technical staff. The client may not use the system directly, but he or she is the one who
pays for the system. In that sense, the new system must meet the client's objectives and reasons for
funding the project. The technical staff are stakeholders because they also have oversight responsibility
to ensure that the new system meets all the operational criteria for the organization.
Key Terms
open-ended questions – questions that encourage discussion or explanation
closed-ended questions – questions that elicit specific facts
One of the most important skills that a systems analyst can develop is the ability to gather the right
information so that the new system requirements are accurate and complete. There are several methods
that can be used to gather information, some are more effective and efficient than others. The most
common methods are the following:
Interviewing users and other stakeholders
Distributing and collecting questionnaires
Reviewing inputs, outputs, and documentation
Observing and documenting business procedures
Researching vendor solutions
Systems Analysis and Design in a Changing World, sixth edition 2-9
Preparing for the interview: Every successful interview requires preparation. The first and most
Systems Analysis and Design in a Changing World, sixth edition 2-10
important step in preparing for an interview is to establish the objective of the interview. The second
step is to determine which users should be involved in the interview. The third step is to prepare
detailed questions to be used in the interview. The last step is to make the final interview arrangements
and to communicate those arrangements to all participants.
Conducting the interview: New systems analysts are usually quite nervous about conducting
interviews. However, in most cases, the users are excited about getting a better system to help them do
their jobs. Practicing good manners usually ensures that the interview will go well. Here are a few
guidelines:
Dress appropriately.
Arrive on time.
Limit the time of the interview.
Look for exception and error conditions.
Probe for details.
Take careful notes.
Following up the interview: Analysts often document the details of the interview by constructing
models of the business processes. Review your findings with the other project members in the
interview and document the results (that is, build the models) within a day or two to avoid forgetting
important details.
Key Terms
Workflow – sequence of processing steps that completely handles one business transaction or
customer request
activity diagram – describes user (or system) activities, the person who does each activity, and
the sequential flow of these activities
synchronization bar – activity diagram component that either splits a control path into
multiple concurrent paths or recombines concurrent paths
swimlane – heading activity diagram column containing all activities for a single agent or
organizational unit
As mentioned earlier, through the process of building models an analyst not only documents a business
process or workflow, but he/she also will come to understand the workflow in more depth. UML
activity diagrams provide a simple technique to document business workflows. The key terms define
each element of an activity diagram. Figure 2-14 provides visual elements that are used on an activity
diagram.
Creating activity diagrams to document workflows is straightforward. The first step is to identify the
agents to create the appropriate swimlanes. Next, follow the various steps of the workflow and then
make appropriate ovals for the activities. Usually there is a swimlane for the actor or user of the
system, and another swimlane for the actions done by the system. Use a decision symbol to represent
an either/or situation—one path or the other path but not both. Use synchronization bars for parallel
paths—situations in which both paths are taken. Include a beginning and an ending synchronization
bar.
Modeling takes practice. You will get practice as you do the case assignments. You will use Visio
Professional. I will be setting an account for you to get the software for free. I will send you an email
announcement when the accounts are ready. Be sure to download and install the software immediately
Systems Analysis and Design in a Changing World, sixth edition 2-12
just in case you have technical problems. No excuses for last minute technical problems.
Final Thoughts
The two primary areas that you may have difficulty in this chapter is the skill of learning to interview
well, in particular to probe deeply to really understand the issues. Even experienced analysts often do
not ask enough “what if” questions to determine all of the exception conditions. The most effective way
for you to learn this skill is by practicing. It is obvious hard to practice in an online class. If you think
you need practice in this area, then interview another student, colleague, instructor, or friend. The topic
could be on anything. It could be about their favorite movie, sport, talent, etc. Be sure to use all of the
steps mentioned above to prepare, conduct, and then document the interview.
The other area you may need help is in developing activity diagrams. The basic skill is not too
difficult, but knowing how detailed to make the action steps, i.e. the ovals, is sometimes a problem.
Whether to say, "enter your name" then "enter your address" etc. or to just say "enter client
information" is the issue. The answer is generally to enter a complete form full of data is sufficient.
In learning about activity diagrams, you may get the synchronization bar and the decision activity
confused. It sometimes helps to say use the following analogies.
Synchronization bar = AND condition, multitasking, concurrent threads
Decision Activity = OR condition, single thread (non-active thread dies)