本书是软件工程名著,软件开发方法学家Ivar Jacobson在本书中提出的OOSE(面向对象软件工程)方法是面向对象建模语言中最著名的方法之一,本书提出的Use Case分析方法在OO技术领域具有举足轻重的地位。\r\n 本书全面介绍了软件工程学科的概念和方法。本书分为三部分,第一部分——简介,内容涵盖了软件工程学科的背景知识,共5章,包括系统开发简介,工业过程需求概述,系统生命周期,此外还介绍了面向对象概念以及如何将其应用到系统开发中。第二部分——概念,包括7章内容,第6章介绍了OOSE基础概念,并解释了为什么选择这些概念。接下的章节论述了分析和构建方法。接下来的两章论述了这些方法是如何被采纳到实时系统和数据库管理系统。第11章组件,介绍了什么是组件,如何将组件应用到开发过程。第12章介绍了测试。第三部分——介绍了OOSE应用以及作为一种新的开发过程,是如何被组织和管理的。本部分的最后论述了其他面向对象方法。\r\n 本书荣获1992年度软件开发杂志效率大奖(Productivity Award),同时也是软件工程领域中享有盛誉的经典著作,本书是计算机及相关专业本科生和研究生的优秀教材,也可作为软件工程领域技术人员的优秀参考资料。
Contents\r\n\r\nForeword by Dave Thomas v\r\nForword by Larry L. Constantine vii\r\nPreface x\r\n\r\nPart I Introduction \r\n\r\n1 System development as an industrial process\r\n\r\n1.1 Introduction\r\n1.2 A useful analogy \r\n1.3 System development characteristics \r\n1.4 Summary \r\n\r\n2 The system life cycle\r\n\r\n2.1 Introduction \r\n2.2 System development as a process of change \r\n2.3 System development and reuse \r\n2.4 System development and methodology \r\n2.5 Objectory \r\n2.6 Summary \r\n\r\n3 What is object-orientation? \r\n\r\n3.1 Introduction \r\n3.2 Object \r\n3.3 Class and instance \r\n3.4 Polymorphism \r\n3.5 Inheritance \r\n3.6 Summary \r\n\r\n4 Object-oriented system development \r\n\r\n4.1 Introduction \r\n4.2 Function/data methods\r\n4.3 Object-oriented analysis \r\n4.4 Object-oriented construction \r\n4.5 Object-oriented testing \r\n4.6 Summary\r\n\r\n5 Object-oriented programming \r\n\r\n5.1 Introduction \r\n5.2 Objects\r\n5.3 Classes and instances \r\n5.4 Inheritance\r\n5.5 Polymorphism \r\n5.6 An example \r\n5.7 Summary \r\n\r\nPart II Concepts\r\n\r\n6 Architecture\r\n\r\n6.1 Introduction \r\n6.2 System development is model building\r\n6.3 Model architecture\r\n6.4 Requirements model \r\n6.5 Analysis model \r\n6.6 The design model\r\n6.7 The implementation model\r\n6.8 Test model \r\n6.9 Summary \r\n\r\n7 Analysis \r\n\r\n7.1 Introduction \r\n7.2 The requirements model\r\n7.3 The analysis model \r\n7.4 Summary \r\n\r\n8 Construction \r\n\r\n8.1 Introduction\r\n8.2 The design model \r\n8.3 Block design \r\n8.4 Working with construction\r\n8.5 Summary \r\n\r\n9 Real-time specialization \r\n\r\n9.1 Introduction \r\n9.2 Classification of real-time systems \r\n9.3 Fundamental issues \r\n9.4 Analysis\r\n9.5 Testing and verification\r\n9.6 Testing and verification \r\n9.7 Summary \r\n\r\n10 Database specialization\r\n\r\n10.1 Introduction\r\n10.2 Relational DBMS\r\n10.3 Object DBMS \r\n10.4 Discussion \r\n10.5 Summary \r\n\r\n11 Components \r\n\r\n11.1 Introduction\r\n11.2 What is a component? \r\n11.3 Use of components \r\n11.4 Component management \r\n11.5 Summary \r\n\r\n12 Testing \r\n\r\n12.1 Introduction \r\n12.2 On testing \r\n12.3 Unit testing \r\n12.4 Integration testing \r\n12.5 System testing \r\n12.6 The testing process\r\n12.7 Summary \r\n\r\nPart III Applications \r\n\r\n13 Case study: warehouse management system \r\n\r\n13.1 Introduction\r\n13.2 ACME Warehouse Management Inc.\r\n13.3 The requirements model \r\n13.4 The analysis model \r\n13.5 Construction \r\n\r\n14 Case study: telecom \r\n\r\n14.1 Introduction \r\n14.2 Telecommunication switching systems \r\n14.3 The requirements model\r\n14.4 The analysis model \r\n14.5 The design model \r\n14.6 The implementation model\r\n\r\n15 Managing object-oriented software engineering \r\n\r\n15.1 Introduction\r\n15.2 Project selection and preparation \r\n15.3 Product development organization \r\n15.4 Project organization and management\r\n15.5 Project staffing \r\n15.6 Software quality assurance \r\n15.7 Software metrics \r\n15.8 Summary \r\n\r\n16 Other object-oriented methods\r\n\r\n16.1 Introduction \r\n16.2 A summary of object-oriented methods \r\n16.3 Object-Oriented Analysis (OOA/Coad-Yourdon) \r\n16.4 Object-Oriented Design (OOD/Booch) \r\n16.5 Hierarchical Object-Oriented Design (HOOD)\r\n16.6 Object Modeling Technique (OMT)\r\n16.7 Responsibility-Driven Design \r\n16.8 Summary\r\n\r\nAppendix A On the development of Objectory \r\n\r\nA.1 Introduction \r\nA.2 Objectory as an activity \r\nA.3 From idea to reality\r\nReferences \r\nIndex