You are on page 1of 70

SYSTEMS ANALYSIS AND DESIGN

CMP 351 LECTURE NOTES 1

2021/2022 Session
Course Objectives

• To provide you with new ways of looking at information in the world in order to
solve business problems.
• To introduce you to concepts and methods of SAD.
• To describe the systems development life cycle (SDLC)
• To teach you effective methods for gathering essential information during system
analysis
• To teach you effective methods for designing systems to solve problems effectively
using technology

FUDMA, CMP351 notes 2


Course Outline
 Introduction to Systems
 System Analysis and Development fundamentals
 SDLC
 System Analyst
 System Analysis
 Requirements modelling
 Data and Process modelling (tools, techniques)
 Object modelling
 Systems development
 Methods (Top Down, bottom up, integrated)
 Models (DFD, DD, UML, CASE)
 Project management and the Unified Process.
 Physical design of computer sub-system:
 Input (User Interface Design)
 Output (forms and reports)
 Database
 System Architecture

FUDMA, CMP351 notes 3


SYSTEM, FUNDAMENTALS OF
INFORMATION SYSTEMS

FUDMA, CMP351 notes 4


Basic Concepts of Information Systems

Information technology (IT) refers to the combination of hardware, software, and services that
people use to manage, communicate, and share information. IT is driving a new digital economy,
where advances in hardware, software, and connectivity can provide enormous benefits to
businesses and individuals.

What is a System?
A System is a collection of interconnected and interrelated and interdependent components or
procedures that function together to achieve a goal/ solve a problem.
It takes input, processes it and returns an output.
The components may also be sub-systems.

FUDMA, CMP351 notes 5


Basic Concepts of Information Systems

What is an Information system?


An information system is a collection of people, procedures, software, hardware, data
and connectivity which work together to provide information which is necessary to run
an organization.

Types of Information Systems?


Information systems are developed for different purposes, depending on the needs of
human users and the business.

FUDMA, CMP351 notes 6


Reasons for developing systems

 Growth of the organisation: Expansion or desire to perform additional tasks.


 To deal with problems in current procedures.
 A change in legislation that requires organisations to develop new or adapt new systems and
processes.
 A need to reduce staffing costs.
 Greater productivity.
 Availability of new technology.

FUDMA, CMP351 notes 7


Types of Information Systems

FUDMA, CMP351 notes 8


Types of Information Systems…

1. Transaction processing systems (TPS) are computerized information systems that were developed
to process large amounts of data for routine business transactions such as payroll and inventory.
It generates data for real time information update on transactions. Example is Online Banking
System.

2. Office Automation Systems (OAS) support data workers, who do not usually create new
knowledge but rather analyze information to transform data or manipulate it in some way before
sharing it with, or formally disseminating it throughout, the organization and beyond. Examples
include word processing, spreadsheets, desktop publishing, electronic scheduling, and
communication through voice mail, email (electronic mail), and teleconferencing.

FUDMA, CMP351 notes 9


Types of Information Systems…
3. Knowledge work systems (KWS) support professional workers such as scientists, engineers,
and doctors by aiding them in their efforts to create new knowledge (often in teams) and by
allowing them to contribute it to their organization or to society at large. Examples include
AUTOCAD and Peachtree.
4. Management information systems (MIS) are computerized information systems that work
because of the purposeful interaction between people, software, and hardware. They
support users in accomplishing a broader spectrum of organizational tasks which include
transaction processing and in addition, decision analysis and decision making. They have a
common database which stores both data and models that help the user interact with,
interpret, and apply that data.

FUDMA, CMP351 notes 10


Types of Information Systems…

5. Decision Support Systems (DSS) are similar to MIS because they both depend on a database as a
source of data. A DSS emphasizes the support of decision making in all its phases (focus on
business intelligence), and is more closely tailored to the person or group using them than is a
traditional MIS.

6. Artificial Intelligence and Expert Systems (Knowledge-based System) effectively captures and
uses the knowledge of a human expert or experts for solving a particular problem experienced
in an organization. Notice that unlike DSS, which leave the ultimate judgment to the decision
maker, an expert system selects the best solution to a problem or a specific class of problems.
The basic components of an expert system are the knowledge base, an inference engine
connecting the user with the system by processing queries via languages such as structured
query language (SQL), and the user interface.

