System Analysis and Design

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 104

SYSTEM ANALYSIS AND DESIGN

Chapter 1
Objectives;
•Define system
•Explain the types of systems and give examples
•Understand the importance of systems
•explain the different phases of system
development life cycle
•Enumerate the components of system analysis
•Explain the components of system designing
INTRODUCTION
Systems are created to solve problems. One can
think of the systems approach as an organized
way of dealing with a problem. In this dynamic
world, the subject System Analysis and Design
(SAD),mainly deals with the software
development activities.
DEFINING A SYSTEM
• A collection of (related)components that work
together to realize(or achieve) some
objectives(or tasks) forms a system.
• Regularly interacting or independent group of
items working together to forma unified
whole.
• An organized or established procedure.
DEFINING A SYSTEM
• The objective of most systems demands that
some output is produced as a result of
processing the suitable inputs.
• A well-designed system also includes an
additional element referred to as ‘control’
that provides a feedback to achieve desired
objectives of the system.
DEFINING A SYSTEM
• Basically there are three major components in
every system, namely;
 input,
 processing
output.
COMMON TYPES OF SYSTEM
There are two main categories;
•Natural Systems
•Man-made Systems
Natural Systems
• Natural systems can be divided into two sub-
categories namely;
• Physical systems
• Living systems
Physical Systems
• Stella systems: Consists of heavenly bodies i.e.
meteors, asteroids, planets, galaxies etc.
• Geological
• Molecular
Living Systems
This has to do with everything which can be termed
as being alive.

NB: Numerous research studies have proven that, giving attributes of living things
to man-made systems is a sure way of creating resilient and robust systems.
Characteristics of Living Systems Given to Man-
Made Systems
• The reproducer
• The boundary
• The ingestor
• The distributor
• The converter
• The producer
• The matter-energy storage subsystem
• The extruder
• The motor
Characteristics of Living Systems Given
to Man-Made Systems
• The supporter
• The input transducer
• The internal transducer
• The channel and net
• The decoder
• The associator
• The memory
• The decider
• The encoder
• The output transducer
Man-Made Systems
1. Social Systems: organizations of laws, doctrines,
customs, culture etc.
2. An organized disciplined collection of ideas
3. Transportation systems: networks of highways,
canals, airlines, railways etc.
4. Communication systems: telephones, telex etc.
5. Manufacturing systems: assembly lines,
factories and so on.
6. Financial systems: inventory, general ledger,
accounting and so on
Reasons Why Some People
Do Not Use Computers
• Time
• Cost
• Security
• Convenience
• Dependence on electricity
• Availability
• Politics
• Maintainability
Automated Systems
Man-made systems which interact with or are
controlled by one or more computers.

NB: computers can only be assigned tasks which


follow a pattern or series of patterns.
Common Components of Automated
Systems
1. Computer hardware
2. Computer Software
3. People
4. Data
5. Procedures
Types of Automated Systems
1. Batch system: Sequential processing
2. On-line system: Accepts inputs from point of creation and
returns the outputs or results to the point of creation
3. Real-time system: These control environments that
require immediate, timely, quick processing and response
which is sent to the appropriate environment
4. Decision support system: This helps managers and other
knowledge based workers to make informed, intelligent ,
accurate and reliable decisions(choices)
5. Knowledge based system: Systems that appear to be
intelligent but are just working based predefined
algorithms
General Systems Principles
• The more specialized a system is the less able it is
to adapt to different circumstances
• The more generalized purpose a system is the
optimized it would be for particular situations
• The larger a system is the more the resources
required for its daily maintenance
• Systems are always part of larger systems and
can always be partitioned into smaller systems
• Systems grow: most systems with which we are
familiar do grow.
Participants in System Development
• User
• Management
• Auditors, quality assurance people, and
“standards bearers”
• Systems analysts
• System designs
• Programmers
• Operations personnel
System Development Life Cycle
System life cycle is an organizational process of
developing and maintaining systems. It helps in
establishing a system project plan, because it gives
overall list of processes and sub-processes required for
developing a system.
•System development life cycle means combination of
various activities.
•In other words we can say that various activities put
together are referred as system development life cycle.

