Software Development Models
• Water Fall Model
- It is very simple to understand and use. In a
waterfall model, each phase must be completed
before the next phase can begin and there is no
overlapping in the phases.
- The waterfall Model illustrates the software
development process in a linear sequential flow. This
means that any phase in the development process
begins only if the previous phase is complete. In this
waterfall model, the phases do not overlap.
1
Water fall model
2
Software Development Models
• Spiral Model
- It implements the potential for rapid development
of new versions of the software. Using the spiral
model, the software is developed in a series of
incremental releases. During the early iterations, the
additional release may be a paper model or
prototype. During later iterations, more and more
complete versions of the engineered system are
produced.
. 3
Spiral Model
4
System Testing
Objective
1: to make sure that the program
code implements the design
correctly.
2: to ensure that the software does
what the customer wants it to do.
Types of Testing
• Programme testing – Testing Individual
programs
• String Testing – Program Interconnection
Testing
• Combined module testing(System Testing) –
The entire programme testing as a whole
• User Acceptance Testing- How user are
satisfied with the working of system
System Change over or
Conversion
• How to switch from old system to new system
once the system is ready for implementation?
• Consider the facts like system failures and
other risks usually happens during the initial
time of implementation.
7
System Changeover
8
System Changeover
• Direct Cutover
– Involves more risk than other changeover
methods
– Companies often choose the direct cutover
method for implementing commercial software
packages
– Cyclical information systems usually are converted
using the direct cutover method at the beginning
of a quarter, calendar year, or fiscal year
9
System Changeover
• Parallel Operation
– Easier to verify that the new system is working
properly under parallel operation than under direct
cutover
– Running both systems might place a burden on the
operating environment and cause processing delay
– Is not practical if the old and new systems are
incompatible technically
– Also is inappropriate when the two systems perform
different functions
10
System Changeover
• Pilot Operation
– The group that uses the new system first is called the
pilot site
– The old system continues to operate for the entire
organization
– After the system proves successful at the pilot site, it
is implemented in the rest of the organization, usually
using the direct cutover method
– Is a combination of parallel operation and direct
cutover methods
11
System Changeover
• Phased Operation
– You give a part of the system to all users
– The risk of errors or failures is limited to the
implemented module only
– Is less expensive than full parallel operation
– Is not possible, however, if the system cannot be
separated easily into logical modules or segments
12
System Changeover- Cost wise risk
comparison
13
Software Maintenance
The process of modifying a software system or
component after delivery to correct faults, to
improve performance or other attributes, or
adapt to a changed environment
SE, Maintenance, Hans van Vliet, ©2 14
008
Relative distribution of
software/hardware costs
100
Hardware
Development
Percent of total cost
60
Software
20
Maintenance
r
SE, Maintenance, Hans van Vliet, ©2 15
008
Maintenance is thus concerned
with:
• correcting errors found after the software has
been delivered
• adapting the software to changing
requirements, changing environments, ...
SE, Maintenance, Hans van Vliet, ©2 16
008
Kinds of maintenance activities
• Corrective maintenance: correcting errors
• Adaptive maintenance: adapting to changes in
the environment (both hardware and
software)
• Perfective maintenance: adapting to changing
user requirements
• Preventive maintenance: increasing the
system’s maintainability
SE, Maintenance, Hans van Vliet, ©2 17
008
Distribution of maintenance
activities
corrective 21%
perfective 50%
adaptive 25%
preventive 4%
SE, Maintenance, Hans van Vliet, ©2 18
008
Business Process Reengineering
• “Reengineering is the fundamental
rethinking and radical redesign of
business processes to achieve
dramatic improvements in critical,
contemporary measures of
performance such as cost, quality,
service, and speed.”
3
BPR & The Organization
BPR is Not?
• BPR may sometimes be mistaken for the following five tools:
• 1. Automation is an automatic, as opposed to human,
operation or control of a process, equipment or a system; or
the techniques and equipment used to achieve this.
Automation is most often applied to computer (or at least
electronic) control of a manufacturing process.
• 2. Downsizing is the reduction of expenditures in order to
become financial stable. Those expenditures could include
but are not limited to: the total number of employees at a
company, retirements, or spin-off companies.
BPR is Not?
• 3. Outsourcing involves paying another company to
provide the services a company might otherwise
have employed its own staff to perform. Outsourcing
is readily seen in the software development sector.
• 4. Continuous improvement emphasizes small
and measurable refinements to an organization's
current processes and systems. Continuous
improvements’ origins were derived from total
quality management (TQM) and Six Sigma.
What is a Process?
• A specific ordering of work activities across
time and space, with a beginning, an end, and
clearly identified inputs and outputs: a
structure for action.
What is a Business Process?
• A group of logically related tasks that use the
firm's resources to provide customer-oriented
results in support of the organization's
objectives
Why Reengineer?
• Customers
– Demanding
– Sophistication
– Changing Needs
• Competition
– Local
– Global
Customer Demands
• expect us to know everything
• to make the right decisions
• to do it right now
• to do it with less resources
• to make no mistakes
• expect to be fully informed
Why Reengineer?
• Competition
– Local
– Global
• Change
– Technology
– Customer Preferences
Business Process Reengineering
WHY ?
Integrate people, technology, & organizational culture
To Respond to rapidly changing technical & business
environment and customer’s needs to achieve Big
performance gains
Why Organizations Don’t
Reengineer?
• Political Resistance
• New Developments
• Fear of Unknown and Failure
Performance
• BPR seeks improvements of
– Cost
– Quality
– Service
– Speed
Key Steps
Select The Process & Appoint Process Team
Understand The Current Process
Develop & Communicate Vision Of Improved Process
Identify Action Plan
Execute Plan
1. Select the Process & Appoint
Process Team
• Two Crucial Tasks
– Select The Process to be Reengineered
– Appoint the Process Team to Lead the
Reengineering Initiative
Select the Process
• Review Business Strategy and Customer
Requirements
• Select Core Processes
• Understand Customer Needs
• Don’t Assume Anything
Select the Process
• Select Correct Path for Change
• Remember Assumptions can Hide Failures
• Competition and Choice to Go Elsewhere
• Ask - Questionnaires, Meetings, Focus Groups
Appoint the Process Team
• Appoint BPR Champion
• Identify Process Owners
• Establish Executive Improvement Team
• Provide Training to Executive Team
Core Skills Required
• Capacity to view the organization as a whole
• Ability to focus on end-customers
• Ability to challenge fundamental assumptions
• Courage to deliver and venture into unknown
areas
Core Skills Required
• Ability to assume individual and collective
responsibility
Use of Consultants
• Used to generate internal capacity
• Appropriate when a implementation is needed
quickly
• Ensure that adequate consultation is sought
from staff so that the initiative is organization-
led and not consultant-driven
• Control should never be handed over to the
consultant
2. Understand the Current Process
• Develop a Process Overview
• Clearly define the process
– Mission
– Scope
– Boundaries
• Set business and customer
measurements
• Understand customers expectations from
the process (staff including process team)
2. Understand the Current Process
• Clearly Identify Improvement
Opportunities
– Quality
– Rework
• Document the Process
– Cost
– Time
– Value Data
3. Understand the Current Process
• Carefully resolve any inconsistencies
– Existing -- New Process
– Ideal -- Realistic Process
3. Develop & Communicate Vision of
Improved Process
• Communicate with all employees so that they
are aware of the vision of the future
• Always provide information on the progress of
the BPR initiative - good and bad.
• Demonstrate assurance that the BPR initiative
is both necessary and properly managed
3. Develop & Communicate Vision of
Improved Process
• Promote individual development by indicating
options that are available
• Indicate actions required and those
responsible
• Tackle any actions that need resolution
• Direct communication to reinforce new
patterns of desired behavior
4. Identify Action Plan
• Develop an Improvement Plan
• Appoint Process Owners
• Simplify the Process to Reduce Process Time
• Remove any Bureaucracy that may hinder
implementation
4. Identify Action Plan
• Remove no-value-added activities
• Standardize Process and Automate Where
Possible
• Up-grade Equipment
• Plan/schedule the changes
4. Identify Action Plan
• Construct in-house metrics and targets
• Introduce and firmly establish a feedback
system
• Audit, Audit, Audit
5. Execute Plan
• Qualify/certify the process
• Perform periodic qualification reviews
• Define and eliminate process problems
• Evaluate the change impact on the business
and on customers
• Benchmark the process
• Provide advanced team training