FUDMA, CMP351 notes 11


Activity 1

1. Differentiate between MIS and DSS.


2. Name and explain the functions of three Transaction Processing Systems.
3. Identify ten areas that could be developed into expert systems.

FUDMA, CMP351 notes 12


SAD, SYSTEM ANALYST, SYSTEM DEVELOPMENT LIFE CYCLE
System Analysis and Design
System Analysis is a problem-solving technique that decomposes a system into its component pieces
for the purpose of studying how well those component parts work and interact to accomplish their
purpose and proposing alternative replacements

System Design complements the analysis by reassembling a system’s component pieces (adding,
deleting, changing pieces of the original) back into a complete improved system.

FUDMA, CMP351 notes 13


Definition of System Analysis and Design

System Analysis and Design is a series of processes systematically and methodically undertaken
to improve a business through the design of computerized information systems in the context of
a particular organization or enterprise. Systems Analysis and Design is used to analyze, design, and
implement improvements to an existing system or a new system.

System Analyst

A System Analyst systematically assesses how users interact with technology and how businesses
function by examining the inputting and processing of data and the outputting of information with the
intent of improving organizational processes and services. By doing thorough analysis of a business
requirements, analysts seek to identify and solve the right problems.

FUDMA, CMP351 notes 14


Role of a System Analyst

 Consultant
 Supporting Expert (Agent of change from within)
 Plan, develop, and maintain information systems
 Manages IT projects, including tasks, resources, schedules, and costs
 Conducts meetings, delivers presentations, and writes memos, reports, and documentation.
 Build a series of models, diagrams, and decision tables and use other descriptive tools and
techniques.

FUDMA, CMP351 notes 15


Qualities/Skills of a System Analyst

 Analytical: Thinking through a problem/system logically to identify important relationships


(Problem Solver).

 Technical: To understand the potentials and limitations of a system; Understand human-computer


interaction

 Managerial: In other to manage projects, resources, risks; Team Leader;

 Interpersonal: Communicator; Self Disciplined; Self Motivated

FUDMA, CMP351 notes 16


Qualities/Skills of a System Analyst…

 Working knowledge of information technologies


 Computer programming experience and expertise
 General knowledge of business processes and terminology
 General problem-solving skills
 Good interpersonal communication skills
 Good interpersonal relations skills
 Flexibility and adaptability
 Character and ethics

FUDMA, CMP351 notes 17


System Development Life Cycle
There are several conceptual processes/techniques (organizations and authors have varying views)
for guiding a system development effort. The System Development Life Cycle (SDLC) is the most
widely used technique for designing contemporary systems.

The SDLC is a phased approach to analysis and design that holds that systems are best developed
through the use of a specific cycle of analyst and user activities.
The lifetime of a system is factored into stages of development, operation and maintenance. It is an
orderly set of activities conducted and planned for each development project.

FUDMA, CMP351 notes 18


SDLC
Different projects may emphasize different parts of the SDLC or approach the SDLC phases in different
ways, but all projects have elements of these four phases:
1. Planning and Selection
2. Analysis
3. Design
4. Implementation and Operation

FUDMA, CMP351 notes 19


FUDMA, CMP351 notes 20
Phase 1: System Planning and Selection

Two primary activities are involved in this phase:


a) Identifying a need or problem
b) Preliminary Investigation to determine the scope of
the proposed system.

FUDMA, CMP351 notes 21


Identify a need or problem

 Identify problems, opportunities and objectives


 A feasibility study is conducted to determine the economic and organizational impact of the system.
 The people involved in the first phase are the users, analysts, and systems managers coordinating
the project.
 Activities in this phase consist of interviewing user management, summarizing the knowledge
obtained, estimating the scope of the project, and documenting the results. The output of this phase
is a feasibility report containing a problem definition and summarizing the objectives.
FUDMA, CMP351 notes 22
Preliminary Investigation

 Determine human information requirements of the users.


 Use methods such as interviewing, sampling, investigating, questionnaires and observation
 Questions such as:
