old4406-17.ppt

54
Lecture 17 Lecture 17 System Implementation and System Implementation and Maintaining Information Maintaining Information Systems Systems 17. 1 COSC4406: Software Engineering

Upload: softwarecentral

Post on 01-Nov-2014

983 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: OLD4406-17.ppt

Lecture 17Lecture 17System Implementation andSystem Implementation and

Maintaining Information Systems Maintaining Information Systems

17.117.1

COSC4406: Software Engineering

Page 2: OLD4406-17.ppt

Learning ObjectivesLearning Objectives The process of coding, testing and converting The process of coding, testing and converting

an organizational information systeman organizational information system Installation strategiesInstallation strategies Documentation are necessary for a given Documentation are necessary for a given

information systeminformation system Compare the many modes available for Compare the many modes available for

system trainingsystem training Support to end usersSupport to end users System implementation failureSystem implementation failure The factor and political models of the The factor and political models of the

implementation processimplementation process

17.217.2

Page 3: OLD4406-17.ppt

System ImplementationSystem Implementation

Six major activitiesSix major activities– CodingCoding– TestingTesting– InstallationInstallation– DocumentationDocumentation– TrainingTraining– SupportSupport

PurposePurpose– To convert final physical system specifications into To convert final physical system specifications into

working and reliable softwareworking and reliable software– To document work that has been doneTo document work that has been done– To provide help for current and future usersTo provide help for current and future users

17.317.3

Page 4: OLD4406-17.ppt

The Process of Coding, Testing The Process of Coding, Testing and Installationand Installation

CodingCoding– Physical design specifications are turned into Physical design specifications are turned into

working computer codeworking computer code

TestingTesting– Tests are performed using various strategiesTests are performed using various strategies– Testing can be performed in parallel with codingTesting can be performed in parallel with coding

InstallationInstallation– Process during which the current system is Process during which the current system is

replaced by the new systemreplaced by the new system

17.417.4

Page 5: OLD4406-17.ppt

The Process of Documenting the System, The Process of Documenting the System, Training Users and Supporting UsersTraining Users and Supporting Users

Two audiences for documentationTwo audiences for documentation– The information systems personnel who will maintain the system The information systems personnel who will maintain the system

throughout its productive lifethroughout its productive life– The people who will use the system as part of their daily livesThe people who will use the system as part of their daily lives

DeliverablesDeliverables– DocumentationDocumentation

System documentationSystem documentationUser documentationUser documentation

– User training planUser training planClassesClassesTutorialsTutorials

– User training modulesUser training modulesTraining materialsTraining materialsComputer-based training aidsComputer-based training aids

– User support planUser support planHelp deskHelp deskOn-line helpOn-line helpBulletin boards and other support mechanismsBulletin boards and other support mechanisms

17.517.5

Page 6: OLD4406-17.ppt

Software Application TestingSoftware Application Testing

A test plan is developed during the analysis A test plan is developed during the analysis phasephaseDuring the design phase, a unit test plan and During the design phase, a unit test plan and a system test plan are developeda system test plan are developedThe actual testing is done during The actual testing is done during implementationimplementationTest plans provide improved communication Test plans provide improved communication among all parties involved in testingamong all parties involved in testing– Serve as checklistsServe as checklists

17.617.6

Page 7: OLD4406-17.ppt

Software Application TestingSoftware Application TestingTypes of TestingTypes of Testing

InspectionInspection– A testing technique in which participants examine A testing technique in which participants examine

program code for predictable language-specific program code for predictable language-specific errorserrors

WalkthroughWalkthrough– A peer group review of any product created during A peer group review of any product created during

the systems development process; also called a the systems development process; also called a structured walkthroughstructured walkthrough

Desk CheckingDesk Checking– A testing technique in which the program code is A testing technique in which the program code is

sequentially executed manually by the reviewersequentially executed manually by the reviewer

17.717.7

Page 8: OLD4406-17.ppt

Software Application TestingSoftware Application TestingTypes of TestingTypes of Testing

Unit TestingUnit Testing– Each module is tested alone in an attempt Each module is tested alone in an attempt

to discover any errors in its code, also to discover any errors in its code, also called module testingcalled module testing