NB: In the System Analysis and Design terminology, the system development
life cycle also means software development life cycle.
Phases of System Development
Life Cycle
1. Preliminary study (Initial investigation)
2. Feasibility study
3. General Design(System analysis)
4. Detailed design
 System Design,
 Coding/Building/Development
 Testing
5. Implementation and maintenance
6. System Audit
Systems Approach
• This the strategy used in the creation /
development of systems.
• Usually there are two main models used by
professionals. Namely
Waterfall model
Spiral model
These have formed the basis for a lot of new and
improve models including the
The modified waterfall model
Systems Approach
Waterfall Model
• Waterfall model is the foundation for most of the
structured development methods since the
1970’s to date. It consist of the following phases
 Systems analysis
 Systems design
 Systems build and test
 Systems introduction and transition
 Maintenance of production status systems
WATERFALL MODEL
Systems Approach Spiral Model
• Was introduced by Barry Boehm as approach
for iterative development.
• It has the same phases as the waterfall
method but follows an incremental approach
to system development
SPIRAL MODEL
System Requirements
This is a documentation on the system and is also one of the most important
activity in the system development life cycle.
This ensures the continuity of the system.
The view points of any system are:
The users requirements
The system’s requirements
Technical requirements
The user requirements: is a complete description of the system from the
users point of view detailing how to use or operate the system. It also
includes the major error messages likely to be encountered by the users.
The system’s requirements: contains the details of system design, programs,
their coding, system flow, data dictionary, process description, etc.
The technical requirements: composes of all the technical equipment and
tools needed to make the system function properly
NB: This helps to understand the system and permit changes to be made in the existing system to satisfy new
user needs.
System’s Requirements
• Suitable with general strategies
• Supporting decision maker
• Competitive edge
• Return on investment
• Overhead control
• Supporting operational management
• Improving information communication
• Impact of information products
• Ability to implement quicker and better
Users Requirements
• Easy access:
• The system: It must be solid, stable and
resilient and must provide accurate
information and be easy to spot mistakes in
order to correct them.
• Interface: It is the point of interaction
between the user and the system. As such all
effort should be made to make sure the user
can use it.
Technical Requirements
• Information volume
• Period
• Accuracy
• Complexity
Some Popular Issues in Development
• Incompatibility
• Shortcomings
• Low reliability
• Poor resources
• Bad support
System Survey
Survey is the process of finding out more about
some subject of particular interest. This done
through meticulous strategizing, planning,
research and investigations to reveal what is
needed(by the system).
There are two main phases;
Preliminary survey
Detailed survey
Phases of Survey
• Preliminary survey: this is where a cursory
look of the project is conducted which helps
determine its feasibility
• Detailed survey: an in-depth definition of
what needs to be done, how it is to be done
and who is to do what in order for the
requirements to be achieved. It is divided into
two parts namely;
 Detailing the objectives set forth
 Identifying information sources and requirements
Investigation Methods
• Survey methods
 The interview
 Questions
 Communication
• Observation methods
 Official/formal observation
 Unofficial/informal observation
• Questionnaire method
 Title
 Data classification
 Data
