ccsb223/sad/chapter141 chapter 14 implementing and maintaining the system

47
CCSB223/SAD/CHAPTER14 1 Chapter 14 Implementing and Maintaining the System

Upload: giles-nash

Post on 26-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 1

Chapter 14

Implementing and

Maintaining the System

Page 2: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 2

Learning Objectives Understand the activities

associated with the system implementation phase of the SDLC

Understand the range of appropriate test procedures for a given application

Identify and select the most suitable conversion strategy for a new application

Page 3: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 3

Learning Objectives Understand the various types of

user and system documentation Understand the activities and

constraints associated with the systems maintenance phase of the SDLC

Page 4: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 4

What is System Implementation?

Activities that ensure the new system is fully functional and operational

Activities that turn over control of the new system to the end users

Page 5: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 5

System Implementation Application testing and user

acceptance User training and final

documentation System installation and conversion

Page 6: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 6

Application Testing Testing categories

Code inspection Structured walk-through Desk check Module testing

Page 7: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 7

Manual Test Automated Test

Static

Inspection

Syntax Check

Dynamic

Walk-through Desk Check

Unit Test

Integration Test System Test

Table 14-1. Classification of Software Tests

Page 8: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 8

Code Inspection Inspect the actual code for the

occurrence of certain types of programming errors

Focus on errors that may not be syntactically or grammatically incorrect but may cause the logic of the code to fail

Page 9: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 9

C++ Inspection Checklist 1 VARIABLE DECLARATIONS 1.1 Arrays 1.1.1 Is an array dimensioned to a hard-coded constant?

int intarray[13]; should be

int intarray[TOT_MONTHS+1]; 1.1.2 Is the array dimensioned to the total number of items?

char entry[TOTAL_ENTRIES]; should be

char entry[LAST_ENTRY+1]; The first example is extremely error-prone and often gives rise to off-by-one errors in the code. The preferred (second) method permits the writer to use the LAST_ENTRY identifier to refer to the last item in the array. Instances which require a buffer of a certain size are rarely rendered invalid by this practice, which results in the buffer being one element bigger than absolutely necessary. 1.2 Constants 1.2.1 Does the value of the variable never change?

int months_in_year = 12; should be

const unsigned months_in_year = 12; 1.2.2 Are constants declared with the preprocessor #define mechanism?

#define MAX_FILES 20 should be

const unsigned MAX_FILES = 20;

Figure 14-1. Excerpt From a Formal Code Inspection Checklist for C++

Page 10: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 10

Structured Walkthrough To test whether the code actually

performs the functions intended by the designer

Close examination of the embedded logic in the code

Page 11: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 11

Desk Check Focuses on the actual execution of

the code One or more programmers who are

not responsible for the actual writing of the codes work through a hard copy of source code

Page 12: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 12

Module Testing Also referred to as Unit Test Focuses on ascertaining the successful

execution of each application module prior to integrating it with other tested modules

One of the primary black-box testing methods

Test Driver is written to facilitate the test

Page 13: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 13

Stub Testing Top-down testing scenario

The highest-level control module is tested first

The lower-level modules are simulated by a program stub designed to simply accept control from a high-level module and return it back to that module

Page 14: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 14

Figure 14-2. Stub Testing Using a Top-Down Approach

Page 15: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 15

Integration Testing Focus on testing the behavior of an

entire group of modules to identify errors that either were not, or could not be detected at the unit level

Page 16: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 16

Integration Testing Integration strategies

All at once (big-bang) Top-down Bottom-up Critical piece first

Page 17: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 17

Figure 14-3. Combined Module and Integration Testing Strategy

Page 18: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 18

System Testing Focus on the behavior of the entire

system The goal is to have no errors or

anomalies remaining Build-and-smoke test

Page 19: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 19

User Acceptance Test User verifies that the delivered and

installed product is ready to be put into production use

Alpha Test (verification test) Done by the client at the developer’s

site Beta Test (validation test)

Conducted by the end users at their own site

Page 20: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 20

User Acceptance Test Script

Designed to verify that the major functions are properly operating in their most common mode

A testing script is hierarchically organized by subsystem and function

Page 21: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 21

Table 14-2. The 16 Commandments of User Acceptance Testing

Page 22: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 22

Installing the System Tasks:

System conversion Final documentation End user training

Page 23: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 23

System Conversion Direct conversion

The old system is simply turned off, and the new system is turned on in its place

Should be considered only in extreme circumstances where no other conversion strategy is viable

Also referred to as slam dunk or cold-turkey strategy

Page 24: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 24

System Conversion Parallel Conversion

The old and new systems are run simultaneously until the end users are fully satisfied that the new system is functioning correctly and the old system is no longer necessary

