Lecture Note 2

advertisement
Lecture 2
Systems Development Process
http://www.csun.edu/~dn58412/IS531/IS531_SP16.html
Learning Objectives
1. Systems Development Life Cycle vs.
Systems Development Process
2. Zachman Framework and Stakehoders’
Perspectives in Systems Development
3. Classic Phases in Systems Development
Process
IS 531 : Lecture 2
2
Systems Development
Life Cycle (SDLC)
• Systems Development Life Cycle (SDLC) :the
factoring of the lifetime of an information system
into two stages, (1) systems development and (2)
systems operation and maintenance.
• Systems Development Process :a standardized
methodology defines a set of activities, methods,
best practices, deliverables, and tools for system
developers and project managers to develop and
continuously improve information systems and
software.
IS 531 : Lecture 2
3
Systems Development
Life Cycle (SDLC)
• Systems development
life cycle (SDLC) – The
overall process for
developing
information systems
from planning and
analysis through
implementation and
maintenance
IS 531 : Lecture 2
4
Systems Development
Life Cycle (SDLC)
IS 531 : Lecture 2
5
Where Do Systems Development
Projects Come From?
• Problem – an actual undesirable situation that
prevents the organization from fully achieving its
purpose, goals, and/or objectives.
• Opportunity – a chance to improve the
organization even in the absence of an identified
problem (using PIECES framework).
• Directive - a new requirement that is imposed by
management, government, or some external
influence/parties.
IS 531 : Lecture 2
6
PIECES Framework for Systems
Improvement
P
the need to improve performance
I
the need to improve information (and data)
E
the need to improve economics, control costs, or
increase profits
C
the need to improve control or security
E
the need to improve efficiency of people and
processes
S
the need to improve service to customers, suppliers,
partners, employees, etc.
IS 531 : Lecture 2
7
Where Do Systems Development
Projects Come From?
• Planned Projects
– An information systems strategy plan has examined
the business as a whole to identify those system
development projects that will return the greatest
strategic (long-term) value to the business
– A business process redesign has thoroughly
analyzed a series of business processes to eliminate
redundancy and bureaucracy and to improve
efficiency and value added. Now it is time to
design/redesign the supporting information system
for those redesigned business processes.
IS 531 : Lecture 2
8
Where Do Systems Development
Projects Come From?
• Unplanned projects
– Triggered by a specific problem, opportunity, or
directive that occurs in the course of doing business.
– Steering committee – an administrative body of
system owners and information technology
executives that prioritizes and approves candidate
system development projects.
– Backlog – a repository of project proposals that
cannot be funded or staffed because they are a
lower priority than those that have been approved
for system development.
IS 531 : Lecture 2
9
Problem-Solving
• What “problems” to solve: (Project Definition)
– True problem situations, either real or anticipated,
that require corrective action
– Opportunities to improve a situation despite the
absence of complaints
– Directives to change a situation regardless of
whether anyone has complained about the current
situation
IS 531 : Lecture 2
10
Problem-Solving …
• Why: (Project Justification)
– Effective: Do right thing
– Efficient: Do thing right
– Competitive: Do thing differently
IS 531 : Lecture 2
11
Zachman Framework
IS 531 : Lecture 2
12
Perspectives on
an Information System
IS 531 : Lecture 2
13
System Stakeholders
•
•
•
•
•
System owners
System users
System analysts
System designer
System builder
IS 531 : Lecture 2
14
System Owners
• System owners – an information system’s
sponsors and executives advocate, usually
responsible for funding the project of
developing, operating, and maintaining the
information system. They define the SCOPE of
a system: what business problem to be solved
– They view the system in term of cost/benefit to
solve a business problem
IS 531 : Lecture 2
15
System Users
• System users – use or are affected by an
information system on a regular basis –
capturing, validating, entering, responding to,
storing, and exchanging data and information.
They define the REQUIREMENTS of the
system.
– Internal users
– External users
IS 531 : Lecture 2
16
System Designers
• System designers translate system users’
business requirements and constraints into
technical solution: computer databases,
inputs, outputs, networks, and software
meeting the system users’ requirements. Their
activities relate to the DESIGN of a system
IS 531 : Lecture 2
17
System Builders
• System builders constructs information
systems based on the design specifications
from the system designers. Their activities
relate to building the COMPONENTS of the
system.
IS 531 : Lecture 2
18
Systems Analysts
• Systems analysts study the problems and
needs of an organization to determine how
people, data, processes, and information
technology can best accomplish improvements
for the business. They are FACILITATORS of the
system development project.
• A programmer-analyst
• A business analyst / consultant
IS 531 : Lecture 2
19
HIS Professional Involvement
in Systems Development
• User
• Analyst
• Purchaser
• Implementer
• Consultant
• Internal Auditor
• External Auditor
IS 531 : Lecture 2
20
Focuses for
Information Systems
• KNOWLEDGE (Data) — the raw material
used to create useful information.
• PROCESSES — the activities (including
management) that carry out the mission of
the business.
• COMMUNICATION (Interfaces) — how the
system interfaces with its users and other
information systems.
IS 531 : Lecture 2
21
KNOWLEDGE Focus
• System owners’ view
– Interested not in raw data but in information that
adds new business knowledge and information
that help managers make intelligent decisions.
– Data entities and business rules.
IS 531 : Lecture 2
22
KNOWLEDGE Focus . . .
• System users’ view
– Something recorded on forms, stored in file
cabinets, recorded in books and binders,
organized into spreadsheets, or stored in
computer files and databases.
– Focus on the business issues as they pertain to
the data.
– Data requirement – a representation of users’
data in terms of entities, attributes, relationships,
and rules independent of data technology.
IS 531 : Lecture 2
23
KNOWLEDGE Focus . . .
• System designers’ view
– Data structures, database schemas, fields,
indexes, and constraints of particular database
management system (DBMS).
• System builders’ view
– Coding
– DBMS or other data technologies
IS 531 : Lecture 2
24
PROCESS Focus
• System owners’ view
– concerned with high-level process
– Business function – a group of related processes that
support the business. Functions can be decomposed into
other sub-functions, activities, tasks.
– A cross-functional information system – a system that
supports relevant business processes from several
functions within organizational boundaries.
IS 531 : Lecture 2
25
PROCESS Focus . . .
• System users’ view
– concerned with work that must be performed to provide
the appropriate responses to business events.
– Business processes – activities that respond to business
events.
– Process requirements – a user’s expectation of the
processing requirements for a business process and its
information systems.
– Policy – a set of rules that govern a business process.
– Procedure – a step-by-step set of instructions and logic
for accomplishing a business process.
– Work flow – the flow of transactions through business
processes to ensure appropriate checks and approvals
are implemented.IS 531 : Lecture 2
26
PROCESS Focus . . .
• System designers’ view
– Concerned with which processes to automate
and how to automate them
– Constrained by limitations of application
development technologies being used
– Software specifications – the technical design of
business processes to be automated or
supported by computer programs (off-shelf, inhouse) to be written by system builders.
IS 531 : Lecture 2
27
PROCESS Focus . . .
• System builders’ view
– Concerned with programming logic that
implements automated processes
– Application program – a language-based,
machine-readable representation of what a
software process is supposed to do, or how a
software process is supposed to accomplish its
task.
– Prototyping – a technique for quickly building a
functioning, but incomplete model of the
information system using rapid application
development tools.
IS 531 : Lecture 2
28
COMMUNICATION Focus
• System owners’ view
– Concerned with communications scope of an
information system.
• Who (which business units, employees, customers,
and partners) must interact with the system?
• Where are these business units, employees,
customers, and partners located?
• What other information systems will the system
have to interface with?
• System users’ view
– Concerned with the information system’s inputs and
outputs (Interface Requirements).
IS 531 : Lecture 2
29
COMMUNICATION Focus . . .
• System designers’ view
– Concerned with the technical design of both the
user and the system-to-system communication
interfaces.
– Interface specifications – technical designs that
document how system users are to interact with a
system and how a system interacts with other
systems.
– User dialogue – a specification of how the user
moves from window to window or page to page,
interacting with the application programs to
perform useful work.
IS 531 : Lecture 2
30
COMMUNICATION Focus . . .
• System builders’ view
– Concerned with the construction, installation,
testing and implementation of user and systemto-system interface solutions.
– Middleware – utility software that allows
application software and systems software that
utilize differing technologies to interoperate.
IS 531 : Lecture 2
31
Systems Development Objectives
• To ensure the information system satisfies an
organization’s informational and operational
needs (product-oriented objective).
• To develop/acquire an information system in
an efficient and effective manner (processoriented objective).
IS 531 : Lecture 2
32
Characteristics of a Systems
Development Methodology
• Divide project into identifiable processes, each
having a starting and ending point.
• Produce deliverables to monitor process.
• Require signoffs.
• Test system before implementation.
• Conduct training.
• Use program change controls.
• Conduct post-implementation review.
IS 531 : Lecture 2
33
Classic Systems
Development Process
IS 531 : Lecture 2
34
Systems Development
Process Phases
•
•
•
•
•
•
•
•
Scope Definition Phase
Problem Analysis Phase
Requirement Analysis Phase
Logical Design
Decision Analysis Phase
Design Phase
Construction Phase
Implementation Phase
IS 531 : Lecture 2
35
1. Scope Definition
• Purpose: define perceived problems, opportunities,
and directives ; assess the risk of project; establish scope,
preliminary requirements and constraints, participants,
budget and schedule (preliminary study)
• Issues: Is the project worthwhile? (using PIECES
framework) Define the scope of project
• Deliverable: Project charter/plan
•Feasibility check: Cancel project / Approve to continue
/ Reduce or expanse the scope with budget and schedule
modification
IS 531 : Lecture 2
36
2. Problem Analysis
• Purpose: to study and analyze the existing system
from the users’ perspectives as they see Data,
Processes, and Interfaces
• Issue: Cost/benefits of building new system to solve
these problems
• Deliverable: system improvement objectives
(business criteria to evaluate the new system)
• Feasibility check: Cancel project / Approve to
continue / Reduce or expanse the scope with budget
and schedule modification
IS 531 : Lecture 2
37
3. Requirement Analysis
• Purpose: discover users’ needs or expectations out of
the new system in terms of Data, Processes, and
Interfaces
• Issue: Specify requirements for the new system
(WHAT TO BE DONE) without prematurely expressing
technical details (HOW)
• Errors and omissions in requirement analysis result in
user dissatisfaction of final system and costly
modifications
• Deliverable: business requirements statement
IS 531 : Lecture 2
38
4. Logical Design
• Purpose: translating business user requirements
into a system model that depicts only WHAT TO DO
without specifying any possible technical design or
implementation of those requirements (conceptual
design).
• Issue: using graphical model of a system to
represent user requirements in terms of Data,
Processes and Interfaces, and to facilitate improved
communication between system stakeholders.
IS 531 : Lecture 2
39
5. Decision Analysis
• Purpose: identify all candidate solutions, analyze the
feasibility of each candidate, recommend a candidate
system as the target solution
• Issue: Feasibility analysis in terms of technical,
operational, economic, schedule (TOES), and risk
•Deliverable: approved system proposal
•Feasibility check: Cancel project / Approve system
proposal with budget and schedule modification /
Reduce the scope of proposed solution with budget
and schedule modification
IS 531 : Lecture 2
40
6. Physical Design
• Purpose: to transform business requirements into
technical design specifications for construction
• Issue: HOW technology will be used to build the
system in terms of Data, Processes, and Interfaces
• Design by Specifications vs. Design by Prototyping
• Deliverable: System design specifications (blueprints)
•Feasibility check: Continue/ Reduce or expanse the
scope with budget and schedule modification
IS 531 : Lecture 2
41
7. Construction Phase
• Purpose: to build and test a system that fulfill
business requirements and design specs; implement
interfaces between new and existing systems
• Issue: Construct database, application programs,
user/system interfaces, implement purchased or
leased software
• Deliverable: proposed system within budget and
schedule
IS 531 : Lecture 2
42
8. Implementation Phase
• Purpose: deliver the production system into
operation
• Issue: Train users, write manuals, load files,
populate database, final test
• Conversion plan: parallel systems, switch point
• Deliverable: system up and running
IS 531 : Lecture 2
43
Operation and Support
• Ongoing system support would be provided until
the system becomes obsolete and is replaced by a
new one
• Issues: technical support for user, fixing bugs,
recovering plan, adapt to emerging requirements
• When a system has reached entropy, new project
for new system should be initiated
IS 531 : Lecture 2
44
Summary:
Systems Development Process
• Scope Definition Phase: What Business Problem
• Problem Analysis Phase: What System Issues (Info/Data,
Processes, Communications/Interfaces)
• Requirement Analysis Phase: What User Needs
• Logical Design: (Conceptual Model) – What to Do
• Decision Analysis Phase: What Solution
• Design Phase: (Physical Model) - How IT Can Do
• Construction Phase: Do It
• Implementation Phase: Use It
IS 531 : Lecture 2
45
Systems Development as
Problem Solving
IS 531 : Lecture 2
46
Feasibility Analysis
• Technical feasibility is a measure of the practicality of a
specific technical solution and the availability of technical
resources and expertise.
• Operational feasibility is a measure of how well the
solution will work in the organization. It is also a measure
of how people feel about the system/project.
• Economic feasibility is a measure of the costeffectiveness of a project or solution.
• Schedule feasibility is a measure of how reasonable the
project timetable is.
• Risk feasibility – What is the probability of a successful
implementation using the technology and approach?
(Risk Management)
IS 531 : Lecture 2
47
Costs and Benefits
• Direct costs (benefits): directly attributable to
the system or the system change.
– Direct costs include equipment purchased,
personnel salaries, site preparation, and materials
and supplies.
– Direct benefits include items such as reduced
personnel and hardware costs, and improved data
reliability.
IS 531 : Lecture 2
48
Costs and Benefits . . .
• Indirect costs (benefits): not directly
attributable to the system or the system
change.
– Indirect costs are those associate with overhead
expenses, such as personnel fringe benefits and
utilities.
– Indirect benefits are most difficult to quantify.
Ex: an indirect benefit is increased revenue
resulting from improved customer support
IS 531 : Lecture 2
49
Costs and Benefits ...
• Tangible costs (benefits): can be reasonably
quantified.
– Costs include software purchases and insurance
– Benefits include reduced equipment costs and
increased revenue.
• Intangible cost (benefit): cannot be reasonably
quantified.
– Costs include productivity loss caused by low
employee morale.
– Benefits may accrue from improved information.
IS 531 : Lecture 2
50
Costs and Benefits ...
• Nonrecurring costs, such as those for systems
development, are incurred only once to get
the system operational (development costs).
• Recurring costs, such as those for equipment
rental, occur throughout all or most of the
system’s life (operational costs).
IS 531 : Lecture 2
51
Economic Feasibility
• Payback Analysis
– Payback analysis is to determine if and when an
investment will pay for itself.
– Payback period is the period of time that will
lapse before accrued benefits overtake accrued
and continuing costs.
• Net Present Value
– a dollar today is worth more than a dollar one
year from now
– Discount rate : a percentage that the business
earns on investing money in other projects or
investments: opportunity cost
IS 531 : Lecture 2
52
Economic Feasibility …
• Return-on-Investment (ROI) Analysis
– Lifetime ROI =(estimated lifetime benefits –
estimated lifetime costs) / estimated lifetime
costs
– Annual ROI = lifetime ROI / lifetime of the
system
IS 531 : Lecture 2
53
Scheduling Strategies
• Forward Scheduling – a project
scheduling approach that establishes a
project start date and then schedules
forward from that date.
• Reverse Scheduling – a project scheduling
strategy that establishes a project
deadline and then schedules backward
from that date.
IS 531 : Lecture 2
54
Project Initiation
5-3-2001
N/A
5-3-2001
N/A
PERT Chart
Task
Scheduled Scheduled
Start
Finish
Actual
Actual Start
Finish
Preliminary Investigation
5-3-2001
5-12-2001
5-3-2001
5-11-2001
Problem Analysis
Task
intertask
dependency
Scheduled Scheduled
Start
Finish
Actual
Actual Start
Finish
Legend
Requirements Analysis
Decision Analysis
5-12-2001
6-12-2001
5-28-2001
7-15-2001
6-13-2001
7-30-2001
5-12-2001
6-14-2001
5-30-2001
7-18-2001
6-13-2001
8-3-2001
Design
Construction
7-3-2001
9-25-2001
7-19-2001
11-13-2001
7-5-2001
10-9-2001
7-20-2001
In Progress
Implementation
IS 531 : Lecture 2
9-10-2001
12-14-2001
TBD
TBD
55
Critical Path
TASKD
Duration
Tue 2/20/01 7 days
Tue 2/20/01 0 days
TASKA
TASKB
TASKC
Mon 2/5/01 3 days
Wed 2/7/01 2 days
Fri 2/9/01
Mon 2/5/01 0 days
Wed 2/7/01 0 days
Fri 2/9/01
TASKE
TASKI
2 days
Mon 2/19/016 days
Tue 2/27/01 5 days
0 days
Tue 2/20/01 1 day
Tue 2/27/01 0 days
TASKF
TASKG
Wed 2/14/013 days
Fri 2/16/01 2 days
Fri 2/16/01 2 days
Tue 2/20/01 2 days
Slack Time
TASKH
Thu 2/15/01 1 day
Tue 2/20/01 3 days
IS 531 : Lecture 2
56
Gantt Chart
ID
Task Name
2001
May
1
Preliminary investigation
2
Problem analysis
3
Requirements analysis
4
Decision analysis
5
Design
6
Construction
7
Implementation
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Today
Complete Task
Legend
Incomplete Task
IS 531 : Lecture 2
57
In-Sourcing Vs. Outsourcing
• In-sourcing (Build) –Uses professional
expertise within an organization to develop
and maintain its information technology
systems
• Outsourcing (Buy) – Obtains services from
a software developer
IS 531 : Lecture 2
58
Tasks for “Build” Option
• Design the Application Architecture
– Defines technologies to be used and used to build
• Design the System Databases
– Database schema
• Design the System Interface
– User Interfaces: Input, output, and dialogue
specifications
• Package Design Specifications
– Specifications for programmers
IS 531 : Lecture 2
59
Tasks for “Buy” Option
•
•
•
•
Research Technical Criteria and Options
Solicit Proposals/Quotes from Vendors
Validate Vendor Claims and Performances
Evaluate and Rank Vendor Proposals: Gap Analysis
on the differences between proposed and desired
features. Also Cost/Benefit Analysis.
• Contract “Winning” Vendor and Debrief “Losing”
Vendors
IS 531 : Lecture 2
60
Systems Acceptance Test
• Systems Acceptance Test – a test performed
on the final system wherein users conduct a
verification, validation, and audit test.
– Uses real data over an extended time period
– Extensive test that addresses: verification testing,
validation testing, and audit testing.
•Verification Testing runs the system in a simulated
environment using simulated data.
– Checks for errors and omissions regarding end-use and
design specifications
IS 531 : Lecture 2
61
Systems Acceptance Test …
• Validation testing runs the system in a live
environment using real data.
– Testing:
• Systems performance (throughput and response time)
• Peak workload performance
• Human engineering
• Methods and procedures
• Backup and recovery
• Audit testing certifies that the system is free of errors
and is ready to be placed into operation.
IS 531 : Lecture 2
62
Tasks in Implementation Phase
•
•
•
•
•
Conduct System Test
Prepare Conversion Plan
Install Databases
Train Users
Convert to New System
IS 531 : Lecture 2
63
System Conversion
IS 531 : Lecture 2
64
Installation/Conversion
Approaches
Abrupt
Cutover
R
i
s
k
Location
Conversion
Staged
Conversion
Parallel
Conversion
Cost
IS 531 : Lecture 2
65
Post-Implementation Review
• Post-implementation review: examination of
a working information system, conducted
soon after that system’s implementation, to
determine if:
– user’s requirements have been satisfied
– development effort was efficient and conducted in
accordance with the organization’s systems
development standards.
IS 531 : Lecture 2
66
Post Implementation Review…
• Determine if the user is satisfied with the new
system.
• Identify how well the system’s achieved
performance corresponds to the performance
requirements, recommending improvements
if necessary.
• Evaluate the quality of the new system’s
documentation, training programs, and data
conversions.
IS 531 : Lecture 2
67
Post Implementation Review…
• Ascertain that the organization’s project
management framework and SDLC were followed
during development.
• Recommend improvements to the systems
development/acquisition standards manual if
necessary.
• Improve the cost/effectiveness analysis process by
reviewing cost projections and benefit estimations
and determining the degree to which these were
achieved.
IS 531 : Lecture 2
68
System Support Activities
• Program Maintenance corrects “bugs” or errors
that slipped through the system development
process.
• System Recovery is the restoration of the system
and data after a system failure.
• Technical Support is any assistance provided to
users in response to inexperience or unanticipated
situations.
• System Enhancement is the improvement of the
system to handle new business problems, new
technical problems, or new technology
requirements.
IS 531 : Lecture 2
69
System Maintenance
Objectives
• To make predictable changes to existing programs to
correct errors.
• To preserve those aspects of the programs that were
correct, and to avoid “ripple effects” of changes that
may adversely affect the correctly functioning
aspects.
• To avoid, as much as possible, the degradation of
system performance.
• To complete the task as quickly as possible without
sacrificing quality and reliability of the system.
IS 531 : Lecture 2
70
System Obsolescence
• All systems degrade over time (entropy)
• At some point, not cost-effective to support
and maintain
• Leads to a new systems development project
• New cycle of SDLC
IS 531 : Lecture 2
71
Typical Contents of
a Systems Proposal
IS 531 : Lecture 2
72
Measures of Project Success
• The resulting information system is
acceptable to the user.
• The system was delivered “on time.”
• The system was delivered “within budget.”
• The system development process had a
minimal impact on ongoing organizational
operations.
IS 531 : Lecture 2
73
Download