面向对象分析与设计导论
2006-2
高等教育出版社
沙赫
385
陈宗斌
本书是面向对象系统分析和设计的第一门课程的教材。本书内容遵照IS'2002(课程IS'01.7,分析和逻辑设计)的教学指导方针;特别地,学生不必具有任何编程知识。本书使用统一建模语言(UML)为信息系统建模,使用统一过程作为方法学。本书的主要目标是,确保在课程结束时每一位学生都能够进行面向对象分析和设计。这一目标是通过下列三种不同的方式达到的:·教学方法。详细解释面向对象分析与设计的步骤。在介绍了每一个步骤之后,通过在两个连续的案例研究的第一个案例研究中应用这一步骤来说明该步骤。然后,当解释并举例说明了每一步骤后,就将所有步骤应用到第二个案例研究中。·内容组织。通过使第l部分尽量简短,本书尽可能早地开始介绍面向对象分析和设计(本书第2部分)的内容。这样,学生就可以把半学年或三个月的小学期中的大部分时间用于掌握面向对象分析和设计的内容。·实践。精通面向对象分析和设计的惟一途径就是反复地实践它。相应地,我们在每一章的末尾都给出了不同类型的习题。首先,是针对面向对象分析和设计的练习。其次,是基于两个连续案例研究的习题,这两个案例研究均以最详尽的形式给出。第三,是一个基于团队的学期项目,学生在该项目中要从头开始进行系统分析和设计。教师可以从习题中选择一道或多道问题作为作业布置给学生。在20世纪90年代,活跃在面向对象技术领域中的3位著名人物是GradyBooth(他的方法称为“Booch方法”)、IvarJacobson(“Objector3,'’)和JimRumbaugh(“OMT”)。:Booth、Jacobson和Rumbaugh随后在Rational公司进行了强强联合,为信息技术做出了两个里程碑式的贡献:统一建模语言(UML)和统一过程。在1997年推出后的几个月里,UMI,1.0几乎风靡全球。在今天,编写一本尝试用任何其他建模语言来表示信息系统的教材都是不可想像的。UML现在是对象管理组(OMG)的一项产品,OMG是由全球领先的软件技术公司组成的一个联盟。本书使用UML1.4,这是编写本书时的最新版本。
《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》是第一本从头为学习系统分析与设计的学生介绍面向对象方法的教材,是第一本不使用传统的方法来介绍面向对象的主要概念的教材,是第一本不要求学生懂得Java或C++的教材。《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》假设学生对过程建模或数据建模一无所知。《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》中所有的图表和模型示意图全部采用广泛应用的UML(统一建模语言)表示法。采用这种方法的主要好处是教学效果比较好,因为上这门课的许多学生的背景知识有限,有的可能只上过一门概论性的MIS课程。这种方法备受欢迎的另一个原因是,面向对象方法是软件行业广泛采用的方法。. 《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》共分3个部分,包括20章。第1部分概括介绍UML和统一过程,包括信息系统简介、如何开发信息系统以及面向对象范型、UML和统一过程;第2部分详细介绍UML和统一过程,包括需求工作流、面向对象分析工作流、面向对象设计工作流以及统一过程的工作流和阶段:第3部分介绍系统分析和设计中的主题,包括CASE、团队、测试、管理问题、计划和估计、维护、用户界面设计、基于Web的信息系统简介、数据库管理系统简介以及技术性课题。 《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》适合作为计算机科学与技术、信息系统管理以及相关专业本科生的教材。
作者:(美)沙赫 译者:陈宗斌
第1部分 UML和统一过程简介第1章 信息系统简介1.1 信息系统分类1.2 传统的信息系统开发1.2.1 需求阶段1.2.2 分析阶段1.2.3 设计阶段1.2.4 实现阶段1.2.5 维护阶段1.2.6 报废1.3 为什么没有计划阶段1.4 为什么没有测试阶段1.5 为什么没有文档编制阶段1.6 系统分析和设计1.7 维护1.8 信息技术专业人员关键术语复习题习题参考书目第2章 如何开发信息系统2.1 理论上的信息系统开发2.2 Winburg小型案例研究2.3 Winburg小型案例研究的教训2.4 TealTractor小型案例研究2.5 迭代和增量2.6 迭代:Newton.Raphson算法2.7 再次探讨Winburg小型案例研究2.8 迭代和增量的其他方面2.9 管理迭代和增量2.10 再论维护关键术语复习题习题参考书目第3章 面向对象范型UML和统一过程3.1 传统程序与面向对象程序3.2 对象和类3.3 继承3.4 泛化、聚合和关联3.5 UML类建模的示例3.6 信息隐藏3.7 统一过程3.8 统一过程中的迭代和增量关键术语复习题习题参考书目第2部分 UML和统一过程第4章 需求工作流4.1 确定客户需要什么4.2 需求工作流概述4.3 理解领域4.4 领域的初始理解:OsbertOglesby案例研究4.5 业务模型4.5.1 采访4.5.2 其他技术4.5.3 用例4.6 初始业务模型:OsbertOglesby案例研究4.7 初始需求4.8 初始需求:OsbertOglesby案例研究4.9 继续执行需求工作流:OsbertOglesby案例研究4.10 尚无定论关键术语案例研究关键术语复习题习题参考书目第5章 需求工作流5.1 MSG基金会案例研究5.2 初步理解领域:MSG基金会案例研究5.3 初始业务模型::MSG基金会案例研究5.4 初始需求:MSG基金会案例研究5.5 继续执行需求工作流:MSG基金会案例研究5.6 修订需求:MSG基金会案例研究5.7 细化修订过的需求:MSG基金会案例研究关键术语案例研究关键术语复习题习题系统分析和设计项目学期项目第6章 面向对象分析工作流6.1 分析工作流6.2 提取实体类6.3 初始功能性模型:OsbertOglesby案例研究6.4 初始类图:OsbertOglesby案例研究6.5 初始动态模型:OsbertOglesby案例研究6.6 提取边界类6.7 提取控制类6.8 改进用例6.9 用例实现6.9.1 BuyaMasterpiece用例6.9.2 BuyaMasterw.ork用例6.9.3 BuyOtherPainting用例6.9.4 余下的5个用例6.10 增加类图6.1l 规范文档在哪里关键术语复习题习题参考书目第7章 面向对象分析工作流7.1 提取实体类:MSG基金会案例研究7.2 初始功能性模型:MSG基金会案例研究7.3 初始类图:MSG基金会案例研究7.4 返回到需求工作流7.5 初始动态模型:MsG基金会案例研究7.6 修订实体类:MSG基金会案例研究7.7 提取边界类:MSG基金会案例研究7.8 提取控制类:MSG基金会案例研究7.9 用例实现:MSG基金会案例研究7.9.1 EstimateFundsAvailableforWeek用例7.9.2 ManageanAsset用例7.9.3 UpdateEstimatedAnnualOperatingExpenses用例7.9.4 UProduceaReport用例7.10 增加类图7.11 进一步了解参与者7.12 关于用例的进一步说明7.13 风险7.13.1 快速原型法7.13.2 方案和客户的需求关键术语复习题习题系统分析和设计项目学期项目参考书目第8章 面向对象设计工作流8.1 设计工作流8.2 传统的与面向对象设计8.3 属性的格式8.3.1 OsbertOglesby案例研究的属性的格式8.3.2 MSG基金会案例研究的属性的格式8.4 分配操作给类8.4.1 职责驱动型设计8.4.2 继承8.5 操作分配:OsbeftOglesby案例研究8.5.1 职责驱动型设计8.5.2 继承8.6 CRC卡关键术语复习题习题系统分析和设计项目学期项目参考书目第9章 统一过程的工作流和阶段9.1 统一过程的工作流9.1.1 需求工作流9.1.2 分析工作流9.1.3 设计工作流9.1.4 实现工作流9.1.5 测试工作流9.2 统一过程的阶段9.2.1 初始阶段9.2.2 细化阶段9.2.3 构造阶段9.2.4 移交阶段9.3 为什么是一个二维模型关键术语复习题习题学期项目参考书目第10章 关于UML的更多知识10.1 UML不是一种方法学10.2 类图10.2.1 聚合10.2.2 多重性10.2.3 复合10.2.4 泛化10.2.5 关联10.3 便条10.4 用例图10.5 构造型10.6 交互图10.7 状态图10.8 活动图10.9 程序包图10.10 组件图10.11 部署图10.12 UML图回顾10.13 UML和迭代关键术语复习题习题参考书目第3部分 系统分析和设计中的主题第11章 CASE11.1 CASE的分类11.2 CASE的作用范围11.3 版本11.3.1 修订版11.3.2 变体11.3.3 版本控制工具11.4 配置控制11.5 生成工具11.6 CASE环境11.7 用于信息系统的环境11.8 环境的潜在问题11.9 CASE技术的生产率收益11.1 0CASE和美学关键术语复习题习题学期项目参考书目第12章 团队12.1 团队组织12.2 传统的首席程序员团队12.3 现代的分级团队12.4 组织团队的其他方式12.4.1 同步和稳定团队12.4.2 极限编程团队关键术语复习题习题学期项目参考书目第13章 测试13.1 测试简介13.2 质量问题13.2.1 质量保证13.2.2 质量保证术语……第14章 管理问题第15章 计划和估计第16章 维护第17章 用户界面设计第18章 基于Web的信息系统简介第19章 数据库管理系统简介第20章 技术性课题附录
插图:就像永远不应该有单独的计划阶段或测试阶段一样,也永远不应该有单独的文档编制阶段。相反,在任何时候信息系统的文档都必须是完整的、正确的和最新的。例如,在分析阶段,规范文档必须反映规范的当前版本,对其他阶段也是如此。为什么必须确保文档总是最新的?一个原因是在信息系统行业中人员频繁流动。例如,假定设计文档没有保持是最新的并且首席设计师离职去承担另一项工作,那么现在更新设计文档以反映出设计系统时所做的所有更改将极其困难。第二个原因是执行特定阶段的步骤是几乎不可能的,除非前一个阶段的文档是完整的、正确的和最新的。例如,不完整的规范文档必然会导致不完整的设计,进而导致不完整的实现。第三,测试程序是否正确工作实际上是不可能的,除非有文档指出了该程序被期望如何工作。例如,对用于处理检测靴子购买新趋势的那一部分程序将不可能进行测试,除非规范文档准确而清楚地说明了构成新趋势的因素以及要额外订购多少双靴子。第四,维护几乎是不可能的,除非有一组完整、正确的文档精确描述了系统当前版本的功能。因此,就像没有单独的计划阶段或测试阶段一样,也没有单独的文档编制阶段。事实上,在构造信息系统时,计划、测试和文档编制应该是伴随着其他所有活动的活动。
《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》是从基本概念出发为学习系统分析与设计的新生介绍面向对象方法学的第一本教材,同时也是不依赖于经典方法介绍关键概念或者无须学生了解Java或C++而介绍面向对象方法的第一《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》。它假定学生不具有任何过程建模或数据建模的知识。在全书的所有图形和模型示意图中都使用了应用广泛的UML表示法。这种方法的主要好处在于,它使课程更容易教和学,因为学习这门课程的许多学生仅仅学习过一门介绍性的MIS课程。此外,由于面向对象方法学在行业中应用广泛,所以这种方法非常吸引人。《面向对象分析与设计导论:使用UML和统一过程( 翻译版)》主要特点:·完全面向对象:通过一种面向对象方法来查看系统开发生命周期的所有阶段。·完全UML实现:统一建模语言(UML)专用于所有插图和模型。·独特的面向对象方法学:作者基于多年教授传统方法和面向对象方法的经验,使用自己的面向对象方法学。作者的方法学主要汲取自“统一过程”,而“统一过程”这种方法学正深受行业的欢迎。·两个设计完整的案例研究:一个案例涉及抵押基金慈善组织,另一个涉及一家艺术品经销商,它们都历经了从分析到实现的所有阶段。这两个案例是使用统一过程方法学开发的,可以在Web站点上找到它们的源代码。·功能强大的面向对象CASE工具ArgoUML:ArgotUML可以帮助学生学习统一建模语言(UML),创建更好的设计,跟踪未决的决定,以及更好地展现设计问题。ArgoUML是一个纯Java的工具,可以在所有平台上运行。
书不错。速度很快。包装也不错。