Introduction To Systems Design and Analysis
Introduction To Systems Design and Analysis
Introduction to Systems
Design and Analysis
1-2
Information
What is information?
Domain dependent
1-4
How can we Analyze and Design
Systems?
Intuitive approach
Pros and Cons?
Systematic approach
Pros and cons?
1-5
Systems Analysis and Design in
this Course
1-6
Systems Analyst
Performs systems analysis and design
Assesses how businesses function by
examining the inputting and processing
of data and the outputting of
information with the intent of improving
organizational processes
1-7
Different Types of Systems Analysts
Two major types
Outside consultants to businesses
Hired specifically to address information systems issues
within a business
Supporting experts (within a business you are regularly
employed)
Not a full-blown systems project, but rather entails a small
1-8
Interactions of a Systems Analyst
A systems analyst interacts with users
at different levels in the organization
User managers
Operations workers
Systems managers
Systems designers
Programmers
….
1-9
Qualities of a Systems Analyst
Analysts are problem solvers.
Communication skills
Analysts must be ethical with users and customers
ACM’s (Association of Computing Machinery) code of ethics
…
1-10
Systems Development Life
Cycle (SDLC)
SDLC is a systematic approach to
solving business problems
It is divided into seven phases
Each phase has unique activities
A phase is never accomplished as a
separate phase
Several activities can occur simultaneously
Activities may be repeated
1-11
Phase 1: Identifying problems,
opportunities, and objectives
Identifying
Problems: don’t want to address the wrong problems
User managers
Systems managers
1-12
Phase 2: Determining Information
Requirement
Understand how the business functions and have complete
information on the people, goals, data, and procedures
Interview management, operations personnel
Use questionnaires
1-13
Phase 2: Determining Information
Requirement (cont’d)
Personnel involved
Analyst
User managers
Operations workers
Systems managers
Information Analyst (phases 1 and 2)
1-14
Phase 3: Analyzing Systems
Needs
Analyzing system needs
Create data flow diagrams
Document procedural logic for data flow diagram
processes
Complete the data dictionary
Analyze structured decisions
Make semistructured decisions (decisions taken under
risk)
Prepare and present the system proposal
Recommend the optimal solution to management
1-15
Phase 3: Analyzing Systems
Needs (cont’d)
Analyst makes recommendations to
management
Management decide whether to continue
or not
Personnel involved
Analyst
User managers
Systems managers
1-16
Phase 4: Designing the
Recommended System
Accomplish the logical design of the
information system
Design the user interface
Design output
Design input
Design files and/or database
Design control and backup procedures
Produce decision trees or tables
Produce program specifications
1-17
Phase 4: Designing the
Recommended System (cont’d)
Personnel involved
Analyst
System designer
User managers
Operations workers
Systems managers
1-18
Phase 5: Developing and
Documenting Software
Personnel involved
Analyst
System designer
Programmers
Systems managers
1-20
Phase 6: Testing and Maintaining
the system
Testing and maintaining the system
Test and debug computer programs
Test the computer system
Enhance system
Personnel involved
Analyst
System designer
Programmers
Systems management
1-21
System Maintenance
Maintenance: starts in phase 6 but
carried out routinely throughout the life
of the IS
System maintenance is
Removing undetected errors, and
Enhancing existing software
Time spent on maintenance typically
ranges from 48-60 percent of total time
1-22
System Enhancements
Systems are enhanced for the following
reasons:
Adding additional features to the system
Business and governmental requirements
change over time
Technology, hardware, and software are
rapidly changing
1-23
Phase 7: Implementing and
Evaluating the System
Implementing and evaluating the system
Plan conversion from the old system to the
new one
Train users
Convert files
Install system
1-24
Phase 7: Implementing and
Evaluating the System (cont’d)
Personnel involved
Analyst
System designer
Programmers
User managers
Operations workers
Systems managers
1-25
CASE Tools
Computer-Aided Software Engineering (CASE)
CASE tools are automated, microcomputer-based
software packages for systems analysis and
design
Four reasons for using CASE tools are:
To increase analyst productivity
Facilitate communication among analysts and users
Providing continuity between life cycle phases
To assess the impact of maintenance
1-26
CASE Tool Categories
CASE tools may be divided into several
categories
Upper CASE (also called front-end CASE)
tools, used to perform analysis and design
Lower CASE (also called back-end CASE).
These tools generate computer language
source code from CASE design
Integrated CASE, performing both upper and
lower CASE functions
1-27
Upper CASE
Upper CASE tools
Create and modify the system design
Store data in a project repository
The repository is a collection of records,
elements, diagrams, screens, reports, and
other project information
These CASE tools model organizational
requirements and define system boundaries
1-28
Lower CASE
Lower CASE tools generate computer
source code from the CASE design
Source code may usually be generated
in several languages
1-29
Lower CASE: Advantages of
Generating Code
Time to develop new systems decreases
The time to maintain generated code is less than
to maintain traditional systems
Computer programs may be generated in more
than one language
CASE design may be purchased from third-party
vendors and tailored to organizational needs
Generated code is free from program coding
errors
1-30
Reverse Engineering
Reverse engineering is generating the
CASE design from computer program
code
Source code is examined, analyzed, and
converted into repository entities
Uses Computer-Assisted Reengineering
(CARE) software
1-31
Reverse Engineering Produces
Depending on the tool set used:
Data structures and elements, describing
the files, records, and field
Screen designs, if the program is online
Report layouts for batch programs
A structure chart showing the hierarchy of
the modules in the program
Database design and relationships
1-32
Advantages of Reverse
Engineering
It has the following advantages:
Reduced system maintenance time
Program documentation is produced for loosely
documented programs
Structured programs may be generated from
unstructured, older programs
Future system maintenance is easier to implement
Unused portions of programs may be eliminated
1-33