面向对象的系统设计(第2版)
|
基本信息
- 作者: 邵维忠 杨芙清 [作译者介绍]
- 丛书名: 计算机科学与技术学科研究生系列教材(中文版)
- 出版社:清华大学出版社
- ISBN:9787302147985
- 上架时间:2007-5-23
- 出版日期:2007 年5月
- 开本:16开
- 页码:208
- 版次:2-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 面向对象
计算机 > 计算机控制与仿真 > 系统分析与设计(控制)
教材 > 研究生/本科/专科教材 > 工学 > 计算机
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 软件工程
教材 > 教材汇编分册 > 高等理工
本版教材征订号:0044092426-4
内容简介回到顶部↑
本书是一本论述面向对象设计方法的专著,其第1版于2003年由清华大学出版社出版,被国内许多大学用作研究生或高年级本科生教材,并被许多软件开发单位作为工程技术用书。本次再版,根据国内外面向对象领域理论与技术的最新发展做了不少修改。
本书是作者的另一本著作《面向对象的系统分析》(第2版)的姊妹篇,二者构成完整的ooa&d方法体系。
本书的主要内容是论述如何在面向对象的分析(ooa)基础上进行面向对象的设计(ood)。全书分为7章,第1章介绍ood的发展历史、现状和几种典型的ooa&d方法,论述ooa和ood的关系。第2章介绍本书提出的ood方法概貌。第3~6章分别介绍ood模型各个组成部分的设计方法。第7章介绍统一建模语言(uml),并分析和讨论其优点与缺点。
读者对象:计算机软件专业的教师、研究生和本科生,软件技术培训教师与学员,计算机软件领域的研究人员和工程技术人员。
本书是作者的另一本著作《面向对象的系统分析》(第2版)的姊妹篇,二者构成完整的ooa&d方法体系。
本书的主要内容是论述如何在面向对象的分析(ooa)基础上进行面向对象的设计(ood)。全书分为7章,第1章介绍ood的发展历史、现状和几种典型的ooa&d方法,论述ooa和ood的关系。第2章介绍本书提出的ood方法概貌。第3~6章分别介绍ood模型各个组成部分的设计方法。第7章介绍统一建模语言(uml),并分析和讨论其优点与缺点。
读者对象:计算机软件专业的教师、研究生和本科生,软件技术培训教师与学员,计算机软件领域的研究人员和工程技术人员。
作译者回到顶部↑
本书提供作译者介绍
邵维忠,北京大学信息科学技术学院教授、博士生导师,中国计算机学会理事。1970年毕业于北京大学数学力学系,1979—1983年在计算机科学技术系任教并攻读硕士学位。早期主要从事操作系统和软件工程领域的教学、科研与开发。1987—1989年在新加坡国立大学参加科技合作。回国后在导师杨芙清院士主持的国家“八五”、“九五”重点科技攻关课题“大型软件开发环境青鸟系统”和“软件工程环境工业化生产技术及系统”中担任主要技术负责人。自1991年起注重于面向对象建模方法的研究,并开设了研究生课程和本科生课程.. << 查看详细
目录回到顶部↑
第1章 什么是ood
1.1 早期的ood
1.2 基于ooa的ood
1.2.1 booch方法
1.2.2 coad/yourdon方法
1.2.3 jacobson方法
1.2.4 rumbaugh方法
1.3 ood在软件生命周期的位置
1.4 ooa与ood的关系
1.4.1 “做什么”和“怎么做”
1.4.2 分析——需求分析和系统分析
1.4.3 “问题空间”和“解空间”
1.4.4 一致的概念与表示法
1.4.5 不同的目标、内容和抽象层次
1.4.6 从模型驱动的体系结构看ooa与ood的关系
第2章 本书的ood方法概貌
2.1 概念与表示法
2.1.1 建模元素
2.1.2 表示法
2.1.3 建模原则
1.1 早期的ood
1.2 基于ooa的ood
1.2.1 booch方法
1.2.2 coad/yourdon方法
1.2.3 jacobson方法
1.2.4 rumbaugh方法
1.3 ood在软件生命周期的位置
1.4 ooa与ood的关系
1.4.1 “做什么”和“怎么做”
1.4.2 分析——需求分析和系统分析
1.4.3 “问题空间”和“解空间”
1.4.4 一致的概念与表示法
1.4.5 不同的目标、内容和抽象层次
1.4.6 从模型驱动的体系结构看ooa与ood的关系
第2章 本书的ood方法概貌
2.1 概念与表示法
2.1.1 建模元素
2.1.2 表示法
2.1.3 建模原则
前言回到顶部↑
本书是一本介绍面向对象设计方法的著作,是我们的前一本著作《面向对象的系统分析》的姊妹篇,二者构成一个完整的面向对象的分析与设计方法体系。.
面向对象的设计(OOD)是在面向对象的分析(OOA)基础上继续运用面向对象方法解决软件生命周期中设计阶段的问题,产生一个满足用户需求,并且完全可实现的系统模型,即OOD模型。在面向对象的软件开发中,系统分析建立的OOA模型离实现的要求还有很大的距离,因为还有很多设计问题尚未解决,需要在设计阶段运用OOD方法去解决这些问题,并且把设计结果在OOD模型中表达出来,使模型成为真正可实现的,这就是OOD所要解决的问题。
尽管OOD的出现早于OOA,但是长期以来关于OOD的理论与技术却远不如OOA成熟,其内容也不如OOA充实,主要存在以下问题:
对什么是OOD,各种著作和论文缺乏统一认识。主要原因是,早期的(即OOA出现之前的)OOD和现今的(即基于OOA的)OOD在内容上有很大的不同,而迄今大部分文献在讨论OOD时没有清晰地对二者加以区别,所以对OOD的概念、过程以及它应该包含哪些内容没有形成一致的见解。
以往大部分关于面向对象分析与设计(OOA&D)的著作都是以论述OOA为主,对OOD的论述则过于简略。对软件生命周期的设计阶段需要解决的大量实际问题缺乏全面、深入的讨论和切实可行的面向对象设计策略。有些方法对面向对象概念在设计阶段的运用基本上局限于对OOA结果进行细化,对许多全局性的设计问题没有给出与面向对象方法密切相关的设计策略,和在结构化设计中所采用的策略没有什么不同。
对OOA和OOD的关系,特别是对它们之间的界限和分工缺乏统一认识。一种基本一致的意见是,OOA和OOD属于软件生命周期的两个不同阶段,它们之间的界限不像结构化分析和结构化设计之间那样严格和清晰;但是除了这种原则性的共同见解之外,没有更进一步的一致意见。特别是对OOA和OOD之间既存在界限,同时又允许一定程度的模糊这个问题,大部分著作没有深入地加以讨论,并具体指出哪些建模问题应该明确地属于OOA或者OOD,哪些建模问题允许模糊二者之间的界限。
在以往的面向对象分析与设计方法中,Coad—Yourdon方法是对OOD讨论最多的一种,对OOA和OOD之间关系的处理也较为得当。但是由于历史条件的限制,一些在20世纪90年代出现的理论与技术没有在有关的方法和著作中得以体现。对有些设计问题,例如一个用面向对象方法开发的系统如何用关系数据库或文件系
统存储其对象的问题,虽然提出了正确的解决方案,但是理论上的论述和技术策略的介绍都不够详细,使一般读者在学习之后仍然不知道如何实施。
本书作为一本在当前科学技术背景下出版的OOD著作,在学习和借鉴前人研究成果的基础上,力求在以下方面取得进步:
1.系统地阐述OOA与OOD的理论体系
本书从区别早期的OOD和基于OOA的OOD人手,通过讨论二者在内容和特点上的不同,在概念上澄清了关于什么是OOD的问题。把面向对象的观点运用于整个软件生命周期,在此前提下对什么是OOD给出更确切的定义。详细地论述了OOA和OOD之间的关系。
2.充实和完善OOD的内容
在面向对象的软件开发中,OOD是软件生命周期中的一个大阶段。在这个阶段中有大量的技术问题需要解决,需要建立一个可实现的系统模型。从工作量和技术难度来看,OOD的分量决不比OOA小。许多运用OO方法进行系统开发的读者所遇到的一个问题是,做完OOA之后不知道OOD到底该做些什么,因此对设计阶段的许多问题不得不继续采用非OO的设计技术去解决。本书的目标是向读者提供一种内容比较完善、策略具体、可操作性强的OOD方法,其中包含了普通应用系统的设计阶段需要解决的大部分问题,包括全局性设计决策和局部的模型细化两个方面的问题。
3.充分运用OO基本概念解决设计问题
我们在《面向对象的系统分析》中提出,在OOA中应该充分运用面向对象的基本概念(即目前大部分面向对象编程语言能够直接支持的概念)解决各种复杂的建模问题,限制扩充概念的引入。本书依然坚持这一宗旨,没有采用比OOA更多的面向对象建模概念,更没有采用诸如“模块”、“块”等非OO的建模元素。此外,本书对所有的设计问题都是运用面向对象的观点给出设计策略,使读者能够在软件开发中完全采用面向对象的概念和表示法来建立系统的设计模型。这意味着本书运用了尽可能少的建模概念解决了较多的设计问题。建模概念的简练使本书提出的方法更容易学习、掌握和使用,并使得OOA、OOD和OOP在概念上保持高度一致,使模型与实现后的程序具有良好的映射关系。当然,为了做到这一点,本书给出了更强的过程指导,告诉读者如何运用一个精练的OO基本概念集合去解决各种复杂的建模问题。
4.适应当前计算机科学技术的新发展
迄今在国际上影响较大的大多数OOA&D方法都是在20世纪80年代末和90年代初问世的。在此之后的近十年中,计算机科学技术在很多方面取得新的进步。例如软件复用技术的新发展、可视化编程环境的流行、软件体系结构的研究、网络与分布式系统的普及等。大量的新技术已被广泛地运用到当前的系统开发中。在这种形势下,要求OOD方法做出相应的发展。我们的目标是力求在OOD方法中体现计算机科学技术的新发展。本书的OOD方法是根据当前的技术背景提出的。针对在当前软件开发中被广泛采用的几种主要技术,分别给出相应的设计策略,并且用OO概念表达其设计决策。..
5.解决工程实践中提出的问题
在本书的写作过程中,作者曾经以技术培训、工程指导、项目合作等多种方式与软件企业界的人士进行接触和交流。他们在运用面向对象方法进行软件开发时,常常在OOD阶段遇到这样那样的问题。其中有些问题在以往的著作中找不到现成的答案。这些来自工程实践的问题对于OOD方法的研究和发展具有很强的促进作用。本书的许多内容是针对这些问题开展研究并进行总结提炼的结果。
本书的第1版””于2003年2月出版,数年来已多次重印。这次再版主要有以下变化:
面向对象的设计(OOD)是在面向对象的分析(OOA)基础上继续运用面向对象方法解决软件生命周期中设计阶段的问题,产生一个满足用户需求,并且完全可实现的系统模型,即OOD模型。在面向对象的软件开发中,系统分析建立的OOA模型离实现的要求还有很大的距离,因为还有很多设计问题尚未解决,需要在设计阶段运用OOD方法去解决这些问题,并且把设计结果在OOD模型中表达出来,使模型成为真正可实现的,这就是OOD所要解决的问题。
尽管OOD的出现早于OOA,但是长期以来关于OOD的理论与技术却远不如OOA成熟,其内容也不如OOA充实,主要存在以下问题:
对什么是OOD,各种著作和论文缺乏统一认识。主要原因是,早期的(即OOA出现之前的)OOD和现今的(即基于OOA的)OOD在内容上有很大的不同,而迄今大部分文献在讨论OOD时没有清晰地对二者加以区别,所以对OOD的概念、过程以及它应该包含哪些内容没有形成一致的见解。
以往大部分关于面向对象分析与设计(OOA&D)的著作都是以论述OOA为主,对OOD的论述则过于简略。对软件生命周期的设计阶段需要解决的大量实际问题缺乏全面、深入的讨论和切实可行的面向对象设计策略。有些方法对面向对象概念在设计阶段的运用基本上局限于对OOA结果进行细化,对许多全局性的设计问题没有给出与面向对象方法密切相关的设计策略,和在结构化设计中所采用的策略没有什么不同。
对OOA和OOD的关系,特别是对它们之间的界限和分工缺乏统一认识。一种基本一致的意见是,OOA和OOD属于软件生命周期的两个不同阶段,它们之间的界限不像结构化分析和结构化设计之间那样严格和清晰;但是除了这种原则性的共同见解之外,没有更进一步的一致意见。特别是对OOA和OOD之间既存在界限,同时又允许一定程度的模糊这个问题,大部分著作没有深入地加以讨论,并具体指出哪些建模问题应该明确地属于OOA或者OOD,哪些建模问题允许模糊二者之间的界限。
在以往的面向对象分析与设计方法中,Coad—Yourdon方法是对OOD讨论最多的一种,对OOA和OOD之间关系的处理也较为得当。但是由于历史条件的限制,一些在20世纪90年代出现的理论与技术没有在有关的方法和著作中得以体现。对有些设计问题,例如一个用面向对象方法开发的系统如何用关系数据库或文件系
统存储其对象的问题,虽然提出了正确的解决方案,但是理论上的论述和技术策略的介绍都不够详细,使一般读者在学习之后仍然不知道如何实施。
本书作为一本在当前科学技术背景下出版的OOD著作,在学习和借鉴前人研究成果的基础上,力求在以下方面取得进步:
1.系统地阐述OOA与OOD的理论体系
本书从区别早期的OOD和基于OOA的OOD人手,通过讨论二者在内容和特点上的不同,在概念上澄清了关于什么是OOD的问题。把面向对象的观点运用于整个软件生命周期,在此前提下对什么是OOD给出更确切的定义。详细地论述了OOA和OOD之间的关系。
2.充实和完善OOD的内容
在面向对象的软件开发中,OOD是软件生命周期中的一个大阶段。在这个阶段中有大量的技术问题需要解决,需要建立一个可实现的系统模型。从工作量和技术难度来看,OOD的分量决不比OOA小。许多运用OO方法进行系统开发的读者所遇到的一个问题是,做完OOA之后不知道OOD到底该做些什么,因此对设计阶段的许多问题不得不继续采用非OO的设计技术去解决。本书的目标是向读者提供一种内容比较完善、策略具体、可操作性强的OOD方法,其中包含了普通应用系统的设计阶段需要解决的大部分问题,包括全局性设计决策和局部的模型细化两个方面的问题。
3.充分运用OO基本概念解决设计问题
我们在《面向对象的系统分析》中提出,在OOA中应该充分运用面向对象的基本概念(即目前大部分面向对象编程语言能够直接支持的概念)解决各种复杂的建模问题,限制扩充概念的引入。本书依然坚持这一宗旨,没有采用比OOA更多的面向对象建模概念,更没有采用诸如“模块”、“块”等非OO的建模元素。此外,本书对所有的设计问题都是运用面向对象的观点给出设计策略,使读者能够在软件开发中完全采用面向对象的概念和表示法来建立系统的设计模型。这意味着本书运用了尽可能少的建模概念解决了较多的设计问题。建模概念的简练使本书提出的方法更容易学习、掌握和使用,并使得OOA、OOD和OOP在概念上保持高度一致,使模型与实现后的程序具有良好的映射关系。当然,为了做到这一点,本书给出了更强的过程指导,告诉读者如何运用一个精练的OO基本概念集合去解决各种复杂的建模问题。
4.适应当前计算机科学技术的新发展
迄今在国际上影响较大的大多数OOA&D方法都是在20世纪80年代末和90年代初问世的。在此之后的近十年中,计算机科学技术在很多方面取得新的进步。例如软件复用技术的新发展、可视化编程环境的流行、软件体系结构的研究、网络与分布式系统的普及等。大量的新技术已被广泛地运用到当前的系统开发中。在这种形势下,要求OOD方法做出相应的发展。我们的目标是力求在OOD方法中体现计算机科学技术的新发展。本书的OOD方法是根据当前的技术背景提出的。针对在当前软件开发中被广泛采用的几种主要技术,分别给出相应的设计策略,并且用OO概念表达其设计决策。..
5.解决工程实践中提出的问题
在本书的写作过程中,作者曾经以技术培训、工程指导、项目合作等多种方式与软件企业界的人士进行接触和交流。他们在运用面向对象方法进行软件开发时,常常在OOD阶段遇到这样那样的问题。其中有些问题在以往的著作中找不到现成的答案。这些来自工程实践的问题对于OOD方法的研究和发展具有很强的促进作用。本书的许多内容是针对这些问题开展研究并进行总结提炼的结果。
本书的第1版””于2003年2月出版,数年来已多次重印。这次再版主要有以下变化:
评论交流
共有5人开贴评论 6人参与评论 5人参与打分 查看
评价等级:







