Seven Major Activities
Seven Major Activities
Maintenance
Seven major activities
Coding
Testing
Installation
Documentation
Training
Support
Maintenance
Purpose
To convert final physical system specifications into working
and reliable software
To document work that has been done
To provide help for current and future users
The Process of Coding,
Testing and Installation
Coding
Physical design specifications are turned into
working computer code
Testing
Tests are performed using various strategies
Testing can be performed in parallel with coding
Installation
Process during which the current system is
replaced by the new system
Coding, Testing & Installation:
Deliverables
Action Deliverable
Coding Code
Program Documentation
Testing Test scenarios (test plan) and test data
Results of program and system testing
Installation User guides
User training plans
Installation and conversion plan
Software Quality Problems
Inaccurate requirements
Design problems
Coding errors
Faulty documentation
Ineffective testing
Quality Assurance
ISO 9000-3
A framework for developing and
maintaining software
Software Engineering
A software development process hat
stresses solid design, effective structure,
accurate documentation and careful
testing.
Capability Maturity Models for Software
Five Maturity Levels
Initial
The software process is characterized as ad hoc,
maybe even chaotic. Few processes are defined,
and success depends on individual effort and
heroics.
Repeatable
Basic project management processes are
established to track cost, schedule, and
functionality. The necessary process discipline is
in place to repeat earlier successes on projects
with similar applications.
Five Maturity Levels
Defined
The software process is documented, standardized, and
integrated. All projects use an approved, tailored version of
the organization's standard software process for developing
and maintaining software.
Managed
Detailed measures of the software process and product
quality are collected. Both the software process and
products are quantitatively understood and controlled.
Optimizing
Continuous process improvement is enabled by quantitative
feedback from the process and from piloting innovative
ideas and technologies.
Software Application Testing
A test plan is developed during the analysis
phase
During the design phase, a unit test plan, an
integration test plan and a system test plan
are developed
The actual testing is done during
implementation
Test plans provide improved communication
among all parties involved in testing
Serve as checklists
Types of Testing
Inspection
A testing technique in which participants examine
program code for predictable language-specific
errors
Walkthrough
A peer group review of any product created during
the systems development process; also called a
structured walkthrough
Desk Checking
A testing technique in which the program code is
sequentially executed manually by the reviewer
Types of Testing
Unit Testing
Each module is tested alone in an attempt to
discover any errors in its code, also called module
testing
Integration Testing
The process of bringing together all of the
modules that a program comprises for testing
purposes. Modules are typically integrated in a
top-down, incremental fashion
Types of Testing
Stub Testing
A technique used in testing, especially where
modules are written and tested in a top-down
fashion, where a few lines of code are used to
substitute for subordinate modules
System Testing
Requirements testing
Usability testing
Security testing
Documentation testing
The Testing Process
1. The purpose of the testing is confirming that
the system satisfies requirements
2. Testing must be planned
Test Case
A specific scenario of transactions, queries or
navigation paths that represent a typical, critical
or abnormal use of the system
Test cases and results should be thoroughly
documented so they can be repeated for each
revision of an application
Acceptance Testing by Users
Alpha Testing
User testing of a completed information system using
simulated data
Recovery testing
Forces the software (or environment) to fail in order to
verify that recovery is properly performed
Security testing
Verifies that protection mechanisms built into the system
will protect it from improper penetration
Stress testing
Tries to break the system
Performance testing
Determines how the system performs on the range of
possible environments in which it may be used
Acceptance Testing by Users
Beta Testing
User testing of a completed information
system using real data in the real user
environment
Installation
The organizational process of changing over
from the current information system to a new
one
Four approaches
Direct Installation
Changing over from the old information system to a new
one by turning off the old system when the new one is
turned on
Parallel Installation
Running the old information system and the new one at
the same time until management decides the old system
can be turned off
Installation
Single location (Pilot) installation
Trying out an information system at one site
and using the experience to decide if and how
the new system should be deployed
throughout the organization
Phased Installation
Changing from the old information system to
the new one incrementally, starting with one
or a few functional components and then
gradually extending the installation to cover
the whole new system
Planning Installation
Considerations
Data conversion
Error correction
Loading from current system
Planned system shutdown
Business cycle of organization
Documenting the System, Training
Users and Supporting Users
Two audiences for documentation
The information systems personnel who will maintain the system
throughout its productive life
The people who will use the system as part of their daily lives
Deliverables
Documentation
System documentation
User documentation
User training plan
Classes
Tutorials
User training modules
Training materials
Computer-based training aids
User support plan
Help desk
On-line help
Bulletin boards and other support mechanisms
Documenting The System
System documentation
Detailed information about a system’s design
specifications, its internal workings and its
functionality
Internal documentation
System documentation that is part of the program source
code or is generated at compile time
External documentation
System documentation that includes the outcome of
structured diagramming techniques such as data flow
and entity relationship diagrams and data dictionary
entries
Documenting The System
User Documentation
Reference documents
To perform a specific function
Procedures manuals
To perform a business task (several functions)
Tutorials
To use major components of the system
Designed to be read in sequence
Training Information System
Users