Survey Report
A good survey should contain the following;
•Objectives of the system
•Inter-connection between related departments
•Details of the current system
•Future system and sketchy estimate of costs and benefits
•Advice
•Time frame and plan for system development
•General description(non-technical)
•Original document
•Evaluation of the current system in terms of organizational
structure, technology, information system, users’ IT skills and
policy renovation
Survey Report
A good survey should answer the following;
•Is the document of the current system adequate?
•Have users reviewed and agreed with your point of
view?
•Has the whole report been thoroughly?
•What functional requirements need further
research?
•Have all requirements been reviewed?
•What are the substitute designing solutions?
•What are the project’s possible changes?
WHAT YOU HAVE LEARNT
In this lesson a systematic approach to solve any
given problem is explained.
Phases of system such as preliminary system study,
detailed system study, system analysis, design,
coding, testing, implementation and maintenance
were explained.
Computer based systems were defined. System
development life cycle was discussed in detail.
The different phases of the development of system
are explained in detail.
QUESTIONS
• 1. Write True or False for the following statements.
• (a) A collection of components that work together to realize
• some objectives forms a system.
• (b) System life cycle is not an organizational process of developing
• and maintaining a system.
• (c) In the system analysis and design terminology the system
• development life cycle means software development life cycle.
• (d) Coding is not a step in system development life cycle.
• (e) System analysis and system design are the same phase of
• system development life cycle.
Questions
1. Fill in the blanks.
(a) System study is the _____________ stage of system development
life cycle.
(b) Analysis involves a ____________ study of the current system.
(c) All procedures requirements must be analysed and documented
in the form of data flow diagrams, data dictionary,
___________ and miniature specifications.
(d) _____________ is a blue print of a computer system.
(e) In ___________ run the new system installed in parts.
(f) In parallel run computerized and ____________ systems are
executed in parallel.
TERMINAL QUESTIONS
1. Define a system. Explain the components of a system.
2. How do you explain system development life cycle?
3. Discuss the importance of system analysis and design
in the
development of a system.
1.8 KEY TO INTEXT QUESTIONS
1. (A) True (b) False (c) True (d) False (e) False
2. (a) first (b) detailed (c) logical data structure
(d) structure design (e) pilot (f) manual
Chapter 2
Objectives;
•Understanding techniques applied in
information analysis
•Explain DFD
•Function diagram
•Identify E-R diagrams
•Understand Normalization and de-
normalization
Roles of The System Analysts
• Archaeologist and scribe
• Innovator
• Mediator
• Project leader
Abilities of an Analyst
• Skills to interview users, mediate disagreements
• Ability to do more than just draw flowchart and other
technical diagrams
• Application knowledge to understand and appreciate
user’s business
• Computer skills to understand the potential uses of
computer hardware and software in the user’s
business
• Ability to view a system from many perspectives
• Ability to partition it(the system) into lower levels of
subsystems
• Ability to think of a system in abstract as well as
physical terms
Popular Methods of System Analysis
Structured system analysis originated from the
believe that principles of structure programming
can be applied to analysis and design phase.
Tools supporting analysis: Data Flow
Diagram, Function Diagram and Entity
Relationship Diagram
• Concentrate on important feature of the
system,
• Able to respond to changes or changes in
user’s requirement with low cost and risk
• Properly understand user’s environment and
write documents in the same way that
designers and programmers construct the
system
Tools supporting analysis
The three(3) most important tools used in
system analysis are:
•Data Flow Diagram
• Function Diagram and
•Entity Relationship Diagram
Data Flow Diagram (DFD)
• The Data Flow Diagram (DFD) is a graphical
representation of the flow of data through an
information system.
• You can associate data with conceptual,
logical, and physical data models and object-
oriented models.
DFD Importance
• It enables you to represent the processes in your
information system from the viewpoint of data.
• The DFD lets you visualize how the system operates, what
the system accomplishes and how it will be implemented,
when it is refined with further specification.
• Data flow diagrams are used by systems analysts to design
information-processing systems but also as a way to model
whole organizations.
• You build a DFD at the very beginning of your business
process modelling in order to model the functions your
system has to carry out and the interaction between those
functions together with focusing on data exchanges
between processes.
Types of DFDs
• There are two types of DFDs, both of which support a top-
down approach to systems analysis, whereby analysts
begin by developing a general understanding of the system
and gradually break components out into greater detail:
Logical data flow diagrams - are implementation-
independent and describe the system, rather than how
activities are accomplished.
• Physical data flow diagrams - are implementation-
dependent and describe the actual entities (devices,
department, people, etc.) involved in the current system.
• DFDs can also be grouped together to represent a sub-
system of the system being analyzed.
• A data flow diagram can look as follows:
DFD Symbols

OR The process

The flow

The store

The internal factor

The external factor


OTHER DFD Symbols
DFD Symbols
• The process: This is used to depict the part(s) of the system
which transform inputs into outputs
• The flow: This is used to show the movement of information
fro one part of the system to another.
• The store: This is used to depict data packets at rest.

• The External Factor: It is used to show anything(person, group


of people or an organization) which are not internally part of
the system but are connected in some way to the system. It
can influence the system
• The Internal Factor: It is the system’s functions or processes.
These influence what happens inside the system.
DFD Example
2.2
Insert
Books New Books
2.1
New Documents Classify
New Books information
Documents Documents