发表于:2010-2-4 20:21:00
此书非常优秀,对面向对象有着独特的见解,同时两位教授用及其通俗又不失严谨的语言来讲授,有让人爱不释手的感觉,想一下读完。很多院校本科时候只是对面向对象做了基本介绍,所以很多知识点没能讲清楚,这套书正好是个补充,虽然是作为研究生教材书写的,但是本科生学了软工后绝对可以看懂。
此书另外的一个特点就是对一些基本概念的讲解和定义非常清晰。这比很多国外和国内的教材要好些。国外的很多书没有给出明确定义,往往是通过例子引出概念,国内的很多书则是直接略过或者模糊不清,对于概念性较多的面向对象来说,本书无疑是有很大的参考价值的。
另外很值得一提的是,本书章节安排有序,作者在正文中穿插了对各章的介绍和其关联,使得每学习一部分都清楚的理解自己在面向对象这个庞大理论体系中的位置。是难得的好书!
最后,这本书如果配合北大的软工教材,王立福教授写的那本一起看,效果会好得多。这本书连同《面向对象的系统分析 2版》一起也同为北大计算机系的研究生教材。一学期的课程,3学分。
此书另外的一个特点就是对一些基本概念的讲解和定义非常清晰。这比很多国外和国内的教材要好些。国外的很多书没有给出明确定义,往往是通过例子引出概念,国内的很多书则是直接略过或者模糊不清,对于概念性较多的面向对象来说,本书无疑是有很大的参考价值的。
另外很值得一提的是,本书章节安排有序,作者在正文中穿插了对各章的介绍和其关联,使得每学习一部分都清楚的理解自己在面向对象这个庞大理论体系中的位置。是难得的好书!
最后,这本书如果配合北大的软工教材,王立福教授写的那本一起看,效果会好得多。这本书连同《面向对象的系统分析 2版》一起也同为北大计算机系的研究生教材。一学期的课程,3学分。
| 我要写评论 |
| 查看所有评论交流(共5条) |








点击看大图





加载中...

