Professional Documents
Culture Documents
1
بسم هللا الرحمن الرحيم
2
Table of Content
Section Page
No
Chapter 1: Foundations for System Development 6
1.1 System Analysis and Design 6
1.2 Systems Analysis and Design: Core Concepts 9
1.3 System Concepts 11
1.4 The Systems Analyst 17
1.5 Developing Information Systems and the Systems 21
Development Life Cycle
1.6 Planning and control for system success 26
1.7 Alternative Approaches to Development 28
Chapter 2: Project Selection and Management 33
2.1 Reasons for Systems Projects 34
2.2 Sources of Systems Projects 36
2.3 Projects’ Initiation 37
2.4 Problem Definition 41
2.5 Project Planning 42
2.6 Project Closedown 67
2.7 Using Project Management Software 68
Chapter 3: Determining System Requirements 69
3.1 Performing Requirements Determination 71
3.2 Traditional Methods for Determining Requirements 81
3.3 Modern Methods for Determining System 92
3.4 Radical Methods for Determining System 96
Requirements
3.5 Selecting the Appropriate Techniques 96
3.6 Requirements Analysis Strategies 99
Chapter 4: Structuring System Requirements: 105
Process Modeling
4.1 The Analysis Phase 105
3
4.2 Process Modeling 107
4.3 Deliverables and Outcomes 109
4.4 What Is Structured Analysis? 109
4.5 Pros and Cons of Each Tool 140
Chapter 5: Structuring System Requirements: 142
Conceptual Data Modeling
5.1 Conceptual Data Modeling 143
5.2 The Process of Conceptual Data Modeling 143
5.3 Deliverables and Outcomes 145
5.4 The Entity Relationship Diagram 145
5.5 Creating an Entity Relationship Diagram 145
5.6 Advanced Syntax 155
5.7 Validating an ERD 157
5.8 Normalization 160
Chapter 6: System Design 166
6.1 Architecture Design 167
6.2 Designing the Human Interface 174
Chapter 7: Systems Implementation and Operation 183
7.1 The Processes of Coding 185
7.2 System Testing 185
7.3 System Changeover 188
7.4 Systems Maintenance 190
7.5 System documents 191
7.6 System Training 193
References 196
4
Preface
Systems Analysis and Design (SAD) is an exciting, active field in
which analysts continually learn new techniques and approaches to
develop systems more effectively and efficiently. However, there is
a core set of skills that all analysts need to know no matter what
approach or methodology is used. All information systems projects
move through the four phases of planning, analysis, design, and
implementation; all projects require analysts to gather requirements,
model the business needs, and create blueprints for how the system
should be built; and all projects require an understanding of
organizational behavior concepts like change management and team
building.
In today’s information- and technology-driven business world,
students need to be aware of three key factors. First, it is more
crucial than ever to know how to organize and access information
strategically. Second, success often depends on the ability to work
as part of a team. Third, the Internet will play an important part in
their work lives. This book addresses these key factors.
We provide
A clear presentation of the concepts, skills, and techniques students
need to become effective systems analysts who work with others to
create information systems for businesses. We use the systems
development life cycle model as an organizing tool throughout the
book to provide a strong conceptual and systematic framework.
5
Chapter 1
Foundations for System Development
Learning Objectives
systems.
systems development.
(SDLC).
Development
6
Chapter 1: Foundations for System Development
7
planning can be done, we must thoroughly understand the old
system and determine how computers can best be used to make its
operation more effective.
8
management, which will pay for and use the result, actually decides
which alternative to accept. Once this decision is made, a plan is
developed to implement the recommendation. The plan includes all
systems design features, such as new data capture needs, file
specifications, operating procedures, equipment and personnel
needs.
Analysis specifies what the system should do. Design states how to
accomplish the objective. Notice that each of the processes
mentioned involves people. Managers and employees have good
ideas about what works and what does not, about what flows
smoothly and what causes problems, about where change is needed
and where it is not, and especially about where change will be
accepted and where it will not. Despite technology, people are still
the keys that make the organizations work. Thus, communicating
and dealing with people are very important parts of the systems
analyst’s job.
9
pay rates of employees. In addition to application software, the
information system includes:
10
Software
Engineering
Process
~
Tools
There are more than a hundred definitions of the word system, but
most seem to have a common thread that suggests that a system is
11
an orderly grouping of interdependent components linked together
according to a plan to achieve a specific objective. The word
component may refer to physical parts (engines, wings of aircraft,
car), managerial steps (planning, organizing and controlling), or a
system in a multi-level structure. The component may be simple or
complex, basic or advanced. They may be single computer with a
keyboard, memory, and printer or a series of intelligent terminals
linked to a mainframe. The study of systems concepts, then, has
three basic implications:
12
expectations of the intended user. Inputs are the elements (material,
human resources, and information) that enter the system for
processing. Output is the outcome of processing. A system feeds on
input to produce output in much the same way that a business
brings in human, financial, and material resources to produce goods
and services. It is important to point out here that determining the
output is a first step in specifying the nature, amount, and regularity
of the input needed to operate a system.
13
Feedback: Control in a dynamic system is achieved by feedback.
Feedback measures output against a standard in some form of
cybernetic procedure that includes communication and control.
Output information is fed back to the input and / or to management
(Controller) for deliberation. After the output is compared against
performance standards, changes can result in the input or processing
and consequently, the output.
In no field are models used more widely and with greater variety
than in systems analysis. The analyst beings by creating a model of
14
the reality (facts, relationships, procedures, etc.) with which the
system is concerned. Every computer system deals with the real
world, a problem area, or a reality outside itself.
Flow system Models: A flow system model shows the flow of the
material, energy and information that hold the system together.
There is an orderly flow of logic in such models. A widely known
example is PERT (Program Evaluation and Review Technique). It
is used to abstract a real-world system in model form, manipulate
specific values to determine the critical path, interpret the
relationships and relay them back as a control.
15
line indicates that the department is two days behind schedule. The
arrowhead indicates the date when the chart is to be in effect.
16
The third information level is operational information, which is
short-term, daily information used to operate departments and
enforce the day-to-day rules and regulations of the business.
Examples are daily employee absent sheets, overdue purchase
orders and current stocks available. Operational information is
established by Data processing systems (DPS).
17
companies often use consultants to perform systems analysis work
on an as-needed basis.
18
1.4.2 Systems Analyst Roles
19
The infrastructure analyst role focuses on technical issues
surrounding the ways the system will interact with the
organization’s technical infrastructure (hardware, software,
networks, and databases). This person ensures that the new
information system conforms to organizational standards and helps
to identify infrastructure changes that will be needed to support the
system. The infrastructure analyst will have significant training and
experience in networking, database administration, and various
hardware and software products.
20
hardware and software packages, design information systems, train
users, and plan e-commerce Web sites.
21
organization, and after proper training, the users begin to
incorporate the new system into their daily work. Every
organization uses a slightly different life-cycle model to model
these steps, with anywhere from three to almost twenty identifiable
phases. SDLC includes four main steps: (1) planning and selection,
(2) analysis, (3) design, and (4) implementation and operation (see
Figure 1.2).
Systems
Planning and
Selecllon
S DLC
Systems Systems
Implementation
Analysis
and Operabon
Systems
Design
22
found. Some systems analysts consider the life cycle to be a spiral,
in which we constantly cycle through the phases at different levels
of detail, as illustrated in Figure 1.2. The circular nature of the life-
cycle diagram in Figure 1.2 illustrates how the end of the useful life
of one system leads to the beginning of another project that will
replace the existing system altogether.
The first phase in the SDLC, systems planning and selection, has
two primary activities. First, someone identifies the need for a new
or enhanced system. Information needs of the organization are
examined, and projects to meet these needs are identified. The
organization’s information system needs may result from:
23
− Requests to deal with problems in current procedures
− The desire to perform additional tasks
− The realization that information technology could be used to
capitalize on an existing opportunity
24
match the requirements. Then you compare these alternatives to
determine which best meets the requirements within the cost, labor,
and technical levels the organization is willing to commit to the
development process. The output of the analysis phase is a
description of the alternative solution recommended by the analysis
team.
25
in, which database systems and file structures will be used for the
data, and which hardware platform, operating system, and network
environment the system will run under. These decisions finalize the
hardware and software plans initiated at the end of the analysis
phase.
The SDLC is a highly linked set of phases whose products feed the
activities in subsequent phases. Table 1.1 summarizes the outputs or
products of each phase based on the preceding descriptions.
26
in contrast with individual analysts doing the same work. Finally,
the project should be divided into manageable modules to reflect
the phases of system development – analysis, design, and
implementation.
Most of this work falls under project management and control. The
main idea behind the system development life cycle is to formalize
a means structured at three major levels for effective control of the
project. At the lowest level, work assignments are broken down into
small manageable tasks.
27
1.7 Alternative Approaches to Development
1.7.1 Prototyping
28
form. In addition to being used as a stand-alone, prototyping may
also be used to augment the SDLC.
Initial
Identify Requirements Develop
Problem Prototype
Convert to
Operational
System
If Prototype
Accepted
Problems
Implement and Revise and
Use Prototype ◄-------"""" Enhance Prototype
Next Ve rsion
29
1.7.3 Joint Application Design
Prototyping, CASE, and JAD are key tools that support Rapid
Application Development (RAD). The fundamental principle of
any RAD methodology is to delay producing detailed system design
documents until after user requirements are clear. The prototype
serves as the working description of needs. RAD involves gaining
user acceptance of the interface and developing key system
capabilities as quickly as possible. RAD is widely used by
consulting firms. It is also used as an in-house methodology by
firms such as the Boeing Company. RAD sacrifices computer
efficiency for gains in human efficiency in rapidly building and
rebuilding working systems. On the other hand, RAD
30
methodologies can overlook important systems development
principles, which may result in problems with systems developed
this way. As Figure 1.4 shows, the same phases followed in the
traditional SDLC are also followed in RAD, but the phases are
combined to produce a more streamlined development technique.
Planning and design phases in RAD are shortened by focusing work
on system functional and user interface requirements at the expense
of detailed business analysis and concern for system performance
issues.
SDLC
1111
Planning
I
11111111 ..
Design
I
11111111 ..
Development
I
Cutover
1111
31
1.7.5 Agile Methodologies
32
Chapter 2
Project Selection and Management
Learning Objectives
Investigation
feasibility.
33
Chapter 2: Projects Selection and Management
The system analyst gives a system development project meaning &
direction. A candidate system is approached after the analyst has
through understanding of user needs & problems. A viable solution
is worked out and then communicates the same. Candidate systems
often cut across the boundaries of users in the organization. For
example, a billing system may involve users in the sales order
department, the credit department, the warehouse, and the
accounting department. To make sure that all users’ needs are met,
a project from that represents each user works with the analysis to
carry out a system development project. The system development
life cycle method is classically thought of as the set of activities that
analysts, designers and users carry out to develop and implement an
information system.
34
altering, or installing new systems when they occur. In this section,
we discuss the main reasons for systems projects, which are
described below
~-
~ f~::. . .
Sysums
Development
urecycte
MethodolOQ.es
anaToots
conuac1ors
Ye-rl(lorS
30(1
{
~
Ma.~~:9
/
1(
Figure 2.1: Project Manager Activities
35
performance can be increased by combining processes,
streamlining a process through the elimination of unnecessary or
duplicated steps, integration of systems and sub-systems, and so
on.
− More information: The system might produce information that
is insufficient, incomplete, or unable to provide company’s
changing information need. For example, a system that tracks
customer orders might not be capable of analyzing marketing
needs. The business might need to keep track of some key
information that cannot be obtained from the current system.
− Stronger controls: A system may not have all controls on
accurate data entry, leading to inaccurate data entry and storage,
loss of income, and even system failure. A system may not have
all security required by the company for different users.
− Reduced cost: The current system could be expensive to operate
and maintain as a result of technical problems, design
weaknesses, or the changing demands of the business.
36
system does not produce information required by the company
business.
− Top-management directives: Directives from top managers
could generate a systems request. These can originate due to
new company objectives, a need for improved reports to make
strategic decisions.
− Existing systems: Errors or problems with existing systems
can trigger requests for systems projects.
− Information systems department: Systems project request
can come from the information systems department as
suggestions. This is possible if IS staff members such as CIO
(chief information officer) and managers are involved with
company operations and user needs.
− External factors: There are many external factors can cause
changes to an existing system or creation of a new system.
Examples are: Changes in government tax regulations and
reporting requirements.
37
or more analysts are assigned to work with a customer to establish
work standards and communication procedures.
38
For example, during the Purchasing Fulfillment System project at
PVF, Chris Martin was assigned to support the purchasing
department. It is a PVF policy that all initiation teams consist of at
least one user representative, in this case Juanita Lopez, and one
member of the IS development group. Therefore, the project
initiation team consisted of Chris and Juanita; Chris was the project
manager.
39
familiar with each other and their roles within a development
project, they next needed to define when and how they would
communicate, define deliverables and project steps, and set
deadlines. Their initiation plan included agendas for several
meetings. These steps eventually led to the creation of their System
Service Request (SSR) form.
The focus of this activity is to collect and organize the tools that
you will use while managing the project and to construct the
project workbook. For example, most diagrams, charts, and
system descriptions provide much of the project workbook contents.
40
Thus, the project workbook serves as a repository for all project
correspondence, inputs, outputs, deliverables, procedures, and
standards established by the project team. The project workbook
can be stored as an online electronic document, a Web site, or in a
large three-ring binder. The project workbook is used by all team
members and is useful for project audits, orientation of new team
members, communication with management and customers,
identification of future projects, and performance of post-project
reviews. The establishment and diligent recording of all project
information in the workbook are two of the most important
activities you will perform as project manager.
41
− Is the business profit or nonprofit?
− Does the company plan to grow or expand?
− What is the business’s attitude (culture) about technology?
− What is the business’s budget for IT?
− Does the business’s staff have the expertise?
The major outcomes and deliverables from project planning are the
baseline project plan and the project scope statement. The Baseline
Project Plan (BPP) contains all information collected and analyzed
during the project initiation and planning activity. The plan contains
the best estimate of the project’ scope, benefits, costs, risks, and
resource requirements given the current understanding of the
project. The BPP specifies detailed project activities for the next life
cycle phase—systems analysis—and provides less detail for
42
subsequent project phases (because these depend on the results of
the analysis phase). The activities that are performed during project
planning are as follows:
43
supervisors are Analysts can usually learn these details by
examining organization charts and studying written operating
procedures. The procedures describe how the inventory process
should operate and identify the most important steps involved in
receiving, managing, and dispensing stock.
− Conducting interviews
Written documents tell the analysts how the systems should operate,
but they may not include enough detail to allow a decision to be
made about the merits of a systems proposal, nor do they present
user views about current operations. To learn these details, analysts
use interviews.
44
information system project. Feasibility analysis guides the
organization in determining whether to proceed with the project.
45
objectives and procedures of the candidate system. Included are
also discussions of output reports, file structures, and costs and
benefits of the candidate system.
46
The Three Key Elements of Feasibility
Operational Feasibility
▪ Whether the system will operate when installed
▪ Whether the system will be used
Technical Feasibility
▪ Add on to present system
▪ Technology available to meet users’ needs
Financial and Economic Feasibility
▪ Systems analysts’ time
▪ Cost of systems study
▪ Cost of employees’ time for study
▪ Estimated cost of hardware
▪ Cost of packaged software or software development
47
2.5.2.2 Technical feasibility
At the same time, the analyst can ask whether the organization has
the staff who are technically proficient enough to accomplish the
objectives. If not, the question becomes whether they can hire
additional programmers, testers, experts, or others who may have
different programming skills from theirs, or maybe outsource the
project completely.
48
A) Ascertaining Hardware Needs
49
Advantages Disadvantages
− Cheaper than leasing or − Initial cost is high
− renting over the long run − Risk of obsolescence
− Ability to change system − Risk of being stuck if choice
Buying
− Provides tax advantages of was wrong
− accelerated depreciation − Full responsibility
− Full control
− No capital is tied up − Company doesn’t own the
− No financing is required − system when lease expires
− Leases are lower than rental − Usually a heavy penalty for
Leasing
payments − terminating the lease
− Leases are more expensive
− than buying
− No capital is tied up − Company doesn’t own the
− No financing is required computer
Renting − Easy to change systems − Cost is very high because
− Maintenance and insurance vendor assumes the risk (most
are usually included expensive option)
50
existing system, because existing systems tend to be better
understood.
Advantages Disadvantages
− Specific response to − May be significantly higher
specialized business initial cost compared to
needs COTS software or ASP
Creating
− Innovation may give firm − Necessity of hiring or
Custom
a competitive advantage working
Software
− In-house staff available − with a development team
to maintain software − Ongoing maintenance
− Pride of ownership
− Refined in the − Programming focused; not
commercial world business focused
− Increased reliability − Must live with the existing
− Increased functionality features
Purchasing
− Often lower initial cost − Limited customization
COTS
Packages − Already in use by other − Uncertain financial future
firms of vendor
− Help and training comes − Less ownership and
with software commitment
51
when the technology itself is new (e.g., web development using
Ajax).
52
required for the baseline project plan. The purpose for assessing
economic feasibility is to identify the financial benefits and costs
associated with the development project. Economic feasibility is
often referred to as cost-benefit analysis.
The basic resources to consider are your time and that of the
systems analysis team, the cost of doing a full systems study
(including the time of employees you will be working with), the
cost of the business employee time, the estimated cost of hardware,
and the estimated cost of software or software development.
53
project, and seasoned developers know that organizational
feasibility can be the most difficult feasibility dimension to
assess. In essence, an organizational feasibility analysis
attempts to answer the question “If we build it, will they
come?”
− Schedule Feasibility: Considers the likelihood that all
potential time frames and completion date schedules can be
met and that meeting these dates will be sufficient for
dealing with the needs of the organization. For example, a
system may have to be operational by a government-
imposed deadline by a particular point in the business cycle
(such as the beginning of the season when new products are
introduced), or at least by the time a competitor is expected
to introduce a similar system.
− Legal and Contractual Feasibility: Assessing legal and
contractual feasibility requires that you gain an
understanding of any potential legal and contractual
ramifications due to the construction of the system.
Considerations might include copyright or nondisclosure
infringements, labor laws, foreign trade regulations (e.g.,
some countries limit access to employee data by foreign
corporations), and financial reporting standards as well as
current or pending contractual obligations.
− Political Feasibility: Assessing political feasibility
involves understanding how key stakeholders within the
organization view the proposed system. Because an
information system may affect the distribution of
information within the organization, and thus the
54
distribution of power, the construction of an IS can have
political ramifications.
2.5.3 Determining Project Benefits
55
reduction of waste creation or resource consumption. Potential
tangible benefits may have to be considered intangible during
project initiation and planning because you may not be able to
quantify them in dollars or with certainty at this stage in the life
cycle. During later stages, such intangibles can become tangible
benefits as you better understand the ramifications of the system
you are designing. Intangible benefits include:
− Competitive necessity
− Increased organizational flexibility
− Increased employee morale
− Promotion of organizational learning and understanding
− More timely information
There are many well-known techniques for comparing the costs and
benefits of the proposed system. They include break-even analysis,
payback, cash-flow analysis, and present value analysis. All these
techniques provide straightforward ways of yielding information to
decision makers about the worthiness of the proposed system.
56
the proposed information system. If you are proposing the
replacement of an old information system with a new one and if
the new information system will not be generating any
additional cash for the business, only cash outlays are associated
with the project. If that is the case, the new system cannot be
justified on the basis of new revenues generated and must be
examined closely for other tangible benefits if it is to be pursued
further.
− Present Value Analysis: helps the systems analyst to present to
business decision makers the time value of the investment in the
information system as well as the cash flow. Present value is a
way to assess all the economic outlays and revenues of the
information system over its economic life, and to compare costs
today with future costs and today’s benefits with future benefits.
− Guidelines for Analysis: For general guidelines, however, it is
safe to say the following:
1. Use break-even analysis if the project needs to be justified
in terms of cost, not benefits, or if benefits do not
substantially improve with the proposed system.
2. Use payback when the improved tangible benefits form a
convincing argument for the proposed system.
3. Use cash-flow analysis when the project is expensive
relative to the size of the company or when the business
would be significantly affected by a large drain (even if
temporary) on funds.
4. Use present value analysis when the payback period is long
or when the cost of borrowing money is high. Whichever
method is chosen, it is important to remember that cost-
57
benefit analysis should be approached systematically, in a
way that can be explained and justified to managers, who
will eventually decide whether to commit resources to the
systems project. Next, we turn to the importance of
comparing many systems alternatives.
58
(rows) 1, 2, and 6 in Figure 2.3 represent summary tasks. Planned
versus actual times or progress for an activity can be compared by
parallel bars of different colors, shades, or shapes. Gantt charts do
not show how tasks must be ordered (precedence) but simply show
when an activity should begin and end. In Figure 2.6, the task
duration is shown in the second column, in days, and necessary
prior tasks are noted in the third column as predecessors. Most
project management software tools support a broad range of task
durations, including minutes, hours, days, weeks, and months.
59
costs. The most widely used method is called COCOMO
(COnstructive COst MOdel), which uses parameters that were
derived from prior projects of differing complexity. COCOMO uses
these different parameters to predict human resource requirements
for basic, intermediate, and complex systems (see Figure 2.4).
60
2.5.8 Developing a Preliminary Schedule
During this activity, you use the information on tasks and resource
availability to assign time estimates to each activity in the work
breakdown structure. These time estimates will allow you to create
target starting and ending dates for the project. Target dates can be
revisited and modified until a schedule produced is acceptable to
the customer. Determining an acceptable schedule may require that
you find additional or different resources or that the scope of the
project be changed. The schedule may be represented as a Gantt
chart, as illustrated in Figure 2.3, or as a Network diagram, as
illustrated in Figure 2.5.
61
The project manager first must assemble important details about
each task to be completed. Figure 2.5 shows the type of task
information needed, including when it needs to be completed, the
person assigned to do the work, and any deliverables that will
result. The level of detail and the amount of information captured
by the work plan depend on the needs of the project (and the detail
usually increases as the project progresses). Usually, the work plan
is the main component of the project management software. To
create a work plan, the project manager identifies the tasks that
need to be accomplished and determines how long each one will
take. Then the tasks are organized within a work breakdown
structure.
Identify Tasks
The project manager’s job is to identify all the tasks that will be
needed to accomplish those objectives. This is a daunting task,
certainly. The methodology that was selected by the project
manager should be a valuable resource, however. The methodology
that seems most appropriate for the project provides a list of steps
and deliverables. A project manager can take the methodology,
select the steps and deliverables that apply to the current project,
and add them to the work plan.
62
would be broken down into the different types of feasibility
analysis: technical, economic, and organizational. Each of these
would be further broken down into a series of subtasks.
Alternatively, the firm could organize the work plan along the lines
of the different products to be developed.
63
− Clarity of User Requirements When the user requirements for
what the system should do are unclear, it is difficult to
understand them by talking about them and explaining them
with written reports. Users normally need to interact with
technology to really understand what the new system can do
and how to best apply it to their needs. System prototyping and
throwaway prototyping are usually more appropriate when user
requirements are unclear, because they provide prototypes for
users to interact with early in the SDLC.
− Familiarity with Technology When the system will use new
technology with which the analysts and programmers are not
familiar (e.g., the first Web development project with Ajax),
applying the new technology early in the methodology will
improve the chance of success. If the system is designed
without some familiarity with the base technology, risks
increase because the tools may not be capable of doing what is
needed.
− System Complexity Complex systems require careful and
detailed analysis and design. Throwaway prototyping is
particularly well suited to such detailed analysis and design, but
system prototyping is not. The waterfall methodologies can
handle complex systems, but without the ability to get the
system or prototypes into users’ hands early on, some key
issues may be overlooked.
− System Reliability System reliability is usually an important
factor in system development. After all, who wants an
unreliable system? However, reliability is just one factor
among several. For some applications, reliability is truly
64
critical (e.g., medical equipment, missile control systems),
while for other applications it is merely important (e.g., games,
Internet video). The V-model is useful when reliability is
important, due to its emphasis on testing.
− Schedule Visibility One of the greatest challenges in systems
development is knowing whether a project is on schedule. This
is particularly true of the waterfall-based methodologies
because design and implementation occur at the end of the
project. The RAD methodologies move many of the critical
design decisions to a position earlier in the project to help
project managers recognize and address risk factors and keep
expectations in check.
65
availability of critical resources, competitive reactions or changes in
regulatory actions due to the construction of a system, or team
member inexperience with technology or the business area. You
should continually try to identify and assess project risk. The
identification of project risks is required to develop PVF’s new
Purchasing Fulfillment System.
66
2.5.15 Developing a Project Scope Statement
67
business environment. The most likely reasons for the unnatural
termination of a project relate to running out of time or money, or
both. Regardless of the project termination outcome, several
activities must be performed: closing down the project, conducting
post-project reviews, and closing the customer contract. Within the
context of the SDLC, project closedown occurs after the
implementation phase. The system maintenance phase typically
represents an ongoing series of projects, each needing to be
individually managed. The project closedown activities can be
summarized to closing down the Project, conducting Post-project
Reviews, and closing the Customer Contract
68
2.7.1 Establishing a Project Starting Date
69
Chapter 3
Determining System Requirements
Learning Objectives
70
Chapter 3 - Determining System Requirements
Requirements' determination is performed to transform the system
request’s high-level statement of business requirements into a more
detailed, precise list of what the new system must do to provide the
needed value to the business. This detailed list of requirements is
supported, confirmed, and clarified by the other activities of the
analysis phase: creating use cases, building process models, and
building a data model. We first explain what a requirement is and
discuss the process of creating a requirements definition statement.
71
needs (business requirements); what the users need to do (user
requirements); what the software should do (functional
requirements); characteristics the system should have
(nonfunctional requirements); and how the system should be built
(system requirements). Although this list of requirement categories
may seem intimidating at first, the categories merely reflect the
purpose of the requirements and the stage in the SDLC in which
they are defined.
− Business Requirements:
In the system request, there are statements that describe the reasons
for proposing the systems development project. These statements
reflect the business requirements that this system, if built, will
fulfill. These business requirements help define the overall goals of
the system and help clarify the contributions it will make to the
organization’s success. Examples of business requirements include:
“Increase market share”; “Shorten order processing time”; “Reduce
customer service costs”; “Lower inventory spoilage”; “Improve
responsiveness to customer service requests”; and “Provide account
access to mobile customers.” When the systems development
project is complete, success will be measured by evaluating whether
the stated business requirements have actually been achieved;
therefore, they provide the overall direction for the project.
− User Requirements
72
place is to concentrate on what the user actually needs to
accomplish with the system in order to fulfill a needed job or task.
These user requirements describe tasks that the users perform as an
integral part of the business’ operations, such as: “Schedule a client
appointment”; “Place a new customer order”; “Re-order inventory”;
“Determine available credit”; and “Look up account balances.” Use
cases are tools used to clarify the steps involved in performing these
user tasks. By understanding what the user needs to do in terms of
tasks to perform, the analyst can then determine ways in which the
new system can support the users’ needs.
− Functional requirements
Determining ways in which the new system can support user needs
leads to statements of the system’s functional requirements. A
functional requirement relates directly to a process the system has
to perform as a part of supporting a user task and/or information it
needs to provide as the user is performing a task. The International
Institute of Business Analysis (IIBA) defines functional
requirements as “the product capabilities, or things that a product
must do for its users.”3 Functional requirements begin to define
how the system will support the user in completing a task. For
example, assume the user requirement is “Schedule a client
appointment.” The functional requirements associated with that task
include: “Determine client availability,” “Find available openings
matching client availability,” “Select desired appointment,”
“Record appointment,” and “Confirm appointment.” Notice how
these functional requirements expand upon the user’s task to
73
describe capabilities and functions that the system will need to
include, allowing the user to complete the task.
− Non-functional Requirements
74
Nonfunctional Requirement Examples
Description
▪ Any interaction between the user and
the system should not exceed 2
seconds.
▪ The system downloads new status
Performance The speed, capacity, parameters within 5 minutes of a
and reliability of the change.
system
▪ The system should be available for use
24 hours per day, 365 days per year.
▪ The system supports 300 simultaneous
users from 9–11 A.M.; 150
simultaneous users at all other times.
▪ Only direct managers can see
personnel records of staff.
Who has authorized
access to the system ▪ Customers can see their order history
Security
under what only during business hours.
circumstances
▪ The system includes all available
safeguards from viruses, worms,
Trojan horses, etc.
▪ The system should be able to
distinguish between U.S. requirements
that affect the system currency and
currency from other nations.
Cultural and ▪ Company policy is to buy computers
Political Cultural and political only from Dell.
factors and legal
▪ Country managers are permitted to
authorize custom user interfaces within
their units.
▪ Personal information is protected in
compliance with the
▪ Data Protection Act.
Table 3.1: Nonfunctional Requirements (Source: The Atlantic Systems
Guild, http://www.systemsguild.com)
− System Requirements
75
implemented. Requirements in the design phase reflect the
developer’s perspective, and they usually are called system
requirements. These requirements focus on describing how to create
the software product that will be produced from the project. Before
we continue, we want to stress that it can be difficult to draw a
black-and-white dividing line between these categories of
requirement—and, confusingly, some companies use the terms
interchangeably. The important thing to remember is that a
requirement is a statement of what the system must do, and the
focus of requirements will change over time as the project moves
from planning to analysis to design to implementation.
Begin with the basics. Analysts must raise questions that, when
answered, will provide a background of fundamental details about
the system and describe it. Asking the following questions will help
acquire the necessary understanding.
76
3. Where are they performed?
4. Who performs them?
5. How long does this take?
6. How often is it done?
7. Who uses the resulting information?
Analysts next need to find out what data are used to perform each
activity for example, to reorder inventory, the buyer might require
data describing the quantity of an item of hand, expected demand
for the item, supplier name, and item cost. To know when to place
an order, the buyer would also consider the necessary lead-time
(how in advance the item should be ordered to be on hand when
needed).
77
− Are there specific performance standards?
− Who compares performance against standards?
− How are mistakes caught?
− How are error handled?
− Are the errors excessive?
78
decision making. For instance, summarized sales transaction data
tell managers which products sell, and which do not.
79
identified. It is important that the requirements be identified with
unique numbers so that each requirement can be easily tracked
through the entire development process. For clarity, the
requirements are typically grouped into functional and
nonfunctional groupings. Then, within each of those groups, they
are classified further by the type of requirement or by business area.
80
information can take many forms: transcripts of interviews; notes
from observation and analysis of documents; sets of forms, reports,
job descriptions, and other documents; and computer-generated
output such as system prototypes. In short, anything that the
analysis team collects as part of determining system requirements is
included in these deliverables. Table 3.3 lists examples of some
specific information that might be gathered at this time.
81
to improve the current systems and organizational operations with
new or replacement information systems.
82
Others are interviewed to understand organizational direction,
policies, and expectations that managers have of the units they
supervise. During interviewing, you gather facts, opinions, and
speculation and observe body language, emotions, and other signs
of what people want and how they assess current systems.
83
Figure 3.3: A Typical Interview Guide
84
There are two fundamental approaches to organizing the interview
questions: top-down or bottom-up; see Figure 3.4. With the top-
down interview, the interviewer starts with broad, general issues and
gradually works towards more specific ones. With the bottom-up
interview, the interviewer starts with very specific questions and
moves to broad questions. In practice, analysts mix the two
approaches, starting with broad general issues, moving to specific
questions, and then back to general issues.
85
3.2.1.3 Choosing Interview Questions
It is important to prepare for the interview in the same way that you
would prepare to give a presentation. You should have a general
interview plan which lists the questions that you will ask in the
appropriate order; anticipates possible answers and provides how
you will follow up with them; and identifies segues between related
topics. Confirm the areas in which the interviewee has knowledge
so you do not ask questions that he or she cannot answer. Review
the topic areas, the questions, and the interview plan, and clearly
86
decide which ones have the greatest priority in case you run out of
time.
Second, listen carefully to what is being said. Take careful notes or,
if possible, record the interview on a tape recorder (be sure to ask
permission first!). The answers may contain extremely important
information for the project. Also, this may be your only chance to
get information from this particular person. If you run out of time
and still need more information from the person you are talking to,
ask to schedule a follow-up interview.
Third, once the interview is over, go back to your office and key in
your notes within forty-eight hours with a word processing program
such as Microsoft Word. For numerical data, you can use a
spreadsheet program such as Microsoft Excel. If you recorded the
interview, use the recording to verify your notes. After forty-eight
hours, your memory of the interview will fade quickly. As you type
and organize your notes, write down any additional questions that
might arise from lapses in your notes or ambiguous information.
87
Fourth, be careful during the interview not to set expectations about
the new or replacement system unless you are sure these features
will be part of the delivered system. Let the interviewee know that
there are many steps to the project. Many people will have to be
interviewed.
When you start the interview, the first goal is to build rapport with
the interviewee so that he or she trusts you and is willing to tell you
the whole truth, not just give the answers that he or she thinks you
want. You should appear to be professional and an unbiased,
independent seeker of information. The interview should start with
an explanation of why you are there and why you have chosen to
interview the person, and then move into your planned interview
questions.
88
contains interview notes, information that was collected over the
course of the interview and is summarized in a useful format. In
general, the interview report should be written within 48 hours of
the interview, because the longer you wait, the more likely you are
to forget information. Often, the interview report is sent to the
interviewee with a request to read it and inform the analyst of
clarifications or updates.
3.2.3 Questionnaires
89
distribution can save a significant amount of money, compared with
distributing paper questionnaires.
As with interviews and JAD sessions, the first step is to select the
individuals to whom the questionnaire will be sent. However, it is
not usual to select every person who could provide useful
information. The standard approach is to select a sample, or subset,
of people who are representative of the entire group. The important
point in selecting a sample, however, is to realize that not everyone
who receives a questionnaire will actually complete it. On average,
only 30%–50% of paper and e-mail questionnaires are returned.
90
improve response rates. Commonly used techniques include clearly
explaining why the questionnaire is being conducted and why the
respondent has been selected; stating a date by which the
questionnaire is to be returned; offering an inducement to complete
the questionnaire (e.g., a free pen); and offering to supply a
summary of the questionnaire responses.
91
used to support or refute information given in an interview. For
example, an analyst might become skeptical of someone who
claims to use the existing computer system extensively if the
computer is never turned on while the analyst visits. In most cases,
observation will support the information that users provide in
interviews. When it does not, it is an important signal that extra care
must be taken in analyzing the business system.
92
the cost) required by personal interviews, to improve the quality of
the results of information requirements assessment, and to create
more user identification with new information systems as a result of
the participative processes.
The JAD group meets for several hours, several days, or several
weeks until all of the issues have been discussed and the needed
information is collected. Most JAD sessions take place in a
specially prepared meeting room, away from the participants’
offices, so that they are not interrupted. The meeting room is
usually arranged in a U shape so that all participants can easily see
each other. (See Figure 3.5) At the front of the room (the open part
of the “U”), there is a whiteboard, flip chart and/or overhead
projector for use by the facilitator, who leads the discussion. One
problem with JAD is that it suffers from the traditional problems
associated with groups: Sometimes people are reluctant to challenge
the opinions of others (particularly their boss), a few people often
dominate the discussion, and not everyone participates.
93
this way, all participants can contribute at the same time, without
fear of reprisal from people with differing opinions.
There are four major potential benefits that you, the users, and your
systems analysis team should consider when you weigh the
possibilities of using joint application design.
94
generate new ideas and new combinations of ideas because of the
dynamic and stimulating environment.
95
− Tools (such as form and report generators) and data are readily
available to rapidly build working systems.
96
the others, and in practice most projects benefit from a combination
of techniques. Thus, it is important to understand the strengths and
weaknesses of each technique and when to use each. (See Table
3.3) One issue not discussed is that of the analysts’ experience. In
general, document analysis and observation require the least amount
of training, while JAD sessions are the most challenging.
Joint Document
Interviews Application Questionnaires Observations
Analysis
Design
As-is, As-is,
Type of As-is,
improvements, improvements, As-is As-is
information improvements
to-be to-be
Depth of
high high Medium Low Low
information
Breadth of
Low Medium High High Low
information
Integration
of Low High Low Low Low
information
User
involvemen Medium High Low Low Low
t
Cost Medium Low- Medium Low Low Low- Medium
97
3.5.2 Depth of Information
98
attempting to refine the information. In many cases, the individual
wrongly perceives that the analyst is challenging his or her
information, when in fact the source of conflict is another user in
the organization. This can make the user defensive and make it hard
to resolve the differences.
99
them. Most changes tend to solve problems rather than capitalize on
opportunities, but this is possible, too. Improvements from problem
analysis tend to be small and incremental (e.g., add a field to store
the customer’s cell phone number; provide a new report that
currently does not exist). This type of improvement often is very
effective at improving a system’s efficiency or ease of use.
100
cause or causes of the problem, enabling the team to design the
system to correct the problem with the right solution.
101
significant difference between the two—and, in our experiences, the
total time often can be 10 or even 100 times longer than the sum of
the parts—indicates that this part of the process is badly in need of a
major overhaul.
102
think about other organizations, or visit them as customers to watch
how the business process is performed. In many cases, the business
studied may be a known leader in the industry or simply a related
firm.
Many major changes in business over the past decade have been
enabled by new technologies. Technology analysis therefore starts
by having the analysts and managers develop a list of important and
interesting technologies. Then the group systematically identifies
how each and every technology could be applied to the business
process and identifies how the business would benefit.
103
function could operate without it, and what effects are likely to
occur. Initially, managers are reluctant to conclude that processes
can be eliminated, but this is a “force-fit” exercise in that they must
eliminate each activity. In some cases, the results are silly;
nonetheless, participants must address each and every activity in the
business process.
104
Chapter 4
Structuring System Requirements
Process Modeling
Learning Objectives
models.
information systems.
105
Chapter 4: Structuring System Requirements:
Process Modeling
4.1 The Analysis Phase
106
parts fit together. Furthermore, English is inherently
difficult to use where precision is needed.
There are other tools as well. The use of several tools in structured
analysis, including the following:
107
the to-be system. There are many different process modeling
techniques in use today.
108
4.3 Deliverables and Outcomes
109
traditional approach focuses on cost/benefit and feasibility analysis,
project management, hardware and software selection and
personnel considerations. In contrast, structured analysis considers
new goals and structured tools for analysis. The new goals specify
the following:
The first step is to draw a data flow diagram (DFD). The DFD was
first developed by Larry Constantine as a way of expressing system
requirements in a graphical from; this led to a modular design.
Data-flow diagrams are versatile diagramming tools. A DFD also
known as a “bubble chart,” has the purpose of clarifying system
requirements and identifying major transformations that will
become programs in system design. So, it is the starting point of the
design phase that functionally decompose the requirements
specifications down to the lowest level of detail. A DFD consists of
110
a series of bubbles joined by lines. The bubbles represent data
transformations, and the lines represent data flows in the system.
For example: The system takes orders from the customer
(bookstore, library, etc.), checks them against an index (file) listing
the books available, verifies customer credit through a credit
information file, and authorizes, shipment with an invoice.
Note that a DFD describes what data flow (logical) rather than how
they are processed so it does not depend on hardware, software,
data structure, or the organization. The key question that we are
trying to answer is: What major transformations must occur for
input to be correctly transformed into output?
The data flow approach has four chief advantages over narrative
explanations of the way data move through the system:
111
(or external entities). The set of four symbols we use was developed
by Gane and Sarson (1979) and is illustrated in Figure 4.1. A data
flow is data that are in motion and moving as a unit from one place
in a system to another. A data flow could represent data on a
customer order form or a payroll check. It could also represent the
results of a query to a database, the contents of a printed report, or
data on a data-entry computer display form. A data flow can be
composed of many individual pieces of data that are generated at
the same time and that flow together to common destinations.
There are four symbols in the DFD language (processes, data flows,
data stores, and external entities), each of which is represented by a
different graphic symbol.
Process:
112
the data processing of a system, it doesn’t matter whether a process
is performed manually or by a computer. Every process should be
named starting with a verb and ending with a noun (e.g.,
“Determine request quantity”). Names should be short yet contain
enough information so that the reader can easily understand
exactly what they do.
Data Flow:
113
flow will always come from or go to a process, with the arrow
showing the direction into or out of the process. Data flows show
what inputs go into each process and what outputs each process
produces. Every process must create at least one output data flow,
because if there is no output, the process does not do anything.
Likewise, each process has at least one input data flow, because it is
difficult, if not impossible, to produce an output with no input.
114
Data Store:
115
Figure 4.2: (A) An incorrectly drawn DFD showing a process as a source/sink,
(B) A DFD showing proper use of a process.
116
in process modeling with DFDs is the decomposition of the
business process into a hierarchy of DFDs, with each level down
the hierarchy representing less scope but more detail. Figure 4.4
shows how one business process can be decomposed into several
levels of DFDs.
The context diagram shows the overall business process as just one
process (i.e., the system itself) and shows the data flows to and from
external entities. Data stores usually are not included on the context
diagram, unless they are “owned” by systems or processes other
than the one being documented. For example, an information
system used by the university library that records who has borrowed
books would likely check the registrar’s student information
database to see whether a student is currently registered at the
university. In this context diagram, the registrar’s student
information data store could be shown on the context diagram
because it is external to the library system but used by it. Many
organizations, however, would show this as an external entity called
“Registrar’s Student Information System,” not as a data store.
117
them. The purpose of the level 0 DFD is to show all the major high-
level processes of the system and how they are interrelated. All
process models have one and only one level 0 DFD.
118
DFD can be decomposed into a more explicit DFD, called a level 1
diagram, or level 1 DFD, which shows how it operates in greater
detail.
The level 1 DFD shows more precisely which process uses the input
data flow B (process 2.1) and which produces the output data flows
A and Y (process 2.3). Note, however, that the level 1 DFD does
not show where these data flows come from or go to. To find the
source of data flow B, for example, we have to move up to the level
0 DFD, which shows data flow B coming from external entity B.
Likewise, if we follow the data flow from A up to the level 0 DFD,
we see that it goes to process 3, but we still do not know exactly
which process within process 3 uses it (e.g., process 3.1, 3.2). To
determine the exact source, we would have to examine the level 1
DFD for process 3.
Level 2 Diagrams The bottom of Figure 4.3 shows the next level of
decomposition: a level 2 diagram, or level 2 DFD, for process 2.2.
This DFD shows that process 2.2 is decomposed into three
processes (2.2.1, 2.2.2, and 2.2.3). The level 1 diagram for process
2.2 shows interactions with data store D1, which we see in the level
119
2 DFD as occurring in process 2.2.3. Likewise, the level 2 DFD for
2.2 shows two input data flows (H, K) and two output data flows
(C, G), which we also see on the level 2 diagram, along with several
new data flows (Q, R, S). The two DFDs are therefore balanced.
Besides the rules in Table 4.3, two DFD guidelines apply most of
the time:
120
Process Data Flow
A. No process can have only outputs. J. A data flow has only one direction of
It is making data from nothing (a flow between symbols.
miracle). If an object has only outputs, It may flow in both directions between
then it must be a source. a process and a data store to show a
B. No process can have only inputs (a read before an update. The latter is
black hole). usually indicated, however, by two
If an object has only inputs, then it separate arrows because the read and
must be a sink. update usually happen at different
C. A process has a verb-phrase label. times.
K. A fork in a data flow means that
Data Store exactly the same data go from a
common location to two or more
D. Data cannot move directly from one different processes, data stores, or
data store to another data store. Data sources/sinks (it usually indicates
must be moved by a process. different copies of the same data going
E. Data cannot move directly from an to different locations).
outside source to a data store. Data L. A join in a data flow means that
must be moved by a process that exactly the same data come from any
receives data from the source and of two or more different processes, data
places the data into the data store. stores, or sources/sinks to a common
F. Data cannot move directly to an location.
outside sink from a data store. Data M. A data flow cannot go directly back
must be moved by a process. to the same process it leaves. At least
G. A data store has a noun-phrase one other process must handle the data
label. flow, produce some other data flow,
Source/Sink and return the original data flow to the
H. Data cannot move directly from a beginning process.
source to a sink. N. A data flow to a data store means
They must be moved by a process if update (delete or change).
the data are of any concern to our O. A data flow from a data store means
system. Otherwise, the data flow is not retrieve or use.
shown on the DFD. P. A data flow has a noun-phrase label.
I. A source/sink has a noun-phrase More than one dataflow noun phrase
label. can appear on a single arrow as long as
all of the flows on the same arrow
move together as one package.
121
passing the data through without some manipulation. The same
input may go in and out of a process, but the process also
produces other new data flows that are the result of
manipulating the inputs.
− Objects on a DFD have unique names: Every process has a
unique name. There is no reason to have two processes with the
same name. To keep a DFD uncluttered, however, you may
repeat data stores and sources/sinks. When two arrows have the
same data-flow name, you must be careful that these flows are
exactly the same. It is a mistake to reuse the same data-flow
name when two packets of data are almost the same but not
identical. Because a data-flow name represents a specific set of
data, another data flow that has even one more or one less piece
of data must be given a different, unique name.
122
Figure 4.4 (Continue): Incorrect and correct ways to draw data-flow diagrams
Figure 4.4 (Continue): Incorrect and correct ways to draw data-flow diagrams
123
Figure 4.4 (Continue): Incorrect and correct ways to draw data-flow diagrams
Let’s work through an example to see how DFDs are used to model
the logic of data flows in information systems. Consider Hoosier
Burger, a fictional fast-food restaurant in Bloomington, Indiana.
Hoosier Burger is owned by Bob and Thelma Mellankamp and is a
favorite of students at nearby Indiana University.
124
After drawing the context diagram, the next step for the analyst is to
think about which processes are represented by the single process.
As you can see in Figure 4.6, we have identified four separate
processes, providing more detail of the Hoosier Burger food-
ordering system.
The main processes in the DFD represent the major functions of the
system, and these major functions correspond to such actions as the
following:
We see that the system in Figure 4.6 begins with an order from a
customer, as was the case with the context diagram. In the first
process, labeled “1.0,” we see that the customer order is processed.
Notice that the sources/sinks are the same in the context diagram
(Figure 4.5) and in this diagram: the customer, the kitchen, and the
restaurant’s manager. A context diagram is a DFD that provides a
general overview of a system. Other DFDs can be used to focus on
125
the details of a context diagram. A level-0 diagram, illustrated in
Figure 4.5, is an example of such a DFD. Compare the level of
detail in Figure 4.6 with that of Figure 4.5. A level-0 diagram
represents the primary individual processes in the system at the
highest possible level of detail. Each process has a number that ends
in .0 (corresponding to the level number of the DFD).
Two of the data flows generated by the first process, Receive and
Transform Customer Food Order, go to external entities (Customer
and Kitchen), so we no longer have to worry about them. We are
not concerned about what happens outside of our system. Let’s
trace the flow of the data represented in the other two data flows.
First, the data labeled Goods Sold go to Process 2.0, Update Goods
Sold File. The output for this process is labeled Formatted Goods
Sold Data. This output updates a data store labeled Goods Sold File.
If the customer order were for two cheeseburgers, one order of fries,
and a large soft drink, each of these categories of goods sold in the
data store would be incremented appropriately.
126
The Daily Goods Sold Amounts are then used as input to Process
4.0, Produce Management Reports. Similarly, the remaining data
flow generated by Process 1.0, called Inventory Data, serves as
input for Process 3.0, Update Inventory File. This process updates
the Inventory File data store, based on the inventory that would
have been used to create the customer order. For example, an order
of two cheeseburgers would mean that Hoosier Burger now has two
fewer hamburger patties, two fewer burger buns, and four fewer
slices of American cheese. The Daily Inventory Depletion Amounts
are then used as input to Process 4.0. The data flow leaving Process
4.0, Management Reports, goes to the sink Restaurant Manager.
127
Figure 4.6: Four separate processes of the Hoosier Burger food-ordering system.
128
continues until no sub-process can logically be broken down any
further. The lowest level of DFDs is called a primitive DFD.
Note that each of the five processes in Figure 4.7 are labeled as sub-
processes of Process 1.0: Process 1.1, Process 1.2, and so on. Also
note that, just as with the other data-flow diagrams we have looked
at, each of the processes and data flows are named. No sources or
sinks are represented. The context and level-0 diagrams show the
sources and sinks. The data-flow diagram in Figure 4.7 is called a
level-1 diagram. If we should decide to decompose Processes 2.0,
129
3.0, or 4.0 in a similar manner, the DFDs we create would also be
called level-1 diagrams. In general, a level-n diagram is a DFD that
is generated from n nested decompositions from a level-0 diagram.
Processes 2.0 and 3.0 perform similar functions in that they both
use data input to update data stores. Because updating a data store is
a singular logical function, neither of these processes needs to be
decomposed further. We can, on the other hand, decompose Process
4.0, Produce Management Reports, into at least three sub-processes:
Access Goods Sold and Inventory Data, Aggregate Goods Sold and
Inventory Data, and Prepare Management Reports. The
decomposition of Process 4.0 is shown in the level-1 diagram of
Figure 4.9.
130
no DFD should have more than about seven processes in it, because
the diagram would be too crowded and difficult to understand. To
continue with the decomposition of Hoosier Burger’s food-ordering
system, we examine each of the sub-processes identified in the two
level-1 diagrams, one for Process 1.0 and one for Process 4.0. To
further decompose any of these sub-processes, we would create a
level-2 diagram showing that decomposition. For example, if we
decided to further decompose Process 4.3 in figure 4.8, we would
create a diagram that looks something like Figure 4.9. Again, notice
how the sub-processes are labeled. Just as the labels for processes
must follow numbering rules for clear communication, process
names should also be clear, yet concise.
Examples include merge, sort, read, write, and print. Process names
should capture the essential action of the process in just a few
words yet be descriptive enough of the action of the process so that
131
anyone reading the name gets a good idea of what the process does.
Many times, students just learning DFDs will use the names of
people who perform the process or the department in which the
process is performed as the process name. This practice is not
especially useful, because we are more interested in the action the
process represents than the person performing it or the place where
it occurs.
Although the names are descriptive of the data, they do not give
details. So following the DFD our interest is to build some
structured pace to keep details of the contents of data flows,
processes and data store. A data dictionary is a structured repository
of data. It is a set of rigorous definitions of all DFD data elements
and data structure. A data dictionary has many advantages. The
most obvious is documentation: it is a valuable reference in any
organization. Another advantage is improving analyst/ user
132
communication by establishing consistent definitions of various
elements, terms and procedures.
133
To read the rules, start by reading the values of the conditions as
specified in the first column: Employee type is “S,” or salaried, and
hours worked are less than 40. When both of these conditions occur,
the payroll system is to pay the base salary. In the next column, the
values are “H” and “_40,” meaning an hourly worker who worked
fewer than 40 hours. In such a situation, the payroll system
calculates the hourly wage and makes an entry in the Absence
Report. Rule 3 addresses the situation when a salaried employee
works exactly 40 hours. The system pays the base salary, as was the
case for rule 1. For an hourly worker who has worked exactly 40
hours, rule 4 calculates the hourly wage. Rule 5 pays the base salary
for salaried employees who work more than 40 hours. Rule 5 has
the same action as rules 1 and 3 and governs behavior with regard
to salaried employees.
The number of hours worked does not affect the outcome for rules
1, 3, or 5. For these rules, hours worked is an indifferent
condition, in that its value does not affect the action taken. Rule 6
calculates hourly pay and overtime for an hourly worker who has
worked more than 40 hours.
134
Because of the indifferent condition for rules 1, 3, and 5, we can
reduce the number of rules by condensing rules 1, 3, and 5 into one
rule, as shown in Figure 4.11. The indifferent condition is
represented with a dash. Whereas we started with a decision table
with six rules, we now have a simpler table that conveys the same
information with only four rules.
1. Name the conditions and the values each condition can assume.
Determine all of the conditions that are relevant to your
problem, and then determine all of the values each condition can
take. For some conditions, the values will be simply “yes” or
“no” (called a limited entry). For others, such as the conditions
in Figures 4.10 and 4.11, the conditions may have more values
(called an extended entry).
2. Name all possible actions that can occur. The purpose of
creating decision tables is to determine the proper course of
action given a particular set of conditions.
135
3. List all possible rules. When you first create a decision table,
you have to create an exhaustive set of rules. Every possible
combination of conditions must be represented. It may turn out
that some of the resulting rules are redundant or make no sense,
but these determinations should be made only after you have
listed every rule so that no possibility is overlooked. To
determine the number of rules, multiply the number of values
for each condition by the number of values for every other
condition. In Figure 4.10, we have two conditions, one with two
values and one with three, so we need 2 _ 3, or 6, rules. If we
added a third condition with three values, we would need 2 _ 3
_ 3, or 18, rules.
When creating the table, alternate the values for the first
condition, as we did in Figure 4.10 for type of employee. For
the second condition, alternate the values but repeat the first
value for all values of the first condition, then repeat the second
value for all values of the first condition, and so on. You
essentially follow this procedure for all subsequent conditions.
Notice how we alternated the values of hours worked in Figure
4.10. We repeated “40” for both values of type of employee,
“S” and “H.” Then we repeated “40,” and then “40.”
Define the actions for each rule. Now that all possible rules
have been identified, provide an action for each rule. In our
example, we were able to figure out what each action should be
and whether all of the actions made sense. If an action doesn’t
make sense, you may want to create an “impossible” row in the
action stubs in the table to keep track of impossible actions.
136
4. Simplify the decision table. Make the decision table as simple as
possible by removing any rules with impossible actions. Consult
users on the rules where system actions aren’t clear, and either
decide on an action or remove the rule. Look for patterns in the
rules, especially for indifferent conditions. We were able to
reduce the number of rules in the payroll example from six to
four, but often greater reductions are possible.
Three things are distinctive about Figure 4.12. First, the values for
the third condition repeat, providing a distinctive pattern for relating
the values for all three conditions to one another. Every possible
rule is clearly provided in this table. Second, there are 12 rules. Two
values for the first condition (type of item) times two values for the
second condition (time of week) times three values for the third
condition (season of year) equals 12 possible rules. Third, the action
for nonperishable items is the same, regardless of the day of the
week or the time of year. For nonperishable goods, both time-
related conditions are indifferent. Collapsing the decision table
accordingly gives us the decision table in Figure 4.13. Now it
contains only 7 rules instead of 12.
137
This orientation allows the analyst to write on the branches to
describe conditions and actions. Unlike the decision tree used in
management science, the analyst’s tree does not contain
probabilities and outcomes. In systems analysis, trees are used
mainly for identifying and organizing conditions and actions in a
completely structured decision process.
Figure 4.12: Complete decision table for Hoosier Burger’s inventory reordering
system.
Figure 4.13: Reduced decision table for Hoosier Burger’s inventory reordering system
138
Drawing Decision Trees
139
The decision tree has three main advantages over a decision table.
First, it takes advantage of the sequential structure of decision tree
branches so that the order of checking conditions and executing
actions is immediately noticeable. Second, conditions and actions of
decision trees are found on some branches but not on others, which
contrasts with decision tables, in which they are all part of the same
table. Those conditions and actions that are critical are connected
directly to other conditions and actions, whereas those conditions
that do not matter are absent. In other words, the tree does not have
to be symmetrical. Third, compared with decision tables, decision
trees are more readily understood by others in the organization.
Consequently, they are more appropriate as a communication tool.
Decision trees may not always be the best tolls for decision
analysis. A decision tree for a complex system with many
sequences of steps and combinations of conditions will be
unwieldy. A large number of branches with many paths through
them will could rather than aid analysis. The analyst may not be
able to determine which business policies or practices guide the
formulation of specific decisions. Where these problems arise,
decision tables should be considered.
140
1. The primary strength of the DFD is its ability to represent data
flows. It may be used at high or low level of analysis and
provides good system documentation. However, the tool only
weakly shows input and output detail. The user often finds it
confusing initially.
2. The data dictionary helps the analyst simplify the structure for
meeting the data requirements of the system. It may be used at
high or low levels of analysis, but it does not provide
functional details, and it is not acceptable to many nontechnical
users.
3. Structured English is best used when the problem requires
sequences of actions with decisions.
4. Decision trees are sued to verify logic and in problems that
involve a few complex decisions resulting in limited number of
actions.
5. Decision trees and decision tables are best suited for dealing
with complex branching routines such as calculating discounts
or sales commissions or inventory control procedures.
141
Chapter 5
Structuring System Requirements
Conceptual Data Modeling
Learning Objectives
142
Chapter 5: Structuring System Requirements:
Conceptual Data Modeling
5.1 Conceptual Data Modeling
A conceptual data model is a representation of organizational data.
The purpose of a conceptual data model is to show as many rules
about the meaning and interrelationships among data as possible,
independent of any database management system or other
implementation considerations. Entity-relationship data models are
commonly used diagrams that show how data are organized in an
information system. The main goal of conceptual data modeling is
to create accurate E-R diagrams. As a systems analyst, you typically
do conceptual data modeling at the same time as other requirements
analysis and structuring steps during systems analysis. You can use
methods such as interviewing, questionnaires, and JAD sessions to
collect information for conceptual data modeling. On larger systems
development teams, a subset of the project team concentrates on
data modeling while other team members focus attention on process
or logic modeling.
143
Conceptual data modeling is only one kind of data modeling and
database design activity done throughout the systems development
process. Figure 5.1 shows the different kinds of data modeling and
database design that occur during the systems development life
cycle. The conceptual data-modeling methods are suitable for
various tasks in the planning and analysis phases. These phases of
the SDLC address issues of system scope, general requirements,
and content. An E-R data model evolves from project identification
and selection through analysis as it becomes more specific and is
validated by more detailed analysis of system needs.
144
5.3 Deliverables and Outcomes
145
together and placed inside boxes called entities. Lines are drawn
between entities to represent relationships among the data, and
special symbols are added to the diagram to communicate high-
level business rules that need to be supported by the system.
Figure 5.2: Sample conceptual data model diagrams: Standard E-R notation
The analyst can answer these questions and more by using an entity
relationship diagram. We have included a partial ERD for the
chemical request scenario in Figure 5.3. First, we have organized
the data into three main categories: Lawn Chemical Applicator,
Chemical Request, and Chemical. The Lawn Chemical Applicator
data describe the employees who apply the lawn chemicals. The
Chemical Request data capture information about every chemical
request event, and the chemical data describe the chemicals used for
lawn care.
146
The lines connecting the three categories of information
communicate the relationships that the categories share. By reading
the relationship lines, the analyst understands that an LCA makes
chemicals requests and chemical requests involve chemicals.
147
dominates industry use, and none is necessarily better than another.
Table 5.1 summarizes the three basic elements of ERDs and the
symbols we will use.
Entity The entity is the basic building block for a data model. It is a
person, place, event, or thing about which data is collected—for
example, an employee, an order, or a product. An entity is depicted
by a rectangle, and it is described by a singular noun spelled in
capital letters. All entities have a name, a short description that
explains what they are, and an identifier that is the way to locate
148
information in the entity. In Figure 5.3, the entities are Lawn
Chemical Applicator, Chemical Request, and Chemical.
149
Relationship Relationships are associations between entities, and
they are shown by lines that connect the entities together. Every
relationship has a parent entity and a child entity, the parent being
the first entity in the relationship, and the child being the second.
150
requests? The cardinality for binary relationships (i.e., relationships
between two entities) is 1:1, 1:N, or M:N.
The 1:1 (read as “one to one”) relationship means that one instance
of the parent entity is associated with one instance of the child
entity. There are no examples of 1:1 relationships in Figure 5.3. So,
imagine for a moment that, as a reward, a company assigns a
specific reserved parking place to every employee who is honored
as an “employee of the month.” One reserved parking place is
assigned to each honored employee, and each honored employee is
assigned one reserved parking place. If we were to draw these two
entities, we would place a bar next to the Employee entity and a bar
next to the Reserved Parking Place entity. The cardinality is clearly
1:1 in this case, because each honored employee is assigned exactly
one reserved parking place, and a reserved parking place is assigned
to exactly one employee.
151
Modality Second, relationships have a modality of null or not null,
which refers to whether or not an instance of a child entity can exist
without a related instance in the parent entity. Basically, the
modality of a relationship indicates whether the child-entity
instance is required to participate in the relationship. It forces you to
ask questions like, Can you have a Chemical Request without a
Chemical? and Can you have a Chemical without a Chemical
Request? Modality is depicted by placing a zero on the relationship
line next to the parent entity if nulls are allowed. A bar is placed on
the relationship line next to the parent entity if nulls are not
allowed. In the two questions we just asked, the first answer is no:
you need a chemical to have a chemical request. You can, however,
have a chemical without having a chemical request for that
chemical. The modality is “not null,” or “required,” for the first
relationship in Figure 5.3. Notice, however, that a zero has been
placed on the relationship line between Chemical and Chemical
Request next to the Chemical Request entity. This means that
chemicals can exist in our system without requiring that a chemical
request exists. Said another way, instances of chemical requests are
optional for a chemical. The modality is “null.”
152
5.4.3 The Data Dictionary and Metadata
A CASE tool is used to help build ERDs. Every CASE tool has
something called a data dictionary, which quite literally is where
the analyst goes to define or look up information about the entities,
attributes, and relationships on the ERD. Even Visio 2010,
primarily known as a drawing tool, has some elementary data
dictionary capabilities. Figures 5.6, 5.7, and 5.8 illustrate common
data dictionary entries for an entity, an attribute, and a relationship;
notice the kinds of information the data dictionary captures about
each element. The information you see in the data dictionary is
called metadata, which, quite simply, is data about data. Metadata
is anything that describes an entity, attribute, or relationship, such
as entity names, attribute descriptions, and relationship cardinality,
and it is captured to help designers better understand the system that
they are building and to help users better understand the system that
they will use.
Figure 5.6: Data Dictionary Entity for Chemical Entity (in Visio 2010)
Metadata are stored in the data dictionary so that they can be shared
and accessed by developers and users throughout the SDLC. The
153
data dictionary allows you to record the standard pieces of
information about your elements in one place, and it makes that
information accessible to many parts of a project. For example, the
data attributes in a data model also appear on the process models as
elements of data stores and data flows, and on the user interface as
fields on an input screen. When you make a change in the data
dictionary, the change ripples to the relevant parts of the project that
are affected.
Figure 5.7: Data Dictionary Entry for Chemical Attributes (in Visio 2010)
Figure 5.8: Data Dictionary Entry for a Relationship (in Visio 2010)
154
5.5 Creating an Entity Relationship Diagram
If the process models (e.g., DFDs) have been prepared, the easiest
way to start is with them: The data stores on the DFDs, the external
entities, and the data flows indicate the kinds of information that are
captured and flow through the system.
155
process models and use cases does not include enough detail to
identify the exact attributes that should exist in each of our entities.
156
can see that an LCA makes chemical requests, and a chemical is
included in a chemical request.
157
Dependent Entity There are situations when a child entity does
require attributes from the parent entity to uniquely identify an
instance. In these cases, the child entity is called a dependent entity,
and its identifier consists of at least one attribute from the parent
entity. When relationships have a dependent child entity, they are
called identifying relationships. This name is derived from the fact
that parent entity attributes are needed as part of the child entity’s
identifier.
158
Step 1: Remove the M:N relationship line and insert a new entity in
between the two existing ones. Step 2: Add two 1:N relationships to
the model. The two original entities should serve as the parent
entities for each 1:N, and the new intersection entity becomes the
child entity in both relationships. Step 3: Name the intersection
entity. Intersection entities are often named by a concatenation of
the two entities that created it (e.g., Chemical Request), making its
meaning clear. Alternatively, the entity can be given another
appropriate name. Figure 5.10 shows the M:N LCA-Chemical
relationship and how it was resolved with the use of an intersection
entity.
159
transcript. If transcripts have unique transcript numbers, then the
entity would be considered independent. In contrast, the Chemical
Request intersection entity in Figure 5.10 requires the identifiers
from both LCA and Chemical for an instance to be uniquely
identified. Thus, Chemical Request is a dependent entity.
5.8 Normalization
160
5.8.1 Normalizing the Data Model
1NF. Let’s pretend that the Tune Source project team was given the
layout for the CD purchase file that is used by the existing CD sales
system. The team members are anxious to incorporate the data from
this file into their own system, and they decide to put the file into
third normal form to make the information easier to understand and,
ultimately, easier for them to add to the data model for the new
Digital Music Download system.
161
preferences is a repeating attribute. This can be resolved by creating
a new entity that contains preference information, and a relationship
is added between CD purchase and preference. The new
relationship is M:N, because a CD purchase can be associated with
many music preferences and a music preference can be found on
many CD purchases. See Figure 5.12 for the current data model in
1NF.
162
attributes for an instance in an entity. Sometimes, nonidentifier
attributes are dependent on only part of the identifier (i.e.,
partial dependency), and these attributes belong in another
entity. Figure 5.13 shows the CD purchase data model placed in
2NF. Notice that originally, the CD purchase entity had three
attributes that were used as identifiers: purchase date, customer
last name, and customer first name. The problem was that some
of the attributes were dependent on the customer last name and
first name, but had no dependency on purchase date. These
attributes were those that describe a customer: phone, address,
e-mail, and birth date. To resolve this problem, a new entity
called customer was created, and the customer attributes were
moved into the new entity. A 1:N relationship exists between
customer and CD purchase because a customer can purchase
many CDs, but a CD purchase is associated with only one
customer.
163
Figure 5.13: First Normal Form with M:N Relationships Resolved
164
The 1:1 relationship assumes that there is one payment for every
CD purchase, and every CD purchase has one payment. Also, a
payment is required for very CD purchase, and every CD
purchase requires a payment. Third normal form also addresses
issues of derived, or calculated, attributes. By definition,
derived attributes can be calculated from other attributes and do
not need to be stored in the data model. As an example, a
person’s age would not be stored as an attribute if birthdate
were stored, because, by knowing the birthdate and current date,
we can always calculate the age. In order to verify that no
purchased CDs are omitted from the entire purchase, the total
due is stored as an attribute of CD purchase, and the sum of the
individual CD prices is also computed to ensure that they match.
We will leave the total due in the data model and show the final
ERD in 3NF in Figure 5.15.
165
Chapter 6
System Design
Learning Objectives
− Describe the design objectives and constraints.
− Explain how operational, performance, security,
cultural, and political requirements affect the
architecture design.
− Create an architectural design.
− Create a hardware and software specification.
− Describe several fundamental user interface design
principles.
− Explain the process of user interface design.
− Explain how to design the user interface standards.
− Be able to design a user interface.
− Apply the general guidelines for formatting input and
output
− Describe and apply the general guidelines for interface
design, including guidelines for layout design,
structuring data-entry fields, providing feedback, and
system help.
166
Chapter 6: System Design
The design phase decides how the new system will operate. Many
activities will be involved as the development team develops the
system requirements. The purpose of the design phase is to decide
how to build it. System design is the determination of the overall
system architecture—consisting of a set of physical processing
components, hardware, software, people, and the communication
among them—that will satisfy the system’s essential requirements.
167
being developed have to be identified and then allocated to the
various hardware components on which the system will operate.
Each of these components can be combined in a variety of different
ways.
168
at affordable costs. T1 lines, together with intelligent bridges and
routers, allow the linking of multiple LANs into true, enterprise
wide networks. Relational data bases with improved performance
and capability. And finally the structured query language (SQL) has
become established as a standard language for data base access.
− Benefits of Client/Server Computing
Client/server computing meets the challenges of the business
environment by providing a middle ground between the centrally
controlled mainframe computing environment and the completely
distributed environment. In the client/server architecture, the key
assets—corporate data and associated business rules—can be
controlled and managed centrally and users can have access to,
manipulate, and present the data locally. Additional benefits are
associated with client/server computing. Optimization By dividing
and distributing functions, systems resources can also be selected
and tuned for specific processing requirements.
169
application architecture must be thin client–server. Such business
requirements most likely occur in systems designed to support
external customers. Internal systems may also impose business
requirements, but usually they are not as restrictive.
170
without failure. In other words, reliability may be used as a measure
of the system’s success in providing its function properly.
Reliability is one of the quality characteristics that consumers
require from the manufacturer of products.
− Recoverability
Recoverability refers to the ability to restore your deployment to the
point at which a failure occurred. The ability to recover quickly
from a system failure or disaster depends not only on having current
backups of your data, but also on having a predefined plan for
recovering that data on new hardware.
− Availability
System availability is the time when the application must be
available for use. Availability is the ratio of time a system or
component is functional to the total time it is required or expected
to function. This can be expressed as a direct proportion (for
example, 9/10 or 0.9) or as a percentage (for example, 90%). It can
also be expressed in terms of average downtime per week, month or
year or as total downtime for a given week, month or year.
Sometimes availability is expressed in qualitative terms, indicating
the extent to which a system can continue to work when a
significant component or set of components goes down. Required
system availability is used in determining when maintenance may
be performed.
− Fault Tolerance
Fault tolerance is the ability to remain partially operational during a
failure. Fault-tolerant technology is a capability of a computer
system, electronic system or network to deliver uninterrupted
service, despite one or more of its components failing. Fault
171
tolerance also resolves potential service interruptions related to
software or logic errors. The purpose is to prevent catastrophic
failure that could result from a single point of failure. For most
applications, there are no fault tolerance requirements. When a
portion of the application is unavailable, there is no need to be able
to use the remainder of the application.
− General Performance
Other requirements could be considered such as response time for
queries and updates, Throughput, and Expected rate of user activity
(for example, number of transactions per hour, day, or month).
Specific performance requirements related to a specific functional
requirement should be listed with that functional requirement.
− Capacity
List of the required capacities and expected volumes of data in
business terms should be highlighted. For example, the number of
cases about which the application will have to store data. For
example, “The system shall be able to process a projected volume
of 600 applications for naturalization per month.”
− Data Retention
172
equipment in the organization. Other times, however, new hardware
and software (usually, for servers) must be purchased. The
hardware and software specification is a document that describes
what hardware and software are needed to support the application.
There are several steps involved in creating the document. Table 6.1
shows a sample hardware and software specification.
Standard Standard
Standard Standard
Component Application Database
Client Web Server
Server Server
Operating − Windows − Linux − Linux − Linux
System − Mozilla
173
client and servers (e.g., Oracle database). Here, you should consider
any additional costs such as technical training, maintenance,
extended warranties, and licensing agreements (e.g., a site license
for a software package). Again, the needs that you list are
influenced by decisions that are made in the other design phase
activities.
Next, you must create a list of the hardware needed to support the
future system. In general, the list can include such things as
database servers, network servers, peripheral devices (e.g., printers,
scanners), backup devices, storage components, and any other
hardware component needed to support an application. At this time,
you also should note the quantity of each item that will be needed.
174
should be used in prompts, menus, and help screens; and consistent
color, layout capitalization, fonts.
− Cater to universal usability
Recognize the needs of diverse users and design for plasticity,
facilitating transformation of content. Novice-expert differences,
age ranges, disabilities, and technology diversity each enrich the
spectrum of requirements that guides design. Adding features for
novices, such as explanations, and features for experts, such as
shortcuts and faster pacing, can enrich the interface design and
improve perceived system quality.
− Offer informative feedback
For every user action, there should be system feedback. For
frequent and minor actions, the response can be modest, whereas
for infrequent and major actions, the response should be more
substantial. Visual presentation of the objects of interest provides a
convenient environment for showing changes explicitly. Sequences
of actions should be organized into groups with a beginning,
middle, and end.
− Prevent errors
As much as possible, design the system such that users cannot make
serious errors; for example, gray out menu items that are not
appropriate and do not allow alphabetic characters in numeric entry
fields. If a user makes an error, the interface should detect the error
and offer simple, constructive, and specific instructions for
recovery. For example, users should not have to retype an entire
name-address form if they enter an invalid zip code, but rather
should be guided to repair only the faulty part. Erroneous actions
175
should leave the system state unchanged, or the interface should
give instructions about restoring the state.
− Permit easy reversal of actions
As much as possible, actions should be reversible. This feature
relieves anxiety, since the user knows that errors can be undone,
thus encouraging exploration of unfamiliar options. The units of
reversibility may be a single action, a data-entry task, or a complete
group of actions, such as entry of a name and address block.
− Support internal locus of control
Experienced operators strongly desire the sense that they are in
charge of the interface and that the interface responds to their
actions. Surprising interface actions, tedious sequences of data
entries, inability to obtain or difficulty in obtaining necessary
information, and inability to produce the action desired all build
anxiety and dissatisfaction.
− Reduce short-term memory load
The limitation of human information processing in short-term
memory (the rule of thumb is that humans can remember "seven
plus or minus two chunks" of information) requires that displays be
kept simple, multiple-page displays be consolidated, window-
motion frequency be reduced, and sufficient training time be
allotted for codes, and sequences of actions. Where appropriate,
online access to command-syntax forms, abbreviations, codes, and
other information should be provided.
− Recoverability
The system should provide some resilience to user errors and allow
the user to recover from errors. This might include an UNDO
facility, confirmation of destructive actions, 'soft' deletes, etc.
176
Additionally, there is one basic principle which counts for all User
Interface designers: Keep your message as simple as possible. Use
only the amount of text and graphics as is absolutely necessary to
get your point across.
177
analysts design interface standards, which are the basic design
elements on which interfaces in the system are based. Fourth, the
analysts create an interface design prototype for each of the
individual interfaces in the system, such as navigation controls,
input screens, output screens, forms (including preprinted paper
forms), and reports. Finally, the individual interfaces are subjected
to interface evaluation to determine whether they are satisfactory
and how they can be improved.
178
Manipulation Main Main Disadvantages Application
Type Advantages Examples
Natural − Accessible to − Requires more − Timetable
Language casual users typing systems
− Easily − Natural language − WWW
extended understanding information
systems are retrieval systems
unreliable
Table 6.2: Interaction styles
179
Frequently, the differences between a form and a report are subtle.
A report is only for reading and often contains data about multiple
unrelated records in a computer file. On the other hand, a form
typically contains data from only one record or is, at least, based on
one record, such as data about one customer, one order, or one
student. The guidelines for the design of forms and reports are
similar.
A wide variety of information can be provided to users of
information systems, ranging from text to video to audio. As
technology continues to evolve, a greater variety of data types will
be used. A definitive set of rules for delivering every type of
information to users has yet to be defined because these rules are
continuously evolving along with the rapid changes in technology.
Research conducted by computer scientists on human-computer
interaction has provided numerous general guidelines for formatting
information. Many of these guidelines undoubtedly will apply to the
formatting of all evolving information types on yet-to-be-
determined devices. Keep in mind that designing usable forms and
reports requires your active interaction with users. If this single and
fundamental activity occurs, you will likely create effective designs.
There are six basic principles of good input/output design, which
can be summarized as U2H2C2:
− User Involvement
180
The primary goal of input/output design is to assist the user in their
tasks. If the design is good, the users perform their task easily and
make few mistakes. If the design is bad, the users grumble and
make mistakes. Good design enhances user productivity.
The design choices must be made to create the best design for the
users rather than the easiest design for the programmers to code.
The interfaces must be formulated to assist the user, but if the
system performance will be severely degraded, compromises may
be necessary.
181
should be linked such that screens can be called up without going
through multiple screens.
− Convention Standardization
− Cultural Bias
182
Chapter 7
Systems Implementation and Operation
Learning Objectives
183
Chapter 7: Systems Implementation and
Operation
As the implementation phase begins, foremost on people’s minds is
construction of the new system. A major component of building the
system is writing programs. In fact, some people mistakenly believe
that programming is the focal point of systems development.
However, doing a good, thorough job on the analysis and design
phases is essential to a smooth and successful implementation
phase. Developing the system’s software (writing programs) can be
the largest single component of any systems development project in
terms of both time and cost. It is generally also the best understood
component and may offer the fewest problems of all the aspects of
the SDLC
The implementation phase consists of developing and testing the
system’s software, documentation, and new operating procedures.
Additional issues that are essential to a successful system
implementation is also discussed, including installation of the new
system, selection of the most suitable conversion approach,
preparing the organization and the users to adapt to the new system,
and ensuring that the system is supported after it is put into
production.
Systems implementation and operation is made up of seven major
activities:
− Coding
− Testing
− Change over
− Maintenance
− Documentation
− Training
184
The purpose of these steps is to convert the final physical system
specifications into working and reliable software and hardware,
document the work that has been done, and provide help for current
and future users and caretakers of the system. Usage of the system
leads to changes, so during maintenance, users and others submit
maintenance requests; requests are transformed into specific
changes to the system; the system is redesigned to accept the
changes; and the changes are implemented.
185
lowest level. It tests the basic unit of software, which is the smallest
testable piece of software, and is often called “unit”, “module”, or
“component” interchangeably. Integration Testing is performed
when two or more tested units are combined into a larger structure.
The test is often done on both the interfaces between the
components and the larger structure being constructed, if its quality
property cannot be assessed from its components. System Testing
tends to affirm the end-to-end quality of the entire system. System
test is often based on the functional/requirement specification of the
system. Non-functional quality attributes, such as reliability,
security, and maintainability, are also checked. Acceptance Testing
is done when the completed system is handed over from the
developers to the customers or users. The purpose of acceptance
testing is rather to give confidence that the system is working than
to find errors.
186
sometimes inseparable, but can almost always discussed separately.
In this paper, we mean dynamic analysis when we say testing, since
most of the testing activities (thus all the techniques studied in this
paper) require the execution of the software.
187
criteria include path coverage, branch coverage, and data-flow
coverage. Structural testing emphasizes on the internal structure of
the software entity.
188
users, management, and the IT group are satisfied that the new
system operates correctly, the old system is terminate. Parallel
operation is having very low amount of risk as if the new system
does not work correctly, the company can use the old system as a
backup. But it is the most costly changeover method. Data have to
be input in both systems. Users must work in both system and result
in increased workload and processing delays. Because of its high
cost it would not be a suitable approach even though it’s the safest
approach as it is having back up.
− Pilot Operation
The pilot operation changeover method involves implementing the
complete new system at a selected location of the company. The
group that uses the new system first is called the pilot site. The old
system continues to operate for the entire organization including the
pilot site. After the system proves successful at the pilot site, it is
implemented in the rest of the organization, usually using direct
cutover method. Pilot operation is combination of parallel operation
and direct cutover methods. Pilot site assure the working of new
system and reduces the risk of system failure. This is also less
expensive than the parallel operation as only at one section both
system works for limited period.
− Phased Operation
Phased operation works in different phases or stages.
Implementation of new system in modules or stages is phased
operation. This is also a combination of direct cutover and parallel
similar to pilot operation. But in this approach the entire system is
provided to some users instead a part of system to all users. In
phase operation the risk of errors or failures is limited to the
189
implemented module only and also phased operation is less
expensive than the full parallel operation. But in some cases, phased
operation can cost more than a pilot approach where the system
involves a large number of separate phases. In case of the
involvement of so many phases it would be difficult and costly to
apply phased operation approach.
190
if the total system development. Maintenance is not as rewarding
and exciting as developing systems.
Maintenance can be classified as:
− Corrective
It means repairing, processing or performance failures or making
changes because of previously uncorrected problems.
− Adaptive
It means changing the program functions.
− Perfective
It means enhancing the performance or modifying the programs to
respond to the users’ additional or changing needs. The greatest
amount of time is spent on perfective. Maintenance covers a wide
range of activities including correcting coding and design errors,
updating documentation and test data.
− Preventive
Its mission is to maintain a level of certain service on equipment,
programming the interventions of their vulnerabilities in the most
opportune time. It is used to be a systematic character, that is, the
equipment is inspected even if it has not given any symptoms of
having a problem.
191
documentation is to provide enough information to enable future
programmers to understand and make necessary changes. Since
programmers do not retain their jobs for a very long time, it
becomes necessary that there be some kind of documentation that
will be useful for the new programmers who are assigned the same
system.
− Operations
For smooth running of the system, the data entry operator must
have complete knowledge about the job. The instructions must be in
a form that is easily accessible to the console operator and written
in simple and understandable style.
− User
System users should have a manual that describes everything the
users must know to do their job correctly. Users require two general
type of information: complete details to handle everything the
system processes, and an overall picture of the system.
− Management
The documentation required by management differs a lot from that
required by users. The manual should enable management to
perform three functions: (a) Evaluate progress on the development
of system. (b) Monitor the existing systems. (c) Understand the
objectives and methods of the new and existing system.
− Systems
This manual document the complete life cycle of the system. If
documents the results of the feasibility study, the team assigned,
etc. It also documents the file specification, transaction
specification and output specification.
192
7.6 System Training
Training has been defined as "The systematic development of the
knowledge, skills and attitudes required by an individual to perform
adequately a given task or job". There are numerous methods and
materials with the most effective training techniques available to
help you prepare and equip employees to better do their jobs.
Indeed, with so many choices out there, it can be daunting to
determine which methods to use and when to use them. Using
several methods for each training session may actually be the most
effective way to help employees learn and retain information. In
this article, we take a close look at each of the myriad techniques
and examine their advantages and disadvantages. We also explain
how you can combine the various methods into an effective blended
learning approach.
7.6.1 Overall Considerations
The following are some of the main considerations that should be
considered during training.
− Training Strategies
Training strategies are determined by who is being trained and who
will train them. The analyst will want to ensure that anyone whose
work is affected by the new information system is properly trained
by the appropriate trainer.
− Whom to Train
All people who will have primary or secondary use of the system
must be trained. The amount of training a system requires depends
on how much someone’s job will change because of the new
interactions required by the revised system.
193
− People Who Train Users
For a large project, many different trainers may be used depending
on how many users must be trained and who they are. Possible
training sources include Vendors, Systems analysts, External paid
trainers, In-house trainers, other system users.
194
− Training Sites
Training takes place in many different locations, some of which are
more conducive to learning than others. Large computer vendors
provide special off-site locations at which operable equipment is
maintained free of charge. Their trainers offer hands-on experience
as well as seminars in settings that allow users to concentrate on
learning the new system. One of the disadvantages of off-site
training is that users are away from the organizational context in
which they must eventually perform.
− Training Materials
In planning for the training of users, systems analysts must realize
the importance of well-prepared training materials. These materials
include training manuals; training cases, in which users are assigned
to work through a case that incorporates most of the commonly
encountered interactions with the system; and prototypes and mock-
ups of output. Because the user’s understanding of the system
depends on them, training materials must be clearly written for the
correct audience with a minimum of jargon. A summary of
considerations for training objectives, methods, sites, and materials
is provided in table 7.1.
Elements Relevant Factors
Training Objectives Depend on requirements of user’s job
Depend on user’s job, personality, background, and
Training Methods experience; use combination of lecture, demonstration,
hands-on, and study.
Depend on training objectives, cost, availability, free
Training Sites vendor sites with operable equipment; in-house
installation; rented facilities.
Depend on user’s needs; operate manuals, cases,
Training Materials
prototypes of equipment and output; online tutorials.
195
References
1. Alan Dennis, Barbara Haley Wixom, and Roberta M. Roth,
System Analysis and Design. John Wiley & Sons, 2012
2. Applegate, L. M
3. R. D. Austin, and F. W. McFarlan. Corporate Information
Strategy and Management. 7th ed. Boston: Irwin/McGraw-Hill,
2007.
4. Fuller, M. A, J. S. Valacich, and J. F. George. Information
Systems Project Management. Upper Saddle River, NJ: Prentice
Hall, 2008
5. Fuller, M. A, J. S. Valacich, and J. F. George. Information
Systems Project Management. Upper Saddle River, NJ: Prentice
Hall, 2008.
6. Joseph S. Valacich, Joey F. George, Jeffrey A. Hoffer,
“Essentials of Systems Analysis and Design”, PEARSON, 2012
7. Kenneth E. Kendall and Julie E. Kendall, Systems Analysis and
Design, Eighth Edition ed.: Prentice Hall, 2011
8. Kulak, D., and E. Guiney. Use Cases: Requirement in Context,
2d ed. Boston: Pearson Education, 2004.
9. Kendall, J. E., K. E. Kendall, and S. Kong. “Improving Quality
Through the Use of Agile Methods in Systems Development:
People and Values in the Quest for Quality.” In Measuring
Information Systems Delivery Quality. Edited by E. W. Duggan
and H. Reichgelt, pp. 201–222. Hershey, PA: Idea Group
Publishing, 2006.
10. Kendall, J. E., K. E. Kendall, and S. Kong. “Improving Quality
Through the Use of Agile Methods in Systems Development:
196
People and Values in the Quest for Quality.” In Measuring
Information Systems Delivery Quality. Edited by E. W. Duggan
and H. Reichgelt, pp. 201–222. Hershey, PA: Idea Group
Publishing, 2006.
11. Luftman, J. N. Managing the Information Technology Resource.
With C.V. Bullen, D. Liao, E. Nash, and C. Neumann. Upper
Saddle River, NJ: Prentice Hall, 2004.
12. Loveday, L. and S. Niehaus. Web Design for ROI: Turning
Browsers into Buyers and Prospects into Leads. Indianapolis,
IN: New Riders, 2007.
13. Laudon, K. C., and J. P. Laudon. Management Information
Systems, 11th ed. Upper Saddle River, NJ: Pearson Prentice
Hall, 2010.
14. Shneiderman, B., C. Plaisant, M. Cohen, and S. Jacobs.
Designing the User Interface. 5th ed. Reading, MA: Addison-
Wesley, 2009.
15. Wansink, B., S. Sudman, and N. M. Bradburn. Asking
Questions: The Definitive Guide to Questionnaire Design—For
Market Research, Political Polls, and Social and Health
Questionnaires. New York: Wiley, 2004.
16. Zhang, P., J. Carey, D. Te’eni, and M. Tremaine. “Integrating
Human–Computer Interaction Development into the Systems
Development Life Cycle: A Methodology.” Communications of
the Association for Information Systems, Vol. 15, 2005, pp.
512–543.
17. Strauss, J., and R. Frost. E-Marketing, 5th ed. Upper Saddle
River, NJ: Pearson Prentice Hall, 2008.
197
Chapter 1
Part 1: Choose the correct answer
1) The particular processes that an analyst will follow to help ensure that
his work is complete, well-done, and understood by project team
members, best defines:
A) Techniques B) Tools
C) Methodologies D) Data flows
198
Part 3: Complete the following statements
9) ________ is the second phase of the SDLC in which system
requirements are studied and structured.
10) ________ is an approach to develop information systems that
promises better and cheaper systems as well as rapid deployment. 11)
________ refers to systems development methodologies and techniques
based on objects rather than data or processes.
199
Chapter 2
Part 1: Choose the correct answer
1) Defining the necessary activities required to organize the initiation
team while they are working to define the scope of the project is the focus
of which of the following activities?
A) Establishing the project initiation team
B) Establishing management procedures
C) Establishing the project initiation plan
D) Establishing the project management environment and
project workbook
Part 2: True/False
5) Establishing a relationship with the customer is a project initiation
activity.
200
5) Systems requirements planning is an orderly means of assessing
the information needs of an organization and defining the systems,
databases, and technologies that will best satisfy those needs.
12) ________ is the ratio of the net cash receipts of the project
divided by the cash outlays of the project.
14) Briefly identify and define the six major categories of feasibility.
201
Chapter 3
Part 1: Choose the correct answer
1) Traditional methods of collecting systems requirements include:
A) Individual interviews
B) Observing workers
C) Group interviews
D) All of the above
202
7) Challenging yourself to look at the organization in new ways
describes the impertinence characteristic that a systems analyst should
exhibit during the requirements determination phase.
13) A ________ is the trained individual who plans and leads Joint
Application Design sessions.
203
Chapter 4
Part 1: Choose the correct answer
1) The diagram that shows the scope of the system, indicating what
elements are inside and which are outside the system, is called a:
A) Context diagram
B) Level-2 diagram
C) Referencing diagram
D) Representative diagram
204
Part 3: Complete the following statements
9) A ________ is a matrix representation of the logic of a decision,
which specifies the possible conditions for the decision and the resulting
actions.
10) ________ are the part of a decision table that specifies which
actions are to be followed for a given set of conditions.
11) The __ to a process are different from the outputs of that process.
205
Chapter 5
Part 1: Choose the correct answer
1) Which of the following is NOT an implementation method?
A) A purchased application software package
B) A system or utility program
C) An existing application program from a program library
D) A program to be written
E) All of these are implementation methods
206
Part 3: Complete the following statements
8) A(n) _________________________ system is a solution in which
the presentation, presentation logic, application logic, data manipulation
and data layers are distributed between client PCs and one or more
servers.
13) Discuss the different kinds of data modeling and database design and
explain the Relationship between data modeling and SDLC.
207
Chapter 6
Part 1: Choose the correct answer
1) Which design identifies the software as a system with many
components interacting with each other?
A) Architectural design
B) High-level design
C) Detailed design
D) Both B & C
208
8) Display sequence refers to the way a user can move from one display
to another.
14) A ________ validation test checks for the existence of data items in
all fields of a record.
17) Discuss the key operational requirement areas and provides some
examples of each.
18) Discuss the main principles of a good input and output design.
209
Chapter 7
Part 1: Choose the correct answer
1) The process in which the current system is replaced by the new system
best describes:
A) The systems development life cycle
B) Changeover
C) Physical design
D) Set-up
2) A strategy for training users so they can quickly learn the new system
is a(n): A) Training plan
B) Installation plan
C) User guide
D) Training curriculum
3) Training on the use of the system begins during the early stages of the:
A) Analysis phase
B) Logical design phase
C) Implementation phase
D) Project initiation and planning phase
210
Part 3: Complete the following statements
8) ________ are a testing technique in which participants examine
program code for predictable language-specific errors.
211
Exercises
212
Chapter 1
Foundations for System Development
Question 1:
Define: System, System Analysis, System Design, feasibility study,
Methodologies, Techniques, Computer-aided software
engineering (CASE), JAD
Answer:
System may be referred to any set of components, which function in
interrelated manner for a common cause or objective. The term system
refers to an organized relationship among functioning units or
components.
213
Computer-aided software engineering (CASE) refers to automated
software tools used by systems analysts to develop information
systems.
Question 2:
Discuss the different skills that the Systems Analyst should posses
Answer
Technical skills to understand the organization’s existing technical
environment, the new system’s technology foundation
Question 3:
Discuss the different Roles of the Systems Analyst
Answer
The systems analyst role: focus on IS issues and develop improvement
ideas with maintaining the required standards.
The business analyst role focuses on the business issues surrounding the
system.
The requirements analyst role focuses on eliciting the requirements
from the stakeholders associated with the new system.
214
The infrastructure analyst role focuses on technical issues surrounding
the ways the system will interact with the organization’s technical
infrastructure (hardware, software, networks, and databases).
The project manager role ensures that the project is completed on time
and within budget and that the system delivers the expected value to the
organization.
Question 4:
Compare between Logical design and physical design
Answer
Logical design concentrates on how the system will impact the
functional units within the organization
You design the various parts of the system to perform the physical
operations necessary to facilitate data capture, processing, and
information output.
Question 5:
Discuss briefly the phases of The Systems Development Life Cycle
(SDLC)
Answer
SDLC includes four main steps: (1) planning and selection, (2) analysis,
(3) design, and (4) implementation and operation (see figure 1.2).
215
Phase 1: Systems Planning and Selection
• Identifies the need for a new or enhanced system.
• Prioritizes and translates the needs into a written plan
216
Question 6:
Discuss: Prototyping, RAD, and Agile methodologies
Answer:
Prototyping
A method that performs the analysis, design and implementation
phases concurrently and it is smaller version of the system with a
minimal amount of features. All three phases are performed
repeatedly in a cycle until the system is completed.
Advantage: Provides a system for the users to interact with, even if it
is not initially ready for use.
Disadvantage: significant changes that many initial design decisions
prove to be poor ones.
217
Agile Methodologies
some of the most well-known Agile Methodologies
Extreme Programming, the Crystal family of methodologies, Adaptive
Software Development, Scrum, and Feature Driven Development.
key principles:
(1) A focus on adaptive rather than predictive methodologies, (2) A
focus on people rather than roles, and (3) A self-adaptive process
which refers to the observation that engineering-based methodologies
work best when the process and product are predictive.
Question 7:
Compare between the different system development methodologies
based on the previously mentioned criteria in question 4.
Answer:
218
Chapter 2
Project Selection and Management
Question 1:
List the different Project Management Activities
Answer:
219
Establishing Management Procedures, Establishing the Project
Management Environment and Project Workbook
220
h) Advantages and disadvantages of the acquisition methods of
computer hardware
Advantages Disadvantages
− Cheaper than − Initial cost is high
leasing or − Risk of obsolescence
− renting over the − Risk of being stuck if choice was wrong
long run − Full responsibility
− Ability to change
Buying system
− Provides tax
advantages of
− accelerated
depreciation
− Full control
− No capital is tied − Company doesn’t own the
up − system when lease expires
− No financing is − Usually a heavy penalty for
Leasing required − terminating the lease
− Leases are lower − Leases are more expensive than buying
than rental
payments
− No capital is tied − Company doesn’t own the computer
up − Cost is very high because vendor assumes
− No financing is the risk (most expensive option)
required
Renting − Easy to change
systems
− Maintenance and
insurance are
usually included
Advantages Disadvantages
− Specific response to − May be significantly
specialized business needs higher initial cost
Creating − Innovation may give firm a compared to COTS
Custom competitive advantage software or ASP
Software − In-house staff available to − Necessity of hiring or
maintain software working
− Pride of ownership − with a development
221
Advantages Disadvantages
team
− Ongoing maintenance
− Refined in the commercial − Programming focused;
world not business focused
− Increased reliability − Must live with the
− Increased functionality existing features
Purchasing
− Often lower initial cost − Limited customization
COTS
− Already in use by other − Uncertain financial
Packages
firms future of vendor
− Help and training comes − Less ownership and
with software commitment
222
− Opening new markets and increasing sales opportunities
Question 3:
Define: Preliminary Investigation, feasibility study, Economic
feasibility, Gantt chart, PERT
Answer:
Preliminary Investigation refers to the collection of information that
guides the management of an organization to evaluate the merits and
demerits of the project request.
The three main options for acquisition of computer hardware are buying,
leasing, or renting it. There are advantages and disadvantages that ought
to be weighed for each of the decisions, as shown in table 2.2 Some of the
more influential factors to consider in deciding which option is best for a
particular installation include initial versus long-term costs, whether the
business can afford to tie up capital in computer equipment, and whether
the business desires full control of and responsibility for the computer
equipment.
223
Gantt chart is a graphical representation of a project that shows each task
as a horizontal bar whose length is proportional to its time for completion.
Question 4:
Discuss the different feasibility perspectives that should be
considered in the Feasibility Analysis phase
Answer:
224
− Identify costs and benefits
− Assign values to costs and benefits
− Determine cash flow
− Assess financial viability
o Net present value (NPV)
o Return on investment (ROI)
o Breakeven point (BEP)
Assign Cost and Benefit Values
− Difficult, but essential to estimate
− Work with people who are most familiar with the area to
develop estimates
− Intangibles should also be quantified
− If intangibles cannot be quantified, list and include as part
of supporting material
Organizational Feasibility: If we build it, will they come?
− Strategic alignment
o How well do the project goals align with business
objectives?
− Stakeholder analysis
o Project champion(s)
o Organizational management
o System users
225
Question 5:
Compare between Tangible and Intangible Costs
Answer
− Tangible Costs: Includes revenue that the system enables
the organization to collect, such as increased sales.
− Intangible Costs: Are based on intuition and belief rather
than “hard numbers”
Question 6:
List the main tasks that should be accomplished in the Project Planning
phase
Answer:
− Describe project scope, alternatives, feasibility.
− Divide project into tasks.
− Estimate resource requirements and create resource plan.
− Develop preliminary schedule.
− Develop communication plan.
− Determine standards and procedures.
− Identify and assess risk.
− Create preliminary budget.
− Develop a statement of work.
− Set baseline project plan.
226
Chapter 3
Determining System Requirements
Question 1:
Define the term “Requirement”
Answer:
− A statement of what the system must do
− A statement of characteristics the system must have
− Focus is on business user needs during analysis phase
− Requirements will change over time as project moves from
analysis to design to implementation
Question 2:
Why Documenting Requirements is so important?
Answer:
− Requirements definition report
− Text document listing requirements in outline form
− Priorities may be included
− Key purpose is to define the project scope: what is and is not to be
included.
− Participation by business users is essential
Question 3:
Discuss the different methods for requirements-gathering
techniques
Answer:
1- Interviews
− Most commonly used technique
− Basic steps:
− Selecting Interviewees
− Designing Interview Questions
− Preparing for the Interview
− Conducting the Interview
− Post-Interview Follow-up
- Selecting Interviewees
− Based on information needs
− Best to get different perspectives
− Managers
227
− Users
− Ideally, all key stakeholders
228
- Post-Interview Follow-Up
o Prepare interview notes and reports
o Have interviewee review and confirm interview
report
o Look for gaps and new questions
3- Questionnaires
o A set of written questions, often sent to a large number of
people
o May be paper-based or electronic
o Select participants using samples of the population
o Design the questions for clarity and ease of analysis
o Administer the questionnaire and take steps to get a good
response rate
o Questionnaire follow-up report
- Document Analysis
o Study of existing material describing the current system
o Forms, reports, policy manuals, organization charts
describe the formal system
o Look for the informal system in user additions to
forms/report and unused form/report elements
o User changes to existing forms/reports or non-use of
existing forms/reports suggest the system needs
modification
4- Observation
o Watch processes being performed
o Users/managers often don’t accurately recall everything
they do
o Checks validity of information gathered other ways
o Be aware that behaviors change when people are watched
229
o Be unobtrusive
o Identify peak and lull periods
Question 4:
Give examples for the different Three Types of Questions that are
conducted during an interview
Answer:
Question 5:
Compare between the different Requirements-Gathering
Techniques according to the type, depth, breadth, and integration
of information, as well as the cost and user involvement.
Answer:
Joint Document
Interviews Application Questionnaires Observations
Analysis
Design
As-is, As-is,
Type of As-is,
improvements, improvements, As-is As-is
information improvements
to-be to-be
Depth of
high high Medium Low Low
information
Breadth of
Low Medium High High Low
information
Integration
of Low High Low Low Low
information
User
Medium High Low Low Low
involvement
Low-
Cost Medium Low- Medium Low Low
Medium
230
Chapter 4
Structuring System Requirements: Process Modelling
Question No 1:
Define: Process modelling, data-flow diagram (DFD), Structured
Analysis, Process, Functional decomposition, Data Dictionary,
decision table
Answer:
Process modelling: involves graphically representing the processes, or
actions, that capture, manipulate, store, and distribute data between a
system and its environment and among components within a system.
Structured Analysis: a set of techniques and graphical tools that allow the
analyst to develop a new kind of system specifications that are easily
understandable to the user. .
Question No 2:
Discuss the advantages and disadvantages of data dictionary and data
flow approach
Answer:
Data Flow Approach:
Advantages
5. Freedom from committing to the technical implementation of
the system too early.
231
6. Further understanding of the interrelatedness of systems and
subsystems.
7. Communicating current system knowledge to users through
data flow diagrams.
Disadvantages
The tool only weakly shows input and output detail. The user often
finds it confusing initially.
Data dictionary
Advantages:
The data dictionary: Documentation is a valuable reference in any
organization, improving analyst/ user communication by
establishing consistent definitions of various elements, terms and
procedures. it helps the analyst simplify the structure for meeting
the data requirements of the system. It may be used at high or low
levels of analysis
Disadvantages
It does not provide functional details, and it is not acceptable to
many nontechnical users.
232
Chapter 5
Structuring System Requirements
Conceptual Data Modeling
Question No 1:
Define: entity relationship diagram, Entity, Attribute,
Relationship, Cardinality, Modality, metadata
Answer:
Entity relationship diagram (ERD) is a picture which shows the
information that is created, stored, and used by a business system. An
analyst can read an ERD to discover the individual pieces of information
in a system and how they are organized and related to each other.
Entity is the basic building block for a data model. It is a person, place,
event, or thing about which data is collected—for example, an employee,
an order, or a product.
Metadata: The information you see in the data dictionary, quite simply, is
data about data. Metadata is anything that describes an entity, attribute, or
relationship, such as entity names, attribute descriptions, and relationship
cardinality
233
Chapter 6
System Design
Question No 1:
Discuss the different Non-Functional Requirements that should
be considered in the system design
Answer:
Security: Security refers to the need to control access to the data. This
includes controlling who may view and alter application data.
Reliability: Reliability is the probability that the system will be able to
process all work correctly and completely without being aborted.
Recoverability: Recoverability refers to the ability to restore your
deployment to the point at which a failure occurred.
Availability: System availability is the time when the application must be
available for use.
Fault Tolerance: Fault tolerance is the ability to remain partially
operational during a failure. Fault-tolerant technology is a capability of a
computer system, electronic system or network to deliver uninterrupted
service, despite one or more of its components failing.
General Performance: Other requirements could be considered such as
response time for queries and updates, Throughput, and Expected rate of
user activity (for example, number of transactions per hour, day, or
month).
Capacity: List of the required capacities and expected volumes of data in
business terms should be highlighted. For example, the number of cases
about which the application will have to store data.
Data Retention: The length of time the data must be retained could also
be determined. For example, “Information about an application for
naturalization shall be retained in immediately accessible form for 3 years
after receipt of the application.”
Question No 2:
Discuss the general Principles of the User Interface Design
Answer:
− Strive for consistency
− Cater to universal usability
− Offer informative feedback
− Prevent errors
− Permit easy reversal of actions
− Support internal locus of control
234
− Reduce short-term memory load
− Recoverability
Question No 3:
Draw an illustrative graph representing the User Interface Design
Process
Answer:
Question No 4:
Discuss the main advantages, disadvantages for the Different
Interaction styles between a user and a system with providing an
example of each style
Answer:
Manipulation Main Main Application
Type Advantages Disadvantages Examples
Direct − Fast and − May be hard − Video games
intuitive to implement − CAD
interaction − Only suitable systems
− Easy to where there
learn is a visual
metaphor for
tasks and
objects
235
Manipulation Main Main Application
Type Advantages Disadvantages Examples
Menu − Avoids − Slow for − Most general
user error experienced purpose
− Little users systems
typing − Can become
required complex if
many
options
Form Fill-in − Simple − Takes up a − Stock
data entry lot of screen control,
− Easy to space personal
learn loan
processing
Command − Powerful − Hard to learn − Operating
Language and − Poor error systems,
flexible management Library
information
retrieval
systems
Natural − Accessible − Requires − Timetable
Language to casual more typing systems
users − Natural − WWW
− Easily language information
extended understandin retrieval
g systems systems
are
unreliable
Question No 5:
Compare between a form and a report
Answer:
A form is a business document containing some predefined data and often
includes some areas where additional data are to be filled in.
A report is a business document containing only predefined data; it is a
passive document used solely for reading or viewing.
Question No 6:
Discuss the basic principles of good input/output design
Answer:
− User Involvement, User First, Computers Last, Minimize
Human Efforts, Remember Human Limitations, Convention
Standardization, Cultural Bias
236
Chapter 7
Systems Implementation and Operation
Question No 1:
Define: Coding, System Changeover, Maintenance
Answer:
Coding: Coding is the process through which the physical design
specifications created by the design team are turned into working
computer code by the programming team.
Question No 2:
Discuss the main activities that are accomplished in the Systems
implementation and operation phase
Answer:
− Coding, Testing, Change over, Maintenance, Documentation,
Training
Question No 3:
What is the purpose of the system implementation and operation
stage?
Answer:
Convert the final physical system specifications into working and
reliable software and hardware, document the work that has been
done, and provide help for current and future users and caretakers of
the system.
Question No 4:
Compare between:
A) unit testing, integration testing, System Testing, and Acceptance
Testing
Answer:
Unit Testing is done at the lowest level. It tests the basic unit of
software, which is the smallest testable piece of software,
237
Integration Testing is performed when two or more tested units are
combined into a larger structure.
System Testing is based on the functional/requirement specification
of the system. Non-functional quality attributes, such as reliability,
security, and maintainability, are also checked.
Acceptance Testing is done when the completed system is handed
over from the developers to the customers or users. The purpose of
acceptance testing is rather to give confidence that the system is
working than to find errors.
Question No 5:
Discuss the different approaches of system changeover including
their methodology, advantages and disadvantages
Answer:
− Direct Cutover
Old system is cut and over write by new system.
Advantages: a least expensive method
238
Disadvantages. High risk of data loss, more risks of total system
failure
− Parallel Operation
Both the old and the new information systems operate fully for a
specified period. When users, management, and the IT group are
satisfied that the new system operates correctly, the old system is
terminate.
Advantages very low amount of risk
Disadvantages the most costly changeover method.
− Pilot Operation
Implementing the complete new system at a selected location of
the company. The group that uses the new system first is called
the pilot site. The old system continues to operate for the entire
organization including the pilot site. After the system proves
successful at the pilot site, it is implemented in the rest of the
organization, usually using direct cutover method.
Advantages Reduces the risk of system failure. Less expensive
than the parallel operation
− Phased Operation
Implementation of new system in modules or stages is phased
operation. This is also a combination of direct cutover and
parallel similar to pilot operation.
Advantages the risk of errors or failures is limited, less expensive
than the full parallel operation.
Disadvantages in some cases, phased operation can cost more
than a pilot approach where the system involves a large number
of separate phases.
Question No 6:
What are the reasons that may require system improvement?
Answer:
− Additional features, Change of business over time, Hardware and
software change
Question No 7:
Discuss the different types of maintenance
Answer:
239
− Corrective
It means repairing, processing or performance failures or making
changes because of previously uncorrected problems.
− Adaptive
It means changing the program functions.
− Perfective
It means enhancing the performance or modifying the programs to
respond to the users’ additional or changing needs. The greatest
amount of time is spent on perfective. Maintenance covers a wide
range of activities including correcting coding and design errors,
updating documentation and test data.
− Preventive
Its mission is to maintain a level of certain service on equipment,
programming the interventions of their vulnerabilities in the most
opportune time. It is used to be a systematic character, that is, the
equipment is inspected even if it has not given any symptoms of
having a problem.
Question No 8:
Discuss the different types of System documents
Answer:
− Program
Before a program is developed, the systems analyst should provide
the programmer with the required documentation
− Operations
For smooth running of the system, the data entry operator must have
complete knowledge about the job.
− User
System users should have a manual that describes everything the
users must know to do their job correctly.
− Management
The manual should enable management to perform three functions:
(a) Evaluate progress on the development of system. (b) Monitor the
existing systems. (c) Understand the objectives and methods of the
new and existing system.
240
− Systems
This manual document the complete life cycle of the system. If
documents the results of the feasibility study, the team assigned, etc.
It also documents the file specification, transaction specification and
output specification.
Question No 9:
Discuss the main considerations that should be highlighted in the
training phase
Answer
(1) Establishing measurable objectives, (2) using appropriate training
methods, (3) selecting suitable training sites, and (4) employing
understandable training materials.
241