300 likes | 586 Views
Chapter 14: OOSAD Implementation and Operation. Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer. Chapter Objectives. Describe the process of coding, testing, and converting an organizational information system.
E N D
Chapter 14:OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer © Prentice Hall, 2004
Chapter Objectives • Describe the process of coding, testing, and converting an organizational information system. • Apply four installation strategies: direct, parallel, single-location, and phased. • 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. • Explain why systems implementation sometimes fails. • Explain and contrast four types of maintenance. • Describe factors that influence system maintenance costs.
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
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.
Approaches to Reuse low • 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 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
Tests can be manual or automated, and may or may not involve code execution.
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
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
Code walkthrough is one of many types of structured walkthroughs.
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
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
What Is Installation? • The organizational process of turning over from the old information system to the new one • Types: • Direct • Parallel • Single location • Phased
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 – Staged and incremental, supports phased system development, minimize error impact, difficult to coordinate old components and new components
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.
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.
User documentation is often in the form of online help, sometimes with Web connections for further 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
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.
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
What Is System Maintenance? • Changes made to a system to fix or enhance its functionality
System maintenance operates as repeated, miniaturized systems development cycles.
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
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.