Magazine information

Magazines 2.3
Documents Suppliers
Insert New
Magazine
Function Analysis
• This is an attempt to understand what the
users expect of the system regardless or how
it achieves it.
Functional Analysis
A complete function should have the following;
•Function name
•Description of function
•Function’s input (data)
•Function’s output (data)
•Events that cause changes and their efficiency
Function Diagram Example
Library Management
System

Readers Documents Documents B/R Ticket System


Management Management Looking up Management Reports

New Reader Documents Books B/R Ticket Document


Receiving Classifying Looking up Receiving Report

Dept_no New Books Magazine Department


Checking
Checking Inserting Looking up Report

New New Overdue


Department Magazine Replying
Readers
Register Inserting

Reader
Allocating
Entity Relationship Diagram
• An entity relationship (ER) diagram is a
picturistic representation of entities and how
they are connected(related).
Components of ERD
There are three main components of an entity
model;
•Entity:
 It is a subject, duty or an event about which we want
to save information.
 An entity can be said to anything of importance that
we want to save information about
•Attribute: These are the characteristics of entities
displayed by fields or columns of tables
•Relationship: It is used to show the connection
between system entities.
Components of ERD
Relationship(continued):
There are three(3) main types of relationship
One – one relationship
One to many relationship
Many – many relationship
Components of ERD
Attributes(continued):
Identifying: consists of one or more attributes of
an used to uniquely identify each entity instance in
the entity set
Specification: These attributes provide
descriptions of the entity instance
Connection(foreign key): This points out the
relationship between an entity instance in one
table and another entity instance in another table
Models of ER Diagrams
• There are two main models used to depict ER
diagrams namely;
• Chen notation and
• Crow’s foot notation
ERD Models Example
CHEN
NOTATION
Student_ID Course_ID
Course_Desc
LastName

Sex
Student takes Course

Course_ID Course_Name
Age
Course_Duration
FirstName
ERD Models Example
CROW’S FOOT NOTATION
Student Course

Student_ID Course_ID
FirstName Course_Name
LastName Course_Desc
Age Course_Duration
Sex

Course_ID
Data Model Development
There are two(2) main steps;
•Defining entities: The following would help you
define which entities require storing details about
– Information relating to one of the objects of the
system(e.g. borrowing list, returning lists)
– Information relating to major assets or resources used
in the system(such as book store)
– Information about planning and controlling(such as
book returning deadline, financial plan)
•Defining relationships: After identifying entities
find the connect between them
The Advanced Data Modeling
Sometimes there are complicated contexts in
realities where analyst must display them well
Below are some of those contexts;
•Optional relationship
•Abstract entity
•Recursive relationship
Normalization
Normalization is the process of analyzing
attributes in an entity set(table/relation) in
order to minimize repetition, avoid redundancy
and eliminate ambiguity from entity sets
Normalization
• First Normal Form(1NF): A relation is said to be
in 1NF if and only if it contains no repeating
groups
• Second Normal Form(2NF): A relation is said to
be in 2NF if and only if it is in 1NF and every non
key attribute(composite key) is dependant on all
parts of the key.
• Third Normal Form(3NF): A relation is said to be
in 3NF if and only if it is in 2NF and non key
attribute is functionally dependant on another
non key attribute
NB: For this course we only considered the first three normal forms
De-Normalization
On some occasions, after the normalization
process, there is the need to reverse it. This
process of reversing or undoing normalization is
termed de-normalization.
Completion of Information Analysis
Finally we have to do the following;
•Corporation of new requirements
•Supporting tools and techniques
•Summary of analysis process
Summary
We learnt;
•Which techniques are applied in information
analysis
•How to explain DFD
•How to create a function diagram
•How to identify E-R diagrams
•The types of E-R models
•How to Normalize and de-normalize
Chapter 3

