System Analysis PDF
System Analysis PDF
SYSTEM ANALYSIS
Subject: SYSTEM ANALYSIS Credits: 4
SYLLABUS
Design of application
DFDs, form design, screen design, report design, structure chart, data base definition, equipment specification
and selection personnel extimates, I-O design.
Implementation
Data dictionary, decision tables, decision trees, logical design to physical implementation.
Suggested Readings:
COURSE OVERVIEW
The study of data structures is an essential part of virtually This subject is too big to be covered in its entirety in the time
every computer course, as data structures show how data is available, so the aim must be to provide a range of experi-
actually organized and used by the computer. This unit ences, which can be applied to problems, and the performance
provides the student with a range of experiences in using the and resource issues which ensue.
algorithms and data structures that underpin much of today’s This should allow students to develop solutions using data
computing. The various techniques presented should be seen in structures for a range of commercial needs.
i
SYSTEMS ANALYSIS
SYSTEMS ANALYSIS
CONTENT
. Lesson No. Topic Page No.
iii
SYSTEMS ANALYSIS
SYSTEMS ANALYSIS
CONTENT
. Lesson No. Topic Page No.
Lesson 24 Fact recording Flow diagrams 121
iv
CHAPTER-1
LESSON 01: LIFE CYCLE MODELS
SYSTEM DEFINITIONS
Topics Covered based on our own day-to-day experience, as well as the experience
SYSTEMS ANALYSIS
• Introduction to System Concept of scientists and engineers in a variety of fields.
• The System Definitions • Thus, if we understand something of general systems theory,
it can help us better understand computerized (automated)
• Objectives
information systems.
• Introduction to Computer Base Information System (CBIS)
• Today, this is more and more important, because we want to
Objectives build stable, reliable systems that will function well in our
• Upon completion of this Lesson, you should be able to: complex society, and of course, there are many examples of
non-computer systems that have survived for thousands of
• Explain the Nature and Scope of System years.
• Explain the need of system analysis. And now, we can consider a definition of the basic term “system”.
Introduction It provides several definitions:
What is a System? • A regularly interacting or interdependent group of items
Generally we come into daily contact with the transportation forming a unified whole.
system, the telephone system, the accounting system, the • An organized set of ideas, or principles, usually intended to
production system, and for over tow decades, the “computer explain the arrangements or working of a systematic whole.
system”.
• An organized or established procedure.
Introduction to System Concept • Harmonious arrangement or pattern: order.
There are many common types of systems that we come into
contact with every day. It is important to be familiar with different The System Definitions
kinds of systems for at least two reasons: Do u know from where the term system is derived?
• First, even though your work as a systems analyst (we will • The term system is derived from the Greek word systema,
discuss about system analyst in detail in the later lessons)will which means an organized relationship among functioning
probably focus on one kind of system – an automated, units or components.
computerized information system – it will generally be a part • A system exists because it is designed to achieve one or more
of a larger system. objective.
• For example, you may be working on a payroll system, which • Similarly, we talk of the business system and of the organization
is part of a larger “human resources” system, which is, in turn, as a system consisting of interrelated departments (subways
part of an overall business organization (which is itself, a terms) such as production, sales, personnel, and an information
system), which is, in turn, part of al larger economic system, system.
and so on.
• What is an Information System?
• Thus, to make your system successful, you must understand
the other systems with which it will interact. Many of the • An information system is an arrangement of people, data,
computer systems that we build are replacements, or new processes, interfaces, networks, and technology that interact for
implementations of, non-computerized systems that are the purpose of supporting and improving both day-to-day
already in existence. operations in a business (sometimes called data processing), as
well as supporting the problem solving and decision making
• Also, most computer systems interact with, or interface with, a
variety of existing systems (some of which may be needs of management (sometimes called information services).
computerized and some which may not).
What is a Computer Application System?
If our new computer system is to be successful, we must
understand, in reasonable detail, how the current system behaves.
• A computer application is computer-based solution to one or
more business problems and needs. One or more computer
• Second, even though many types of systems appear to be applications are typically contained within an information
quite different, they turn out to have many similarities. system.
• There are common principles and philosophies and theories
that apply remarkably well to virtually all kinds of systems.
• Thus, we can often apply to systems that we build in the
computer field, what we have learned about other systems,
1
There are more than a hundred definitions of the
SYSTEMS ANALYSIS
Production
• A system is an orderly grouping of interdependent components
System linked together according to a plan to achieve a specific objective.
• A system is an organized interacting, interdependent and
integrated set of components/variables/parts. A system has
Sales Personnel objectives/goals.
System System
• Webster dictionary describes system as asset or arrangement of
things so related or connected to from a unity or organization.
Information
System • A system is a set of elements forming an activity or a processing
procedure or a scheme, seeking common goal(s) by operating
on data/energy/matter (inputs) in a time reference to yield
information on energy/output.
• None of these subsystems is of much use as a single, • McGraw-Hill dictionary of computers describes system as a
independent unit. When they are properly coordinated, combination of two or more sets generally physically separated
however, the firm can function effectively and profitably. when in operation, and such other assemblies, sub-assembles,
and pars necessary to perform an operational function(s).
The noun “system” has 9 senses such as.
• System definition is the most critical phase in any manufacturing
1. System project. The functionality and performance of a product are
A group of independent but interrelated elements comprising a defined in this stage, which becomes the basis for determining
unified whole; “a vast system of production and distribution and product specifications and capabilities.
consumption keep the country going”.
The System Concept
2. System
• Ludwig von Bertalanffy, a biologist, developed a general systems
Instrumentality that combines interrelated interacting artifacts
theory that applies to any arrangement of elements such as
designed to work as a coherent entity; “he bought a new stereo
cells, people, societies, or even planets.
system”; “the system consists of a motor and a small computer”.
• Norbert Wiener, a mathematician, observed that information
3. System, System of Rules and communications provide connection links for unifying
A complex of methods or rules governing behavior; “they have fragments or elements. His systems concept of information
to operate under a system they oppose”. theory, which shows the parallel between the functioning of
4. System human beings and electronic systems, laid the foundation for
A procedure or process for obtaining an objective. today’s computer systems.
5. System • Herbert A. Simon, a political scientist, related the systems
A group of physiologically or anatomically related organs or parts; concept to the study of organizations by viewing an ongoing
“the body has a system of organs for digestion”. system as a processor of information for making decisions.
6. System (Arrangement)
• Systems analysis and design for information systems were
founded in general systems theory, which emphasizes a close
An organized structure for arranging or classifying; “he changed
look at all parts of a systems. Too often analysts focus on only
the arrangement of the topics”; “the facts were familiar but it was
one component and overlook other equally important
in the organization of them that he was original”; “he tried to
components.
understand their system of classification”.
• General systems theory is concerned with “developing a
7. System (Physical Chemistry) systematic, theoretical framework upon which to make
A sample of matter in which substances in different phases are in decisions.” . The idea of system has become most practical
equilibrium; “in a static system oil cannot be replaced by water on and necessary in conceptualizing the interrelationships and
a surface”; “a system generating hydrogen peroxide”. integration of operations, especially when using computers.
8.System Thus, a systems is away of thinking about organizations and
The living body considered as made up of interdependent their problems. It also involves a set of techniques that helps
components forming a unified whole; “exercise helped him get in solving problems.
the alcohol out of his system”.
9. System (Organization)
An ordered manner; orderliness by virtue of being methodical
and well organized; “his compulsive organization was not an
endearing quality”; “we can’t do it unless we establish some system
around here”.
2
Introduction to Computer Base • Thus, systems analysis is one of the important techniques that
SYSTEMS ANALYSIS
Information System(CBIS) provide a systematic and broader outlook to understanding,
• Systems analysis and design provide a structural approach to examining and creating or modifying systems to meet specific
the design and development of Computer Base Information objectives. Systems analysis and design is an interactive and
System (CBIS). creative process.
• The tasks involve in the design and development of CBIS can System Analysis Definition
be broadly classified into three categories, namely, • A systematic investigation of a real or planned system to
(a) Systems Analysis. determine the functions of the system and how they relate to
(b) Logical System Design. each other and to any other system.
(c) Physical System Design. • The analysis of the requirements of a task and the expression
of those requirements in a form that permits the assembly of
• Our subject deals with only the first part System Analysis. computer hardware and software to perform the task.
• The second part logical design provides logic for obtaining the • The analysis of the role of a proposed system and the
desired outputs for available inputs.
identification of the requirements that it should meet. SAD
• The third part physical design maps the logical design onto the (System Analysis and Design) is the starting point for system
physical hardware of a computer system. design. The term is most commonly used in the context of
There are many ways of classifying commercial programming, where software developers are often
systems.Common classifications are classed as either systems analysts or programmers. The systems
analysts are responsible for identifying requirements (i.e. systems
• Natural or man-made system.
analysis) and producing a design. The programmers are then
• Closed/open system. responsible for implementing it.
• Conceptual/physical system. • A systematic investigation of a real or planned system to
Natural systems occur in nature, e.g., solar system, whereas man- determine the functions of the system and how they relate to
made systems are specially created for specific objectives, e.g., defense each other and to any other system.
system, telephone system, accounting system, production system, • The Concise Oxford Dictionary of Current English states
etc. Other types are discussed in the later chapters. that system analysis is the analysis of a complex process or
System Analysis–What and Why? operation in order to improve its efficiency.
• Systems analysis is the reduction of an entire system by
studying various operations performed and their relationship • The beginning step of systems analysis, in
within the system; an examination of a business activity with a which the end user’s requirements are defined in
view to identifying problem area and recommending alternative order to get an idea of what kind of system must be designed
solutions. to meet those needs.
• System analysis thus emerges as a means through which the Types of Information Systems
total system is conceived, designed, implemented and made Organisations and individuals use different types of systems for
operational to achieve the desired objective. different purposes. Here are some of the main types of
• Thus, systems analysis specifically information systems and their uses.
• Offers a means to greater understanding of the complex Transaction processing system (TPS)
structures. A TPS collects and stores information about transactions, and
• Is a means to trade off between functional requirement of a controls some aspects of transactions. A transaction is an event
subsystem (component) and its immediately related of interest to the organisation. e.g. a sale at a store.
subsystem? A Tps is A Basic Business System. It
• Helps in understanding and comparing functional impacts of • Serves the most elementary day-to-day activities of an
subsystems to the total systems. organisation;
• Helps in achieving inter-compatibility and unity of purpose of • Supports the operational level of the business;
subsystems. • Supplies data for higher-level management decisions.
• Helps in discovering means to design systems where subsystem • Is often critical to survival of the organisation
may have apparently conflicting objectives.
• Mostly for predefined, structured tasks
• Helps in placing each subsystem in its proper perspective and
context, so that the system as a whole may best achieve its • Can have strategic consequences (eg airline reservation system)
objective with minimum available resources. It this creates • Usually has high volumes of input and output
synchronization between system and objectives.
3
• Provides data which is summarised into information by systems tools are often integrated (e.g. Word processor can import a graph
SYSTEMS ANALYSIS
used by higher levels of management from a spreadsheet) and designed for easy operation.
• Need to be fault-tolerant. OAS Subspecies
On-line transaction processing: A transaction processing mode in Communication systems: helps people work together by sharing
which transactions entered on-line are immediately processed by information in many different formsTeleconferencing (including
the CPU. audioconferencing, computer conferencing, videoconferencing),
Sub-species of TPS: electronic mail, voice mail, fax
Groupware system: helps teams work together by providing access
Manufacturing and production systems
to team data, structuring communication, and making it easier to
Systems that supply data to operate, monitor and control the
schedule meetings. For sharing information, controlling work
production process. e.g. purchasing, receiving, shipping, process
flows, communication/integration of work
control, robotics, inventory systems, scheduling, engineering,
operations, quality control, resource management etc. Management information system (MIS)
converts TPS data into information for monitoring performance
E.G. A system in a factory that:
and managing an organisation. Transactions recorded in a TPS are
• Gets information from measuring samples of products analyzed and reported by an MIS.
• Does statistical analysis of samples They have large quantities of input data and they produce summary
• Shows when operators should take corrective action reports as output. Used by middle managers. An example is an
Sales and Marketing systems: Systems that support the sales and annual budgeting system.
marketing function by facilitating the movement of goods and Executive information system (EIS)
services from producers to customers. Also known as an Executive Support System (ESS), it provides
Examples: executives information in a readily accessible, interactive format.
They are an MIS for executive use. An EIS/ESS usually allows
• Sales support - keep customer records, follow-up
summary over the entire organisation and also allows drilling
• Telemarketing - use phone for selling down to specific levels of detail.
• Order processing - process orders, produce invoices, supply Used by top level (strategic) management. They are designed to
data for sales analysis and inventory control the individual. They let the CEO of an organisation tie in to all
• Point-of-sale - capture sales data at cash register often by scanner levels of the organisation. They are very expensive to run and
• Customer credit authorisation - advise on credit to be allowed require extensive staff support to operate.
to customer. Decision support system (DSS)
• Example: A Store’s Sales System would: helps strategic management staff (often senior managers) make
• Automatically record and total purchase transactions and prints decisions by providing information, models, or analysis tools.
out a packing list For support of semistructured and unstructured decisions
(structured decisions can be automated). Used for analytical work,
• Improve customer service
rather than general office support.
• Maintain customer data
They are flexible, adaptable and quick. The user controls inputs
Finance & Accounting Systems: Systems that maintain records and outputs. They support the decision process and often are
concerning the flow of funds in the firm and produce financial sophisticated modelling tools so managers can make simulations
statements, such as balance sheets and income statements.e.g. for and predictions.
Budgeting; General Ledger; Billing: Cost Accounting, Accounts
Their inputs are aggregate data, and they produce projections. An
Receivable / Payable; Funds Management Systems, Payroll. They
example job for a DSS would be a 5 year operating plan.
were among the earliest systems to be computerised.
Knowledge Work Systems (Kws) are used by technical staff.
Examples of financial systems: cash management, loan
KWS use modelling functions to convert design specifications
management, check processing, securities trading, Example: Visa’s
into graphical designs. They may include computer-aided design/
Credit Card payment system.
manufacture (CAD/CAM).
Human Resources System: Systems that deal with recruitment,
placement, performance evaluation, compensation, and career Summary
development of the firm’s employees. • A system is an orderly grouping of interdependent components
Examples: personnel record keeping, applicant tracking. linked together according to a plan to achieve a specific objective.
• Example business system has subsystems production, sales,
Office automation system (OAS)
personnel, and an information system which can also be a
OAS provides individuals effective ways to process personal and
system.
organisational data, perform calculations, and create documents.
e.g. word processing, spreadsheets, file managers, personal • CBIS can be broadly classified into three categories, namely,
calendars, presentation packages For are used for increasing
personal productivity. They reduce “paper warfare”. OAS software
4
Systems Analysis. References
SYSTEMS ANALYSIS
Logical System Design. Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and quantitative
techniques
New Delhi : Galgotia Publications, 1997
Physical System Design.
Hawryszkiewycz, Igor
System Analysis Definition Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Refer to Website address
http://www.sce.carleton.ca
http://www.umsl.edu
Notes
5
SYSTEMS ANALYSIS
LESSON 02:
OBJECTIVE OF THE SYSTEM
6
In a large organization, the initiation of a systems development
SYSTEMS ANALYSIS
project is usually much more formalized.
Whenever possible, the systems analyst should try to establish
direct contact with the user. Even if other people are involved as
intermediaries, it is important to have regular, face-to-face meeting
with the person who will ultimately inherit the system.
If it is not possible to communicate directly with the user, then
the documentation produced by the systems analyst becomes even
more crucial.
The heterogeneity of Users
One mistake often made by computer programmers, and
sometimes by systems analysts is to assume that all users are the
same.
“User” implies that the systems analyst will only have to interact
with one person, even when it is obvious that more than one user
is involved, there is a tendency to think of them as a formless,
shapeless, homogeneous group of humans.
Participants to system development Job category,
In the role of a systems analyst, you will work on systems or level of
development projects with a variety of other people. The cast of Supervision.
characters will change from project to project, the personalities will
differ dramatically, and the number of people that you interact
Here are two ways of categorizing users:
with will range from as few as one to as many as several dozen.
Level of
However, the roles are fairly consistent, and you will see them over
experience
and over again.
withdata
In a typical systems development project, there are the following
processing
major categories of players:
• ·User
Categorizing Users by Job category
• Management
On a typical systems analysis project, we can usually count on
• Auditors, quality assurance people, and ‘standards bearers” interacting with three main job categories:
• Systems analysts
(a) Operational users:
• Systems designers are the clerical, operational, and administrative people most likely
• Programmers to have the most day-to-day contact with the new system. There
• Operations personnel are three things should be kept in mind when working with
operational-level users:
Users • Operational users are very much concerned with the functions
The user, the most important player in the systems game, is the
that the system will perform, but they are likely to be even
person (or group of people) for whom the system is being built.
more concerned with the human interface issues.
He or she is the person, whom will be interviewed, often in great
• Operational users tend to have a “local” view of the system,
detail, to learn what features the new system must have to be
they tend to be knowledgeable about the specific job that they
successful.
do and the people with whom they have immediate contact.
The user is the “owner” in the sense that he or she receives, or But they often are unfamiliar with the “big picture”, that is,
inherits-and thus owns- the system when it is finally built. And they may have trouble describing how their activity fits into the
the user is the “customer” in at least two important respects: overall organization or what the overall organization’s chart
1. As in so many other professions, “the customer is always really is.
right”, regardless of how demanding, unpleasant, or irrational • Operational users tend to think of systems in very physical
he or she may seem. terms, that is, in terms of the implementation technology
2. The customer is ultimately the person paying for the system currently used to implement the system or in terms of
and usually has the right and/or the ability to refuse to pay if technology that they imagine could be used.
he or she is unhappy with the product received.
(b) Supervisory users are employed in a supervisory
Who makes a formal request for a system? capacity:
In most cases, it is fairly easy to identify the user: the user is They usually manage a group of operational users and are
typically the person who makes a formal request for a system. responsible for their performance. The significant things to
In a small organization, this is usually a very informal process. remember about supervisory users are these
7
• Many of them are former operational users who have been produce a variety of internal reports and short-term trend
SYSTEMS ANALYSIS
8
The systems analysts deliver their product to the system designers, 4
SYSTEMS ANALYSIS
and the system designers deliver their product to the programmer. 5
There is another reason why the systems analyst and the Who are the systems analyst’s customers and partners in systems
programmer may have little or no contact with each other: work is development.
often performed in a strictly serial sequence in many systems 1
development projects.
2
Thus, the work of systems analysis takes place first and is
3
completely finished before the work of programming begins.
4
Operations personnel
5
The operations personnel who are responsible for the computer
What business trends are influencing the careers of systems
center, telecommunications network, security of the computer
analysts?
hardware and data, as well as the actual running of computer
programs, mounting of disk packs, and handling of output from 1
computer printers. 2
All this happens after a new system has not only been analyzed 3
and designed, but has also been programmed and tested. 4
Summary 5
Objective of a System How can you prepare yourself for a career as a systems or business
Methodology of Systems Analysis analyst?
1
1. Identification of objectives
2
2. Development of a system model
3
3. Evaluation of alternatives
4
Participants in system development project
User Management Auditors, quality assurance people, and 5
‘standards bearers” Systems analysts Systems designers What does the future hold for systems analysts?
Programmers Operations personnel 1
Questions 2
What is the systems analyst’s role and responsibilities in the 3
modern business?
4
1
5
2 List down the various participants in the system development
3 1
4 2
Why are organizations recruiting computer end-users to partner
3
with the traditional systems analyst?
4
1
5
2
On what basis you categorize the users. Give your explanation
3 below.
4 1
5 2
On what basis we choose the model for a project?
3
1
4
2
5
3
4
5
List down the career opportunities for systems analysts?
1
2
3
9
References
SYSTEMS ANALYSIS
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Website address
http://www.sce.carleton.ca
http://www.umsl.edu
Notes
10
LESSON 03:
SYSTEMS ANALYSIS
ROLE OF SYSTEM ANALYST
11
The SDLC usually incorporates the following • This center manages the data and information resource in the
SYSTEMS ANALYSIS
12
• Experienced systems analysts often play key roles in • A user is a person, or group of persons, for whom the systems
SYSTEMS ANALYSIS
development. analyst builds and maintains business information systems
• Information Technology Competency Centers and computer applications. A common system is client.
• The centers provide a pool of technology specific specialists, • There are at least two specific user/customer groups: system
which are provided to both, centralized and decentralized units users and system owners.
for project work. • System users are those individuals who either have direct contact
• Each expert contributes their expertise to any project to which with an information system or application or they use
they are assigned, for both centralized and decentralized projects information generated by a system.
• Cross Functional Systems and Applications Development • System owners provide sponsorship of information systems
and computer applications. In other words, they pay to have
• This center develops and supports the shared information
the systems and applications developed and maintained.
systems and cross-functional applications for the business.
A manager can also be one of the end users of a system.
• This center employs experienced systems analysts.
• As projects are started and completed, both systems analysts Two types of system users
and technical specialists are assigned to and released from project • Information technology managers and system analysts are
teams. making a demonstrated attempt to get closer to their customers
• Departmental Computing Coordination by forming a partnership.A manager can also be one of the end
users of a system.
• This unit provides both consulting services and quality
management services to the decentralized information and • Two types of system users:
computing centers. • Traditionally, most system users were internal users, that is
• Experienced systems analysts may be employed here to help employees of the business for which a system or application is
establish standards and guidelines, and to provide training designed.
and consultation to departmental projects. • Today’s user community includes external users as businesses
seek to make their information systems and applications
Consulting
interoperate with other businesses and the consumer.
1. A variation on consulting firms is systems integration.
• Information technology managers and system analysts are
• System integration involves helping organizations integrating making a demonstrated attempt to get closer to their customers
systems and applications that don’t work together properly, or by forming a partnership.
that run on very different technical platforms from different
The Roles of Management and Users in Systems Problem Solving
computer manufacturers.
• Systems analysts that specialize in systems integration are The roles of management and users in
frequently called systems engineers or systems integrators. • Implementation
Application Software Solution Providers • Users participate in system construction and testing. They are
the recipients of training necessary to enable the full user
• Application software solution providers are in the business of
community to work with the solution.
building information systems and application software packages
for resale to other businesses. • Support
• Many businesses have a policy of not building any system they • Users and management should routinely evaluate the working
can purchase. solution and suggest improvements.
• Software packages are typically written to the greatest common Modern Business Trends and Implications for the System Analyst
denominator of their intended market – that is, they are Systems analysts must keep up with rapidly changing technologies,
designed to meet general requirements and offer limited but today’s priorities are rapidly shifting from technology-driven
customizability. solutions to business-driven solutions.
• Software and solutions vendors usually hire two types of Total Quality Management (TQM)
systems analyst. • One of the major business trends of the 1990s is Total Quality
• Software engineers, are responsible for designing (and Management.
programming) the package itself. • Total Quality Management or TQM is a comprehensive
• Sales engineers, are responsible for helping customers that approach to facilitating quality improvements and management
purchase the package to integrate it into their business within a business.
operations. • TQM commitments require every business function, including
Customers, Partners and Expectations information services, identify quality indicators, measure quality,
and make appropriate changes to improve quality.
• Customers – Users and Management
• TQM impacts systems analysts on at least two fronts.
What is a user?
13
• First, the very nature of systems analysis encourages analysts to • Competition became global with emerging industrial nations
SYSTEMS ANALYSIS
look for business quality problems. offer lower cost or higher quality alternatives to many products.
• The two most important questions in the analyst’s repertoire • Most businesses have been forced to reorganize to compete
are ‘why’ and ‘why not.’ globally
• Second, systems analysis and design provides the specifications • Systems analysts are affected by the following:
for the #1 quality problem in modern information systems • Information systems and computer applications must be
buggy software. internationalized.
• Incomplete and inconsistent specifications from analysts are a • They must support multiple languages, currency exchange rates,
significant contributor to poor software quality. international trade regulations, accepted business practices
Business Process Redesign (BPR) (which differ in different countries), and so forth.
• Total quality management has forced many businesses to • Most information systems ultimately require information
radically rethink and redesign their fundamental business consolidation for the purpose of performance analysis and
processes. decision-making.
• Business process redesign is the study, analysis, and redesign Working Knowledge of Information
of fundamental business processes to reduce costs and Technology
improve value added to the business. • The systems analyst is an agent of change.
• A BPR project begins with identification of a value chain, a • The systems analyst is responsible for showing end-users and
combination of processes that should result in some value to management how new technologies can benefit their business
the business. and its operations.
• The business processes are documented and analyzed in • The systems analyst must be aware of both existing and
excruciating detail. emerging information technologies and techniques.
• The business processes are subsequently streamlined for Computer Programming Experience and
maximum efficiency. Expertise
• The new business processes are analyzed for opportunities for
• A systems analyst must know how to program because they
further improvement through information technology.
are the principle link between business users and computer
• Systems analysts figure prominently in BPR because: programmers.
• Systems analysts are often included in BPR projects because • It is wrong to assume that a good programmer will become a
their ‘system’ perspective is valued. good analyst or that a bad programmer could not become a
• The skill competencies for BPR and systems analysis and design good analyst.
are somewhat similar. • Most systems analysts need to be proficient in one or more
• A typical BPR project identifies several opportunities for new high-level programming languages.
and revised computer applications (which systems analysts • Historically, the language of choice has been COBOL for
facilitate). business applications, but many organizations are shifting to
Continuous Process Improvement (CPI) visual programming languages or to object-oriented
programming languages .
• Another TQM related trend is continuous process
improvement. • The reasons for the shift are as follows:
• Continuous process improvement is the continuous • The transition to graphical user interfaces.
monitoring of business processes to affect small but measurable • The desire to downsize applications from the mainframe to
improvements to cost reduction and value added. networks of PCs.
• In a sense, CPI is the opposite of BPR. • The pressures to improve productivity in applications
• BPR is intended to implement dramatic change. development through rapid, iterative prototyping and the reuse
of programming modules called objects and components.
• CPI implements a continuous series of smaller changes.
• Visual and object-oriented programming requires a completely
• Another TQM related trend is continuous process
different style of program design, construction, and testing.
improvement.
• Continuous process improvement is the continuous General Business Knowledge
monitoring of business processes to affect small but measurable • The systems analysts are expected to immerse themselves in
improvements to cost reduction and value added. the business and be able to specify and defend technical
• In a sense, CPI is the opposite of BPR. solutions that address the bottom-line value returned to the
business.
• BPR is intended to implement dramatic change.
• Systems analysts should be able to communicate with business
• CPI implements a continuous series of smaller changes. experts to gain knowledge of problems and needs.
Globalization of the Economy
14
• It is not uncommon for systems analysts to develop so much • Systems analysts must be very careful not to tell sensitive and
SYSTEMS ANALYSIS
expertise over time they move out of information systems private data and information about customers, suppliers,
and into the user community. employees with the wrong people.
Problem-Solving Skills • Systems analysts must not take (or sell) designs and programs
they developed to another company.
• The systems analyst must have the ability to take a large business
problem, break that problem down into its component parts, • Systems analysts have a moral obligation to set a good example
analyze the various aspects of the problem, and then assemble for end-users and management, especially in the area of software
an improved system to solve the problem. copyrights.
• The systems analyst must learn to analyze problems in terms Systems Analysis and Design Skills
of causes and effects rather than in terms of simple remedies. • All systems analysts need thorough and ongoing training in
• The systems analyst must be well organized. systems analysis and design.
• System analysts must be able to creatively define alternative • Systems analysis and design skills can be conveniently factored
solutions to problems and needs. into three subsets:
Preparing For a Career as a Systems • Concepts and principles
Analyst • Tools
Interpersonal Communications Skills • Techniques
• The systems analyst must be able to communicate effectively, Summary
both orally and in writing.
System Analysts
• The systems analyst should have a good command of the Systems analysts are people who understand both business and
English language. computing. Systems analysts study business problems and
• Almost without exception, communications skills, not technical opportunities and then transform business and information
skills, prove to be the single biggest factor in career success or requirements of the business into the computer-based information
failure. systems and computer applications that are implemented by
• Systems analysts work in teams composed of IS professionals, various technical specialists including computer programmers.
end-users, and management. Business needs for System Analyst
• Being able to cooperate, to comprise, and to function as part The system analyst bridges the communications gap between those
of a team, is critical for success in most projects. who need the computer and those who understand the technology.
• Because development teams include people with dramatically Tips for a career as system analyst
different levels of education and experience, group dynamics is Good Communication skills, Flexibility and adaptability, system
an important skill to develop. analysis and design skills
Flexibility and Adaptability Questions
• No two systems development projects encountered by a systems Why we need a system analyst?
analyst are identical. 1
• There is no single, magical approach or solution applicable to 2
systems development.
3
• Successful systems analysts learn to be flexible and adapt to
4
special challenges or situations presented by specific systems
development projects. 5
• The systems analyst must be able to recognize when variations What are the major roles of system analyst?
upon (or single-instance exceptions to) development standards 1
are necessary and beneficial to a particular project. 2
• The systems analyst must be aware of the implications of not 3
following the standards.
4
Character and Ethics 5
• The nature of the systems analyst’s job requires a strong character Why do business need system analyst?
and sense of ethics.
1
• Ethics is a personal character trait in which an individual(s)
understands the difference between ‘right’ and ‘wrong’ and 2
acts accordingly. 3
• Systems analysts must be very careful not to share their 4
organization’s sensitive and secret information with others, 5
either within or outside the organization.
15
Explain about modern business trends and implications for
SYSTEMS ANALYSIS
system analyst.
1
2
3
4
5
Give some tips to become a system analyst(career).
1
2
3
4
5
What qualities you look for in a good Systems Analyst.
References
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Refer to Website address
http://www.sce.carleton.ca
http://www.wiwd.uscourts.gov
http://www.masi.com
Notes
16
LESSON 04:
SYSTEMS ANALYSIS
ELEMENTS OF SYSTEMS
Topics Covered • The processor is the element of a system that involves the
Elements of systems actual transformation of input into output.
17
• Equipment. • Reliability: includes preventive maintenance, backup alternatives,
SYSTEMS ANALYSIS
18
• Equipment needed for input and output Elements of a system
SYSTEMS ANALYSIS
• Location • Outputs
• Permanence: what happens if lost? Security measures? • Inputs.
• Accessibility and privacy considerations • Processor(s).
• Importance or value (cost) • Control.
• Replacement and/or backup • Feedback.
Procedures And Programming • Environment.
19
Heuring, Vincent P.
SYSTEMS ANALYSIS
Notes
20
LESSON 05:
SYSTEMS ANALYSIS
CHARACTERISTICS OF A SYSTEM
President Formal
Organizational
Positions
Lines of
Authority
Department Head Department Head
Assembly Painting
21
• Interdependence is illustrated by the activities and support of
SYSTEMS ANALYSIS
User
Area System Analysis Programming Operations
Integration
Ø Integration refers to the holism of systems.
Ø Integration is concerned with how a system is tied together.
Ø It means that parts of the system work together within the
system even though each part performs a unique function.
Central objective
The last characteristics of a system are its central objective. Objective • The above figure is an integrated information system designed
may be real or stated. The stated objective may be a real objective. to serve the needs of authorized users (department heads,
Example managers, etc.) for quick access and retrieval via remote terminals.
To illustrate these system characteristics, Figure above named Major The interdependence between the personnel subsystem and
Subsystem of a production firm( Higher-Level Subsystem) the organization’s users is obvious.
• Shows three levels of subsystems. Each of the top inner circles • In summary, no subsystem can function in isolation because it
represents a major subsystem of a production firm. is dependent on the data (inputs) it receives from other
subsystems to per- form its required tasks. Interdependence is
• The personnel subsystem, in turn, may be viewed as a system further illustrated by the activities and support of systems
that consists of subsystems such as benefits, health and safety,
analysts, programmers, and the operations staff in a computer
and employment. Health and safety as a key personnel
center.
subsystem consists of lower-level elements that are considered
vital in personnel operation. • A decision to computerize an application is initiated by the
user, analyzed and designed by the analyst, programmed and
• Each element may he represented by a computer-based package tested by the programmer, and run by the computer operator.
or is part of a human resource database that provides
information on unemployment, insurance benefits, and the As shown in Figure below, none of these persons can perform
like. properly without the required input from others in the computer
center subsystem.
Integrated Information system
22
Review Questions 4. Who participate in system development? Please tell the role of
SYSTEMS ANALYSIS
1. From your understanding of this lesson, do you need a each of them.
computer to do systems analysis? Discuss. 5. What is system development life cycle? What are its
1 components? Which part in the life cycle does each of the
participating system developers handles?
2
6. From what perspectives are the system requirements viewed?
3
7. What are the purposes of system survey? Please tell several
4
popular system survey methods.
5
8. Why is survey report necessary? What is an adequate and detail
2. Take an organization with which you are familiar and examine survey report like?
the following:
References
a. Primary subsystems.
Heuring, Vincent P.
b. Characteristics.
Computer systems design and architecture
c. Elements.
Delhi : Pearson Education Asia, 1997
d. Purpose.
Whitten, Jeffrey L.
1 Systems analysis and design methods
2 5th ed. New Delhi : Galgotia Publications, 2001
3 Shelly, Gary B.
4 Systems analysis and design
5 3rd ed. New Delhi : Galgotia Publications, 1999
1. List the parts and functions of the following systems: Awad, Elias M.
a. Microcomputer. Systems analysis and design
b. Stapler. New Delhi : Galgotia Publications, 1997
c. Your business school or department. Hoffer, Jeffrey A.
Modern systems analysis and design
1
2nd ed. Delhi : Pearson Education Asia, 2000
2
Sarkar, A.K.
3
Systems analysis, data processing and
4
quantitative techniques
5
New Delhi : Galgotia Publications, 1997
4. Consider an automobile and a hospital as two systems. Identify
Hawryszkiewycz, Igor
the following as an input and/or output for each system:
Introduction to systems analysis & design
a. Batteries.
4th ed. New Delhi : Prentice Hall of India, 2002
b. Cured patients.
Refer to Website addres
c. Doctors.
http://www.sce.carleton.ca
d. Driver’s performance.
http://www.wiwd.uscourts.gov
e. Drugs.
http://www.umsl.edu
f. Gasoline.
g. Information.
h. Motion.
i. A patient who died.
j. Tires.
k. X-ray machine
Questions
1. What is system, give some definitions of system?
2. How do you distinguish natural systems and man-made
systems?
3. Please list some automated systems and the rules to build
them up.
23
LESSON 06:
SYSTEMS ANALYSIS
Physical systems include such diverse example as: 10. The supporter, which maintains the proper spatial relationships
among components of the systems, so that they can interact
Stellar systems: galaxies, solar systems, and so on.
without weighing each other down or crowding each other.
Geological systems: rivers, mountain ranges, and so on. 11. The input transducer, which brings markers bearing
Molecular systems: complex organizations of atoms. information into system, changing them to other matter-energy
• Physical systems are interesting to study because we sometimes forms suitable for transmission within it.
want to modify them. We also develop a variety of man-made 12. The internal transducer, which receives, from other subsystems
systems, including computer systems, which must interact or components within the system,.
harmoniously with physical systems; so it is often important 13. The channel and net, which are composed of a single route in
to be able to model those systems to ensure that we understand physical space, or multiple interconnected routes, by which
them as fully as possible. markers bearing information are transmitted to all parts of the
• Living systems encompass all of the myriad animals and plants system.
around us, as well as our own human race. The properties and
24
14. The decoder, who alters the code of information input to it We can distinguish many different kinds of automated systems,
SYSTEMS ANALYSIS
through the input transducer or internal transducer into a private but they all tend to have common components:
code that can be used internally by the system. 1. Computer hardware (CPUs, disks, terminals, and so on).
15. The associator, which carries out the first stage of the learning 2. Computer software: system programs such as operating systems,
process, forming enduring associations among items of database systems, and so on.
information in the system.
3. People: those who operate the system, those who provide its
16. The memory, which carries out the second stage of the learning inputs and consume its outputs, and those who provide
process, storing various sorts of information in the system for manual processing activities in a system.
different periods of time.
4. Data: the information that the system remembers over a period
17. The decider, which receives information inputs from all other of time.
subsystems and transmits to them information outputs that
5. Procedures: formal policies and instructions for operating the
control the entire system.
system.
18. The encoder, who alters the code of information input to it
One way of categorizing automated systems is by application.
from other information processing subsystems, from a private
code used internally by the system into a public code that can be However, this turn out not to be terribly useful, for the techniques
interpreted by other systems in its environment. that we will discuss for analyzing, modeling, designing, and
implementing automated systems are generally the same regardless
19. The output transducer, which puts out markers bearing
of the application.
information from the system, changing markers within the
system into other matter-energy forms that can be transmitted A more useful categorization of automated systems is as follows:
over channels in the system’s environment. 1. Batch system: A batch system is one which in it, the information
Keep in mind that many man-made systems (and automated is usually retrieved on a sequential basis, which means that the
systems) interact with living systems. In some cases, automated computer system read through all the records in its database,
systems are being designed to replace living systems. And in other processing and updating those records for which there is some
cases, researchers are considering living systems as components of activity.
automated systems. 2. On-line systems: An on-line system is one, which accepts
input directly from the area where it is created. It is also a
Man-made systems
system in which the outputs, or results of computation, are
Man-made systems include such things as: returned directly to where they are required.
1. Social systems: organizations of laws, doctrines, customs, and 3. Real-time systems: A real-time system may be defined as one
so on. which controls an environment by receiving data, processing
2. An organized, disciplined collection of ideas. them, and returning the results sufficiently quickly to affect the
3. Transportation systems: networks of highways, canals, airlines environment at that time.
and so on. 4. Decision-support systems: These computer systems do not
4 Communication systems: telephone, telex, and so on. make decisions on their own, but instead help managers and
5. Manufacturing systems: factories, assembly lines, and so on. other professional “knowledge workers” in an organization
make intelligent, informed decisions about various aspects of
6. Financial systems: accounting, inventory, general ledger and so the operation. Typically, the decision-support systems are
on. passive in the sense that they do not operate on a regular basis:
• Most of these systems include computers today. instead, they are used on an ad hoc basis, whenever needed.
• As a systems analyst, you will naturally assume that every system 5. Knowledge-based systems: The goal of computer scientists
that you come in contact with should be computerized. And working in the field of artificial intelligence is to produce
the customer or user, with whom you interact will generally programs that imitate human performance in a wide variety of
assume that you have such a bias. “intelligent” tasks. For some expert systems, that goal is close
• A systems analyst will analyze, or study, the system to determine to being attained. For others, although we do not yet know
its essence: and understand the system’s required behavior, how to construct programs that perform well on their own, we
independent of the technology used to implement the system. can begin to build programs that significantly assist people in
• In most case, we will be in a position to determine whether it their performance of a task.
makes sense to use a computer to carry out the functions of General systems principles
the system only after modeling its essential behavior. There are a few general principles that are of particular interest to
• Some information processing systems may not be automated people building automated information systems. They include
because of these common reasons: Cost; Convenience; Security; the following:
Maintainability; Politics. 1. The more specialized a system is, the less able it is to adapt to
Automated systems different circumstances.
Automated systems are the man-made systems that interact with 2. The more general-purpose a system is, the less optimized it is
or are controlled by one or more computers. for any particular situation. But the more the system is
25
optimized for a particular situation, the less adaptable it will be Automated system
SYSTEMS ANALYSIS
• For example, the physical parts of the computer center are the 1
offices, desks, and chairs that facilitate operation of the 2
computer. 3
• They can be seen and counted; they are static. 4
• But a programmed computer is a dynamic system. 5
• Data, programs, output, and applications change as the user’s References
demands or the priority of the information requested changes.
Heuring, Vincent P.
Abstract System Computer systems design and architecture
• Abstract systems are conceptual or nonphysical entities. Delhi : Pearson Education Asia, 1997
• They may be as formulas of relationships among sets of Whitten, Jeffrey L.
variables or models. Systems analysis and design methods
• A model is a representation of a real or a planned system. 5th ed. New Delhi : Galgotia Publications, 2001
• The use of models makes it easier for the analyst to visualize Shelly, Gary B.
relationships in the system. Systems analysis and design
Review 3rd ed. New Delhi : Galgotia Publications, 1999
26
LESSON 07:
SYSTEMS ANALYSIS
TYPES OF MODELS
27
SYSTEMS ANALYSIS
Performance Models
A performance model describes the program’s resource usage
during computing.
• Total performance
• A function from input to measures
• Typically structured
• Contributing factors
Several kinds of performance models
• Execution structure
• Typically control flow
• Resource usage
• Typically time
Flow Graph
A simple model of performance; a timed flow graph
28
Problems System state
SYSTEMS ANALYSIS
• Choices, repetitions • Jobs
• Parallelism • Queuing discipline (FCFS, LCFS-PR, RR, PS, SJF, SRT, etc.)
• Locks Usage
Petri Nets • Servers as system components
A Petri net consists of • Jobs moving from one component to another
• Nodes Example
• Places P Below a simple system:
• Transitions T • Servers with queues are system’s shared resources
• Directed edges P-T or T-P • No competition for resources in queueless servers
System state • Infinite servers, delay servers
• Depicted with tokens
• Changed by a firing event
• Triggering an event
Usage
• Describing parallelism
• Describing locking
Example
Several kinds of Petri nets
• Amount of edges
• Amount of tokens
Usage of a critical resource
Performance
• Service times
• Branching probabilities
• Static values
• Several job types
The queuing discipline is essential for solvability of the model.
Extended Queuing Networks
Several locking and competition situations can’t be described by
using an ordinary queueing network.
• Extensions neccessary
• New types of nodes
• More difficult to solve
Describing performance via Petri nets
• Timed events
• Stochastic events
• Static values
Queuing networks
Queuing networks consist of
• Nodes
• Queuing servers
• Queueless servers
• Directed graphs
29
Above: a queued resource (REQ-REL)
SYSTEMS ANALYSIS
30
The model may be used in several ways in a Analytical Solution
SYSTEMS ANALYSIS
simulation Analytical solution of net models is often based on statistical
• Continuous analysis.
• One-shot inputs • Static analyysi
Example G (n, p) • Model states
G(n, p) is a commonly used input model in the analysis of network • State transformations
algorithms Markov state graph
• Statistical
• Efficiently executable
• One-shot
G (n, p) chooses a single net from the set of all
graphs
• N nodes in the graph
• Probability of each edge is p
• Expected value of edges p*n^2 (directed) A probability for each state (steady-state analysis).
Properties • Solve the equations related to the state graph
• Suitable for local algorithms • Difficult to solve
• Unsuitable for structural inspection In practice more efficient methods are used
• A giant component in the graph • Also approximate methods
Model Interpretation Simulation
The measurement of performance as a function of input
In simulation, the model is executed
parameters is what should be solved from a performance model
• Performance goal • Dynamical analysis
• Differnet views on the same model • Simulation program
• Can be solved well, but requires computation
Simulation can be
• Continuous (steady-state)
• Repetition of experiments with parameter variations
Tools needed for
• Statistical processing
• Input generation
• System warm-up
Result consistent with reality?
• Verification
• Validation
Simulation Example I
Job-based simulation
A sample from a program
• Queuing network model
• Steady-state
job(char *name) {
create(name);
while (completions < warm_up + measure) {
For instance, a demand on response time may limit throughput. reserve(cpu);
hold(10.0);
release(cpu);
if (prob() < 0.5) {
reserve(disk1);
hold(20.0);
31
release(disk1); Review
SYSTEMS ANALYSIS
32
LESSON 08:
SYSTEMS ANALYSIS
OVERVIEW OF SDLC
by different names. Also, there are no definite rules regarding Delivery Can the customer use the solution?
Maintenance Are enhancements/changes needed?
what must be included in each of the six phases. Corrective - repair errors
Adaptive - modify software to adapt to changes in environment
What is Feasibility? Perfective - providing new functionality for new requirements
Preventive - improving the system's maintainability
Feasibility Study
• This phase determines the objectives of the feasibility study
and who this task belongs to — analysts or the project team? • A number of people work on such a project for a very long
• It lists out the steps required to complete a feasibility study, time and therefore the whole process needs to be controlled:
identifies the scope of the current system, problems and progress needs to be monitored, people and resources need to
unexploited opportunities in the current system, which may be allocated at the right point in time, etc.
be either manual or automated. • To understand system development, we need to recognize that
• It then discusses the major objectives for the new system, and a candidate system has a life cycle, just like a living cycle, just like
the various methods to gather data and determine how to use a living system or a new product.
the methods. • System analysis and design are keyed to the system life cycle.
• It also helps to estimate the costs of each possible solution, The stages are shown below
and develops estimates of the benefits and shortcomings of • The analyst must progress from one stage to another
each solution. methodically, answering key questions and achieving results in
It presents users and the management views on the above issues each stage.
and their decision of whether to commit to the analysis part of • A word of caution regarding life cycle activities: we isolate and
the project. sequence these activities for learning purposes, but in real life
This phase may be included with some related sub phases: they overlap and are highly interrelated.
Current physical model: • For example, when the analyst is evaluating an existing
operation, he/she is probably thinking about an alternative
The description of the system as it is now, including the way that would improve the system or wondering whether a
mechanisms used to accomplish tasks (e.g., people, devices). given piece of hardware would be a critical cost item to consider
Current logical model: The system description in term of for a candidate system.
functions, processes, and data with the mechanisms removed. Therefore, there can easily be overlap during any phase of the cycle.
New Logical Model: The Current Logical Model with new In fact, it may act as a basis for modifying earlier steps taken. We
features added. now describe each of these steps.
New Physical Model: The Current Logical Model with the various Recognition of Need – What Is the Problem?
processes allocated to automation, manual procedures, other One must know what the problem is before it can be solved. The
mechanisms. basis for a candidate system is recognition of a need for improving
Purpose of Stages of the SDLC information system or a procedure.
33
• It entail looking into the duplication effort, bottleneck,
SYSTEMS ANALYSIS
34
• User-originated ideas also prompt initial investigations. 1. Statement of the problem- a carefully worded statement of
SYSTEMS ANALYSIS
• For example, a bank’s need teller has been noticing long the problem that led to analysis.
customer line in the lobby. 2. Summary of finding and recommendation-a list of the major
• She wants to know whether they are due to the computer’s finding and recommendations of the study. It is ideal for the
slow responses to inquiries, the new tellers limited training, or user who requires quick access to the results of he analysis of
just a sudden increase in bank business. the system under study. Conclusions are stated, followed by a
list of the recommendations and a justification for them.
• To what extent and how quickly a user-originated idea is
converted to a feasibility study depend on several factors: 3. Details of findings- an outline of he methods and procedures
undertaken by the existing system, followed by coverage of he
• The risks and potential returns.
objective and procedures of he candidates system. Included are
• Management’s bias toward the user. also discussion of output report, file structures, and costs and
• Financial costs and the funds available for system work. benefits of the candidate system.
• Priorities of other projects in the firm. 4. Recommendations and conclusions- Specific recommendations
• The persuasive ability of the user. regarding the candidate system, including personnel
assignments, costs, project schedules, and target dates.
• All these factors are crucial for a prompt response to a user
request for change. • After management reviews the proposal, it becomes a form
agreement that paves the way for actual design and
• A system analyst is in a unique position to detect and even implementation.
recommend change.
• This is a crucial decision point in the life cycle. Many project die
• Experience and previous involvement in the user area of here, whereas the more promising ones continue through
operations make him/her a convenient resource for idea.
implementation.
• The role and status of the analyst as a professional add credibility
to the suggestions made.
• Changes in the proposal are made in writing, depending on
the complexity, size, and cost of the project. It is simply
Feasibility Study common sense to verify change before committing the project
• Depending on the results of the initial investigation, the survey to design.
is expanded to a more detailed feasibility study. Review
• A feasibility study is a test of system proposal according to it Software Development Life Cycle(SDLC)
workability, feasibility study is a test of a system proposal
Feasibility Study
according to it workability, impact on the organization, ability
to meet user needs, and effective use of resources. Sub Phases
• It focuses on three major questions: Current Physical model
1. What are the user’s demonstrable needs and how does a Current Logical model
candidate system meet them? New Physical model
2. What resources are available for give candidate system? Is the New Logical model
problem worth solving.?
3. What is the likely impact of the candidate system on the
organization?
How well done it fit within the organization’s master MIS
plane?
• Each of these questions must be answered carefully. They
revolve around investigation and evaluation of he problem
identification and description of candidates system, specification
of performance and the cost of each system, and final selection
of the best system.
• The objective of a feasibility study is not to solve the problem
but to acquire a sense of its scope. During the study the
problem definition is crystallized and aspects of the problem
to be included in he system are determined.
• Consequently, costs and benefits are estimated with grater
accuracy at this stage. The result of the feasibility study is a
formal proposal. This is implying a report-a formal document
detailing the nature and scope of the proposed solution. The
proposal summarizes what is known what is going to be done.
Ø It consists of the following:
35
What factors guide the choice of one process model over another?
SYSTEMS ANALYSIS
1
Software Development Life Cycle(SDLC) 2
Feasibility Study
3
Sub Phases
4
Current Physical model
Current Logical model
5
New Physical model Describe the phases of System Development Life Cycle.
New Logical model What qualities you look for in a good Systems Analyst.
Purpose of SDLC Why is life cycle needed for the development of information
Requirements Analysis What is the problem? systems?
Feasibility Study
Technical
What is the difference between analysis and design? Can one begin
Social to design without analysis? Why?
Economic
Political References
Design What is the solution? Heuring, Vincent P.
36
LESSON 09 :
SYSTEMS ANALYSIS
STAGES OF SDLC
37
SYSTEMS ANALYSIS
38
Maintain Questions
SYSTEMS ANALYSIS
• Inevitably the system will need maintenance - hopefully we What is the system development life cycle? How does it relate to
haven’t got anything wrong but people will want extra things system analysis?
added or existing things changed over time. 1
• This paradigm is the oldest and most widely used approach to 2
system development, it was developed by Royce in 1970. 3
Waterfall Approach Characteristics 4
• Although there are many variations on the theme of the lifecycle, 5
each approach has its own characteristics: How would an analysis determine the user’s needs for a system?
• Specific activities, techniques and outcomes are associated with Explain.
each stage; 1
• Progression between stages is orderly and proceeds in a linear 2
fashion;
3
• Viewed to be a process driven by technicians;
4
• Monitoring and control takes place at the end of each stage;
5
• Involvement of end users is typically passive and principally in
Where do the ideas for a proposed system originate? To what
the analysis stage.
extend does the analyst assist in this regard?
• The lifecycle model assumes that systems will be constructed
from scratch by a team of IS professionals either in-house of 1
within a software house. 2
• Other approaches exist, namely: 3
• Those based on alternative lifecycles e.g. prototyping, 4
evolutionary development, spiral model; 5
• Those which have a different philosophical basis e.g. soft Distinguish between initial investigation and feasibility study. In
systems and sociotechnical approaches; what way are they related?
• The use of package software to address application areas; 1
• The development of applications by end users. 2
• A number of these alternative approaches will be examined 3
later in the course. However, our initial focus will be on the 4
Waterfall Model of system development.
5
Problems with the Waterfall Approach Why is a system proposal so crucial for system design? Explain.
• Real projects rarely follow the sequential process illustrated - 1
iteration through the cycles is required.
2
• It is often difficult for the customer to state all requirements
explicitly at the start of the development lifecycle. 3
39
References
SYSTEMS ANALYSIS
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
S. Pfleeger (1991) Software Engineering. New York: Macmillan.
Pressman (1997) Software Engineering: A Practitioners Approach.
New York:McGraw-Hill.
Van Vliet, Hans (1993) Software Engineering: Principles and
Practice. Chichester: John Wiley & Sons.
Notes
40
LESSON 10 :
SYSTEMS ANALYSIS
SYSTEM APPROACHES
Topics covered • The spiral model follows the same breakdown into stages, but
• System approaches takes an incremental approach to systems development.
• System Requirements • Typically, a system is divided into smaller sub-sets for
development and delivery.
• Cost Benefit Analysis
This provides functionality to end-users at regular intervals, rather
Objectives than at the end of a waterfall development.
Upon completion of this Lesson, you should be able to: • It is also common in iterative development for highly skilled
Explain about System approaches developers to model systems with stakeholders, the design
Explain about System Requirements and implement them, rather than assign the stages to different
Explain about Cost Benefit Analysis departments or groups.
• Effective use of the spiral approach to system development
System approach
can deliver systems quickly and ensure user involvement,
• Approaches to systems development, in professional especially when prototypes are part of the development
organizations, usually follow one of two basic models: the approach.
waterfall model or the spiral model.
System requirements
• The Waterfall model is the basis of most of the structured
development methods that came into use from the 1970s • The system is developed base on the requirements of the
onwards. It provides a framework for planning top – down system itself (to help manage an organization) and technical
systems development. requirements.
• The development flows down a number of successive stages • There are different view points of what information system
are typically: automatization is like, however, we can classify them into 3
main groups:
• Systems analysis;
• View point of the system that will be developed,
• Systems design;
• Information expert’s view point and
• Systems build and test;
• User’s one.
• Systems introduction and transition;
• These points of view often conflict with one another, at the
• Maintenance of production status systems. same time we are required to build up a successful system in
• The Spiral model of systems development proposed by Barry which the system, information experts and end users share the
Boehm, has become popular is basis for iterative systems same view point.
development. • Information system is a system that collects information,
manages them and creates information products for its users.
• The following part will discuss requirements of system,
information experts and users.
The system’s requirements
• Suitable with the general strategies: Small changes in the
organization’s development may result in bigger impacts on
the information system’s requirements. Therefore, during the
system development process, these requirements should be
regularly checked for its suitability with the general strategies.
• Supporting decision maker: Together with hands-on experience,
knowledge and anticipating ability, information system plays
an important role in supporting decision making process;
• Competition edge: The more competitive the environment,
the more demand for better systems.
• Return on Investment: A new information system needs to
show financial benefits it can bring, because decisions on
investment, development costs and operation costs are based
on financial analysis;
41
More advanced evaluation techniques can be applied. These Besides the issues of the three viewpoint groups, we would also
SYSTEMS ANALYSIS
techniques take into consideration issues such as customer like to remind you of the following popular issues:
support, organizational effectiveness, risk, etc. • Incompatibility: Applications developed in different
• Overhead control: human resource change will influence staff environments are often incompatible. Computers of different
number, staff skills and workload. In many cases, while human kinds are difficult to be connected together, making offices
resource structure is unchanged, workload and requirement for isolated from information processing system;
staff skills are yet much higher; • Shortcomings: Lack of typical information, unfriendly interface
• Supporting operational management: This is clear in preparing with users, bad storage of information.
detail information, making reports quickly, which contribute • Low reliability: Data is conflicted, inadequate and unamendable,
to a more flexible and efficient way of management; information is not updated regularly;
• Improving information communication: Optimizing the flow • Poor resources: Inadequate ability to search for information,
of information, preparing necessary updated information and lack of exploitation tools for users, low information quality;
providing users with the information;
• Bad support: Users are not aware of what they have handy,
• Impact of information products: Information products are there are no clear development strategies, development pace is
final outcomes of the IT system. We need to pay special slow, support is inadequate, mutual understanding is low.
attention to requirements for information products so as to
• It is clear that the IT experts and the users view the system
thorough analysis. These requirements shall be frequently in
from different perspectives thus having different requirements.
comparison with general strategies while developing the system;
• Analyzer’s capability is shown in his/her ability to collect ideas
• Ability to implement more quickly and better. and evaluate them from a wider perspective, because system
Users requirements developers are only knowledgeable of their own areas.
• Users are those who use the information system to manage Analysis
their organizations rather than simply those who work with
• Analysis is a detailed study of the various operations performed
computers.
by a system and their relationship within and outside of he
• They are the ones who master the current information system system.
(from information sources, management requirements to the
• A key question is : What must be done to solve the problem?
system’s shortcomings) and are future owners of the system.
One aspect of analysis is defining the boundaries of the system
• Thus their requirements should be respected while developing and determining whether or not a candidate system should
any information system. Attention should be paid in the consider other related systems.
following issues:
• During analysis, data are collected on the available files, decision
Easy access pints, and transactions handled by the present system.
The system must be able to timely access data and manipulation • Some logical system models and tools that are used in analysis
supports. are Data flow diagrams, interviews, on-site observations, and
The system questionnaires. The interview is a commonly used tool in
The system must be solid and stable, being able to meet staff’s analysis.
requirements and provide accurate information, easy to maintain • It requires special skills and sensitivity to the subject being
and restructure, quick in identifying and correcting mistakes; interviewed. Bias in data collection and interpretation can be a
Interface problem. Training, experience, and common sense are required
Suitable with working style of users, stable, easy to control data, for collection of the information needed to do the analysis.
independent and flexible, enabling users to approach in different • Once analysis is completed, the analyst has a from understanding
ways. of what is to be done?
Technical requirements • The next step is to decide how the problem might be solved.
Technological requirements should be taken into account when • Thus, in systems design, we move from the logical to the
designing information systems. The important points are as physical aspects of the life cycle.
follows:
Analysis
• Information volume: Information technology equipment must
be suitable with the volume of information that is to be Phase
processed;
• Period: Everyday information which arises regularly is repetitive
information that requires special care;
• Accuracy: Especially high accuracy is required now and then.
Accuracy is important but difficult to meet;
• However, due to its complexity, the current system fails to
resolved the issues that need to be resolved by the new system.
42
made. The outcome is a system proposal (also called a project
SYSTEMS ANALYSIS
proposal) that summarizes the findings of the analysis and
states the recommendations for design.
Data Analysis
• Data analysis is a prerequisite to cost/benefit analysis. System
investigation and data gathering lead to an assessment of current
findings. Our interest is in determining how efficiently certain
steps are performed, how they contribute to achieving the
intended goals, and cost of making improvements.
• The safe deposit department was authorized to double its
capacity from 4,000 to 8,000 boxes in an effort to meet increased
demand. Consequently, the number of employees changed
from three to five, with one employee assigned full-time to
billing. Analysis of the data collected made it obvious that
customer information or status of vacant boxes was a
nightmare. Customer lines were long, and service was
jeopardized.
• The representative facts for the safe deposit department are
shown in the below FIGURE Representative Facts and
Candidate System Design Objectives. The system requirements
are:
Production, Implementation, and Operation Phases 1. Better customer service.
2. Faster information retrieval
3. Quicker notice preparation.
4. Better billing accuracy.
Figure Representative Facts and Candidate System Design
Objectives
43
recently got married and strong resistance by the majority of
SYSTEMS ANALYSIS
44
• The two major benefits are improving performance and software, personnel training, and employee salaries are example
SYSTEMS ANALYSIS
minimizing the cost of processing. The performance category of tangible costs. They are readily identified and measured.
emphasizes improvement in the accuracy of or access to • Cost that are known to exit but whose financial value cannot
information and easier access to the system by authorized users. be accurately measured are referred to as intangible costs.
Minimizing costs through an efficient system—error concluded
• For example, employee morale problems caused by a new
in cost/benefit analysis.
system or lowered company image is an intangible cost. In
Procedure for Cost/Benefit some cases, intangible costs may be easy to identify but difficult
Determination to measure.
• There is a difference between expenditure and investment. We • For example, the cost to the breakdown of an online system
spend to get what we need, but we invest to realize a return on during banking hours will cause the bank to lose deposits and
the investment. Building a computer-based system is an waste human resources. The problem is by how much? In
investment. Costs are incurred throughout its life cycle. Benefits other cases, intangible costs may be difficult even to identify,
are realize in the form of reduced operating costs, improved such as an improvement in customer satisfaction stemming
corporate image, staff efficiency, or revenues. To what extent from a real-time order entry system.
benefits outweigh costs is the function of cost/benefit analysis. • Benefits are also classified as tangible or intangible. Like costs,
• Cost/benefit analysis is a procedure that gives a picture of the they are often difficult to specify accurately. Tangible benefits,
various costs, benefits, and rules associated with a system. The such as completing jobs in fewer hours or producing reports
determination of costs and benefits entails the following steps: with no errors, are quantifiable. Intangible benefits, such as
1. Identify the costs and benefits pertaining to a given project. more satisfied customers or an improved corporate image, are
not easily quantified. Both tangible and intangible costs and
2. Categorize the various costs and benefits for analysis.
benefits, however, should be considered in the evaluation
3. Select a method of evaluation. process.
4. Interpret the results of the analysis.
Direct or Indirect Costs and Benefits
5. Take action.
• From a cost accounting point of view, costs are handled
Cost and Benefits Identification differently depending on whether they are direct or indirect.
• Certain costs and benefits are more easily identifiable than other. Direct costs are those with which a dollar figure can be directly
For example, direct costs, such as the price of a hard disk, are associated in a project. They are applied directly to the operation.
easily identified example, direct costs, such s the price of a hard • For example, the purchase of a box of diskettes for $35 is a
disk, are easily identified from company invoice payment or direct cost because we can associate the diskettes with the dollars
canceled checks. expended. Direct benefits also can be specifically attributable to
• Direct benefits often relate one-to-one to direct costs, especially a given project. For example, a new system that can handle 25
savings form reducing costs in the activity in question. Other percent more transactions per day is a direct benefit.
direct cost and benefits, however, may not be well defined, • Indirect costs are the result of operations that are not directly
since they represent estimated costs or benefits that have some associated with a given system or activity. They are often referred
uncertainly. An example of such costs is reserve for bad debt. to as overhead. A system that reduces overhead realizes a savings.
It is a some uncertainty. An example of such costs is reserve for If it increase overhead. It incurs an additional cost.
bad debt. It is a discerned real cost, although its exact amount • Insurance, maintenance, protection of the computer center,
is not so immediate hat light, and air controlling are all tangible to a specific activity
• A category of costs or benefits that is not easily discernible is such as a report. They are overhead an are allocated among
opportunity costs and opportunity benefits. These are the cost users according to formula..
or benefits forgone by selecting one alternative over another. • Indirect benefits are realized as a by-product of another activity
They do not saw in the organization’s accounts and therefore or system. For example, our proposed safe deposit billing
are not easy to identify. system that provides profiles showing vacant boxes by size,
Classification of Costs and Benefits location, and price, will help management decide on how much
• The next step in cost and benefit determination is to categorize advertising to do for box rental. Information about vacant
costs and benefits. They may be tangible or intangible, direct or boxes becomes an indirect benefit of the billing even thought
indirect, fixed or variable. Let us review each category. is difficult to specify its value. Direct costs and benefits are
readily identified for tangible costs and benefits, respectively.
Tangible or Intangible Costs and
Benefits. Fixed or Variable Costs and Benefits.
• Tangibility refers to the case with which costs or benefits can be • Some costs and benefits are constant, regardless of how well a
measured. An outlay of cash for a specific item or activity is system is used. Fixed costs (after the fact)are sunk costs. They
referred to as a tangible cost. They are usually shown as are constant and do not change. Once encountered, they will
disbursements on the books. The purchase of hardware or not recur.
• Examples are straight-line depreciation of hardware, exempt
employee salaries, and insurance. In contrast, variable costs are
45
incurred on a regular (weekly, monthly) basis. They are usually
SYSTEMS ANALYSIS
form the use of a new computer. The benefit of personnel B. Reduction in handling charges
• Savings are realized when there is some kind of cost advantage. Proof of deposit reporting 27,000
As cost advantage reduces or eliminates various cost being Online savings processing 5,100
Teller machine rental 25,230
incurred. Figure An Example of Saving That Reduce Current
Total processing charges
Costsis a summary of savings for the use of a new online teller
Net savings/year
system.
• In this installation, $131,870 was saves through a reduction in 90,990
personnel, handling charges, and proof machine rental. After $
46
Review New York: Macmillan. Pressman (1997)
SYSTEMS ANALYSIS
System Approach Software Engineering:
A Practitioners Approach.
System Requirements
New York:McGraw-Hill. van Vliet, Hans (1993)
Detailed Analysis Phase
Software Engineering:
Questions Principles and Practice.
What are the various approaches of system development? Chichester: John Wiley & Sons.
1 Notes
2
3
4
5
Explain the various system requirements.
1
2
3
4
5
What is cost-benefit analysis ? Is it important? Why? Explain.
1
2
3
4
5
References
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
S. Pfleeger (1991)
Software Engineering.
47
LESSON 11 :
SYSTEMS ANALYSIS
STAGES OF SDLC
Topics covered • At this point, projected costs must be close to actual costs of
• Stages of SDLC implementation.
• Design Phase • In some firms, separate groups of programmers do the
programming whereas other firms employ analyst-
• Implementation
programmers who do analysis and design as well as code
• Post-Implementation programs.
• Candidate system, • For this discussion, we assume that two separate persons carry
• Benefits of SDLC. out analysis and programming. There are certain function,
Objectives though, that the analyst must perform while programs are
being written.
Upon completion of this Lesson, you should be able to:
• Operating procedures and documentation must complete.
Explain the stages of SDLC. Security and auditing procedures must also be developed
Explain the Candidate system
Implementation
Express the benefits of SDLC
• The implementation phase is less creative than system design.
Do You Know which is the most creative • It is primarily concerned with user training, site preparation,
phase in SDLC? and file conversion. When the candidate system is linked to
Design terminals or remote sites.
• The most creative and challenging phase of the system life cycle • The telecommunicating network and test of the network along
is system design. with the system are also included under implementation.
• The term design describes a final system and the process by • During the final testing, user acceptance is tested, followed by
which it is developed. user training.
• It refers to the technical specification (analogous to the engineer’s • Depending on the nature of the system, extensive user training
blueprints) that will be applied in implement in the candidate may be required. Conversion usually takes place at about the
system. same time the user is being trained or later.
• It also includes the construction of programs and program • Programming is itself design work. It is therefore a mistake to
testing exclude programmers from the initial system design.
The key question here is: how should the problem be solved? • System testing checks the readiness and accuracy of the system
• The first steps is to determine how the output is to be produced to access update and retrieve data from new files.
and in what format. Samples of the output (and input) are • Once the programs become available, test data are read into the
also presented. computer and processed against the file(s) provided for testing.
• Second input data and master files (data base) have to be Post-Implementation and Maintenance
designed to meet the requirements of the proposed output. • After the installation phase is completed and the user staff is
• The operational (processing) phases are handled though adjusted to the changes created by the candidate system,
program construction and testing, including a list of the evaluation and maintenance begin.
program needed to meet the system’s objectives and complete • There is an aging process that requires period maintenance of
documentation. hardware and software.
• Finally details related to justification of the system and an • If the new information is inconsistent with the design
estimate of the impact of the candidate system on the user an specifications, then changes have to be made.
the organization are documented and evaluated by
management as a step toward implementation. • Hardware requires periodic maintenance.
• The final report prior to the implementation phase includes • The importance is to continue to bring new system to
procedural flowcharts, record layout, report layouts, and standards.
workable plan for implementing the candidate system. • Project Termination
Information on personnel, money, hardware, facilities, and their • A system project may be dropped at any time prior to
estimated cost must also be available. implementation. Generally projects are dropped if, after a review
process, it is learned that:
48
• Changing objectives or requirements of the user cannot be • The economic factor focuses on the system’s potential return
SYSTEMS ANALYSIS
met by existing design. on investment.
• Benefits realized from the candidate system do not justify • The main idea behind the system development life cycle is to
commitment to implementation. formalize a means of establishing control over a complex
• There is a sudden change in the user’s budget or an increase in process.
design costs . • Work units have to be structured at three major levels for effective
• The project greatly exceeds the time and cost schedule. control of the project.
• There are many reasons a new system does not meet user • At the lowest level, work assignments are broken down into
requirements small manageable tasks.
• User requirements were not clearly defined or understood. • A task is well-defined, structured work unit that can be carried
out by one individual.
• The user was not directly involved in the crucial phases of
system development. • The task can be easily budgeted and scheduled and its quality is
measured.
• The analyst, programmer, or both were inexperienced.
• Benefits of SDLC
• User training was poor.
• Proven framework
• Existing hardware proved deficient to handle the new
application. • Uniformity
• The new system was not user-friendly. • Uniform method
• Users changed their requirements. • Uniform operation (function)
Considerations for candidate systems • Results (deliverables)
In today business there is more demand for computer services • Facilitates information exchange
than the resources available to meet the demand. The demand • Defines and focuses roles and responsibilities
is made-up of the following: • Predefined Degree of Precision
1. Operations of existing systems. • A complete solution
2. Maintenance that focuses on patching programs often • A correct solution
represents over 50 percent of maintenance.
• A predictable solution
3. Enhancements that involve major modifications in program
• Identified milestones
structure or equipment.
• Enforced Planning and Control
4. Request for candidate system.
q Problem Definition
• All the demands require resources – human, financial and q Feasibility Study
technologies. •
• The computer department has to provide the following: •
q Evaluation
1. Computer operators to run equipment.
2. System analysts to define and design specifications.
3. Application programmers to convert system specifications to
computer programs.
4. Maintenance programmers to repair errors. q Economic Feasibility
q Organizational Feasibility
5. Supervisors project leaders, and managers to coordinate the •
jobs with the users. •
q Application Feasibility
• Thus the basic problem is to match the demands for services
with available resources.
• How much one project is favored over another depends on
technical, behavioral, and economic factors. q Interview secretaries
• The technical factor involves the system department’s ability to q Summarize findings
•
handle a project.
•
• The behavioral factor involves q Compare company’s goals to capabilities
49
Review Explain briefly the levels of structuring work units in system
SYSTEMS ANALYSIS
5
There are several considerations in deciding on a candidate system.
What are they? Why are they important?
1
2
3
4
50
LESSON 12 :
SYSTEMS ANALYSIS
VERIFICATION AND VALIDATION PHASE
Topics covered • Like many other industries in the United States, the health care
• Verification and Validation Phase industry is turning to computing systems to reduce
administrative overhead, control escalating costs, and improve
• Activities of V&V accuracy of stored information.
Objectives • New technology is affecting the form and usage of patient
Upon completion of this Lesson, you should be able to: information, diagnostic tools, and the tools, which provide
Explain difference between verification and validation treatment.
Explain the activities of V&V • In particular, the application of information technology is a
V&V(Verification and Validation) promising enabler for transferring gains in medical science
research to patient benefit, for ensuring appropriate availability
• Validation - are we building the right product? of patient information, and for managing the billing processes.
• Verification - are we building the product right? • Computing systems may be employed in the health care
Verification and validation environment in efforts to increase reliability of care and reduce
Once one has a ‘working’ simulation, the next step is to check that costs.
the simulation is actually doing what one expects. • Software verification and validation (V&V) is an aid in
What is Verification? determining that the software requirements are implemented
With a complicated computer program, it is all too easy to make correctly and completely and are traceable to system
errors and find that the output is the result of a mistake, rather requirements.
than a surprising consequence of the model. The process of • (Software V&V does not verify the correctness of the system
checking that a program does what it was planned to do is known requirements, only that the software requirements can be traced
as “Verification”. to the system requirements.)
In the case of simulation, the difficulties of verification are • It helps to ensure that those system functions controlled by
compounded by the fact that many simulations include random software are secure, reliable, and maintainable.
number generators, which mean that every run is different and • It uses a structured approach to analyze and test the software.
that it is only the distribution of results, which can be anticipated It evaluates software against its requirements for quality
by the theory. It is therefore essential to ‘debug’ the simulation attributes such as performance.
carefully, preferably using a set of test cases, perhaps of extreme
situations where the outcomes are easily predictable.
• Software V&V is conducted throughout the planning,
development, and maintenance of software systems.
Abstract • The major objective of the software V&V process is to
• Computing systems may be employed in the health care determine that the software performs its intended functions
environment in efforts to increase reliability of care and reduce correctly, ensure that it performs no unintended functions, and
costs. provide information about its quality and reliability.
• Software verification and validation (V&V) is an aid in • Software V&V evaluates how well the software is meeting its
determining that the software requirements are implemented technical requirements and its safety, security and reliability
correctly and completely and are traceable to system objectives relative to the system. It also helps to ensure that
requirements. software requirements are not in conflict with any standards or
• It helps to ensure that those system functions controlled by requirements applicable to other system components.
software are secure, reliable, and maintainable. • Software V&V tasks analyze, review, demonstrate or test all
• Software V&V is conducted throughout the planning, software development outputs.
development and maintenance of software systems, including • The software V&V process is tightly integrated with the software
knowledge-based systems, and may assist in assuring development process.
appropriate reuse of software. • For each activity in software development there is a
Keywords corresponding software V&V activity to verify or validate the
• Health care; independent verification and validation; knowledge- products of those activities.
based systems; software reuse; software development; software • This report explains these relationships, the software V&V
diagnostic tools; software verification and validation. tasks supporting each activity, and the types of techniques that
may be used to accomplish specific software V&V tasks.
Executive Summary
51
• Software V&V has long been employed on new development • In response to the increasing dependence of the health care
SYSTEMS ANALYSIS
projects. Today, more and more systems are built using industry on information technology, the Advanced Technology
commercial off-the-shelf (COTS) software products, software Program (ATP) at the National Institute of Standards and
components from sources external to the developer, and Technology (NIST) issued Solicitation 94-04, Information
software from a previous version of a similar product built by Infrastructure for Health Care.
the same organization. • The recognition by the ATP that the computer-based systems
• Some of the issues concerning software V&V for systems used in health care must be of high integrity (1) resulted in one
reusing any of these software types are addressed in this element of that solicitation being technology for verification
document. and validation (V&V).
• The health care industry has been interested in, and made use • This report is the result of an effort funded by the ATP to
of, artificial intelligence (AI) techniques by developing KBSs to produce guidance for the software V&V of computer-based
understand the complex medical and patient data used for health care systems.
diagnosis. • Software V&V helps to ensure and assess the quality of
• This interest has grown as the scale of the problem of managing software-based systems.
data and knowledge has grown in the health care industry. • Computing systems may be employed in the health care
• While there are techniques available for V&V of the KBS, which environment in efforts to increase reliability of care and reduce
employ AI techniques, the V&V and AI communities still costs.
need to do more research especially in the areas of making • To achieve these benefits, those functions controlled by software
knowledge maintenance easier and more reliable. in health care systems must be secure, reliable, and maintainable.
• These guidelines provide an overview of the issues in using Software V&V will help to provide all these assurances.
V&V and KBS techniques. • Software verification and validation (V&V) is an aid in
Acronyms determining that the software requirements are implemented
correctly and completely and are traceable to system
AI Artificial Intelligence
requirements. (Software V&V does not verify the correctness
ATP Advanced Technology Program of the system requirements, only that the software requirements
CASE Computer-Aided Software Engineering can be traced to the system requirements.)
CBR Case-Based Reasoning • It uses a structured approach to analyze and test the software.
COTS Commercial Off-The-Shelf It measures software against its requirements for quality
FSM Finite State Machines attributes such as performance, safety (2), and computer security.
Software V&V includes activities (3) to determine that the
IA Intelligent Agents software system performs its intended functions correctly, to
IV&V Independent Verification and Validation ensure that it performs no unintended functions, and to
KBS Knowledge-Based System provide information about its quality and reliability.
KADS KBS Analysis and Design Support • Software V&V has long been employed on new development
LOC Lines Of Code projects. Today, more and more systems are built using
commercial off-the-shelf (COTS) software products, software
NIST National Institute of Standards and Technology
components from sources external to the developer, and
Sfmeca Software Failure Mode, Effects, and Criticality Analysis software from a previous version of a similar product built by
SPC Statistical Process Control the same organization.
SQA Software Quality Assurance • Some of the issues concerning software V&V for systems
SVVP Software Verification and Validation Plan reusing any of these software types are addressed in this
document. This particular aspect of software V&V for reused
SVVR Software Verification and Validation Report
software requires additional research from the reuse and V&V
V&V Verification and Validation communities.
1 Introduction • The health care industry has been interested in and made use
• Like many other industries in the United States, the health care of artificial intelligence (AI) techniques by developing KBSs to
industry is turning to computing systems to control escalating understand the complex medical and patient data used for
costs and improve the quality of service. diagnosis.
• New technology is affecting the form and usage of patient • This interest has grown as the scale of the problem of managing
information, diagnostic tools, and the tools which provide data and knowledge has grown in the health care industry.
treatment. While there are techniques available for V&V of the KBS which
employ AI techniques, the V&V and AI communities still
• In particular, the application of information technology is a
need to do more research especially in the areas of making
promising enabler for transferring gains in medical science
knowledge maintenance easier and more reliable.
research to patient benefit, for ensuring appropriate availability
of patient information, and for managing the billing processes.
52
• These guidelines provide an overview of the issues in using • While different management and technical staff may be
SYSTEMS ANALYSIS
KBS techniques on systems requiring high reliability and on responsible for different types of test, staff who perform
some of the techniques for V&V of KBS especially KBS which verification of the software requirements may be staff who
employ expert systems. prepare preliminary plans for software system tests.
2 Software Verification And Validation • The development of the test plans and designs may lead to
(V&V) discovery of software requirements errors because of the
analysis needed to plan tests.
• Software verification and validation (V&V) is an aid in
determining that the software requirements are implemented • One issue that often arises in planning a project and its software
correctly and completely and are traceable to system V&V effort is how to ensure the objectivity of the staff
requirements. performing software V&V tasks.
• (Software V&V does not verify the correctness of the system • Independent V&V (IV&V) for software grew out of this
requirements, only that the software requirements can be traced concern. Software IV&V is the performance of software V&V
to the system requirements.) tasks by a team that is separate from the software development
• The major objective of the software V&V process is to group.
comprehensively analyze and test the software during • The software V&V technical activities each have several tasks.
development to determine that the software performs its Each task is accomplished by applying one or more techniques.
intended functions correctly, ensure that it performs no • A specific technique, such as control flow analysis, focuses on
unintended functions, and provide information about its finding a specific type of problem, for example, a logic error.
quality and reliability . • An aggregate of techniques is usually necessary to achieve the
• Software V&V evaluates how well the software is meeting its objectives of a task.
technical requirements and its safety, security, and reliability
objectives relative to the system.
• It also ensures that software requirements are not in conflict
with any standards or requirements applicable to other system
components. Software V&V tasks analyze, review, demonstrate
or test all software development outputs.
• Software verification examines the products of each
development activity (or increment of the activity) to determine
if the software development outputs meet the requirements
established at the beginning of the activity.
• The scope of each software development activity is defined by
software program management.
• A software design may consist of many small increments for
each iteration of the total system. Hence, V&V tasks can be
performed on small outputs.
• Validation that the software is a correct implementation of the
system requirements for which the software is responsible is
conducted concurrently with, and at the end of, all software
development activities.
• The software V&V process produces a software verification
and validation plan (SVVP), individual plans and reports for
tasks, summary reports, anomaly reports, and a final software
verification and validation report (SVVR).
• Software V&V planning is conducted against system
requirements at the highest level of planning, and then on the
software requirements, which should be traceable to the system
requirements.
• Many software V&V tasks, such as planning for software system
test, are actually performed in early development activities. The
software system test plan is developed concurrently with the
software requirements activity.
• The plan is updated with additions or changes in details as the
project progresses.
53
• Tasks for acceptance test parallel those for software system test.
SYSTEMS ANALYSIS
54
3rd ed. New Delhi : Galgotia Publications, 1999
SYSTEMS ANALYSIS
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Notes
55
LESSON 13:
SYSTEMS ANALYSIS
Topics covered management who acts upon the reported discrepancy and
• Independent Verification and Validation Phase findings.
• Software V&V Management, • Financial independence means that control of the IV&V budget
is retained in an organization outside the contractor and program
Software V&V activities.
organization that develop the software.
Objectives • This independence protects against diversion of funds or
Upon completion of this Lesson, you should be able to: adverse financial pressures or influences that may cause delay or
Explain about Independent verification and validation stopping of IV&V analysis and test tasks and timely reporting
Explain the activities of software V&V of results.
• The extent that each of these parameters is vested in the IV&V
What is meant by Independent V&V ? team’s responsibilities defines the degree of independence
• Some software V&V activities may be performed by two achieved.
different groups. The use of a different organization (other
• Based on the definitions of IV&V and how much IV&V a
than the software development group) for software V&V is
specific project requires, some software V&V activities may be
called independent verification and validation (IV&V).
conducted by both the developer and another organization.
• Technical independence requires that members of the IV&V • For example, unit test by one organization may focus on
team (organization or group) may not be personnel involved
demonstrating that specific objectives (e.g., safety objectives
in the development of the software.
relative to the system), which may differ from the objectives of
• This team must have some knowledge about the system design the developer (e.g., logic structure, test coverage),.
or have related experience and engineering background enabling
them to understand the system. Software V&V Management
• The IV&V team must not be influenced by the development • The process of software V&V needs to be managed and
team when the IV&V team is learning about the system performed comprehensively over the entire software
requirements, proposed solutions for building the system, and development process.
problems encountered. • Management tasks, spanning all of the software development
• Technical independence is crucial in the team’s ability to detect activities, are to:
the subtle software requirements, software design, and coding • Plan and maintain the software V&V process.
errors that escape detection by development testing and SQA • Coordinate and interpret performance and quality of the
reviews. software V&V effort.
• The technical IV&V team may need to share tools from the • Report discrepancies promptly to the user or development
computer support environment (e.g., compilers, assemblers, group.
utilities) but should execute qualification tests on these tools • Identify early problem trends and focus software V&V tasks
to ensure that the common tools themselves do not mask on them.
errors in the software being analyzed and tested.
• Provide a technical evaluation of the software performance and
• The IV&V team uses or develops its own set of test and quality attributes at each major software program review (so a
analysis tools separate from the developer’s tools whenever determination can be made of whether the software product
possible. has satisfied its set of software requirements well enough to
• Managerial independence means the responsibility for IV&V proceed to the next activity).
belongs to an organization outside the contractor and program • Assess the full impact of proposed software changes.
organizations that develop the software.
• An SVVP contains the information necessary to manage and
• While assurance objectives may be decided by regulations and perform software V&V. Major steps in developing an SVVP
project requirements, the IV&V team independently decides are to:
the areas of the software/system to analyze and test, techniques
to conduct the IV&V, schedule of tasks (within the framework • Define (or confirm, if already provided) the quality and
of the system schedules), and technical issues to act upon. performance objectives (e.g., verify conformance to
specifications, verify compliance with safety and computer
• The IV&V team provides its findings in a timely fashion security objectives relative to the system, assess efficiency and
simultaneously to both the development team and the systems quality of software, and assess performance across the full
operating environment).
56
• Characterize the types of problems anticipated in the system is an effective method of providing early product information
SYSTEMS ANALYSIS
and define how they would be manifested in the software. to software V&V.
• Select the software V&V analysis and testing techniques to • The early deliveries reinforce the systematic analysis and test
effectively detect the system and software problems. approach used by software V&V to examine the software in
• Select the metrics and techniques applied to V&V results to smaller pieces while progressively evaluating larger software
measure and predict the quality of the software. pieces as each new piece is integrated.
• The SVVP may include details for acquiring tools and for • High-risk software areas are easier to identify by using the
training personnel. The SVVP is revised as knowledge incremental approach because the software V&V can:
accumulates about the characteristics of the system, the software, • Provide an early lead time to evaluate each engineering solution
and the problem areas in the software and in software V&V and allow time to suggest alternative solutions which can be
activities. incorporated in subsequent incremental deliveries without
• The software V&V process could be tailored to specific adversely impacting the schedule.
applications; however, the risk of the software failing and the • Isolate each new set of requirements and evaluate their impact
subsequent consequences must be considered when selecting on the system performance.
software V&V activities. • Provide early indications of system performance so that
• One software V&V management task is to monitor the adjustments can be made to refine the desired performance.
software V&V technical progress and quality of results. • Develop trend information about software anomalies and risk
• During each software V&V activity, planned software V&V issues to allow time to adjust the development and software
tasks are reviewed and new ones are added to focus on the V&V resources and planning to accommodate evolving
critical performance/quality functions of the software and its software risk issues.
system. • In incremental development, a software build (or early product)
• The monitoring task includes formal reviews of software V&V represents a basic program skeleton including draft
discrepancy reports and technical evaluations to provide a check documentation containing portions of the full software
of their correctness and accuracy. capabilities.
• Internal monitoring of the quality and accuracy of software • Each successive build integrates additional functions into the
V&V results is essential because the development group must skeleton. Based on discrepancy or progress reports from
make the necessary software changes as indicated by the software software V&V, software program management can make the
V&V results. technical and management decisions to refocus the software
• If the software V&V results are erroneous, or of poor quality, V&V and development team onto the program’s specific
the development group wastes its time and resources in problem areas of the software.
attempting the changes, and more importantly, loses confidence • Two related analyses, criticality and hazard, can help focus the
in the effectiveness and helpfulness of the software V&V V&V effort on those parts of the program whose consequence
results. of failure are most severe. A hazard is an (unsafe) “condition
• Software V&V “focus on identifying and eliminating the specific that may lead to an unintended event that causes an undesirable
high-risk problems to be encountered by a software project.” outcome”.
This does not mean that software V&V should examine only • For example, a driver of a car ignores warning lights at a railroad
20% of the software. crossing and drives the car onto the tracks. The hazard is the
• Rather, software V&V needs to examine all the software. presence of the car and train on the track at the same time.
• This includes: identifying potential hazards or threats to the • The unintended event (mishap) is the train colliding with the
safety and security of the system, prioritizing the software car. The undesirable outcome is the probable loss of life and
functions by criticality, and allocating software V&V analysis damage to the car and train.
resources to those areas of the software which contain critical (5) • The term hazard generally is used to refer to safety problems;
functions and high-risk problems (i.e., more error-prone). the term threat generally is used to refer to security problems.
Identifying and focusing on critical and high-risk areas of the • In this lesson, the methods and issues related to hazard analysis
software can be addressed by these software V&V methods: are also applicable to security issues; the terms threat and security
• Examination of early program deliveries to software V&V staff; could be used in place of hazard and safety respectively.
• Use of software hazard (or threat) analysis; and • Criticality analysis locates and reduces high-risk problems and
• Conduct of a “criticality analysis” to identify the most critical is performed at the beginning of a project.
functions of the software. • It identifies the functions and units which are required to
• Various approaches in development can provide early product implement critical program functions or quality requirements
information to software V&V. (e.g., safety, computer security). The steps of the analysis are:
• These include: prototypes, incremental software development, • — Develop a block diagram or control-flow diagram of the
and handing over each unit or sub function following system and its software. Each block or control-flow box
development unit testing. Incremental software development represents a system or software function (unit).
57
• — Trace each critical function or quality requirement through throughout the software development process adds
SYSTEMS ANALYSIS
the block or control flow diagram. significantly more chance for error.
• — Classify all traced software functions (units) as critical to • Software requirements V&V is intended to prevent these
either the proper execution of critical software functions or the problems from occurring.
quality requirements. • Design errors can be introduced by misrepresentation of the
• — Focus additional analysis on these traced software functions functional requirements and by implementation constraints
(units). relating to timing, data structures, memory space, and accuracy.
• — Repeat criticality analysis for each activity to observe whether • Software design V&V provides assurance that software
the implementation details shift the criticality emphasis to other requirements are not misrepresented or incompletely
or additional functions (units). implemented; that extraneous software requirements are not
• System hazard analysis is used to identify potential events and designed into the solution by oversight; that software
circumstances that might lead to problems of varying degrees requirements are not left out of the software design; and that
of severity, from critical failures resulting in loss of life or other constraints are managed correctly.
national security problems, to less serious malfunctions in the • Clerical and syntactical errors have been greatly reduced through
system. use of structured programming, reuse of code, adoption of
• Software hazard (or threat) analysis focuses on the role of programming standards and style guides, availability of more
software relative to the hazards, or threats. robust computer languages, better compiler diagnostics and
automated support, and, finally, more knowledgeable
• Specific techniques that can be used for hazard analysis are programmers.
included in section 6 with the V&V techniques; these include
event tree analysis, software fault tree analysis, • Nevertheless, problems still occur in translating design into
code and code V&V continues to be an important software
• When identification of high risk areas from early deliveries, V&V activity.
criticality analysis, and hazard (or threat) analysis are used
together, the software V&V approach can focus on the most • Test management is an important part of the software V&V
critical areas of the early software products. activity in which all testing needed for the software system is
considered and planned.
• Software V&V results, obtained early enough in the software
development process, can have significant impact on the quality • Software V&V test planning begins with software requirements
and performance of the system under development. and spans almost the full range of activities.
Software V&V Activities • Test planning tasks encompass different types of testing—
unit test, software integration test, and software system test.
• Software V&V should begin when the project begins. Usually The planning activities result in documentation for each test
the first software V&V tasks are conducted during the software type consisting of test plan, test design, test case, and test
requirements V&V activity. procedure documents.
• One V&V task is to examine the early project documentation, • Unit test verifies the design and implementation of software
often called concept documents, to verify that the system to be units. Software integration test verifies functional requirements
built is not only feasible but will use the rules, conventions, as the software units are integrated together.
algorithms, and practices appropriate to the application domain
of the system. • Special attention is focused on software, hardware, and operator
interfaces. Software system test validates the entire software
• Software requirements V&V is performed to ensure that the program against system requirements and software performance
specified software requirements are correct, complete, consistent, objectives.
accurate, readable, and testable, and will satisfy the system
requirements. • Software system tests validate that the software executes correctly
within its stated operating environment. The software’s ability
• Poorly specified software requirements (e.g., incorrect, to deal properly with anomalies and stress conditions is
incomplete, ambiguous, or not testable) contribute to software emphasized.
cost overruns and problems with reliability.
• Software V&V tests are not intended to duplicate or replace the
• Even when software fully meets its requirements upon delivery, user and development group’s test responsibilities, but instead
there may be problems in the maintenance activity because test behavior not normally checked by the user or development
general requirements (e.g., maintainability, quality, and group.
reusability) were not accounted for during the original
development.
• Software installation test validates that the software operates
correctly with the operational hardware system and with other
• Identifying software requirements is difficult because the software, as specified in the interface specifications.
complexity of the problems being solved causes uncertainty in
developing the intended system performance requirements.
• It verifies that the installation procedures are correct and
adequate, that the software is the same as the executable code
• The occurrence of changes in requirements (e.g., to incorporate delivered for installation, and that all supporting software
new technologies, new missions, new knowledge, new products are the proper versions.
interfacing systems, new people coming on the scene)
58
• Software installation test verifies that the software has been Systems analysis and design methods
SYSTEMS ANALYSIS
accurately tailored for site-dependent parameters and that the 5th ed. New Delhi : Galgotia Publications, 2001
configuration of the delivered product is correct.
Shelly, Gary B
• In software operation and maintenance V&V, when a software Systems analysis and design
change is made, all software V&V activities are considered and
3rd ed. New Delhi : Galgotia Publications, 1999
possibly repeated to ensure that nothing is overlooked.
Awad, Elias M.
• Software V&V activities include examining the impact of the Systems analysis and design
change throughout the system to understand what software
V&V activities are needed. Software V&V activities are added New Delhi : Galgotia Publications, 1997
or deleted to address the type of software change made. Hoffer, Jeffrey A.
• In many cases, an examination of the proposed software change Modern systems analysis and design
shows that software V&V needs to repeat its activities on only 2nd ed. Delhi : Pearson Education Asia, 2000
a small portion of the software. Sarkar, A.K.
• Also, some software V&V activities, such as verifying the original Systems analysis, data processing and
concepts, require little or no effort to verify a small change. quantitative techniques
• Small changes can have subtle but significant side-effects in a New Delhi : Galgotia Publications, 1997
software program; for this reason, change analysis (a software Hawryszkiewycz, Igor
operation and maintenance V&V task) is significant in Introduction to systems analysis & design
preventing unintended functions and problems from making
4th ed. New Delhi : Prentice Hall of India, 2002
their way into new versions of the system.
Notes
Review
Independent V&V
Technical independence
Managerial independence
Financial independence
Software V&V management, activities
Questions
Explain about Independent V&V
1
2
3
4
5
Differentiate between various IV&V.
1
2
3
4
5
Explain about the software V&V activities.
1
2
3
4
5
References
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
59
LESSON 14 :
SYSTEMS ANALYSIS
Topics covered • By verifying that the software design meets its software
• Software Requirements V&V requirements, the software design V&V activity also supports
validation that the software design meets system requirements.
• Software Design V&V, Code Verification
• When the software system is designed, decisions may be made
• Unit
to incorporate existing software.
• Integration The tasks and techniques are the same as for the software being
• Software System Test developed, but the objectives and issues are specific for reuse.
Objectives General
Upon completion of this Lesson, you should be able to: • Conduct a software design traceability analysis - Trace software
Explain Software Requirements V&V design to software requirements, and vice versa. Check the
relationships for accuracy, completeness, consistency, and
Explain Software Design V&V
correctness.
Software Requirements V&V • Conduct a software design evaluation.
• The software requirements V&V activity checks that the • Evaluate the software design for accuracy, completeness,
allocation of system requirements to software is appropriate consistency, correctness, and testability.
and correct, and how well the software requirements have been
specified (e.g., correct, complete, nonambiguous, testable). • Evaluate software design for compliance with software design
standards; language standards if appropriate; and software
• It should be structured to ensure that the software objectives engineering practices.
have been met. Verification of the software requirements should
include an examination of documentation produced earlier in • Assess software design against assigned quality attributes.
system development (e.g., initial feasibility studies, concepts • Conduct a software design interface analysis - Evaluate software
on which the system has been designed) if this examination design for accuracy, completeness, consistency, and correctness
has not already been performed. of hardware, operator and software interface requirements.
• If the assumptions, algorithms, and physical rules imposed • Verify that the software requirements for assertions, responses
on the software requirements previously have not been verified to assertions and other required system algorithm and integrity
to be appropriate for this project, then software V&V should checks or fault tolerance protections have been designed into
perform those checks. the software. Check that the software design is complete and
• Inputs to the software requirements V&V activity may be accurate and will not adversely affect system performance.
documents written in natural or formal mathematical languages • Coordinate with software integration test planning.
and may include graphics and charts. Reuse -Specific
• When formal mathematical languages are used, other forms of • Conduct an evaluation of the original software design
representations may be provided to different users of the documentation for compliance to software design requirements
specifications. of the new system. Verify interface requirements.
• Concurrently with software requirements V&V, software system • Generate any needed software design information or justify
test planning in initiated. the use of the software without the required information. This
Software V&V examines all the proposed testing for the system determination should be based on recognized risk (safety, cost
to ensure that comprehensive testing and appropriate resources of modifications, impact of various degrees of uncertainty on
are planned. the project) and coordinated with the user.
Software Design V&V • If any modifications are needed, evaluate whether or not the
Ø The software design V&V activity occurs after the software software and documentation are adequate to support the
requirements have undergone the software V&V process and modification (e.g., for change analysis, testability). If not, the
the software design, or an increment of the software design, needed information should be obtained or developed. If this
has been completed. is not prudent, modifications should not be made when they
cannot be supported by adequate software design information.
Ø The software V&V tasks of trace ability, evaluation, and interface
analysis provide assurance that software requirements are not KBS -Specific
misrepresented, incompletely implemented, or incorrectly • — Verify that the domain model:
implemented. • - Is complete and consistent; and,
• - Represents the domain knowledge.
60
• — Verify that the domain model addresses, at the required • Evaluate draft code-related documents (e.g., user manual,
SYSTEMS ANALYSIS
level of accuracy and completeness, the range of expected commentary within the code) with source code for completeness,
problems. consistency, and correctness.
• — Verify that the domain model operates in the specified scope. • Coordinate with unit test (8).
Code Verification Reuse-Specific
• The code verification activity verifies correct implementation of • If the source code is available, compare it to known design
software design into code. specifications. Evaluate for correctness, consistency,
• Often this activity requires tedious checking of details within completeness, and accuracy. Assess the interfaces for consistency
the code; automation provides protection against human error with the system in which the reused code will be placed. Assess
in gathering the code information for analysis and also can source code quality. (This task may be needed in instances where
speed the process. the history of the code is not well-known.)
• Code verification is the last opportunity to find and remove • Evaluate source code for testability. Evaluate code-related
errors that could cause unnecessary costs and delays from documentation received from the source for suitability for any
advancing poor code into any of the test activities. future modifications.
• At this point in the software development process, the reuse KBS-Specific
issues should have been examined and the decision made to • Conduct a logical verification of the structure of the knowledge
reuse or not to reuse the software. and rules in the knowledge base for consistency, completeness,
• In the case that changes are to be made to the code, or if there etc.
is a possibility changes will be needed in a future version of the • Verify that the knowledge base implements the domain model
software system under development, some software V&V tasks accurately.
may be needed.
Unit Test
• The knowledge base should be internally consistent and reflect
the domain model. In its simplest form, maintaining
• Unit test is the test of the software elements at the lowest level
of development. Units may be aggregates of software elements.
knowledge base consistency (or integrity) means not allowing a
fact and its negation to both be part of the knowledge base. • Planning for unit test should occur concurrently with the
More extensive consistency checks can disallow rules that would, software design activity. Reused software will probably not
potentially, infer both a fact and its negation. Knowledge undergo unit test; unless changes were made to the units.
consistency is a key issue. • Then, appropriate testing is performed as in regression testing.
• A consistent domain model and a consistent representation General
of that model is critical. This is especially true for domains
• Test planning - Establish the objectives of the unit test, the
representing physical structures or controlled equipment.
strategies to be employed, the coverage requirements, reporting
• The model of the equipment and the physics controlling the and analysis, and close-out of anomalies.
behavior of the equipment must be consistent for computer
• Generate, monitor, and update the unit test plan to accomplish
controllers to function properly. In other domains, expert
objectives.
disagreement over the interpretation of a set of facts may be
normal and expected. • Trace test design, cases, procedures, and execution results to
the unit designs.
• For example, legal disputes frequently involve the interpretation
of the facts themselves. Probabilities can be one way to handle • Confirm that anomalies during test are software anomalies,
conflicting knowledge. and not problems detected for other reasons.
General • Generate test cases and procedures - Develop test cases and
procedures for unit test and continue tracing as required by
• Conduct a source code traceability analysis - Trace source code software test plans.
to software design, and vice versa. Check the relationships for
accuracy, completeness, consistency, and correctness.
• Perform unit test - Check individual software units for
typographical, syntactic, and logic errors to ensure that each
• Conduct a source code evaluation. correctly implements the software design and satisfies the
• Evaluate the source code for accuracy, completeness, consistency, software requirements; execute the test cases; analyze results to
correctness, and testability. verify anomalies; recommend changes to software design or
• Evaluate source code for compliance with code standards, code; and conduct re-testing as necessary.
language standards if appropriate, and software engineering • Document test activities and results.
practices.
Reuse-Specific
• Assess source code against assigned quality attributes. • Evaluate existing test cases and reports for suitability for
• Conduct a source code interface analysis - Evaluate the source intended use.
code for accuracy, completeness, consistency, and correctness
with respect to the hardware, operator, and software interfaces.
61
• Prepare test cases and test procedures if any modifications are Reuse-Specific
SYSTEMS ANALYSIS
made to the reused software. • Perform software integration test in accordance with test
• Follow the criteria for unit test. procedures.
KBS-Specific • Analyze results to determine if the software implements the
• Evaluate the knowledge and rules in the knowledge base against intended use requirements and known design and that the
the domain knowledge. software units function correctly together.
• Establish objective for testing portions of domain knowledge. • Conduct interface tests of reused units with other system
components.
• Plan tests for accuracy and completeness of domain model.
• Conduct tests of reused units with other system components
• Define test procedures to test for expected performance level to validate performance requirements.
of the system.
• Evaluate existing test cases and reports for suitability for
Software Integration Test intended use.
• Software integration tests check the interaction with other • Prepare test cases and test procedures if any modifications are
software (e.g., libraries) and hardware. made to the reused software.
• The software integration test schedule depends upon the • Follow the criteria for software integration test.
development and integration schedules for software units,
hardware, and other components. KBS-Specific
• For large systems, software integration test planning may require • Evaluate knowledge base for completeness and consistency.
close coordination among all system personnel to ensure that • Verify that the knowledge base represents the full scope of the
the overall test objectives are achieved by the selected test domain model.
strategy. Software System Test
• When all system components have been integrated and have Software system test, in the context of software V&V, involves
successfully undergone software integration tests, then the the conduct of tests to execute the completely integrated system.
system moves into software system test. Software system test is the validation that the software meets its
• During software integration test, reused software units are requirements. Validation of the complete system may involve
integrated into the system. I many tests involving all system components.
• t is critical to test that the interfaces are correct, and that the The software system tests exercise those system functions that
resulting software meets operating requirements. invoke software to determine whether the software behaves as
intended relative to complete system performance.
General
• Test planning - Establish the objectives of the software These tests must be conducted in such a manner as to stress the
integration test, the strategies to be employed, the coverage system based on software responses to system inputs (e.g., from
requirements, reporting and analysis, and close-out of sensors, operators, databases).
anomalies. Ensure that interface testing of reused software to While software system tests are conducted after the system has
other system software is planned. been built, it is imperative that planning for these tests is conducted
• Generate, monitor, and update a software integration test plan concurrently with the software requirements activity because:
to accomplish identified objectives. • Analyzing the software requirements for test requirements may
• Trace test design, cases, procedures, and execution results to result in finding software requirements errors and/or discovery
software requirements. of untestable requirements.
• Generate test cases and procedures - Develop test cases and • Establishing test facilities (e.g., model of operational
procedures for unit test and continue tracing as required by environment) and Computer-Aided Software Engineering
software test plans. (CASE) tools (e.g., test case generators, test data base) may
require as much time as development of the system.
• Perform software integration test.
• For reused software, software system test is performed to assure
• Check the inter-unit communication links and test aggregate that the software is correct, consistent with prior documentation,
functions formed by groups of units. complete for use and/or modification, and accurate.
• Confirm that anomalies during test are software anomalies, • At the system level, reused software should be considered part
and not problems detected for other reasons. of the system. Tests are in accordance with test procedures.
• Ensure any changes to software requirements, software design, • Results are documented and traced as required by the software
or code are made. Conduct retesting as necessary. system test plan.
• Conduct functional, structural, performance, statistical, and
coverage testing of successfully integrated units after each
General
iteration of software integration and successful testing of
interfaces and interactions.
• Document test activities and results.
62
• Test planning - Establish the objectives of the software system Awad, Elias M.
SYSTEMS ANALYSIS
test, the strategies to be employed, the coverage requirements, Systems analysis and design
reporting and analysis, and close-out of anomalies. New Delhi : Galgotia Publications, 1997
• Generate, monitor, and update a software system test plan to Hoffer, Jeffrey A.
accomplish objectives. Modern systems analysis and design
• Trace system and software requirements to test software design, 2nd ed. Delhi : Pearson Education Asia, 2000
cases, procedures, and execution results.
Sarkar, A.K.
• Generate test cases and procedures - Develop test cases and Systems analysis, data processing and
procedures for unit test and continue tracing as required by quantitative techniques
software system test plans.
New Delhi : Galgotia Publications, 1997
• Test the operation of the software as an entity (sometimes a
Hawryszkiewycz, Igor
simulated environment may be used); confirm that anomalies
Introduction to systems analysis & design
during test are software anomalies, not problems detected for
other reasons; ensure any changes to software (software 4th ed. New Delhi : Prentice Hall of India, 2002
requirements, software design, code, or test cases) have been Notes
made; and conduct retesting as necessary.
• Document test activities and results.
Reuse-Specific
• Evaluate existing test cases and reports for suitability for
intended use.
• Prepare test cases and test procedures if any modifications have
been made to the reused software.
• Follow the criteria for software system test within the boundaries
of the known and documented software design.
KBS-Specific
• Define procedures for testing the system according to the
expected knowledge of the end user.
Questions
Explain about Software Requirements V& V
1
2
3
4
5
Explain about code verification.
1
2
3
4
5
References
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
63
LESSON 15 :
SYSTEMS ANALYSIS
64
• Involve execution, or simulation, of a development activity • Some software V&V techniques used during code V&V tasks
SYSTEMS ANALYSIS
product to detect errors by analyzing the response of a product are control flow analysis, database analysis, regression analysis,
to sets of input data . and sizing and timing analysis.
• For these techniques, the output values, or ranges of values, • For large code developments, control flow diagrams showing
must be known. the hierarchy of main routines and their sub functions are
• Testing is the most frequent dynamic analysis technique. useful in understanding the flow of program control.
Prototyping, especially during the software requirements V&V • Database analysis is performed on programs with significant
activity, can be considered a dynamic analysis technique; in this data storage to ensure common data and variable regions are
case the exact output is not always known but enough used consistently between all call routines.
knowledge exists to determine if the system response to the • Data integrity is enforced and no data or variable can be accidentally
input stimuli meets system requirements. overwritten by overflowing data tables. Data typing and use are
• Formal analysis is the use of rigorous mathematical techniques consistent throughout all program elements.
to analyze the algorithms of a solution . • Regression analysis is used to reevaluate software requirements
• Sometimes the software requirements may be written in a and software design issues whenever any significant code change
formal specification language (e.g., VDM, Z) which can be is made.
verified using a formal analysis technique like proof-of- • This technique ensures project awareness of the original system
correctness. requirements.
• The term formal often is used to mean a formalized process, • Sizing and timing analysis is done during incremental code
that is, a process that is planned, managed, documented, and is development and compared against predicted values. Significant
repeatable. In this sense, all software V&V techniques are formal, deviations between actual and predicted values is a possible
but do not necessarily meet the definition of the mathematical indication of problems or the need for additional examination.
techniques involving special notations and languages.
• Another area of concern to software V&V is the ability of
Strategies for Choosing Techniques compilers to generate object code that is functionally equivalent
• Some software V&V techniques used during software to the source code, that is, reliance on the correctness of the
requirements V&V tasks are control flow analysis, data flow language compiler to make data dependent decisions about
analysis, algorithm analysis, and simulation. abstract programmer coded information.
• Control and data flow analysis are most applicable for real time • For critical applications, this problem is solved by validating
and data driven systems. the compiler or by validating that the object code produced by
the compiler is functionally equivalent to the source.
• These flow analyses transform logic and data requirements text
into graphic flows which are easier to analyze than the text. • Code reading is another technique that may be used for source
PERT, state transition, and transaction diagrams are examples code verification. An expert reads through another
of control flow diagrams. programmer’s code to detect errors. In an experiment conducted
• Algorithm analysis involves re-derivation of equations or at the National Aeronautics and Space Administration Goddard
evaluation of the suitability of specific numerical techniques. Space Flight Center, code reading was found to be more effective
than either functional testing or structural testing.
• Simulation is used to evaluate the interactions of large, complex
systems with many hardware, user, and other interfacing • The reason was attributed to the expertise of the readers who,
software units. as they read the code, were simulating its execution and were
able to detect many kinds of errors.
• Some software V&V techniques used during software design
V&V tasks include algorithm analysis, database analysis, sizing • Other techniques commonly used are walkthroughs,
and timing analysis, and simulation. inspections and reviews.
• These tasks occur in interactive meetings attended by a team
• Algorithm analysis examines the correctness of the equations
which usually includes at least one member from the
or numerical techniques as in the software requirements activity,
development group. Other members may belong to the
but also examines truncation and round-off effects, numerical
development group or to other groups involved in software
precision of word storage and variables (e.g., single- vs.
development.
extended-precision arithmetic), and data typing influences.
• Database analysis is particularly useful for programs that store • The duration of these meetings is usually no more than a few
hours in which code is examined on a line-by-line basis. In
program logic in data parameters.
these dynamic sessions, it may be difficult to examine the code
• A logic analysis of these data values is required to determine thoroughly for control logic, data flow, database errors, sizing,
the effect these parameters have on program control. Sizing timing and other features which may require considerable
and timing analysis is useful for real-time programs having manual or automated effort. Advance preparation for these
response time requirements and constrained memory execution activities may be necessary and includes code analysis techniques.
space requirements.
• The results of these techniques provide appropriate engineering
information for discussion at meetings where code is evaluated.
65
• Regardless of who conducts or participates in walkthroughs • The selection of V&V techniques for use on each critical area of
SYSTEMS ANALYSIS
and inspections, software V&V analyses may be used to the program is a method of tailoring the intensity of the
support these meetings. software V&V against the type of risk present in each area of
• A comprehensive test management approach to testing the software.
recognizes the differences in strategies and in objectives for • For example, software V&V would apply algorithm analysis to
unit, software integration, and software system test. critical numerical software functions, and techniques such as
• Unit test verifies the design and implementation of software sizing and timing analysis, data and control flow analysis and
units. Software integration test verifies functional requirements interface analysis to real-time executive functions.
as the software units are integrated. Descriptions of Techniques The following are summary
• Special attention is focused on software, hardware, and operator descriptions of techniques taken from [BAHILL], [BEN],
interfaces. Software system test validates the entire software [EWICS3], [KIRANI], [NBS93], [NGUYEN], [NIST209],
program against system requirements and software performance [NIST5589], [NUREG6316], [OKEEFE], [OLEARY],
objectives. Software system tests validate that the software [TURING], [VOAS91,92,95], [WALLACE94], and [WILEY].
executes correctly within its stated operating environment. Algorithm analysis examines the logic and accuracy of the software
• The software’s ability to deal properly with anomalies and stress requirements by translating algorithms into some language or
conditions is emphasized. structured format. The analysis involves rederiving equations or
evaluating the suitability of specific numerical techniques. It checks
• These tests are not intended to duplicate or replace the user and
that algorithms are correct, appropriate, stable, and meet all accuracy,
development group’s test responsibilities, but instead
timing, and sizing requirements. Algorithm analysis examines
supplement the development testing to test behavior not
the correctness of the equations and numerical techniques,
normally tested by the user or development group.
truncation and rounding effects, numerical precision of word
• Effective testing requires a comprehensive understanding of storage and variables (single vs. extended-precision arithmetic),
the system. Such understanding develops from systematically and data typing influences. Issues: accuracy; algorithm efficiency;
analyzing the software’s concept, requirements, design, and correctness; consistency in computation; error propagation;
code. numerical roundoff; numerical stability; space utilization
• By knowing internal software details, software V&V testing is evaluation; system performance prediction; timing.
effective at probing for errors and weaknesses that reveal hidden Analytic modeling provides performance evaluation and capacity
faults. planning information on software design. It represents the
• This is considered structural, or white-box, testing. It often program logic and processing of some kind of model and analyzes
finds errors for which some functional, or black-box, test cases it for sufficiency. Issues: accuracy; algorithm efficiency; bottlenecks;
can produce the correct output despite internal errors. error propagation; feasibility; modeling; numerical roundoff;
• Functional test cases execute part or all of the system to validate numerical stability; processing efficiency; system performance
that the user requirement is satisfied; these test cases cannot prediction.
always detect internal errors that will occur under special Back-to-back testing detects test failures by comparing the output
circumstances. of two or more programs implemented to the same specification.
• Another software V&V test technique is to develop test cases The same input data is applied to two or more program versions
that violate software requirements. and their outputs are compared to detect anomalies. Any test data
selection strategy can be used for this type of testing, although
• This approach is effective at uncovering basic design assumption
random testing is well suited to this approach. Also known as
errors and unusual operational use errors.
comparison testing. Issues: anomalies or discrepancies between
• The process of planning functional test cases requires a versions.
thorough examination of the functional requirements.
Boundary value analysis detects and removes errors occurring at
• An analyst who carefully develops those test cases is likely to parameter limits or boundaries. The input domain of the program
detect errors and omissions in the software requirements. is divided into a number of input classes. The tests should cover
• In this sense test planning can be effective in detecting errors the boundaries and extremes of the classes. The tests check that
and can contribute to uncovering some errors before test the boundaries of the input domain of the specification coincide
execution. with those in the program. The value zero, whether used directly
• The planning process for testing must take into account the or indirectly, should be used with special attention (e.g., division
specific objectives of the software V&V for the software and by zero, null matrix, zero table entry). Usually, boundary values of
the impact of different test strategies in satisfying these the input produce boundary values for the output. Test cases
objectives. should also be designed to force the output to its extreme values.
• Frequently, the most effective strategy may be to combine two If possible, a test case which causes output to exceed the specification
or more strategies. boundary values should be specified. If output is a sequence of
data, special attention should be given to the first and last elements
• Criticality analysis may be used to identify software V&V and to lists containing zero, one, and two elements. Issues:
techniques to address high-risk concerns. algorithm analysis; array size; inconsistencies between limits;
specification error.
66
Code reading involves an expert reading through another Decision (truth) tables provide a clear and coherent analysis of
SYSTEMS ANALYSIS
programmer’s code to detect errors. The individual is likely to complex logical combinations and relationships. This method
perform a pseudo-execution (mentally) of the code to pick up uses two-dimensional tables to concisely describe logical
errors before compilation. Issues: correctness; misuse of variables; relationships between boolean program variables. Issues: logic
omitted functions; parameter checking; poor programming errors.
practices; redundancy. Desk checking involves the examination of the software design or
Control flow analysis transforms text describing software code by an individual, usually an expert other than the author, for
requirements into graphic flows where they can be examined for obvious errors. It can include looking over the code for obvious
correctness. It checks that the proposed control flow is free of defects, checking for correct procedure interfaces, reading the
problems (e.g., unreachable or incorrect software design). Control comments to develop a sense of what the code does and then
flow analysis is used to show the hierarchy of main routines and comparing it to its external specifications, comparing comments
their subfunctions and checks that the proposed control flow is to software design documentation, stepping through with input
free of problems (e.g., unreachable or incorrect code elements). It conditions contrived to “exercise” all paths including those not
detects poor and potentially incorrect program structures. Issues: directly related to the external specifications, and checking for
assertion testing/violations; bottlenecks; boundary test cases; compliance with programming standards and conventions. Issues:
branch and path identification; branch testing; cell structure of anachronistic data; calls to subprograms that do not exist; data
units; correctness; software design evaluation; error propagation; fields unconstrained by data boundaries; failure to implement the
expected vs. actual results; file sequence error; formal specification design; failure to save or restore registers; improper nesting of
evaluation; global information flow and consistency; hierarchical loops and branches; improper program linkages; improper
interrelationship of units; inaccessible code; software integration sequencing of processes; incomplete predicates; incorrect access of
tests; inter-unit structure; loop invariants; path testing; processing array components; inefficient data transport; infinite loops;
efficiency; retest after change; system performance prediction; test initialization faults; input-output faults; instruction modification;
case preparation; unit tests. inverted predicates; mismatched parameter lists; missing labels or
Coverage analysis measures how much of the structure of a unit code; missing validity tests; misuse of variables; prodigal
or system has been exercised by a given set of tests. System level programming; unauthorized recursion; undeclared variables;
coverage measures how many of the unit parts of the system unreachable code; unreferenced labels.
have been called by a test set. Code coverage measures the Review
percentage of statements, branches, or lines of code (LOC) exercised
Software Installation technique
by a test set. Issues: unit tests, software integration tests, software
system tests. Software operation & Maintenance Verification and
Critical timing/flow analysis checks that the process and control Validation PhaseStrategies for checking techniques.]
timing requirements are satisfied by modeling those aspects of Various Techniques
the software design. Issues: modeling; synchronization; timing. Questions
Database analysis ensures that the database structure and access Explain about Software Installation technique
methods are compatible with the logical design. It is performed
1
on programs with significant data storage to ensure that common
data and variable regions are used consistently between all calling 2
routines; that data integrity is enforced and no data or variable can 3
be accidentally overwritten by overflowing data tables; and that 4
data typing and use are consistent throughout the program. Issues:
5
access protection; data characteristics and types; software design
evaluation; file sequence error; global information flow; processing Explain about operation and maintenance V&V.
efficiency; space utilization evaluation; unit tests. 1
Data flow analysis is important for designing the high level 2
(process) architecture of applications. It can check for variables 3
that are read before they are written, written more than once
4
without being read, and written but never read. Issues: assertion
testing/violations; bottlenecks; boundary test cases; branch and 5
path identification; branch testing; cell structure of units; data Explain about software V&V techniques.
characteristics; environment interaction; error propagation; 1
evaluation of program paths; expected vs actual results; file sequence
2
error; global information flow and consistency; hierarchical
interrelationship of units; inter-unit structure; loop invariants; 3
processing efficiency; retest after changes; software design 4
evaluation; software integration tests; system performance 5
prediction; test case preparation; uninitialized variables; unused
variables; variable references.
67
Discuss the various types of techniques used in V&V.
SYSTEMS ANALYSIS
1
2
3
4
5
References
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Notes
68
LESSON 16 :
SYSTEMS ANALYSIS
VERIFICATION AND VALIDATION
69
“mutations” of the original program, each derived by altering a violated. Issues: software integration tests; retest after change;
SYSTEMS ANALYSIS
single element of the program (e.g., changing an operator, variable, software system tests; unit tests.
or constant). Each mutant is then tested with a given collection of Requirements parsing involves examination to ensure that each
test data sets. Since each mutant is essentially different from the software requirement is defined unambiguously by a complete set
original, the testing should demonstrate that each is in fact of attributes (e.g., initiator of an action, source of the action, the
different. If each of the outputs produced by the mutants differ action, the object of the action, constraints). Issues: accuracy;
from the output produced by the original program and from each assertion testing/violations; checklists; completeness; consistency;
other, then the program is considered adequately tested and correct. environment interaction; feasibility; formal specification evaluation;
Issues: boundary test cases; branch and path identification; branch hierarchical interrelationship of units; information flow consistency;
testing; retest after change; test case preparation. software integration tests; inter-unit structure; path testing; proof
Performance testing measures how well the software system of correctness; software requirements evaluation; software
executes according to its required response times, CPU usage, and requirements indexing; software requirements to design correlation;
other quantified features in operation. measurements may be retest after change; standards check; statement coverage testing;
simple to make (e.g., measuring process time relative to volumes software system tests; unit tests.
of input data) or more complicated (e.g., instrumenting the code Reviews are meetings at which the software requirements, software
to measure time per function execution). Issues: memory design, code, or other products are presented to the user, sponsor,
allocation; synchronization; timing. or other interested parties for comment and approval, often as a
Petri-nets model systems to assure software design adequacy for prerequisite for concluding a given activity of the software
catastrophic-failure and other safety problems. The system development process. Reviews check the adequacy of the software
(including software systems) is modeled using conditions and requirements and software design according to a set of criteria and
events represented by state transition diagrams. Petri-nets consist procedures. Issues: effective forerunners to testing; logic errors;
of places (conditions—represented by circles), transitions syntax errors.
(events—represented by bars), inputs (pre-conditions— Sensitivity analysis is a prediction of the probability that a
represented by arrows originating from places and terminating at software testing scheme will make programmer faults observable
transitions), outputs (post-conditions—represented by arrows during testing. It allows different testing strategies to be ranked,
originating from transitions and terminating at places), and tokens compared, and evaluated. Sensitivity analysis is useful for assessing
(indication of true condition—represented by dots). Petri-nets which regions of code are most likely to be affected during software
can be “executed” to see how the software design will actually maintenance (code modifications). It can be twisted into an
work under certain conditions. Specifically, Petri-nets can be used assessment of how fault-tolerant a program is to software
to determine all the states (including hazardous states) the system programmer faults (logic errors). Issues: correctness; logic errors;
can reach, given an initial condition. Issues: hazard analysis; reliability; test case adequacy.
modeling; safety; threat analysis; timing.
Simulation is used to evaluate the interactions of large, complex
Proof of correctness (formal verification) involves the use of systems with many hardware, user, and other interfacing software
theoretical and mathematical models to prove the correctness of a units. Simulation uses an executable model to examine the behavior
program without executing it. Using this method, the program is of the software. Simulation is used to test operator procedures
represented by a theorem and is proved with first-order predicate and to isolate installation problems. Issues: assertion testing/
calculus. Issues: correctness; proof of critical sections. violations; behavior; boundary test cases; branch and path
Prototyping helps to examine the probable results of identification; branch testing; environment interaction; execution
implementing software requirements. Examination of a prototype monitoring, sampling, support; feasibility; file sequence error; inter-
may help to identify incomplete or incorrect software requirements unit structure; path testing; program execution characteristics; retest
and may also reveal if any software requirements will not result in after change; statement coverage testing; system performance
desired system behavior. It can be used as an aid in examining the prediction; software system tests; uninitialized variables; unused
software design architecture in general or a specific set of functions. variables; variable references; variable snapshot/tracing.
For large complicated systems prototyping can prevent Sizing and timing analysis is useful for determining that
inappropriate software designs from resulting in costly, wasted allocations for hardware and software are made appropriately for
implementations. Issues: behavior; omitted functions (from the software design architecture. It is performed during
software requirements); incomplete software requirements incremental code development by obtaining program sizing and
specification; user interface. execution timing values to determine if the program will satisfy
Regression analysis and testing is used to reevaluate software processor size and performance requirements allocated to the
requirements and software design issues whenever any significant software. Significant deviations between actual and predicted values
code change is made. It involves retesting to verify that the modified is a possible indication of problems or the need for additional
software still meets its specified requirements. This analysis ensures examination. Issues: algorithm efficiency; bottlenecks; boundary
awareness of the original system requirements. It is performed test cases; branch and path identification; branch testing; software
when any changes to the product are made during installation to integration tests; processing efficiency; program execution
verify that the basic software requirements and software design characteristics; retest after change; space utilization evaluation;
assumptions affecting other areas of the program have not been software system tests; timing; unit tests.
70
Slicing is a program decomposition technique used to trace an Walkthroughs are similar to reviews, but less formal and much
SYSTEMS ANALYSIS
output variable back through the code to identify all code more detailed. A walkthrough is an evaluation technique in
statements relevant to a computation in the program. This which a designer or programmer leads one or more other
technique may be useful to demonstrate functional diversity. members of the development team through a segment of
Issues: allocation of V&V resources; common code; information software design or code, while the other members ask questions
flow consistency; program decomposition; variable references. and make comments about technique, style, and identify
Software failure mode, effects and criticality analysis reveals possible errors, violations of development standards, and other
weak or missing software requirements by using inductive problems. Issues: checklists; error propagation; effective
reasoning to determine the effect on the system of a unit (includes forerunners to testing; formal specification evaluation; go-no-
software instructions) failing in a particular failure mode. A matrix go decisions; logic errors; manual simulation; parameter
is developed for each unit depicting the effect on the system of checking; retest after change; small, but difficult, or error-prone
each unit’s failure in each failure mode. Items in the matrix may sections of design or code; status reviews; syntax errors; software
include the failure mode and causes, effect on system, criticality, system tests; technical reviews.
change/action required, and prevention and control safeguards. Reuse-Specific
The criticality factor, that is, the seriousness of the effect of the Most V&V techniques are applicable to reused software. Guidance
failure, can be used in determining where to apply other analyses in section 3 provides suggestions on issues to be considered for
and testing resources. Issues: hazard analysis; safety; incomplete deciding to reuse the software; these issues may require application
software requirements specification; threat analysis. of V&V techniques. The two techniques identified in this section
Software fault tree analysis identifies and analyzes software safety are crucial.
requirements. It is used to determine possible causes of known • — Consistency analysis compares the requirements of any
hazards. Its purpose is to demonstrate that the software will not existing software with the new software requirements to ensure
cause a system to reach an unsafe state, and to discover what consistency. Issues: consistency.
environmental conditions would allow the system to reach an • — Interface analysis (see interface analysis and interface testing
unsafe state. The analyst assumes that an already identified hazard above) is especially important to exercise interfaces of reused
has occurred and then works backward to discover the possible software to other parts of the system as part of the planning
causes of the hazard. This is done by creating a fault tree, whose for the reused software, to ensure correct adaption of the reused
root is the hazard. The system fault tree is expanded until it contains code to possible differences in the software architecture,
at its lowest level basic events which cannot be further analyzed. operating environment, and application domain from its
Issues: hazard analysis; safety; threat analysis. original usage.
Stress testing tests the response of the system to extreme
conditions to identify vulnerable points within the software, and
KBS-Specific Techniques
to show that the system can withstand normal workloads. Issues: • — Alternative model compares the domain model
design errors; planning for defaults when system over-stressed. implemented in the KBS to an alternate domain model for
completeness and accuracy.
Structural testing examines the logic of the units and may be
used to support software requirements for test coverage, i.e., how • — Control groups can be used during testing to compare
much of the program has been executed. Issues: bottlenecks; performance on executing a given task with or without the
error propagation; evaluation of program paths; parameter KBS available.
checking; program execution characteristics; retest after change. • — Credibility analysis compares the results of the system to
Symbolic execution shows the agreement between the source known expert s answers and reasoning to the same cases and
code and the software requirements specification. This is an judges the credibility of the system.
evaluation technique in which program execution is simulated • — Field testing is used only for low risk applications. It places
using symbols rather than actual values for input data, and the KBS in actual use and records the results of that use.
program output is expressed as logical or mathematical expressions • — Illegal attribute testing checks rules against constraints
involving these symbols. Issues: assertion testing/violations; for illegal attribute values. This as an effective method for
program execution characteristics; proof of correctness; retest after eliminating bugs during the implementation process of KBS
change. development.
Test certification ensures that reported test results are the actual • — Logical verification is the verification of the expert s
finding of the tests. Test related tools, media, and documentation knowledge for completeness, consistency, etc., as the domain
are certified to ensure maintainability and repeatability of tests. model for the knowledge base system is being built.
This technique is also used to show that the delivered software
• — Meta models compare the knowledge and rules to domain
product is identical to the software product that was subjected to
meta models.
V&V. It is used, particularly in critical software systems, to verify
that the required tests have been executed and that the delivered • — Partition testing selects test cases using partitions of the
software product is identical to the product subjected to software input and output space as criteria and checks if the specification
V&V. Issues: incorrect product version shipped; incorrect test addresses those cases. This as an effective method for
results; reports on test cases that were omitted. eliminating bugs during the requirements, design, and
implementation processes of KBS development.
71
Software V&V Techniques
• — Rule verification checks for completeness, subsumed/
SYSTEMS ANALYSIS
TECHNIQUE REQ DESIGN CODE UNIT INTEGR SYSTEM INSTALL OPER MAINT
redundant rules, inconsistent rules, dead end rules, circular
Algorithm
rules, unreachable conclusions, etc.
Analysis
• — Statistical validation examines how frequently a KBS uses Analytic
rules or clusters of rules int he knowledge base. If there are Modeling
Boundary Value
• — Turing tests compare performance of the system against Analysis
that of an expert in blind trials.
Code Reading
• — Weight analysis compares the statistical information Control Flow
associated with a rule to statics known about the domain. Analysis
Coverage
Analysis
Critical
Timing/Flow
Analysis
Database
Analysis
Data Flow
Analysis
Decision
(Truth) Tables
Desk Checking
Error Seeding
Event Tree
Analysis
Finite State
Machines
Functional
Testing
Inspections
Interface
Analysis
Interface
Testing
Mutation
Analysis
72
1
SYSTEMS ANALYSIS
Table 3-1. Software V&V Techniques (continued)
Simulation
4
Sizing and
5
Timing References:
Analysis
Heuring, Vincent P.
slicing
Computer systems design and architecture
Software
Delhi : Pearson Education Asia, 1997
Fault Tree
Analysis Whitten, Jeffrey L.
Stress Testing
Systems analysis and design methods
Structural
5th ed. New Delhi : Galgotia Publications, 2001
Testing Shelly, Gary B.
Symbolic Systems analysis and design
Execution 3rd ed. New Delhi : Galgotia Publications, 1999
Test Awad, Elias M.
Certification
Systems analysis and design
Walkthroughs
New Delhi : Galgotia Publications, 1997
Hoffer, Jeffrey A.
Review
Modern systems analysis and design
Technique 2nd ed. Delhi : Pearson Education Asia, 2000
Algorithm Analysis
Analytic Modeling Sarkar, A.K.
Back-to-Back Testing Systems analysis, data processing and
Boundary Value Analysis quantitative techniques
Code Reading New Delhi : Galgotia Publications, 1997
Control Flow Analysis Hawryszkiewycz, Igor
Coverage Analysis Introduction to systems analysis & design
Critical Timing/Flow Analysis 4th ed. New Delhi : Prentice Hall of India, 2002
Database Analysis
Data Flow Analysis
Decision (Truth) Tables
Desk Checking
Error Seeding
Event Tree Analysis
Finite State Machines
Functional Testing
Inspections
Interface Analysis
Interface Testing
Mutation Analysis
Performance Testing
Petri-Nets
Proof of Correctness
Prototyping
Questions
Explain about various techniques used in V& V
73
LESSON 17 :
SYSTEMS ANALYSIS
EVALUATION OF MODELS
• Explain the advantages and disadvantages of in-house • Purchase the package and make your own modifications
development versus purchasing a software package • Other software alternatives
• List the steps in purchasing and evaluating a software package • Outsourcing
• Explain the differences between a request for proposal (RFP) • End-user systems
and a request for quotation (RFQ) • Enterprise computing
• Describe the contents of the system requirements document • Outsourcing
and explain its purpose • Using outside companies to handle part of the workload, on
• Explain the prototyping process and describe a typical short-term or long-term basis
situation where prototyping is used • Contract personnel firms
• Describe computer-aided software engineering (CASE) tools • Systems management or facilities management firms
and explain how they are used during the systems
development life cycle • End-user systems
• Explain how systems flowcharts and state-transition diagrams • Major factor in systems planning and development
are used • Applications can be managed by end-users
Comparison of a chosen model • End-user systems
• Major factor in systems planning and development
Evaluating Software Alternatives (Checking)
• Applications can be managed by end-users
• Make or buy decision
• Software suites offer integrated applications
• In-house software
• Interactive Help features include wizards
• Developed by the company’s IS department
• Security concerns might require read-only files
• Software package
• Information centers (IC) can support end-user systems
• Purchased or leased from software publishers or vendors
• Enterprise computing
• Horizontal application
• Overall information management strategy
• Vertical application
• Key is effective integration of information resources
• Developing software in-house
• Many systems involve client/server architecture
• Reasons for in-house development
• Satisfy unique requirements Selecting a software alternative
• Minimize changes in business procedures and policies • Decision will affect remaining SDLC phases
• Meet constraints of existing systems • Systems analyst’s involvement depends on which alternative is
selected
• Meet constraints of existing technology
Five step process
• Develop internal resources and capabilities
• Buying a software package 1. Evaluate the information system requirements
74
Steps in Evaluating and Purchasing • Hardware Alternatives
SYSTEMS ANALYSIS
Software Packages • Hardware decisions use the same five-step approach as software
Step 1: evaluate the information system decisions
requirements • Evaluate system requirements
• Identify the key features of the system • Identify potential hardware vendors
• Estimate volume and future growth • Evaluate hardware alternatives
• Specify any hardware constraints • Make the purchase
• Prepare a request for proposal or quotation • Install the hardware
Step 2: identify potential software vendors • Other issues to consider
• Next step is to contact potential vendors • Turnkey systems
• An RFP will help vendors to identify solutions • Site preparation
• Various sources of information on suppliers • New workstations
• Retailers • Network cabling
• Computer manufacturers • Raised floors
• Industry trade journals • Conditioned electrical lines
• Systems consultants • Fire extinguishing equipment
Step 3: evaluate software package alternatives • Uninterruptible power supplies (UPSs)
• Object is to compare software packages and select the best • How do you select the best alternative?
alternative • Most companies combine
• Obtain information from many sources • In-house developed software
• Vendor presentations and literature • Software packages
• Object is to compare software packages and select the best • Outsourcing
alternative • End-user systems
• Obtain information from many sources • Object is to develop a list of viable alternatives
• Vendor presentations and literature • All viable alternatives must be evaluated
• Product documentation • Feedback from users is essential
• Trade publications • How do you select the best alternative?
• Companies that perform software testing/evaluation Prototyping
• Object is to compare software packages and select the best
Prototyping Model
alternative
• Obtain information from many sources
• Vendor presentations and literature
• Product documentation
• Trade publications
• Companies that perform software testing/evaluation
• Contact users of the package
• Benchmark test
Step 4: make the purchase
• Software licenses
• Lease agreements
• Maintenance agreements
Step 5: install the software package
• Installation time depends on size and complexity • Rapid prototyping assumes that ‘real’ requirements exist and
by iterating through the tasks they can be determined.
• Before using the package, complete all implementation steps
• Evolutionary prototyping assumes that the project
• Loading, configuring, and testing the software
requirements will be subject to continuous change.
• Training users
• Converting data files to new format
75
• Evolutionary prototyping a series of fully functioning complete SpiralModel
SYSTEMS ANALYSIS
76
3. Engineering - Development of the “next-level” product 1. Identify the user’s information and operating requirements.
SYSTEMS ANALYSIS
4. Customer Evaluation - assessment of the results of engineering
Analyze Implement Final
5. Risk Identification Identify user prototype prototype conversion
requirements Input, processing
Project Risks output
difficulties associated with budget, schedule, personnel (staffing Review through Post -
and organization), resources, customer Iterative process
implementation
Technical Risks
These are those problems that arise because the problem is harder Maintenance
than we thought.
Technical uncertainty, technical obsolescence 1. Develop a working prototype that focuses on only the most
Difficulties in interfacing, maintenance, design and implementation important functions, using a basic database.
Business Risks 2. Allow the user to use the prototype, discuss requested changes,
and implement the most important changes.
1. Market risk (the product no one wants)
2. Product line skew (product does not match product line) 3. Repeat the next version of the prototype with further changes
incorporated until the system fully meets user requirements.
3. Can’t sell it because sales doesn’t understand it
• Prototyping and advanced system development techniques have
4. Management risk (change in physical management or focus) been successful in a wide variety of applications.
5. Budget risk (resource commitment) • The benefits include shorter development time, more accurate
Prototyping user requirements, and greater user participation and support.
• Prototyping is an engineering technique used to develop partial, Review
but functional versions of a system or applications. When Evaluating the alternative &Strategies
extended to system design and construction, a prototype can Selecting a software alternative
evolve into the final, implemented system.
Prototyping
• Two ‘flavors’ of prototyping are applicable to systems analysis:
RAD
• Feasibility prototyping is used to test the feasibility of a specific
technology that might be applied to the business problem. Evolutionary model, spiral model, Risk analysis
77
4
SYSTEMS ANALYSIS
5
Tangible Investments Corporation needs a new customer billing
system. As project leader, you decided to create a prototype that
users can evaluate before the final design is implemented. You
plan to use a traditional structured analysis methodology. To
prepare for your meeting with top management tomorrow you
need to review the following topics:
(i) Explain the main purpose of prototyping
(ii) Explain why prototypes might or might not evolve into the
final version of the system.
(iii) list at least three advantages and disadvantages of prototyping.
State the difference between System design and Detailed design.
References:
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Notes
78
LESSON 18 :
SYSTEMS ANALYSIS
OBJECT BASED METHODS
Topics covered • I assume that the American Bank (AB) has partly decentralized
account management. Every branch office has equipment to
Object oriented system Development
maintain the accounts of its clients. All equipment is networked
• Scope together.
• Objects • Each ATM is associated and connected with the equipment of
• Development Paradigms a particular branch office. Clients can have checking, savings and
• Development Phases line of credit accounts, all conveniently interconnected.
• Purpose • Clients can obtain cash out of any of their accounts. A client
• Models with a personal identification number (PIN) can use an ATM
to transfer funds among attached accounts. I will expand on
• Object in analysis these requirements as necessary. For presentation reasons, I
• Classes often revise descriptions from chapter to chapter. Our examples
• Attributes represent only small fragments of any actual system.
• Summary Objects
Objectives • Ø A frame represents a concept in multiple ways. There is a
Upon completion of this Lesson, you should be able to: descriptive as Ill as a behavioral component. A frame of a
restaurant would have as a descriptive component its
Explain about object. prototypical features — being a business, having a location,
Explain about the development phase with object based methods. employing waiters, and maintaining seating arrangements.
Explain the purpose of object oriented system development • Ø The behavioral component would have scripts. For
Explain about classes and attributes example, a customer script outlines stereotypical events that
involve visiting a restaurant.
Scope
• Ø Objects and frames share the property that they bring
• The development of a software system is usually just a part of descriptive and behavioral features closely together. This shared
finding a solution to a larger problem.
feature, phrased from the programming angle, means that the
• The larger problem may entail the development of an overall storage structures and the procedural components that operate
system involving software, hardware, procedures, and on them are tightly coupled. The responsibilities of frames go
organizations. beyond those of objects. Frames are supposed to support
• I do not address associated issues such as constructing the complex cognitive operations including reasoning, planning,
proper hardware platform and reorganizing institutional natural language understanding and generation. In contrast,
procedures that use the software to improve overall operations. objects for software development are most often used for
• I further limit us to the “middle” phases of OO system realizing better understood operations.
development. I discuss the initial collection of system • On the programming side, the Simula programming language
requirements and scheduling of efforts only to the extent to is another, even older, historical root of objects. Unsurprisingly,
which they impact analysis. Similarly, I discuss situation- Simula was aimed at supporting simulation activities.
dependent implementation matters such as programming in Procedures could be attached to a type (a class in Simula’s
particular languages, porting to different systems, and terminology) to represent the behavior of an instance. Simula
performing release management only with respect to general supported parallelism , in the approximation of coroutines ,
design issues. Also, while I devote considerable attention to allowing for many interacting entities in a simulation.
the process of OO development, I do not often address the • Simula objects share the close coupling of data and procedures.
management of this or any software development process.
• The concurrency in Simula was lost in Smalltalk , Eiffel ,
• The context of any system is simply that part of the “world” Objective-C , C++ , and other popular OO programming
with which it directly interacts. In order to describe the behavior languages. HoIver, parallelism has reentered the OO paradigm
of a target system, I have to describe relevant parts of the via OO analysis methods and distributed designs. Modeling
immediate context forming the boundary of the system. reality with “active” objects requires giving them a large degree
Running Example of autonomy.
• Ø Many examples in this course pack describe parts of the • The notion of whether objects have a parallel connotation or
following system of automated teller machines (ATMs): not is currently a major difference betIen OO analysis and OO
programming. Since I expect OO programming languages to
79
evolve to support the implementation of distributed, parallel procedural languages. In addition, inheritance provides for an
SYSTEMS ANALYSIS
systems, I expect this difference to decrease. abstraction mechanism that permits factoring out redundancies.
Definitions Applicability
Like “system”, “software”, “analysis”, and “design”, the term • Are the applicability ranges of the object-oriented paradigm
“object” evades simplistic definition. A typical dictionary definition and the structured paradigm different?
reads:
• If so, how are they related?
• Object: a visible or tangible thing of relative stable form; a thing • Is one contained in the other?
that may be apprehended intellectually; a thing to which thought
or action is directed ]. • Can I describe their ranges?
Samplings from the OO literature include:
• As yet there is not enough evidence to claim that the applicability
ranges are different, although OO may have an edge for
• An object has identity, state and behavior (Booch]). distributed systems. Structured analysis thrives on process
• An object is a unit of structural and behavioral modularity that decomposition and data flows.
has properties (Buhr ) • Can I identify a task domain where process decomposition is
Our own working definition will be refined throughout not the right thing to do, but where objects can be easily
this Lesson. I define an object as a conceptual entity recognized? Conversely, can I identify a task where I do not
that: recognize objects, but where process decomposition is natural?
• Is identifiable; Both cases seem unlikely.
• Has features that span a local state space; • Processes and objects go hand in hand when I see them as
emphasizing the dynamic versus the static view of an underlying
• Has operations that can change the status of the system locally, “behaving” substratum.
while also inducing operations in peer objects.
• The two paradigms differ in the sequence in which attention is
Development Paradigms given to the dynamic and static dimensions.
• The structured analysis (SA) paradigm is rooted in third • Dynamics are emphasized in the structured paradigm and statics
generation programming languages including Algol , Fortran , are emphasized in the OO paradigm. As a corollary, top-down
and COBOL . decomposition is a strength for the SA approach, while the
• The procedure and function constructs in these languages grouping of declarative commonalities via inheritance is a
provide for a poIrful abstraction mechanism. Complex behavior strength for the OO approach.
can be composed out of or decomposed into simpler units. Mixing Paradigms
• The block structure of Algol-like languages provides syntactic The software development community has a large investment in
support for arbitrary many layers. Applied to the development structured analysis and structured design (SD).
of systems, this abstraction mechanism gives prominence to
The question has been raised repeatedly whether one can mix and
behavioral characterization. Behavior is repeatedly decomposed
match components from the structured development process with
into subcomponents until plausibly implementable behavioral
components of the OO development process.
units are obtained.
For instance, whether the combination of SA + SD + OOP or SA
• The starting point for process modeling resides in the required + OOD + OOP is a viable route.
behavior of the desired system.
• This makes SA a predominantly top-down method. High Development Methods
level process descriptions are consequently target system specific, Within a given paradigm, one may follow a particular method. A
and thus unlikely to be reusable for even similar systems. method consists of:
• As a result, a description (and a subsequent design and 1. A notation with associated semantics.
implementation) is obtained that is by and large custom fit for 2. A procedure/pseudo-algorithm/recipe for applying the
the task at hand. notation.
• OO software development addresses the disadvantage of 3. A criterion for measuring progress and deciding to terminate.
custom fitting a solution to a problem. Footnote :
• At all levels of the development process, solution components I use the word method, not methodology. The primary meaning of
can be formulated that generalize beyond the local needs and as methodology is “the study of methods” which is the business of
such become candidates for reuse (provided I are able to manage philosophers. The secondary meaning of methodology is method.
these components). Since that is a shorter word I refrain from joining the methodology
• Other aspects of OO development are available to control the crowd. (Similarly, I prefer using technique over technology.)
complexity of a large system. • This Lesson does not introduce yet another new method for
• An object maintains its own state. A history-dependent OO development.
function or procedure can be realized much more cleanly and • I instead attempt to integrate methods representative of the
more independently of its run-time environment than in OO paradigm. Our OO analysis notation is just borroId from
80
multiple sources. Still I have given it a name, OAN (Our analysis realm differ significantly from objects in the
SYSTEMS ANALYSIS
Analysis Notation), for easy referencing. implementation phase.
• When necessary to distinguish our views from those of others, • An analysis object is independent and autonomous.
I will refer to these simply as “our method” ( OM). • HoIver, an object in an OO programming language usually
Development Phases shares a single thread of control with many or all other objects.
• No author in the area of software development has resisted • Hence, the design phase plays a crucial role in bridging these
denouncing the waterfall model . Everyone agrees that insights different computational object models.
obtained downstream may change decisions made upstream Prototyping
and thus violate a simple sequential development algorithm.
• Prototyping and exploratory programming are common parts
• The notion of a development process in which one can backtrack of OO analysis, design and implementation activities.
at each point to any previous point has led to the fountain
• Prototyping can play a role when aspects of a target system
metaphor (with, I assume, the requirements at the bottom
cannot be described due to lack of insight. Often enough,
and the target system at the top).
people can easily decide what they do not want, but they cannot
• Whether the development process has few feedback loops (the describe beyond some vague indications what is to be produced.
waterfall model) or many (the fountain model) depends on
several factors. Footnote
I avoid the trendy phrase rapid prototyping since no one has yet
• The clarity of the initial requirements is an obvious factor. The advocated slow prototyping.
less I know initially about the desired target system, the more
I have to learn along the way and the more I will change our • Graphical user interfaces are an example. What makes a particular
minds, leading to backtracking. layout on a screen acceptable?
• Another factor might be the integration level of tools that • Must a system keep control during human interaction by
support the development process. offering menu choices or should control be relinquished so
that a user can provide unstructured input?
• A highly integrated development environment encourages
“wild” explorations, leading to more backtracking. On the other • These kinds of question are sometimes hard or impossible to
hand without tool support, I may be forced to think more answer. Prototyping experimental layouts can help. The situation
deeply at each stage before moving on because backtracking resembles that of an architect making a few sketches so that a
may become too costly. customer can formulate preferences.
• It has been said that the object-oriented paradigm is changing • As long as the unknown part of the requirements is only a
the classic distinctions betIen analysis, design and fragment of a system, OO analysis cooperates with prototyping.
implementation. In particular, it is suggested that the differences Exploratory programming is called for when most of the
betIen these phases is decreasing, that the phases blur into each requirements are not Ill understood. Research projects fall into
other. this category. Programming in artificial intelligence is an example.
• People claim that the OO paradigm turns every programmer • Problem solving by analogy is particularly murky behavior.
into a designer, and every designer into an analyst. I are willing Exploratory programming can be a vehicle for validating theories
to go only part way with this view. and/or for obtaining better conjectures.
• There is empirical evidence from projects in which objects • I feel that purely exploratory programming applies to an
identified in the requirements phase carried all the way through essentially different set of tasks than the more tractable
into the implementation . On the other hand, intrinsic (although possibly very large) tasks to which the methods
differences among phases cannot be forgotten. described in this Lesson apply. Formulated negatively, the
methods in this Lesson may not apply when the development
• Analysis aims at clarifying what the task is all about and does task is too simple or when the task is too hard.
not go into any problem solving activity. In contrast, design
and implementation take the task specification as a given and • Elucidating functionality is just one of the motivations for
then work out the details of the solution. prototyping. I have so far used “prototyping” primarily in the
sense of “throwaway prototyping” — aimed at gathering
• The analyst talks to the customer and subsequently (modulo insights — in contrast to “evolutionary prototyping” — aimed
fountain iterations) delivers the result to the designer.
at implementing a system in stages. A prototyping activity may
• The designer “talks”, via the implementor, with hardware that have both aims but they need not coincide ., I shall describe a
will ultimately execute the design. In a similar vein I do not framework for design prototyping that is explicitly evolutionary
want to blur the difference betIen design and implementation. in nature. Similarly, performance constraints may require
• Contemporary OO programming languages have limitations empirical evaluation via implementation-level prototyping.
and idiosyncrasies that do not make them optimal thinking Development Tools
media for many design tasks.
• It is, in our opinion, misleading to suggest that phase
differences disappear in the OO paradigm. Objects in the
81
• Acceptance of the fountain metaphor as the process model for 3.“On the other hand, I can define the set of all systems that
SYSTEMS ANALYSIS
software development has profound ramifications. Beyond could possibly satisfy user needs as a statement of what I want
toy tasks, tool support and integration of different tools is our system to do without describing how the particular system
essential in enabling backtracking. Of course these tools also ... will behave.”
need to support versioning, allow for traceability , and cater to The suggestion to construct this set of all systems (and apply
team development. These are quite stringent requirements, behavior abstraction?) strikes us as artificial for the present
which are currently not yet satisfied. Various groups are working discussion, although an enumeration of techniques may be
on the standards to achieve tool control and data integration important to facilitate a physical design decision.
.Manipulating objects in all phases of the development process
4. “The next step might be to define the exact behavior of the
should make it easier to construct an integrated development
actual software system to be built ... This step ... defines how the
environment
system behaves ...”
Purpose of object oriented system development This is debatable and depends on the intended meaning of “exact
The analysis phase of object-oriented software development is behavior”. If this refers to the mechanism of the intended system
an activity aimed at clarifying the requirements of an intended then I subscribe to the quotation. HoIver, it could also encompass
software system, with: the removal of ambiguity by elaborating on the description of
Input the customer-ATM interaction. If so, I still reside in what country.
A fuzzy, minimal, possibly inconsistent target specification, user For example, I may want to exemplify that customer authentication
policy and project charter. precedes all transactions, that account selection is to be done for
those customers who own multiple accounts, etc.
Output
Understanding, a complete, consistent description of essential 5. “On the other hand, I can define the external behavior of the
characteristics and behavior. actual product ... as a statement of what the system will do
without defining how it works internally.”
Techniques
I may indeed be more specific by elaborating an interaction sequence
Study, brainstorming, interviewing, documenting.
with: “A client can obtain cash from an ATM by doing the
Models following things: Obtaining proper access to the ATM, selecting
Most attention in the analysis phase is given to an elaboration of one of his or her accounts when more than one owned, selecting
functional requirements. This is performed via the construction the cash dispense option, indicating the desired amount, and
of models describing objects, classes, relations, interactions, etc. obtaining the delivered cash.” I can go further in our example by
Declarative Modeling detailing what it means to obtain proper access to an ATM, by
I quote from Alan Davis stipulating that a bank card has to be inserted, and that a PIN has
to be entered after the system has asked for it.
A Software Requirements Specification is a document containing
a complete description of what the software will do without 6. “The next step might be to define the constituent architectural
describing how it will do it. components of the software system. This step ... defines how
the system works internally ...”
• Subsequently, he argues that this what/how distinction is less
obvious than it seems. Davis continues by arguing that one can define what these
components do without describing how they work internally.
• He suggests that in analogy to the saying “One person’s floor
is another person’s ceiling” I have “One person’s how is another • In spite of such attempts to blur how versus what, I feel that
person’s what”. He gives examples of multiple what/how these labels still provide a good initial demarcation of the
layers that connect all the way from user needs to the code. analysis versus the design phase.
• I will follow a few steps of his reasoning using the single • On the other hand, analysis methods (and not only OO analysis
requirement from our ATM example that clients can obtain methods) do have a how flavor. This is a general consequence of
cash from any of their accounts. any modeling technique. Making a model of an intended system
is a constructive affair.
1. Investigating the desired functionality from the user’s perspective
may be seen as a definition of what the system will do. • A model of the dynamic dimension of the intended system
describes how that system behaves..
The ability of clients to obtain cash is an example of functionality
specified by the user. • The object-oriented paradigm puts another twist on this
discussion. OO analysis models are grounded in object models
2. “The next step might be to define all possible systems ... that
that often retain their general form from analysis (via design)
could satisfy these needs. This step clearly defines how these
into an implementation. As a result, there is an illusion that
needs might be satisfied. ...”
what and how get blurred (or even should be blurred). I disagree
The requirements already exclude a human intermediary. Thus, I with this fuzzification.
can consider different techniques for human-machine interaction,
Ø I should also note that the use of models of any form is
for example screen and keyboard interaction, touch screen
debatable. A model often contains spurious elements that are
interaction, audio and voice recognition. I can also consider different
not strictly demanded to represent the requirements.
authentication techniques such as PIN, iris analysis, handline
analysis. These considerations address the how dimension. Objects in Analysis
82
OO analysis models center on objects. The definition of objects
SYSTEMS ANALYSIS
given in. The bird’s eye view definition is that an object is a
inside object betIen objects
conceptual entity that:
• Is identifiable; attribute relationship
static
• Has features that span a local state space; constraint acquaintanceship
• Has operations that can change the status of the system locally,
while also inducing operations in peer objects. state net and/or interaction and/or
dynamic
Since I are staying away from solution construction in the analysis interface causal connection
phase, the objects alloId in this stage are constrained. The output
of the analysis should make sense to the customer of the system
development activity. Thus I should insist that the objects • The static row includes a disguised version of entity-
correspond with customers’ notions, and add: relationship (ER) modeling . ER modeling was initially
• an object refers to a thing which is identifiable by the users of developed for database design. Entities correspond to objects,
the target system — either a tangible thing or a mental construct. and relations occur betIen objects.1 Entities are described using
Another ramification of avoiding solution construction pertains attributes . Constraints capture limitations among attribute
to the object’s operator descriptions. I will stay away from procedural value combinations.
characterizations in favor of declarative ones. • Acquaintanceships represent the static connections among
Active Objects interacting objects.
• Some OO analysis methods have made the distinction betIen 1Footnote:
active and passive objects. For instance Colbert defines an object The terms “relation” and “relationship” are generally
as active if it “displays independent motive poIr”, while a passive interchangeable. “Relationship” emphasizes the notion as a noun
object “acts only under the motivation of an active object”. phrase.
• I do not ascribe to these distinctions, at least at the analysis • The dynamic row indicates that some form of state machinery
level. Our definition of objects makes them all active, as far as is employed to describe the behavior of a prototypical element
I can tell. This active versus passive distinction seems to be of a class . Multiple versions of causal connections capture the
more relevant for the design phase “social” behavior of objects.
• This notion of objects being active is motivated by the need to • Inheritance impacts all four cells by specifying relationships
faithfully represent the autonomy of the entities in the “world”, among classes. Inheritance allows the construction of compact
the domain of interest. descriptions by factoring out commonalities.
• For example, people, cars, accounts, banks, transactions, etc., Other Model Components
are all behaving in a parallel, semi-independent fashion. By The four models form a core. Additional models are commonly
providing OO analysts with objects that have at least one thread added to give summary views and/or to highlight a particular
of control, they have the means to stay close to a natural perspective. The core models are usually represented in graphic
representation of the world. This should facilitate explanations notations
of the analysis output to a customer. HoIver, a price must be • For instance, a summary model in the static realm may remove
paid for this. all attributes and relationship interconnections in a class graph
• Objects in the programming realm deviate from this to highlight inheritance structures. Alternatively, I may want to
computational model. They may share a single thread of control show everything associated with a certain class C, for example,
in a module. Consequently, bridging this gap is a major its attributes, relationships in which C plays a role, and
responsibility of the design phase. inheritance links in which C plays a role.
Four-Component View Process
• A representation of a system is based on a core vocabulary. The • Several factors prevent analysis from being performed according
foundation of this vocabulary includes both static and dynamic to a fixed regime. The input to the analysis phase varies not
dimensions. only in completeness but also in precision.
• Each of these dimensions complements the other. Something • After factoring out these sources of variation, I may still wonder
becomes significant as a result of how it behaves in interaction whether there is an underlying “algorithm” for the analysis
with other things, while it is distinguished from those other process. Investigation of current OO analysis methods reveals
things by more or less static features. that:
• This distinction between static and dynamic dimensions is one • The creators of a method usually express only a Iak preferences
of the axes that I use to distinguish the models used in analysis. for the sequence in which models are developed.
Our other main distinction refers to whether a model concentrates • There is as yet no consensus about the process.
on a single object or whether interobject connections are addressed. • There appear to be two clusters of approaches: (1) Early
The composition of these two axes give us the following matrix: characterization of the static dimension by developing a
83
vocabulary in terms of classes, relations, etc. (2) Early • Real-life entities are often described with words that indicate
SYSTEMS ANALYSIS
characterization of the behavioral dimension, the system- stable features. Most physical objects have features such as shape,
context interactions. Light, color, and type of material. People have features including
date of birth, parents, name, and eye color. A feature may be
Classes
seen as a binary relation between a class and a certain domain.
• Sometimes I need to talk about a particular instance in our Eye color for example, may be seen as a binary relation between
system model. For example, a bank may maintain some key the class of Eyes and an enumerated domain {brown, blue,
“system” accounts. I may want to describe a few special yellow, green, red}. A domain can be a class as Ill, for example,
employees, e.g., the executive officers. Usually, hoIver, collections in the case of the features parents, spouse, accountOwnedBy,
of objects, so-called classes 1 are described. etc.
Footnote 1: • The applicability of certain features (i.e., the features themselves,
The notions of “type” and “class” are sometimes distinguished not just their values) may change over time. For example, frogs
in the implementation realm. A type is the abstract characterization and butterflies go through some drastic changes in their lifetime.
of a particular “family” of objects, while a class is then the actual I avoid this kind of flexibility. Thus, a class is characterized by
realization in a particular programming language of that type. I its set of defining features, or attributes. This collection of
will uniformly use the term “class”.. features does not change. (I later present tricks for getting around
• A class stands for a family of objects that have something in this limitation.)
common. A class is not to be equated with a set of objects, • The notion of a (binary) relation crept into the previous
although at any moment I can consider the set of instances discussion. The reader may wonder how I can discuss them
that belong to the class. A class may be seen as what all these here since I have relegated them to another model in our four-
sets have in common. In technical terminology, a class stands component view. I make a distinction between attribute (binary)
for the intension of a particular characterization of entities, relationships that represent intrinsic, definitional properties of
while the set of objects that conform to such a characterization an object versus relationships that describe contingent,
in a certain period is known as the extension incidental connections between objects. Because I, as analysts,
• Notationally, a rectangle surrounds the name of a class. For are in control, I can prescribe for an object what is definitional
example, the class Account is depicted as: and what is incidental. For example, in a particular system I
may agree that for the class Person a social-security-number is a
defining attribute while a parent feature is seen as an incidental
relationship. In another system, the reverse choices could be
made.
• An object is an instance of at least one and at most one class. I illustrate the notation for attributes with a class Account that has:
Certain methods allow an object to change, during its lifetime, • Attribute accountNumber of value domain AccountNumber
the class of which it is an instance. This freedom increases the and
expressive poIr of the analysis method. But since most OO
• Attribute currency of value domain Currency.
software development methods and languages do not support
this feature, and since the effects of change may be described by A graphical notation for these attribute names and attribute values
other means, I refrain from this practice. is:
• Individual objects are primarily characterized by an indication
of which class they belong. For example:
• The arrow between the instance and its class is called the ISA
relationship. This instance characterization is insufficient. At
this stage, I do not have available the means, beyond naming,
to distinguish multiple instances of the class Account. This representation indicates that AccountNumber is a “data value”
• In general, I avoid using names to describe individual objects, domain and that Currency is a class. It is debatable whether I
because usually objects do not have natural names. Just consider should make such a distinction betIen values and objects. For
the examples given earlier — a bank transaction, a newspaper instance, one can take the stance that integers, strings, and 32-bit
story, a phone call, a rental car contract, a utility bill, and an reals are all objects as Ill.. I use the convention that unboxed value
airline reservation. Instead, descriptions are used that somehow domains do not represent classes. Consequently, if I change our
denote unique entities. Attributes of objects will do the mind and represent the currency attribute as a data value, I would
descriptive job. unbox it.
Attributes Attributes of Instances
84
• Attributes can be employed to describe an instance of a class
SYSTEMS ANALYSIS
Development]. OO texts that cover the full life cycle include
by indicating how it “scores” with respect to the attributes. In Booch’s Object Oriented Design with Applications and
the following example, I depict a particular instance of the Rumbaugh et al’s Object Oriented Modeling and Design .
class Account:
• Yearly proceedings are available from the principal OO
conferences, OOPSLA (held in the Istern hemisphere) and
ECOOP (Europe). Both originally focused on programming
and programming languages but have more recently broadened
their attention to the full life cycle.
Questions
Analysis aims at giving an unambiguous description of what a
target system is supposed to do. Enumerate the differences, if
any, of an analysis method for characterizing software systems
versus an analysis method for characterizing hospital systems, or
any other nonsoftware system with which you are familiar.
1
Note that attribute names have been repeated in the instance. An 2
alternative approach would use graphic notation to link up the 3
attributes of the instance with the attributes in the class, as in: 4
5
In general, prototyping may be seen as “disciplined” hacking that
explores a narrow Ill defined problem. Would the throwaway
connotation of a produced artifact in this characterization change
as the result of an overall OO approach?
1
2
3
4
85
commonality between these notions and the notion of analysis 11 NIST. Reference Model for Frameworks of Software
SYSTEMS ANALYSIS
References
1 G. Booch. Object Oriented Design with Applications.
Benjamin/Cummings, 1990.
2 R. Buhr. Machine charts for visual prototyping in system
design. Technical Report 88-2, Carlton University, August 1988.
3 O. Dahl and K. Nygaard. Simula: An algol-based simulation
language. Communications of the ACM, 9, 1966.
4 A.M. Davis. Software Requirements, Analysis and Specification.
Prentice-Hall, 1990.
5 D. de Champeaux, A. Anderson, M. Dalla Gasperina, E.
Feldhousen, F. Fulton, M. Glei, C. Groh, D. Houston, D.
Lerman, C. Monroe, R. Raj, and D. Shultheis. Case study of
object-oriented software development. In OOPSLA ‘92. ACM,
1992.
6 D. de Champeaux and P. Faure. A comparative study of object-
oriented analysis methods. Journal of Object-Oriented
Programming, March/April 1992.
7 Random House. The Random House College Dictionary.
Random House, 1975.
8 W.S. Humphrey. Managing the Software Process. Addison-
Isley, 1990.
9 M. Jackson. Systems Development. Prentice Hall, 1982.
10 M. Minsky. A framework for representing knowledge. In P.
Winston, editor, The Psychology of Computer Vision.
McGraw-Hill, 1975.
86
LESSON 19 :
SYSTEMS ANALYSIS
OBJECT BASED METHODS
Topics covered
Object oriented system Development
• Attribute features
• Optional attributes
• Static and Dynamic
Object Relationships
• Relationships
• Collections
• Identifying Relationships Probability
Class Relationships We may want to associate with an attribute our knowledge about
the distribution of the values in the value domain. (A default
• Property Inheritance
value need not correspond with the value that has the highest
• Subclasses probability.) As an example, consider the class Human with the
• Multiple Inheritance attribute age. The probability distribution corresponds here with a
• Inheritance of Relations demographic profile. A designer may want to exploit this
information.
Objectives
We avoid introducing special notation. One option is to list (value,
Upon completion of this Lesson, you should be able to: probability) pairs. For numerical domains, a probability
Explain about the attributes. distribution function may be specified. Any other mathematical
With a live example about various attribute features notation may be invoked as needed.
Explain the various notation used for identifying object Multiplicity
relationships A multiplicity feature associates more than one value to an attribute.
Explain the various notation used for identifying class We use the notation [N:M], where 0 <= N <= M. N indicates the
relationships minimum number of values and M indicates the maximum
number. A few conventions simplify the notation:
Attribute Features
• We usually abbreviate [N:N] as [N] to represent a multiplicity
We have attached attributes to objects. The next step is to give, in
of exactly N.
a sense, attributes to attributes. We will call them features to avoid
too much confusion. • We usually omit a multiplicity indicator when the multiplicity
is [1].
Two features of attributes have been encountered already, the
attribute’s relation name, which is sometimes called the role name, For example, the class Hand might contain the attribute finger with
and the value domain . Here we expand the features that can be a value domain of class Finger and a multiplicity constraint of
associated with an attribute. We should stress that using these [0:6]. This requires an explanation indeed. A hand remains a hand
features is optional and can be ignored in first rounds or even all even when all the fingers have been amputated. That explains the
together. minimum 0. The 6 has been chosen because Anne Boleyn had a
hand with six fingers.
Defaults
This multiplicity notation is sometimes not expressive enough.
Sometimes it is useful to indicate a default initial value for an
Consider a family of vehicles where the number of wheels per
attribute. A generous bank may, for example, give a surprised
vehicle is 3, 4, 6 or 10. In general, a multiplicity indicator can be any
new customer an account with an initial balance of $10. Since
arbitrarily complex description of a set of natural numbers. Given
sheep are usually white, their color attribute can be given this
this state of affairs, we omit additional notation beyond observing
default value.
that predicate calculus provides formal precision and unbounded
A revised Account class includes a notation for indicating a default expressiveness.
value of an attribute:
Optional Attributes
Using a zero lower bound in the multiplicity feature of an attribute
indicates that possession of the attribute is “optional”. This allows
instances that effectively do not have that attribute. This is a way
87
around the limitation of freezing a collection of attributes for a
SYSTEMS ANALYSIS
Several other senses of restriction are common enough to group
class. under broad categories, allowing simpler qualification:
For example, a bank has branches, each having departments. We • We may require that an attribute value for each instance of the
assume that departments consist of a department head and class to be fix• ed (immutable) when the object is created and
subdepartments. This creates a recursive structure that bottoms initialized. This value may differ across different instances, but
out by making subdepartments optional. Thus, a nonmanagerial it may not vary across time for any instance. Fixed attributes
employee is a department head that does not supervise differentiate instances from peer objects that are members of
subdepartments. For illustration, we restrict the branching ratio the same class.
of departments to six: • We may require that the value of an attribute be common to all
instances of a class, even without knowing what that value
should be. The common value may also change across time.
For example, all instances of class Account might need to record
transactions using a common LogFile. The exact file may change
over time.
• The category of unique attributes is the extreme opposite of
common. A unique attribute is one whose value differs for
each instance of a class. For example, the value of attribute
accntId should be unique to each instance of class Account.
Qualifiers including fixed, common, and unique may be annotated
in any convenient fashion. For example, the following class Client
has a social security number attribute that is both unique for each
instance and remains fixed over its lifetime:
Statics and Dynamics
• Static considerations may be insufficient to differentiate classes.
We can still have variations based on behavioral differences.
• For example, one kind of calculator may support only addition
and subtraction, while another one with the same attribute
structure (at an appropriate abstraction level) also supports
multiplication and division. However, we are emphasizing for
now class identification, and especially characterization, via the
static features of the objects that constitute a class.
• This may sound counterintuitive. Some entities are easier to
describe via their dynamic (potential) dimension. For instance,
a pilot is a person that can fly a plane. Even so, remember that
the static and dynamic dimensions of an entity are
complementary notions that can add and build onto the other.
Change is perceived against a background of constancy.
• Dually, constancy is merely the inability to perceive a slow rate
of change. In addition, our treatment of the static dimension
Multiplicity default and probability. of objects before addressing the dynamic dimension should
Multiplicity indications may be dressed up with more knowledge not be seen as an imperative for the OO analysis process.
if this information is beneficial for a design and/or
For example, an automated teller machine can be understood as a
implementation. For example, a reasonable default multiplicity
device that can support a range of financial transactions. (The
for the number of wheels of a car is four. A probability distribution
term machine in its name already emphasizes the dynamic aspect.)
for the multiplicity feature denoting the number of children per
However, it may still be described in terms of its static features.
parent might be obtained through an empirical sampling.
The following first impression for class ATM (to be revised
Qualifiers extensively in coming chapters) lists attributes indicating functional
The range of an attribute value can be restricted in any of several components of an ATM machine:
senses. We always fix an attribute to a particular domain. The
values of an attribute of an object must remain within the indicated
domain throughout the lifetime of the object. The domain for an
attribute listed in a class may be narrowed down to only one
possible value. For example, the class Albino has for its color
attribute the value white.
88
TimeInterval
SYSTEMS ANALYSIS
describes how often a transfer will be attempted. Possible values
can range from minutes (or perhaps even shorter) to months (or
even longer).
AmountExpression
Is any expression describing the amount to be transferred. This
might just be a fixed sum. Alternatively, we can envision that the
AB bank allows for amounts that are functions of certain
parameters. For example, to maintain a certain balance in the from
account, it might take the form:
(the balance of the from account) — (a fixed sum).
TransferBoolean
Describes a truth-valued function to be used to block the transfer
when certain conditions are not met. For example, a value calculated
by the function outlined in the previous attribute should not be
too small, or one may want to constrain the maximum amount
on the target account.
Relationships
A relationship may be seen as a named family of typed tuples.
They are typed in the sense that the nth element in a tuple is an
instance from a specific domain or class.
The signature of a relationship is just a listing of these types. For
example, the signature of the Ownership relationship is ( Client,
Account) since it has a family of 2-tuples where the first domain is
• For a different kind of example, the following TransferDaemon the class of Clients and the second domain is the class of Accounts.
class represents the static dimension of procedures that are run
Following the tradition of the data modeling community and
periodically to transfer an amount provided a condition is met.
other OOA methods, a diamond is used to depict a relationship
For instance, such a procedure may automatically transfer money
in our graphical notation. A diamond is connected via edges to
to a savings account when a checking account has too much
the domains of the tuple elements. Obviously, we will always
money.
have at least two edges.
For example, to indicate that class Client and class Account are
connected by the relationship Own:
89
Transitive
SYSTEMS ANALYSIS
Graphical notation can sometimes cause an ambiguity when a
relationship connects identical domains. For example, the Supervise For all x, y, z, if R(x, y) and R(y, z) hold, then R(x, z) holds. For
relationship between two Persons is described in textual example, the relationship AncestorOf .
representations by ordering the arguments, as in: Constraints
Supervise(Person, Person).
We can agree that the first argument represents the supervisor and In the same way that constraints provide supplementary
the second argument the “supervisee” (person that is being information about simple attributes, additional constraints may
supervised). To avoid ambiguity in diagrams we can add role express restrictions on the allowed instances of a relation.
names, as in (letting Spv stand for Supervise): For example, we can rephrase the fact that instances of class Person
have the attribute spouse as a binary relationship Spouse between
Cardinality
Person and Person (assuming the spouse attribute has been eliminated
Consider a domain in which an account cannot have more than
from class Person):
one owner. This means that a particular instance of Account can
occur not more than once in an Own tuple.
Cardinalities (the relational versions of multiplicities) may be used
to indicate such properties. Here, we can add the cardinality notation
[0:1] to the diagram: The [0:1] cardinality captures a monogamy restriction.
90
When a multivalued attribute would have more specific multiplicity
SYSTEMS ANALYSIS
bounds, as in [3:7], the corresponding set notation may be
annotated accordingly in any agreed on manner.
Other Collections
If necessary, the analyst is invited to employ other collection
notations and the usual operations associated with them:
Sequences.
For example, the class String may be described as SEQ(Char).
Other examples include the ATM attribute logOfSessions, which
has as value domain SEQ(Session).
Arrays.
Sets
For example, the class 2D-4-5-grid may be described as
Sets are the most well-known and useful kinds of collections
ARRAY[3:4](Point). The days of a year can be represented as an
Once we have sets, we can open the floodgates and adjoin to our
array, for instance, to record a savings account interest rate for that
representational apparatus the notations that are available in set
time period: ARRAY[365](Day).
theory. These include:
for intersection, Bags.
for summation, For example, the collection of accounts involved in receiving funds
for subtraction, in a certain time period may be described as a BAG(Account). Since
for the subset relationship, an account may receive funds more than once we can have
for the superset relationship. repetitions.
We denote sets by expressing their domains as “arguments”. For Generic Classes
example, a set of branches is denoted as SET(Branch). Observe Additional collections and related constructs may be defined as
that we now have two ways to describe multivalued attributes; generic classes. These classes capture the commonalities of a broad
sets and multiplicity features. The following two depictions may range of other classes. Inheritance is an excellent mechanism to
be treated as equivalent: exploit abstract classes and create more specific versions. Generic
classes instead use the style of procedure or function variables to
express genericity.
Our notations for sets and other collections are special cases of
that for generic classes. By convention we use upper case names
for generic classes. For example, the following generic classQUEUE
has instances with elements of type X.
91
tuple. And they cannot change state or communicate with other dependency. The cardinality [0:1] reflects a partial function that
SYSTEMS ANALYSIS
92
Managers saying that each department has a unique manager and OO programming, property inheritance. Properties consist of
SYSTEMS ANALYSIS
each manager manages a single department. These relationships declarative class features and associated constraints. (We consider
are most naturally captured as attributes. When doing so, attribute only explicit features and constraints ruling out features, values,
multiplicity notation may be extended as [1:1]-[1:1], or abbreviated etc.)
as unique to indicate this property. Property inheritance is a relation between a subclass and a
We summarize these classifications by showing how some Superclass. Class Q is a subclass of superclass P when every attribute,
standard function categories are described as attributes: constraint, and transition network of P is also an attribute,
One-to-One constraint and transition network of Q and wherever P participates
A function is one-to-one if each distinct argument maps to a in a relationship Q does as well. Additionally, the subclass Q is
distinct result. This corresponds to unique. “stronger” than P. Instances ofQ have all the definitional properties
defined in class P, but are also constrained by at least one additional
Pure
definitional feature. Thus, the family of instances of Q i s a
A function is pure if multiple applications with the same argument
subfamily of the instances of P. In more detail:
always give the same result. This corresponds to per-object fixed.
Attributes
Singular
If all instances of P possess attribute a, then so do all instances of Q. All
A function is singular (or fully many-to-one) if it always gives the
features and constraints applying to a in P also apply to a in Q.
same answer, regardless of argument. This corresponds to per-
class common (i.e., constraining all instances to possess the same Relationships
value). If there is a relationship between P and a class R, then there is a
relationship between Q and R as well. If this relationship is
Partial
functional and all of P is in the domain of the relationship, then
A function is total if it is defined for each possible argument.
for every instance q in Q there is an associated instance r in R.
Otherwise it is partial. Partial functions are denoted with [0:1]
multiplicities. Transitions
If the behavior of P is described by a transition network with
Multivalued
state S and transition T, then Q has state S and transition T as
A multivalued (or one-to-many) function corresponds to either
well.
[1:N] multiplicities or SET or other collection domains.
Inheritance is a core concept of the object-oriented paradigm, Interactions:
emerging in two basic contexts, abstraction and reuse. If instances of P may interact with, accept event input data
describing, and/or generate output event data describing instances
Abstraction of a class R, then so may instances of Q.
First, one may recognize that two constructs A and B have
All classes may be considered to be subclasses of a common base.
something in common. To avoid having to deal twice with this
We consider class Any to describe any object. It thus serves as the
shared aspect, one may create a construct C that captures the
root of any inheritance hierarchy. The class defines no attributes or
commonality, remove this commonality from A and B and restore
transitions. Any is an example of a class that is not directly
it in A and B by letting them inherit from C. Consider Apples,
(deterministically) instantiable. No object is a member only of
Pears, and Oranges. It may pay off to introduce the notion ofFruit
class Any, but instead of one of its subclasses (or their subclasses,
and factor out in Fruit the commonalities of apples, pears, and
or ...). Non-instantiable classes are common results of superclass
oranges. Similarly, it may pay off to introduce the class Account to
abstraction.
capture the commonalities in CheckingAccount, SavingsAccount,
BusinessAccount, etc. Hierarchical abstraction of common features Subclasses
contributes to the overall human understanding of the objects One can simply declare that a class is a subclass of another, for
and classes comprising a system. example that class CheckingAccount is a subclass of the class Account.
It is, of course, much more defensible to provide a reasoned
Reuse and Specialization
justification of why the class is a subclass of the other. In general,
A second reason for using inheritance can arise during model
inheritance is justifiable when the subclass description imposes
construction. During the construction of, say, class D, one may
additional features and/or constraints without invalidating any
recognize that a desired feature of D has been developed already
properties described in the superclass.
and is available in, say, class E. Instead of reconstructing this
feature, one establishes a directed inheritance link between D and We will give a set of more precise justifications, along with
E. The more specialized class D reuses all features of E. In the examples. In this section we focus on the definition of a subclass
programming realm, this is sometimes known as “programming Q with a single superclass P. We will later broaden this to include
by differences”. multiple inheritance
93
SYSTEMS ANALYSIS
· Let P be a particular kind of car. Q has exactly the same features,
however it has the additional behavior that it can be operated
in four-wheel drive.
Additional Constraint
Subclass Q may differ from P because Q carries an additional
constraint on the attributes ofP. For example, let P be the class of
Customers, and Q the class of GoldenCustomers ( GC) with the
feature that they have been customers for at least ten years.
94
avoided by demanding that every defined class be illustrated with
SYSTEMS ANALYSIS
at least one prototypical instance.
Attribute Ambiguity
In multiple inheritance, equal attributes from multiple sources are
projected into a single occurrence. This is one reason that different
concepts and roles should not be associated with the same name
in OO models. For example, consider the class of employees who
are also clients:
Fixed Domain
Subclass attributes may be narrowed down to fixed values. To
extend the previous case, instead of being restricted to a subclass
of PR, Q’s attribute may be fixed to a certain value of PR, say, qr.
Elaborating the previous example, Canadian becomes a subclass
of Person by fixing the value domain of countryOfBirth to the
instance Canada of the class Country.
95
Person subclasses that are introduced. An even better strategy is to Nationality = American + NonAmerican
SYSTEMS ANALYSIS
use only one form of Address, if this is possible. Gender = Female + Male
Height = Short (< 1.6m) + Medium + Tall (> 1.8m).
Sibling Relationships
All crossings are permitted. For example, the intersection of
The relationship among the n sibling subclasses Q1, Q2, ... Qn of
Americans, females, and people of height less than 1.6m leads to
superclass P may be stronger than indicated by the mere fact that
a meaningful class.
they are all subclasses of the same superclass. We discuss three
special cases, exclusion, covering, and partitioning. Assuming that each of these have been described as subclass
structures, there are two variant techniques for using them to
Exclusion
derive new subclasses, attribute narrowing and mixin1 inheritance.
We may know that sibling subclasses are definitionally disjoint,
In the first, properties are listed as attributes of a base class, and
thus exclude each other. Among other constraints, this implies
narrowed in subclasses. The superclass may list unconstrained
that if we have an instance of Q1 then we know that this instance
domains, and the subclass constrained ones:
does not satisfy the definitional characteristics of Q2, ... Qn.
For example, clients may be divided into two definitionally exclusive 1Footnote
categories: The term “mixin” has grown to be used so commonly in a
P = the class of clients particular technical sense to have lost its hyphen. This also true of
Q1 = those clients that are also employees a few other terms, including “callback”
Q2 = those clients that are not employees. Using mixin inheritance, classes representing completely
For another example, assume that different account subclasses independent properties are “mixed together” via multiple
have been characterized in terms of attributes and/or constraints inheritance in the target class. The superclasses used in mixin
such that they are, in principle, mutually exclusive: inheritance are often totally useless, and even unnatural by
Account = BankAccount + ClientAccount themselves, but readily combine with others to form meaningful
ClientAccount = Personal + Joint + Business classes. For example:
Independence
The previous example illustrated two different strategies for relating
partitioned attribute structures through inheritance. While similar,
these are not always equivalent in effect. For example, consider a
MailingLabel class with a set of attributes containing no explicit
codependency constraints:
96
There are many ways in which these properties could have been their importance in a given model or hierarchy. Leaving them
SYSTEMS ANALYSIS
factored into classes. One extreme is to create a class for each attribute implicit can be a source of error. Of course, the best solution is to
and then to use multiple inheritance to bind them together: add appropriate attributes. For example:
97
2. A “meta” constraint on a class may express how many instances 9
SYSTEMS ANALYSIS
98
1
SYSTEMS ANALYSIS
2
3
4
5
3. Does it make sense to make Human a subclass of Mammal and
Male and Female subclasses of Human? If not, what would be
an alternative?
1
2
3
4
5
4. Give an example of classes related by inheritance, possibly
involving multiple inheritance, where there are at least four
levels of parent — child classes.
1
2
3
4
5
Compare Waterfall and Iterative Enhancement model.
References
• G. Booch. Object Oriented Design with Applications. Benjamin/
Cummings, 1990.
• R.J. et al Brachman. Living with classic: When and how to use
a kl-one-like language. In John F. Sowa, editor, Principles of
Semantic Networks. Morgan Kaufmann, 1991.
• R. Carnap. Meaning and Necessity. The University of Chicago
Press, 1947.
• D.W. Embley, B. Kurtz, and S.N. Woodfield. Object-Oriented
Systems Analysis. Yourdon Press/Prentice Hall, 1992.
• R.J. Brachman. A structural paradigm for representing
knowledge. Technical Report 3605, BBN, May 1978.
• D.W. Embley, B. Kurtz, and S.N. Woodfield. Object-Oriented
Systems Analysis. Yourdon Press/Prentice Hall, 1992.
• D. Maier. The Theory of Relational Databases. Computer Science
Press, 1983.
• Z. Manna and R. Waldinger. The Logical Basis for Computer
Programming. Addison-Wesley, 1985.
• J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W.
Lorensen. Object-Oriented Modeling and Design. Prentice Hall, 1991.
• J.D. Ullman. Principles of Database Systems. Computer Science
Press, 1982.
99
CHAPTER II
LESSON 20 : SYSTEM INVESTIGATION
INTRODUCTION TO FACT
FINDING TECHNIQUES
SYSTEMS ANALYSIS
• “Don’t try to fix it unless you understand it” Learn About Current System (gather facts)
• Major problem: analyst not understanding user needs Gather information from:
Initial investigation –Current information system:
Ø This phase introduces the objectives of the initial investigation, –External sources
the steps required to initiate an investigation; the tasks involved • Reviewing other IS outside the organization can reveal practical
in the initial investigation, and the data gathering and ideas and techniques
interviewing techniques.
–Internal sources
Ø It also includes information and exhibits that should be in the
• Single most important source of facts is the user
initial investigation report, with regard to “How the standards
manual might be used?” and “why to do this after reading this • Existing paper work or documents is also a good source
section.” Analyze Problems / Opportunities(study facts)
• Study and analyze the “current” system
• Problem analysis is difficult.
–We often try to solve problems without analyzing them.
–We try to state the problem in terms of a solution.
100
• Review of written documents,
SYSTEMS ANALYSIS
• Use the PIECES framework to frame your investigation of
the problems, opportunities, and requirements • On-site observations,
– Performance analysis • Interviews, and
– Information and data analysis • Questionnaires.
– Economic analysis • Brainstroming
– Control and security analysis • Delphi Method
– Efficiency analysis,Service analysis Review of Written Documents
Requirements Analysis Document • When available, all documentation on data carriers (forms,
• Parts records, reports, manuals, etc.) is organized and evaluated.
How analysis was conducted • Included in procedures manuals are the requirements of the
system, which helps in determining to what extent they are
• Credibility met by the present system.
• Restarts • Unfortunately, most manuals are not up to date or may no be
User requirements readable. Day-to-day problems may have forced changes that
are not reflected in the manual.
System constraints
• Furthermore, people have a tendency to ignore procedures and
Realistic System Objectives find shortcuts as long as the outcome is satisfactory.
User Requirements • Regarding existing forms, the analyst needs to find out how
• User system objectives (unedited) they are filled out, how useful they are to the user (in our
• Reports (type/frequency) scenario, the customer.) what changes need to be made, and
how easy they are to read.
• User training needs
• Effect of system on various users On-Site Observation
• Another fact-finding method used by the system analyst is on-
Organization Chart
site or direct observation. The analyst’s role is that of an
Tactics information seeker.
• Listen - don’t lecture • One purpose of on-site observation is to get as close as possible
• Don’t pre-solve problem to the “real” systems being studied.
• Compare stories • As an observer, the analyst follows a set of rules. While making
observations, he/she is more likely to listen than talk, and to
• Look for reluctant responses
listen with interest when information is passed on. He/she
• Observe your effects on system avoids giving advice, does not pass moral judgment on what is
• Avoid politics (head nodding) observed, does not argue with the user staff, and does not
• Expect hard, boring work show undue friendliness toward one but not others.
• Fact-finding Methods • On-site observation is the most difficult fact-finding technique.
It requires intrusion into the user’s area and can cause adverse
• Research and site visits
reacting by the user’s staff I not handled properly.
• Existing documentation
• The analyst observes the physical layout of the current system,
• Observation the location and movement of people, and the workflow. He/
• Questionnaires she is alert to the behavior of the user staff and of the people
• Interviews with whom they come into contact.
Observation • A change in behavior observed in perspective.
• Not for long periods of time The following questions should precede a decision to use on
sit observation.
Will change what your measuring
1. What behavior can be observed that cannot be described in
• Vary observation periods other ways?
• Take only minimal, preplanned notes 2. What data can be obtained more easily or more reliably by
• Coordinate visit beforehand and Beware of Selective observation than by other means?
Perception!!!
3. What assurances can be given that the observation process is
Fact-Finding not seriously affecting the system or the behavior being
After obtaining this background knowledge, the analyst begins to observed?
collect data on the existing system’s outputs inputs, and costs. 4. What interpretation needs to be made on observational data
They are to avoid being misled by the obvious?
101
• If one-site observation is to be done properly in a complex the renewal cycle, preparing the bill, processing the payment,
SYSTEMS ANALYSIS
situation, it can be time-consuming. Proper sampling and accounting for cash receipts.
procedures must be use to ascertain the stability of the behavior • Decision tables describe the data flow within a system. They are
being observed. Without knowledge of stability, inferences generally used as a supplement when complex decision logic
drawn from small samples of behavior (small time slices) can cannot be represented clearly in flowchart.
prove inaccurate and, therefore, unreliable.
• As a documenting tool, they provide a simpler from of data
Interviews and Questionnaires analysis than the flowchart. When completed, they are an easy-
• On-site observation is directed toward describing and to-flow communication device between technical and non
understanding event and behavior as they occur. This method, technical personnel. They are verbally oriented to managers,
however, is less effective for learning about people’s perceptions, easy to learn and update,
feelings, and motivations. Input/output Analysis Sheet
• The alternative is the personal interview and the questionnaire.
In either method, heavy reliance is placed on the interviewee’s
report for information about the job, the present system, or Dept: Safe Deposit System: Billing Date: ------
experience. The quality of the response is judged in terms of
its reliability and validity. Input Processing/Files Output
• Reliability means that the information gathered is dependable
Customer file record Customer record pulled out to determine expiration date Customer
enough to be used for making decisions about the system and renewal rate. file record
being studied.
If expiration date is less than 30 days, a billing
• Validity means that the questions asked are so worded as to statement is prepared.
• It shows the general steps in the safe deposit billing system. As Box
an input/output analysis technique, it enables the analyst to Reading
focus on the logic of he system and develop feasible alternative.
2
• The circles (also called bubbles) represent a processing point Read Apply New
expiration Billing 3 Prepare Accounting
within the system. The open rectangles represent data stores or date and Renewal
Statement Department
Rate Cycle
points where data are stored. The square are departments or
people involved in the billing system. The major steps in the
billing process are extracting the customer account, applying
102
Safe
SYSTEMS ANALYSIS
Information-Gathering Methods
Deposit Box Rates
Categories of Information
Review literature,
Kinds of information Information procedures and forms
Describing
• Policies On-site observation
• Goals
The
• Objective organization
• Organization
User Information gathering Interviews Data organization
• Arbitary Relationships staff Information
tools
• Information Requirements
The work
• Interpersonal Relationships itself
103
• Internal sources of information are limited to the user staff, Review
SYSTEMS ANALYSIS
company personnel, and various reports. User personnel are • Intial Investigation
the font-line contacts for acquiring and validating information
• Fact Finding Techniques
about a system.
• Observation
• An important sources of information is the key employee
who has been in the user area for years and is familiar with • Interview
present activities and applications. As we shall se in some cases, • Investigation
that is the only source available to the analyst. • Questionnaire
Information-gathering Tools Questions
Ø No two projects are ever the same. This means that the analyst 1. Why is it difficult to manage system development?
must decide on the information gathering tool and how it
must be use.
Ø Although there are no standard rules for specifying their use,
an 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 need only information available in
existing manuals, then interviewing is unnecessary except where
the manual is not up to date. If additional information is 2. What important information does the user’s request form
needed, on-site observation or a questionnaire may be provide? Why is it so important in the initial investigation?
considered. Therefore, we need to be familiar with various
information-gathering tools. Each tool has a special function,
depending on the information needed.
Review of Literature, Procedure, and Forms
• Very few system problems are unique. The increasing number
of software packages suggests that problem solutions are
becoming standardized.
3. Why is it difficult to determine user requirements? IIustrate
• Therefore, as a first step, a search of the literature though
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 he analyst.
Describe about input/output analysis.
They describe the format and functions of the present system.
• Included in most manuals are system requirements that help
determine however 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 close look
at existing forms. Printed forms are widely used for capturing
and providing information. What is the difference between Open ended and Closed ended
Questions asked in an interview?
• The objective is to understand how forms are use.
What are some of the disadvantages of interviewing?
The following questions may be useful.
Where structured analysis used in the system specification?
1. Who uses the form(s) ? How important are they to the user?
Compare Waterfall and Iterative Enhancement model.
2. Do the forms include all the necessary information ? What
items should be added or deleted?
3. How many departments receive the existing form(s) ? Why?
4. How readable and easy to follow is the form?
5. How does the information in the form help other users make
better decisions? What other uses does the form offer the user
area?
104
References
SYSTEMS ANALYSIS
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Website Addresses
www.scit.wlv.ac.uk
www.privcom.gc.ca
www.conferences.global-investor.com
www.umsl.edu
Notes
105
LESSON 21 :
SYSTEMS ANALYSIS
• Recollect the fact finding method which we have gone through Obtrusive or unobtrusive.
in the previous Lesson before reading this Lesson • An obtrusive observation takes place when the respondent
On-Site Observation knows he/she is being observed; an unobtrusive observation
takes place in a contrived way such as being a one-way mirror.
• Another information-gathering tool used in system studies is
one-site observation. It is the process of recognizing and noting Direct or indirect.
people, objects, and occurrences to obtain information. • A direct observation takes place when the analyst actually
• The analyst’s role is that of an information seeker who is observes the subject or the system at work. In an indirect
expected to be detached (therefore unbiased) from the system observation, the analyst uses mechanical devices such as cameras
being observe. and videotapes to capture information.
• This role permit participation with the user staff openly and Structured or unstructured.
freely. • In a structured observation the observer looks for and records
• The major objective of on-site observation is to get as close as a specific action such as the number of soup cans a shopper
possible to the “real” system being studied. picks up before choosing one.
• For this reason it is important that the system. • Unstructured methods place the observer in a situation to
• For example, if the focus of the analysis is communication, observe whatever might be pertinent at the time.
one needs to know as much s possible about the modes of • Any of these methods may be use in information gathering.
communication available though the organization structure Natural direct, obtrusive, and unstructured observation are
and the aspects of the physical layout that might adversely frequently used to get an overview of an operation.
affect communication. • The degree of structure is increased when observations have a
The following questions can serve as a guide for on-site specific purpose. An example is tracing the rout of a sales
observations. invoice though a system.
1. What kind of system is it? What does it do? • The degree of obtrusiveness may decrease when one wants of
2. Who runs the system? Who are the important people in it? observe the tasks that make up a given job.
3. What is the history of the system? How did tit get to its • For example the analyst may want to create a list of the activities
present stage of development? of production supervisor by observing him/her form a remote
location. Indirect observation could be used in a similar manner.
4. Apart form its formal function, what kind of system is it in
comparison with other systems in the organization? Is it fast • For instance, the daily routine of a bank teller may be observed
paced or is it a leisurely system that responds slowly to external indirectly via a video camera.
crises? • Finally, contrived situations re used to test or debug a candidate
• As an observer, the analyst follows a set of rules. While making system. They are also used in training program to help evaluate
observations, he/she is more likely to listen than talk and to the progress of trainees.
listen with a sympathetic and genuine interest when • Electronic observation and monitoring methods are becoming
information is conveyed. widely used information-gathering tools because of their speed,
efficiency, and low cost.
106
• For example, some truck fleets use an electronic recorder system • There is information of a more difficult nature that user staff
SYSTEMS ANALYSIS
that records, analyzes, and reports information (online) about may be reluctant opt give directly, however-for example,
the hours and minutes a vehicle was driven faster than 60 miles information on company politics or satisfaction with the
per hour, the number of hours an engine was idle in a day, and supervisor.
how much out-of-service time a vehicle had. • When asked by direct questions, the respondent may yield
• These and other electronic methods expedite the information- information that is invalid; yet properly handled, information
gathering process in systems analysis. can be successfully obtained with interviews or questionnaires.
On-site observations are not without problems Interviews
1. Intruding into the user’s area often results in adverse reactions • The interview is a face-to-face interpersonal role situation in
by the staff. Therefore, adequate preparation and training are which a person called the interviewer asks a person being
important. interviewed questions designed to gather information about a
2. Attitudes and motivations of subjects cannot be readily problem area.
observed only the actions that result from them. • The interview is the oldest and most often used device for
3. Observation are subject to error due to the observer’s gathering information in system work. It has qualities that
misinterpretation and subjective selection of what to observe behavioral and on-site observations do not possess.
, as well as the subjects’ altered worked pattern during It can be used for Two Main Purposes
observation.
(1)As an exploratory device to identify relations or verify
4. Unproductive, long hours are often spent in an attempt to information, and
observe specific, one-time activities or events.
(2)To capture information as it exists.
In deciding to use an on-site Observation, Several • Validity is no small problem. Special pains are taken to eliminate
Questions are Considered interview bias.
1. What behavior can be observed that cannot be described in • We assume that information is more valid, the more freely it is
other ways? given.
2. What data can be obtained more easily or more reliably by • Such an assumption stressed the voluntary character of the
observation than by other means? interview as a relationship freely and willingly entered into by
3. What assurances can be given that the observation process is the respondent.
not seriously, affecting the system or the behavior being • If the interview is considered a requirement, the interviewer
observed? might gain the respondent’s time and attention, but cannot be
4. What interpretation needs to be made about observational certain of the accuracy of the information gathered during the
data to avoid being misled by the obvious? interview.
5. How much skill is required and available for the actual • In an interview, since the analyst (interviewer) and the person
observation? interviewed meet face to face, there is an opportunity for
• For on-site observation to be done properly in a complex flexibility in eliciting information.
situation it can be very time-consuming. • The analyst is also in a position to observe the subject.
• Proper sampling procedures must be used to ascertain the • In contrast, the information obtained though a questionnaire
stability of the behavior being observed. is limited to the subject’s written responses to predefined
• Without a knowledge of stability, inferences drawn from small questions.
samples of behavior (small time slices) can be inaccurate. There are four primary advantages of he
Interviews and Questionnaires interview
• As we have seen, on-site observation is directed primarily toward 1. Its flexibility makes the interview a superior technique for
describing and understanding event as they occur. It has exploring areas where not much is known about what question
limitations when we need to learn about people’s perceptions, to ask or how to formulate questions.
feelings, or motivations, however. 2. It offers a better opportunity than the questionnaire to evaluate
• Therefore, other information-gathering tools are also use for the validity of the information gathered. The interviewer can
analysis. observe not only what subject say but also how they say it.
• Information-gathering tools fan be categorized by their degree 3. It is an effective technique for eliciting information about
of directness. If we wish to know about something, we simply complex subjects and fro probing the sentiments underlying
ask someone about it directly, but we may not get an answer. expressed opinions.
• Most of the information-gathering tools used in system analysis 4. Many people enjoy being interviewed, regardless of the subject.
are relatively direct. This is a strength because much of the They usually cooperate in a study when all they have to do is
information needed can be acquired by direct questions. talk. In contrast, the percentage of returns to a questionnaire is
relatively low: oven less than 20 percent. Attractive designed
questionnaires that are simple to return, easy to follow, and
107
presented in a context that inspires cooperation improve the • Discouraging distracting conversation controls the direction
SYSTEMS ANALYSIS
• Interviewing should be approached as logically as c. Avoid personal involvement in the affairs of the user’s
programming. department or identification with one faction a the cost of
another. This may be difficult when several groups are involved
In an Interview, the following steps should be Taken in the study.
1. Set the stage for the interview. d. Avoid show in off you knowledge or sharing information
2. Establish rapport; put the interviewee at ease. received from other sources.
3. Phrase questions clearly and succinctly. e. Avoid acting like an expert consultant. This can reduce the
4. Be a good listener; avoid arguments. objectivity of the approach and discourage people form freely
giving information.
5. Evaluate the outcome of the interview.
f. Respect the time schedules and preoccupations of your subjects.
Stage setting Do not make an extended social event out of the meeting. If
• This is an “ice breaking,” relaxed, informal phase where the the subject does nto complain, subordinates might, especially
analyst opens the interview by focusing on if they are waiting to see the subject (boss).
(a)the purpose of the interview, g. Do not promise anything you cannot or should not deliver,
(b) why the subject was selected, and such as advice or feedback.
(c) the confidential nature of the interview. h. Dress and behave appropriately for the setting and the
circumstances of the user contact.
• After a favorable introduction, the analyst asks the first question
and the respondent answers and goes right through the i. Do not interrupt the interviewee. Let him/her finish talking.
interview.
• The job of the analyst should be that of a reporter rather than
a debater.
108
Asking the questions 2. Copies of all information-gathering tools – questionnaires,
SYSTEMS ANALYSIS
• Except in unstructured interviews, it is important that each interview schedules, observation guides – are placed in the
question is asked exactly as tit is worded. Rewording or notebook for future reference.
imprompt explanation may provoke a different answer or bias 3. Copies of all data- originals or duplicates – are include. Loss of
the response. key data, even temporarily, can be costly.
• The questions must also be asked in the same order as they 4. Minutes of all meetings as well as a record of discussion,
appear on the interview schedule. decisions, and changes in design all become part of the
• Reversing the sequence could destroy the comparability of the notebook.
interviews. • The organization of the notebook is also important. In some
• Finally, each question must be asked unless the respondent, in cases, a purely chronological arrangement will suffice.
answering a previous question, has already answered the next • In others, system of categories with cross-classification would
one. be appropriate.
Obtaining and recording the response • Proper indexing makes it easier to retrieve information when
needed.
• Interviewers must be prepared to coax respondent to elicit
further information when necessary. The “probing” technique Review
enables the interviewer to act as a catalyst, for example:
Interview: I see what you men. Could you elaborate further on Onsite Observation
that? Observation methods
Analyst (interviewer): How do you feel about separating the present Problems in observation method
loan division into commercial and loan departments? Interview
Financial vice president (respondent): well, I’m not sure. Advantage of interviewing
Sometimes I think that we have to take this route eventually.
Analyst: I see. Can you tell me more about that? Questions
List the problems faced while interviewing.
• These statements indicate that the analyst is listening, is
interested, understands what the respondent is trying to say,
and is making an effort to gain more information. The
information received during the interview is recorded for later
analysis.
Data recording and the notebook.
• Many system studies fail because of poor data recording. Care
must be taken to record the data, their source, and time of A question may be closed or open ended. Illustrate the difference.
collection.
• If there is no record of a conversation, the analyst runs the risk
of not remembering enough details, attributing them to the
wrong source, or otherwise distorting the data.
• The form of the notebook varies according to the type of
study, the amount of data, the number of analysts, and their
individual preferences.
• The “notebook” may be a card file, a set of carefully coded file What are the advantages of interviewing?
folders, or a loose-leaf binder. It should be bound and the
pages numbered.
Data Capture and the Notebook
1. Originals or duplicate copies of all notes taken during
investigation are documented. They are the chief sources of
interview and observational data, as well as background
information on the system. Each page of notes should be
numbered serially, and a running chronological record of them
should be kept. The name of the analyst, the date the notes
were taken, and surrounding circumstances are all important.
Since handwritten notes often are not intelligible to others. It
is good to have them transcribed or typed soon after they are
taken.
109
References
SYSTEMS ANALYSIS
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Website Addresses
www.scit.wlv.ac.uk
www.privcom.gc.ca
www.conferences.global-investor.com
www.umsl.edu
Notes
110
LESSON 22 :
SYSTEMS ANALYSIS
FACT FINDING TECHNIQUES
• Another disadvantage is that many people have difficulty • If you had a choice, how would you have designed the present
information center?
expressing themselves in writing, especially when responding
to east (open) questions. Many dislike writing. Because of these Examples of Fill-in-the Blank of your Questions
disadvantages, the interview is probably superior to the • What is the name of the MIS director of your firm.
questionnaire.
• How many analysis handle the accounts receivable conversion?
• What is the average number of calls you receive from clients ?
111
Provided for the response Open-ended and closed questions have advantages and limitations.
SYSTEMS ANALYSIS
Such questions are more often used in interviews than in Open-ended questions are ideal in exploratory situation where
questionnaires because scoring takes time. new ides and relationships are sought. The main drawback is the
• Closed questions are those in which the responses are presented difficulty of inter-
as set of alternatives. Examples of Multiple-Choice Questions
These are five major varieties of closed • What is the average salary of an entry-level analyst? (Please
questions check one)
1. Fill-in-the blanks questions request specific information .These • Under $15,000
responses can then be statistically analyzed. • $15,000-$19,999
2. Dichotomous (yes/no type) questions that offer two answers • $20,000-$24,999
have advantage similar to those of the multiple-choice type
• Over $25,000
(explained later). The problem is making certain that a reliable
responses can be answered by yes or no; otherwise, and • Please check one category that best describes the business of
additional choice (e.g. yes no, I don’t know) should be included. the firm where you are employed.
The questions sequence and content are also important. • Saving bank
3. Ranking scales questions ask the respondent to rank a list of • College, school, library, association
items in order of importance or preference. The first questions • Computer service
asks the respondent to rank five statements on the basis of
how they describe his/her present job. Industrial company
4. Multiple-choice questions offer respondents specific answer • Outside computer consulting
choices . This offers the advantage of faster tabulation and less • Other (please describe)
analyst bias due to the order in which the answers are given.
Respondents have a favorable bias toward the first alternative An Example of Rating Scale Question
item. Alternating the order in which answer choices are listed • How satisfied are you with the following aspects of you present
may reduce bias but at the expense of additional time to respond job? (Please Circle one for each question)
to the questionnaire. In any case, it is important.
Examples of Dichotomous Questions
Very Dissatisfied No Satisfied Very
• Are you personally using a microcomputer in your business? Dissatisfied Opinion Satisfied
(please circle one yes no
• If not, do you plan to be using one in the next 12 months?
(please circle one) yes no. 1. They way my job
provides for steady 1 2 3 4 5
• In the performance of your work, are you personally involved
employment
in computer hardware/software purchase decisions? (please
2.The chance to be
circle one) yes no.
responsible for the 1 2 3 4 5
An Example of a Ranking Scales Questions work of others.
• Please rank the five statements in each group on the basis of 3.The pleasantness of
the working 1 2 3 4 5
how well they describe the job mentioned on the front page.
conditions.
Write a “1” by the statement that best describes the job; write a
“2” by the statement that provides the next best description,
4. The chance to make
and continue ranking all five statements, using a “5” for the
use of my best 1 2 3 4 5
statement that describes he fob least well.
abilities.
• Workers on this job…..
— Are busy all the time.
— Have work where they do things for other people. • Interpreting the subjective and the tedious responses to open-
— Try out their own ideas. ended questions. Other drawback include potential analyst bias
in interpreting the data and time-consuming tabulation.
— Are paid well in comparison with other workers.
— Have opportunities for advancements.
• Closed questions are quick to analyze but typically most costly
to prepare. They are move appropriate for securing factual
To be aware of these types of bias when constructing multiple- information (for example, about age, education, sex, and salary).
choice questions.
• They have the additional advantage of ensuring that answers
5. Rating scales questions are an extension of the multiple-choice are given in frame of reference consistent with the line of
design. The respondent is offered a range of responses along a inquiry.
single dimension.
112
Structured and Unstructured Interview 2. Question wording.
SYSTEMS ANALYSIS
Technique a. Is the question worded for the subject’s background and
Interview Advantage Drawback
experience?
Type b. Can the question be misinterpreted? What else could it mean
to a respondent?
Structured I. Easy to administer and I. High initial preparation cost c. Is the frame of reference uniform for all respondents?
evaluate due to II. Standardization of questions tends to
d. Is the wording biased toward a particular answer?
standardization reduce spontaneity
II. Required limited training III. Mechanizes interviewing, which makes
e. How clear and direct is the question?
III. Easy to train it impractical for all interview settings 3. Question Format.
new staff a. Can the question best be asked in the form of check
answer(answered by a word or two or by a number) or with a
follow-up free answer?
Unstructured Ø Provides for greater Ø More information of questionable use is
b. Is the response from easy to use or adequate for the job?
creativity and spontaneity gathered
in interviewing Ø Takes more time to conduct-therefore, c. Is the answer to the question likely to be influenced by the
Ø Facilities deeper costly preceding question? That is, is there any contamination effect?
understanding of the Ø Requires extensive training and Reliability of Data from Respondents.
feeling and standing of the experience for effective results.
interviewee
• The data collected from the user staff are presumed to accurately
Ø Offers greater flexibility
correspond with the actual way in which events occur.
in conducting an overall • If such reports are the only source of data, there may be several
interview uncontrolled sources of error :
1. The respondent’s perceptual slant. Perceptual ability is known
Procedure for Questionnaire to vary. Reports of a given event from several staff members
Construction who have no training in careful observation often have little
The procedure for constructing a questionnaire consists of six resemblance to one another.
steps: 2. The respondents failure to remember just what did happen.
1. Decide what data should be collected; that is, define the problem Assuming that he or she received a fairly reliable impression of
to be investigated. an event at the time that it happened, it generally become more
difficult with the passage of time to describe the details of an
2. Decide what type of questionnaire (closed or open-ended)
event.
should be used.
3. Reluctance of persons being interviewed to report their “true”
3. Outline the topic for the questionnaire and then write the
impressions of what occurred. A subject often distorts
question.
descriptions of events for fear of retaliation, a desire not to
4. Edit the questionnaire for technical defects or biases that reflect upset others, or a general reluctance to verbalize a particular
personal values. type of situation.
5. Pretest (try out) the questionnaire to see how well in works. 4. Inability of subjects to communicate their reports or inability
6. Do a final editing to ensure that the questionnaire is ready for of the analyst to get from subjects the information that they
administration. This include a close look at the content, form, are qualified to provide.
and sequ3ence of questions as well as the appearance and
The Reliability-Validity Issue
clarity of the procedure for using the questionnaire.
• An information-gathering instrument faces two major tests:
Ø A critical aspect of questionnaire construction is the formulation
reliability and validity. Before administering the instrument,
of reliable and valid question.
the analyst must ask and answer the questions: What is the
Ø To do a satisfactory job, the analyst must focus on question reliability of the measuring instrument? What is its validity?
content, wording, and format. The following is a checklist of
• The term reliability is synonymous with dependability
what to consider.
consistency, and accuracy. Concern of reliability comes from the
1. Question content necessity for dependability in measurement. Using the
a. Is the question necessary? Is it a part of other questions? questionnaire as an example, reliability may be approached in
b. Does the question adequately cover the area intended? three ways:
c. Does the subject(s) have proper information to answer the 1. If we administer the game questionnaire to the same subject,
question? will we get the same or similar results? This question implies a
definition of reliability as stability, dependability, and
d. Is the question biased in a given direction? predictability.
e. Is the question likely to generate emotional feelings that might
lead to untrue responses?
113
2. Does the questionnaire the true variables it is designed to Reliable and unreliable Test Scores
SYSTEMS ANALYSIS
114
References
SYSTEMS ANALYSIS
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Website Addresses
www.scit.wlv.ac.uk
www.privcom.gc.ca
www.conferences.global-investor.com
www.umsl.edu
Notes
115
SYSTEMS ANALYSIS
LESSON 23 :
FACT FINDING TECHNIQUES
1. Intelligence
“Information is Power”
• Decision making - you choose from alternatives 2.Design
• Problem solving - you determine the response that will alleviate ”Think out of the Box”
a problem
3.Choice
Decisions ”What makes or breaks you”
Programmed Intuitive Approach
• Routine Decisions made under reactions to emotion, hunches, or “gut
• Repetitive feelings” are risky.
• Follow established procedures. Emotions can rule these decisions.
Non Programmed Odiorne identified five emotional attachments that
• Little or no precedent. can hurt decision makers:
116
Decision making by Groups • The Delphi Method is based on a structured process for
SYSTEMS ANALYSIS
Advantages collecting and distilling knowledge from a group of experts by
means of a series of questionnaires interspersed with controlled
• Greater knowledge. opinion feedback (Adler and Ziglio, 1996).
• Wider range of alternatives.
• According to Helmer (1977) Delphi represents a useful
• Increased acceptance of groups decision by members. communication device among a group of experts and thus
• Group members better understand the decision and the facilitates the formation of a group judgement. Wissema (1982)
alternatives. underlines the importance of the Delphi Method as a
• Most important - avoids more mistakes. monovariable exploration technique for technology forecasting.
• He further states that the Delphi method has been developed
Disadvantages in order to make discussion between experts possible without
• One individual may dominate and/or control. permitting a certain social interactive behavior as happens during
• Pressure to conform. a normal group discussion and hampers opinion forming.
• Competition can develop and slant the process. • Baldwin (1975) asserts that lacking full scientific knowledge,
• Tend to accept the first solution and not give as much decision-makers have to rely on their own intuition or on expert
consideration to the other alternatives. opinion. The Delphi method has been widely used to generate
forecasts in technology, education, and other fields (Cornish,
• Most important - speed of process is reduced. 1977).
Four barriers to effective decision • The technology forecasting studies which eventually led to the
making development of the Delphi method started in 1944. At that
1. Complacency time General Arnold asked Theodor von Karman to prepare a
2. Defensive avoidance forecast of future technological capabilities that might be of
3. Panic interest to the military (Cornish, 1977).
4. Deciding to decide • Arnold got the Douglas Aircraft company to establish in 1946
a Project RAND (an acronym for Research and Development)
to study the “broad subject of inter-continental warfare other
then surface.”
• In 1959 Helmer and fellow RAND researcher Rescher published
a paper on “The Epistemology of the Inexact Sciences,” which
provide a philosophical base for forecasting (Fowles, 1978).
• The paper argued that in fields that have not yet developed to
the point of having scientific laws, the testimony of experts is
permissible. The problem is how to use this testimony and,
specifically, how to combine the testimony of a number of
experts into a single useful statement.
• The Delphi method recognizes human judgement as legitimate
and useful inputs in generating forecasts. Single experts
sometimes suffer biases; group meetings suffer from “follow
Aids to creativity the leader” tendencies and reluctance to abandon previously
stated opinions (Gatewood and Gatewood, 1983, Fowles,
• Brainstorming - pre senting a problem to a group of people
1978).
and allowing them to present ideas to its solution.
• In order to overcome these shortcomings the basic notion of
• Gordon Technique - similar to brainstroming but no one except the Delphi method, theoretical assumptions and
the group leader knows the exact nature of the real solution.
methodological procedures developed in the 1950s and 1960s
• Brainwriting - group members jot down their ideas in response at the RAND Corporation.
to a problem situation without discussion. Anonymously,
papers are exchanged with others who add their thoughts and
• Forecasts about various aspect of the future are often derived
through the collation of expert judgement. Dalkey and Helmer
repeat the process until all have participated. developed the method for the collection of judgement for
such studies (Gordon and Hayward, 1968).
The Delphi Method
• Fowles (1978) asserts that the word Delphi refers to the
Definition and Historical Background hallowed site of the most revered oracle in ancient Greece.
• The objective of most Delphi applications is the reliable and Forecasts and advices from gods were sought through
creative exploration of ideas or the production of suitable intermediaries at this oracle.
information for decision making. • However Dalkey (1968) states that the name “Delphi” was
never a term with which either Helmer or Dalkey (the founders
117
of the method) were particularly happy. Dalkey (1968) to Fowles (1978) anonymity, controlled feedback, and statistical
SYSTEMS ANALYSIS
acknowledged that it was rather unfortunate that the set of response characterize Delphi.
procedures developed at the RAND Corporation, and designed • The group interaction in Delphi is anonymous, in the sense
to improve methods of forecasting, came to be known as that comments, forecasts, and the like are not identified as to
“Delphi”. their originator but are presented to the group in such a way as
• He argued that the term implies “something oracular, to suppress any identification.
something smacking a little of the occult”, whereas, as a matter • In the original Delphi process, the key elements were (1)
of fact, precisely the opposite is involved; it is primarily concerned structuring of information flow, (2) feedback to the participants,
with making the best you can of a less than perfect kind of and (3) anonymity for the participants. Clearly, these
information. characteristics may offer distinct advantages over the
• One of the very first applications of the Delphi method carried conventional face-to-face conference as a communication tool.
out at the RAND Corporation is illustrated in the publication • The interactions among panel members are controlled by a
by Gordon and Helmer (1964). Its aim was to assess the panel director or monitor who filters out material not related
direction of long-range trends, with special emphasis on science to the purpose of the group (Martino, 1978). The usual
and technology, and their probable effects on society. problems of group dynamics are thus completely bypassed.
• The study covered six topics: scientific breakthroughs; Fowles (1978) describes the following ten steps for the Delphi
population control; automation; space progress; war prevention; method:
weapon systems (Gordon and Helmer, 1968). The first Delphi 1. Formation of a team to undertake and monitor a Delphi on a
applications were in the area of technological forecasting and given subject.
aimed to forecast likely inventions, new technologies and the
2. Selection of one or more panels to participate in the exercise.
social and economic impact of technological change (Adler and
Customarily, the panelists are experts in the area to be
Ziglio, 1996).
investigated.
• In terms of technology forecasting, Levary and Han (1995)
3. Development of the first round Delphi questionnaire
state the objective of the Delphi method as to combine expert
opinions concerning the likelihood of realizing the proposed 4. Testing the questionnaire for proper wording (e.g., ambiguities,
technology as well as expert opinions concerning the expected vagueness)
development time into a single position. 5. Transmission of the first questionnaires to the panelists
• When the Delphi method was first applied to long-range 6. Analysis of the first round responses
forecasting, potential future events were considered one at a 7. Preparation of the second round questionnaires (and possible
time as though they were to take place in isolation from one testing)
another.
8. Transmission of the second round questionnaires to the
• According to Wissema (1982), unfortunately the Delphi panelists
method is also sometimes used for a normal inquiry among a
9. Analysis of the second round responses (Steps 7 to 9 are
number of experts. Delphi has found its way into industry,
reiterated as long as desired or necessary to achieve stability in
government, and finally, academe. It has simultaneously
the results.)
expanded beyond technological forecasting (Fowles, 1978).
10. Preparation of a report by the analysis team to present the
• Since the 1950s several research studies have used the Delphi conclusions of the exercise
method, particularly in public health issues (such as, policies
for drug use reduction and prevention of AIDS/HIV) and • Delbecq et al., (1975) argue that the most important issue in
education areas (Adler and Ziglio, 1996; Cornish, 1977). this process is the understanding of the aim of the Delphi
exercise by all participants. Otherwise the panelists may answer
The Basics of the Delphi Method inappropriately or become frustrated and lose interest.
• The Delphi method is an exercise in group communication • The respondents to the questionnaire should be well informed
among a panel of geographically dispersed experts (Adler and in the appropriate area (Hanson and Ramani, 1988) but the
Ziglio, 1996). The technique allows experts to deal systematically literature (Armstrong, 1978; Welty, 1972) suggest that a high
with a complex problem or task. degree of expertise is not necessary. The minimum number of
• The essence of the technique is fairly straightforward. It participants to ensure a good group performance is somewhat
comprises a series of questionnaires sent either by mail or via dependent on the study design.
computerized systems, to a pre-selected group of experts. • Experiments by Brockhoff (1975) suggest that under ideal
• These questionnaires are designed to elicit and develop circumstances, groups as small as four can perform well.
individual responses to the problems posed and to enable the • Before deciding whether or not the Delphi method should be
experts to refine their views as the group workprogresses in used, it is very important to consider thoroughly the context
accordance with the assigned task. within which the method is to be applied (Delbecq et al. 1975).
• The main point behind the Delphi method is to overcome the • A number of questions need to be asked before making the
disadvantages of conventional committee action. According decision of selecting or ruling out the Delphi technique (Adler
and Ziglio, 1996):
118
• What kind of group communication process is desirable in • Goldschmidt (1975) agrees that there have been many poorly
SYSTEMS ANALYSIS
order to explore the problem at hand? conducted Delphi projects. However, he warns that it is a
• Who are the people with expertise on the problem and where fundamental mistake to equate the applications of the Delphi
are they located? method with the Delphi method itself, as too many critics do.
• What are the alternative techniques available and what results • There is, in fact, an important conceptual distinction between
can reasonably be expected from their application? evaluating a technique and evaluating an application of a
technique.
• Only when the above questions are answered can one decide
whether the Delphi method is appropriate to the context in • On the other hand there have been several studies (Ament,
which it will be applied. Adler and Ziglio (1996) further claim 1970; Wissema, 1982; Helmer, 1983) supporting the Delphi
that failure to address the above questions may lead to method.
inappropriate applications of Delphi and discredit the whole • A study conducted by Milkovich et al. (1972) reports the use of
creative effort. the Delphi method in manpower forecasting. The results of
• The outcome of a Delphi sequence is nothing but opinion. the comparison indicated high agreement between the Delphi
estimate and the actual number hired and less agreement
• The results of the sequence are only as valid as the opinions of
between quantitative forecasts and the number hired. Another
the experts who made up the panel (Martino, 1978). The panel
study by Basu and Schroeder (1977) reports similar results in a
viewpoint is summarized statistically rather than in terms of a
general forecasting problem.
majority vote.
• They compared Delphi forecasts of five-year sales with both
• The Delphi method has got criticism as well as support. The unstructured, subjective forecasts and quantitative forecasts that
most extensive critique of the Delphi method was made by
used regression analyses and exponential smoothing. The
Sackman (1974) who criticizes the method as being unscientific
Delphi forecasting consisted of three rounds using 23 key
and Armstrong (1978) who has written critically of its accuracy.
organization members. When compared against actual sales
• Martino (1978) underlines the fact that Delphi is a method of for the first two years, errors of 3-4% were reported for Delphi,
last resort in dealing with extremely complex problems for 10-15% for the quantitative methods, and of approximately
which there are no adequate models. Helmer (1977) states that 20% for the previously used unstructured, subjective forecasts.
sometimes reliance on intuitive judgement is not just a
• In general, the Delphi method is useful in answering one,
temporary expedient but in fact a mandatory requirement.
specific, single-dimension question. There is less support for
• Makridakis and Wheelright (1978) summarize the general its use to determine complex forecasts concerning multiple
complaints against the Delphi method in terms of (a) a low factors. Such complex model building is more appropriate for
level reliability of judgements among experts and therefore quantitative models with Delphi results serving as inputs
dependency of forecasts on the particular judges selected; (b) (Gatewood and Gatewood, 1983). This point is supported by
the sensitivity of results to ambiguity in the questionnaire that Gordon and Hayward (1968) who claim that the Delphi
is used for data collection in each round; and (c) the difficulty in method, based on the collation of expert judgement, suffers
assessing the degree of expertise incorporated into the forecast. from the possibility that reactions between forecasted items
Martino (1978) lists major concerns about the Delphi method: may not be fully considered. The need for the cross impact
• Discounting the future: Future (and past) happenings are not matrix method of forecasting integrated with the Delphi
as important as the current ones, therefore one may have a method is pointed out by many researchers (Gordon and
tendency to discount the future events. Hayward, 1968; Gatewood and Gatewood, 1983; Adler and
• The simplification urge: Experts tend to judge the future of Ziglio, 1996). An improvement in forecasting reliability over
events in isolation from other developments. A holistic view the Delphi method was thought to be attainable by taking into
of future events where change has had a pervasive influence consideration the possibility that the occurrence of one event
cannot be visualized easily. At this point cross-impact analysis may cause an increase or decrease in the probability of occurrence
is of some help. of other events included in the survey (Helmer, 1978). Therefore
cross impact analysis has developed as an extension of Delphi
• Illusory expertise: some of the experts may be poor forecasters. techniques.
The expert tends to be a specialist and thus views the forecast
in a setting which is not the most appropriate one. Review
• Sloppy execution: there are many ways to do a poor job.
Execution of the Delphi process may loose the required Brainstroming
attention easily. Delphi method
• Format bias: it should be recognized that the format of the
questionnaire may be unsuitable to some potential societal
participants.
• Manipulation of Delphi: The responses can be altered by the
monitors in the hope of moving the next round responses in
a desired direction.
119
Questions Notes
SYSTEMS ANALYSIS
References
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Website Addresses
www.scit.wlv.ac.uk
www.privcom.gc.ca
www.conferences.global-investor.com
www.umsl.edu
120
LESSON 24 :
SYSTEMS ANALYSIS
FLOW DIAGRAMS
121
SYSTEMS ANALYSIS
structures, for example an elsif structure or a case structure of
the following forms, a more complex flowgraph would be
required.
• — Three way elseif structure — Three way case structure
• If FirstCondition then case SelectionValue is
• — First actions. when => FirstValueList
• Elsif SecondCondition then — First actions.
• — Second actions. when=> SecondValueList
• Else — Second actions.
• — Third actions. when others =>
• End if; — Third actions
• End case;
• The four parts where flow of control enters and leaves are
shown between nodes a and c, c and d, d and e and between e
and b.
• The first and last of these arcs require no further refinement as
they represent regions where simple sequences of instructions, • Additional elsif options or case options in the sequential
within which flow of control moves sequentially from selection structures will cause additional arcs connecting the
instruction to instruction. two nodes to be added. Inserting a two way selection flowgraph
• The second arc requires further refinement which can proceed into the SquareRoot flowchart to represent the two way if
by substituting the standard two way flowgraph for the arc structure between lines 0025 and 0031, will produce the
between c and d. The standard two way flowgraph is as follows. following flowgraph.
SYSTEMS ANALYSIS
condition controlling the loop was tested, it evaluated false. If instructions and requires no further refinement, the arc between
a for loop was being represented then flow of control would f and d represents the nested if statement which will have to
avoid the circular route if the loop conditions were such that be refined in two stages.
the body of the loop was not executed. • The first stage of refinement will substitute a standard two
• The circular route represents the body of the loop and in way selection flowgraph to represent the outermost if,
circumstances where flow of control enters the loop body a producing the following flowgraph.
representation of flow of control would indicate that node l
was visited more than once indicating that the circular arc was
followed. Inserting the standard loop flowgraph into the
SquareRoot flowchart produces the following refinement.
123
• The situation where there are as many arcs as nodes produces
SYSTEMS ANALYSIS
SYSTEMS ANALYSIS
3 Notes
4
5
Produce a flow graph for a sequence of code of your own choice.
1
2
3
4
References:
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Bennett, Simon
Object-oriented systems analysis and
Design using UML
2nd ed. New Delhi : McGraw Hill Book, 2002
Booch, Grady
Object-oriented analysis and
design : with applications
2nd ed. Reading : Addison-Wesley Publishing, 2000
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Kain, Richard Y.
Advanced computer architecture :
A systems design approch
New Delhi : Prentice Hall of India, 1996
Sima, Dezso
Advanced computer architectures :
A design space approch
Delhi : Pearson Education Asia, 1997
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
125
SYSTEMS ANALYSIS
LESSON 25 :
STANDARD DOCUMENTATION TECHNIQUE
Elements and Definitions – The rationale and assumptions behind the decisions
Made in each phase
LifeCycle
– Layouts and results of tests
ANSI / IEEE Std 729-1983
– Error & fixes log
• A life-cycle is
• External technical documentation:
– a period of time that
– System structure
– starts when a software product is conceived and
– Required environment
– ends when the product is no longer available for use.
– Instructions for installation
• Organised in phases
– Maintenance & operation
– Guidelines for trouble shooting
• End-user documentation:
2
– User handbook
– Quick reference
Requirements
– Guided tour
The – Standard set-up
System Design
WATERFALL Milestone
LIFE-CYCLE • A scheduled event
Detailed Design
– For which some project member or manager is
Accountable and
Implementation – That is used to measure progress.
• Supported by standards
Installation & Testing Standards
•Project independent
Maintenance –rules and procedures
–embedded in a common system of terms
–and quality criteria
–that ensure inter-project adaptability
Phases of a Life-Cycle
–and compatibility of solutions.
• Requirements
•Important organisations: ANSI, IEEE
• System Design
• Detailed Design
• Implementation
• Testing & Installation
• Operations & Maintenance
• Retirement
126
The Communication Process and Public
SYSTEMS ANALYSIS
Speaking
14 Milestones • By focusing on the process of communication and the rhetorical
The
situation, a speaker can maximize the effectiveness of messages.
Requirements WATERFALL
• This means that an effective speaker doesn’t “write” a speech in
LIFE-CYCLE isolation and then simply stand up and deliver it. Instead, an
System Design
effective speaker develops messages in relation to the situation,
Standards the audience, and the communication goals.
Detailed Design
• Throughout the semester we will go into more detail about
how to do this, but for now it is important to understand the
Implementation following:
What the sender intends to communicate is not
Installation & Testing
always what the receiver decodes.
Documents
Maintenance • The communication process can break down in any number of
ways, and an effective speaker should not take the audience’s
understanding of messages for granted.
• An effective speaker makes sure to learn all that is possible
Introduction to the Communication about the audience and to adapt the message to that audience.
Process “Actions speak louder than words.”
Ø In its most basic form, communicating involves a sender who Non-verbal messages are usually believed more than verbal
takes his/her thoughts and encodes them into verbal and messages.
nonverbal messages that are sent to a receiver. • When there is a conflict between nonverbal and verbal messages,
Ø The receiver then decodes the messages and attempts to the audience tends to believe the nonverbal. An effective public
understand what the sender meant to communicate. speaker makes sure that the nonverbal messages compliment
and strengthen the verbal messages.
Ø The communication process is completed when the receiver
transmits verbal and nonverbal feedback to indicate his/her More Communication does not Equal
reception and understanding of the message. Better Communication.
Ø This process takes place within a context, also known as a • What’s the use of more communication if it is ineffective or
rhetorical situation, which includes all that affects the bad communication? An effective public speaker focuses on
communication process such as the sender-receiver’s culture, the quality of communication, not the quantity.
the sender-receiver’s relationship, the circumstances surrounding Becoming an Effective Listener
the sender-receiver’s interaction, and the physical environment • Listening is a vital skill, not only for this class but for life in
of the interaction. general. Becoming an effective communicator starts with
Ø Because the basic communication process is the same in every becoming a better listener.
situation, there are some similarities across all types of • The main thing to remember is that hearing does not equal
interactions. Just the same, each interaction remains distinct listening. Hearing is a physiological process that involves the
and therefore each rhetorical situation will be different. reception of vibrations by the delicate structures within our
Ø For example, think about how you communicate with another ears.
person in the library and at a party. • Listening is a psychological process that involves the
Ø In both cases you are sending messages and reacting to feedback. interpretation of what we hear. Hearing is passive—it take no
Ø But the the rhetorical situation of the library means that you effort on our part, while listening is active—it take effort and a
will be speaking in whispers, whereas at the party you will be willingness to tune in.
speaking much louder and with more animated gestures. • One of the most important parts of public speaking is learning
Ø If you were to switch styles—whispering at the party and yelling how to listen to or read your audience.
at the library—then your communication style would be • This means being able to observe and to utilize the feedback
ineffective to say the least. In both situations you are engaging from the audience. Being a good listener also helps in the
in the same communication process, but the rhetorical situations development of your speech because it allows you to gain
require you to act in different ways. skills in analyzing messages and retaining information.
• So how do you start improving your listening skills? The key is
to actively focus on your listening behavior, and to start
eliminating behaviors that lead to poor listening. These negative
behaviors include:
127
· Mentally jumping to conclusions before the other person has
SYSTEMS ANALYSIS
1
2
3
4
5
References0
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Bennett, Simon
Object-oriented systems analysis and
Design using UML
2nd ed. New Delhi : McGraw Hill Book, 2002
Booch, Grady
Object-oriented analysis and
Design : with applications
128
CHAPTER III
LESSON 26 : SYSTEM INVESTIGATION
OVERVIEW DATA AND FUNCTIONAL
MODELLING
SYSTEMS ANALYSIS
Topics covered which is accepted because of its strong points over other
• Overview of data and functional modelling traditional approaches.
129
• In this model, system developer can hand system’s functions • For users, what they care about is what functions the program
SYSTEMS ANALYSIS
over to users more frequently rather than giving them all the can perform if it meets the professional need dictated by the
functions at the end of the development process. system, if its reliability is prove while testing with real figures,
if the interface is users-friendly.
Nature of analysis
• Analysis is the focus of system developing and is the stage • Analysis plays a very important part in the life cycle of the
system because this activity relates to almost all other activities
when system designers have to work at two levels of definition
and all subjects participated in the system.
regarding the study of situational issues and possible solutions
in terms of “what to do” and “how to do”. Role and requirement of system analysts
System analysis process in its most general form • The system analyst is a key member of any systems
includes the following main step: development project. In a broader sense, the systems analyst
plays several roles:
• Identify the operation of the existing system;
• Understand what the existing system is doing;
• Archaeologist and scribe: As a systems analyst, one of the main
jobs is to uncover detail and to document business policy that
• Understand the need of the users; may exist only as “tribal folklore”, passed down from
• Decide on what the new system should be doing; generation to generation of users.
• Decide on how the new system will function. • Innovator: The systems analyst must separate the symptoms
• In the process of system analysis, it is not always possible to of the user’s problem from the true causes. With his or her
study every aspect of each of the above steps and this is the knowledge of computer technology, the analyst must help the
time to pay attention to the following: user explore useful, new applications of computers.
• If the method of working applied to participants of system • Mediator: The system analyst who often finds himself in the
development (users, analysts, designers, and programmers) is middle of users, managers, programmers, auditors and various
efficient? other players, all of whom frequently disagree with one another.
• If the update of changes that happen in the process of system • Project leader: Because the systems analyst is usually more
development is touched upon; experienced than the programmers on the project and since he
• Tool for analysis; is assigned to the project before the programmers begin
working, there is a natural tendency to assign project
• If workload allocation is reasonable? (Users have to take part management responsibilities to analyst.
in 2 systems (old and new) at the same time);
• If documents are easy to understand to all participants? This Means that, as a Systems Analyst,
you Need
Importance of analysis in system’s life cycle • More than just the ability to draw flowchart and other technical
• A system’s analysis and development life cycle include the diagrams;
following tasks: survey, analysis, design, implementation, • Skills to interview users, mediate disagreements;
system testing and approving, installation and maintenance.
• Application knowledge to understand and appreciate the user’s
• Main subjects in the whole life cycle of the system are: users, business;
mangers and technical experts including analysis, design and
program specialist...) • Computer skills to understand the potential uses of computer
hardware and software in the user’s business;
• The primary purpose of the analysis activity is to transform its
two major inputs, users policy and system charter, into • Able to view a system from many different perspectives;
structured specification. This involves modeling the users’ • Able to partition it into levels of subsystems;
environment with functioning diagrams, data diagrams, entity- • Able to think of a system in abstract terms as well as physical
relationship diagrams and the other tools of the system analysis. terms.
• The quality of system analysis can have a big effect on speed of Popular methods of system analysis
system designing, the programming and time for testing because
• In the following presentation, you will be introduced to using
50 per cent of faults in the system originated from shortcomings
a range of tools and techniques that enable analysts to have a
in system analysis.
better understanding and to find a solution for every single
• Programmers can complain about slow speed of work because case of application.
they have to review analysis and designing.
• The usage of tools and techniques forms an approach named
• This shows the bad quality of system analysts (because of structure system analysis.
inadequate experience or improper working attitude).
• Structure system analysis originated from observations that
• Moreover, speed of system analysis activities is also a very principles of structure programming can also applied to analysis
important issues because there are always complaints about and designing stage.
time, etc. And the products of the system analysts are often
specification description and diagrams of technical nature and The moving towards structure system analysis can
these are not highly valued. be explained by the following description:
130
Graphic: composed of variety of diagrams, supported by detailed In the current example, the function hierarchy
SYSTEMS ANALYSIS
textual material that, in many cases, serves as reference material diagram is as follows
rather than the main body of the specification.
Partitioned: so that individual portions of the specification can be
read independently of other piece.
Minimally redundant: so that changes in the user requirements
can usually be incorporated in just one part of the specification.
This approach is now used in the majority of systems development
organizations, as well as a large number of engineering-oriented
organizations.
Tools supporting analysis: Functioning diagram, data flow
diagram, and relationship diagram...
• In the process of system analysis, analysts often construct
models to give an overview or stress on aspects of the whole
system. This enables analyst to contact users in the best way
and when users’ need is changed, it is possible to modify or
construct a new model.
Analysts use model to
• Concentrate on important features of the system, pay less
attention to less important ones;
• Be able to respond to changes or changes in user’s requirements
with low cost and risk;
• Properly understand users’ environment and write documents Data flow Diagram
Describe the information flow in the system The next step of
in the same way that designers and programmers construct the
system analysis is to consider in detail the information necessary
system.
for the implementation of functions discussed above and the
Three important modeling tools used in one necessary for the improvement of the functions. Modeling
system analysis is tool frequently used for this purpose is data flow diagrams.
Functional diagram (FD) Data flow diagram will support 4 main activities
• A functional diagram is used to show system’s functions that • Analysis: DFD is used to determine requirements of users.
will be constructed and the implementation process of data • Design: DFD is used to map out plan and illustrate solutions
diagram. Moreover, function diagram will also be used to to analysts and users while designing a new system.
determine the appearance frequency of smaller process in the
data flow chart. • Communication: One of the strength of DFD is its simplicity
and ease to understand to analysts and users;
• If during the construction of functional diagram, analysts
identify new functions, the analysts need to determine if it is a • Documents: DFD is used to provide special description of
wrong move to ignore the discovered functions. It is necessary requirements and system design. DFD provide an overview of
to decide to add or remove in the most appropriate way. key functional components of the system but it does not
provide any detail on these components. We have to use other
• Functional analysis with the help of modeling tools provides tools like database dictionary, process specification to get an
important details that will be used often in later stages of idea of which information will be exchanged and how.
analysis.
The data dictionary is an organized listing of all the data elements
• With detailed job description, information processing and pertinent to the system, with precise, rigorous definitions so that
exchanging process, input and output of every function will both user and systems analyst will have a common understanding
help analysts understand more clearly system’s requirements. of all inputs, outputs, components of stores, and intermediate
• However, it is necessary to note that function approach to issue calculations.
is not a comprehensive approach.
The data dictionary defines the data elements by doing the
• A function diagram only shows what to do not how to do. In followings
a functional diagram, a function is divided into many smaller
• Describing the meaning of the flows and stores shown in the
functions and each smaller function contains many even smaller
data flow diagrams;
ones.
• Describing the composition of aggregate packets of data
Constructing diagram is a process of division, from a higher
moving along the flow;
function to appropriate smaller functions. Diagrams need to be
presented clearly, simply, exactly, and fully and balanced. Function • Describing the composition of packets of data in stores;
of the same level has the same level of difficulty need to be on the
same page.
131
• Where does the system get information from to work?
SYSTEMS ANALYSIS
• Specifying the relevant values and units of elementary chunks
of information in the data flows and data stores. • And where does it give work results to?
• Describing the details of relationships between stores that are Regardless of the ways it is described, the data flow
highlighted in an entity-relationship diagram. diagram needs to meet the following
The system analysis can ensure that the dictionary is complete, requirements:
consistent, and non-contradictory. He can examine the dictionary • Without explanation in words, the diagram can still tell the
on his own and ask the following questions: system’s functions and its information flowing process.
• Has every flow on the data flow diagram been defined in the Moreover, it must be really simple for users and systems analysts
data dictionary? to understand.
• Have all the components of composite data elements been • The diagram must be balancely laid out in one page (for small
defined? systems) and in every single page showing system’s functions
• Has any data element been defined more than once? of the same level (for larger systems).
• Has the correct notation been used for all data dictionary It is best for the diagram to be laid out with computer supporting
definition? tools, because that way the diagram will be consistent and
• Are there any data elements in the data dictionary that are not standardized. Also, the adjustment process (when needed) will be
referenced in the functioning diagrams, data flow diagrams, or done quickly and easily.
entity-relationship diagrams. Review
Building a data dictionary is one of the more important aspects Role of AnalystPopular method of system analysis
and time consuming of systems analysis. But, without a formal Data Flow diagram
dictionary that defines the meaning of all the terms, there can be
Functional diagram, Data dictionary
no hope for precision.
The process specification Questions
Discuss about Data Flow diagram
As we know, there are a variety of tools that we can use to produce
a process specification: 1
Decision tables, structured English, pre/post conditions, 2
flowcharts, and so on. All most systems analysts use structured
3
English. But, any method can be used as long as it satisfies two
4
important requirements:
• The process specification must be expressed in a form that can 5
be verified by the user and the systems analysts;
Produce a Functional diagram with a real system
• The process specification must be expressed in a form that can
be effectively communicated to the various audiences involved. 1
The process specification represents the largest amount of detailed 2
work in building a system model. Because of the amount of 3
work involved, you may want to consider the top – down
4
implementation approach: begin the design and implementation
phase of your project before all the process specifications have 5
been finished.
The activity of writing process specifications regarded as a check of
the data flow diagrams that have already developed. In the writing
process specifications, you may discover that the process
specifications needs additional functions, input data flow or output
data flow...
Thus, the DFD model may be changed, revisions, and corrections
based on the detailed work of writing the process specifications.
Data flow diagram can be described in
the following ways
• What functions should the system perform?
• Interaction between functions?
• What does the system have to transfer?
• What inputs are transferred to what outputs?
• What type of work does the system do?
132
References:
SYSTEMS ANALYSIS
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Bennett, Simon
Object-oriented systems analysis and
Design using UML
2nd ed. New Delhi : McGraw Hill Book, 2002
Booch, Grady
Object-oriented analysis and
Design : with applications
2nd ed. Reading : Addison-Wesley Publishing, 2000
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Kain, Richard Y.
Advanced computer architecture :
A systems design approch
New Delhi : Prentice Hall of India, 1996
Sima, Dezso
Advanced computer architectures :
A design space approch
Delhi : Pearson Education Asia, 1997
Sarkar, A.K.
Systems analysis, data processing and
quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Notes
133
SYSTEMS ANALYSIS
LESSON 27 :
DATA FLOW DIAGRAM
Topics covered
• Data Flow Diagram
Objectives
Upon completion of this Lesson, you should be able to:
• Discuss the various notation used in the DFD
The main components of data flow
diagram are
• The process: The process shows a part of the system that
transforms inputs into outputs; that is, it shows how one or
more inputs are changed into outputs. Generally, the process is
represented graphically as a circle or rectangle with rounded edges.
The process name will describe what the process does.
• The flow: The flow is used to describe the movement of
information from one part of the system to another. Thus,
the flow represents data in motion, whereas the stores represent
data at rest. An arrow into or out of a process represents a flow
graphically.
• The store: the store is used to model a collection of data packets
at rest. Two parallel lines represent a store graphically. The name
of a store identified the store is the plural of the name of the A data flow diagram
packets that are carried by flows into and out of the store. Data Flow Diagram Notations
• External factors: External factors can be a person, a group of
You can use two different types of notations on your data flow
persons or an organization that are not under the studying
diagrams:
field of the system (they can stay in or out of the organization),
but has certain contact with the system. The presence of these Yourdon & Coad or Gane & Sarson.
factors on the diagram shows the limit of the system and Process Notations
identifies the system relationship to the outside world. External
factors are important components crucial to the survival of
every system, because they are sources of information for the
systems and are where system products are transferred to. An
external factor tends to be represented by an rectangle, one
shorter edge of which is omitted while the other is drawn by a Yourdon and Coad
duplicated line. Process Notations
• Internal factors: While the external factors’ names are always
Process
nouns showing a department or an organization, internal
A process transforms incoming
factors’ names are expressed by verbs or modifiers. Internal
data flow into
factors are systems’ functions or process. To distinguish itself
outgoing data flow.
from external factors, an internal factor is represented by an
rectangle, one shorter edge of which is omitted while the other Gane and Sarson
is drawn by a single line. Process Notation
Datastore Notations
You can construct DFD model of system
with the following guidelines
How to Draw Data Flow Diagrams (DFD)
What are Data Flow Diagrams?
Data flow diagrams illustrate how data is processed by a system in Yourdon and Coad
terms of inputs and outputs. Datastore Notation
134
Discuss about various notation used in DFD
SYSTEMS ANALYSIS
DataStore
Datastores are repositories of 1
data in the system. They are
2
sometimes also referred to as
3
files.
4
5
135
Delhi : Pearson Education Asia, 1997
SYSTEMS ANALYSIS
Sarkar, A.K.
Systems analysis, data processing and
Quantitative techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems analysis & design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Notes
136
LESSON 28 :
SYSTEMS ANALYSIS
DFD AND ER DIAGRAM
Topics covered
• Data Flow Diagram
• Entity Relationship Diagram
Objectives
Upon completion of this Lesson, you should be able to:
• Discuss the about ER Diagram
In the example of library management system, corresponding to
each level of function hierarchy diagram, we develop the data flow
diagrams:
137
Summary A. A triangle-headed connection line displays this relationship.
SYSTEMS ANALYSIS
At the end of function analysis phase, we have 2 diagrams: the The non-triangle headed end shows to the table with one entity
function hierarchy diagram and the data flow diagram. They will and the other end shows the table with various entities.
be a basis for finding out entities and relationships between them Assume that we have 2 entities in table A and table B, a many -
(which is defined in the Entity-Relationship diagram). many relationship will exist between them if:
Entity-Relationship diagram (ERD) With each entity in table A, there are several entities in table B and
Though the relationship among data warehouse is not emphasized with each entity in table B, there are several entities in table A. A
in data flow diagram, it is well reflected in ERD. When developing connection line displays this relationship with triangle at both
a new information system, analyst often has discussion with users, ends.
especially database manager, on the current system. It’s they who In fact, the many - many relationship is often transferred to the
have the responsibilities to collect necessary information about one - many relationship via “connection entity” with 2 upper
the system required by system analyst. ERD is one of the most entities.
useful model forming tools to organize this discussion. ERD is
Thus, of the 3 types of relationships, the one - many relationship
network model that describes stored data of a system at a high
is the most important and popular because the one - one
level of abstraction. For system analyst, ERD has a major benefit:
relationship can be integrated in a table, the many - many
it highlights the relationship between data stores on DFD which
relationship is transferred to one - many relationship by creating a
would otherwise only be seen in the specification process.
“connection entity”, which facilitates the data modeling.
The main Components of an ERD Include In the example of library management system, we see the following
• Entity relationships:
• Attribute We realize that: one book or magazine (documents) must be
• Relationship belong to one language, but one language can have many books
Entity is a subject, a duty, or an event that has a significant meaning or magazines, so this relationship is one - to - many(one language
to the future system and is displayed by a rectangle with round has many documents).
corners. Each entity has its own name. In some cases, entities of The similar relationships are: documents and nation, documents
the same sort can be merged into one entity type. and collection, documents and specialty.
Entity type of a system is defined base on the outcome of system With the magazines: we realize that each magazine category has
function analysis. many volumes (depend on years, months, and numbers...), but
The simplest approach to decide whether a type of information one volume must be belong to one magazine category, so this
should be put in the model as a type of entity is to make up the relationship is one - to - many.
following question: Are these information tables useful for the The relationship between department and readers is also one -to
system? If the answer is yes, system analyst has to identify the - many relationships, because one reader must belong to one and
basic entities that create flows in the data table. only one department, but one department can have many readers
After a suitable type of entity, entity nature have been identified, (staffs).
the next important step is to define the information that needs to And the last relationship
be archived for each entity. the relationship between readers and documents: This is a special
• Attributes are the characteristics of the entity displayed by fields relationship: one reader can borrow many documents, and one
or columns of a table. document can be borrowed by many readers at different time
Relationship shows connections among the system’s entities. (because, when a reader gives back a document, it can be borrowed
Triangle headed arrows display these connections. by another reader again). So we can say that this relationship is
“many - to -many” relationship, and separate it into 2 “one - to -
There are 3 major Types of Relationship used in ERDs
many” relationships and one entity, the Borrowing/
• One - one relationship Returning_Ticket entity, with its primary key is the compose of
• One - many relationship the primary key of document entity, the primary key of reader
• Many - many relationship entity, and the BORROW_DATE attribute.
Let’s assume that we have 2 entities in tables A and table B, a one So we have the Entity-Relationship diagrams as
- one relationship will exist between them if: follow
With each entity in table A, there is a corresponding entity in table
B and vice versa, with each entity in table B, there is a corresponding
entity in table A. A normal connection line displays this
relationship.
Assume that we have 2 entities in table A and table B, a one -
many relationships will exist between them if:
With each entity in table A, there are several entities in table B and
with each entity in table B, there is one and only one entity in table
138
an active list of over 100 books each identified by a universal code
SYSTEMS ANALYSIS
called an ISBN number.
(i) Draw an ERD for the Top Text information system
(ii) Indicate cardinality
FastFlight Airlines is a small air carrier operating in three
northeastern states. FastFlight is the process of computerizing its
passenger reservation system. The following data were identified:
reservation number, flight number, flight date, origin, destination,
departure time, arrival time, passenger name and seat number.
(i) Create an ERD, including cardinality for the reservation system.
References
Heuring, Vincent P.
Computer systems design and architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Bennett, Simon
Object-oriented systems analysis and design using
UML
2nd ed. New Delhi : McGraw Hill Book, 2002
Booch, Grady
Object-oriented analysis and design : with
applications
2nd ed. Reading : Addison-Wesley Publishing, 2000
Hoffer, Jeffrey A.
Modern systems analysis and design
2nd ed. Delhi : Pearson Education Asia, 2000
Kain, Richard Y.
Advanced computer architecture : a systems design
approch
New Delhi : Prentice Hall of India, 1996
Sima, Dezso
Advanced computer architectures : a design space
Mayille is a rural village with a population of 500. Until now approch
Mayville was served by a bookmobile from a larger town. The
Delhi : Pearson Education Asia, 1997
Mayville village council has authorized funds for a small public
library and you have volunteered to set up an information system Sarkar, A.K.
for the library. Assume that the library will have multiple copies Systems analysis, data processing and quantitative
of certain books. techniques
(i) Draw an ERD for the Mayille library system New Delhi : Galgotia Publications, 1997
(ii) Indicate cardinality. Hawryszkiewycz, Igor
Top Text Publishing is a textbook publishing company with a Introduction to systems analysis & design
headquarters location, a warehouse and three sales offices that 4th ed. New Delhi : Prentice Hall of India, 2002
each have a sales offices that each have sales manager and sales
Awad, Elias M.
reps. Top Text sells to schools, colleges and individual customers.
Many authors write more than one book for Top text and some Systems analysis and design
books are written by more than one author. Top text maintains New Delhi : Galgotia Publications, 1997
139
SYSTEMS ANALYSIS
LESSON 29 :
OVERVIEW DATA MODELLING
Topics covered relationships and then drawing a diagram that accurately depicts
• Data modelling the system. This applies equally to the design of a new system or
the analysis of an existing one.
Objectives The end result of data modeling should be a clear picture of how
Upon completion of this Lesson, you should be able to: information is stored and related within a proposed, or existing,
• Discuss the about data modelling system.
Data Modelling Systems Analysis Entities
• What is systems modeling and what is the difference between On this we illustrate the concept of an entity, which can be applied
logical and physical system models? to almost anything that is significant to the system being studied.
Some examples of information systems and entities are listed
• What is data modeling and what are its benefits? below:
• Can you recognize and understand the basic concepts and Airline system: Aircraft, Passenger, Flight, Airport.
constructs of a data model?
Banking system: Customer, Account, Loan.
• Can you read and interpret a entity relationship data model? A precise definition of ‘entity’ is not really possible, as they even
• When in a project are data models constructed and where are vary in nature. For example, in the airline system, whilst an aircraft
they stored? is a physical object (entities often are) a flight is an event and an
• Can you discover entities and relationships? airport is a location. However entities are nearly always those things
• Can you construct an entity-relationship context diagram? about which data will be stored within the system under
investigation.
• Can you discover or invent keys for entities?
Note that entities are always named in the singular; for example:
• Can you construct a fully attributed entity relationship diagram
customer, account and loan, and not customers, accounts and
and describe all data structures and attributes to the repository
loans.
or encyclopedia?
This course uses symbols that are standard in the IT industry.
What is Data modeling? This uses the soft-box symbol shown to represent an entity. If a
site uses a different symbol set, this is not a problem, as data
modeling techniques are the same regardless of the symbols being
used.
Systems Analysis – Entity Types &
Occurrence
Similar entity occurrences are grouped together and collectively
termed an entity type. It is entity types that are identified and
drawn on the data model.
An entity occurrence identifies a specific resource, event, location,
notion or (more typically) physical object.
In this course the term ‘entity’ is, by default, referring to entity
type. The term entity occurrence will be specifically used where that
is relevant.
Each entity has a data group associated with it. The elements of
the data group are referred to as the ‘attributes ‘ of the entity. The
An entity is something about which data will be stored within the distinction between what is an attribute of an entity and what is
system under consideration. In this example the data group invoice an entity in its own right is often unclear. This is illustrated shortly.
can be identified as a system entity. Systems Analysis– Entity Naming
The other main component on a data model is the relationship Entity names are normally single words and the name chosen
line. A Relationship is an association between two entities to should be one familiar to the users. The entity name can include a
which all of the occurrences of those entities must conform. qualifier in order to clarify their meaning. However, if different
The relationship is represented by a line that joins the two entities, names are currently used to describe a given entity in different
to which it refers. This line represents two reciprocal areas of the organization then a new one should be chosen that is
relationships:That of the first entity with respect to the second, original, unique and meaningful to all of the users.
and that of the second entity with respect to the first.
Data modeling is all about identifying entities and their
140
For example, the terms ‘signed contract’, ‘sale’ and ‘agreement’ There are six potential entities listed. From this initial list we will
SYSTEMS ANALYSIS
might be recreated as the entity ‘completed’. consider the ‘suppliers price list’ to be a likely attribute of the
Conversely an organization may be using a ‘catch all’ term to entity ‘supplier’. Therefore we shall consider this within the context
describe what the analyst identifies as being a number of separate of the supplier entity. The ‘invoicing details’ are stated to be
entities. For example the term ‘invoice’ may be being used to attributes of the ‘order record’ entity, so we shall also discount
describe 3 invoice types - each of which is, in fact, processed in a this as a potential entity at this stage.
different manner. Remember that entities are described in the singular as they relate
In this case prefixing the entity names with qualifiers, is likely to to entity types. ‘Customer’ for example represents the entity type
be the best solution. ‘customer’ which encompasses an infinite number of ‘customer’
entity occurrences.
Systems Analysis – Entity Identification
It is usual for an experienced analyst to use an intuitive approach Taking these four as our list of potential entities, each will be
to identifying entities, in order to produce a shortlist of things discussed in turn:
that could potentially be entities. The viability of each of these can Systems Analysis – Entity Identification –
then be considered using a set of entity identification guidelines. Exercise # 2
This should result in some of them being confirmed as entities, In many business systems, information about the customer is of
whilst others will be rejected. great importance. An insurance company or bank, for example,
In this exercise you will be asked to identify a set of potential could not function without a customer database on which
entities within a simple business scenario. This should help you comprehensive personal details are stored. This customer database
to understand and appreciate the entity identification guidelines also serves as an essential resource for selling new financial products
better. and services.
Read the following case study. Study this information carefully But how much customer information is likely to be stored by City
and see if you can identify the entities - remember that entities are Cameras?
those things about which data will be stored. Are they even going to record the name & address of their
Make your own list of those things that you think are likely to be customers?
entities, before moving to the next screen. Interviews with the owner reveal the answer to be that he has no
Systems Analysis – Entity Identification real interest in storing ‘information’ about his customers. He only
Case Study records their details onto any necessary warranty documents and
then sends these off to the appropriate supplier.
City Cameras is an independent retailer of cameras, video-cameras
and accessories. The owner fulfils the roles of shopkeeper and Therefore, in the context of this system customer is NOT an
manager and he purchases a variety of products from a number entity.
of different suppliers. Systems Analysis – Entity Identification –
The owner can check on different suppliers wholesale and Exercise # 3
recommended retail prices with reference to their price lists, as It is a natural assumption that all retail businesses would hold a
shown. significant amount of product information. However in this study
the only level of product information is that which is held on the
During a normal day several customers will enter the shop and a
suppliers’ price lists.
number of them will buy one or more of the products on sale.
Lets look again at the suppliers price list in the case study. This
At some stage the owner may decide that one or more product
confirms that product information is held within this system and
lines need to be re-ordered, following a visual stock-take. He will
it is apparent from the case study that products are of real interest.
then consult the latest suppliers price lists to see who is offering
the best deals on given product lines. So have we Identified an Entity?
Following this, he will ring one or more of the suppliers to order At this stage it would be likely that product would be considered
some of their products. At the same time he will also make a to be an entity. However, you will shortly see why the analysis
written record of the orders that have been placed with each supplier phase needs to be iterative - enabling decisions to be altered later,
on a separate sheet of paper. These records are then used to verify if necessary.
incoming orders and invoicing details.
Systems Analysis– Entity Identification –
Exercise #1
With reference to the case study information, make a list of all of
those things mentioned in the case study that could be entities -
that is the potential entities.
Your list should look something like that shown below:
Suppliers Price List, Customer, Product, Order, Invoicing Details
& Supplier
141
Systems Analysis– Entity Identification – References
SYSTEMS ANALYSIS
142
LESSON 30 :
SYSTEMS ANALYSIS
ENTITY IDENTIFICATION
Topics covered more of these low level facts, then this indicates that your entity
• Entity Identification search is incomplete.
143
Take the example of a patient called David Smith living at 23 Systems Analysis– Relationship Link Phrase
SYSTEMS ANALYSIS
Acacia Avenue. He has a son also called David Smith living at the
same address.
Name and Address would not necessarily provide a unique
identifier and confusion could easily arise, potentially creating a
mix up with the patient records.
For this reason, in a hospital system patients each have a Patient
Number as their primary key. The first property of the relationship statement is the relationship
link phrase. This should be a short description of the nature of
If two or more data items are used as the unique identifier, then
the relationship, typically between three and five words long. It is
this represents a compound key. For example, a compound key
always read clockwise with respect to the entities that it links, so in
used to identify a book could be ‘Title’ together with ‘Author’.
this example:
There may be occasions of authors using a previously used title
’Manager is responsible for department’, and ‘Department is
but not of an author using the same title for more than one of
responsibility of manager’
their own books.
If the same relationship were to be drawn with department on
Where several possible primary keys exist they are called candidate
the left hand side then the positions of the link phrases would
keys.
have to be reversed.
For example, a book could be identified, either by ‘Title’ together
Systems Analysis – Relationship Cardinality
with ‘Author’ or by the widely used unique identifier for books -
The second property of the relationship statement is the degree,
the ISBN number.
or maximum cardinality, of the relationship. If an entity has a
Where an attribute of one entity is a candidate key for another crowsfoot symbol drawn against it, then many occurrences of
entity, it is termed a foreign key. that entity may relate to the other entity. Conversely if no crowsfoot
For example, the attribute ‘Author’ belonging to the entity Book is drawn against it, at most one occurrence of that entity may relate
is a foreign key within the entity Author. You may be able to think to the other entity.
of some shortcomings to the use of this attribute as the primary
key, for example two authors having the same name.
It is worth noting that entity relationships are often indicated by
the presence of foreign keys.
Systems Analysis – Relationships
In this example: Each company employs one or more employees,
but Each employee is employed by only one company. This is
called a one-to-many relationship.
Maximum cardinalities may be combined to give another two
relationship types, In this example:
144
Questions Sarkar, A.K.
SYSTEMS ANALYSIS
1. What is system analysis and structured system analysis? Systems Analysis, Data processing and
Quantitative Techniques
2. Please tell several models used to analyse system.
New Delhi : Galgotia Publications, 1997
3. Why does system analysis play an important role in the system’s
development life cycle? Hawryszkiewycz, Igor
Introduction to systems Analysis & Design
4. Please tell the roles of system analysts.
4th ed. New Delhi : Prentice Hall of India, 2002
5. What are the popular tools used during the system analysis?
Awad, Elias M.
6. What is BFD? Why is it important?
Systems analysis and design
7. What are the main components of BFD?
New Delhi : Galgotia Publications, 1997
8. What are the main components of DFD?
Notes
9. What is data dictionary? Please tell some of its main
components.
10. What is process specification? Please tell some of its main
components.
11.Base on which foundation do you build the ERD? What are
their main components?
12. What are some of the popular relationships?
13. What is recursive relationship?
14. What are some popular normalization used in the building
and testing of models?
References
Heuring, Vincent P.
Computer Systems Design and Architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems Analysis and Design Methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems Analysis and Design
3rd ed. New Delhi : Galgotia Publications, 1999
Bennett, Simon
Object-Oriented systems Analysis and
Design using UML
2nd ed. New Delhi : McGraw Hill Book, 2002
Booch, Grady
Object-Oriented Analysis and
Design : with Applications
2nd ed. Reading : Addison-Wesley Publishing, 2000
Hoffer, Jeffrey A.
Modern systems analysis and Design
2nd ed. Delhi : Pearson Education Asia, 2000
Kain, Richard Y.
Advanced Computer Architecture :
a systems Design approch
New Delhi : Prentice Hall of India, 1996
Sima, Dezso
Advanced computer Architectures :
a Design space Approch
Delhi : Pearson Education Asia, 1997
145
SYSTEMS ANALYSIS
LESSON 31 :
RELATIONSHIPS
Topics covered In order to identify the degree of the relationship between the
• Relationships entities X and Y the following two questions need to be asked.
Objectives Question 1
Can an occurrence of X to be associated with more than one
Upon completion of this Lesson, you should be able to:
occurrence of Y?
• Discuss the various notation used in entity relation modelling
Question 2
Systems Analysis – Relationship Participation Can an occurrence of Y to be associated with more than one
The third and final property of the relationship statement is the occurrence of X?
participation or optionality. A solid line shows that an entity
Each of these questions can be answered ‘Yes’ or ‘No’ and both
occurrence must be associated with each occurrence of the other
questions must be answered. This means that there are four
entity. In this example:
possible outcomes as shown in the table.
Each passenger must possess a ticket, and Each ticket must belong
to a passenger. A dotted line shows that an entity occurrence may
be associated with each occurrence of the other entity, In this
example
The nature of the relationship associated with each outcome is as
follows:
Option 1, Question1 equals Yes, Question2 equals No.
In this case a one-to-many relationship has been identified,
represented by the relationship line shown.
Option 2, Question1 equals No, Question2 equals Yes
Each book may be borrowed by a borrower, and Each borrower As in the first case a one-to-many relationship has been identified,
may borrow one or more books. Furthermore, these symbols can represented by the relationship line shown.
be combined. In this example:
Option 3, Question1 equals Yes, Question2 equals Yes
In this case a many-to-many relationship has been identified.
Many-to-many relationships may be shown in the early
‘preliminary’ data model in order to aid the clarity of these early
diagrams. However, such relationships are invalid and are therefore
always re-modeled using ‘link entities’ in later diagrams. This
Each book may be recalled by a reservation, but Each reservation process is explained later in the course.
must be recalling a book. Option 4, Question1 equals No, Question2 equals No
Remember, there are only two components to a data model In this case a one-to-one link has been identified.
diagram, entities and relationships. A relationship is an association Legitimate one-to-one relationships are rare and it is likely that
between two entities to which all of the occurrences of those two this relationship is one that needs to be rationalized. The methods
entities must conform. used to investigate one-to-one relationships and to re-model them
There are three distinct properties of the relationship; firstly the where necessary are explained later in the course.
relationship link phrase, secondly the degree or cardinality of the In a one-to-many relationship the entity at the ‘one’ end is normally
relationship and thirdly the participation or optionality of the referred to as the master, and the entity at the ‘many’ end referred
relationship. These three properties are collectively termed the to as the detail entity. Some analysts adopt the ‘no dead crows’
relationship statement. rule and avoid drawing crowsfeet pointing upwards. This ensures
Systems Analysis– Identifying Relationships that detail entities are shown below the master entities to which
There are just two questions that need to be asked, in order to they belong.
establish the degree of the relationship that exists between any This makes the diagram clearer, although congestion may make
two entities. this rule difficult to enforce throughout the data model.
146
Systems Analysis– Relationship Statements This diagram represents a banking process, which maintains
SYSTEMS ANALYSIS
The relationship statement is a formal description that customer accounts. In this example, customers can withdraw or
encompasses the three properties of the relationship. deposit cash, request information about their account (for example
The relationship statement encompasses the three properties of the balance) or update their account details (for example with
the relationship. The first property is the relationship link phrase, change of address information).
the second the degree or cardinality of the relationship and the The five different symbols used in this example represent the full
third the participation or optionality of the relationship. set of symbols required to draw any business process diagram.
Systems Analysis - DFD Introduction External Entity
147
Data Store
SYSTEMS ANALYSIS
In order to avoid complex flows, the same data store may be
drawn several times on a diagram. Multiple instances of the same
data store are indicated by a double vertical bar on their left hand
edge.
A data store is a holding place for information within the system: Systems Analysis – DFD Relationship
It is represented by an open ended narrow rectangle. Grid
Data stores may be long-term files such as sales ledgers, or may be There are rules governing various aspects of the diagram
short-term accumulations: for example batches of documents components and how they can relate to one another.
that are waiting to be processed. Each data store should be given
Data Flows
a reference followed by an arbitrary number.
For data flows the rules are as follows:
Resource Flow
Data flows and resource flows are allowed between external entities
and processes. Data flows are also allowed between different
external entities. However, data flows and resource flows are not
A resource flow shows the flow of any physical material from its allowed between external entities and data stores.
source to its destination. For this reason they are sometimes Processes
referred to as physical flows.
For processes the data flow rules are as follows:
The physical material in question should be given a meaningful Data flows and resource flows are allowed between processes and
name. Resource flows are usually restricted to early, high-level external entities and between processes and data stores. They are
diagrams and are used when a description of the physical flow of also allowed between different processes. In other words processes
materials is considered to be important to help the analysis. can communicate with all other areas of the business process
Systems Analysis – Drawing Data Flow diagram.
Diagrams Data Stores
Processes For data stores the data flow rules are as follows:
When naming processes, avoid glossing over them, without really Data flows and resource flows are allowed between data stores
understanding their role. Indications that this has been done are and processes. However, these flows are not allowed between
the use of vague terms in the descriptive title area - like ‘process’ or data stores and external entities or between one data store and
‘update’. another. In practice this means that data stores cannot initiate a
The most important thing to remember is that the description communication of information, they require a process to do this.
must be meaningful to whoever will be using the diagram.
Data Flows
Double headed arrows can be used (to show two-way flows) on
all but bottom level diagrams. Furthermore, in common with
most of the other symbols used, a data flow at a particular level of
a diagram may be decomposed to multiple data flows at lower
levels.
External Entities
It is normal for all the information represented within a system to
have been obtained from, and/or to be passed onto, an external
source or recipient. These external entities may be duplicated on a
diagram, to avoid crossing data flow lines. Where they are The context diagram represents the entire system under
duplicated a stripe is drawn across the left hand corner, like this. investigation. It should be drawn first, and used to clarify and
The addition of a lowercase letter to each entity on the diagram is agree the scope of the investigation. The system under
a good way to uniquely identify them. investigation is represented as a single process, connected to
external entities by data flows and resource flows.
Data Stores
The context diagram clearly shows the interfaces between the
Each store should be given a reference letter, followed by an arbitrary
system under investigation and the external entities with which it
number. These reference letters are allocated as follows:
communicates. Therefore, whilst it is often conceptually trivial, a
’D’ - indicates a permanent computer file context diagram serves to focus attention on the system boundary
’M’ - indicates a manual file and can help in clarifying the precise scope of the analysis. The
’T’ - indicates a transient store, one that is deleted after context diagram shown on this screen represents a book lending
processing. library. The library receives details of books, and orders books
from one or more book suppliers.
148
Books may be reserved and borrowed by members of the public,
SYSTEMS ANALYSIS
Notes
who are required to give a borrower number. The library will
notify borrowers when a reserved book becomes available or when
a borrowed book becomes overdue. In addition to supplying
books, a book supplier will furnish details of specific books in
response to library enquiries.
Note, that communications involving external entities are only
included where they involve the ‘system’ process. Whilst a book
supplier would communicate with various agencies, for example,
publishers and other suppliers - these data flow are remote from
the ‘system’ process and so this is not included on the context
diagram.
References
Heuring, Vincent P.
Computer systems Design and Architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems Analysis and design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems Analysis and Design
3rd ed. New Delhi : Galgotia Publications, 1999
Bennett, Simon
Object-oriented systems Analysis and
Design using UML
2nd ed. New Delhi : McGraw Hill Book, 2002
Booch, Grady
Object-Oriented Analysis and Design :
with applications
2nd ed. Reading : Addison-Wesley Publishing, 2000
Hoffer, Jeffrey A.
Modern systems Analysis and Design
2nd ed. Delhi : Pearson Education Asia, 2000
Kain, Richard Y.
Advanced Computer Architecture :
a systems Design approch
New Delhi : Prentice Hall of India, 1996
Sima, Dezso
Advanced Computer Architectures :
a Design space Approch
Delhi : Pearson Education Asia, 1997
Sarkar, A.K.
Systems Analysis, Data processing and
Quantitative Techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems Analysis & Design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems Analysis and Design
New Delhi : Galgotia Publications, 1997
149
SYSTEMS ANALYSIS
LESSON 32 :
CONTEXT DIAGRAM
Topics Covered There are three different methods, which provide a practical way to
• Context Diagram start the analysis. These are introduced below and any one of
them, or a combination, may prove to be the most helpful in any
Objectives given investigation:
Upon completion of this Lesson, you should be able to:
Systems Analysis – Resource Flow
• Discuss about context diagrams Analysis
Systems Analysis Context Diagram Resource flow analysis may be a useful method for starting the
Guidelines analysis if the current system consists largely of the flow of goods,
Firstly, draw and name a single process box that represents the as this approach concentrates on following the flow of physical
entire system. objects.
Next, identify and add the external entities that communicate Resource flow analysis may be a useful method for developing
directly with the process box. Do this by considering origin and diagrams if the current system consists largely of the flow of
destination of the resource flows and data flows. goods. Physical resources are traced from when they arrive within
the boundaries of the system, through the points at which some
Finally, add the resource flows and data flows to the diagram. action occurs, to their exit from the system. The rationale behind
In drawing the context diagram you should only be concerned this method is that information will normally flow around the
with the most important information flows. These will be same paths as the physical objects.
concerned with issues such as: how orders are received and checked,
Systems Analysis – Organizational
with providing good customer service and with the paying of
Structure Analysis
invoices. Remember that no business process diagram is the
The organizational structure approach starts from an analysis of
definitive solution - there is no absolute right or wrong.
the main roles that exist within the organization, rather than the
Systems Analysis– Level 1 Diagrams goods or information that is flowing around the system.
Identification of the key processes results from looking at the
organizational structure and deciding which functional areas are
relevant to the current investigation. By looking at these areas in
more detail, and analyzing what staff actually do, discrete processes
can be identified.
Starting with these processes, the information flows between them
and between these processes and external entities are then identified
and added to the diagram.
Systems Analysis – Document Flow
Analysis
There is no formula that can be applied in deciding what is, and
The document flow analysis approach is appropriate if the part of
what is not, a level 1 process. Level 1 processes should describe
the business under investigation consists principally of flows of
only the main functional areas of the system, and you should
information in the form of documents or computer input and
avoid the temptation of including lower level processes on this
output.
diagram. As a general rule no business process diagram should
contain more than 12 process boxes.# Document flow analysis is particularly useful where information
The level 1 diagram shows the main functional areas of the system flows are of special interest. The first step is to list the major
under investigation. As with the context diagram, any system documents and their sources and recipients. This is followed by
under investigation should be represented by only one level 1 the identification of other major information flows such as
diagram. telephone and computer transactions. Once the document flow
The level 1 diagram is surrounded by the outline of a process box diagram has been drawn the system boundary should be added.
that represents the boundaries of the system. Because the level 1
diagram depicts the whole of the system under investigation, it
can be difficult to know where to start.
There are three different methods, which provide a practical way
to start the analysis. These are explained in the following section
and any one of them, or a combination, may prove to be the
most helpful in any given investigation.
150
Systems Analysis – Top Down Expansion In the level 2 diagram four processes of interest have been identified
SYSTEMS ANALYSIS
and the numbering of these processes must reflect the parent
process. Therefore the level 2 processes are numbered 3.1, 3.2, 3.3
and 3.4
Suppose that of these four level 2 processes, one was of sufficient
interest and complexity to justify further analysis. This process,
let’s say 3.3, could then be further analyzed resulting in a
corresponding level 3 diagram. Once again the numbering of these
processes must reflect the parent process. Therefore these three
level 3 processes are numbered 3.3.1, 3.3.2 and 3.3.3.
Systems Analysis – DFD Numbering Rules
The screen explains the process of top down expansion and
illustrates that whilst there can only be one context and one level 1
diagram for a given system, these normally give rise to numerous
lower level diagrams.
Each process within a given data flow diagram may be the subject
of further analysis. This involves identifying the lower level
processes that together constitute the process as it was originally
identified. This procedure is known as top-down expansion or
leveling.
As a business process diagram is decomposed, each process box
becomes a boundary for the next, lower level, diagram.
Systems Analysis – Top Down Expansion
Illustrated
The process boxes on the level 1 diagram should be numbered
arbitrarily, so that no priority is implied. Even where data from
one process flows directly into another process, this does not
necessarily mean that the first one has to finish before the second
one can begin.
Therefore the processes on a level 1 diagram could be re-numbered
without affecting the meaning of the diagram. This is true within
any business process diagram - as these diagrams do not imply
time, sequence or repetition.
However, as the analysis continues beyond level 1 it is important
that a strict numbering convention is followed. The processes on
level 2 diagrams must indicate their parent process within the level
1 diagram. This convention should continue through level 3
diagrams, and beyond, should that level of analysis ever be
required.
The diagram on this screen clearly illustrates how processes on
In order to illustrate the process of top-down expansion, consider lower level diagrams identify their ancestral path.
the three processes shown within this business process diagram. Systems Analysis - When to Stop Top
No detail is shown, only the outline of the process boxes, which Down Expansion
have been identified during the drawing of a level 1 diagram. It is important to know when to stop the process of top-down
Any area of a level 1 diagram is likely to require further analysis, as expansion. Usually this will be at level 2 or level 3.
the level 1 diagram itself only provides a functional overview of There are 3 useful guidelines to help you to decide when to stop
the business system. the analysis:
Therefore, below the level 1 diagram there will be a series of lower Firstly, if a process has a single input data flow or a single output
level diagrams. These are referred to as level 2, level 3, etcetera. In data flow then it should be apparent that there is little point in
practice, level 2 is usually sufficient and it is unusual to carry out an analyzing it any further.
analysis beyond level 3.
Secondly, when a process can be accurately described by a single
In this example the process numbered 3, at level 1, will be active verb with a singular object, this also indicates that the analysis
investigated further thereby giving rise to a level 2 diagram. has been carried out to a sufficiently low level. For example, the
process named validate enquiry contains a single discrete task.
151
Finally, ask yourself if anything useful will be gained by further (i) Draw a context diagram for the order system
SYSTEMS ANALYSIS
analysis of a process. Would any more detail influence your (ii) Draw a DFD diagram 0 for the order system
decisions?
(iii) Name four attributes that you can use to define a process in
If the answer is no, then there is little point in taking the analysis the order system.
further.
(iv) Name four attributes that you can use to define an entity in
Systems Analysis– Keeping DFDs Clear the order system
In this section a variety of simple techniques are introduced to
References
show how a business process diagram can be clarified. The examples
used do not relate to any specific scenario but are hypothetical Heuring, Vincent P.
abstracts used for the purpose of illustration. Computer systems Design and Architecture
Delhi : Pearson Education Asia, 1997
Exclude Minor Data Flows
Where information is being retrieved from a data store, it is not Whitten, Jeffrey L.
necessary to show the selection criteria, or key, that is being used to Systems Analysis and Design Methods
retrieve it. 5th ed. New Delhi : Galgotia Publications, 2001
In the banking example, the customer details are shown being Shelly, Gary B.
retrieved from the data store but the key used to retrieve this Systems Analysis and Design
information is not shown. 3rd ed. New Delhi : Galgotia Publications, 1999
Where a data store is being updated, only the data flow representing Bennett, Simon
the update needs to be shown. The fact that the information Object-Oriented systems Analysis and
must first be retrieved does not need to be shown. Design using UML
Only the most important reports, enquiries, etcetera should be 2nd ed. New Delhi : McGraw Hill Book, 2002
shown on the diagram. Communications that are of less
Booch, Grady
significance can, if necessary, be detailed in support documentation.
Object-Oriented Analysis and
Combining Data Stores Design : with applications
In a similar way, data stores that are holding related information 2nd ed. Reading : Addison-Wesley Publishing, 2000
should be suffixed with a lower case letter.
Hoffer, Jeffrey A.
Related data stores can also be combined, and where this is the Modern systems Analysis and Design
case the numbers placed after the identifying alphabetic character
are not shown. 2nd ed. Delhi : Pearson Education Asia, 2000
Kain, Richard Y.
Combining External Entities
Advanced computer Architecture :
Another way to reduce the complexity of a business process
A systems Design Approach
diagram is to combine any related external entities.
New Delhi : Prentice Hall of India, 1996
For example, a business system will often be dealing with different
units from within the same external organization, and these can Sima, Dezso
be combined into a single external entity. Where these units are Advanced computer Architectures :
uniquely identified a number should follow the entity identification a Design space Approach
letter. However, when they are combined the numbers placed Delhi : Pearson Education Asia, 1997
after the identifying alphabetic character are not shown.
Sarkar, A.K.
Combining Processes
Systems Analysis, Data processing and
Firstly, where a diagram is considered to contain too many Quantitative Techniques
processes, those that are related can often be combined. As a
New Delhi : Galgotia Publications, 1997
general rule no business process diagram should contain more
than 12 process boxes. Hawryszkiewycz, Igor
Introduction to systems Analysis & Design
In some examples multiple process boxes can be identified as
being related and can be combined into a single process box with 4th ed. New Delhi : Prentice Hall of India, 2002
a collective description. Awad, Elias M.
Systems Analysis and Design
Questions:.
New Delhi : Galgotia Publications, 1997
Precision Tools sells a line of high quality woodworking tools.
When customers place orders on the company’s website , the
system checks to see if the items are in stock, issues a atatus
message to the customer and generates a shipping order to the
warehouse, which fills the order. When the order is shipped , the
customer is billed. The system also produces various reports.
152
SYSTEMS ANALYSIS
LESSON 33 :
SYSTEM MODELING
153
• An entity typically has many instances; perhaps thousands or • A binary relationship has a degree = 2, because two different
SYSTEMS ANALYSIS
millions and there exists a need to uniquely identify each instance entities participated in the relationship.
based on the data value of one or more attributes. • Relationships may also exist between different instances of the
• Every entity must have an identifier or key. same entity.
• An key is an attribute, or a group of attributes, which assumes • This is called a recursive relationship (sometimes called a unary
a unique value for each entity instance. It is sometimes called an relationship; degree = 1).
identifier. • Relationships can also exist between more than two different
• Sometimes more than one attribute is required to uniquely entities.
identify an instance of an entity. • These are sometimes called N-ary relationships.
• A group of attributes that uniquely identifies an instance of an • A relationship existing among three entities is called a 3-ary or
entity is called a concatenated key. Synonyms include composite ternary relationship.
key and compound key.
• An N-ary relationship maybe associated with an associative
• Frequently, an entity may have more than one key. entity.
• Each of these attributes is called a candidate key. • An associative entity is an entity that inherits its primary key
• A candidate key is a ‘candidate to become the primary identifier’ from more than one other entity (parents). Each part of that
of instances of an entity. It is sometimes called a candidate concatenated key points to one and only one instance of each
identifier. (Note: A candidate key may be a single attribute or a of the connecting entities.
concatenated key.)
Foreign Keys
• A primary key is that candidate key which will most commonly • A relationship implies that instances of one entity are related
be used to uniquely identify a single entity instance.
to instances of another entity.
• Any candidate key that is not selected to become the primary • To be able to identify those instances for any given entity, the
key is called an alternate key. primary key of one entity must be migrated into the other
• Sometimes, it is also necessary to identify a subset of entity entity as a foreign key.
instances as opposed to a single instance. • A foreign key is a primary key of one entity that is contributed
• For example, we may require a simple way to identify all male to (duplicated in) another entity for the purpose of identifying
students, and all female students. instances of a relationship. A foreign key (always in a child
• A subsetting criteria is a attribute (or concatenated attribute) entity) always matches the primary key (in a parent entity).
whose finite values divide all entity instances into useful subsets. • When you have a relationship that you cannot differentiate
Some methods call this an inversion entry. between parent and child it is called a non-specific relationship.
Relationships • A non-specific relationship (or many-to-many relationship) is
• Conceptually, entities and attributes do not exist in isolation. one in which many instances of one entity are associated with
many instances of another entity. Such relationships are suitable
• Entities interact with, and impact one another via relationships only for preliminary data models, and should be resolved as
to support the business mission.
quickly as possible.
• A relationship is a natural business association that exists • All non-specific relationships can be resolved into a pair of
between one or more entities. The relationship may represent
one-to-many relationships by inserting an associative entity
an event that links the entities, or merely a logical affinity that
between the two original entities.
exists between the entities.
• A connecting line between two entities on an ERD represents Generalization
a relationship. • Generalization is an approach that seeks to discover and exploit
• A verb phrase describes the relationship. the commonalties between entities.
• All relationships are implicitly bidirectional, meaning that they • Generalization is a technique wherein the attributes that are
can interpreted in both directions. common to several types of an entity are grouped into their
own entity, called a supertype.
Cardinality
• An entity supertype is an entity whose instances store attributes
• Each relationship on an ERD also depicts the complexity or that are common to one or more entity subtypes.
degree of each relationship and this is called cardinality.
• The entity supertype will have one or more one-to-one
• Cardinality defines the minimum and maximum number of relationships to entity subtypes. These relationships are
occurrences of one entity for a single occurrence of the related sometimes called IS A relationships (or WAS A, or COULD
entity. Because all relationships are bi-directional, cardinality BE A) because each instance of the supertype ‘is also an’ instance
must be defined in both directions for every relationship. of one or more subtypes.
Degree • An entity subtype is an entity whose instances inherit some
• The degree of a relationship is the number of entities that common attributes from an entity supertype, and then add
participate in the relationship. other attributes that are unique to an instances of the subtype.
154
• An entity can be both a supertype and subtype. • A complete data model can be fit on a single sheet of paper.
SYSTEMS ANALYSIS
• Through inheritance, the concept of generalization in data Process models often require dozens of sheets of paper.
models permits the the reduction of the number of attributes • Process modelers too easily get hung up on unnecessary detail.
through the careful sharing of common attributes.
Data Modeling During Systems Analysis
• The subtypes not only inherit the attributes, but also the data • Many analysts report that data models are far superior for
types, domains, and defaults of those attributes. the following reasons: (continued)
• In addition to inheriting attributes, subtypes also inherit • Data models for existing and proposed systems are far more
relationships to other entities. similar than process models for existing and proposed systems.
The Process of Logical Data Modeling Consequently, there is less work to throw away as you move
into later phases.
Strategic Data Modeling
• A study phase model should include only entities
• Many organizations select application development
relationships, but no attributes – a context data model.
projects based on strategic information system plans.
• Strategic planning is a separate project.
• The intent is to refine the understanding of scope; not to get
into details about the entities and business rules.
• This project produces an information systems strategy plan
• The definition phase data model will be constructed in at
that defines an overall vision and architecture for information
least two stages:
systems.
• Almost always, the architecture includes an enterprise data • A key-based data model will be drawn.
model. • This model will eliminate non-specific relationships, add
• An enterprise data model typically identifies only the most associative entities, include primary, alternate keys, and foreign
fundamental of entities. keys, plus precise cardinalities and any generalization hierarchies.
• A fully attributed data model will be constructed.
• The entities are typically defined (as in a dictionary) but they are
not described in terms of keys or attributes. • The fully attributed model includes all remaining descriptive
attributes and subsetting criteria.
• The enterprise data model may or may not include
relationships (depending on the planning methodology’s • Each attribute is defined in the repository with data types,
standards and the level of detail desired by executive domains, and defaults.
management). • The completed data model represents all of the business
• If relationships are included, many of them will be non-specific. requirements for a system’s database.
Looking Ahead to Systems Configuration and
• The enterprise data model is usually stored in a corporate
Design
repository.
• The logical data model from systems analysis describes
Data Modeling During Systems Analysis business data requirements, not technical solutions.
• The data model for a single system or application is usually
• The purpose of the configuration phase is to determine
called an application data model.
the best way to implement those requirements with
• Logical data models have a Data focus and a System database technology.
User perspective.
• During system design, the logical data model will be
• Logical data models are typically constructed as transformed into a physical data model (called a database
deliverables of the study and definition phases of a schema) for the chosen database management system.
project.
• This model will reflect the technical capabilities and limitations
• Logical data models are not concerned with of that database technology, as well as the performance tuning
implementation details or technology, they may be requirements suggested by the database administrator.
constructed (through reverse engineering) from existing • The physical data model will also be analyzed for adaptability
databases. and flexibility through a process called normalization.
• Data models are rarely constructed during the survey phase
Fact-Finding and Information Gathering for Data
of systems analysis.
Modeling
• Data modeling is rarely associated with the study phase
• Data models cannot be constructed without appropriate
of systems analysis. Most analysts prefer to draw process
facts and information as supplied by the user community.
models to document the current system.
• Many analysts report that data models are far superior for the • These facts can be collected by a number of techniques such as
following reasons: sampling of existing forms and files; research of similar systems;
surveys of users and management; and interviews of users
• Data models help analysts to quickly identify business and management.
vocabulary more completely than process models.
• The fastest method of collecting facts and information, and
• Data models are almost always built more quickly than process simultaneously constructing and verifying the data models is
models. Joint Application Development (JAD).
155
Computer-Aided Systems Engineering (CASE) for careful approach is more important. However, for simple systems,
SYSTEMS ANALYSIS
Data Modeling it is not necessary to go through all the listed steps. Experienced
• Data models are stored in the repository. analysts need to have their own assessment of the complexity of
the system in every specific case.
• In a sense, the data model is metadata – that is, data about the
business’ data. Identifying attributes
• Computer-aided systems engineering (CASE) technology, In order to identify all the details of attributes of entities necessary
provides the repository for storing the data model and its for the system, an analyst can rely on the following resources:
detailed descriptions. · Interviewing users; (for example, what information the
• Using a CASE product, you can easily create professional, system has to store to control magazines in a library);
readable data models without the use of paper, pencil, erasers, · Examining report forms and other documents frequently
and templates. used in the field under question;
• The models can be easily modified to reflect corrections and · Based on analysts’ experience and knowledge in the field
changes suggested by end-users. under question, estimation or intuitional identification of
• Most CASE products provide powerful analytical tools that attributes is formed.
can check your models for mechanical errors, completeness, As thus, for every type of entity in the data model, analysts will
and consistency have to provide a list of projected attributes. At first, a number of
• All Case products support not all data model attributes can be seen as belonging to many entities, but they need
conventions. to be put in suitable lists. This issue will be studied at a later stage
of the process with the help of normalization techniques.
• It is very likely that any given CASE product may force the
company to adapt their methodology’s data modeling symbols In the example of library management system, professional rule
or approach so that it is workable within the limitations of analysis gives the following outcomes:
their CASE tool. 1. The library manages two main kinds of document books and
magazines.
Strengthening of information structure -
relationship model 2. Each book has a distinct number (for example FV9550). In
case there are more than one book with the same book name,
This part discusses detailed analysis of system information to
they still have distinct book numbers, because they may be
confirm and develop the approach discussed earlier. This part will
received at different times, from different suppliers, and the
also discuss techniques including normalization to create a well-
librarian cannot be sure whether that book was in the library or
structured model.
not.
In this methodology, relationship model is used as a data modeling
The way of building distinct number for a book depends on its
process in order to test, improve and expand the constructed data
language (exactly on 3 systems of language: Latin (F), Slav (S), and
model. Relationship model defines a list of all the attributes to
Vietnamese (VN)); size of that book (divide into 3 sides: Large
every table of entity of the data model. Depending on the
(L); Medium (V); and Small (N)), and on the number of books
supporting tool that analysts use, the attributes form a unique
on the library. For example: with number FV9550, if the book is
name of the table marked as a key attribute.
written in English (Latin language), the size of the book is Medium
The process of creating a relationship model and using it to test (V), and there were 9549 books in the library.
data model, includes the following main steps:
All information about books is stored in a book table, which
1. Define the necessary attributes in the to-be-built system; includes a list of attributes:
2. Define the type of entity suitable to attributes to limit copying
and data redundancy (normalization technique);
3. Define the potential relationships within the lists of established
attributes for every entity by choosing linking attributes. All
linking attributes express the multiple of the one - multiple
relationship;
4. With known attributes, types of entity and relationship, it is
possible to construct a scheme similar to intuition data model.
Based on this, a model with the most suitable features is
selected.
5. After the selection of a data model with the best form to
perform system requirements, comes the estimation of the
quantity of entity for every table via relationship normalization
and this is also done through model.
Despite the possibly time-consuming nature of the
implementation of the above steps, efficiency brought over by a
156
5. The library manages readers as follows: In the Institute, there
SYSTEMS ANALYSIS
List of attributes Type of Comment are many departments, sub-departments, and in each
attributes
BOOK_NO Character Number of the book (must have) department, there are also many staffs who are readers of the
BOOK_NAME Character Name of the book (must have)
BOOK_VOL Number Volume of book (may have) library.
SIZE Character Size of the book (must have)
TIME_PUBL Number Publish time (may have) When a new staff wants to become a reader of the library, a
YEAR_PUBL Number Publish year (may have) librarian will check if the department (which the staff is working
PUB_HOUSE Character Publish house (may have)
COST Number Cost of the book (may have) in) is in the list of institute departments or not. If it is not, firstly,
AUTHOR Character Author(s) (must have) the librarian has to register that new department, and then register
CHIEF_AUTH Character Chief author (may have)
COMP_AUTH Character Compiler author (may have) the number of staff, this number will be the reader_number and
REV_AUTH Character Revise author (may have)
LANG_NO Character Language number(ISO) (must will be given back to the staff.
LANG_NAME Character have)
LANG_VN Character Language name(ISO) (must have) 6. When a reader wants to borrow a document, he (or she) has to
LANG_SYS Character Language name(in VN) (must look up the number of that document on the library cards
NATION_NO Character have)
NATION_NAME Character Language system(ISO) (must (depend on the finding fields), then he (or she) has to write the
NATION_VN Character have) number of document if it is a book, or the number of
SPEC_NO Character National number(ISO) (must
SPEC_NAME Character have) document and its volume (year, month, number), if it is a
COLL_NO Character National name(ISO) (must have)
COLL_NAME Character National name(in VN) (must magazine, down in a Borrowing ticket. And then he (or she)
KW_MASTER Character have) asks the librarian for borrowing that document. All information
KW_SLAVE Character Speciality number (must have)
COMMENT Character Speciality name (must have) in the borrowing ticket is stored in a borrowing/returning
Collection number (must have) ticket table which includes a list of attributes:
Collection name (must have)
Master Keyword (may have)
Slave Keyword (may have) If the document is a book
Comment (may have)
List of attributes Type of Comment RETURN_DATE Date The date that has to return
attributes
(may have)
MAG_HEAD_NO Character Magazine header number (must have)
MAG_DETL_NO Character Magazine detail number (must have) COMMENT Character
MAG_NAME Character Magazine name (must have) Comment
START_YEAR Number Having since (must have)
MAG_SHEFL Character Where put magazine in Lib(must have)
ISSN_NO Character ISSN number (may have)
PUB_HOUSE Number Publish house
LANG_NO Character Language number(ISO) (must have)
LANG_NAME Character Language name(ISO) (must have)
LANG_VN Character Language name(in VN) (must have)
LANG_SYS Character Language system(ISO) (must have)
NATION_NO Character National number(ISO) (must have)
NATION_NAME Character National name(ISO) (must have)
NATION_VN Character National name(in VN) (must have)
SPEC_NO Character Speciality number (must have)
SPEC_NAME Character Speciality name (must have)
COLL_NO Character Collection number (must have)
COLL_NAME Character Collection name (must have)
YEAR Number Year of volume (may have)
VOLUME Number volume (may have)
NUMBER Number number of volume (may have)
MONTH Number month of volume (may have)
QUANTITY Number quantity of volume (may have)
COMMENT Character comment about volume (may have)
157
If the document is a magazine Bennett, Simon
SYSTEMS ANALYSIS
158
SYSTEMS ANALYSIS
LESSON 34 :
NORMALIZATION
159
3NF is often reached in practice by inspection, in a single step. Its the other attributes are dependent on this key, so this table has
SYSTEMS ANALYSIS
meaning seems intuitively clear; it represents a formalization of been in the second normal form. The Lang_Name (language
designer’s common sense. This level of normalization is widely name), the Lang_Vn (language name in Vietnamese) and the
accepted as the initial target for a design which eliminates Lang_Sys (language system) are only dependent on one attribute:
redundancy. the Lang_No, so we have to normalize them to the third normal
The characteristic of 3NF is the removal of non-key attribute. form. Similarly with the Nation_Name , the Nation_VN depends
This means that attributes dependent on non-key attribute will on only one attribute: the Nation_No; the Spec_Name depends
be removed from the list of entities and make up a new key entity on only one attribute: the Spec_No; the Coll _Name depends on
type, which is the said, removed non-key attribute. only one attribute: the Coll _No. We have the following table: (the
attribute underlined is the primary key).
In fact, there are cases where 2 or more 3NF tables of a list of
attributes of all entities are put together into one table, the merged
table is still 2NF. This is not surprising because the merged table
may contain a group of non-key attributes, which had never been List of attributes 1NF 2NF 3NF
considered together, and they may contain one non-key dependency. BOOK_NO BOOK_NO BOOK_NO BOOK_NO
BOOK_NAME BOOK_NAME BOOK_NAME BOOK_NAME
Thus, after grouping the tables together, it’s necessary to take SIZE SIZE SIZE SIZE
3NF. TIME_PUBL TIME_PUBL TIME_PUBL TIME_PUBL
YEAR_PUBL YEAR_PUBL YEAR_PUBL YEAR_PUBL
In fact, there are some other normal forms that are not widely PUB_HOUSE PUB_HOUSE PUB_HOUSE PUB_HOUSE
used. In system analysis, analysts often use a table in 3NF. COST COST COST COST
AUTHOR AUTHOR AUTHOR AUTHOR
To finish the normalization, analyst must double-check the CHIEF_AUTH CHIEF_AUTH CHIEF_AUTH CHIEF_AUTH
COMP_AUTH COMP_AUTH COMP_AUTH COMP_AUTH
following points:
REV_AUTH REV_AUTH REV_AUTH REV_AUTH
• Is each entity in 0NF, 1NF, 2NF or 3NF? LANG_NO LANG_NO LANG_NO LANG_NO
LANG_NAME LANG_NAME LANG_NAME NATION_NO
• Check optionality of relationships. LANG_VN LANG_VN LANG_VN SPEC_NO
LANG_SYS LANG_SYS LANG_SYS COLL _NO
• Make sure that no two entities have the same unique identifier NATION_NO NATION_NO NATION_NO KW_MASTER
i.e., they are the same thing. NATION_NAME NATION_NA NATION_NA KW_SLAVE
NATION_VN ME ME COMMENT
• Remove “attributes” which are really M to 1 relationships. In SPEC_NO NATION_VN NATION_VN
short, to normalize, analysts must finish the following steps: SPEC_NAME SPEC_NO SPEC_NO LANG_NO
COLL_NO SPEC_NAME SPEC_NAME LANG_NAME
• Create a list of data items. COLL_NAME COLL_NO COLL _NO LANG_VN
KW_MASTER COLL _NAME COLL _NAME LANG_SYS
• Identify derived items. KW_SLAVE KW_MASTER KW_MASTER
COMMENT KW_SLAVE KW_SLAVE NATION_NO
• Choose a unique identifier (a “key”). COMMENT COMMENT NATION_NA
ME
• Remove repeating groups for that key (and copy across original NATION_VN
key).
SPEC_NO
• Remove “part - key” dependencies (and copy across that part SPEC_NAME
of the original key).
COLL _NO
• Remove non-key dependencies. COLL _NAME
• Bring together data items with the same key.
When a list of entities does not reach any of the above normal
forms, it is necessary to remove one or more attributes inside it,
and create more entities to replace. This means that analysts can
start with a list of planned attributes for an entity type, after going
through the 3 normal forms, (s)he can decide to give some of the
attributes in the list to other types of entity.
At the end of the normalization, the analyst has not only original
entity but also newly defined entity and they all have been fully
normalization.
In the example of library management system, the
normalization process is as follows
It is clear that any book or magazine must be published in a
language but one language can be used in different documents,
thus the relationship between book or magazine with language is
a one – many relationship. The same one – many relationship is
seen between a document and publishing country...
Firstly, we start with the book table: As we see , the book table has
no repeating group and has only one primary key: Book_No, all
160
Secondly, we normalize the reader table with its
SYSTEMS ANALYSIS
attributes and have this table
List of attributes 1NF 2NF 3NF
MAG_HEAD_NO MAG_HEAD_NO MAG_HEAD_NO MAG_HEAD_NO
List of attributes 1NF 2NF 3NF MAG_DETL_NO MAG_NAME MAG_NAME MAG_NAME
READER_NO READER_NO READER_NO READER_NO MAG_NAME START_YEAR START_YEAR START_YEAR
START_YEAR MAG_SHEFL MAG_SHEFL MAG_SHEFL
READER_NAME READER_NAME READER_NAME READER_NAME MAG_SHEFL ISSN_NO ISSN_NO ISSN_NO
ISSN_NO PUB_HOUSE PUB_HOUSE PUB_HOUSE
PUB_HOUSE LANG_NO LANG_NO LANG_NO
ADDRESS ADDRESS ADDRESS DEPT_NO
LANG_NO LANG_NAME LANG_NAME NATION_NO
LANG_NAME LANG_VN LANG_VN SPEC_NO
BIRTH_DATE BIRTH_DATE BIRTH_DATE ADDRESS LANG_VN LANG_SYS LANG_SYS COLL_NO
LANG_SYS NATION_NO NATION_NO COMMENT
DEPT_NO DEPT_NO DEPT_NO BIRTH_DATE NATION_NO NATION_NAME NATION_NAME
NATION_NAME NATION_VN NATION_VN LANG_NO
DEPT_NAME DEPT_NAME DEPT_NAME COMMENT NATION_VN SPEC_NO SPEC_NO LANG_NAME
SPEC_NO SPEC_NAME SPEC_NAME LANG_VN
COMMENT COMMENT COMMENT SPEC_NAME COLL_NO COLL_NO LANG_SYS
COLL_NO COLL_NAME COLL_NAME
DEPT_NO COLL_NAME COMMENT COMMENT NATION_NO
YEAR NATION_NAME
DEPT_NAME VOLUME MAG_HEAD_NO MAG_HEAD_NO NATION_VN
NUMBER MAG_DETL_NO MAG_DETL_NO
MONTH YEAR YEAR SPEC_NO
QUANTITY VOLUME VOLUME SPEC_NAME
COMMENT NUMBER NUMBER
MONTH MONTH COLL_NO
QUANTITY QUANTITY COLL_NAME
Thirdly, we normalize the book ticket_L&GB table
MAG_HEAD_NO
with its attributes MAG_DETL_NO
YEAR
VOLUME
NUMBER
MONTH
List of attributes 1NF 2NF 3NF
QUANTITY
READER_NO READER_NO READER_NO READER_NO
BOOK_NAME BOOK_NAME RETURN_DATE RETURN_DATE And the magazine ticket_L&GB table with its
attributes
BORROW_DATE BORROW_DATE COMMENT COMMENT
RETURN_DATE RETURN_DATE
161
References:
SYSTEMS ANALYSIS
Heuring, Vincent P.
Computer systems Design and Architecture
Delhi : Pearson Education Asia, 1997
Whitten, Jeffrey L.
Systems Analysis and Design methods
5th ed. New Delhi : Galgotia Publications, 2001
Shelly, Gary B.
Systems Analysis and design
3rd ed. New Delhi : Galgotia Publications, 1999
Bennett, Simon
Object-oriented systems Analysis and
Design using UML
2nd ed. New Delhi : McGraw Hill Book, 2002
Booch, Grady
Object-Oriented Analysis and
Design : with applications
2nd ed. Reading : Addison-Wesley Publishing, 2000
Hoffer, Jeffrey A.
Modern systems Analysis and Design
2nd ed. Delhi : Pearson Education Asia, 2000
Kain, Richard Y.
Advanced computer Architecture :
a systems Design Approch
New Delhi : Prentice Hall of India, 1996
Sima, Dezso
Advanced computer Architectures :
a Design space Approch
Delhi : Pearson Education Asia, 1997
Sarkar, A.K.
Systems Analysis, Data processing and
Quantitative Techniques
New Delhi : Galgotia Publications, 1997
Hawryszkiewycz, Igor
Introduction to systems Analysis & Design
4th ed. New Delhi : Prentice Hall of India, 2002
Awad, Elias M.
Systems analysis and design
New Delhi : Galgotia Publications, 1997
Notes
162
SYSTEMS ANALYSIS
LESSON 35 :
INFORMATION ANALYSIS
163
Dictionary has, right in the first place, give clear objectives of the seminar, fix
SYSTEMS ANALYSIS
With the development of Information Technology and the time slot for presenters and direct all the comments to the set
generation of professional software, data dictionary is becoming objectives.
more popular and important to those who is interested in system Secretary: who is responsible for taking notes of all the comments
development. and may be asked to summarize the discussed points. All decisions
Data dictionaries differ due to the different defining standards, made during the seminar must be noted down carefully.
different software and hardware environments, or different users. Presenters: who are responsible for making presentations as
However, regardless of different methodologies, data dictionaries approved by the coordinator. While presenting, make sure to give
must present simple explanations, the manner to record process’s everyone discussion opportunities. Don’t try to protect what you
names, the storage manner and how to search for detail have done. Consider other people including users attending the
information of the system. seminar are those who help analysts make clear of their own
This means a Data Diagram describes the data flows in a Data requirements. Any interviewers are expected to give constructive
Flow Diagram, the structure of data packages in flowing motion comments which can be a hint, a confirmation, an idea from the
as well as the data packages in storage. It also means the specification users’ perspective or just a clarification of requirements.
of value and unit of information inside the data flow and data
Summary of analysis process
storage, the specification of the information relationships between
This material has described in detail the tools and techniques that
storage inside the entity relationship diagram
are used to complete system analysis and give a requirement
The best way to develop a Data Diagram is to use automatic specification to users to review and approve. This specification is
means (professional programs for data dictionary development) also the main source of information for the new system designers.
to enter the dictionary’s entries, and to check the accuracy and It not only explains the system’s objectives but also gives a scale
suitability of the data put into the system. In case there is not an and limitations with which designers have to comply.
automatic means, analysts should use the traditional word
Thus, at the end of the system analysis phase, analysts have to
processing system to develop a text file for the data dictionary’s
give adequate material of system requirement specification which
entries
has been approved by users. The material should the name
In short, data dictionary development is very essential and time objectives, supporting tools and methods to do the following
consuming in system analysis, without it, the analysis outcomes things:
may become meaningless
Contents and scale of system analysis
Seminar Summary of management work
The seminar technique is a meeting where analysts present their Function diagram
work in different phases. It gives discussion opportunities to
users and the system development team (including analysts, Data flow diagram
designer and programmer) to improve shortcomings in the system Data model
before it is really approved. Presenters must prepare their Relationship model
presentation very carefully and talk about it in a simple, clear and Process description
short way.
Data dictionary
They also have to be aware that this is not a scientific seminar, and
that everything they present must be made easy to understand by The result of this phase is the 3 important diagrams: the Function
the users. The key to success of the seminar is the behavior of Hierarchy Diagram, the Data Flow Diagram, and the Entity
seminar attendees themselves: any criticism, comments shouldn’t Relationship Diagram. These diagrams are very important, we
be directed to any individual who owns the matter under cannot continue without them during the system building process.
discussion, they should be directed to the common work. They are inputs for the next phase: System Design.
Thus, seminar attendees are not expected to re-design the models Questions
(in their own opinions), they are expected to point out the weak Describe Structured Analysis. List certain tools of Structured
points and irrelevant parts and give suggestions to analysts for Analysis.
them to improve those parts. The Claremont school course catalog reads as follows: “ To enroll
In case there are serious mistakes, analysts should be asked to in CIS 288 which is an advanced course , a student must complete
submit it again after successfully correcting the mistakes. After all two prerequisites –CIS 110 and CIS 286. A student who completes
models have been tested and approved, system development either one of the prerequisites and obtains the instructor’s
teams should sign approve and consider the approved models a permission, however , will be allowed to take CIS 288.”
sound foundation for the following development steps. (i) Create a decision table that describes the Claremont School
In each seminar, attendees have to agree to the following roles: course regarding eligibility for CIS 288. Show all the possible
rules.
Coordinator: who is responsible for organizing the seminar;
sending seminar invitations and hand-outs to attendees and give (ii) Draw a decision tree to represent the Claremont School catalog.
them enough time to think of the issues that will be discussed in Describe the results.
the seminar. For the best outcome of the seminar, the coordinator (iii) Why might you use a decision tree rather than a decision table?
164
City Bus Lines is developing an information system that will References
monitor passenger traffic, peak travel hours and equipments Heuring, Vincent P.
requirements. The IT manager wants you to document a process Computer systems Design and Architecture
that will determine if extra buses are needed on a route and
Delhi : Pearson Education Asia, 1997
automatically assign them if all other routes are operating on
schedule. During peak periods, however a dispatcher will be Whitten, Jeffrey L.
allowed to override the system and shift buses from one route to Systems analysis and Design Methods
another. 5th ed. New Delhi : Galgotia Publications, 2001
(i) Create a decision table that describes the bus transfer process Shelly, Gary B.
(ii) Draw a decision tree that describes bus transfer process. Systems Analysis and Design
(iii) Name four attributes that u can use to define a data flow in the 3rd ed. New Delhi : Galgotia Publications, 1999
bus information system Bennett, Simon
(iv) Name four attributes that u can use to define a data store in Object-Oriented systems Analysis and
the bus information system design using UML
The Claremont school course catalog reads as follows: “ To enroll 2nd ed. New Delhi : McGraw Hill Book, 2002
in CIS 288 which is an advanced course , a student must complete Booch, Grady
two prerequisites –CIS 110 and CIS 286. A student who completes Object-oriented analysis and
either one of the prerequisites and obtains the instructor’s design : with applications
permission, however , will be allowed to take CIS 288.”
2nd ed. Reading : Addison-Wesley Publishing, 2000
(i) Create a decision table that describes the Claremont School
Hoffer, Jeffrey A.
course regarding eligibility for CIS 288. Show all the possible
Modern systems analysis and design
rules.
2nd ed. Delhi : Pearson Education Asia, 2000
(ii) Draw a decision tree to represent the Claremont School catalog.
Describe the results. Kain, Richard Y.
Advanced computer architecture :
(iii) Why might you use a decision tree rather than a decision table?
a systems design approch
State the difference between System design and New Delhi : Prentice Hall of India, 1996
Detailed design.
Sima, Dezso
1. What is structured design? Advanced computer architectures :
2. How do system analysis and design relate to each other? a design space approch
3. What are the main phases of the design process? Delhi : Pearson Education Asia, 1997
4. What are the main tools and design techniques? Sarkar, A.K.
5. What is logical design and its main tasks? Systems analysis, data processing and
6. What is physical design and its main tasks? Quantitative techniques
7. How do you distinguish between logical design and physical New Delhi : Galgotia Publications, 1997
design? Hawryszkiewycz, Igor
8. Why do you need to identify the borderline of the computer Introduction to systems analysis & design
system in the system DFD? How do you present them in the 4th ed. New Delhi : Prentice Hall of India, 2002
model?
Awad, Elias M.
9. What are the main components of computer-user interface Systems analysis and design
design?
New Delhi : Galgotia Publications, 1997
10. Why is it necessary to design system monitoring?
11. How do you organize the system’s components?
12. What are the main modeling tool and techniques?
13. What are the tools used in data usage analysis?
14. What is navigation model and its purpose?
15. What are the main components of a database and the role of
each component?
“The lesson content has been compiled from various sources in public domain including but not limited to the
internet for the convenience of the users. The university has no proprietary right on the same.”