Construction Chapter 15 Slide 1 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Key Definitions Construction is the development of all parts of the software itself, documentation, and new operating procedures. Testing is a form of insurance. It costs more to repair software bugs when people are depending on the programs than in earlier stages before the systems are in use. Documentation provides information to make the system easier to use and repair. Slide 2 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Main Tasks of Managing the Programming Effort Assigning the programmers Coordinating the activities Managing the schedule Slide 3 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. The Programmer Paradox After an appropriate number of people are assigned to a programming task, adding more people slows down rather than speeds up completion of the project. When projects are so complex they require a large team, the best strategy is to break the project into a series of smaller parts that can function as independently as possible. Slide 4 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Managing the Schedule Use initial time estimates as a baseline Revise time estimates as construction proceeds Fight against scope creep Monitor “minor” slippage Create risk assessment and track changing risks Fight the temptation to lower quality to meet unreasonable schedule demands Slide 5 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Avoid Classic Mistakes 1. Research-oriented development If you use state-of-the art technology, lengthen planned time 2. Using “low-cost” personnel If using a significant number of entry level personnel, lengthen planned time 3. Lack of code control Use source code library to keep programmers from changing the same code at the same time 4. Inadequate testing Always allocate sufficient time for formal testing Slide 6 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Designing Tests The purpose is not to demonstrate that the system is free of errors; The purpose is to detect as many errors as possible Slide 7 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Testing Philosophy It is dangerous to test early modules without an overall testing plan It may be difficult to reproduce sequence of events causing an error Testing must be done systematically and results documented carefully Slide 8 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Stages of Testing Unit testing Tests each module to assure that it performs its function Integration testing Tests the interaction of modules to assure that they work together System testing Tests to assure that the software works well as part of the overall system Acceptance testing Tests to assure that the system serves organizational needs Slide 9 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Error Discover Rates Slide 10 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Testing and ObjectOrientation Encapsulation and information hiding Polymorphism and dynamic binding Inheritance Reuse OO Development process and products Slide 11 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Test Planning Address all products created during development Test completeness of CRC cards Test cases Stubs Slide 12 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Class Test Plan Slide 13 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Unit Testing Black Box Testing Focuses on whether the unit meets requirements stated in specification White-Box Testing Looks inside the module to test its major elements Slide 14 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Integration Testing User interface testing Tests each interface function Use-case testing Ensures that each use case works correctly Interaction testing Tests each process in a step-by-step fashion System interface testing Ensures data transfer between systems Slide 15 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. System Testing Requirements Testing Ensures that integration did not cause new errors Usability Testing Tests how easy and error-free the system is in use Security Testing Assures that security functions are handled properly Performance Testing Assures that the system works under high volumes of activity Documentation Testing Analysts check that documentation and examples work properly Slide 16 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Acceptance Testing Alpha Testing Repeats tests by users to assure they accept the system Beta Testing Uses real data, not test data Slide 17 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Your Turn According to the text book, testing is even more important in object oriented than in traditional systems development. Why do you think the authors feel this way? Provide three examples of problems that can occur between design and use of new OO systems? Slide 18 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. DEVELOPING DOCUMENTATION Slide 19 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. User Documentation Intended to help users operate the system High quality documentation takes about 3 hours per page The task should not be left to the end of the project Time required to develop and test user documentation should be built into project plan On-line documentation is growing in importance Slide 20 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Types of User Documentation Reference documents Procedures manuals Tutorials Slide 21 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Designing the Documentation Structure Documentation navigation controls Documentation topics Commands and menus Common tasks Definitions Slide 22 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Organizing On-Line Reference Documents Slide 23 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Guidelines for Crafting Documentation Topics Use the active voice Minimize use of “to be” verbs Use consistent terms Use simple language Use friendly language Use parallel grammatical structure Use steps correctly Use short paragraphs Slide 24 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Figure 15-11 Goes Here PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Summary The project manager needs to manage coordination, scheduling, and overall effectiveness of the project. Testing begins early in the development process and continues looking to find problems throughout the development lifecycle. Documentation helps the user quickly assimilate the new technology and provide assistance in transitioning to the new business processes. Slide 29 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Expanding the Domain An extensive example of on-line documentation of the Java language is available at the Sun Corporation website: http://java.sun.com/j2se/javadoc/ Slide 30 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Expanding the Domain An excellent source of information about many aspects of computing can be found through the IEEE Computing Society, and in particular through their software development conferences. See the following for a list of proceedings: http://www.computer.org/proceedings/compsac Slide 31 PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.