A INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN - Topic 1
A INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN - Topic 1
1
iii) Boundary and interfaces – boundaries are the limits that identify the system’s
components, processes and interrelationships when it interacts with other systems. For
instance, a teller system in the bank is confined to the deposits, withdrawals and related
customer activities such as checking and saving accounts. It may exclude mortgage
foreclosures, trust activities etc., which may be processed by the ‘mortgage loan system’.
Since entities in the environment lie outside the boundary of the system, then how does a
system interact with its environmental entities? In order to interact with external entities,
the boundary needs to have certain points – interfaces- where interaction takes place.
Therefore, interfaces are points of interactions between the system and the environment.
NB: it is crucial to understand the boundaries of a system so as to determine the nature of
its interface with other systems as well as outside world.
iv) Environment – this element forms the supra-system (overall system) within which an
organization functions. It is the source of external elements that make an impact on the
system. Actually, it often determines how a system must operate. Environment defines
everything that interacts with the system elements.
v) Constraints/controls – these are the elements that regulate the system operation. They
may include policies, specifications, standards, and regulations etc., which constitute
decision-making subsystem that controls activities related to input, processing and output.
In a computer system, the operating system and associated software affect the working of
the system. Output specifications decide what and how much input is required to keep the
system in balance. Constraints/controls limits (in terms of speed, capacity, or capabilities)
to what extent a system can do and how much it can achieve its purpose within its
environment. They can be imposed inside the system (e.g., number of available staff) or
by environment (e.g., due dates, regulations etc.).
vi) Purpose – this is the key objective (s) that a system must fulfill to the intended user.
Consider Human Body as a natural system. Its elements can be summarized as shown in the
table 1.1 below.
System Subsystems Interfaces Environment Input Output
Human Nervous system Skin, Hair Atmosphere Oxygen Energy
Body Digestive system Ear, Nose Water Waste
Respiratory Mouth Foods products
system etc. etc. Carbon
2
etc. dioxide
etc.
Table 1. 1: Human Body as a natural system
Exercise: Students to identify some natural and man-made systems, then identify the parts of
such systems
1.1.3 Types of Systems
Systems have been classified in many different ways. Common classifications are:
Physical or Abstract Systems
Open or Closed Systems
Natural or Man-made Systems
Physical or Abstract Systems
Physical systems are concrete entities that may be static or dynamic in operation. For example,
the tables and chairs in a computer center that facilitate its operation form the static entities of
the computer system because they can be seen and counted. Data, programs, outputs and
applications in a computer system change with user demand or priority of the information
requests. Such entities form dynamic entities of a computer system.
Abstract systems, on the other hand, are conceptual or non-physical entities. They may be as
simple as formulas of relationship between sets of variables, or models that represent a physical
situation.
Open or Closed Systems
This classification is based on the extent of system independence. A system interacts with its
environment through the interfaces located on the boundary. A system is said to be an open
3
system if there exists interaction between the system and its environment. If there is no
interaction of the system with its environment, the system is said to be a closed system. It is
nearly impossible to have a closed system because a system needs to interact with its
environment and in system analysis almost all systems are open systems, which get affected by
their environment.
Natural or Man-Made Systems
Natural systems are products of evolution whereas man-made systems have been created by
human beings to satisfy their specific needs. Man-made systems mimic natural systems.
Computer-based systems/information systems fall under the man-made systems. They process
information to produce desired information as output.
General classification of computer-based systems
So far we have been talking about information systems in generic terms, but there are actually
several different classes of information systems. These classes are distinguished from each other
on the basis of what the system does or the technology used to construct the system. There are at
least four classes of information systems:
Transaction Processing System (TPS) – automate the handling of data about business activities
or transactions, which can be thought of as simple, discrete events in the life of an organization.
Data about each transaction are captured, transaction verified and accepted or rejected, and
validated transactions are stored for later aggregation. To analyze and design TPS one must
focus on the firm’s current procedures for transaction processing, whether manual or automated.
This calls for careful tracking of data capture, flow, processing, and output. The goal of TPS
development is to improve transaction processing by speeding them up, using fewer people,
improving efficiency and accuracy, integrating it with other information systems, or providing
information not previously available.
Management Information System (MIS) - takes the relatively raw data available through a TPS
and converts them into a meaningful aggregated form that managers need to conduct their
responsibilities. To analyze and design such a system, one must have a good understanding of
what kind of information managers require and how they use the information in their jobs.
Decision Support Systems (DSS) – they are solely meant to help organization decision makers
make decision. Unlike MIS that provides summaries of data, DSS provides an interactive
environment in which decision makers can quickly manipulate data and models of business
4
operations. To analyze and design such system, one must concentrate on its DSS components
that include database, model base and the user dialogue.
Expert Systems (ES) – it attempts to codify and manipulate knowledge rather than information.
Knowledge representations describe the way expert approach situations in a specific problem
domain. To analyze and design such system one must acquire knowledge of the expert in the
particular problem domain.
1.1.4 Characteristics of a System
All types of systems have some fundamental characteristics. The common system characteristics
are:
Interdependence – components or subsystems depend on one another in a system. They
are coordinated and linked together according to a plan. One subsystem depends on the
input of another subsystem for proper functioning; meaning that, the output of one
subsystem is the required input for another subsystem. This interdependence is crucial in
systems functionality.
Organization (order) – this refers to the arrangement of components that helps to
achieve objectives. It portrays system-subsystem relationship. For instance, an
organization defines the authority structure specifying the formal flow of communication
and the chain of command. Similarly, a computer system contains input, processing,
output and storage devices that are organized in some order to produce information.
Integration - this is concerned with how a system is tied together. It means that parts of a
system work together within the system even though each part performs a unique
function. Successful integration will typically produce a synergistic effect and greater
total impact than if each component works separately.
Central objective- this is the overall goal(s) for whose achievement the system has been
created. Systems are basically goal-driven entities and every system must have some
goals and objectives.
Interaction – this refers to the procedure in which each subsystem works with other
subsystems of the system. For instance, main memory holds programs and data that the
arithmetic unit uses for computation. The interrelationship between these components
enables a system to perform.
Systems development can generally be thought of as having two major components: System
analysis and System design.
System Analysis – is the process of collecting factual data, understand the process
involved, identifying problems and recommending feasible suggestions for improving the
system functioning. This involves studying the business processes, gathering operational
5
data, understand the information flow, finding out bottlenecks and evolving solutions for
overcoming the weaknesses of the system so as to achieve the organizational goals.
System design – is the process of specifying the new system. It involves detailing the
tasks to be carried out and the data to be input, output and stored on files. Initially a
logical design is produced, specifying the functions to be carried out by the new system
without tying these down to specific hardware or software. Then a physical design is
produced, giving precise details of hardware, software, file formats etc.
6
how different notations for representing, or modeling various aspects information
systems work.
Management skills – analyst must know how to manage their work and how to use
organizational resources in the most productive ways possible. They must demonstrate
resource, project, risk, and change management skills.
Interpersonal skills – since the analyst works in technical area of designing and building
computer-based information systems, he/she must work extensively with all types of
people. He therefore needs interpersonal skills that include communication skills, groups’
facilitation skills, and skills to manage expectations of users and managers.
1.1.6.2. Roles of System Analyst
System analysts play different roles in system development. The most critical roles needed for
successful implementation of a system are:
Business analysis- this role focuses on the business issues surrounding the system. This
person helps to identify the business value that the system will create, develops ideas for
improving the business processes, and helps design new business processes and policies.
Requirements elicitation - this role focuses on eliciting the requirements from the
stakeholders associated with the new system. As more organizations recognize the critical
role that complete and accurate requirements play in the ultimate success of the system,
this specialty has gradually evolved. Requirements analysts understand the business well,
are excellent communicators, and are highly skilled in an array of requirements elicitation
techniques.
Infrastructure analysis- this role focuses on technical issues surrounding the ways the
system will interact with the organization’s technical infrastructure (hardware, software,
networks, and databases). This person ensures that the new information system conforms
to organizational standards and helps to identify infrastructure changes that will be
needed to support the system.
Change management – this role focuses on the people and management issues
surrounding the system installation. This person ensures that adequate documentation and
support are available to users, provides user training on the new system, and develops
strategies to overcome resistance to change.
Project manager - this role ensures that the project is completed on time and within
budget and that the system delivers the expected value to the organization. The project
manager is often a seasoned systems analyst who, through training and experience, has
acquired specialized project management knowhow.
7
Like many processes, the development of information systems often follows a life cycle. It is
beneficial to use a standard set of steps, called software development methodology, to develop
and support information systems. The system development life cycle (SDLC) is a common
methodology for systems development that features several phases that mark the progress of the
system analysis and design effort.
Although any life cycle appears at first to be a sequentially ordered set of phases, it is actually
not. The specific steps and their sequence are meant to be adapted as required for a project and
consistency with management approaches. In SDLC, it is possible to complete some activities in
one phase in parallel with some activities of another phase. Similarly, it is also possible that life
cycle is iterative: that is, phases are repeated as required until an acceptable system is found.
Generally, SDLC can be said to be an orderly set of activities conducted and planned for each
project development.
Project Identification
and Selection
Project Initiation
and Planning
Analysis
Design
Implementation
Maintenance
Sometimes this presentation is referred to as waterfall model. Each phase has specific outcomes
and deliverables that feed important information to other phases. At the end of each phase (and
sometimes within phases for intermediate steps), a project reaches a milestone and, as
deliverables are produced, they are often reviewed by parties outside the project team.
Each phase of SDLC can be described briefly as follows:
i. Project Identification and selection
8
This is the first phase of SDLC where the need for a new or enhanced system is identified. This
need is examined and projects to meet this need are identified. These needs result from requests
to deal with problems in current procedures, desire to perform additional tasks, or from
realization that IT could be used to capitalize on an existing opportunity. These needs are then
prioritized and translated into a plan that includes a schedule for developing new major systems.
System analyst determines whether or not resources should be devoted to the development or
enhancement of system under consideration. The outcome of this phase is determination of
which system development projects should be undertaken.
ii. Project initiation and planning
This is the second phase that involves two activities: investigation of system problem or
opportunity at hand, and the presentation of reasons why the system should or should not be
developed by the organization. The scope of the proposed system is determined and a specific
plan to be followed by the project team is produced. The baseline is to specify the time and
resources needed for the execution of the system. This forms the likelihood that system analyst
and IS department will develop a system that will solve the problem or exploit the opportunity
and also determine whether the costs of developing the system outweighs the benefits it could
provide.
iii. Analysis
In this phase, the analysts thoroughly studies the current procedures of the business and the
information system used to perform those tasks for the following reasons:
i) Requirement determination – determine what users want from the proposed system. This
involves careful scrutiny of current systems, manual or computerized, that will be
replaced or enhanced.
ii) Studying the requirements and structuring them according to their interrelationships, and
eliminating any redundancy.
iii) Generating alternative initial designs that match the requirements
iv) Comparing the generated alternative designs to determine the one that best meets the
requirements within the cost, labor and technical levels of the organization.
The output of this phase is a description of (but not a detailed design for) the alternative solution
recommended by the analysis team.
iv. Design
9
In this phase, the description of the recommended alternative solution is converted into logical
and then physical system specifications. All aspects of the system, from input and output screens
to reports, databases and computer processes must be designed. This is followed by provision of
physical specifications of the designed system, either as a model or as a detailed documentation,
to guide those who will build the system.
The part of the design that is independent of any specific hardware or software platform is
referred to as logical design. It concentrates on the business aspects of the system and tends to be
oriented to a high level specificity. Once the overall high-level design of the system is worked
out, they are turned into physical specifications, a process referred to as physical design.
Various parts of the system to perform the physical operations necessary to facilitate data
capture, processing, and information output is designed.
v. Implementation
In this phase, system specifications are turned into a working system that is tested and then put
into use. Implementation includes coding, testing and installation. During coding, programmers
write the programs that make up the system. During testing, programmers and analysts test
individual programs and the entire system in order to find and correct errors. During installation,
the new system becomes a part of the daily activities of the organization where system is loaded
on new or existing hardware and users are introduced into the new system and trained.
vi. Maintenance
This is the final phase which is the overlay to the life cycle. Sometimes users find problems with
how system works and often think of better ways to perform its tasks. Programmers make
changes that users ask for and modify system to reflect changing business needs. These changes
are necessary to keep the system running and useful.
1.3 System Development Methodologies
Many options exist for analyzing and designing information systems, but the most popular
methodologies are structured system analysis and design, object-oriented analysis and
design, and agile/adaptive methods.
1.3.1. Structured System Analysis and Design
This is a system development technique that is time-tested and easy to understand. It uses a
series of phases known as SDLC which incorporates process models to describe a system
10
graphically. Process models show the data that flows in and out of system processes. It also
addresses data organization and structure, relational database design, and user interface issues.
Usually, when one phase ends, another begins when milestone has been reached. A milestone
usually took the form of some deliverables or pre-specified output from phase. Currently, it is
easier to go back to earlier phases in the life cycle when necessary. It additionally emphasizes on
partitioning or dividing a problem into smaller, more manageable units and on making clear
distinction between physical and logical design.
1.3.2. Object-Oriented Analysis and Design
This approach combines data and processes (methods) into single entities called objects. Objects
correspond to the real things an information system deals with such as customers, suppliers,
contracts, agreements etc.
The goal of OOAD is to make system elements more reusable, thus improving system quality
and productivity of system analysis and design.
Generally, the primary task of OOA is identification of objects, definition of their structures and
behavior, and definition of their relationships. OOD, on the other hand, models the details of
object’s behavior and communication with other objects so that system requirements are met,
reexamined and redefined to take advantage of benefits of object-orientation.
1.3.3. Agile/adaptive
These are the newest methods that attempt to make system development less of an art and more
of science. Rigorous engineering techniques are applied. A system is developed incrementally,
by building a series of prototypes and constantly adjusting them to user requirements. As the
agile process continues, developers revise, extend, and merge earlier versions into the final
product.
The approach emphasizes continuous feedback, and each incremental step is affected by what
was learned in the prior steps. It has attracted a wide following and an entire community of
users.
These three methodologies can be summarized as shown below.
STRUCTURED SAD OBJECT- AGILE/ADAPTIVE
ORIENTED AD METHODS
Description Represents the system in terms of View system as Stresses intense team-based
data and the processes that act upon objects that combine efforts.
that data. data and processes. Breaks development process
11
System development is organized They are more down into cycles, or iterations
into phases with deliverables and iterative. that add functionality.
milestones to measure progress. Attempts to reduce major risks by
Iteration is possible among phases. incremental steps in short
intervals.
Modeling Data flow diagrams (DFD) and Various OO diagrams Tools that enhance
Tools process descriptions that depict system communication, such as
actors, methods and collaborative software,
messages brainstorming and whiteboards.
Pros Relies heavily on written Integrates easily with Very flexible and efficient in
documentation. Frequent phase OO programming dealing with change. Stresses
iteration provides flexibility languages. Code is team interaction and reflects a set
comparable with other methods. modular and reusable, of community-based values.
Well suited to project management reducing development Frequent deliverables constantly
tools and techniques. time and cost. Easy to validate the project and reduce
maintain and expand risk.
as new objects can be
cloned using inherited
properties.
Cons Changes can be costly, especially in Interaction of objects Team members need a high level
later phases. Requirements are and classes can be of technical and communications
defined early, and can change during complex in larger skills. Lack of structure and
development. Users might not be systems. documentation can introduce risk
able to describe their needs until factors. Overall project might be
they can see examples of features subject to scope change as user
and functions. requirements change.
12