Building Information Systems

advertisement
Systems Development
Infsy 570
Dr. Ocker
What we Mean by Software Quality
Software Quality
Effectiveness
Usability
Efficiency
Reliability
Maintainability
Understand Modifiability
ability
Testability
Techniques for Information Gathering
in Systems Analysis
Information
Gathering
Techniques
Asking
the Users
Deriving from an
Existing System
Interviewing
Questionnaires
Group DecisionMaking
Processes
Data Analysis
Document
Analysis
Observation
Participation
Deriving from
Experimenting
the Analysis of
with the System
the Business Area
under Dev.
Business
Systems Planning
Critical Success
Factors
Decision Analysis
“Throwaway”
Prototyping
Evolutionary
Development
Systems Development Methods

Systems development - refers to all the
activities that go into producing an
information systems solution to an
organizational problem or opportunity
Various methods for building
information systems




I. traditional - systems development
life cycle
II. prototyping
III. application software packages
IV. outsourcing
I. systems development life
cycle (SDLC)




oldest method for building systems
assumes that system has a life cycle
with a beginning, middle, and end
structured type of problem solving with
distinct stages, activities, and
deliverables
each stage consists of activities which
must be completed before next stage
begins
Systems Development Life Cycle
Tasks
Systems
Analysis
Development Stages
Feasibility
Study
Requirements
Analysis
Requirements Specifications
Logical
Design
Systems
Design
Programming
(Construction)
Installation
(System
Operation
and
Maintenance)
Deliverables
Recommendation to Proceed and
System Proposal or
Recommendation to Abandon
Conceptual Design
or Programs and Databases
Physical
Design
Coding and
Testing
Conversion
Postimplementation Review
Detailed Design of System
Modules and Databases
Specification of System
Hardware and Software
Accepted System with
Complete Documentation
Installed Operational System
Recom. for Enhancement of the
System and of the Dev. Method
Recom. for Org. Adjustment
Systems Analysis




Determine what the system will do (as
opposed to how )
2 stages
1. Feasibility study (preliminary
investigation)
2. Requirements Analysis
Feasibility Study



Objective is to establish whether the
proposed system is feasible/desirable
before resources are committed
systems analyst perform a preliminary
investigation of the business
problem/opportunity
takes about 5-10% of project’s
resources (time & money)
Feasibility Study Tasks




Define problem/opportunity
establish overall objectives of system
identify users of system
establish scope of system
Outcome of Feasibility Study

Recommendation to proceed or to
abandon the project
Requirements Analysis


Objective is to produce the
requirements specifications for the
system
details about what the system will do
Requirements Analysis
establishes




Outputs of system
inputs to system
processing steps needed to transform
inputs into outputs
files and databases needed to store
data
Requirements Analysis
establishes



The volumes of data to be handled
numbers of users
file and database capacities
Information gathering techniques




1. Ask users
2. Derive from existing system
3. Derive from analysis of business
area
4. Experimenting (i.e., prototype)
Systems Design


details how the system will meet the
requirements as determined by the
systems analysis
like a blueprint for a house - details all
the specifications that give the system
its form and structure
Systems Design

Must look at:
– Hardware & Software
– Program & Modules
– Specifications of the modules
– Design the Data base
– Design the USER interface
– Develop the system procedures
Systems Design



2 types of design
logical
physical
Logical Design



A more macro level design
conceptual
activities include
– devising alternative solutions to problem
and choosing an alternative
– user interface design
– logical/conceptual design of database
Physical Design

Objective is
– to produce a complete specification of all
system modules and of interfaces between
them
– to perform the physical design of the
database
Physical Design

When the physical design is complete, the
following aspects will be specified:
– system outputs (e.g., report layouts, screen
designs)
– system inputs
– user interface
– platforms (HW, SW)
– program design
– detailed test plan
– database
– conversion plan
Programming

programming and documenting code
Testing

