全部分类
《软件工程——面向对象的视角》
(图片仅供参考)

查看付款方式  了解购物流程

《软件工程——面向对象的视角》

编    号: 137864
著 作 者: 和华等译
出 版 社: 电子工业出版社
书    号: 9787505397859
出版日期: 2004-5-1
市 场 价: ¥69 元
书 店 价: ¥65.6 元
立即节省: ¥3.5 元
人    气: 
《软件工程——面向对象的视角》   《软件工程——面向对象的视角》
咨询电话:029-86698115
到款传真:029-82086768




其他支付方式

内容简介
内容简介本书强调“不要只是学软件工程,而是要去实际做软件工程”。本书从面向对象的视角出发,自始至终贯穿着一个角色扮演类视频游戏,帮助读者理解应用软件工程方法进行应用开发的全过程,详细地描述软件工程原理的应用,充分地展示了框架、用例、设计模式、状态行为的应用情况,还把面向对象和需求分析及测试联系了起来。 本书内容严谨实用,组织结构清楚明了,行文简洁顺畅,适合于作为大中院校的软件工程相关专业的研究生教材,对希望提高自身知识水平和工作能力的软件开发职业人员也会有所帮助。 图书目录绪论第1章过程第1部分:基础篇1.1软件工程开发过程简介1.1.1一个典型的软件工程路线图1.2软件工程的过去和现在1.2.1软件工程1.2.2结构化和面向对象的方法产生的影响1.2.3重用和构件1.2.4形式方法1.2.5可用性1.3对过程、项目、产品和人的期望1.3.1工件和角色1.4可供选择的过程1.4.1瀑布过程模型1.4.2螺旋过程模型1.4.3增量过程模型1.4.4统一软件开发过程1.4.5过程的对比1.5文档1.5.1文档简介1.5.2文档标准第2部分:提高篇1.6质量1.6.1度量1.6.2质量保障过程1.6.3黑盒和白盒技术1.6.4检查简介1.6.5软件质量保障计划(sqap)的ieee标准1.6.6验证和确认1.7文档管理1.7.1文档管理简介1.7.2一致性和单一来源文档1.7.3配置管理1.8能力评估简介1.8.1个人软件过程(psp)简介1.8.2小组软件过程(tsp)简介1.8.3能力成熟度模型(cmm)简介1.8.4psp,tsp和cmm的关系1.9总结练习题案例1:软件配置管理计划案例2:软件质量保障计划第1部分(第2部分见第2章)第2章项目管理第1部分:基础篇2.1项目管理简介2.1.1项目管理的含义2.1.2项目管理的要素2.1.3主要变量:成本、性能、质量和进度2.1.4项目管理过程的典型路线图2.2管理项目的人员2.2.1专业精神2.2.2人员管理的重要性2.2.3企业的视角2.2.4管理层的视角2.2.5工程师的视角2.3组织人员的选择2.3.1沟通管理2.3.2职责结构的选择2.3.3项目人员的来源2.4识别和规避风险2.4.1风险定义2.4.2风险管理概论2.4.3风险识别2.4.4风险规避2.5选择开发工具和支持2.5.1过程方法2.5.2工具2.5.3抉择:开发还是购买2.5.4语言选择2.5.5文档2.5.6支持服务2.6创建时间表:概要的计划第2部分:提高篇2.7集成遗留系统2.8成本估计:早期的计算2.8.1简介2.8.2无功能点过程的代码行数的估计2.8.3功能点和代码行数2.8.4功能点转换为代码行数2.8.5功能点的进一步的例子2.8.6关于功能点的参考资料2.9由代码行数估计工作量和工期2.10小组软件过程2.11软件项目管理计划2.12项目管理的质量2.12.1过程度量2.12.2ieee739-1989sqap:第2部分2.13过程改进和能力成熟度模型2.13.1改进组织使用的过程2.13.2改进项目中正在使用的过程2.14项目管理技术和各种工具2.14.1远距离小组和跨国小组2.14.2极限编程2.14.3分类法决策2.15项目管理过程总结学生项目指南(spg):encounter案例的项目管理计划spg1.准备项目策划会议spg2.最初的项目策划会议spg3.完成项目管理计划练习题复习题小组练习题复习题提示复习题答案案例1:encounter视频游戏spmp案例2:软件质量保障计划第2部分第3章需求分析(一)3.1需求分析简介3.1.1需求分析的含义3.1.2c需求和d需求3.1.3为什么必须书写需求3.1.4典型的需求分析过程路线图3.1.5需求分析的挑战和益处3.2客户交互3.2.1需求的来源3.2.2识别风险承担者3.2.3客户需求实例3.2.4访谈和文档记录过程3.3描述客户(c)需求3.3.1操作的概念3.3.2用例3.3.3数据流图(为与客户沟通所用)3.3.4状态变迁图(为与客户沟通所用)3.3.5草拟用户界面和其他接口3.3.6c需求表述总结和指南3.4应用于c需求的方法论、工具和网络3.5快速原型、可行性研究和概念证明3.5.1快速原型3.5.2可行性研究3.6更新项目以反映c需求分析3.6.1c需求和项目规模3.6.2c需求分析对于项目计划的影响3.7未来发展方向和c需求总结3.7.1未来发展方向3.7.2总结学生项目指南:encounter案例的c需求spg1.准备spg2.访谈客户spg3.撰写软件需求规格说明书spg4.补充spg5.度量和总结练习题综合练习题小组练习题练习题提示练习题答案案例:encounter视频游戏软件需求规格说明书(srs)第1部分第4章需求分析(二)第1部分:基础篇4.1详细(d)需求简介4.1.1详细(d)需求的含义4.1.2d需求分析的典型路线图4.2d需求的类型4.2.1功能性需求4.2.2非功能性需求:性能需求4.2.3非功能性需求:可靠性和易用性4.2.4非功能性需求:出错处理4.2.5非功能性需求:接口需求4.2.6非功能性需求:限制4.2.7反面需求4.2.8需求类型与ieeesrs标准ieee830-1993的对应4.3d需求的预期属性4.3.1可追溯性4.3.2可测试性和清晰性4.3.3优先级4.3.4完整性4.3.5出错条件4.3.6一致性4.3.7总结详细需求的撰写过程4.4序列图4.5组织d需求的方式4.5.1组织详细需求的重要性4.5.2组织详细需求的方法4.5.3基于用例组织详细需求4.5.4基于类组织详细需求4.5.5类的识别4.5.6对给定的需求选择正确的类4.5.7划分实体(实例)的类别4.5.8连接到测试文档第2部分:提高篇4.6详细需求的质量4.6.1qa在d需求分析中的职责4.6.2d需求分析中的度量4.6.3对d需求分析的检查4.7在需求分析中使用工具和网络4.8需求规格说明中的形式方法4.8.1形式规格说明简介4.8.2形式规格说明示例4.8.3何时应该使用形式规格说明4.8.4前置条件和后置条件4.9d需求过程对项目的作用4.9.1对spmp的作用4.9.2d需求的规模效应4.10d需求过程总结学生项目指南:encounter案例的d需求spg1.准备spg2.d需求分类spg3.撰写d需求spg4.补充:度量和总结练习题综合练习题小组练习题练习题提示练习题答案案例:encounter视频游戏软件需求规格说明书(srs)第2部分第5章软件体系结构第1部分:基础篇5.1介绍系统工程和软件体系结构5.1.1宏图:系统工程5.1.2“软件体系结构”的含义5.1.3体系结构选择的目标5.1.4分解第2部分:提高篇5.2模型、框架和设计模式5.2.1使用“模型”5.2.2统一建模语言5.2.3框架5.2.4体系结构的分类5.2.5设计模式i:引言5.2.6构件5.3软件体系结构的方案及其类模型5.3.1数据流结构5.3.2独立构件5.3.3虚拟机5.3.4仓库(repository)结构5.3.5分层体系结构5.3.6在同一应用系统中应用多种体系结构5.3.7本节小结及选择体系结构的实际步骤5.4用于体系结构的符号、工具和标准5.4.1符号5.4.2工具5.4.3ieee/ansi表述设计的标准5.5选择体系结构的质量保证(qa)5.5.1选择体系结构的质量5.5.2从备选方案中选择一种体系结构5.5.3使用用例来检查体系结构5.5.4体系结构选择方案的评审5.5.5软件体系结构的选择对spmp的影响5.6小结学生项目指南:encounter案例的体系结构spg1.准备工作spg2.选择体系结构spg3.小组会议(“初始设计的评审”)spg4.体系结构细化spg5.编制体系结构文档练习题复习题一般练习题小组练习题问题解答案例分析i.角色扮演游戏的体系结构框架ii.encounter角色扮演类游戏的体系结构框架软件设计文档的第1部分(第6章中的案例研究为第2部分)第6章详细设计第1部分:基础篇6.1详细设计简介6.1.1“详细设计”的含义6.1.2详细设计与用例、体系结构的关系6.1.3“详细设计”过程的一个典型路线图6.1.4统一开发过程中的设计6.1.5面向接口的设计6.1.6构件重用6.2详细设计中的序列图和数据流图6.2.1详细的序列图6.2.2详细的数据流图6.3类和函数的说明6.3.1类不变量6.3.2函数不变量、前置条件和后置条件6.4算法说明6.4.1流程图6.4.2伪码6.4.3何时使用流程图和伪码第2部分:提高篇6.5设计模式ii:详细设计的技巧6.5.1详细设计中的创建型模式6.5.2详细设计中的结构型设计模式6.5.3详细设计中的行为型设计模式6.6标准模板库6.7详细设计的标准、符号和工具6.7.1关于详细设计的ieee890标准6.7.2详细对象模型中的统一建模语言(uml)6.7.3基于源代码的工具:javadoc6.8详细设计对项目的影响6.8.1根据详细设计估计规模6.9详细设计的质量6.9.1详细设计的质量和度量指标6.9.2详细设计的评审6.10小结练习题复习题一般练习题小组练习题问题答案案例分析i.角色扮演视频游戏框架的详细设计续(软件设计文档的遗留部分)ii.encounter应用的详细设计续(软件设计文档的遗留部分)第7章单元实现7.1简介7.1.1单元实现的含义7.1.2实现的目标7.1.3单元实现过程的典型路线图7.1.4统一软件开发过程中的实现7.1.5编程语言7.2编程语言和风格7.2.1实现的一般原则7.2.2指针和引用7.2.3函数7.2.4异常7.2.5错误处理7.2.6其他经验7.3.编程标准7.3.1命名约定——以java为例7.3.2属性说明(源自【am】)7.3.3常量7.3.4属性初始化7.4可证明正确性的程序7.5编程的工具和环境7.6.实现的质量7.6.1源代码的度量指标7.6.2可定制的源代码度量指标7.6.3代码检查7.6.4个人的软件文档7.7.实现过程总结练习题复习题一般练习题小组练习题问题答案案例分析i.更新sqapii.更新scmp附录:实现模型iii.个人的软件文档(两部分之一)ⅳ.源代码(不包括测试代码):encountercharacter第8章单元测试8.1单元测试的介绍8.1.1测试的目的8.1.2单元测试的含义8.1.3典型的单元测试路线图8.2.测试类型8.2.1黑盒测试、白盒测试及灰盒测试8.2.2黑盒测试的等价划分8.2.3黑盒测试的边界值分析8.2.4白盒测试的语句覆盖8.2.5白盒测试的决策覆盖8.2.6基于断言的测试8.2.7测试的随机性8.3.规划单元测试8.4方法测试的清单和实例8.4.1方法的单元测试8.4.2方法测试的实例8.5类测试的清单及实例8.5.1方法组合的测试实例8.5.2面向属性的测试8.5.3测试类不变量8.5.4基于状态的测试8.6总结练习题复习题小组练习题一般练习题问题答案案例分析:encountercharacterjava个人文件文档(psd)的第2部分第9章系统集成、验证和确认9.1引言9.1.1集成的含义9.1.2验证、确认和系统测试9.2集成过程9.2.1“集成”说明9.2.2集成和系统测试过程的典型路线图9.3测试过程9.3.1集成测试9.3.2测试工作人员和工件9.3.3接口测试9.3.4系统测试9.3.5可用性测试9.3.6回归测试9.3.7验收测试9.3.8安装测试9.4编制集成和测试文档9.4.1测试文档标准9.4.2集成和测试文档的组织9.5移交阶段9.5.1alpha版本和beta版本9.5.2移交迭代的路线图9.6集成、验证和确认的质量9.6.1质量目标9.6.2集成和系统测试的度量指标9.6.3集成和系统测试的检查9.6.4在集成和系统测试中涉及到的质量保障工作9.6.5系统集成和能力成熟度模型9.7集成和系统测试工具9.8总结练习题复习题小组练习题一般练习题复习题答案案例分析第10章维护10.1引言10.1.1“软件维护”的含义10.1.2软件维护中存在的各种问题10.1.3建立维护过程的典型路线图10.2软件维护的不同类型10.3维护技术10.3.1影响分析10.3.2逆向工程10.3.3工程再造10.3.4原有应用系统10.3.5更新文档10.4ieee标准1219-199210.4.1维护问题的确定10.4.2维护问题分析10.4.3维护请求的设计10.4.4维护请求的编码实现10.5维护管理10.6维护质量10.6.1维护度量指标10.6.2维护度量指标的应用10.6.3易维护性10.7总结练习题小组练习题案例分析:encounter的维护维护请求4593缩略语附录auml图示1附录buml图示2 序言/前言译者序随着信息技术的飞速发展,如今软件企业的数量正急剧增长,软件开发项目不仅数量越来越多,而且规模也越来越大。但是长期以来,软件开发人员一直被估算不准、功能蔓延等问题所困扰,巨大的进度压力,突如其来的风险总是使软件开发团队在成功完成项目的征途上举步维艰。软件工程理论与软件项目管理的实际应用和经验是软件企业亟待学习与渴求的。以提高软件生产的质量与效率为宗旨的软件工程正逐步成为软件企业健康发展的关键技术之一。如何实施软件工程活动已经成为软件企业关注的焦点。ericj.braude撰写的《软件工程——面向对象的视角》强调“不要只是学软件工程,而是要去实际做软件工程”。本书通过对面向对象的分析和设计,以及各种面向对象的方法的恰如其分的描述和深入的分析,力图找到一些使读者能够学会如何按照软件工程的思想来工作的解决问题的途径。braude清晰地给出了如何应用框架、用例和设计模式的说明,并且将面向对象、需求分析和测试技术联系在一起,并运用于实施软件过程的活动中。而且在书中还提供了一个有趣的连续的案例分析,这个角色扮演类的视频游戏的开发实例可以帮助读者理解应用软件工程方法进行应用开发的全过程,体会到各种质量因素、全面细致的需求文档、现代设计方法和当代项目管理技术相结合所带来的种种益处。本书的初译工作由和华、刘海燕组织完成。其中和华负责第1~4章的翻译工作,曹学军负责第9,10章的翻译工作,刘海燕翻译了其余部分并负责全书的统稿工作。同时译者希望向参与本书部分翻译的王海青、刘宏伟、何燕春、陈春松、苏萍、马瑞芹、刘佃富、王远靖、屈毅及本书的审校人员和为翻译工作提供支持和关注的所有人员表示诚挚的感谢。由于译者自身的知识局限及时间的仓促,译稿中难免存在不当之处。谨向读者及原书作者致以歉意,并恳请读者批评指正。和华、刘海燕前言本书在讲述软件工程相关内容的同时,还关注如何实施软件工程活动。而在过去,很少有人尝试写这样的书,这是因为缺乏被广泛认可的技术方法。特别是面向对象的技术,在现有的软件工程书籍中,通常仅仅是作为其中的一节,尽管当今绝大多数项目使用的都是面向对象语言。20世纪90年代,面向对象的分析和设计一族中兴起了一种将设计及其相应的表示符号融为一体的方法:统一建模语言(uml)。随后,这种方法和语言被广泛地接纳,这使得新千年之初成为一个合适的时机来讲授如何开展软件工程活动,而不是只局限于软件工程所包含的内容。因此,虽然本书必然包括了软件工程中非面向对象的那些方面,但是它的一个重要目的是指导框架(framework)、用例(usecase)和设计模式(designpattern)的应用。同时,本书还把面向对象和需求分析及测试联系了起来。这样,导师就能够在讲授各类方法时花费较少的时间,而将更多的精力用于深入分析和练习上。任何阐述如何开展软件工程活动的书籍肯定会包含一个案例。而且,既然软件工程通常总是在和复杂的事物打交道,那么一本软件工程教科书就需要一个实际的案例,而不是象征性的。还有,这个案例对学生来说应该是很有趣的,使他们乐于思考由始至终的这个过程。基于上述的原因,本书将通过构建一个角色扮演类视频游戏来贯穿讲述软件工程原理的应用。视频游戏给我们充分的机会来展示框架、设计模式、状态行为、并行和特殊的图形用户界面。当然,本书也包含一些科学和商业方面的例子作为对这个案例的补充。典型的软件产品更多的是由一个软件工程师小组完成的,而不是由一个人独立承担的。为了满足相关知识的需求,本书对学生小组提供了广泛的支持。更详细的内容还可以参考wattshumphrey的先驱著作“thepersonalsoftwareprocess”[hu]和“theteamsoftwareprocess”[hu7]。读者本书的读者定位在读研究生和刚毕业的大学生(至少有一年的工作经历)。既然本书的目的是在开发软件方面提出好的实践,因此本书对于希望提高自身知识水平和工作能力的职业人员也会有所帮助。行文中假设读者熟悉使用类和对象的编程,熟悉java更佳。本书的组织结构第1,2,4,5,6章各自分为两个部分。这种划分给那些希望快速掌握需求分析和设计的基础知识的读者和导师带来方便。他们可以先使用这些章节的第1部分,晚些时候再回到第2部分。绪论中对软件工程做了简明综述,同时对学生小组的组建提出一些建议。这一章还对本书的案例给出了概要介绍,也让学生们确信技术性的挑战的确要等待他们理解了“过程”(process)和项目管理的概念之后才应该涉及。第1章介绍了大量的软件工程实例。其中1.6节是本章的核心。第2章关注软件项目是如何组织的。技术人员有时试图跳过这个话题,但是如果能够理解项目的组织结构和管理问题,他们将会在小组工作中得到更大的快乐。特别是2.1节和2.4节的内容对于每个软件工程师都是绝对必要的。从第3章到第10章的安排遵循软件开发的每一次迭代中的逻辑顺序。第3,4章是关于需求分析:了解要做什么东西的过程。第5,6章描述产品是如何被设计的以及设计的表达方式。第7章讨论软件工程意义下的编程。第8,9章关注测试过程。第10章讨论产品发布后需要的活动。本书的使用方法尽管本书的章节是按照逻辑顺序组织的,但是并不是完全和应用开发的实际方式相似。需求分析/设计/编码/测试这个顺序通常至少进行一次。第1章和第2章会讨论如何组织这个顺序的重复。本书有几种基本的使用方法,每种都基于不同的优先性,下面我们来详细地说明。线性的使用方法:按本书安排的章节顺序阅读:绪论/1/2/3/4/5/6/7/8/9/10作者在授课中曾经首先介绍序言和绪论,之后顺序地讲述第1章至第10章。他用第1章和第2章对软件工程做出综述,然后鼓励班上的学生小组根据“普通”的需求集首先依次经历一遍需求分析/设计/编码/测试的过程。这样使学生们习惯于“过程”这个观念,训练了小组内的交流互动,使他们开始接触要面对的问题。这需要对这两章以外的内容中的部分材料先做必要的介绍。“两遍”的使用方法:按照如下顺序阅读各章:绪论/1第1部分/2第1部分/3/4第1部分/5第1部分/6第1部分/1第2部分/2第2部分/4第2部分/5第2部分/6第2部分/7/8/9/10第一遍包括每章的入门各节,而第二遍则扩展到全部章节。这个顺序的优点是使小组能够在学习了各章的第1部分后建立一个小的原型,然后再充分实施完整的开发过程。作者建议开发的这个原型应该非常简单。它的主要目的是让小组共同工作,并体验软件工程开发过程的一些方面。一个新的小组要完成这些活动会花费较长的时间。因此不要期望这个原型实现有用的功能。“职业之梯”的使用方法:按照如下顺序阅读各章:绪论/1/7/8/6/5/2/3/4/9/10在使用第1章完成对软件工程的介绍后,其他讲师可能会根据软件工程师在一个公司内典型的职业发展道路来排列相关主题。进入公司首先是程序员(从第7,8章讲起,使用了第6章案例的设计作为一个例子的基础)。程序员逐渐成为设计师(第6章,使用了第5章中案例的体系结构设计)。设计师的典型发展是成为体系结构架构师(第5章,使用了第6章中案例的需求)。本书中最后的职业层次是项目经理(第2,3,4,9,10章)。本书的网站本书的网站设在http://www.wiley.com/college/braude,其中包含如下内容:本书所有图表的幻灯片,为彩色和powerpoint格式。这样讲师可以修改和定制这些幻灯片,并且有选择地把它们结合到其他幻灯片中。“综合”类练习题的答案,只对教师可见(通过口令保护的模式)本书案例的java源代码案例文档,可作为模板使用该网站还有很多计划正在进行的过程中,读者访问网站会看到当前内容的列表。练习题每一章中包含三类练习题。“复习”题的答案简短,而且每道题的解决方案或者提示会和问题一样在同一章中提出。“小组”题用于各学生小组实施项目,这类练习题有明确的目标和评价标准。第三类是“综合”题,本书中不提供这类练习题的解决方案,但是讲师可以在本书的网站上获得答案。致谢在我的职业生涯中,从业界的软件工程师和经理到今天的教授和顾问,我总是震惊地发现人们普遍渴望学习如何在无情的商业压力下,“正确地”实施软件工程活动。感谢我的同事们和业界的学生们不惜时间向我清晰地讲述这种需要。向dickbostwick表示无限的感激,他对我写这本书的每一个步骤都给予了帮助。我也受惠于tomvancourt广泛而辛勤的协助。还有我在波士顿大学都市学院的学生们,感谢你们全体对于我的反馈。感谢本书的评阅人:你们的评论意见使本书有了显著改善。评阅人包括:henrya.etlinger,罗彻斯特技术学院;michaelgodfrey,沃特卢大学;davida.gustafson,堪萨斯州州立大学;peterhitchcock,达尔豪西大学;floydlecureux,加利福尼亚大学;stevenp.reiss,布朗大学;lauriewerth,位于奥斯汀的得克萨斯州大学。我还想感谢我在波士顿大学都市学院的同事们和行政人员,感谢他们的关心和鼓励。非常感激johnwiley&sons出版社的paulcrockett,jennywelter和billzobrist,还有出版署的janfisher,他们为了这个出版项目付出了辛勤的劳动。最后,请允许我用简短匮乏的文字来记录对我的妻子judy和儿子michael的深切谢意,他们的支持使我富有激情地完成了本书的创作。ericj.braude波士顿大学都市学院于波士顿,曼彻斯特
更多介绍

其他说明
字数:672千字 页码:600 开本:16开

第一发货地
西安

相关书籍
用户评论共0 条
用户评论共 0