Integration TestingIntegration Testing– The process of combining modules and The process of combining modules and

test them. test them.

17.817.8

Page 9: OLD4406-17.ppt

Software Application TestingSoftware Application TestingTypes of TestingTypes of Testing

System TestingSystem Testing– The bringing together of all the programs that a The bringing together of all the programs that a

system comprises for testing purposes. Programs system comprises for testing purposes. Programs are typically integrated in a top-down, incremental are typically integrated in a top-down, incremental fashionfashion

Stub TestingStub Testing– A technique used in testing, especially where A technique used in testing, especially where

modules are written and tested in a top-down modules are written and tested in a top-down fashion, where a few lines of code are used to fashion, where a few lines of code are used to substitute the subordinate modulessubstitute the subordinate modules

17.917.9

Page 10: OLD4406-17.ppt

Software Application TestingSoftware Application TestingThe Testing ProcessThe Testing Process

1.1. The purpose of the testing is confirming that The purpose of the testing is confirming that the system satisfies requirementsthe system satisfies requirements

2.2. Testing must be plannedTesting must be plannedTest CaseTest Case

– A specific scenario of transactions, queries or A specific scenario of transactions, queries or navigation paths that represent a typical, critical navigation paths that represent a typical, critical or abnormal use of the systemor abnormal use of the system

– Test cases and results should be thoroughly Test cases and results should be thoroughly documented so they can be repeated for each documented so they can be repeated for each revision of an applicationrevision of an application

17.1017.10

Page 11: OLD4406-17.ppt

Software Application TestingSoftware Application TestingeXtreme ProgrammingeXtreme Programming

Coding and testing are intimately related Coding and testing are intimately related parts of the same processparts of the same processCode is written, integrated into system and Code is written, integrated into system and then testedthen testedIterative process of testing, fixing bugs and Iterative process of testing, fixing bugs and re-testingre-testingAll coding is done by two people working All coding is done by two people working togethertogether

17.1117.11

Page 12: OLD4406-17.ppt

Software Application TestingSoftware Application TestingAcceptance Testing by UsersAcceptance Testing by UsersThe process whereby actual users test a The process whereby actual users test a completed information system, the end completed information system, the end result of which is the users’ acceptance of itresult of which is the users’ acceptance of itAlpha TestingAlpha Testing– User testing of a completed information system User testing of a completed information system

using simulated datausing simulated data– Recovery testingRecovery testing

Forces the software (or environment) to fail in order Forces the software (or environment) to fail in order to verify that recovery is properly performedto verify that recovery is properly performed

– Security testingSecurity testingVerifies that protection mechanisms built into the Verifies that protection mechanisms built into the system will protect it from improper penetrationsystem will protect it from improper penetration

17.1217.12

Page 13: OLD4406-17.ppt

Software Application TestingSoftware Application TestingAcceptance Testing by UsersAcceptance Testing by Users

Alpha Testing (Cont’d)Alpha Testing (Cont’d)– Stress testingStress testing

Tries to break the systemTries to break the system– Performance testingPerformance testing

Determines how the system performs on the Determines how the system performs on the range of possible environments in which it may range of possible environments in which it may be usedbe used

Beta TestingBeta Testing– User testing of a completed information User testing of a completed information

system using real data in the real user system using real data in the real user environmentenvironment

17.1317.13

Page 14: OLD4406-17.ppt

InstallationInstallation

The organizational process of changing over The organizational process of changing over from the current information system to a new from the current information system to a new oneoneFour approachesFour approaches

– Direct InstallationDirect InstallationChanging over from the old information system to a new Changing over from the old information system to a new one by turning off the old system when the new one is one by turning off the old system when the new one is turned onturned on

– Parallel InstallationParallel InstallationRunning the old information system and the new one at the Running the old information system and the new one at the same time until management decides the old system can same time until management decides the old system can be turned offbe turned off

17.1417.14

Page 15: OLD4406-17.ppt

Direct

Parallel

Page 16: OLD4406-17.ppt

InstallationInstallation