System pieces and later, the entire
system, are run for purpose of finding
errors
Conversion

Plan to move from old system to new
system
– parallel - old and new systems run together
– direct - turn off old, turn on new
– phased - convert new system in
increments by function
– pilot - introduce system to one
organizational area before proceeding to
the remainder of the org.
Post-implementation Review

evaluating system after it is in
production (i.e. after installed and in use
for awhile)

post-implementation audit
– Did we do what we said we would do?
Cyclical nature of SDLC

when an analyst finishes one phase and
proceeds to the next, the discovery of a
problem may force the analyst to go
back to the previous phase
Limitations of SDLC


appropriate for building large
transaction processing and
management information systems
where requirements are highly
structured and well-defined
also used for complex technical
systems (e.g. air traffic control) where
formal and rigorous requirements are
needed, along with tight controls
Drawbacks

1. resource intensive - takes lots of
time to gather detailed information and
prepare volumes of specifications
Drawbacks

2. approach is inflexible and inhibits
change – to make changes/ correct errors - repeat
appropriate life cycle activities, but must
generate more documents - substantially
increase development time and costs
– encouraged to freeze system specifications
early in development process - so changes
not encouraged
Drawbacks

3. approach not suited for decision
making applications

decision making tends to be
unstructured;
requirements change/uncertain so
difficult to specify requirements

II. Prototyping

building an experimental system rapidly
and inexpensively for users to evaluate

working version of an IS or part of the
system
preliminary model

Prototyping





iterative process of development
build preliminary design
try it out
refine it
try it out etc.
Prototyping





prototyping much more iterative than
SDLC
promotes design changes
less formal approach than SDLC
quickly generate working model of
system
no detailed specifications
Steps in prototyping





1. identify users’ basic requirements
designer works with user only long
enough to capture
basic needs
2. develop working prototype
designer creates prototype quickly
Steps in prototyping




3. use prototype
user works with prototype to determine
how well it
meets his/her needs
user suggests improvements
Steps in prototyping



4. revise and enhance prototype
designer refines prototype based on
users’ input
repeat steps 3-4 until user satisfied
Prototyping

Approved prototype becomes basis for
final specifications of the system

more rapid, iterative and informal than
SDLC
Advantages of prototyping

useful when uncertainty about
information requirements or design
solutions

e.g. requirements for decision-oriented
systems can be vague -- difficult to
specify
Advantages of prototyping

good for design of user interface (part of
system that end-users interact with)

encourages user involvement
throughout systems development
Disadvantages of Prototyping

should not substitute for careful
requirements analysis

better suited for smaller applications
III. Application software
packages



develop a system by purchasing an
application software package
application software package - set of
prewritten, precoded application
software programs that are
commercially available
packages available for common
functions such as payroll, accounts
receivable, inventory control, etc.
Choose packages when

1. functions common to many
companies

2. information systems resources for inhouse development in short supply

3. developing desktop applications for
end-users
Advantages of packages

buying completed, working system

require less internal resources upgrades received from software
supplier

reduce bottlenecks in systems
development
Disadvantages of Packages

can lack sophistication

lack of integration of several functions

may require customization - modify
package to meet specific needs
IV. Outsourcing



hire external organization to build and/or
operate systems
can outsource all or some of systems
function
advantages and disadvantages
Advantages of Outsourcing




economy - less costly
service quality - may get better service
than from internal development
predictability - outsourcing contract with
fixed price
flexibility - growth without making major
changes in IT infrastructure
Advantages of Outsourcing



making fixed costs variable - pay only
for amount of services used rather than
for maintaining internal system
freeing human resources for other
projects
freeing financial capital - can sell
technology to vendor
Disadvantages of Outsourcing




loss of control over IS function
vulnerability of strategic information trade secrets, proprietary information
dependency on viability of vender - i.e.
financial, quality of services provided
loss of knowledge and expertise
Download