a. “How can the new system be designed to be easy to use, learn, and remember?”
b. “How can the system be made pleasing or even fun to use?”
c. “How can the system support a user’s individual work tasks and make them more
productive in new ways?
The output of this phase is a report detailing the work plan, specification of scope.

FUDMA, CMP351 notes 23


Phase 2: System Analysis
Analysis has several sub phases:
a) The first sub phase involves determining the requirements of the system. The analysts work
with users to determine what the users want from a proposed system. This sub phase involves
a careful study of any current systems, manual and computerized, that might be replaced or
enhanced as part of this project.
b) Next, you study the requirements and structure them according to their interrelationships,
eliminating any redundancies. As part of structuring, you generate alternative initial designs to
match the requirements.

FUDMA, CMP351 notes 24


System analysis…

 Analyzing the system needs


 System requirements/functions are determined using tools such as DFD’s to show the input,
process and output; activity or sequence diagrams to show sequence of events in the system.
 From the diagrams, a data dictionary is developed listing all the data items and their specifications.
 The output is a descriptive write up of the recommended solution/system. It is a systems proposal
that summarizes what has been found out about the users, usability, and usefulness of current
systems; provides cost-benefit analyses of alternatives; and makes recommendations

FUDMA, CMP351 notes 25


Phase 3: System Design
During systems design, the result of the analysis phase 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 are designed.

a) Logical design is not platform specific. It focuses on the functionalities of the system.

b) In physical design, you turn the logical design into physical, or technical specifications. For
example, you must convert diagrams that map the origin, flow, and processing of data in a
system into a structured systems design that can then be broken down into smaller and smaller
units for conversion to instructions written in a programming language.

FUDMA, CMP351 notes 26


During physical design, the analyst team decides which programming languages the computer
instructions will be written in, which database systems and file structures will be used for the data,
and which hardware platform, operating system, and network environment the system will run
under.

The final product of the design phase is the physical system specifications, presented in a form, such
as a diagram or written report, ready to be turned over to programmers and other system builders
for construction.

FUDMA, CMP351 notes 27


Phase 4: System Implementation and Operation
The final phase of the SDLC is a two-step process: systems implementation and operation. During
systems implementation and operation, you turn system specifications into a working system that is
tested and then put into use.

Implementation includes coding (develop the software), 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 detect possible errors. It also includes user
support (documentation and training programs, online help, FAQ’s).

Operation gives room for maintenance and enhancements/updates to the system.

FUDMA, CMP351 notes 28


FUDMA, CMP351 notes 29
Activity 2

Identify an existing system and undertake initiation and preliminary investigation on the system and
produce a report.

FUDMA, CMP351 notes 30


SYSTEM DEVELOPMENT TOOLS,
METHODOLOGIES, MODELS AND
TECHNIQUES

FUDMA, CMP351 notes 31


Organizational approach to SAD

 Tools

 Methodologies

 Techniques

FUDMA, CMP351 notes 32


System Development Tools

Tools are computer programs, that make it easy to use specific techniques to plan, design, and
implement information systems.

Some System Development tools are:


 Modelling
 Prototyping
 CASE

FUDMA, CMP351 notes 33


Modelling
Modeling produces a graphical representation of a concept or process that systems developers can
analyze, test, and modify. A systems analyst can describe and simplify an information system by using a
set of models as outlined:
 A business model, or requirements model, describes the information that a system must provide.
 A data model describes data structures and design.
 An object model describes objects, which combine data and processes.
 A network model describes the design and protocols of telecommunications links.
 A process model describes the logic that programmers use to write code modules.

FUDMA, CMP351 notes 34


Modelling…
 Although the models might appear to overlap, they actually work together to describe the same
environment from different points of view.
 Model-driven Analysis emphasizes the drawing of graphical system models to document and
validate both existing and/or proposed systems. Ultimately, the system model becomes the
blueprint for designing and constructing an improved system.
 System developers often use multipurpose charting tools such as Microsoft Visio to display business-