SYSTEM DESIGN
Chapter 3
Objectives;
•Learn the meaning of system design
•The techniques used in system’s design.
•Understand what is meant by user interface
•Identify the different kinds of user interfaces
•Identify the ideal interface for users of the
system
The Designing Specifications
• System design is the process of refining the
deliverables from system’s analysis phase into
a form programmers can understand.
• In principle System analysis is different from
system design
Principles of Structured Design
• Structured design is the result of a desire on
the part of its authors to formalise what they
consider to be good programming practice
• Structured design should be geared towards
addressing changes that occur in response to
shifts in the competitive environment
• Functionality is essential throughout the
structured design process
Challenges Software Engineers Face in
Structured Design
• The suppressing of coding issues, making
these issues subservient to design principles
• Acceptance of system view and not the local
view as key indicator of success or failure
• Resolution of issues related to ‘finishing’ the
design through application of predetermined
value systems.
Guidelines For Introducing
Structured Design
• Make it clear from the start that Structured
design is not a remedy for any problems of the
organization
• Obtain support from anyone who may be
affected by this change
• Emphasize the flexibility that structured design
provides and downplay the misconception that it
is restrictive
• Structured design development passes through
two primary phases: Logical Design development
and Physical Design development
Guidelines For Introducing
Structured Design
• Logical Design transforms the dataflow
diagrams developed during the structured
analysis phase into refining the design to
reflect the kinds of quality attributes that
structured design encourages
• Physical Design phase involves the
modification of the Logical design to
accommodate whatever changes necessary
Stages of Design as a Process
• Transformation of the problem model into an
initial solution model
• Embellishment of initial design to include
necessary features
• Transformation of the structured English into
pseudocode.
• Evaluation and refinement of the qualities of the
design
• Revise the design to accommodate
implementation constraints
Design Goals and Objectives
The design objectives of the user implementation
model are the quality of the design.
The efficiency and accuracy of the system is directly
related to the nature of the design as created by
the designer.
The most important guidelines are coupling and
cohesion;
•Cohesion: It is the degree to which the
components of a model are necessary and
sufficient to carry out one single well defined
function.
•Coupling: It is the degree to which modules are
interconnected with or related to one another.
Relationship Between System
Analysis and Design
Some failings of structured analysis and their corresponding
symptoms during design
Problem Effect on Design

Dataflow diagram not balanced Interface Problems

‘Fuzzy’ process name Need for repartitioning

No dictionary Duplicates and aliasing

Dictionary not correlated with dataflow Duplicates and aliasing and


diagrams interface problems
Dataflow diagrams not correlated with Duplicates and aliasing and
dictionary interface problems
Pseudocode not validated Logic errors

Pseudocode not correlated with dictionary Data aliases, interface prolems


Development phase

Type of Structured Analysis Structured Design Implementation


Model

Process Data Flow Diagrams Structure Chart Code


Dictionary Dictionary Dictionary
Pseudocode Pseudocode

Information Entity-Relationship Diagram Database Design Implemented Database


Dictionary Dictionary Dictionary

Event Event Model Event Model Queuing Model


Dictionary Dictionary Dictionary
Principles of Procedure Design
• A well defined procedure is clear, unambiguous,
complete and concise.
• Procedures should cover every enventuality
• All steps of a given procedure should assume the
same base level of knowledge or experience on
the part of user
• When procedures require actions by two or more
persons, the boundary should be well defined
• When designing procedures, analysts should ask
themselves if a given task requires human
processing
Other Principles of Procedure Design
• Standardize procedures whenever possible
• Be sure new procedures are compatible with
existing procedures and not conflicting or
counterproductive
• Guard against procedures that will evoke
resistance or negative reactions from
employees
• Avoid assigning a single individual
responsibility for two procedures that though
similar are different
• Allow for feedback and evaluation
The Stages of Design
• It is basically similar to the way the system
analyst develops models in the system
analysis phase
• There are two main models for design namely:
• Systems implementation model
• Program Implementation model
Systems Implementation Model
Systems implementation model can be
divided into two:
•Processor model
•Task model
Processor Model
• Processor model: At this level, the system’s
designer decides how the essential model
should be allocated to different processors
and how those processors should
communicate with one another
Processor Model : Issues During
Design
• Cost: economical solution
• Efficiency: ability to meet performance
requirements
• Security: security requirements/ concerns of
the end user
• Reliability: ability to meet the minimum
requirements
• Political and operational constraints
Task model
Task model: When the processes and stores are
have been allocated to processors, the system’s
designer assign processes and data stores to
individual purpose tasks.
Program Implementation model

