old4406-17.ppt
DESCRIPTION
TRANSCRIPT
Lecture 17Lecture 17System Implementation andSystem Implementation and
Maintaining Information Systems Maintaining Information Systems
17.117.1
COSC4406: Software Engineering
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
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
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
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
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
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
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
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
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
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
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
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
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
Direct
Parallel
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
Single Location
Phased
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
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
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
System document focus
End user document focus
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
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
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
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
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
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
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
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
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
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
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
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
Maintaining SystemsMaintaining Systems
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
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
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
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
Types Types
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
Budget change for maintenanceBudget change for maintenance
Documentation eases Documentation eases maintenancemaintenance
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
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
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
Controlling Maintenance RequestsControlling Maintenance Requests
Determine type of requestDetermine type of request– ErrorError– AdaptationAdaptation– EnhancementEnhancement
18.4818.48
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
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
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
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
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
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