– Single location installationSingle location installationTrying out an information system at one site and Trying out an information system at one site and using the experience to decide if and how the using the experience to decide if and how the new system should be deployed throughout the new system should be deployed throughout the organizationorganization

– Phased InstallationPhased InstallationChanging from the old information system to the Changing from the old information system to the new one incrementally, starting with one or a few new one incrementally, starting with one or a few functional components and then gradually functional components and then gradually extending the installation to cover the whole new extending the installation to cover the whole new systemsystem

17.1617.16

Page 17: OLD4406-17.ppt

Single Location

Phased

Page 18: OLD4406-17.ppt

Planning InstallationPlanning Installation

ConsiderationsConsiderations– Data conversionData conversion

Error correctionError correction

Loading from current systemLoading from current system

– Planned system shutdownPlanned system shutdown– Business cycle of organizationBusiness cycle of organization

17.1817.18

Page 19: OLD4406-17.ppt

Documenting The SystemDocumenting The System

System documentationSystem documentation– Detailed information about a system’s design Detailed information about a system’s design

specifications, its internal workings and its specifications, its internal workings and its functionalityfunctionality

– Internal documentationInternal documentationSystem documentation that is part of the program System documentation that is part of the program source code or is generated at compile timesource code or is generated at compile time

– External documentationExternal documentationSystem documentation that includes the outcome System documentation that includes the outcome of structured diagramming techniques such as of structured diagramming techniques such as data flow and entity-relationship diagramsdata flow and entity-relationship diagrams

17.1917.19

Page 20: OLD4406-17.ppt

Documenting The SystemDocumenting The System

User DocumentationUser Documentation– Written or other visual information about an Written or other visual information about an

application system, how it works, and how application system, how it works, and how to use itto use it

Preparing user documentationPreparing user documentation– Traditional source has been information Traditional source has been information

systems departmentsystems department– Application-oriented documentation is now Application-oriented documentation is now

often supplied by vendors and users often supplied by vendors and users themselvesthemselves

17.2017.20

Page 21: OLD4406-17.ppt

System document focus

Page 22: OLD4406-17.ppt

End user document focus

Page 23: OLD4406-17.ppt

Training Information System Training Information System UsersUsers

Potential training topicsPotential training topics– Use of the systemUse of the system– General computer conceptsGeneral computer concepts– Information system conceptsInformation system concepts– Organizational conceptsOrganizational concepts– System managementSystem management– System installationSystem installation

17.2317.23

Page 24: OLD4406-17.ppt

Training Information System UsersTraining Information System UsersTraining methodsTraining methods

– Resident expertResident expert– Computer-aided instructionComputer-aided instruction– Formal coursesFormal courses– Software help componentsSoftware help components– TutorialsTutorials– Interactive training manualsInteractive training manuals– External sources, such as vendorsExternal sources, such as vendors

Electronic performance support system Electronic performance support system (EPSS)(EPSS)

– Component of a software package or application Component of a software package or application in which training and educational information is in which training and educational information is embeddedembedded

17.2417.24

Page 25: OLD4406-17.ppt
Page 26: OLD4406-17.ppt

Supporting Information System Supporting Information System UsersUsers

Support is extremely important to usersSupport is extremely important to users– J.D. Power and Associates survey found user J.D. Power and Associates survey found user

support to be number one criterion contributing support to be number one criterion contributing to user satisfaction with personal computingto user satisfaction with personal computing

Most organizations provide support by two Most organizations provide support by two meansmeans– Information centerInformation center– Help deskHelp desk

17.2617.26

Page 27: OLD4406-17.ppt

Supporting Information System UsersSupporting Information System UsersInformation CenterInformation Center

An organizational unit whose mission is to support users An organizational unit whose mission is to support users in exploiting information technologyin exploiting information technology

Staff might perform the following tasksStaff might perform the following tasks– Install new hardware or software and set up user accountsInstall new hardware or software and set up user accounts– Consult with users writing programs in fourth-generation Consult with users writing programs in fourth-generation

languageslanguages– Extract data from organizational databases onto personal Extract data from organizational databases onto personal

computerscomputers– Answer basic on-demand questionsAnswer basic on-demand questions– Provide a demonstration site for viewing hardware and softwareProvide a demonstration site for viewing hardware and software– Work with users to submit system change requestsWork with users to submit system change requests

