14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Chapter © Prentice Hall, 2004 Chapter Objectives Af ter studying this chapter you should be able to: – Describe the process of coding, testing, and converting an organizational information system. – Apply four installation strategies: direct, parallel, single-location, and phased.
Chapter © Prentice Hall, 2004 Chapter Objectives (Continued) Af ter studying this chapter you should be able to: – List the deliverables for documenting the system and providing user training and support. – Compare various training modes. – Discuss the issues of providing support to end users.
Chapter © Prentice Hall, 2004 Chapter Objectives (Continued) Af ter studying this chapter you should be able to: – Explain why systems implementation sometimes fails. – Explain and contrast four types of maintenance. – Describe factors that influence system maintenance costs.
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004 What Is Coding? Translation of physical design specifications into working computer code Coding involves use of programming languages such as Java or Visual Basic eXtreme programming – an intensive coding and testing approach involving two-person teams and customer involvement
Chapter © Prentice Hall, 2004 Reuse The 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.
Chapter © Prentice Hall, 2004 Approaches to Reuse Ad hoc – individual, unplanned use Facilitated – use informally managed and disseminated by expert guru evangelists Managed – organizationally enforced reuse policies and practices Designed – reusable components developed and maintained in-house Cost and commitment low high
Chapter © Prentice Hall, 2004 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
Chapter © Prentice Hall, 2004 Tests can be manual or automated, and may or may not involve code execution.
Chapter © Prentice Hall, 2004 Tests Without Program Execution Inspections (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
Chapter © Prentice Hall, 2004 Manual Tests With Program Execution Desk checking – trace through the logic of the code, identifying possible logical errors Walkthroughs – Like desk-checking, but in a group-oriented, more structured process
Chapter © Prentice Hall, 2004 Code walkthrough is one of many types of structured walkthroughs.
Chapter © Prentice Hall, 2004 Automated Tests With Program Execution Unit tests – a module tested in isolation for internal consistency Integration tests – testing all modules and components of the application together for interaction compatibilities System tests – testing all programs and applications together to ensure performance and reliability Acceptance tests – user-satisfaction tests
Chapter © Prentice Hall, 2004 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
Chapter © Prentice Hall, 2004 What Is Installation? The organizational process of turning over from the old information system to the new one Types: – Direct – Parallel – Single location – Phased
Chapter © Prentice Hall, 2004 Direct – Cold turkey, low cost, greater impact of errors
Chapter © Prentice Hall, 2004 Parallel – old and new coexist, minimize error impact, high cost in system resources
Chapter © Prentice Hall, 2004 Single Location – Pilot approach, allows learning and minimizes error impact, lower resource demand than parallel, difficult to coordinate and maintain
Chapter © Prentice Hall, 2004 Phased – Staged and incremental, supports phased system development, minimize error impact, difficult to coordinate old components and new components
Chapter © Prentice Hall, 2004 Types of Documentation System – 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.
Chapter © Prentice Hall, 2004 Types of System Documentation Internal – 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.
Chapter © Prentice Hall, 2004 User documentation is often in the form of online help, sometimes with Web connections for further information.
Chapter © Prentice Hall, 2004 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
Chapter © Prentice Hall, 2004 Training methods can be interpersonal, manual, or automated.
Chapter © Prentice Hall, 2004 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.
Chapter © Prentice Hall, 2004 Help Desks and Information Centers Help 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
Chapter © Prentice Hall, 2004 What Is System Maintenance? Changes made to a system to fix or enhance its functionality
Chapter © Prentice Hall, 2004 System maintenance operates as repeated, miniaturized systems development cycles.
Chapter © Prentice Hall, 2004 Maintenance requests can be frequent. Priorities among requests should be made based on the type and urgency of the request.
Chapter © Prentice Hall, 2004 Maintenance Cost Factors Latent defects Number of customers for the system Quality of system documentation Quality of maintenance personnel Availability of automated tools Quality of program code and system design
Chapter © Prentice Hall, 2004 Recap After studying this chapter we learned to: – Describe coding, testing, and converting. – Apply four installation strategies. – Generate system and user documentation. – Compare training modes. – Discuss techniques of user support. – Discuss maintenance types. – Discuss maintenance cost factors.