英文 软体工程--用Java语言描述


英文 软体工程--用Java语言描述

文章插图
软体工程--用Java语言描述(英文)【英文 软体工程--用Java语言描述】《软体工程--用Java语言描述(英文)》是1999-03年机械工业出版社出版的图书,作者是斯查(美)
基本介绍作者:斯查(美)
ISBN:9787111067146
页数:618
定价:51.00
出版社:机械工业出版社
出版时间:1999-03
装帧:平装
作品目录BRlEF CONTENTSPrologue 1PART 1Introduction to theSoftware ProcessCNAPTER lScope of Soflware EngineeringCNAPTER 2The Software Process andIts ProblemsCNAPTER 3Software Life-Cycle ModelsCMAPTER 4Stepwise Retinement, CASE, andOther Tools of the TradeCNAPTER 5Testing PrinciplesCHAPTER 6Introduction to ObjectsPART 2The Phases of the Software ProcessCNAPTER lRequirements PhaseCNAPTER 8Specification PhaseCMAPTERObject-OrientedAnalysis PhaseCMAPTER lOPlanning PhaseCMAPTER llDesign PhaseCNAPTER 12implementation PhaseCMAPTER 13Implementation andIntegration PhaseCMAPTERMaintenance PhaseEpilogueAppendicesAPPENDlX AOsbert Oglesby, Art DealerAPPENDlX BSoftwareEngineering ResourcesAPPEHDlX CMSG Case Study:Rapid PrototypeAPPENDlX DMSG Case Study: StructuredSystems AnalysisBRIEFCONTENTSAPPENDIX EMSG Case Study:Object-Oriented AnalysisAPPBNDIX FMSG Case Study: Software ProjectManagement PlanAPPENDIX OMSG Case Study: DesignAPPENDIX HMSG Case Study: Black-BoxTest CasesAPPENDIX IMSG Case Study: SourceCodeBibliographyAuthor IndeSubject IndeCONTENTSProloguePART 1Introduction to theSoftware ProcessCHAPTIR 1Scope of Software Engineering1.1 Historical Aspects1.2 Economic Aspects1.3 Maintenance Aspects1.4 Specification and Design Aspects1.5 Team Programming Aspects1.6 The Object-Oriented Paradignr.1.7 TenninologyChapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 2The Software Process andIts Problems2.1 Client, Developer, and User2.2 Requirements Phase2.2.1Requirements Phase Testing2.3 Specification Phase2.3.1Specification Phase Tesring2.4 Planning Phase2.4.1Planning Phase Testing2.5 Design Phase2.5.1Design Phase Testing2.6 Implementation Phase2.6.1Implementation Phase Testing2.7 Integration Phase2.7.1Integration Phase Testing2.8 Maintenance Phase2.8.1Maintenance Phase Testing2.9 Retirement2.10Problems with Software Production:Essence and Accidents2.10.1Complexity2.10.2Confonnity2.10.3Changeability2.10.4Invisibility2.10.5No Silver Bullet?Chapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 3Software Life-Cycle Models3.1 Build-and-Fix Model3.2 Waterfall Model3.2.1 Analysis of the Waterfall Model3.3 Rapid Prototyping Model3.3.1Integrating the Waterfall and RapidPrototyping Models3.4 Incremental Model3.4.1Analysis of the Incremcntal Model3.5 SpiralModel3.5.1 Analysis of the Spiral Model3.6 Comparison of Life-Cycle Models3.7 Capability Maturity Model3.8 ISO 9000Chapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 4Stepwise Refinement, CASE, andOther Tools of the Trade4.1 Stepwise Refinement4.1.1Stepwise Refinemcnt Example4.2 Cost-Benefit Analysis4.3 CASE (Computer-Aided SoftwareEngineering)4.3.1Taxonomy of CASE4.4 Scope of CASE4.5 Software Versions4.5.1Revisions4.5.2Variations4.6 Configuration Control4.6.1Configuration Control during ProductMaintenance4.6.2Baselines4.6.3Configuration Control during ProductDevelopment4.7Build Tools4.8 Productivity Gains with CASE Technology4.9 Software MetricsChapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 5Testing Principles5.1 Quality Issues5.1.1 Software Quality Assurance5.1.2Managerial Independence5.2 Nonexecution-Based Testing5.2.1Walkthroughs5.2.2Managing Walkthroughs5.2.3Inspections5.2.4Comparison of Inspections and Walkthroughs5.2.5Metrics for Inspections5.3 Execution-Based Testing5.4 What Should Be Tested?5.4.1Utility5.4.2Reliability5.4.3Robustness5.4.4Perfonnance5.4.5Correctness5.5Testing versus Correctness Proofs5.5.1Example of a Correctness Proof5.5.2Correctness Proof Case Study5.5.3Correctness Proofs and SoftwareEngineering 1295.6 Who Should Perform Execution-BasedTesting?5.7 When Testing StopsChapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 6Introduction to Objects6.1 What Is a Module?6.2 Cohesion6.2.1Coincidental Cohesion6.2.2Logical Cohesion6.2.3Temporal Cohesion6.2.4Procedural Cohesion6.2.5Conununicational Cohesion6.2.6Informational Cohesion6.2.7Functional Cohesion6.2.8Cohesion Example6.3 Coupling6.3.1Content Coupling6.3.2Common Coupling6.3.3Control Coupling6.3.4Stamp Coupling6.3.5Data Coupling6.3.6Coupling Example6.4 Data Encapsulation6.4.1Data Encapsulation and ProductDevelopment6.4.2Data Encapsulation and ProductMaintenance6.5Abstract Data Types6.6Information Hiding6.7Objects6.8Polymorphism and Dynamic Binding6.9Cohesion and Coupling of Objects6.10Reuse6.10.1Impediments to Reuse6.11 Reuse Case Studies6.11.1Raytheon Missile SystemsDivision6.11.2Toshiba Software Factory6.11.3NASASoftware6.11.4GTE Data Services6.11.5HcwIett-Packard6.12 Reuse and Maintenance6.13 Objects and ProductivityChapter ReviewFor Further ReadingProblemsReferencesPARTThe Phases of theSoftware ProcessCHAPTIR 7Requirements Phase7.1 Requirements Analysis Techniques7.2 Rapid Prototyping7.3 Human Factors7.4 Rapid Prototyping as a SpecificationTechnique7.5 Reusing the Rapid Prototype7.6 Other Uses of Rapid Prototyping7.7 Management Implications of the RapidPrototyping Model7.8 Experiences with Rapid Prototyping7.9 Joint Application Design7.10 Comparison of Requirements AnalysisTechniques7.11 Testing during the Requirements Phase7.12 CASE Tools for the RequirementsPhase 2127.13 Metrics for the Requirements Phase7.14 MSG Case Study: Requirements Phase7.15 MSG Case Study: Rapid PrototypeChapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 8Specification Phase8.1 The Specification Document8.2 Informal Specifications8.2.1Case Study: Text Processing8.3 Structured Systems Analysis8.3.1Sally's Software Shop8.4Other Semiformal Techniques8.5Entity-Relationship Modeling8.6Finite State Machines8.6.1Elevator Problem: Finite StateMachines8.7 Petri Nets8.7.1Elevator Problem: Petri Nets8.8 Z 2508.8.1Elevator Problem: Z8.8.2Analysis of Z8.9 Other Formal Techniques8.10 Comparison of SpecificationTechniques8.11 Testing during the Specification Phase8.12 CASE Tools for the Specification Phase8.13 Metrics for the Specification Phase8.14 MSG Case Study: Structured SystemsAnalysisChapter ReviewFor Further ReadineProblemsReferencesCHAPTIR 9Object-OrientedAnalysis Phase9.1 Object-Oriented versus Structured Paradigm9.2 Object-Oriented Analysis9.3 Elevator Problem Object-Oriented Analysis9.3.1Class Modeling9.3.2Dynamic Modeling9.3.3Functional Modeling9.4 Object-Oriented Life-Cycle Models9.5 CASE Tools for the Object-OrientedAnalysis Phase9.6 MSG Case Study: Object-OrientedAnalysisChapter ReviewFor Further ReadingProblemsReferencesCHAPTlR lOPlanning Phasel0.l Estimating Duration and Costl0.l.lMetrics for the Size of . Productl0.1.2Techniques of Cost Estimationl0.l.3 Intennediate COCOMOl0.l.4Tracking Duration and CostEstimates10.2 Components of a Software ProjectManagement Planl0.3 Software Project Management PlanFramework10.4 IEEE Software Project ManagementPlanl0.5 Planning of Testingl0.6 Planning of Object-Oriented Projectsl0.7 Training Requirementsl0.8 Documentation Standardsl0.9 CASE Tools for the Planning Phasel0.l0 Testing during the Planning Phasel0.l1 MSG Case Study: Planning PhaseChapter ReviewFor Further ReaamgProblemsReferencesCHAPTlR llDesign Phasell.l Design and Abstraction11.2 Action-Oriented Designll .3 Data Flow Analysisll .3.l Data Flow Analysis Examplell.3.2 Extensionsll.4 Transaction Analysisll.5 Data-Oriented Designll.6 Jackson System Developmentll.6.lOverview of Jackson SystemDevelopmentll.6.2 Why Jackson System Developmentis Presented in This Chapterl1.6.3Elevator Problcm: Jackson SystemDcvelopmentll.6.4Analysis of Jackson SystemDevelopmentl1.7 Techniques of Jackson, Wamier, andOn-ll.8 Object-Oriented Designll.8.l Elevator Problem: Object-OrientedDesignll.9 Detailed Oesignll.l0 Comparison of Action-, Data-, andObject-Oriented Designll.ll Difficulties Associated with Real-TimeSystems 353ll.l2 Real-Time Design Techniquesll.13 Testing during the Design Phasell.14 CASE Tools for the Design Phase11.15 Metrics for the Design Phasell.16 MSG Case Study: Object-OrientedDesignChapter ReviewFor Further ReadingProblemsReferencesCHAPTlRImplementation Phase12.1 Choice of Programming Language12.2 Fourth Generation Languages12.3 Structured Programmingl2.3.lHistory of StructuredProgrammingl2.3.2Why the goto Statement IsConsidered Harmfull2.4 Good Programming Practice12.5 Coding Standardsl2.6 Team Organization12.7 Democratic Team Approach12.7.1Analysis of the Democratic TeamApproachl2.8Classical Chief Programmer TeamApproach 38812.8.1 The New York Times Project12.8.2Impracticality of the Qassical ChiefProgrammer Team Approach12.9 Beyond Chief Programmer andDemocratic Teams12.10 Portability12.10.1 Hardware Incompatibilities12.10.2 Operating System Incompatibilities12.10.3 Numerical Software Incompatibilities12.10.4 Compiler Incompatibilities12.11 Why Portability?12.12 Techniques for Achieving Portability12.12.1 Portable System Software12.12.2 Portable Application Software12.12.3 PortableData12.13 ModuleReuse12.14 Module Test Case Selection12.14.1 Testing to Specifications versusTesting to Code12.14.2 Feasibility of Testing toSpecifications12.14.3 Fcasibility of Testing to Code12.15 Black-Box Module-TestingTechniques12.15.1 Equivalence Testing and BoundaryValue Analysis12.15.2 Functional Testing12.16 Glass-Box Module-TestingTechniques12.16.1 Structural Testing: Statement,Branch, and Path Coverage12.16.2 Complexity Metrics12.17 Code Walkthroughs and Inspections12.18 Comparison of Module-TestingTechniques12.19 Cleanroom12.20 Testing Objects12.21 Management Aspects of Module-Testing12.21.1 When to Rewrite Rather ThanDebug a Module12.22 Testing Distributed Software12.23 Testing Real-Time Software12.24 CASE Tools for the Implementation Phase12.25 MSG Case Study: Black-Box Test CasesChapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 13Implementation andIntegration Phase13.1Implementation and Integration13.1.1Top-Down Implementation andIntegration13.1.2Bottom-Up Implementation andIntegration13.1.3Sandwich Implementation andIntegration13.1.4Implementation and Integration ofObject-Orientcd Products13.1.5 Management Issues during theImplementation and Integration Phase13.2 Testing during the Implementation andIntegration Phase13.3Integration Testing of Graphical UserInterfaces13.4Product Testing13.5Acceptance Testing13.6 CASE Tools for the Implementation andIntegration Phase13.7 CASE Tools for the Complete SoftwareProcess13.8 Language-Centered Environments13.9 Structure-Oriented Environments13.10 Toolkit Environments13.11 Integrated Environments13.11.1 Process Integration13.11.2 Tool Integration13.11.3 Other Fonns of Integration13.12 Environments for BusinessApplications13.13 Public Tool Infrastructures13.14 Comparison of Environment Types13.15 Metrics for the Implementation andIntegration Phase13.16 MSG Case Study: Implementation andIntegration PhaseChapter ReviewFor Further ReadingProblemsReferencesCHAPTIR 14Maintenance Phase14.1 Why Maintenance Is Necessary14.2 What Is Required of MaintenanceProgranuners14.3 Maintenance Case Study14.4 Management of Maintenance14.4.1Fault Reports14.4.2Authorizing Changes to theProduct14.4.3 Ensuring Maintainability14.4.4Problem of Repeated Maintenance14.5 Maintenance of Object-OrientedSoftware14.6 Maintenance Skills versus DevelopmentSkills14.7 Reverse Engineering14.8 Testing during the MaintenancePhase14.9 CASE Tools for the MaintenancePhase14.10 Metrics for the Maintenance PhaseChapter ReviewFor Further ReadingProblemsReferencesEpilogueAppendicesAPPIMDIX AOsbert Oglesby--Art DealerAPPINDIX ?BSoftwareEngineering ResourcesAPPINDIX cMSG Case Study:Rapid PrototypeAPPINDIX DMSG Case Study: StructuredSystems AnalysisAPPINDIX EMSG Case Study:Object-Oriented AnalysisAPPINDIX FMSG Case Study: Software ProjectManagement PlanAPPINDIX OMSG Case Study: DesignAPPINDIX HMSG Case Study: Black-BoxTestCases 539APPINDIX 1MSG Case Study: SourceCodeBibliographyAuthor Index