Page 25: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 25

System Conversion Pilot Conversion

Allows for the conversion to the new system, using either direct or parallel method, at a single location

Page 26: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 26

System Conversion Phased Conversion

Allows for the new system to be brought on-line as a series of functional components that are logically ordered so as to minimize disruption to the end users and the flow of business

Page 27: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 27

Figure 14-4. Comparison of System Conversion Strategies

Page 28: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 28

Table 14-3. General Documentation Deliverable Guidelines for SDLC

Page 29: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 29

Figure 14-5. Example of an On-line Help System

Page 30: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 30

User Documentation To provide the end users with a

detailed and highly organized description of how to interact with the system

On-line documentation (context-sensitive help)

Page 31: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 31

User Documentation Topics and functions

Procedure General reference Tutorial

Page 32: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 32

Figure 14-6. Example of a Context-Sensitive Help System

Page 33: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 33

System Documentation Describe the design specification,

the internals of the system, the as-built program code, and the functionality of all modules

To assist and support personnel responsible for maintaining the final system

Page 34: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 34

User Training and Support User training design and content

One-size-fits-all training program is not a desirable structure for training

Users need to be trained on how to use the system to perform their respective jobs

Page 35: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 35

User Training and Support User training methods and delivery

Traditional classroom One-on-one training Self-paced or computer-based

training Training schedule must be closely

linked to the conversion strategy

Page 36: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 36

Post-Implementation Activities To correct errors or faults in the

system Provide changes to affect

performance improvement Adapt the system to changes in

the operating environment

Page 37: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 37

Figure 14-7. Relative Distribution of Costs Across SDLC Activities

Maintenance61%

Programming26%

Analysis/Design

6%

Implementation7%

Page 38: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 38

System Maintenance Change requests

Identifying and implementing changes to the system that add or enhance functionality

Change control steering committee

Page 39: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 39

1.0 SCI Identification This section identifies the software change initiative (SCI) for which a change has been requested. 1.1 Name, identification and description of SCI(s) The name, version/control numbers of the SCI is specified, including page numbers if a document is involved. A brief description is provided. 1.2 Requester The name of the person requesting the change 1.3 Contact information How to contact the requester. 1.4 Date, location, and time When and where the change was requested 2.0 Description of the change This section presents a brief description of the requested change 2.1 Description This section presents a detailed description of the circumstances that precipitated the change request and the request desired. 2.2.1 Underlying circumstances Background information regarding the request. 2.2.2 Examples Supporting information, e.g., printouts containing an error in a report or an incorrect screen image 2.2.3 The change A detailed discussion of the change requested.

Figure 14-8. Sample Content for a Software Change Request

Page 40: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 40

System Maintenance Corrective Maintenance

Fix bugs and logical errors not detected during the implementation testing period

Adaptive Maintenance Modifying existing functions or adding

new functionality to accommodate changes in the operating environment

Page 41: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 41

System Maintenance Perfective Maintenance

Changes made to an existing system to improve the performance of a function or interface

Preventive Maintenance Activities intended to reduce the

chances of a system failure or extend the capacity of a current system’s useful life

Page 42: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 42

System Maintenance Preventive maintenance activities

Hardware maintenance to keep electromechanical equipment operating correctly

Replacement of hardware components to keep the equipment up to current specifications

Updating of system software Testing and analysis of system reports Maintenance of system documentation

Page 43: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 43

System Maintenance System Maintenance Costs

There is a direct link between the cost of absolute availability and the cost of downtime

Maintenance can account for a significant portion of the total IS budget

Page 44: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 44

System Maintenance Cost Estimation of Downtime

Productivity loss Downtime that has a negative impact on

individual or workgroup productivity

Productivity Loss = (# of Affected Users) x (Percentage Effect on Productivity / 100) x (Average Burdened Salary per Hour) x (Hours of Downtime)

Page 45: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 45

System Maintenance Cost Estimation of Downtime

Business loss Downtime that affects transactions or

result in customer losses Business Loss =

(# of Affected Users) x (Percentage Effect on Productivity / 100) x (Average Profit per Employee Hour) x (Hours of

Downtime) Or

(# of Transactions per Hour) x (Percentage of Affected Transactions / 100) x (Average Profit per Transaction) x

(Hours of Downtime)

- End -

Page 46: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 46

Chapter Summary When you first experience the world of

SAD, the details of the methodology in place may differ from what you learned from this text.

The underlying concepts, principles, and objectives will most certainly be consistent with what you have learned, and you will be able to adapt easily to the new environment.

Page 47: CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System

CCSB223/SAD/CHAPTER14 47

Chapter 14

End of Chapter