related models.
 Visio is a popular tool that systems analysts can use to create business process diagrams, flowcharts,
organization charts, network diagrams, floor plans, project timelines, and work flow diagrams,
among others.

FUDMA, CMP351 notes 35


Modelling…

Figure: Microsoft Visio 2010 allows you to


drag and drop various symbols and connect
them to show a business process.

FUDMA, CMP351 notes 36


Prototyping
Prototyping is the process of designing and building a scaled-down but working version of a desired
system. It tests system concepts and provides an opportunity to examine input, output, and user
interfaces before final decisions are made.
A prototype can serve as an initial model that is used as a benchmark to evaluate the finished system, or
the prototype itself can develop into the final version of the system.
A prototype can be developed with a CASE tool.

FUDMA, CMP351 notes 37


Steps to Prototyping
 The analyst works with users to determine the initial or basic requirements for the system.
 The analyst then quickly builds a prototype.
 When the prototype is completed, the users work with it and tell the analyst what they like and do
not like about it.
 The analyst uses this feedback to improve the prototype and takes the new version back to the users.
 This iterative process continues until the users are relatively satisfied with what they have seen.

FUDMA, CMP351 notes 38


Prototyping…

FUDMA, CMP351 notes 39


Prototyping…
Advantages of Prototyping
a) It involves the user in analysis and design.
b) It captures requirements in concrete, rather than verbal or abstract, form.
c) It speeds up the development process significantly.

Disadvantages of Prototyping
a) Important decisions might be made too early, before business or IT issues are understood thoroughly.

FUDMA, CMP351 notes 40


CASE
Computer-aided software/system engineering (CASE) refers to automated software tools used by
systems analysts to develop information systems. These tools can be used to automate or support
activities throughout the systems development process. CASE helps provide an engineering-type
discipline to software.
They include diagramming tools, screen and report design tools, and other special purpose tools.
CASE tools provide an overall framework for systems development and support a wide variety of design
methodologies, including structured analysis and object oriented analysis.

FUDMA, CMP351 notes 41


CASE…
The general types of CASE tools include:
 Diagramming tools that enable system process, data, and control structures to be represented
graphically.
 Computer display and report generators that help prototype how systems “look and feel” to users.
Display (or form) and report generators also make it easier for the systems analyst to identify data
requirements and relationships.
 Analysis tools that automatically check for incomplete, inconsistent, or incorrect specifications in
diagrams, forms, and reports.
 A central repository that enables the integrated storage of specifications, diagrams, reports, and
project management information.
 Documentation generators that help produce both technical and user documentation in standard
formats.
 Code generators that enable the automatic generation of program and database definition code
directly from the design documents, diagrams, forms, and reports.
FUDMA, CMP351 notes 42
CASE…

Advantages of using CASE tools:


 Because CASE tools make it easier to build an information system, they boost IT productivity and
improve the quality of the finished product.
 CASE tools help programmers and analysts do their jobs efficiently and effectively by automating
routine tasks.

Systems Analyst’s use CASE tools to create business profiles, build business models, and document
complex processes.

FUDMA, CMP351 notes 43


Activity 3

1. Outline the software applications that can be used for modelling, prototyping and CASE.

FUDMA, CMP351 notes 44


System Development Methodologies
Methodologies are a sequence of step-by-step approaches that help develop your final product: the
information system. All methodologies prescribe phases of system development. Most methodologies
incorporate several development techniques, such as direct observations and interviews with users of
the current system.
Guidelines for developing system.

There are a number of methodologies that employ a series of developmental tools and techniques.
a) One popular methodology is Structured Systems Analysis and Design method (SSADM), which works
best within a waterfall type life cycle model.
b) Other methodologies, such as the Object Oriented Unified Modelling Language (UML) works best
within RAD.
c) Agile/Adaptive methodology

FUDMA, CMP351 notes 45


Structured Systems Analysis and Design (SSADM)

 Structured analysis is a traditional systems development technique that is time tested and easy to
understand.
 Structured analysis uses a series of phases, called the systems development life cycle (SDLC), to plan,
analyze, design, implement, and support an information system.
 Structured analysis is based on an overall plan, similar to a blueprint for constructing a building, so it