17.2717.27

Page 28: OLD4406-17.ppt

Supporting Information System UsersSupporting Information System Users

Automating SupportAutomating Support– On-line support forumOn-line support forum– Bulletin board system (BBS)Bulletin board system (BBS)– On-demand faxOn-demand fax– Voice-response systemVoice-response system

Help DeskHelp Desk– A single point of contact for all user inquiries and A single point of contact for all user inquiries and

problems about a particular information system or problems about a particular information system or for all users in a particular departmentfor all users in a particular department

17.2817.28

Page 29: OLD4406-17.ppt

Why Implementation Sometimes Why Implementation Sometimes FailsFails

Two conditions necessary for a Two conditions necessary for a successful implementationsuccessful implementation– Management support of the system under Management support of the system under

developmentdevelopment– Involvement of users in the development Involvement of users in the development

processprocess– P600P600

17.2917.29

Page 30: OLD4406-17.ppt

Why Implementation Sometimes Why Implementation Sometimes FailsFails

Insights about implementation processInsights about implementation process– RiskRisk– Commitment to the projectCommitment to the project– Commitment to changeCommitment to change– Extent of project definition and planningExtent of project definition and planning– Realistic user expectationsRealistic user expectations

Implementation success factorsImplementation success factors– Extent to which system is usedExtent to which system is used– User’s satisfaction with systemUser’s satisfaction with system

17.3017.30

Page 31: OLD4406-17.ppt

Factor Models of Factor Models of Implementation SuccessImplementation Success

User’s personal stakeUser’s personal stake

System characteristicsSystem characteristics

Organization supportOrganization support

PerformancePerformance

SatisfactionSatisfactionLucas’s model

Page 32: OLD4406-17.ppt

Political Implementation ModelsPolitical Implementation Models

Individuals who work in an organization Individuals who work in an organization have their own self-interested goals, which have their own self-interested goals, which they pursue in addition to the goals of their they pursue in addition to the goals of their departments and the goals of their departments and the goals of their organizations.organizations.

Power is not distributed evenly in Power is not distributed evenly in organizationsorganizations

Page 33: OLD4406-17.ppt

Project Close DownProject Close Down

Evaluate teamEvaluate team– Reassign members to other projectsReassign members to other projects

Notify all affected parties that the Notify all affected parties that the development project is ending and that development project is ending and that you are switching to operation and you are switching to operation and maintenance modemaintenance modeConduct post-project reviewsConduct post-project reviewsClose out customer contractClose out customer contract– Formal signoffFormal signoff

17.3317.33

Page 34: OLD4406-17.ppt

SummarySummaryProcess of coding, testing and converting an Process of coding, testing and converting an organizational information systemorganizational information systemSeven testing techniquesSeven testing techniques– InspectionInspection– WalkthroughWalkthrough– Desk CheckingDesk Checking– Unit testingUnit testing– System testingSystem testing– Integration testingIntegration testing– Stub testingStub testing

Four installation strategiesFour installation strategies– DirectDirect– ParallelParallel– Single locationSingle location– Phased installationPhased installation

17.3417.34

Page 35: OLD4406-17.ppt

SummarySummary

DocumentationDocumentation– SystemSystem– UserUser

User trainingUser trainingProviding support for end usersProviding support for end usersSystems implementation failuresSystems implementation failuresInternet developmentInternet developmentProject ClosedownProject Closedown

17.3517.35

Page 36: OLD4406-17.ppt

Maintaining SystemsMaintaining Systems

Page 37: OLD4406-17.ppt

Learning ObjectivesLearning Objectives

Explain and contrast four types of maintenanceExplain and contrast four types of maintenance Describe several factors that influence the cost of Describe several factors that influence the cost of

maintaining an information systemmaintaining an information system Describe maintenance management issues including Describe maintenance management issues including

alternative organizational structures, quality alternative organizational structures, quality measurement, processes for handling change measurement, processes for handling change requests and configuration managementrequests and configuration management

Explain the role of CASE when maintaining Explain the role of CASE when maintaining information systemsinformation systems

18.37

18.37

