基本信息
- 原书名:Object-Oriented Software Engineering
- 原出版社: McGraw-Hill Science/Engineering/Math
- 作者: (美)Stephen R.Schach
- 丛书名: 经典原版书库
- 出版社:机械工业出版社
- ISBN:9787111265269
- 上架时间:2009-4-8
- 出版日期:2009 年3月
- 开本:32开
- 页码:558
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 面向对象
教材

编辑推荐
本书特色:
•包括面向对象生命周期模型、面向对象分析、面向对象设计,以及面向对象软件的测试和维护。
•讨论了文档、维护、复用、可移植性、测试和CASE工具等的重要性。
•包括了能力成熟度模型(CMM)和人员能力成熟度模型(P-CMM)的内容。
•与语言无关。实例代码对于C++和Java语言背景的读者同样清晰。
•包括600余篇当前热点研究文章、经典文献和书籍的参考文献。
•包含2个用于说明完整软件生命周期的运行实例。还有7个较小的实例.分别用于突出说明特定的主题。基于统一过程、Java和C++语言的完整源码可从作者网站(www.mhhe.com/schach)下载。
•包括5种类型的习题。分别是概念理解、项目分析、课程设计、论文研读和实例修改。
内容简介
计算机书籍
本书从面向对象范型出发对软件工程进行重新演绎,全面、系统、清晰地介绍了面向对象软件工程的基本概念、原理、方法和工具,通过实例说明了面向对象软件开发的整个过程。.
本书分为两个部分:第一部分介绍了面向对象软件工程的基本理论;第二部分以工作流的形式介绍了软件生命周期。
本书特色
·包括面向对象生命周期模型、面向对象分析、面向对象设计,以及面向对象软件的测试和维护。
·讨论了文档、维护、复用、可移植性、测试和CASE工具等的重要性。
·包括了能力成熟度模型(CMM)和人员能力成熟度模型(P-CMM)的内容。..
·与语言无关。实例代码对于C++和Java语言背景的读者同样清晰。
·包括600余篇当前热点研究文章、经典文献和书籍的参考文献。
·包含2个用于说明完整软件生命周期的运行实例,还有7个较小的实例,分别用于突出说明特定的主题。基于统一过程、Java和C++语言的完整源码可从作者网站(www.mhhe.com/schach)下载。
·包括5种类型的习题,分别是概念理解、项目分析、课程设计、论文研读和实例修改。...
作译者
目录
INTRODUCTION TO OBJECT-
ORIENTED SOFTWARE
ENGINEERING 1
Chapter 1
The Scope of Object-Oriented Software
Engineering 3
学习目标 3
1.1 Historical Aspects 4
1.2 Economic Aspects 7
1.3 Maintenance Aspects 8
1.4 Requirements, Analysis, and
Design Aspects 13
1.5 Team Development Aspects 15
1.6 Why There Is No Planning Phase 16
1.7 Why There Is No Testing Phase 17
1,8 Why There Is No Documentation Phase 18
1.9 The Object-Oriented Paradigm 18
1.10 Terminology 20
1.11 Ethical Issues 24
前言
In 1988, I wrote a textbook entitled Software Engineering. Virtually the only mention of the object-oriented paradigm in that book was one section that described object-oriented design.
By 1994, the object-oriented paradigm was starting to gain acceptance in the software industry, so I wrote a textbook called Classical and Object-Oriented Software Engineering. Six years later, however, the object-oriented paradigm had become more important than the classical paradigm. To reflect this change, ! switched the order of the two topics in the title of the textbook I wrote in 2000, and called it Object-Oriented and Classical Software Engineering.
Nowadays, use of the classical paradigm is largely restricted to maintaining legacy software. Students learn C++ or Java as their first programming language, and object-oriented languages are Used in subsequent computer science and computer engineering courses. Students expect that, when they graduate, they will work for a company that uses the obJect-oriented paradigm. The object-oriented parfidigm has all but squeezed ont the classical paradigm. And that is why I havewritten a textbook entitled Object-Oriented Software Engineering.
ures of This Book
·The Unified Process is still largely the methodology of choice for object-oriented softwaredevelopment. Throughout this book, the student is therefore exposed to both the theoryand the practice of the Unified Process.
·In Chapter I ("The Scope of Object-Oriented Software Engineering"), the strengths ofthe object-oriented paradigm are analyzed in depth.
·The iterative-aod-incremental life-cycle model has been introduced as early as pos-sible, namely, in Chapter 2 ("Software Life-Cycle Models"). Agile processes are alsodiscussed in this chapter.
·in Chapter 3 ("The Software Process"), the workflows (activities) and processes of theUnified Process are introduced, and the need for two-dimensional life-cycle models is explained.
·A wide variety of ways of organizing software teams are presented in Chapter 4 ("Teams"), including teams for agile proceses and for open-source software development.
·Chapter 5 ("Tools of the Trade") includes information on important classes of CASE tools.
·The importance of continual testing is stressed in Chapter 6 ("Testing").
·Objects are the focus of attention in Chapter 7 ("From Modules to Objects").
·In42hapter 8 ("Reusability and Portability"), design patterns have been stressed.
The new IEEE standard for software project management plans is presented in Chapter 9 ("Planning and Estimating").
·Chapter 10 ("The Requirements Workflow"), Chapter 11 ("The Analysis Workflow"),Chapter 12 ("The Design Workflow"), and Chapter 13 ("The Implementation Work-flow") are largely devoted to the workflows (activities) of the Unified Process.
·The material in Chapter 13 ("The Implementation Workflow") clearly distinguishesbetween implementation and integration.
·The importance of postdelivery maintenance is stressed in Chapter 14 ("PostdeliveryMaintenance").
·Chapter 15 ("More on UML") provides additional material on UML to prepare thestudent thoroughly for employment in the software industry. This chapter is of particu-lar use to instructors who utilize this book for the two-semester software engineeringcourse sequence. In the second semester, in addition to developing the team-based termproject or a capstone project, the student can acquire additional knowledge of UML,beyond what is needed for this book.
·There are two running case studies. The MSG Foundation case study and the eleva-tor problem case study have been developed using the Unified Process. Java and C++implementations are available online at www. mhhe.com/schach.
书摘
Once the product has been installed on the client's computer, a metric such as mean time between failures provides management an indication of its reliability. If a certain product fails every other day, its quality is clearly lower than that of a similar product that on average runs for 9 months without a failure.
Certain metrics can be applied throughout the software process. For example, for each workflow, we can measure the effort in person-months (I person-month is the-amount of work done by one person in 1 month). Staff turnover is another important metric. High turnover adversely affects current projects because it takes time for a new employee to learn the relevant facts about the project (see Section 4.1). In addition, new employees may have to be trained in aspects of the software process; if new employees are less educated in software engineering than the individuals they replace, then the process as a whole may suffer. Of course, cost is an essential metric that must also be monitored continually throughout the entire process.
A number of different metrics are described in this book. Some are product metrics;they measure some aspect of the product itself, such as its size or its reliability. Others are process metrics used by the developers to deduce information about the software process. A typical metric of this kind is the efficiency of fault detection during development,that is, the ratio of the number of faults detected during development to the total number of faults detected in the product over its lifetime.
……