Unit 10
Implementation and Operation
Key ConceptsImplementation deliverablesDocumentationCodingReuseTestingInstallationTrainingSupportFactors for successMaintenance
What Is Coding?
Translation of physical design specifications into working computer code
Coding involves use of programming languages such as Java or Visual Basic
Coding often involves reuse and/or modification of existing components and objects
eXtreme programming – an intensive coding and testing approach involving two-person teams and customer involvement
ReuseThe use of previously written software
resources, especially objects and components, in new applications
Results in great savings of system development time
Object-oriented systems are very conducive to reuse.
Approaches to ReuseAd hoc – individual, unplanned
reuse
Facilitated – reuse informally managed and disseminated by expert guru evangelists
Managed – organizationally enforced reuse policies and practices
Designed – reusable components developed and maintained in-house
Co
st a
nd c
om
mitm
ent
low
high
What Is Software Application Testing?Manual and automated procedures for
validating correctness of program code, including syntactical and execution issues
Testing Syntax – grammatical rules applied to programming languages
Testing Execution – logic and performance of the software during operation
Categorization of Test Types Tests can be manual or automated, and may or
may not involve code execution.
Without code executionManual – inspectionsAutomated – syntax checking
With code executionManual – walkthroughs and desk-checkingAutomated – unit, integration, system, and stub
testing
Tests Without Program ExecutionInspections (manual)
Participants examine program code for predictable, language-specific errors
Syntax checking (automated)Compiler or interpreter tests source code for
grammatical errors while translating to executable format
Manual Tests With Program Execution
Desk checkingtrace through the logic of the code,
identifying possible logical errors
WalkthroughsLike desk-checking, but in a group-oriented,
more structured process
Code walkthrough is one of many types of structured walkthroughs.
Automated Tests With Program Execution
Unit tests – a module tested in isolation to discover any errors in its code
Integration tests – bringing together all objects and components that a program comprises for testing purposes
System tests – testing all programs and applications together to ensure performance and reliability
Acceptance tests – user-satisfaction tests
A test case is a specific scenario of transactions, queries, or navigation paths that represent a typical, abnormal, or critical use of the system.
Allows repeated testing with each application change
Acceptance TestingThe process whereby actual users test a
completed information system, ending with user acceptance of the system
Two phasesAlpha testing – user testing of a completed
information system using simulated dataBeta testing – user testing of a completed
information system using real data in the real user environment
Specific Elements of Alpha TestingRecovery testing – force the software or
environment to fail to verify if recovery is performed correctly
Security testing – verify that protection mechanisms correctly prevent improper penetration
Stress testing – try to break the system (e.g. incomplete database records or overloaded transaction volume)
Performance testing – test in a variety of platforms to ensure consistent response times and performance
Installation OverviewInstallation is organizational process of turning over
from the old information system to the new oneKey concerns include:
Conversion of old data to new systemPotential of system downtime during installationAbility to rollback if problems occurTraining users to new the new system before
installationAvailable support for users of the new systemPossible requirement to run old and new systems side-
by-side How to keep data synchronized between new and old systems
Thorough testing of installation procedures before live deployment
Installation TypesTypes:
Direct installation – changing from old to new system by turning off the old system when the new one is turned on
Parallel installation – running old and new systems at the same time until management decides to turn off the old one
Single location installation – trying the new system at one site before deciding to adopt it across the organization
Phased installation – incrementally changing from the old system to the new system by gradually converting functional components
Direct – cold turkey, low cost, greater impact of errors
Parallel – old and new coexist, minimize error impact, high cost in system resources
Single Location – Pilot approach, allows learning and minimizes error impact, lower resource demand than parallel, difficult to coordinate and maintain
Phased – Incremental, supports phased system development, minimizes error impact, difficult to coordinate old and new components
Types of DocumentationSystem – detailed information about a
system’s design specifications, its inner workings, and its functionality
User – written or other visual information about an application system, how it works, and how to use it.
Types of System DocumentationInternal – comments in source code,
generated during the coding process or automatically by software compilers or documenters
External – outcomes of all structured diagrams, including use cases, design classes, activity and sequence diagrams, etc.
User documentation is often in the form of online help…
… sometimes with Web connections for more information.
What Is Training and Support?Providing on-going educational and
problem-solving assistance to information systems users
Training and support material and jobs must be designed along with the associated information systems
Possible Topics for Training
Use of the systemGeneral computer conceptsInformaiton systems conceptsOrganizational conceptsSystem managementSystem installation
Training methods can be interpersonal, manual, or automated.
Electronic Performance Support Systems (EPSS), like Microsoft Office Assistant, are components of software applications that embed training and information for the user, in the form of tutorials, expert systems, and hyperlink jumps to reference topics.
What is System Support?Providing ongoing education and problem
solving assistance to information systems users.
Support materials and jobs must be designed along with the associated information system.
Automated Support
Manual support is often too labor-intensive, so when possible automated approaches are used
Common methods:Online support forumsBulletin board systemsOn-demand faxVoice-response systems
Help Desks and Information CentersHelp desk – a single point of contact for all
user inquiries and problems about a particular information system or for all users in a particular department
Information center – an organizational unit whose mission is to support users in exploiting information technology
Critical Success Factors for Implementation Success
Risk management
Commitment to project
Commitment to change
Extent of project definition and planning
Realistic user expectations
Critical Success Factors for Implementation Success (cont.)
Relevance of system for users’ work
Ease of use
User demographics (e.g. computer savvy)
Support of user creativity
User satisfaction
Maintaining Information Systems Four major activities:
1. Obtaining maintenance requests2. Transforming requests into changes3. Designing changes4. Implementing changes
Maintenance is a subset of the activities of the entire development process.
What Is System Maintenance?Changes made to a system to fix or
enhance its functionality
Maintenance Cost FactorsLatent defectsNumber of customers for the systemQuality of system documentationQuality of maintenance personnelAvailability of automated toolsQuality of program code and system design
Measures of Maintenance Effectiveness
Number of failures
Mean time between failures (MTBF)
Type of failure
Maintenance requests can be frequent.
Priorities among requests should be made based on the type and urgency of the request.