Chapter 4:
Information System Development
Outline
IS Development Life Cycle(SDLC)
Problem Definition
Feasibility Study
System Analysis
System Design
System Development
System implementation
Maintenance and review
Introduction
Systems Analysis and Design
• The overall process by which information systems are designed and
implemented within organizations is referred to as systems analysis and
design (SA&D).
- Within this process are contained activities that include
. the identification of business problems;
. the proposed solution, in the form of an information system (IS), to
one or more of the problems identified;
. and the design and implementation of that proposed solution to
achieve the desired and stated goals of the organization.
• There are many approaches to SA&D. The two most common approaches
are object-oriented analysis and design and the life cycle approach .
- Each has its advantages and disadvantages, and
- the two approaches differ in many respects,
- both are concerned with the analysis and design of a successful information system
…
The Systems Development Life Cycle
• One method of using the systems approach to develop information system
solutions, and the most prevalent one in organization systems analysis and
design, can be viewed as a multistep, iterative process called the systems
development life cycle (SDLC).
• Examples of SDLC models:
Waterfall Model.
V-Shaped Model.
Iterative Model.
Spiral Model.
Big Bang Model.
Agile Model.
Definition of Information System Lifecycle
• Information System Lifecycle -
- is a logical process for planning, creating, testing, and
deploying an information system.
Several phases – the progress of system analysis and design
Step-by-step activities for each phase
Individual & group roles
Deliverables
Tools and techniques
• As a project management tool – plan, execute & control
…
.
Problem
Feasibility System “As Is”
Definition
Study Analysis
Identification of Utility and acceptability Study the existing system,
Problems & (Economic, Technical, determine user requirement,
Opportunities Behavioral, Operational…) propose solution
“To Be”
System System
System
Development Implementation
Design
space, personnel, HW, Install &
Design new/alternative system – Develop Programs, test test new system, train &
components, I/O relationships programs, documentation migrate to new system
data, program, interfaces,
post-implementation review, identify Maintenance &
errors & enhancements, fix them, Review
monitor system performance
Cont…
• 3 levels in which IS evolves
Conceptual Systems
Idea to have a particular system for the organization
Logical System
Idea changed into design (logical model) – flow of data,
logic of processing & I/O relationship
Physical System
The logical design/model is changed into programs, data
files, documentation (to be tested & implemented)
Participants in System Development
.
System Stakeholders (Beneficiaries – directly or
indirectly)
Users (interact with the system)
Managers (initiate and maintain change)
Systems development specialists
Project leader
Systems analyst
System Designer
Software engineer or computer programmer
System Administrators
Problem Definition
▪ Identify problems and/or opportunities
What Problems to solve? (bottlenecks, failures,
inefficiencies, etc.)
What Opportunities to provide? (expanding performance,
improving customer service, etc.)
• Sets general direction to solve problems & take advantages of
opportunities
E.g. replace manual with automated system – speed, better
communication, reduce cost, etc.
• Define project boundaries
Part of a system to be changed, parts outside its control
• Develop terms of reference (TOR) & define resource to be availed
• Final output:
Terms of Reference (goals, bounds & resource requirements)
Feasibility Study
• The practical utility & acceptability of the proposed system
Can it be done?
Can we afford it?
Will the proposed new system fit in with existing procedures?
Will it benefit the intended users?
Whether there is a preferred alternative?
• Economic, Technical, Behavioral, Operational, Organizational, Legal
Feasibility
• Key feasibility considerations
Economic – cost/benefit analysis
Costs projection – development, hardware, facilities
operational, manpower, maintenance
Tangible & intangible benefits projections
Tangible – speed of processing/efficiency, reduced cost/error,
increase in sales, reduced inventory …
Intangible – access to information timely, better Decision Making,
transparency & accountability, improved customer response;
better staff morale, Customer goodwill, etc.
Feasibility
• Key feasibility considerations
Economic – cost/benefit analysis
Costs projection – development, hardware, facilities
operational, manpower, maintenance
Tangible & intangible benefits projections
Tangible – speed of processing/efficiency, reduced cost/error,
increase in sales, reduced inventory …
Intangible – access to information timely, better Decision Making,
transparency & accountability, improved customer response;
better staff morale, Customer goodwill, etc.
Feasibility
Technical – HW & SW (procuring/installing)
technological requirements – storage, processing,
communication, output
Availability
Within budget
Matching present & future needs
Sophistication
The skill needed (hiring extra staff, consultant firm)
Behavioral – user reaction (employee rejection,
management resistance);
Feasibility
Operational
Required speed, volume, usability and reliability
To what extent the system becomes operational when
implemented?
Organizational = work patterns, users skills, strategic plan
Legal: whether laws or regulations may prevent or limit
Copyright, data capture, data transfer
Final Output:
• Feasibility report - GO / NOT GO decision must be made
System Analysis
• Study of the existing system: Deals with “the way
things are”/ “as is”
How is the current system working?
What information needs?
information sources, storage pattern and requirements
Data type & information flow
inputs and outputs
procedures
Problems with present working condition
What the new system should do? User requirement
Cont…
• Tools for extracting data for system analysis:
Review of documents (Objectives, Organizational structure, JD,
reports, procedures, system documentation)
Observation
Conducting interview – with top mgt and users
Questionnaire
Cont…
• Results of System Analysis Detailed documentation of:
How the existing system works
Requirements for the new system
• System analysis phase is also called logical design
general specification for how the IS can meet end user
requirements
An input for the physical design (program development)
• System Analyst is responsible
Analyzing the existing system
Liaison between user & IT professionals (programmers)
System Design
• Deals with “the way things should be”/ “to be”
• Input: Specifications from system analysis
• Design processes
Input definition – defining input formats
Output definition – reports, screen & file layout
Data dictionary – details of data (name, description, source, usage,
maintenance, storage, organization)
• Program specifications – Documenting logic of processing in each program.
• System Specifications – description of relationship between various
modules & b/n programs
Cont…
• Final output –design specification report
Description of proposed system including:
Input/output
Form design
Report layouts
Processing
System flow charts
Storage & Backup
Data file designs
System Development
• Actual Development of the SW
The programmer converts the design specifications into
computer instructions (programs).
Programs:
Coordinate the data movements and
Control the entire process in a system
Programming language (C++, Java, Python, Ruby, R, etc.)
Skill & experience
Cont…
•. Steps
Checking system specifications
Breaking system modules into
smaller programs
programs must be modular in nature
- fast development, maintenance and
future change
Developing program code System Modules
Defining interfaces b/n various
programs
Ensuring data availability for
testing
Cont…
. Testing of programs with test data
– at different level
Unit Testing- Individual program
Integration Testing: Individual program
as part of the system modules
System Testing: The entire system
User Acceptance Testing: Testing the
finished software with respect to the
user perception
Debugging (error corrections)
Cont…
System/Technical Documentation
Preparing documentation for each program
Requirement documentation
Design and architecture
Source code
Testing
Installation and maintenance guide
User Documentation
Create manual for users and operators
System Implementation
Converting from old to new system
Major activities
Planning for implementation
Preparing schedule for implementation
Procurement of HW
Installation of SW
Operation & testing of HW & SW
Recruitment of operating personnel
Site and data preparation
Cont…
Motivation and training of selected personnel and users
Training – how to use the system, how to enter data,
how to process and generate reports
Ease into system, make them comfortable, and gain their
support
Conversion of data files from old system to the new system
Cont…
Final switch – approaches
Direct/plunge/crash approach
entire new system completely replaces entire old system, in one step
Parallel approach
both systems are operated side by side until the new system proves itself
Pilot approach
new system launched for only one group within the business -- once new
system is operating smoothly, implementation goes company-wide
Phased/incremental approach
individual parts of new system are gradually implemented over time,
using either crash or parallel for each piece.
Post-implementation maintenance & review
Types of Changes:
Physical repair of the system
Correction of new bugs/errors found (corrective)
System adjustments to environmental changes (adaptive)
Adjustments for users’ changing needs (adaptive)
Changes to user better techniques when they become available (perfective)
Revision of formats – report/data input
ongoing throughout the useful life of the system
Evaluation Methods
Systems audit - performance compared to original specifications
Periodic evaluation - “checkups” from time to time, modifications if
necessary
SDLC Life Cycle-summary
Problem TOR & Resource to be Allocated
Definition
Approved Feasibility Abort Project
Feasibility Study
Study Go to next phase
Existing Sys & Req Go to Previous phase
System Specifications
Analysis
System
Design Specifications
Design
Coded and
System Tested System
Development
Begin building
new system System System conversion
Implementation Users trained
System
Maintenance Operational System
Documentation completed
Cont…
• Increasing cost of errors
Cost incurred to fix an error increases as we move
from earlier to advanced stage
Late detection – revision of all steps back
CASE Tools
• Computer-aided software engineering (CASE) Tools sometimes called
computer-aided systems engineering tools are specialized software
applications intended to support the development of software.
• Major software development programs are programming language translators
and editors, and a variety of CASE (computer-aided software engineering) and
other programming tools.
CASE tools include
front-end (or upper CASE) analysis tools such as
Diagramming tools: support graphic representations for process, data, and
control structure diagrams
Computer display and report generators: used to prototype user interface
for input (screen displays, forms) and reports as part of requirements definition
Analysis tools: automatic checkers for missing, inconsistent, or incorrect
specifications in diagrams, forms, and reports
back-end (or lower CASE) tools such as
Central repository: integrated storage of system specs, diagrams, reports,
and project management documents
Documentation generators: produce technical and user documentation
in standard formats
Code generators: automatic generation of program and database
definition code from diagrams, forms, reports, and other design documents.
…
Thank You!