is called a predictive approach.
 Structured analysis uses a set of process models to describe a system graphically thus it is called a
process-centered technique.
 Structured analysis also addresses data organization and structure, relational database design, and
user interface issues by using entity relationship diagrams.

FUDMA, CMP351 notes 46


Example of a DFD
The model, which represents a school registration system, is called a data flow diagram (DFD) because it
uses various symbols and shapes to represent data flow, processing, and storage.

FUDMA, CMP351 notes 47


A Simple Process Model

FUDMA, CMP351 notes 48


Object-Oriented Unified Modelling Process
 Whereas structured analysis treats processes and data as separate components, object-oriented
analysis combines data and the processes that act on the data into things called objects.
 OOA illustrate the system’s objects from various perspectives such as structure and behavior.
 Systems analysts use O-O to model real-world business processes and operations.
 The result is a set of software objects that represent actual people, things, transactions, and events.
 Using an O-O programming language, a programmer then writes the code that creates the objects.

FUDMA, CMP351 notes 49


Object – key concept

 An object is a member of a class, which is a collection of similar objects. Objects possess


characteristics called properties, which the object inherits from its class or possesses on its
own.

 Object: Software entity with data (attributes) and methods (associated behaviors, or
functions).

 Object encapsulates data and processes. Object’s data are private, inaccessible directly to
other objects.

 Examples of objects
 Problem domain objects (student, customer)
 User interface (buttons, text boxes)

FUDMA, CMP351 notes 50


Object examples

FUDMA, CMP351 notes 51


Class

 Class: Definition of object properties and behavior.


Like a skeleton of database record plus applicable data functions (write, read, change…).

 Objects are instances of a class (e.g., Customer object is an instance of a Customer class).

FUDMA, CMP351 notes 52


O-O Model

Figure: The PERSON class includes INSTRUCTOR and STUDENT objects, which have their own properties
and inherited properties.

FUDMA, CMP351 notes 53


Object-Oriented Unified Modelling Process…
 The result is an interactive model that can accurately depict real-world business processes.
 O-O methodology is popular because it provides an easy transition to O-O programming languages
such as Java, Smalltalk, C++, Python, and Perl.

FUDMA, CMP351 notes 54


Structured vs. OO Methodology

FUDMA, CMP351 notes 55


Agile Methodologies
 In February 2001, many of the proponents of alternative approaches to system development
met in Utah in the United States and reached a consensus on many of the underlying principles
their various approaches contained. This consensus turned into a document they called “The
Agile Manifesto”.
 Agile Method – the integration of various approaches of systems analysis and design for
applications as deemed appropriate to the problem being solved and the system being
developed
 These approaches include:
 Extreme Programming
 Adaptive Software Development
 Scrum
 Feature Driven Development

FUDMA, CMP351 notes 56


Agile Methodologies…
Agile methodologies are family of development methodologies characterized by short iterative cycles
and extensive testing; active involvement of users for establishing, prioritizing, and verifying
requirements; and a focus on small teams of talented, experienced programmers.
 Agile methods typically use a spiral model, which represents a series of iterations, or revisions, based
on user feedback.
 As the process continues, the final product gradually evolves. An agile approach requires intense
interactivity between developers and individual users, and does not begin with an overall objective.
Instead, the agile process determines the end result.

FUDMA, CMP351 notes 57


Agile Methodologies…

Figure: Shows a system development


model where planning, analysis, and
design tasks interact continuously to
produce prototypes that can be tested
and implemented.

FUDMA, CMP351 notes 58


Agile Methodologies…

These Agile Methodologies share three key principles:


a) a focus on adaptive rather than predictive methodologies
b) a focus on people rather than roles
c) a self-adaptive process

FUDMA, CMP351 notes 59


Agile Methodologies…
a) Adopting an adaptive rather than predictive methodology refers to the observation that
engineering-based methodologies work best when the process and product are predictive.
Software tends not to be as predictive especially in today’s challenging business environment.
b) Engineering-based techniques make people interchangeable. An Agile approach views people as
talented individuals, not people filling roles, each of whom has unique talents to bring to a
development project.
c) As the methodologies are applied, they should also be adapted by a particular development team
working on a particular project in a particular context. No single monolithic methodology
effectively fits all developers on all projects at all times.

