Requirements Determination and Requirements Structuring: by Zhenyu Zhu
Requirements Determination and Requirements Structuring: by Zhenyu Zhu
edu/~sauterv/analysis/6840_f03_papers/zhu/
Structuring
By Zhenyu Zhu
Abstract
observing and analyzing documents are four main methods adopted by system
analysts to collect information. JAD and prototyping are two modern requirements
programmers. DFD, structured English, decision tables, decision trees, and E-R
and OOA are emerging to help streamline and shorten the total SDLC. While RAD
[21]
SDLC packs traditional analysis phase and part of design phase into one step ,
OOA tries to make the outcomes of analysis phase can be reused by the following
developing phases.
Introduction
Analysis is the first SDLC phase where we begin to understand, in depth, the
needs for system. System analysis involves a substantial amount of effort and cost
and is therefore undertaken only after management had decided that the systems
development project under consideration has merit and should be pursed through
this phase. Most observers would agree than many of the errors in developed
system are directly traceable to inadequate efforts in the analysis and design
phases of the life cycle. Industry studies show that 56% of systems problems are
coding. In the maintenance arena, 82% of the effort is due to poor requirements as
opposed to 1% for poor coding.[1] However, for many reasons, it is difficult to obtain
[12]
a correct and complete set of requirements.
The third one is usually regarded as the automatic result from the first two
requirements structuring.
phase, analysts should gather information on what the system should do from as
many sources as possible. There are some traditional methods to help collecting
prototyping, emerged.
data flow diagram for process modeling, decision table or decision tree for logic
modeling, and Entity-relationship diagram for data modeling. These modeling tools
usually separately model only one face of the real world. So, when we try to show
the integral picture of a system, we usually choose more than one of the above
cheaper systems and more rapid deployment by having system developers and end
users work tighter jointly in real-time to develop systems. Usually, RAD allows
[14]
usable systems to be built in as little as 60-90 days. RAD is not a single
tools are available, such as VB for windows application, MBBuilder for MapInfo
[16,17]
MapBasic.
Although OOP has become popular in computer world, whether OOA is superior to
traditional methods is still a question mark. However, from the view of OO world,
The objectives of this article are to introduce some widely adopted basic
contrast those methods and try to find a best way for system requirements analysis.
Requirements Determination
phase of information system (IS) development, and many IS failures have been
[13]
attributed to incomplete and inaccurate information requirements. System
analysts must collect the information about the current system and how users
would like to improve their performance with new information system. Accurately
understanding the users requirements will help the system developing team deliver
a proper system to the end users in limited time and limited budget. If user just
collect information. This article will discuss some basic and widely adopted ones of
them.
project can be conduct without interviewing. There are many ways to arrange an
Listen carefully and take note during the interview (tape record if possible)
Be neutral
people in a relatively short time and of being less biased in the interpretation of
questionnaires are the critical issues in this information collection method. People
usually are only use a part of functions of a system, so they are always just familiar
with a part of the system functions or processes. In most situations, one copy of
questionnaires obviously cannot fit to all the users. To conduct an effective survey,
the analyst should group the users properly and design different questionnaires for
different group. Moreover, the ability to build good questionnaires is a skill that
improves with practice and experience. When designing questionnaires, the analyst
The third one is directly observing users. People are not always very reliable
informants, even when they try to be reliable and tell what they think is the truth.
People often do not have a completely accurate appreciation of what they do or how
they do it. This I especially true concerning infrequent events, issues from the past,
or issues for which people have considerable passion. Since people can not always
be trusted to reliably interpret and report their own actions, analyst can supplement
observation can cause people to change their normal operation behavior. It will
[21]
make the gathered information biased.
The fourth one is analyzing procedures and other documents. By
find out details about current system and the organization these systems support. In
documents analyst can find information, such as problem with existing systems,
system requirements, and the reason why current systems are designed as they
[21]
are, etc.
documentations and the practical systems in real world. For the reason of
resistance to control, and other factors, the difference between so called formal
The fifth one is Joint Application Design (JAD). JAD is a facilitated, team-
based approach for defining the requirements for new or modified information
systems. JAD is started at IBM in the late 1970s. The main idea behind JAD is to
bring together the key users, managers, and system analysts involved in the
analysis of a current system. The primary purpose of using JAD in the analysis phase
is to collect systems requirements simultaneously from the key people involved with
the system. The result is an intense and structured, but highly effective, process.
Having all the key people together in one place at one time allows analysts to see
[2,21]
where there are areas of agreement and where there are conflicts.
The typical participants in a JAD are: JAD session leader, end users, business
managers, sponsor, system analysts, IS staff, scribe, etc. The JAD team is a group of
from six to sixteen individual who all have a stake in designing a high quality
system. Approximately two thirds of the group members are functional experts the
[2]
other one third are systems professionals. JAD sessions are usually conducted in
a location other than the place where the people involved normally work, and are
usually held in special purpose rooms where participants sit around horseshoe-
shaped tables. Involving so many different kinds of people in one workshop makes
[4,5]
how to effectively and efficiently organize the JAD session a big challenge.
When a JAD is completed, the final result is a set of documents that detail the
definitions, data model and definition, data input and output requirements. It may
also include interface requirements, screen and report layouts, ad hoc query
specifications, menus, and security requirements. When used at a later point in the
system development life cycle, a JAD session can also be used to refine a system
prototype, develop new job profiles for system users, or develop an implementation
plan. [2]
applied in JAD workshop sessions. The use of groupware tools to support the joint
dramatically. When groupware tools are used in an automated JAD workshop, they
you invest in them. Most system developers believe that the benefits from early
[19,20]
usability data are at least ten times greater than those from late usability data.
Prototyping allow system analysts quickly show users the basic requirement into a
working version of the desired information system. After viewing and testing the
prototype, the users usually adjust existing requirements to new ones. The goal with
specification for the ultimate system, not to build the ultimate system from
requirements are not clear or well understood, one or a few users and other
stakeholders are involved with the system, possible designs are complex and
the past between users and analysts, and Tools and data are readily available to
[21]
rapidly build working systems, etc.
When adopting prototyping, analysts should concern about the potential problems
there seven characters of them we should consider. They are Information Richness,
methods used to present the requirements. Traditionally, there are three basic
Structure English, decision tables, and decision trees, they are used for
logic modeling
First, a data flow diagram (DFD) is a graphical tool that allows analysts
(and users) to depict the flow of data in an information system. DFD graphically
distribute data between a system and its environment and between components
[21]
within a system. The final deliverables and outcomes for DFD are:
Context data flow diagram, which defines the boundary of the system
flows, data stores, processes, and source/sinks (or external entities). A data flow
can be best understood as data in motion, moving from one place in a system to
another. A data store is data as rest, which may take the form of many different
Data flow diagrams should be mechanically correct, but they should also
accurately reflect the information system being modeled. To that end, analyst
should check DFDs for completeness and consistency and draw them as if the
system being modeled were timeless. Complete sets of DFDs should extend to
the primitive level where every component reflects certain irreducible properties.
Following above guidelines, DFDs can aid the analysis process by analyzing the
gaps between existing procedures and desired procedures and between current
[21]
and new systems.
phase, logic modeling will be complete and reasonably detailed, but it will also
programming language. There are three traditional tools for logic modeling:
modified form of the English language used to specify the logic of information
typically relies on action verbs and noun phrases and contains no adjectives or
which specifies the possible conditions for decision and the resulting actions.
Usually, there are there parts in a decision table: the condition stubs, the action
stubs, and the rules. A decision tree is a graphical technique that depicts a
Decision trees have two main components: decision points and actions. Nodes
represent decision points, while actions are represented by oval. The comparison
Table 2
[21]
The comparison between decision table and decision trees is shown in table 3.
Table 3
within the data. Many analysts believe that a data model is the most important
following reasons:
Data rather than processes are the most complex aspects of many modern
requirements.
The most common format used for data modeling is entity-relationship (E-R)
diagramming. E-R data model is a detailed, logical representation of the data for
organization or for a business area. There are three main constructs in E-R
a person, place, object event, or concept in the user environment about which
the organization wishes to maintain data. Each entity type has a set of attributes
of interest to the organization. Relationships are the glue that holds together the
the instances of one or more entity types that is of interest to the organization.
Nowadays, there are other two very widely adopted methods for system
analysis. These two are always labeled as advanced system analysis or modern
system analysis. The popularity of these two methods owes to the high pressure
wait for two to three years to have a system. So, streamlining the SDLC and
shortening the total SDLC play a critical role in system development. To achieve
this goal, RAD tries to compact several phases into one single step while OOA try
cheaper systems and more rapid deployment by having systems developers and
end users work together jointly in real time to develop. RAD grew out of the
[10, 21]
convergence of two trends
possible.
Ready availability of high-powered computer-based tools to support
Comparing with seven phases standard SDLC, RAD SDLC has only four
phases. They are planning, design, development, and cutover. RAD pushes
analysis and part of design jobs of standard SDLC into one design step. Actually,
information systems, which takes account human factors and corporate culture
[11]
as well as technology. To succeed, RAD relies on bringing together several
using the high-powered computer-based tools such as visual tools and integrated
CASE tools, which include code generators for creating code from the designs
end users and analysts create during prototyping. According to Martin, there are
four necessary pillars for RAD approach: tools, people, methodology, and
management.
[21]
Advantages of RAD:
[21]
Disadvantages of RAD:
In one sentence, RAD heavily depends on JAD and Prototyping, so it inherits the
the two. [9] Last but not the least, the RAD approach is not appropriate to all
projects Project scope, size and circumstances all determine the success of a
[15]
RAD approach.
domain and describes what the intended system must do, rather than how it will
approach focuses on identifying objects and their activities. Using the Object-
set of objects, along with their attributes and operations that manipulate the
object data. Objects are grouped into classes that have common properties.
Classes are organized into hierarchies, in which the subclasses inherit the
[6,18]
properties, including the data definitions and operations. The model specifies
requirements of the problem and the analysis model should capture those
requirements of the problem may cause the whole system seems ridiculous. OOA
further OO system development phase, such as OOD and OOP, and this
OOA has it own whole set of modeling tools to represent the system
State diagram shows how the object transitions from one state to other
states
[8, 21]
The commonly admitted points about OOA advantages in OO world are :
problem domains
programmers
So far, although more and more system analysts adopt OOA, whether it is
world, the above advantage points about OOA are commonly accepted, there are
[8]
still a large number of software communities dont agree with them. Dr.vicky
L.Sauter said people may more naturally think with a procedure way than with an
field that the methodology of OOA is far from mature and the identification of
Conclusion
No official best way to system analysis, the methods applied to the project
projects size, projects complexity, etc. So, a good system analyst should be
able to use any of these methods on the fly according to specific project context.
Although the new system analysis methods come out one by one, the
RAD and OOA, those four types of information collecting approaches are always
As the result of high business environment pace changing, RAD show itself
technology. RAD heavily adopts JAD and prototyping as the two primary ways to
gather the requirements, so the merits and drawbacks of these two methods also
OOA may be the real revolution in system analysis field. However, such
revolution just happened at the requirements structuring level. It does not touch
structuring tools, such as use-case diagram, class diagram, etc, were developed,
such as DFD, structured English, etc. So far, whether the OOA is better than the
requirements analysis techniques were inspired by, and founded on, structured
turning to object orientation, such traditional techniques seemed out of date and
had to be replaced.[7]
References:
Anonymous. Journal of Systems Management. Cleveland: Sep/Oct 1995. Vol. 46, Iss. 5; pg. 18, 1 pgs
http://gateway.proquest.com/openurl?ctx_ver=z39.88-
2003&res_id=xri:pqd&rft_val_fmt=ori:fmt:kev:mtx:journal&genre=article&rft_id=xri:pqd:did=000000000809590&sv
c_dat=xri:pqil:fmt=text (last viewed date 12/15/03)
http://www.gantthead.com/Gantthead/process/processMain/1,1289,2-19516-
2,00.html
[16] http://www.microolap.com/products/gis/mbbuilder.htm