• It is the model used to depict how the


processors are going to handle the tasks and
in which order.
Tools and Techniques of Design
• As with any other profession, in other to
create good designs the system designers
need to have some skills(techniques) and
tools to aide them.
Choosing The Right Tool
For The Right Task
• Consider the following:
• Will it help the team arrive at an understanding
of the system under development
• Is it easy to learn? Easy to use?
• Will it serve user-analyst communication
• What does it cost?
• What data structures does it use?
• What data flow and control features does it
have?
• Is the technique manageable?
Some Tools For System Design
• Information System Design and Optimization System
(ISDOS): it Is focused towards generating system
specifications from user requirements recorded in a
machine –readable form, design an optimal system to
meet these specifications , and construct code for
operational system.
Steps in ISDOS:
– Definition of information problem in problem statement
language(PSL)
– Problem statement analyser ( PSA) analyses input in PSL
– A coded statement of the problem is then sent to system
optimization and design algorithm(SODA) for processing
and output
Some Tools For System Design
– The output is directed to two ISDOS modules Data
Re-organizer who constructs files, storing data on
selected device in the form specified, and the
code generator, which organises the problem
statements into programs.
– Finally, a module called System Director produces
the target information processing system, using
the generated code, the stored data and the
timing specifications as determined by the
physical design algorithm
Some Tools For System Design
• Pseudocode: It is a tool used in writing
program logics(algorithms) which can be
developed into computer program. It is not an
actual programming language
• Structured Design(SD): It is the method of
decomposing large systems into small
manageable independent modules which can
modified without much effect on other
modules.
Some Tools For System Design
• Jackson Design Methodology(JDM): It is a
three step design technique.
– First problem logic is structured
– Next the analyst structures program logic based
on the data structures
– Finally, the analyst defines the tasks to be
performed in terms of elementary operations and
assigns operations to suitable components of the
program structure
Some Techniques For System Design
• Hierarchy Plus Input Process and Output (HIPO) :
It is a graphic technique used to describe a
system.
• Structured Analysis And Design Technique(SADT):
It is a technique employed when developing large
systems. A precise notation is used to
communicate analysis and design results
• Entity Relationship Model(E-R Model): It is used
in database design to help describe how entities
in an enterprise are related to one another
Some Techniques For System Design
• Data Structure Diagram(DSD): It is used to
pictorially represent data relationship that is
relationship amongst the records.
• CASE*Method: It is a structured development
technique used by ORACLE consultants, and
design is one of its stages.
– Analysis
– Design
– Build and User Documentation
– Transition
– Production
The Phases Of Design
• From our earlier lessons we can agree there are
design tools and techniques. We can also say with
certainty that a good design directly influences the
effectiveness of the system developed.
• It is recommended that the percentage
distribution between anlysis, design and
implementation is 50%-60% for analysis and
design phases and 40%-50% for implemntation
phase
The Phases Of Design
• The three primary stages of design are:
– Initiation: The first stage of design usually
incomplete
– Abstraction: Derived fro initiation results and
involves completion of the design. Apply coupling
and cohesion
– Instantiation: Based on abstract design and
involves refining and revising the design to make
use of specialised operating system features.
Stages Of Instantiation
• The stages are organised into two main
phases:
• Logical Design: This phase is focussed on the
development of a design which is directed by
an abstract machine and operating
environment.
Physical Design: This is the creation of the
blueprint of the system
User Interface
An interface is the point of interaction (connection)
between a user and a system.
•There are many kinds of interfaces some include:
Character User Interfaces
Command Line User Interfaces
Graphic User Interfaces
Direct Mind/ Brain User interfaces
Direct Manipulation User interfaces
Zooming User Interfaces
Audio User Interfaces
Touch User interfaces etc.

NB: In choosing the ideal interface always consider the users you are a targeting.
System Monitoring Design
• In order to ensure the system is reliable,
efficient and safe it must be monitored
regularly
• Things to consider:
– Accuracy
– Safety
– Privacy
Summary
• We learnt;
• What structured design is
• Some challenges developers face in design
• How to choose the tool or technique
• Some tools and techniques in design
• Some types of user interface

You might also like