Page 38: OLD4406-17.ppt

The Process of Maintaining The Process of Maintaining Information SystemsInformation Systems

Process of returning to the beginning of Process of returning to the beginning of the SDLC and repeating development the SDLC and repeating development steps focusing on system change until steps focusing on system change until the change is implementedthe change is implementedFour major activitiesFour major activities– Obtaining maintenance requestsObtaining maintenance requests– Transforming requests into changesTransforming requests into changes– Designing changesDesigning changes– Implementing changesImplementing changes

18.38

18.38

Page 39: OLD4406-17.ppt

The Process of Maintaining The Process of Maintaining Information SystemsInformation Systems

MaintenanceMaintenance– Changes made to a system to fix or Changes made to a system to fix or

enhance its functionalityenhance its functionality

Deliverables and OutcomesDeliverables and Outcomes– Development of a new version of the Development of a new version of the

software and new versions of all design software and new versions of all design documents created or modified during the documents created or modified during the maintenance effortmaintenance effort

18.39

18.39

Page 40: OLD4406-17.ppt

Conducting System MaintenanceConducting System MaintenanceCorrective maintenanceCorrective maintenance

– Changes made to a system to repair flaws in its Changes made to a system to repair flaws in its design, coding, or implementationdesign, coding, or implementation

Adaptive maintenanceAdaptive maintenance– Changes made to a system to evolve its Changes made to a system to evolve its

functionality to changing business needs or functionality to changing business needs or technologiestechnologies

Perfective maintenancePerfective maintenance– Changes made to a system to add new features Changes made to a system to add new features

or to improve performanceor to improve performance

Preventive maintenancePreventive maintenance– Changes made to a system to avoid possible Changes made to a system to avoid possible

future problemsfuture problems18.40

18.40

Page 41: OLD4406-17.ppt

Types Types

Page 42: OLD4406-17.ppt

Conducting System MaintenanceConducting System MaintenanceThe Cost of MaintenanceThe Cost of Maintenance

Many organizations allocate eighty percent Many organizations allocate eighty percent of information systems budget to of information systems budget to maintenancemaintenanceFactors that influence system Factors that influence system maintainabilitymaintainability

– Latent defectsLatent defects– Number of customers for a given systemNumber of customers for a given system– Quality of system documentation (Fig. 18-7)Quality of system documentation (Fig. 18-7)– Maintenance personnelMaintenance personnel– ToolsTools– Software structuresSoftware structures

18.42

18.42

Page 43: OLD4406-17.ppt

Budget change for maintenanceBudget change for maintenance

Page 44: OLD4406-17.ppt

Documentation eases Documentation eases maintenancemaintenance

Page 45: OLD4406-17.ppt

Conducting System MaintenanceConducting System MaintenanceManaging MaintenanceManaging Maintenance

Number of people working in maintenance Number of people working in maintenance has surpassed number working in has surpassed number working in developmentdevelopmentThree possible organizational structuresThree possible organizational structures– SeparateSeparate

Maintenance group consists of different personnel than Maintenance group consists of different personnel than development groupdevelopment group

– CombinedCombinedDevelopers also maintain systemsDevelopers also maintain systems

– FunctionalFunctionalMaintenance personnel work within the functional Maintenance personnel work within the functional business unitbusiness unit

18.45

18.45

Page 46: OLD4406-17.ppt

Conducting System MaintenanceConducting System MaintenanceManaging MaintenanceManaging Maintenance

Assignment of personnelAssignment of personnel– Maintenance work is often viewed negatively by IS Maintenance work is often viewed negatively by IS

personnelpersonnel– Organizations have historically have rewarded Organizations have historically have rewarded

people involved in new development better than people involved in new development better than maintenance personnelmaintenance personnel

– Organizations often rotate personnel in and out of Organizations often rotate personnel in and out of maintenance roles in order to lessen negative maintenance roles in order to lessen negative feelings about maintenancefeelings about maintenance

18.46

18.46

Page 47: OLD4406-17.ppt

Conducting System MaintenanceConducting System MaintenanceMeasures of EffectivenessMeasures of Effectiveness

Number of failuresNumber of failures

