System Analysis & Design
System Analysis & Design
1
INTRODUCTION TO SYSTEMS CONCEPT
Introduction
Definition
The term system is derived from the Greek word systema, which means
an organized relationship among functioning units or components. A system
exists because it is designed to achieve one or' more objectives. We come into
daily contact with the transportation system, the telephone system, the
accounting system, the production system, and for over two decades, the
computer system. Similarly, we talk of the business system and of the
organization as a system consisting of interrelated departments (sub systems
such as production, sales, personnel, and an information system. None of these
subsystems is of much use as a single, independent unit. When they are properly
coordinated, however, the firm can work effectively and profitably.
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 an orderly
grouping of interdependent components linked together according to a plan to
2
achieve a specific objective. The word component may refer to physical parts
(engines, wings of aircraft, wheels of a cal'), managerial steps (planning,
organizing, directing, and controlling) or a subsystem in a multilevel structure.
The components may be simple or complex, basic or advanced. They may be a
single computer with a keyboard, memory, and printer or a series of intelligent
terminals linked to a mainframe. In either' case, each component is part of the
total system and has to do its share of work for the system to achieve the
intended goal. This Orientation requires an orderly grouping of the components
for the design of a successful system.
3. The objectives of the organization as a whole have a higher priority than the
objectives of its subsystems. For example, computerizing personnel applications
must conform to the organization's policy' on privacy, confidentiality, and security,
as well as making selected data (e.g., pay;' roll available to the accounting
division on request.
CHARACTERISTICS OF SYSTEM
Our definition of a system suggests some characteristics that are present in all
systems. These are
1. Organization (order)
2. Interaction,
3. Interdependence,
4. Integration,
5. Central objective.
1) Organization
Organization implies structure and order. It is the arrangement of compo-
nents that helps to achieve objectives. In the design of a business system, for
example, the Hierarchical relationships starting with the president on top and
leading downward to the blue-coller workers represents the organization
structure. Such an arrangement portrays a system-subsystem relationship,
defines the authority structure, specifies the formal flow of communication, and
formalizes the chain of command (see Figure 1-1). Like wise, a computer system
is designed around an input device, a central processing unit, an output device,
and one or more storage units. When linked together they work as a whole
system for producing information.
3
2) Interaction
Interaction refers to the manner in which each component functions with
other components of the system. In an organization, for example, purchasing
must interact with production, advertising with sales, and payroll with personnel.
In a computer system, the central processing unit must interact with the input
device to solve a problem. In turn, the main memory holds programs and data
that the arithmetic unit uses for computation. The interrelationship between these
components enables the computer to perform.
3) Interdependence
4
may be represented by a computer-based package or is part of a human
resource data base that provides information on unemployment, insurance
benefits, and the like.
5
A decision to computerize an application is initiated by the user, analyzed and'
designed by the analyst, programmed and tested by the programmer, and run by
the computer operator.
Integration
Integration refers to the holism of systems. Synthesis follows analysis to
achieve the central objective of the organization. Integration is concerned with
how a system is tied together. It is more than sharing a physical part or location.
It means that parts of the system work together within the system even though
each part performs a unique function. Successful integration will typically
produce a synergistic effect and greater total impact than if each component
works separately.
Central Objective
The last characteristic of a system is its central objective. Objectives may
be real or stated. Although a stated objective may be the real objective, it is not
uncommon for an organization to state one objective and operates to achieve
another. The important point is that users must know the central objective of a
computer application early in the analysis for a successful design and
conversion. Later in the book, we will show that political as well as organizational
considerations often cloud the real objective. This means that the analyst must
work around such obstacles to identify the real objective of the proposed change.
ELEMENTS OF A SYSTEM
2. Processor(s).
3. Control.
4. Feedback.
5. Environment.
6
Outputs and Inputs
7
Processor(s)
The processor is the element of a system that involves the actual transformation
of input into output. It is the operational component of a system. Processors may
modify the input totally or partially, depending on the specifications of the output.
This means that as the output specifications change, so does the processing. In
some cases, input is also modified to enable the processor to handle the
transformation.
Control
In systems analysis, knowing the attitudes of the individual who controls the
area for which a computer is being considered can make a difference between
the success and failure of the installation. Management support is required for
securing control and supporting the objective of the proposed change.
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. In Figure 1-3, 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.
8
Environment
Each system has boundaries that determine its sphere of influence and
control, although in an integrated banking-wide computer system design, a
customer who has a mortgage and a checking account with the same bank may
write a check through the "teller system" to pay the premium that is later
processed by the "mortgage loan system." Recently, system design has been
successful in allowing the automatic transfer of funds from a bank account to pay
bills and other obligations to creditors, regardless of distance or location. This
means that in systems analysis, knowledge of the boundaries of a given system
is crucial in determining the nature of its interface with other systems for
successful design.
TYPES OF SYSTIMS
The frame of reference within which one views a system is related to the use of
the systems approach for analysis. Systems have been classified in different
ways. Common classifications are:
1. Physical or abstract,
2. open or closed,
9
Physical or Abstract Systems
Systems Models
In no field are models used more widely and with greater variety than in
systems analysis. The analyst begins by creating a model of 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. For example, a telephone switching system is made up of subscribers,
telephone handsets, dialing, conference calls, and the like. The analyst begins by
modeling this reality before considering the functions that the system is to
perform.
Various business system models are
1. Schematic Models,
2. Flow Models,
3. Static Models,
4. Dynamic system models.
Schematic Models.
A schematic model is a two-dimensional chart depicting system elements
and their linkages.
10
Fig 1-4: PERT Example.
11
A focus on the characteristics of an open system is particularly timely in
the light of present -day business concerns with computer fraud, invasion of
privacy, security controls, and ethics in computing. Whereas the technical
aspects of systems analysis deal with internal routines within the user's
application area, systems analysis as an open system tends to expand the scope
of analysis to relationships between the user area and other users, and to
environmental factors that must be considered before a new system is finally
approved. Furthermore, being open to suggestions implies that the analyst has to
be flexible and the system being designed has to be responsive to the changing
needs of the user and the environment.
2. Entropy. All dynamic systems tend to run down over time, resulting in entropy
Or loss of energy. Open systems resist entropy by seeking new inputs or
modifying the processes to return to a steady state. In our example, no reaction
to increase in cost of merchandise makes the business unprofitable which could
force it into insolvency-a state of disorganization.
3. Process, output, and cycles. Open systems produce useful output and
operate in cycles, following a continuous flow path.
5. Equifinality. The term implies that goals are achieved through differing
courses of action and a variety of paths. In most systems, there is more of a
consensus on goals than on paths to reach the goals.
12
Man-Made Information Systems
13
that is, months rather than years. It is maintained with the aid of management
information systems (MIS).
The nature of the information and managerial levels is also related to the major
types of decision making: structured and unstructured decision making. An
organizational process that is closed, stable, and mechanistic tends to be more
structured, computational, and relies on routine decision making for planning and
control. Such decision making is related to lower level management and is
readily supported with computer systems. In contrast, open, adaptive, dynamic
processes increase the uncertainty associated with decision making and are
generally evidenced by a lack of structure in the decision-making process. Lack
of structure as well as extra organizational and incomplete information makes it
difficult to secure computer support. Table 1-1 summarizes the characteristics of
decision making and the information required at different managerial levels.
14
Table 1-1: Information required at various Managerial Levels
In doing a systems study, the analyst should have knowledge of the chain of
command, the power-authority-influence network, and how decisions are made
to get a feel for how much support can be expected for prospective installation.
Furthermore, knowledge about the inner workings of the employee-based system
is useful during the exploratory phase of analysis. Employee cooperation and
participation are crucial in preventing sabotage and training users. Since
computers cannot provide reliable information without user staff support, a proper
interlace with the informal communication channels could mean the difference
between the success and failure of new systems.
15
that the analyst must be familiar with computer technology and have experience
in handling people in an organizational context.
16
4. Data are stored once in the data base and are easily accessible when needed.
The two primary drawbacks of a data base are the cost of specialized
personnel and the need to protect sensitive data from unauthorized access.
The primary users of MIS are middle and top management, operational
managers,- and support staff. Middle and top management use MIS for preparing
forecasts, special, requests for analysis, long-range plans, and periodic reports.
Operational managers use MIS primarily for short-range planning and periodic
and exception reports. The support staff finds MIS useful for the special analysis
of information and reports to help management in planning and control. Providing
data for use in MIS is the function of most levels of personnel in the organization.
Once entered into the system, the information is no longer owned by the initiating
user but becomes available to all authorized users.
Today's typical MIS poses several problems. Most MIS reports are his-
torical and tend to be dated. Another problem is that many installations have data
bases that are not in line with user requirements. This means that many MIS
environments have not been congruent with the real world of the user. Finally, an
inadequate or incomplete update of the data base jeopardizes the reliability for all
users.
One reason cited in the literature for management's frustration with MIS is the
limited support it provides top management for decision making. DSS- advances
the capabilities of MIS. It assists management in making decisions. It is actually a
continually evolving model that relies heavily on operations research.
Since Gorry and Morton coined the term decision support system (DDS) in their
seminal article, the literature has been bursting with controversy. The origin of
the term is simple:
17
System--accentuates the integrated nature of problem solving, suggesting a
combined "man," machine, and decision environment.
The field of DSS is young and evolving. The analyst's present role is to look at
existing DSS packages, their attributes, capabilities, and design considerations,
consider how they differ from MIS design, and learns more about the
methodology needed to provide a proper fit between DSS as a future-oriented
system and management requirements for various levels of decision making.
Since DSS appears to be the wave of the future (evidenced by the surge of DSS
software packages and the technology that supports them), systems analysts will
need to upgrade their knowledge to meet the changing demands of users and
organizations alike.
18
Herbert Simon described decision making as a three phases continuous
process model beginning with intelligence and moving toward design choice. The
process is invoked by the recognition of a problem. The resulting decision is then
directed as solving the problem.
Calculation
Storage and retrieval
Classification
Summarization
Sorting
19
Studying a sample of organizations will show that similar characteristics exist in
each firm:
1. There is a high volume of transactions.
3. The procedures for processing the transaction are well understood and can be
described in detail.
The routines associated with general banking transactions typify the use
of standard operating procedures for the handling of deposits and withdrawals,
cashing of checks, and other processes.
Dispense money.
20
Issue receipt for transaction.
This activity will be repeated many times in a single day at most automated teller
machines.
21
GENERAL PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
1 Initiation Phase
3 Planning Phase
5 Design Phase
6 Development Phase
8 Implementation Phase
1 Initiation Phase
22
may arise from external sources, such as public law, the general public or
state/local agencies. The Project Sponsor articulates this need within the
organization to initiate the project life cycle. During this phase, a Project Manager
is appointed who prepares a Statement of Need or Concept Proposal. When an
opportunity to improve business/mission accomplishments or to address a
deficiency is identified, the Project Manager documents these opportunities in the
Concept Proposal.
The following activities are performed as part of the Initiation Phase. The
results of these activities are captured in the Concept Proposal. For every IT
project, the agency should designate a responsible organization and assign that
organization sufficient resource to execute the project.
Each project shall have an individual designated to lead the effort. The
individual selected will have appropriate skills, experience, credibility, and
availability to lead the project. Clearly defined authority and responsibility must
be provided to the Project Manager.
23
4. Document the Phase Efforts
The results of the phase efforts are documented in the Concept Proposal.
The approval of the Concept Proposal identifies the end of the Initiation
Phase.
Project Manager.
The review and approval of the Concept Proposal begins the formal
studies and analysis of the need in the System Concept Development Phase and
begins the life cycle of an identifiable project.
The project team should develop high-level (baseline) schedule, cost, and
performance measures which are summarized in the System Boundary
Document. These high-level estimates are further refined in subsequent phases.
24
3. Form the Project Acquisition Strategy
The acquisition strategy should be included in the SBD. The project team
should determine the strategies to be used during the remainder of the project
concurrently with the development of the CBA and Feasibility Study. Will the
work be accomplished with available staff or do contractors need to be hired?
Discuss available and projected technologies, such as reuse or Commercial Off-
the-Shelf and potential contract types.
Estimate, justify, submit requests for, and obtain resources to execute the
project in the format of the Capital Asset Plan and Justification.
The results of the phase efforts are documented in the System Boundary
Document, Cost Benefit Analysis, Feasibility Study, and Risk Management Plan.
The results of the phase efforts are presented to project stakeholders and
decision makers together with a recommendation to (1) proceed into the next life-
cycle phase, (2) continue additional conceptual phase activities, or (3) terminate
the project. The emphasis of the review should be on (1) the successful
accomplishment of the phase objectives, (2) the plans for the next life-cycle
phase, and (3) the risks associated with moving into the next life-cycle phase.
The review also addresses the availability of resources to execute the
subsequent life-cycle phases. The results of the review should be documented
reflecting the decision on the recommended action.
Project Manager:
The appointed project manager is charged with leading the efforts to accomplish
the System Concept Development Phase tasks discussed above. The Project
Manager is also responsible for reviewing the deliverables for accuracy,
approving deliverables and providing status reports to management.
25
Component. Chief Information Officer (CIO) and Executive Review Board
(ERB):
The CIO/ERB approves the Systems Boundary Document. Approval allows the
project to enter the Planning Phase.
3 Planning Phase
Many of the plans essential to the success of the entire project are created
in this phase; the created plans are then reviewed and updated throughout the
remaining SDLC phases. In the Planning Phase, the concept is further developed
to describe how the business will operate once the approved system is
implemented and to assess how the system will impact employee and customer
privacy. To ensure the products and/or services provide the required capability
on-time and within budget, project resources, activities, schedules, tools, and
reviews are defined. Additionally, security certification and accreditation activities
begin with identification of system security requirements and the completion of a
high-level vulnerability assessment.
The following tasks are performed as part of the Planning Phase. The
results of these activities are captured in various project plans and solicitation
documents.
Analyze and refine the project schedule, taking into account risks and
resource availability. Develop a detailed schedule for the Requirements Analysis
Phase and subsequent phases.
26
3. Create Internal Processes
Further staff the project office with needed skills across the broad range of
technical and business disciplines. Select Technical Review Board members and
document roles and responsibilities. If needed, solicit and award support
contracts to provide needed non-personal services that are not available through
agency resources.
Plan, articulate, and gain approval of the strategy to execute the technical
management aspects of the project (SEMP). Develop a detailed system work
breakdown structure.
27
Study and analyze the security implications of the technical alternatives
and ensure the alternatives address all aspects or constraints imposed by
security requirements (System Security Plan).
Based on the system alternatives and with inputs from the end-user
community, develop the concepts of how the system will be used, operated, and
maintained. This is the Concept of Operations.
28
4 Requirements Analysis Phase
The Requirements Analysis Phase will begin when the previous phase
documentation has been approved or by management direction. Documentation
related to user requirements from the Planning Phase shall be used as the basis
for further user needs analysis and the development of detailed user
requirements. The analysis may reveal new insights into the overall information
systems requirements, and, in such instances, all deliverables should be revised
to reflect this analysis.
The following tasks are performed during the Requirements Analysis Phase.
29
2 Develop Test Criteria and Plans
Establish the test criteria and begin test planning. Include all areas where
testing will take place and who is responsible for the testing. Identify the testing
environment, what tests will be performed, test procedures; and traceability back
to the requirements.
The project team responsible for the development of this system needs to
articulate the other systems (if any) this system will interface with. Identify any
interfaces and the exchange of data or functionality that occurs. All areas that
connect need to be documented for security as well as information flow
purposes.
Project Manager.
Project Team.
30
The project team members (regardless of the organization of permanent
assignment) are responsible for accomplishing assigned tasks as directed by
the project manager.
Contracting Officer.
5 Design Phase
Identify/specify the target, the development and the design and testing
environment. How and where will the application reside. Describe the
architecture where this application will be developed and tested and who is
responsible for this activity.
In the system design, first the general system characteristics are defined.
The data storage and access for the database layer need to be designed. The
user interface at the desktop layer needs to be designed. The business rules
layer or the application logic needs to be designed.
Transform the requirements for the software item into an architecture that
describes its top-level structure and identifies the software components. Ensure
that all the requirements for the software item are allocated to its software
31
components and further refined to facilitate detailed design. Develop and
document a top-level design for the interfaces external to the software item and
between the software components of the software item.
Identify the users and how they will be trained on the new system. Be sure
to address the Americans with Disabilities Act (ADA) requirements to ensure
equal access to all individuals.
The Project Manager and System Proponent conduct the critical design
review and approve/disapprove the project into the Development Phase. This
review is conducted at the end of the Design Phase and verifies that the final
32
system design adequately addresses all functional, security, and technical
requirements and is consistent with the overall architecture.
Review documents from the previous phases and assess the need to revise
them during the Design Phase. The updates should by signed off by the Project
Manager.
Project Manager.
Project Team.
Contracting Officer.
Oversight Activities.
Agency oversight activities, including the IRM office, provide advice and
counsel to the project manager on the conduct and requirements of the
Design Phase. Additionally, oversight activities provide information,
judgments, and recommendations to the agency decision makers during
project reviews and in support of project decision milestones.
6 Development Phase
33
The activities of this phase translate the system design produced in the Design
Phase into a working information system capable of addressing the information
system requirements. The development phase contains activities for building the
system, testing the system, and conducting functional qualification testing, to
ensure the system functional processes satisfy the functional process
requirements in the Functional Requirements Document (FRD). At the end of this
phase, the system will be ready for the activities of the Integration and Test
Phase.
2 Integrate Software
4 Integrate System
34
Conduct system qualification testing in accordance with the qualification
requirements specified for the system.
6 Install Software
Acceptance review and testing shall consider the results of the Joint
Reviews, Audits, Software Qualification Testing, and System Qualification
Testing (if performed). The results of the acceptance review and testing shall be
documented.
Project Manager.
Project Team.
Contracting Officer.
Oversight Activities.
Agency oversight activities, including the IRM office, provide advice and
counsel to the project manager on the conduct and requirements of the
Development Phase. Additionally, oversight activities provide information,
35
judgments, and recommendations to the agency decision makers during
project reviews and in support of project decision milestones.
Developer.
The objective of this phase is to prove that the developed system satisfies
the requirements defined in the FRD. Several types of tests will be conducted in
this phase. First, subsystem integration tests shall be executed and evaluated by
the development team to prove that the program components integrate properly
into the subsystems and that the subsystems integrate properly into an
application. Next, the testing team conducts and evaluates system tests to
ensure the developed system meets all technical requirements, including
performance requirements. Next, the testing team and the Security Program
Manager conduct security tests to validate that the access and data security
requirements are met. Finally, users participate in acceptance testing to confirm
that the developed system meets all user requirements as stated in the FRD.
Acceptance testing shall be done in a simulated “real” user environment with the
users using simulated or real target platforms and infrastructures.
The tasks and activities actually performed depend on the nature of the project.
Establish the various test teams and ensure the test system(s) are ready.
The test and evaluation team is responsible for creating/loading the test
database(s) and executing the integration test(s).
The test and evaluation team is responsible for creating/loading the test
database(s) and executing the system test(s).
36
The test and evaluation team will again create or load the test database(s)
and execute security (penetration) test(s). All tests will be documented, similar to
those above.
The test and evaluation team will create/load the test database(s) and
execute the acceptance test(s). All tests will be documented, similar to those
above. Failed components will be migrated back to the development phase for
rework, and passed components will migrate ahead for implementation.
During this phase, the Systems Technical Lead or the Developers will
finalize the Software Development Document from the Development Phase.
Project Manager.
Project Team.
Contracting Officer.
Oversight Activities.
Agency oversight activities, including the IRM office, provide advice and
counsel for the project manager on the conduct and requirements of the
Integration and Test Phase. Additionally, oversight activities provide
information, judgments, and recommendations to the agency decision makers
during project reviews and in support of project decision milestones.
37
User.
8 Implementation Phase
In this phase, the system or system modifications are installed and made
operational in a production environment. The phase is initiated after the system
has been tested and accepted by the user and Project Manager. Activities in this
phase include notification of implementation to end users, execution of the
previously defined training plan, data entry or conversion, and post
implementation review. This phase continues until the system is operating in
production in accordance with the defined user requirements.
The new system can fall into three categories, replacement of a manual
process, replacement of a legacy system, or upgrade to an existing system.
Regardless of the type of system, all aspects of the implementation phase should
be followed. This will ensure the smoothest possible transition to the
organization’s desired goal.
38
training plan established, complete with the system user manual, the execution of
the plan should be relatively simple. Typically what prevents a plan from being
implemented is lack of funding. Good budgeting should prevent this from
happening.
With the implementation of any system, typically there is old data which is
to be included in the new system. This data can be in a manual or an automated
form. Regardless of the format of the data, the tasks in this section are two fold,
data input and data verification.
4 Install System
During this phase, the ICD is revised from the Requirements Analysis
Phase. The CONOPS, System Security Plan, Security Risk Assessment,
Software Development Document, System Software and the Integration
Document are also revised and finalized during the Implementation Phase.
Project Manager.
Project Team.
39
Contracting Officer.
Oversight Activities.
Agency oversight activities, including the IRM office, provide advice and
counsel for the project manager on the conduct and requirements of the
Implementation Phase. Additionally, oversight activities provide information,
judgments, and recommendations to the agency decision makers during
project reviews and in support of project decision milestones.
More than half of the life cycle costs are attributed to the operations and
maintenance of systems. In this phase, it is essential that all facets of operations
and maintenance are performed. The system is being used and scrutinized to
ensure that it meets the needs initially stated in the planning phase. Problems
are detected and new needs arise. This may require modification to existing
code, new code to be developed and/or hardware configuration changes.
Providing user support is an ongoing activity. New users will require training and
others will require training as well. The emphasis of this phase will be to ensure
that the users needs are met and the system continues to perform as specified in
the operational environment. Additionally, as operations and maintenance
personnel monitor the current system they may become aware of better ways to
improve the system and therefore make recommendations. Changes will be
required to fix problems, possibly add features and make improvements to the
system. This phase will continue as long as the system is in use.
Ensure that systems and networks are running and available during the
defined hours of Operations;
Implement non-emergency requests during scheduled Outages, as
prescribed in the Operations Manual;
Ensure all processes, manual and automated, are documented in the
operating procedures. These processes should comply with the system
documentation;
Acquisition and storage of supplies (i.e. paper, toner, tapes, removable
disk);
Perform backups (day-to-day protection, contingency);
40
Perform the physical security functions including ensuring adequate UPS,
Personnel have proper security clearances and proper access privileges
etc.;
Ensure contingency planning for disaster recovery is current and tested ;
Ensure users are trained on current processes and new processes;
Ensure that service level objectives are kept accurate and are monitored;
Maintain performance measurements, statistics, and system logs.
Examples of performance measures include volume and frequency of data
to be processed in each mode, order and type of operations;
Monitor the performance statistics, report the results and escalate
problems when they occur.
One fact of life with any system is that change is inevitable. Users need an
avenue to suggest change and identified problems. A User Satisfaction Review
(Appendix C-37 ) which can include a Customer Satisfaction Survey, can be
designed and distributed to obtain feedback on operational systems to help
determine if the systems are accurate and reliable. Systems administrators and
operators need to be able to make recommendations for upgrade of hardware,
architecture and streamlining processes. For small in-house systems,
modification requests can be handled by an in-house process. For large
integrated systems, modification requests may be addressed in the
Requirements document and may take the form of a change package or a formal
Change Implementation Notice (Appendix C-32) and may require justification and
41
cost benefits analysis for approval by a review board. The Requirements
document for the project may call for a modification cut-off and rollout of the
system as a first version and all subsequent changes addressed as a new or
enhanced version of the system. A request for modifications to a system may
also generate a new project and require a new project initiation plan.
At this phase of the SDLC all security activities have been completed.
This list briefly outlines some of the roles and responsibilities for key
maintenance personnel.
Systems Manager.
Technical Support.
42
environment technical support may perform systems scheduled backups and
operating system maintenance during downtime.
Operations or Operators
(Turn on/off systems, start tasks, backup etc). For many mainframe
systems, technical support for a program is provided by an operator. The
operator performs scheduled backup, performs maintenance during downtime
and is responsible to ensure the system is online and available for users.
Operators may be involved with issuing user ids or login names and
passwords for the system.
Customers.
The customer needs to be able to share with the systems manager the
need for improvements or the existence of problems. Some users live with a
situation or problem because they feel they must. Customers may feel that
change will be slow or disruptive. Some feel the need to create work-around.
A customer has the responsibility to report problems or make
recommendations for changes to a system.
Interprets user requirements, designs and writes the code for specialized
programs. User changes, improvements, enhancements may be discussed in
Joint Application Design sessions. Analysts programs for errors, debugs the
program and tests program design.
43
4. The new system is developed. The new components and programs must
be obtained and installed. Users of the system must be trained in its use,
and all aspects of performance must be tested. If necessary, adjustments
must be made at this stage.
5. The system is put into use. This can be done in various ways. The new
system can phased in, according to application or location, and the old
system gradually replaced. In some cases, it may be more cost-effective
to shut down the old system and implement the new system all at once.
6. Once the new system is up and running for a while, it should be
exhaustively evaluated. Maintenance must be kept up rigorously at all
times. Users of the system should be kept up-to-date concerning the latest
modifications and procedures.
This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or)
Waterfall Method. This has the following activities.
1. Feasibility
5. Code Generation
6. Testing
7. Maintenance
44
Feasibility
45
Software Requirement Analysis
Code Generation
Testing
46
Maintenance
2. Prototyping Model:
This is a cyclic version of the linear model. In this model, once the
requirement analysis is done and the design for a prototype is made, the
development process gets started. Once the prototype is created, it is given to
the customer for evaluation. The customer tests the package and gives his/her
feed back to the developer who refines the product according to the customer's
exact expectation. After a finite number of iterations, the final software package is
given to the customer. In this methodology, the software is evolved as a result of
periodic shuttling of information between the customer and developer. This is the
most popular development model in the contemporary IT industry. Most of the
successful software products have been developed using this model - as it is
very difficult (even for a whiz kid!) to comprehend all the requirements of a
customer in one shot. There are many variations of this model skewed with
respect to the project management styles of the companies. New versions of a
software product evolve as a result of prototyping.
3. Spiral Model:
47
. Planning-tasks required defining resources, timelines, and other project related
information.
Each of the regions is populated by a set of work tasks, called a task set, that
are adapted to the characteristics of the project to be undertaken. For small
projects, the number of work tasks and their formality is low. For larger, more
critical projects, each task region contains more work tasks that are defined to
achieve a higher level of formality.
Unlike classical process models that end when software is delivered, the
spiral model can be adapted to apply throughout the life of the computer
software. An alternative view of the spiral model can be considered by examining
the project entry point axis, also shown in Figure. Each cube placed along the
axis can be used to represent the starting point for
48
Different types of projects. A "concept development project" starts at the core of
the spiral and will continue (multiple iterations occur along the spiral path that
bounds the central shaded region) until concept development is complete. If the
concept is to be developed into an actual product, the process proceeds through
the next cube (new product development project entry point) and. a "new
development project" is initiated. The new product will evolve through a number
of iterations around the spiral. Following the path that bounds the region that hast
somewhat lighter shading than the core. In essence, the spiral, when
characterized! in this way, remains operative until the software is retired. There
are times when the; process is dormant, but whenever a change is initiated, the
process starts at the appropriate entry point (e.g., product enhancement).
49
4. Fourth Generation Technique:
There is some merit in the claims of both sides and it is possible to summarize
the current state of 4GT approaches:
50
1. The use of 4GT is a viable approach for many different application areas
.Coupled with computer-aided software engineering tools and code generators;
4GT offers a credible solution to many software problems.
2.. Data collected from companies that use 4GT indicate that the time required to
produce software is greatly reduced for small and intermediate applications and
that the amount of design and analysis for small applications is also reduced.
3. However, the use of 4GT for large software development efforts demands as
much or more analysis, design, and testing (software engineering activities) to
achieve substantial time savings that result from the elimination of coding.
System Analyst
The role of the analyst has been emerging with changing technology. The
literature suggests several definitions of analyst, but there seems to be a
common thread. A representative definition is the Random House Dictionary: "a
person who conducts a methodical study and evaluation of an activity such as a
business to identify its desired objectives in order to, determine procedures by
which these objectives can be gained.” A similar: definition is offered by Nicholas:
"The task of the systems analyst is to elicit needs and resource constraints and
to translate these into a viable operation."
An analyst must possess various skills to effectively carry out the job.
Specifically, they may be divided into two categories:
1. Interpersonal Skill
2. Technical skills
Interpersonal skills deal with relationships and the interface of the analyst with
people business. They are useful in establishing trust, resolving conflict, and
communicating information.
Technical skills, on the other hand, focus on procedures and techniques for
operations analysis, systems analysis, and computer science.
51
The interpersonal skills relevant to systems work include the following
1. Communication
Having the ability to articulate and speak the Language of the user, a "flare"
for mediation, and a knack for working wit virtually all managerial levels in the
organization. Communication is no just reports, telephone conversations, and
interviews. It is people talking, listening, feeling, and reacting to one another,
their experience and reactions. Some indicators of a climate of closed
communication a defensive memos, excessive correspondence, and a failure
to speak u for fear of being identified. Therefore, opening communication
channels are a must for system development.
2. Understanding
3. Teaching
Educating people in use of computer systems, selling the system to the user and
giving support when needed.
4. Selling
1. Creativity
Helping user’s model ideas into concrete plans and developing candidate
systems to match user requirements.
2. Problem solving
52
3. Project management
4. Dynamic interface
Knowing the what, when, why, where, who, and how a system works. .
How does the analyst acquire these skills? The answer is in education,
experience, and personality. Most of today's analysts are college graduates with
majors in accounting, management, or information systems. The latter major is
becoming so popular that more and more universities have programs that include
courses in systems analysis, project management, and data base design. More
than 30 universities offer doctorates in the field.
53
The background and experience of analysts include:
2. Familiarity with the makeup and inner workings of major application areas
such as financial accounting, personnel administration, marketing and sales,
operations management, model building, and production control.
Among the roles an analyst performs are change agent, monitor, architect,
psychologist, salesperson, motivator, and politician. Let's briefly describe I each
role.
54
Change Agent
The analyst may be viewed as an agent of change. A candidate system is
designed’ to introduce change and reorientation in how the user organization
handles information or makes decisions. It is important, then; that change be
accepted by the user.' The way to secure user acceptance is through user
participation during design and implementation. The knowledge that people
inherently resist change, and can become ineffective because of excessive
change should alert us to carefully plan, monitor, and implement change into the
user domain. In the role of a change agent, the systems analyst may select
various styles to introduce change to the user organization.
Architect
Psychologist
In systems development, systems are built around people. This is perhaps a bit
exaggerated, but the analyst plays the role of a psychologist in the way he,/she
55
reaches people, interprets their thoughts, assesses their behavior, and draws
conclusions from these interactions. Understanding interventional relationships is
important.
Salesperson
Motivator
Politician
56
REQIREMENT AND STRUCTURED ANALYSIS
No two projects are ever the same. This means that the analyst must decide
on the information gathering tool and how it must, be used. Although there are no
standard rules for specifying their use, a important rule is that information must
be acquired accurately, methodically, under the right conditions, and with
minimum interruption to user personnel. For example, if the analyst needs only
information available in existing manuals, then interviewing is unnecessary
except where the manual is not up to date. If additional information is needed,
.on-site observation or a questionnaire may be considered. Therefore, we need
to be familiar with various information-gathering tools. 'Each tool has a special
function, depending on the Information needed. There are four fact finding tools
are there.
Very few system problems are unique. The increasing number of software
packages suggests that problem solutions are becoming standardized.
Therefore, as a first step, a search of the literature through professional
references and procedures manuals, textbooks, .company studies, government
publications, or consultant studies may prove invaluable. The primary drawback
of this search is time. Often it is difficult to get certain reports, publications may
be expensive, and the information, may be outdated due to a time lag in
publication.
Procedures manuals and forms are useful sources for, the analyst. They
describe the format and functions of the present system. Included in most
manuals are systems requirements that help determine how well various
objectives are met. Up-to-date manuals save hours of information-gathering time.
Unfortunately, in many cases, manuals do not exist or are seriously out of date.
Included in the study of procedures and manuals is a close look. At existing,
forms. Printed forms are wider used for capturing and providing information.
2. On Site Observation
57
Another information-gathering tool used in system studies is on-site
observation. It is the process of recognizing and noting people, objects, and
occurrences to obtain information. The analyst’ role is that of an information
seeker who is expected to be detached (therefore unbiased) from the system
being observed. This role permits participation with the user staff openly and
freely.
The major objective of on-site observation is to get as close as possible to the
"real" system being studied. For this reason it is important that analyst is
knowledgeable about the general makeup and activities of the system. For
example, if the focus of the analysis is communication. One needs to know as
much as possible about the modes of communication available through the
organization structure and the aspects of the physical layout that might adversely
affect communication. The following questions can serve as a guide for on-site
observations:
2. Who runs the system? Who are the important people in it?
3. What is the history of the system? How did it get to its present stage of
development?
4. Apart from its formal function, what kind of system is inn comparison with other
systems in the organization? Is it a primary or a secondary contributor to the
organization? Is it fast paced or is it a leisurely system that responds slowly to
external crises?
1. Natural or contrived:
2. Obtrusive or unobtrusive:
58
An obtrusive observation takes place w!1en the respondent knows he/she
is being observed; an unobtrusive observation takes place in a contrived way
such as behind a one-way mirror.
3. Direct or indirect:
A direct observation takes place when the analyst actually observes the
subject or the system at work. In an indirect observation, the analyst uses
mechanical devices such as cameras and videotapes to capture information.
4. Structured or unstructured:
1. Intruding into the user's area often results in adverse reactions by the staff.
Therefore adequate preparation and training are important.
2. Attitudes and motivations of subjects cannot be readily observed-only the
actions that result from them.
59
3. Observations are subject to error due to the observer's misinterpretation
and subjective selection of what to observe, as well as the s4bjects' altered
work pattern during observation.
2. What data can be obtained more easily or more reliably by observation than by
other means?
3. What assurances can- be given, that the observation process, is not seriously
affecting the system or the behavior being observed?
5. How much skill is required and available for the actual observation?
For on-site observation to be done properly in a complex situation it can be very
time-consuming. Proper sampling procedures must be used to ascertain The
stability of the behavior being observed Without a knowledge of stability
inferences drawn from small samples of behavior (small time slices) can be
inaccurate. .
3. Interviews
60
In an interview, since the analyst (interviewer) and the person interviewed
meet face-to face, there is an opportunity for flexibility in eliciting information. The
analyst is also in a position to observe the subject. In contrast, the information
obtained through a questionnaire is limited to the subject's written responses to
predefined questions.
1. Its flexibility makes the interview a superior technique for exploring areas
where not much is known about what questions to ask or how to formulate
questions. .
2. It offers a better opportunity than the questionnaire to evaluate the validity of
the information gathered. The interviewer can observe not only what subjects say
but also how they say it.
3. It is an effective technique for eliciting information about complex subjects and
for probing the sentiments underlying expressed opinions. .
4. Many people enjoy being interviewed, regardless of the subject. They usually
cooperate in a study when all they have to do is talk. In contrast, the percentage
of returns to a questionnaire is relatively low: often less than 20 percent.
Attractively designed questionnaires that are simple to return, easy to follow, and
presented in a context that inspires cooperation improve the return rate.
The major drawback of the interview is the long preparation time. Interviews
also take a lot of time to conduct, which means time and money. So whenever a
more economical alternative captures the same information, the interview is
generally not used.
The interview should be arranged so that the physical location, time of the
interview, and order of interviewing assure privacy and minimal interruption.
Usually a neutral location that is no threatening to the respondent is preferred.
Appointments should be made well in advance and a fixed time period adhered
61
to as closely as possible. Interview schedules generally begin at the top of the
organization structure and work down So as not to offend anyone.
1. Stage setting: This is an "ice breaking," relaxed, informal phase where the
analyst opens the interview by focusing on (a) the purpose of the interview, (b)
why the subject was selected, and (c) the confidential nature of the interview.
After a favorable introduction, the analyst asks the first question and the
respondent answers it and goes right through the interview. The job of the
analyst should be that of a reporter rather than a debater. The direction of the
interview is controlled by discouraging distracting conversation.
During stage setting the interviewer evaluates the cooperation of the interviewee.
Both the content and tone of the responses are evaluated: How well the interview
goes depends on whether the interviewee is the friendly type, the timid type who
needs to be coaxed to talk, or the resident expert, who bombards the analyst with
opinions disguised as facts.
62
c. Avoid personal involvement in the affairs of the user's department or
identification with one faction at the cost of another. This may be difficult when
several groups are involved in the study.
d. Avoid showing off your knowledge or sharing information received from other
sources.
e. Avoid acting like an expert consultant or confidant. This can reduce the
objectivity of the approach and discourage people from freely giving information.
f. Respect the time schedules and preoccupations of your subjects. Do not make
an extended social event out of the meeting. If the subject does not complain,
subordinates might, especially if they are waiting to see the subject (boss).
g. Do not promise anything you cannot or should not deliver, such as advice or
feedback.
h. Dress and behave appropriately for the setting and the circumstances of the
user contact.
a. Interviewer: I see what you mean. Could you elaborate further on that?
b. Analyst (interviewer): How do you feel about, separating the present loan
division into commercial and loan departments?
Financial vice president (respondent): Well, I'm not sure. Sometimes I think that
we have to take this route eventually.
63
more information. The information received during the interview is recorded for
later analysis.
4. Questionnaires
3. The standardized wording and order of the questions and the standardized
instructions for reporting responses ensure uniformity of questions. In contrast,
the interview situation is rarely uniform from one interview to the next.
64
Types of Interviews and Questionnaires
In the structured approach, the questions are presented with exactly the same
wording and the same order to all subjects. If the analyst asks subject, "Would
you like to see a compute e approach to solving your accounts receivable
problem?" and asks another subject, "How do you feel about computers handling
accounts ,receivable?" the response may not be the same even though the
subjects both have the same opinion. Standardized questions improve 'the
reliability of the responses by ensuring that all subjects are responding to the
same questions.
Feasibility Study
Many feasibility studies are disillusioning for both users and analysts. First,
the study often presupposes that when the feasibility document is being
prepared, the analyst is in a position to evaluate solutions. Second, most studies
tend to overlook the confusion inherent in system development the constraints
and the assumed attitudes. If the feasibility study is to serve as a decision
document, it must answer three key questions:
1. Is there a new and better way to do the job that will benefit the user?
65
3. What is recommended?
The most successful system projects are not necessarily the biggest or most
visible in a business but rather those that truly meet user expectations. More
projects fail because of inflated expectations than for any other reason.
Feasibility Considerations
1. Economic Feasibility
Economic analysis is the most frequently used method for evaluating the
effectiveness of a candidate system. More commonly known as cost/benefit
analysis, the procedure is to determine t e benefits and savings that are expected
from a candidate system and compare them with costs. If benefits outweigh
costs, then the decision is made to design and implement the system. Otherwise,
further justification or alterations in the proposed system will have to be made if it
is to have a chance of being approved. This is ongoing effort that improves in
accuracy at each phase of the system life cycle.
2. Technical Feasibility
3. Behavioral Feasibil1ty
People are inherently resistant to change, and computers have been known
to facilitate change. An estimate should be made of how strong a reaction the
user staff is likely to have toward the development of a computerized system. It is
common knowledge that computer installations have something to do with
turnover, transfers, retraining, and changes in employee job status. Therefore, it
is understandable that the introduction of a candidate system requires special
effort to educate, sell, and train the staff on new ways of conducting business.
66
Steps in Feasibility Analysis
The concept behind a project team is that future system users should be
involved in its design and implementatiol1, Their knowledge and experience in
the operations are essential to the success of the system. For small projects, the
analyst and an assistant usually suffice; however, more complex studies require
a project team. The team consists of analysts and user staff-enough collective
expertise to devise a solution to the problem, In many cases, an outside
consultant and an information specialist join the team until the job is completed.
Projects are planned to occupy a specific time period, ranging from several
weeks to months. The senior systems analyst is generally appointed as project
leader. He/she is usually the most experienced analyst in the team. The
appointment is temporary lasting as long as the project. Regular meetings take
place to keep up the momentum and accomplish the mission-selection of the
best candidate system. A record is kept of the progress made in each meeting.
Regarding the safe deposit case, since the whole user area consists of five
employees, the analyst handled most of the work.
67
The next step in the feasibility study is to prepare generalized system
flowcharts for the system. Information-oriented charts and data flow diagrams
prepared in the initial investigation are also reviewed at this time. The charts
bring up the importance of inputs, outputs, and data flow among key points in the
existing system. All other flowcharts needed for detailed evaluation are
completed at this point.
This step identifies the candidate systems that are capable of producing the
outputs included in the generalized flowcharts. This requires a transformation
from logical to physical system models. Another aspect of this step is
consideration of the hardware that can handle the total system requirements. In
the safe deposit case, it was found that virtually any microcomputer system with
more than 128K -byte memory an dual disk drive will do the job. It was also
learned that a microcomputer can be designed to interlace with the bank's
mainframe. In this design, actual processing is handled by the microcomputer,
whereas information such as payments and credits are transmitted to the main
computer files for proper adjustment through the customer's checking account.
The question here is: Which microcomputer (IBM, Apple, Digital, etc.) should be
selected? This is taken up in step 6 of the study.
68
Each candidate system's performance is evaluated against the system
performance requirements set prior to the feasibility study. Whatever the criteria,
there has to be as close a match as practicable, although trade-off's are often
necessary to select the best system. In the safe deposit case, the criteria chosen
in advance were accuracy, growth potential, and response time less than five
seconds, expandable main and auxiliary storage, and user friendly software.
Often these characteristics do not lend themselves to quantitative measures.
They are usually evaluated in qualitative terms (excellent, good, etc,) based on
the subjective judgment of the project team.
The cost encompasses both designing and installing the system. It include
user training, updating the physical facilities, and documenting. System
performance criteria are evaluated against the cost of each system to determine
which system is likely to be the most cost effective and also meets the
performance requirements. The safe deposit problem is easy.
Costs are more easily determined when the benefits of the system are tangible
and measurable. An additional factor to consider is the cost of the study design
and development.
In some cases, the performance and cost data for each candidate system
show which system is the best choice. This outcome terminates the feasibility
study. Many times, however, the situation is not so clear-cut.
The procedure for weighting candidate systems is simple:
1. Assign a weighting factor to each evaluation criterion based on the criterion's
effect on the success of the system. For example, if the usability criterion is twice
69
as important as the accuracy factor, usability is assigned weight 4 and accuracy
is assigned weight 2.
2. Assign a quantitative rating to each criterion's qualitative rating. For example,
ratings (poor, fair, good, very good, excellent) by assigned respective values (1,
2, 3, 4, 5).
3. Multiply the weight assigned to each category by the relative rating to determine
the score.
4. Sum. the score column for each candidate system.
Most feasibility studies select from more candidate systems than we used in our
safe deposit example. The criteria chosen and the constraints are also more
complex. In any case, management should not make the selection without having
the experience to do so. Management cooperation and comments, however, are
encouraged.
70
99 85 90
Feasibility Report
2. Table of contents specifies the location of the various parts of the report.
Management quickly refers to the sections that concern them.
4. Detailed findings outline the methods used in the present system. The system
effectiveness and efficiency as well as operating costs are emphasized. The
section also provides a description of the objectives and general procedure of the
candidate system. A discussion of the output reports, costs, and benefits gives
management a feel for the pros and cons of the candidate system.
71
7. Appendixes document all memos and data compiled during the
investigation. They are placed at the end of the report for reference.
Once the data elements are defined in the data dictionary, we begin to focus on
the processes. Consider the following discount policy Example.
Bookstores get a trade discount of 25% ; for orders from libraries and individu3il
5% allowed on orders of 6-19 copies per book title; 10% on orders for 20-49
copies per book title; 15% on orders for 50 copies or more per book title.
MEDIUM: 20 to 49 copies
72
From these examples we see that when logic is written out in English
sentences using capitalization and multilevel indentation, it is structured English.
In this tool, the logic of processes of the system is expressed by using the
capitalized key words IF, THEN, ELSE, and SO. Structures are indented to
reflect the logical hierarchy. Sentences should also be clear, concise and
precise in wording and meaning.
COMPUTE-DISCOUNT
Add up the number of copies per book title
73
ElSE IF order is for 6 to 19 copies per book title
discount is 5%
ElSE (order is for less than 6 copies per book order)
SO: no discount is allowed
Decision Tables
A major drawback of a decision tree is the lack of information in Its format to tell
us what other combinations of conditions to test. This is where the decision table
is useful. A decision table is a table of contingencies for defining a problem and
the actions to be taken. It is a single representation of the relationships between
conditions and actions. Figure shows a decision table that represents our
discount policy.
Bookstores get a trade discount of 25% ; for orders from libraries and individu3il
5% allowed on orders of 6-19 copies per book title; 10% on orders for 20-49
copies per book title; 15% on orders for 50 copies or more per book title.
A decision table consists of two parts: stub and entry. The stub part is divided
into an upper quadrant called the condition stub and a lower quadrant called the
action stub. The entry part is also divided into an upper quadrant, called the
condition entry and a lower quadrant called the action entry. The four elements
and their definitions are summarized in Figure.
74
Note in above Figure that the answers are represented by a Y to signify yes,
an N to signify no, or a blank to show that the condition involved has not been
tested. In. the action entry quadrant, an X (or a check mark will do) indicates the
response to the answer(s) entered in the condition entry quadrant. Furthermore,
each column represents
decision or a rule. For example, rule 1 states:
75
So, according to the decision table, we have six decisions and therefore six rules.
A look at the table provides each decision (answer) immediately. The following
rules should be followed in constructing decision tables:
1. A decision should be given a name, shown in the top left of the table.
2. The logic of the decision table is independent of the sequence in which the
condition rules are written, but the action takes place in the order in which the
events occur.
Pseudocode:
76
were very difficult to modify for incorporating suggested enhancements, and
quickly became nightmares for those responsible for their maintenance.
It was later discovered that any program logic, no matter how complex, could be
expressed by using only the following three simple logic (control) structures:
1. Sequence logic,
It was found that when programs are structured by using only these three
logic structures, they can be read from top to bottom, and are easier to
understand. That is, by conceptualizing the logic of a program in the form of
these three logic structures, programmers can avoid writing spaghetti code, and
produce programs, which are easy to understand and maintain. It was found that
this also helped in reducing program errors, and the time spent in program
testing. The use of these three basic control structures resulted in a more
scientific approach to solving a programming problem, and was later termed as
structured programming technique.
SEQUENCE
Example (non-computer)
Brush teeth
Wash face
Comb hair
Smile in mirror
Example
77
READ height of rectangle
READ width of rectangle
COMPUTE area as height times width
Common Action Keywords
Several keywords are often used to indicate common input, output, and
processing operations.
IF-THEN-ELSE
IF condition THEN
sequence 1
ELSE
sequence 2
ENDIF
The ELSE keyword and "sequence 2" are optional. If the condition is true,
sequence 1 is performed, otherwise sequence 2 is performed.
Example
WHILE
WHILE is a loop (repetition) with a simple conditional test at its beginning. The
WHILE construct is used to specify a loop with a test at the top. The beginning
and ending of the loop are indicated by two keywords WHILE and ENDWHILE.
The general form is:
78
WHILE condition
Sequence
ENDWHILE
The loop is entered only if the condition is true. The "sequence" is performed for
each iteration. At the conclusion of each iteration, the condition is evaluated and
the loop continues as long as the condition is true.
Example
Example
CASE
CASE expression OF
condition 1 : sequence 1
condition 2 : sequence 2
...
condition n : sequence n
OTHERS:
default sequence
ENDCASE
The OTHERS clause with its default sequence is optional. Conditions are
normally numbers or characters
indicating the value of "expression", but they can be English statements or some
other notation that specifies the condition under which the given sequence is to
79
be performed. A certain sequence may be associated with more than one
condition.
Example
CASE Title OF
Mr : Print "Mister"
Mrs : Print "Missus"
Miss : Print "Miss"
Ms : Print "Mizz"
Dr : Print "Doctor"
ENDCASE
Example
CASE grade OF
A : points = 4
B : points = 3
C : points = 2
D : points = 1
F : points = 0
ENDCASE
REPEAT-UNTIL
REPEAT
Sequence
UNTIL condition
The "sequence" in this type of loop is always performed at least once, because
the test is performed after the sequence is executed. At the conclusion of each
iteration, the condition is evaluated, and the loop repeats if the condition is false.
The loop terminates when the condition becomes true.
FOR
80
This loop is a specialized construct for iterating a specific number of times, often
called a "counting" loop. Two keywords, FOR and ENDFOR are used. The
general form is:
Example
NESTED CONSTRUCTS
The constructs can be embedded within each other, and this is made clear by
use of indenting. Nested constructs should be clearly indented from their
surrounding constructs.
Example
Dataflow Diagram
81
A data flow diagram (DFD) is a graphical representation of the "flow" of
data through an information system. A data flow diagram can also be used for
the visualization of data processing (structured design). It is common practice for
a designer to first draw a context-level DFD first which shows the interaction
between the system and outside entities. This context-level DFD is then
"exploded" to show more detail of the system being modeled.
A data flow diagram illustrates the processes, data stores, and external entities in
a business or other system and the data flows between these things. Four
diagrammatical components are used to develop a DFD. These are:
Data flow
A data flow is the core of the data flow diagram. Each data flow in the system
should be unique and demonstrate data flowing between two other elements in
the system. Depending on the notation used, several rules apply to data flows,
such as a limitation on two-sided arrows. It is generally agreed that each data
flow should be uniquely labeled in the Dataflow Diagram. Dataflow are pipelines
through which packets of information flow. Label the arrows with the name of the
data that moves through it.
82
Dataflow Notations
Data process
Data store
An data store represents 'data at rest'. Data stores generally store data on a
specific category, such as 'students' or 'employees'. Data flowing out of a data
store is considered a read, while data flowing into a data store is considered a
write or update. Datastores are repositories of data in the system. They are
sometimes also referred to as files.
Datastore Notations
83
Yourdon and Coad
Datastore Notation
External entities
External entities are objects outside the system, with which the system
communicates. External entities are sources and destinations of the system's
inputs and outputs.An external entity represents the source or sink of data
external to the system. When modeling a DFD, the designer is not interested in
the inner workings of the external entity, but only what data is produced/needed
by the entity.
84
Data Flow Diagram Layers
Draw data flow diagrams in several nested layers. A single process node on
a high level diagram can be expanded to show a more detailed data flow
diagram. Draw the context diagram first, followed by various layers of data
flow diagrams.
Context Diagrams
A context diagram is a top level (also known as Level 0) data flow diagram. It
only contains one process node (process 0) that generalizes the function of
the entire system in relationship to external entities.
85
First level Diagram:
The first level DFD shows the main processes within the system. Each of
these processes can be broken into further processes in second level
Diagram.
The first level DFD shows the main processes within the system. In Second
level we can divide processes into sub processes until you reach
pseudocode.
Drawing DFD:
There are several common modeling rules that I follow when creating DFDs:
1. All processes must have at least one data flow in and one data flow
out.
2. All processes should modify the incoming data, producing new forms
of outgoing data.
3. Each data store must be involved with at least one data flow.
4. Each external entity must be involved with at least one data flow.
5. A data flow must be attached to at least one process.
6. Processes should be named and numbered for easy reference. Each
name should be representative of the process.
7. Direction of flow is from top to bottom and from left to right. Data
traditionally flow from the source (upper left comer) to the destination
lower right comer), although they may flow back to a source. One way
to indicate this is to draw a long flow line back to the source. An
alternative " way is to repeat the source symbol as a destination. Since
it is used more than once in the DFD, it is marked with a short diagonal
in the lower right corner.
8. When a process is exploded into lower-level details, they are
numbered. Like 1.1, 1.2 etc. where 1.1 and 1.2 are the sub processes
of process.
9. The names of data stores, sources, and destinations are written in
capital letters. Process and data flow names have the first letter of
each word capitalized.
How detailed should a DFD be? As mentioned earlier, the DFD is designed to
aid communication. If it contains dozens of processes and data stores, it gets too
unwieldy. The rule of thumb is to explode the DFD to a functional level, so that
the next sublevel does not exceed 10 processes. Beyond that, it is best to take
86
each function separately and expand it to show the explosion of the single
process. If a user wants to know what happens within a given process, then the
detailed explosion of that process. may be shown.
A DFD typically shows the minimum contents of data stores. Each data store
should contain all the data elements that flow in and out. Questionnaires can be
used to provide information for a first cut. All discrepancies, missing interfaces,
redundancies, and the like are then accounted for often through interviews.
Banks provide schemes through which people can deposit the money with a
bank as a fixed deposit for a certain period of time. The banks pay interest for
this period and return the money when the fixed deposit period is over. Interest
rate depends upon the period as follows.
1 to 2 Years 12.5%
2 to 3 Years 14%
The Depositor may choose to renew the FD for another time period. Depositor
may get loan against the deposits. A maximum of 75 % of the deposit amount is
allowed as the loan amount. The interest payable on the loan is slightly higher
than the interest payable by the bank.
87
4. Repayment details of loan.
1. FD Certificate.
2. Interest cheques & counterfoils.
3. FD Maturity details.
4. Covering letter for interest, certificate
etc.
5. Loan-interest statement, etc.
88
Fig : Second level DFD for Interest Rate Maintenance
89
Fig : Second level DFD for FD Account closing
90
Fig : Second level DFD for Reports.
91
DATABASE DESIGN AND DOCUMENTATION TECHNIQUE
It maps well to the relational model. The constructs used in the ER model
can easily be transformed into relational tables.
It is simple and easy to understand with a minimum of training. Therefore,
the model can be used by the database designer to communicate the
design to the end user.
In addition, the model can be used as a design plan by the database
developer to implement a data model in a specific database management
software.
The ER model views the real world as a construct of entities and association
between entities.
Entities
Entities are the principal data object about which information is to be collected.
Entities are usually recognizable concepts, either concrete or abstract, such as
person, places, things, or events which have relevance to the database. Some
specific examples of entities are EMPLOYEES, PROJECTS, INVOICES. An
entity is analogous to a table in the relational model.
Entity
Weak Entity
92
Entities are classified as independent or dependent (in some
methodologies, the terms used are strong and weak, respectively). An
independent entity is one that does not rely on another for identification. A
dependent entity is one that relies on another for identification.
Relationships
Relationship
Weak
Relationship
93
Attributes
Attributes describe the entity of which they are associated. A particular instance
of an attribute is a value. For example, "Jane R. Hathaway" is one value of the
attribute Name. The domain of an attribute is the collection of all possible values
an attribute can have. The domain of Name is a character string.
Attribute
Classifying Relationships
Degree of a Relationship
Binary relationships, the association between two entities are the most common
type in the real world. A recursive binary relationship occurs when an entity is
related to itself. An example might be "some employees are married to other
employees".
94
cardinality of a relationship is the actual number of related occurrences for each
of the two entities. The basic types of connectivity for relations are:
1. one-to-one,
2. one-to-many,
3. many-to-many.
A one-to-many (1:N) relationships is when for one instance of entity A, there are
zero, one, or many instances of entity B, but for one instance of entity B, there is
only one instance of entity A. An example of a 1:N relationships is
Employees can be assigned to no more than two projects at the same time;
95
Direction
Type
Existence
96
of each entity.
Eliminate Many-to-Many relationships and include primary and foreign keys in
6. Draw Key-Based ERD
each entity.
Name the information details (fields) which are essential to the system under
7. Identify Attributes
development.
8. Map Attributes For each attribute, match it with exactly one entity that it describes.
Adjust the ERD from step 6 to account for entities or relationships discovered
9. Draw fully attributed ERD
in step 8.
10. Check Results Does the final Entity Relationship Diagram accurately depict the system data?
A SIMPLE EXAMPLE
1. Identify Entities
The entities in this system are Department, Employee, Supervisor and Project.
One is tempted to make Company an entity, but it is a false entity because it has
only one instance in this problem. True entities must have more than one
instance.
2. Find Relationships
97
4. Fill in Cardinality
98
The primary keys are Department Name, Supervisor Number, Employee
Number, Project Number.
There are two many-to-many relationships in the rough ERD above, between
Department and Employee and between Employee and Project. Thus we need
the associative entities Department-Employee and Employee-Project. The
primary key for Department-Employee is the concatenated key Department
Name and Employee Number. The primary key for Employee-Project is the
concatenated key Employee Number and Project Number.
7. Identify Attributes
99
The only attributes indicated are the names of the departments, projects,
supervisors and employees, as well as the supervisor and employee NUMBER
and a unique project number.
8. Map Attributes
100
10. Check Results
The final ERD appears to model the data in this system well.
FURTHER DISCUSSION:
A data entity is anything real or abstract about which we want to store data.
Entity types fall into five classes: roles, events, locations, tangible things, or
concepts. The best way to identify entities is to ask the system owners and users
to identify things about which they would like to capture, store and produce
information. Another source for identifying entities is to study the forms, files, and
reports generated by the current system. E.g. a student registration form would
refer to Student (a role), but also Course (an event), Instructor (a role), Advisor (a
role), Room (a location), etc.
There are natural associations between pairs of entities. Listing the entities down
the left column and across the top of a table, we can form a relationship matrix by
filling in an active verb at the intersection of two entities which are related. Each
row and column should have at least one relationship listed or else the entity
associated with that row or column does not interact with the rest of the system.
In this case, you should question whether it makes sense to include that entity in
the system.
. A student is enrolled in one or more courses
subject verb objects
Using rectangles for entities and lines for relationships, we can draw an Entity
Relationship Diagram (ERD).
101
enrolled in a course for it to run, but it is possible for no students to have a
particular instructor (if they are on leave).
The second symbol gives the maximum number of instances of the entity joining
the connector for each instance of the entity on the other side of the relationship.
If there is only one such instance, this symbol is 1. If more than 1, the symbol is a
crows foot opening towards the rectangle.
If you read it like a sentence, the first entity is the subject, the relationship is the
verb, the cardinality after the relationship tells how many direct objects (second
entity) there are.
For each entity we must find a unique primary key so that instances of that entity
can be distinguished from one another. Often a single field or property is a
primary key (e.g. a Student ID). Other times the identifier is a set of fields or
attributes (e.g. a course needs a department identifier, a course number, and
often a section number; a Room needs a Building Name and a Room Number).
When the entity is written with all its attributes, the primary key is underlined.
Looking at the Rough Draft ERD, we may see some relationships which are non-
specific or many-to-many. I.e., there are crows feet on both ends of the
relationship line. Such relationships spell trouble later when we try to implement
the related entities as data stores or data files, since each record will need an
indefinite number of fields to maintain the many-to-many relationship.
The key-based ERD has no many-to-many relationships and each entity has its
primary and foreign keys listed below the entity name in its rectangle.
102
A data attribute is a characteristic common to all or most instances of a particular
entity. In this step we try to identify and name all the attributes essential to the
system we are studying without trying to match them to particular entities. The
best way to do this is to study the forms, files and reports currently kept by the
users of the system and circle each data item on the paper copy. Cross out those
which will not be transferred to the new system, extraneous items such as
signatures, and constant information which is the same for all instances of the
form (e.g. your company name and address). The remaining circled items should
represent the attributes you need. You should always verify these with your
system users. (Sometimes forms or reports are out of date.)
For each attribute we need to match it with exactly one entity. Often it seems like
an attribute should go with more than one entity (e.g. Name). In this case you
need to add a modifier to the attribute name to make it unique (e.g. Customer
Name, Employee Name, etc.) or determine which entity an attribute "best'
describes. If you have attributes left over without corresponding entities, you may
have missed an entity and its corresponding relationships. Identify these missed
entities and add them to the relationship matrix now.
If you introduced new entities and attributes in step 8, you need to redraw the
entity relationship diagram. When you do so, try to rearrange it so no lines cross
by putting the entities with the most relationships in the middle. If you use a tool
like Systems Architect, redrawing the diagram is relatively easy.
Even if you have no new entities to add to the Key-Based ERD, you still need to
add the attributes to the Non-Key Data section of each rectangle. Adding these
attributes automatically puts them in the repository, so when we use the entity to
design the new system, all its attributes will be available.
Look at your diagram from the point of view of a system owner or user. Is
everything clear? Check through the Cardinality pairs. Also, look over the list of
attributes associated with each entity to see if anything has been omitted.
FLOWCHARTS
THEIR PURPOSE
103
Flowcharts, which have been in use for many years, have become more
and more specialized as the areas using them became better defined. A form of
charting we all recognize is the diagram of electrical circuits. We do not
understand these charts, but to the persons schooled and working in electronics
they are highly meaningful. In the same way, the data processing industry has
developed its own set of special symbols for use in picturing the activities in the
processing of data.
The first formal flowchart is attributed to John Von Neumann in 1945. A
flowchart is simply a method of assisting the programmer to layout in visual, two-
dimensional format, the ideas as to how to organize the sequence of steps or
events necessary to solve a problem with a computer. In other words, flowcharts
are symbolic diagrams of operation sequence, data flow, and control flow .and
processing logic in information processing. The charts are read in the same
manner that we learned to read a page, from the upper left-hand corner of a
page, left to right and top to bottom. The symbols used are simple and easy to
learn. Flowcharts, very important planning and working tools in programming,
have many purposes. They Provide communication Flowcharts are an excellent
means of communication. They quickly and clearly impart ideas and descriptions
of algorithms to other programmers, students, teachers, computer operators and
users.
Provide an overview. Flowcharts provide a clear overview of the entire
problem and its algorithm for solution. They show all major elements and their
relationships. They help avoid the possibility of overlooking important details,
leaving incomplete branches, etc.
104
algorithm. A comprehensive, carefully drawn flowchart is an
indi5tpensable part of documentation for each program.
1. Terminal
The terminal symbol is used to indicate the beginning (Start), end (Stop),
and pauses (Halt) in the program logic flow. It is the first symbol and the last
symbol in the program logic. In addition, if the program logic calls for a pause in
the program, the pause is also indicated by a terminal symbol. A pause is
normally used in the program logic under some error conditions or if forms had to
be changed in the computer's line printer during the processing that program.
2. Input/Output.
The input/output symbol is used to denote any function of an input/output
device in the program. If there is a program instruction to input data from the disk
tape, terminal, or any other type of input device, that step will be indicated in the
flowchart with an input/output symbol. Similarly, all output instructions, whether it
is ou!l2l!LQn a printer, magnetic tape, magnetic disk, terminal screen, or any
output device, are indicated in the flowchart with an input/output symbol.
3. Processing.
A processing symbol is used in a flowchart to represent arithmetic and data
movement instructions. Hence, all arithmetic processes of adding, subtracting,
multiplying and dividing are shown by a processing symbol. The logical process
of moving data from one location of the main memory to another is also denoted
by this symbol. When more than one arithmetic and data movement instructions
are to be executed consecutively, they are normally placed in the same
processing box and they are assumed to be executed in the order of their
appearance.
4. Decision.
The decision symbol is used in a flowchart to indicate a point at which a
decision has to be made, and a branch one of two or more alternative points is
possible. Three different ways in which a decision symbol can be used. It may be
noted from these examples that the criterion for making the decision should be
indicated clearly within the decision box. Moreover, the condition upon which
each of the possible exit paths will be executed should be identified, and all the
105
possible paths should be accounted for. During execution, the appropriate path is
followed depending upon the result of the decision.
.
5. Flow lines
Flow lines with arrowheads are used to indicate the flow of operation,
that is, the exact sequence in which the instructions are to be executed. The
normal flow of flowchart is from top to bottom and left to right. Arrowheads are
required only when the normal top to bottom flow is not to be followed. However,
as a good practice, and to avoid ambiguity, flow lines are usually drawn with an
arrowhead at the point of entry to a symbol. Good practice also dictates that flow
lines should not cross each other, and that such intersections should be avoided
whenever possible.
6. Connectors
Whenever a flowchart becomes complex enough that the number and
direction of flow lines is confusing, or it spreads over more than one page, it is
useful to utilize the connector symbol as a substitute for flow lines. This symbol
represents an entry from, or an exit to another part of the flowchart. A connector
symbol is-represented by a circle, and a letter or digit is placed within the circle to
indicate the link. A pair of identically labeled connector symbols is commonly
used to indicate a continued flow, when the use of a line is confusing. Hence, two
connectors with identical labels serve the same function as a long flow line. That
is, they show an exit to some other chart section, or they indicate an entry from
another part of the chart. How is it possible to determine if a connector is used as
106
an entry or an exit point? It is very simple - if an arrow enters, but does not leave
a connector, it is an exit point, and program control is transferred to the
identically labeled connector, which does have an outlet. It may be noted that
connectors do not represent any operation, and their use in a flowchart is only for
the sake of convenience and clarity.
Advantages
The following benefits may be obtained when flowcharts are used for the purpose
of program planning:
107
A flowchart proves to be very helpful in designing the test data for systematic
testing of programs.
Limitations
In spite of their many obvious advantages, flowcharts have some limitations,
which are as follows:
1. Flowcharts are very time consuming, and laborious to draw with proper
symbols and spacing, especially for large complex programs. In this chapter, you
have seen examples of small program flowcharts, developed for relatively small
programs. You can very well imagine how difficult it would be to develop a
detailed program flowchart for a program containing over 50,000 statements.
CONSTRUCTING FLOWCHARTS
Eight steps that will insure complete preparation and execution of a flowchart are:
1. Research the problem
2. Decide on the method of solution
3. Plan the solution
4. Outline the system by drawing the system flowchart
5. Check the system flowchart
6. Draw a detailed program flowchart for each program.
7. Check the program flowchart
8. Test the program flowchart and system flowchart by using data that has been
prepared.
108
guidelines, and must be treated as such. When constructing flowcharts, you
should attempt to observe the following guidelines:
1. The flow of the flowchart should be from top to bottom and from left to
right.
2. Use meaningful descriptions in the symbols. The flowchart is part of the
program documentation, and the symbol description should be meaningful
to any programmer:
3. If the flowchart is complex, connectors should be used to reduce the
number of flow lines.
4. A void intersecting flow lines.
5. Legibility is important. Print clearly and use a flowcharting template.
6.
When possible, construct flowcharts on special flowcharting forms that allow
symbols to be' placed n fixed
Example:
Find out how many males and females are present in a seminar. It also gives the
printout of the total number of males, total number of females and total number of
persons present. Suppose we are required to write a flowchart to calculate marks
and grade obtained by each student in a class and also find out:
1. total class strength ?
2. Total students in Grade 'A', 'B', 'C', 'D'?
3. Total number of students failed?
109
110
System Flow-chart
System flowchart describes the data flow for a data processing system. It
provides a logical diagram of how the system operates. It represents the flow of
documents, the operations performed in data processing system. It also reflects
the relationship between inputs, processing and outputs. Following are the
features of system flowcharts:
the sources from which data is generated and device used for this
purpose
various processing steps involved
the intermediate and final output prepared and the devices used for their
storage
1. Style
The Skinner and Anderson style, which describes the flow of documents,
using specialized and uniform symbols.
2. Flow-lines
Flow-lines are used to show how documents and records are related.
Arrowheads are used to indicate the direction of flow. In preparing flow-charts the
flow-lines should cross as infrequently as possible.
3. Separation of Duties
4. Internal Controls
111
The inclusion of significant internal controls in a flow-chart aids the auditor
in evaluating internal control. Examples include authorizations, internal
verification and reconciliations.
5. Written Comments
6. Document Source
Show the source of every document in the flow-chart, whether from within
the system being flow-charted, external to the system being flow-charted or
external to the department.
7. Process Symbol
8. Disposition of Documents
Indicate the final user or storage location of every document and record
contained in the flow-chart.
9. Identification
date of drawing;
who drew the flow-chart;
relevant system's name;
sub-system name;
sub-system objective;
resources involved in processing; and
volume of items processed.
112
System Flow-chart symbols
113
114
Structured Flow Charts
Basic Elements
Process
Decision
The decision symbol represents alternative conditions that can occur and
that the program must have a manner of handling. They show the equivalent of
the IF-THEN-ELSE structures discussed previously under structured English and
common in many programming languages. As examples will show, the decision
symbol may show actions for more than two alternatives at the same time.
Iteration
115
Using Structured Flowcharts
When designing a structured flowchart the systems analyst specifies the logic
in a top-down fashion. The first consideration in a process or decision is the top
element. The second in sequence is the next one shown, and so forth. Similarly,
there is a single exit from the process.
The analyst begins with a major process and introduces other symbols to
subdivide the process. Each process is named, but, if the name is not underlined,
it is a reference to some other diagram or description. This simple convention
makes it possible to link together easily different procedures that are performed
to complete an entire activity.
116
Functional Decomposition Diagram
Before an analyst can plan what systems to build for the organization, it is
helpful to first understand the business functions that the organization needs to
perform. Then it is much easier to identify processes that occur within the
business functions, and ultimately the systems that will support those processes.
This is a top-down approach to systems development.
The process of starting at a high level and moving into smaller and smaller
subsystems is called decomposition. The functional decomposition diagram
(FDD) is a planning tool for identifying business functions and the processes that
comprise them.
The functional decomposition diagram itself does not depict process flows,
but rather the hierarchical organization of functions and the processes that they
include.
117
FDDs are built: identifying the functions of the organization and identifying their
respective processes.
D epa rtmen t o f
M o t o r V eh icles
M o t o r V eh icle
R eg ist ra t io n Licen sin g R eg u la t io n
D epa rtmen t D epa rtmen t D epa rtmen t
Issue D riv in g
Tests Issue Licen se
U pda te D M V
Get Ph o to g ra p h C rea te Licen se D a ta b a se
Most people start reading in the top center of the FDD; however, you
should note that there is no particular order implied by the boxes. Instead, the
FDD depicts a hierarchy whereby top-level functions are organized into
decomposed functions, and then processes, and finally into sub processes. The
first item at the top of the FDD in Figure 1 is the Department of Motor Vehicles
function, which represents the organization under analysis. Beneath this function
are three sub functions, which correspond to the main functional areas within the
118
DMV. They are connected by lines (i.e., connectors) that communicate the
hierarchical relationships among parts of the diagram.
Notice that the rectangles on the third level of the FDD have rounded
corners, representing processes. A process is activity that needs to be performed
to support some function. Notice how lines are drawn to show subprocesses that
correspond to the processes. For example, the Driver's License process includes
an Issue License subprocess, which in turn includes three subprocesses: Get
Photograph, Create License, and Update DMV Database.
Syntax
Function
A functional decomposition diagram is composed of functions, which are cross-
organizational collections of activities . A traditional view is that functions
correspond to departments within an organization, such as research and
development, purchasing, and marketing; however, the current trend is for
functions to represent major organizational processes that may cross
departmental boundaries, such as order fulfillment or inventory management.
119
Figure : FDD Elements
Symbol
FDD Element Typical
CASE Fields
Every Function has Label (Name)
A name Type (Function)
Zero or more than one Description
children (What it is) Name
Zero or one parent Notes
Every Process has Label (Name)
A name Type (Process)
Zero or more than one Description
children (What it is) Name
One parent Notes
Every Connector None
Has no name
Connect any two of the
above elements
An Off-page connector None
Is denoted by the
hexagon
Has a title
Is used when the NAME
diagram is too large to
fit everything on the
same page
Process
The FDD can include several levels of functions that are broken down into
finer gradations. At some point, one that is entirely up to you, you can break
down functions into processes. A process is an activity that is performed for
some specific business reason, and it is denoted by a rectangle with rounded
corners The conceptual dividing point is somewhat arbitrary, but you can usually
differentiate a process from a function by the amount of activity that it represents.
A process represents a tangible activity that occurs within the organization, such
as issuing a driving test or creating a license.
Names should be short, yet contain enough information so that the reader
can easily understand exactly what they do. In general, each process performs
120
only one activity, so most system analysts avoid using the word "and" in process
names because it suggests that the process performs several activities.
Connectors
Connectors are lines between functions, processes, and from a function to
a process. They specify hierarchical relationships among the components of the
FDD. Unlike processes and functions, connectors are not named, but instead
their presence implies the phrase "consists of." For example, the Driver's
Licensing System process consists of the Issue Driving Tests and Issue License
subprocesses. Every component on an FDD should be connected to at least one
other component.
A related symbol found on the FDD is the off-page connector FDDs can become
quite unwieldy, especially when depicting a large or complex program. A
hexagon is used to continue the diagram on another page.
Identify Functions
To create the functional decomposition diagram, you simply draw one
function symbol for the business being modeled and place this at the top center
of the diagram. You then add rectangles on the next line to represent the primary
functions of the business. You likely will get the information to create this diagram
from the business leaders of the organizations, particularly members of the top
management team.
Identify Processes
Next, it is important to identify the processes that are needed to support
the functions that exist on the FDD. The first level of processes usually
represents the overall system that supports the function (e.g., the Driver's
License System), and the second level includes the major activities that the
system will perform. For example, in the case of the DMV, the Driver's License
system includes two main processes – issuing the driving tests and issuing the
driver's licenses.
When creating this portion of the diagram, the analyst will have to learn
more details about how the business performs its functions, and it is usually
121
helpful to gather information from people in the company who are actually
involved with the processes. Again, interviews and JAD sessions are the
requirements gathering techniques of choice.
Similarly, the FDD's first level of sub processes are the processes that
exist on the Level 0 DFD. Based on Figure 1, the Level 0 DFD for the Driver's
License System will include two processes: 1. Issue Driving Tests and
2. Issue License.
Below Figure presents a checklist that summarizes the rules of FDDs that have
been described in the last few sections.
All functions and processes are connected to at least one other function or
process
Every parent has at least two children
Every child only has one parent
Labels are descriptive
Connectors are not named (assumed to be "consists of")
Each process on the first level of a FDD becomes a system on a context
diagram
Each subprocess on the second level of an FDD becomes a process on the
Level 0 data flow diagram
122
business functions. Finally, the analyst reviews the FDD and revises it again and
again until it is complete, making sure that the diagram balances with its related
process models (i.e., DFDs).
During the interviews, the project team learned about the CD Selections
value chain, and the major functions of the organization were identified as major
activities of the value chain: Inbound Logistics, Operations, Outbound Logistics,
Marketing and Sales, and Service. Human Resource Management was also
included as an important internal function. These functions were placed on the
Decomposition Diagram as shown in Figure 3.
C D S electio n s
123
Identify Processes
Next, the project team needed to understand the activities within the
organization that were performed to support the business functions, with a focus
on Marketing and Sales. To do this, they again gathered requirements using
interviews, and they also conducted JAD sessions with some low-level managers
and supervisors who were directly in charge of some of the key processes.
Ultimately, they were able to document the processes of the major functions;
below Figure describes the project team's understanding of the Marketing and
Sales business function. Based on the information in Figurethe project team
created the FDD found in Figure .
The Internet sales system will have a database of basic information about the
CDs that it can sell over the Internet, similar to the CD database at each of the
retail stores (e.g., title, artist, id number, price, quantity in inventory). Every day,
the Internet sales system will receive an update from the distribution system
that that will be used to update this CD database. Some new CDs will be
added, some will be deleted, and others will be revised (e.g., a new price). The
Electronic Marketing (EM) Manager (a position that will need to be created) will
also have the ability to update information (e.g., prices for sales).
The Internet sales system will also maintain a database of marketing materials
about each CD that will help Web users learn more about them. Vendors will
be encouraged to e-mail marketing materials (e.g., music reviews, links to Web
sites, artist information, and sample sound clips) that promote their CDs. The
EM Manager will go through the e-mails and determine what information to
place on the Web. He or she will add this information to a marketing materials
database (or revise it or delete old information) that will be linked to the Web
site.
Customers will access the Internet sales system to look for CDs of interest.
Some customers will search for specific CDs or CDs by specific artists, while
other customers want to browse for interesting CDs in certain categories (e.g.,
rock, jazz, classical). When the customer has found all the CDs he or she
wants, the customer will "check out" by providing personal information (e.g.,
name, e-mail, address, credit card), and information regarding the order (e.g.,
the CDs to purchase, and the quantity for each item). The system will verify the
customer's credit card information with an online credit card clearance center
and either accept the order or reject it.
124
Every hour or so, the orders will be pulled out of the order database and sent to
the distribution system. The distribution system will handle the actual sending
of CDs to customers; however, when CDs are sent to customers (via UPS or
mail), the distribution system will notify the Internet sales system, which in turn
will e-mail the customer. Weekly reports can be run by the EM manager to
check the order status.
C D Selectio ns
M a inta in
M a inta in C D M a rketing
Info rma tio n Ta ke Order M a inta in Order
Info rma tio n
125
USER INTERFACE DESIGN
WHAT IS AN INTERFACE?
An interface is the common boundary between the user and computer system
application-the point where the computer a individual interact. Its features
influence the effectiveness of I of the system, as well as the frequency of
mistakes and error, entering data or instructions.
Purpose of Interface
The systems analyst's objective is to design an interface I Accomplish the
following purposes:
1. Tell the system what actions to take:
Select processing actions; enter, change, or retrieve data between system
functions
Common interface devices in online systems are the keyboard mouse, light pen,
scanner, touch screen, or voice.
126
The dialogue guides the interaction between system and user. As we will
see, the dialogue determines the amount of information that must pass between
system and user. The particular design influences the detail one must specify
and the way in which it is articulated. Poor dialogue can undermine the best
interface devices, but the right dialogue can make the boundary between user
and system seems nonexistent.
Users also react to the manner in which information is organized for display
in an online system. The way the physical area of a display is structured, as well
as the particular methods of highlighting and signaling can enhance the
readability of display information.
Actions Occurring at Interface
Three types of actions occur at the system interface. Users tell the system
which pages of information to display or how to move between different
functions. We call this navigation. In addition, the interface includes features that
allow users to signal the system which processing functions to perform. Third,
messages received through the interface inform the user of system actions and
responses. All these activities are necessary and the design features of a system
can either impede or accommodate their performance.
Navigation
In a manual system of reports and documents, users can see how to skip
through the information they have before them. For example, they know that to
begin review of a lengthy report, they must simply flip open the cover. To see the
next page of information, they need only turn the page. They can also tell when
they are near the beginning of the multi-page report, near the end, or somewhere
in the middle.
Users must always know or be able to find out what to do next, and they
must know which actions are valid. Put yourself in the position of a computer
user examining a display screen filled with information in a new application.
Here are some of the questions you might ask:
127
How do I cancel the effect of my last action?
How do I correct my mistake?
,
You can add others, but the point is that the answers to these important
questions are not as obvious in an online system as they are in \ a manual
system.
Processing Actions
In our design, we have to include ways to let the user know how to take each of
the following actions
Data entry
The input of data, using any of several data entry methods; includes a
description of each data item and its position on the display screen. The system
must show the user which data item it is addressing as each character is
entered.
Data editing
Changing a previously entered data item. The system must indicate which data
items on a display screen are in edit mode (i.e., can be changed) at a certain
moment.
Data storage
The transfer of data from the active input area to storage, usually on secondary
storage devices such as magnetic disk, diskette, or tape.
Data retrieval
As we will see, we can combine the features of menus with navigation needs to
fill these user requirements.
128
Receiving of Messages
DESIGNING DIALOGUE
A dialogue is the user's way to interact with the computer system and
application. Its characteristics not only determine the "friendliness" of the system
but even influence a person's decision to use the system at all. Experience has
shown that if a system is hard to use because of the dialogue, individuals will
tend to avoid the system, even if they could be more productive or effective by
using it.
Dialogue Charts
Analysts often depict the activities in an information system in the form of simple
graphic illustrations. Dialogue charts, as they are called, show what sequence of
activities a system can perform and how to initiate the actions. They also
illustrate how the user can exit (i.e., interrupt) an activity. In a sense, you might
say the dialogue chart is a road map through the system.
The flow of conversation between user and system is entirely dependent on the
design of the dialogue, a principle that was stressed throughout the vignette at
the beginning of the chapter. An easy-to-use dialogue means that conversation
129
can flow easily. Awkward designs impede system usage. These decisions, which
the analyst must make in designing dialogues, determine the nature of dialogue:
DIALOGUE STRATEGIES
An online conversation uses one of the three general dialogue strategies: menu-
driven, keyword, or question/answer. The strategy used will largely influence the
user perception of the system. We will see first why novice users rate the menu
form, the most common dialogue strategy, as the simplest and easiest way to
access an information system.
Menu-Driven Dialogue
Since online systems provide several input and processing options to users, a
method is needed to show users the available alternatives. Menus serve
this purpose. A menu is an exhaustive list of available system functions that
are displayed on the terminal or workstation so the user can choose among
them. Dialogues that use this method of interaction are said to be menu-
driven.
Menu Alternatives
If the system is well designed, the user should be able to select and invoke any
menu alternative by depressing a single key that corresponds to the desired
alternative.. To invoke any option, the user need only enter the number
corresponding to the description of the function. Thus, to initiate printing in some
systems, the user need only depress the 4 key.
Menu dialogues can also be designed to use interface devices other than the
keyboard. For example, some systems allow users to select a function by
pointing to it on the screen rather than by keying in a number. Touch-sensitive
screens allow users to initiate an action by touching a spot on the display screen,
termed a soft key. Some systems can accommodate a light pen to invoke the
desired processing or allow the user to move a bar of light over the desired menu
function to be selected. Still others allow users to point 10 the desired option with
a mouse, a small manual interface device. Depressing a button on the mouse
when the pointer is directed at the desired option will invoke the function.
130
The menu of options can be positioned on the display screen in several ways.
Many transaction processing and reporting systems use the main part of the
screen to present options. Sufficient room is available on the display screen to
list a phrase identifying each choice. Two vertical columns can be used if
needed, although a single column should contain at most eight to ten choices.
When the analyst wants to retain business information on the display and at
the same time offer menu selections to users, the menu can be shown
horizontally at the top or bottom of the screen, or vertically down the side of the
display. This approach is commonly used in the design for electronic
spreadsheet software, the display of a transaction or master file record (for
example, the details of an order transaction), or a display of a multiple-line report.
In systems that use a mouse, it is now common to feature pull down menus.
In this case, when the mouse points to a keyword at the top of the screen, a
menu of alternatives drops down (the mouse pulls down the menu), overwriting a
portion of the screen. The advantage is that the main work area remains on the
screen while permitting several alternatives to be considered very quickly.
Nested Menus
131
options, thus reducing complexity and easing the number of alternatives to
choose from at one time.
Keyword Dialogue
With the keyword dialogue, users invoke processing activities by entering
a command the system understands. The three forms of keyword dialogue
include the single command, the mnemonic, and the natural language forms.
Under the single command form, users enter the keyword that the system
will associate with the performance of a specific process. The words are
commands that the analyst has built into the system and that programmers will
account for in the source code. Each unique command has special meaning
within the application and will invoke specific processing.
132
Natural language systems motivate people to make use of their system
without learning special commands or sequences. The complexity of the
system commands is embedded in the computer software and is not apparent
in the procedures the user follows. Because the system must translate natural
language commands into a form it can understand, this form of system may
operate more slowly during some activities.
"
DATA ENTRY DIALOGUES
The entry of data will be affected by the way the system assists users
and prompts them for the data. This section discusses the data entry strategies
of using templates and question/answer prompts.
When data are entered into one area, the cursor moves to the next area on
the screen for entry of the item. In the best-designed systems, the software
suggests the sequence of items and the user keys the entry. Alternatively, users
can determine the sequence of moving up and down or back and forth on the
screen using the cursor control arrows, but the extra steps involved make this
less desirable.
Templates are most useful when certain information must be collected and
the details needed can be shown as an electronic form(the operator need only fill
in the form). Templates also offer the advantage of allowing the user to see all
133
information that will be needed at once (in contrast to answering a series of
questions one at a time).
Good design practices ensure that the order of details on the electronic form is
logical and that it corresponds with the natural order in which people usually think
of personal information (e.g., name, then address, then telephone number) or as
it comes off the source document.
2. Question/Answer Prompt
In some systems with small displays (such as a point-of-sale terminal or a
bank card terminal) the question/answer prompt is the only feasible option. It is
not physically possible to show all choices on a single display line.
Users are prompted for data by questions the system poses Notice that a
question is posed and the user then keys in the data before the next question is
asked (of course, several questions could be presented at one time, in which
case the user would provide the information for each one individually).
The question/answer method, which is simple to use, offers the additional
advantage of allowing full control of the sequence in which information is
received.
134
Identifying Data for Editing
To design an edit function, you must first provide a way for users to tell the
system which record of data they wish to edit.
Two methods are common. The first allows the user to depress a key that
instructs the system to delete the current record on the screen. (Some analysts
use a design that requires the user to change a record key to blanks to delete
records. However, such a design can be desirable, since it is too easy for the
user to forget to blank out the key field.) This method requires that the proper
record first be retrieved and displayed on the screen.
The other method for deleting procedures asks the user to identify the
proper record by entering the record key (such as item number) and then
depressing a key telling the system to delete the record.
Both methods are common, although the first is preferred, since it allows
the user to view the record before telling the system to delete the record. Some
online systems ask for confirmation of the intended deletion before actually
deleting the record from the files.
Screen Management
1. Window Usage
135
Title window
Identifies the title of the screen, function to be performed, or application
running; may include system date.
Instruction window
Tells the user how to enter data, select a processing alternative, or exit
from system; typically includes a single instruction to initiate the next system
action.
Message window
Contains information and control messages.
Flag window
An alternative that may be used to signal current activities or instructions
being processed.
No one window design has been proven best. Several commonly used
ones are shown in Figure. Although this chapter demonstrates several different
window standards, in actual practice a particular application should follow one
standard.
The location of the status line should always be consistent (usually it is the
first or last line on an 80-column screen so that it is easy to find. It contains a
brief explanation of system status (for example, it indicates whether the CAPS
136
key is locked on or whether the keyboard is in numeric mode). The status line is
intended for reference only. If additional information is needed, the user can
invoke the help function.
Users sometimes become lost and thus require a roadmap through the
system. Deeply nested menus can preclude ease of navigation. Consider how
confused users would feel if they have to move through several levels to exit a
system: from the data edit template, to selecting a data verification alternative,
to specifying the customer identification number, to selecting customer versus
item editing, to specifying the edit function, to the main menu, and finally exiting
the system.
Special care should be taken to avoid losing or confusing users when they
are expected to move between two levels or between display screens and
printed source or reference documents:
Use windows to facilitate using information that comes from several
display screens. Most users have difficulty keeping information in short-
term memory (recall how quickly you forget an unfamiliar telephone
number). Designing the system to display reference information
simultaneously with the screen in which it will be used can overcome this
human limitation.
Coordinate the sequence of data items for online and offline usage.
Applications that require comparisons of display and print versions of
information should be designed so that the sequence and location of items
on the two match.
When only part of the information on display changes, redisplay only the
portion that changes; redisplaying the entire screen can confuse users
and cause them to wonder if other items have changed.
137
If the user needs the capability to quickly skim the stock number,
description, cost, and quantity on hand of inventory-all the data for one item
will fit on a single line-scrolling is appropriate. The user will find scrolling easier
and quicker than having a separate page for each item.
When designing screens for scrolling, it is important to specify that only the
data should scroll. Headings and messages should remain fixed on the display.
Status Messages
Error Messages
138
Error messages report mistakes or unexpected events that the system
has detected. This category covers a wide range of information about the
system, from hardware ("Printer not turned on or improperly connected"), to
software ("Error number 12 encountered in line 5001"), to data ("Unexpected end
of file encountered").
The input validation tests discussed in the last chapter should also be
linked with error messages. If data are missing, out of the ordinary range, or in
incorrect format, the system should tell the operator of an online system about it.
A properly designed error message will accomplish this.
The manner in which the system prompts the user for an action is important.
Messages should be designed to tell users what action to take and when. Yet,
like all messages, action request messages should be brief and unobtrusive.
139
When termination of communication with another location is requested
Help Systems
Help Features
A help system can be designed in any of several ways One form uses an
index of terms and keywords. The user enters the appropriate keyword (perhaps
a command to STORE) and an explanation for using the command is given. A list
of all keywords can be displayed on request if the user is unsure of the proper
keyword. If additional detail is needed, the user can request a second level of
explanation.
A second form uses dialogue to instruct the user in performing the task
step-by-step: "Examine the. . . ; move the. . . " This format is much wordier and
thus is disliked by experienced users. However, the novice user may truly
appreciate the support this method provides.
Some help systems are termed context-sensitive; that is, they deter-
mine what the user is attempting to accomplish and provide information
about the attempted action. For example, they may recognize that an exit at
one level of a system is safe and will not cause the loss of data. But at
another level, say, in the edit portion, an exit before storing the data will
result in the loss of all changes entered to that point. (The help system may
thus tell the user to store the changes before requesting the exit.) The latter
form is more sophisticated than the others because it must keep track of
system activity.
Help Guidelines
140
A common key should always be designated to invoke help, regardless
of the function being performed. Thus, whether doing data entry, editing, or
preparing a report, the user should be able to depress the same key (a "panic
button") and receive assistance. If the individual must stop and think about which
key invokes help In a certain part of the system, the help function will become
part of the problem, not part of the solution.
Finally, help should teach the user about using the system, not how to do
the job. Thus, in an accounting application, it is appropriate for help to provide
guidance on how to enter debits and credits or post entries to journals. It is
inappropriate to provide guidance on whether an entry should be a debit or
credit, or to which journal an entry is posted.
141