Example: tourism industry

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Eighth edition Stephen R. Schach Vanderbilt University i10/06/10 2:36 PM10/06/10 2:36 PMOBJECT-ORIENTED AND Classical Software Engineering , EIGHTH EDITIONP ublished by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Previous editions 2007, 2005, and 2002. No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written consent of The McGraw-Hill Companies, Inc.

object-oriented and classical software engineering, eighth edition Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of …

Tags:

  Edition, Height, Eighth edition

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Object-Oriented and Classical Software Engineering

1 Object-Oriented and Classical Software Engineering Eighth edition Stephen R. Schach Vanderbilt University i10/06/10 2:36 PM10/06/10 2:36 PMOBJECT-ORIENTED AND Classical Software Engineering , EIGHTH EDITIONP ublished by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Previous editions 2007, 2005, and 2002. No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written consent of The McGraw-Hill Companies, Inc.

2 , including, but not limited to, in any network or other electronic storage or transmission, or broadcast for distance ancillaries, including electronic and print components, may not be available to customers outside the United book is printed on acid-free 2 3 4 5 6 7 8 9 0 DOC/DOC 1 0 9 8 7 6 5 4 3 2 1 0 ISBN 978-0-07-337618-9 MHID 0-07-337618-3 Vice President & Editor-in-Chief: Marty LangePublisher: Raghothaman SrinivasanVice President EDP & Central Publishing Services: Kimberly Meriwether DavidDevelopment Editor: Lora NeyensSenior Marketing Manager: Curt ReynoldsProject Manager: Melissa M.

3 LeickBuyer: Kara KudronowiczDesign Coordinator: Brenda A. RolwesCover Designer: Studio Montage, St. Louis, MissouriCover Image: Photodisc/Getty ImagesCompositor: Glyph InternationalTypeface: 10/12 Times RomanPrinter: R. R. DonnelleyAll credits appearing on page or at the end of the book are considered to be an extension of the copyright of Congress Cataloging-in-Publication DataSchach, Stephen R. Object-Oriented and Classical Software Engineering / Stephen R. Schach. 8th ed. p. cm. ISBN-13: 978-0-07-337618-9 (alk.)

4 Paper) ISBN-10: 0-07-337618-3 (alk. paper) 1. Software Engineering . 2. Object-Oriented programming (Computerscience) 3. UML (Computer science) 4. C++ (Computer program language) 2010 17 dc22 ii10/06/10 2:36 PM10/06/10 2:36 PM To Jackson and Mikaela iii10/06/10 2:36 PM10/06/10 2:36 PM The following are registered trademarks: ADF Analyst/Designer Ant Apache Apple AS/400 AT&T Bachman Product Set Bell Laboratories Borland Bugzilla Capability Maturity Model Chrome ClearCase ClearQuest CMM Cocoa Coca-Cola CORBA CppUnit CVS DB2 Eclipse e-Components Emeraude Enterprise JavaBeans eServer Excel Firefox Focus Ford Foundation Class Library FoxBASE GCC Hewlett-Packard IBM IMS/360 Jackpot Source Code Metrics J a v a JBuilder

5 JUnit Linux Lotus 1-2-3 Lucent Technologies MacApp Macintosh Macintosh Toolbox MacProject Microsoft Motif MS-DOS MVS/360 Natural Netscape New York Times Object C Objective-C ObjectWindows Library 1-800-fl Oracle Oracle Developer Suite OS/360 OS/370 OS/VS2 Palm Pilot Parasoft Post-It Note PowerBuilder PREfi x PREfast Project PureCoverage PVCS QARun Rational Requisite Pro Rhapsody Rose SBC Communications SilkTest SLAM Software through Pictures Solaris SourceSafe SPARC station Sun Sun Enterprise Sun Microsystems Sun ONE Studio System Architect Together UNIX VAX Visual Component Library Visual C++ Visual J++ VM/370 VMS Wall Street Journal WebSphere Win32 Windows 95 Windows 2000 Windows NT Word X11 Xrunner XUnit Zip disk ZIP Code z10 iv10/06/10 2:36 PM10/06/10 2.

6 36 PMContentsPreface xiii Chapter 1 The Scope of Software Engineering 1 Learning Objectives 1 Historical Aspects 2 Economic Aspects 5 Maintenance Aspects 6 Classical and Modern Views of Maintenance 9 The Importance of Postdelivery Maintenance 10 Requirements, Analysis, and Design Aspects 12 Team Development Aspects 15 Why There Is No Planning Phase 16 Why There Is No Testing Phase 16 Why There Is No Documentation Phase 17 The Object-Oriented Paradigm 18 The Object-Oriented Paradigm in Perspective 22 Terminology 23 Ethical Issues 26 Chapter Review 27 For Further Reading 27 Key Terms 28 Problems 29 References 30 PART A Software

7 Engineering CONCEPTS 35 Chapter 2 Software Life-Cycle Models 37 Learning Objectives 37 Software Development in Theory 37 Winburg Mini Case Study 38 Lessons of the Winburg Mini Case Study 42 Teal Tractors Mini Case Study 42 Iteration and Incrementation 43 Winburg Mini Case Study Revisited 47 Risks and Other Aspects of Iteration and Incrementation 48 Managing Iteration and Incrementation 51 Other Life-Cycle Models 52 Code-and-Fix Life-Cycle Model 52 Waterfall Life-Cycle Model 53 Rapid-Prototyping Life-Cycle Model 55 Open-Source Life-Cycle Model 56 Agile Processes 59 Synchronize-and-Stabilize Life-Cycle Model 62 Spiral Life-Cycle Model 62 Comparison of Life-Cycle Models 66 Chapter Review 67 For Further Reading 68 Key Terms 69 Problems 69 References

8 70 Chapter 3 The Software Process 74 Learning Objectives 74 The Unifi ed Process 76 Iteration and Incrementation within the Object-Oriented Paradigm 76 The Requirements Workfl ow 78 The Analysis Workfl ow 80 The Design Workfl ow 82 The Implementation Workfl ow 83 The Test Workfl ow 84 Requirements Artifacts 84 Analysis Artifacts 84 Design Artifacts 85 Implementation Artifacts 85 Postdelivery Maintenance 87 v10/06/10 2:36 PM10/06/10 2.

9 36 PMvi Contents Retirement 88 The Phases of the Unifi ed Process 88 The Inception Phase 89 The Elaboration Phase 91 The Construction Phase 92 The Transition Phase 92 One- versus Two-Dimensional Life-Cycle Models 92 Improving the Software Process 94 Capability Maturity Models 95 Other Software Process Improvement Initiatives 98 Costs and Benefi ts of Software Process Improvement 99 Chapter Review 101 For Further Reading 102 Key Terms 102 Problems 103 References 104 Chapter 4 Teams 107 Learning Objectives 107 Team Organization 107 Democratic Team Approach 109 Analysis of the Democratic Team Approach 110 Classical Chief Programmer Team Approach 110 The New York Times Project 112 Impracticality of the Classical

10 Chief Programmer Team Approach 113 Beyond Chief Programmer and Democratic Teams 113 Synchronize-and-Stabilize Teams 117 Teams for Agile Processes 118 Open-Source Programming T