Time between each failureTime between each failure

Type of failureType of failure

Mean time between failures (MTBF)Mean time between failures (MTBF)– A measurement of error occurrences that A measurement of error occurrences that

can be tracked over time to indicate the can be tracked over time to indicate the quality of a systemquality of a system

18.47

18.47

Page 48: OLD4406-17.ppt

Controlling Maintenance RequestsControlling Maintenance Requests

Determine type of requestDetermine type of request– ErrorError– AdaptationAdaptation– EnhancementEnhancement

18.4818.48

Page 49: OLD4406-17.ppt

Configuration ManagementConfiguration Management

The process of assuring that only authorized The process of assuring that only authorized changes are made to the systemchanges are made to the systemBaseline modulesBaseline modules

– Software modules that have been tested, documented, and Software modules that have been tested, documented, and approved to be included in the most recently created approved to be included in the most recently created version of a systemversion of a system

System librarianSystem librarian– A person responsible for controlling the checking out and A person responsible for controlling the checking out and

checking in of baseline modules when a system is being checking in of baseline modules when a system is being developed or maintaineddeveloped or maintained

Build routinesBuild routines– Guidelines that list the instructions to construct an Guidelines that list the instructions to construct an

executable system from the baseline source codeexecutable system from the baseline source code

18.4918.49

Page 50: OLD4406-17.ppt

Role of CASE and Automated Role of CASE and Automated Development Tools in MaintenanceDevelopment Tools in Maintenance

Traditional systems Traditional systems developmentdevelopment– Emphasis on coding and Emphasis on coding and

testingtesting– Changes are implemented Changes are implemented

by coding and testing firstby coding and testing first– Documentation is done Documentation is done

after maintenance is after maintenance is performedperformed

– Keeping documentation Keeping documentation current is often neglected current is often neglected due to time-consuming due to time-consuming nature of tasknature of task

Development with CASEDevelopment with CASE– Emphasis is on design Emphasis is on design

documentsdocuments– Changes are implemented Changes are implemented

in design documents. in design documents. – Code is regenerated using Code is regenerated using

code generatorscode generators– Documentation is updated Documentation is updated

during maintenanceduring maintenance

18.5018.50

Page 51: OLD4406-17.ppt

Website MaintenanceWebsite Maintenance

Special considerationsSpecial considerations– 24 X 7 X 36524 X 7 X 365

Nature of continuous availability makes maintenance Nature of continuous availability makes maintenance challengingchallenging

Pages under maintenance can be lockedPages under maintenance can be locked

Date and time stampsDate and time stamps

– Check for broken linksCheck for broken links– HTML ValidationHTML Validation

Pages should be processed by a code validation routine Pages should be processed by a code validation routine before publicationbefore publication

18.5118.51

Page 52: OLD4406-17.ppt

Website MaintenanceWebsite Maintenance

Special considerations (continued)Special considerations (continued)– Re-registrationRe-registration

When content significantly changes, site may need When content significantly changes, site may need to be re-registered with search enginesto be re-registered with search engines

– Future EditionsFuture EditionsConsistency is important to usersConsistency is important to users

Post indications of future changes to the sitePost indications of future changes to the site

Batch changesBatch changes

18.5218.52

Page 53: OLD4406-17.ppt

SummarySummaryMaintenanceMaintenance– CorrectiveCorrective– AdaptiveAdaptive– PerfectivePerfective– PreventivePreventive

Cost of maintenanceCost of maintenanceManaging MaintenanceManaging MaintenanceMeasuring effectiveness of maintenanceMeasuring effectiveness of maintenanceControlling maintenance requestsControlling maintenance requestsConfiguration managementConfiguration managementRole of CASE and Automated Development Tools in Role of CASE and Automated Development Tools in MaintenanceMaintenanceWebsite MaintenanceWebsite Maintenance

18.5318.53

Page 54: OLD4406-17.ppt

SummarySummary

Controlling maintenance requestsControlling maintenance requests

Configuration managementConfiguration management

Role of CASE and Automated Role of CASE and Automated Development Tools in MaintenanceDevelopment Tools in Maintenance

Website MaintenanceWebsite Maintenance

18.5418.54