FUDMA, CMP351 notes 60


System Development Life Cycle Models

To structure the systems analysis process, a number of particular models have been developed using
the Structured Methodology:

1. One very common model is the Waterfall model – so named because the stages ‘cascade’ in one
direction from one activity to the next.
2. The Rapid Application Development (RAD) model.
3. The Spiral model is popular for large, very complicated projects.

FUDMA, CMP351 notes 61


Waterfall model
The waterfall life cycle model has been modified in different ways over time and is often described in
slightly different ways, but the essential ‘no turning back’ feature remains at its core. Just as with real
waterfalls, water never goes back up the top.
A version of the model has the following key stages:

Initiation & Planning

Investigation

Analysis

The Waterfall Model Design

Implementation

Testing

Maintainance

FUDMA, CMP351 notes 62


Waterfall model contd…
Advantages
 Simple and sequential.
 Processes are compartmentalised in order to give good control.
 The development phase moves from one phase to another with no repeated steps.
 Once a stage has been visited, it will never be visited again.
 Deadlines set should be met.

Disadvantages
 It does not allow for revision and reflection.
 If one stage is not completed fully, then the final product may not be fit for purpose.

FUDMA, CMP351 notes 63


Rapid Applications Development (RAD)
 This is a developmental model developed (late 1980’s and early 1990’s) in response to the inflexible
processes developed in the 1970’s such as the waterfall model.
 RAD is a software development methodology that focuses on building applications fast – it involves
iterative development.
 The fundamental principle of any RAD methodology is to delay producing detailed system design
documents until after user requirements are clear.
 The speed is achieved by using specialist tools such as CASE tools and JAD tools that focus on
converting requirements to code very quickly.
 It achieves these using prototypes that are iteratively developed into a full system.
 RAD emphasizes more on doing tasks in parallel and less on the sequence and structure of processes
in the life cycle.

FUDMA, CMP351 notes 64


Rapid Applications Development (RAD)…

FUDMA, CMP351 notes 65


Rapid Applications Development (RAD)…
Advantages
a) Development of key system capabilities is fast.
b) There are many opportunities during the whole process to refine and improve the design.

Disadvantages
a) The speed gained in development can compromise the features available in the final system.
b) It may not be easy to expand or scale up the system later because it was developed to meet a
specific need.
RAD is widely used by consulting firms.

FUDMA, CMP351 notes 66


Other System Development Methodologies
1. Joint Application Design (JAD)
2. Participatory Design (PD)

FUDMA, CMP351 notes 67


Joint Application Development (JAD)
In the late 1970s, systems development personnel at IBM developed a new process for collecting
information system requirements and reviewing system designs called joint application design (JAD).
 The idea behind JAD is to structure the requirements determination phase of analysis and the reviews
that occur as part of the design.
 Users, managers, and systems developers are brought together for a series of intensive structured
meetings to specify or review system requirements.
 Team based fact finding.
Advantage of JAD:
a) Time and resources are better managed.
b) Shared understanding of the new system by all participants.
JAD is commonly used by insurance companies.

FUDMA, CMP351 notes 68


Participatory Design (PD)
 Developed in northern Europe, participatory design (PD) represents a viable alternative approach to
the SDLC.
 PD emphasizes the role of the user and in some cases, PD may involve the entire user community in
the development process. Each user has an equal voice in determining system requirements and in
approving system design. In other cases, an elected group of users controls the process.
 Typically, under PD, systems analysts work for the users. The organization’s management and outside
consultants provide advice rather than control.

FUDMA, CMP351 notes 69


Activity 4

1. Discuss the following agile methodologies approaches:


a) Extreme Programming
b) Adaptive Software Development
c) Scrum
d) Feature Driven Development
2. Find a company in Nigeria/Africa that uses the agile method in developing their system.
3. Differentiate between structured methodology and object-oriented methodology.

FUDMA, CMP351 notes 70

You might also like