软件工程——实践者的研究方法.doc
《软件工程——实践者的研究方法.doc》由会员分享,可在线阅读,更多相关《软件工程——实践者的研究方法.doc(622页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、软件工程软件工程实践者的研究方法实践者的研究方法作者简介 译者序 前言 第一部分产品和过程 第 1 章产品 第 2 章过程 第二部分软件项目的管理 第 3 章项目管理的概念 第 4 章软件过程和项目的度量 第 5 章软件项目计划 第 6 章风险管理 第 7 章项目进度安排及跟踪 第 8 章软件质量保证 第 9 章软件配置管理 第三部分传统软件工程方法 第 10 章系统工程 第 11 章分析概念和原则 第 12 章分析建模 第 13 章设计概念和原则 第 14 章设计方法 第 15 章实时系统的设计 第 16 章软件测试技术 第 17 章软件测试策略 第 18 章软件的技术度量 第四部分面向对象
2、的软件工程 第 19 章面向对象的概念和原则 第 20 章面向对象分析 第 21 章面向对象设计 第 22 章面向对象测试 第 23 章面向对象系统的技术度量 第五部分软件工程高级课题 第 24 章形式化方法 第 25 章净室软件工程 第 26 章软件复用 第 27 章再工程 第 28 章客户/服务器软件工程 第 29 章计算机辅助软件工程 第 30 章未来之路作者简介作者简介 Roger S.Pressman 是软件工程领域国际知名的咨询专家和作者。他以优等 成绩从 Connecticut 大学获得学士学位,从 Bridgeport 大学获得硕士学位,从 Connecticut 大学获得工学
3、博士学位。已有超过 25 年的产业经验。主要从事工 程产品软件和系统软件的开发技术工作和管理工作。作为产业的实践者和管理者,Pressman 博士主要从事的是航空航天应用中 高级工程和制造的 CAD/CAM 系统的开发,他也从事科学及系统程序设计方面的 工作。除了他的产业经验之外,Pressman 博士还是 Bridgeport 大学计算机工程 系的兼职副教授和该大学的计算机辅助设计和制造中心的主任。Pressman 博士是 R.S.Pressman Associates,Inc 公司的总裁,这是一 家专门从事软件工程方法和培训的咨询公司。他是公司主要的咨询专家,专门 负责帮助其他公司建立有效
4、的软件工程方法。他开发了 RSPA 软件工程评估方 法,该方法采用独特的数量和质量分析混合的方式,帮助客户评估他们软件工 程实践的当前状况。除了给 500 多个客户提供咨询服务外,R.S.Pressman Associates,Inc 公司还提供大量的软件工程培训及过程改善服务。公司开发了一个艺术式的录 像课程“Essential SoftwareEngineering”,它全面地讲述了产业界关于这一 主题的内容。另一个产品“Process Advisor”是指导企业软件工程改进的自测 系统。Pressman 博士还在产业期刊上发表了许多技术论文,是企业期刊的特约撰 稿人并出版了 6 本书。除
5、了本书外,还有:“Making Software Engineering Happen(Prentice Hall 出版公司出版)”,这是第一本涉及到改善软件工程 实施过程中的主要管理问题的书籍;“Software Shock(DorsetHouse 出版公 司出版)”,该书叙述了软件及其对商业和社会的影响;“A Managers Guide toSoftware Engineering(McGrawHill 出版公司出版)”,该书使用 独特的 QA 方式表示了创立和理解技术的管理指南。Pressman 博士是杂志 American Programmer(美国程序员)和 IEEESoftwar
6、e(IEEE 软件)的编委, 是 IEEE Software 的 Manager(管理员)专栏的编辑。他还是 ACM、IEEE、Tau Beta Pi、Phi Kappa Phi、Eta Kappa Nu 和 Pi Tau Sigma 的会员。译者序译者序 20 世纪末发生在我们这个星球上的最大变化之一无疑是席卷全球的信息技 术(IT)革命,人们将这场革命视为 21 世纪知识经济时代的前奏曲。在这 场 IT 革命中,软件无疑扮演了极其重要的角色。软件产业作为一个独立形态的 产业,正在全球经济中占据越来越举足轻重的地位。而软件工程正是软件产业 健康发展的关键技术之一。从 1968 年软件工程概念
7、的正式提出到现在,软件工程已有逾 30 年的发展, 出现了大量的研究成果,也进行了大量的技术实践。正是由于学术界和产业界 的共同努力,软件工程正在逐步发展为一门成熟的专业学科,以解决软件生产 的质量和效率问题为宗旨,在软件产业的发展中起到了重要的技术保障和促进 作用。本书是一本系统而全面地介绍软件工程理论、技术和实践的专著,是北美 学术界和产业界的畅销书之一。本书作者 Roger S.Pressman 是软件工程领域国 际知名的咨询专家和作者,著有多本学术专著,本书已是其第四版。本书第二 版曾在国内翻译出版,并被很多学校选为软件工程教材,在我国软件工程研究、 教学和实践中起到了很好的借鉴和参考
8、作用。而第四版并不仅仅是简单的修订, 而是被完全重构以适应软件工程领域快速的增长并着重于新的、重要的软件工 程方法。从早期版本保留的章节被全面地修订,并加入了 12 章新内容,以提供 对当代趋势和技术的完整讨论。书中还加入了很多新例子、思考题、推荐阅读 文献及其它参考信息源。本书的翻译出版旨在向国内软件工程领域的研究、教 学、管理和技术人员提供一个全面的参考文献、教材或实践指南。本书由黄柏素、梅宏组织翻译,其中梅宏负责第二部分 7、8、9 章和第三 部分的翻译工作,黄柏素翻译了其余部分并负责全书的统稿工作。同时译者希 望向参与了部分章节翻译工作的李克勤、张路、袁望洪、常继传、郭立峰、谢 涛、郭
9、耀、马黎等,以及参与了插图绘制和参考文献录入工作的徐松青、沈璞、 刘洋、孟祥文等表示诚挚的感谢。由于译者自身的知识局限及时间的仓促,译稿中难免存在错误和遗漏。谨 向读者及原书作者致以歉意,并欢迎指正。黄柏素、梅宏黄柏素(女),博士,北京大学计算机科学技术系副教授。1993 年于西北 工业大学获得博士学位。同年进入北京大学计算机科学技术系博士后流动站。 1995 年出站后留校工作。主要研究方向为软件工程、软件开发环境及工具、面 向对象技术、用户界面管理系统等。承担了软件工程课程教学工作。目前已发 表学术论文 20 余篇,并获得多项国家及部委科技成果奖和个人奖。梅宏,博士,北京大学计算机科学技术系
10、教授。1992 年于上海交通大学获 工学博士学位,1994 年从北京大学计算机科学技术系博士后出站。研究、教学 工作主要涉及软件工程及软件开发环境、软件复用及软件构件技术、(分布)对象技术、软件工业化生产技术及支持系统、新型程序设计语言等。已在国内 外学术刊物及国际、全国学术会议上发表学术论文 60 余篇。并多次获得国家及 部委级科技成果奖,以及其他个人荣誉奖。前前 言言软件工程已进入到目前的第四代,它已具有许多优势,虽然它仍存在同时 代人曾经历的某些弱点,但其早年的天真和热情已被更合理的经历多年培育的 期望(以及甚至善意的嘲讽)所替代,软件工程正带着许多成就步入中年,然 而还有大量工作需要去
11、做,今天,它已被公认为一个重要学科,值得认真地研 究、细心地学习和热烈地争论。在整个产业界,“软件工程师”已经替代“程 序员”成为更受欢迎的工作头衔。产业应用软件中已广泛而成功地采用了软件 过程模型、软件工程方法以及软件工具。管理者和实践者均认识到,需要一个 更严谨的软件方法来支持手头的工作。但是,在本书的早期版本中很多讨论的问题仍然存在,很多个人和公司仍 然在随意地开发软件,很多专业人员和学生不知道现代方法,最终,我们生产 的软件仍然存在大量质量问题。此外,关于软件工程方法的真实性质的争论仍 在继续。然而,今天软件工程已成为研究的热点,人们对它的态度已有很大变 化,它的发展也很明显,但是,要
12、使软件工程最终发展成为一个完全成熟的学 科还需做大量工作。本书的第 4 版试图成为正逐步走向成熟的软件工程学科的一个指南。和前 面三版一样,第 4 版的主要读者群仍然是学生和实践者,而且在写作风格上我 们力图仍然保持前面各版的格式和风格。本书的基本目标仍然是:作为产业界 专业人员的指南以及作为高年级大学生和一年级研究生的软件工程的全面导论。我们在第 4 版中并不仅仅简单地修订了原稿,为适应本领域快速的增长我 们完全重新组织了书中的内容,并着重讨论了新的重要的软件工程方法,还全 面地修订了从早期版本保留的章节,加入了 12 章新内容,以提供对当代趋势和 技术的完整讨论。加入了很多新例子、思考题,
13、每一章中还增补了推荐阅读文 献及其他信息搜索地址,包括数百个新的出版站点以及超过 160 个 WWW 信息站 地。第 4 版由 5 个部分共 30 章构成。这样做的目的是按专题安排内容,并使那 些没有时间在一个学期内完成书中内容教学任务的老师,可以按需取用。第一 部分:产品和过程,简介软件工程的相关语境,引出书中主要内容,并着重介 绍了以后章节用到的概念;第二部分:管理软件项目,讨论那些与计划、管理 和控制软件开发项目的人员相关的话题;第三部分:传统软件工程方法,讨论 那些被视为传统软件工程不同“学派”的分析、设计和测试方法;第四部分: 面向对象软件工程,讨论跨越整个软件工程过程的面向对象方法
14、,包括分析、 设计和测试方法;第五部分:软件工程高级课题,分章专门讨论形式化方法、 净室软件工程、复用、再建工程、客户/服务器软件工程和 CASE。第 4 版比以前版本更多地强调了度量和测度方面的相关技术。有三章和软 件度量相关,分别是:软件过程和项目的度量、软件的技术度量、面向对象系 统的技术度量。本书的组织使得老师可以根据时间和学生需要安排授课话题。一个学期可 选择一个或多个部分。例如,“设计课程”可能只需要第三或第四部分,“方 法课程”可能只需第三、第四和第五部分的部分章节,“管理课程”可能只需 要第一和第二部分。按这种方式组织本书第 4 版,目的是给老师提供灵活的教 学选择。第 4 版
15、的写作工作已成为我生活中持续最长的技术计划。即使当写作停止 时,从各种技术文献中提炼、组织信息的工作也一直在进行,为此,我要感谢 许多书籍、论文和文章的作者,以及新一代的电子媒体(新闻组和 WWW)的贡 献者们,他们在过去的 15 年中给我提供了大量的信息资源、思想和评注,很多 信息资源已在每章的参考文献中列出,他们在这个快速发展的领域中的贡献是 值得称道的。我还要感谢第 4 版的审阅者:Wayne State University 的 Frank H.Westervelt、The University of Connecticut 的 Steven A.Demurjian、Californi
16、a State PolytechnicUniversity 的 Chung Lee、University of Colorado 的 Alan Davis、QSM Associates 的 Michael C.Mah、University of CaliforniaIrvine 的 Richard N.Taylor、Virginia Tech.的 Osman Balci、AuburnUniversity 的 James H.Cross、Portland State University 的 Warren Harrison、NortheasternUniversity 的 Mieczyslaw
17、M.Kokar,他们的评注和批评是无价的。本书第 4 版内容的成型有赖于许多曾经使用过本书以前版本的产业界专业 人员、大学教授和学生,他们花了很多时间和我通信交流他们的建议、批评和 思想,我要感谢他们中的每一位。此外,我也要向我们的在北美和欧洲的许多产业客户表示感谢,他们教我 的比我教他们的要多。Roger S.Pressman第一部分第一部分 产品和过程产品和过程在本书的这一部分中我们主要讨论什么是工程产品和如何为工程技术提出 一个框架的过程。在下面的章节中,我们主要解决下列问题:到底什么是计算机软件?为什么我们不断努力要建造高质量的基于计算机的系统?我们如何对计算机软件的应用领域分类?关于
18、软件仍存在什么样的神话?什么是软件过程?是否存在一般性的方法评价一个过程的质量?软件开发中可以应用什么过程模型?线性过程和迭代过程有何区别?它们的优点和缺点是什么?在软件工程中可以建议什么更高级的过程模型?一旦回答了这些问题,读者就能够更好地理解本书其余部分给出的工程原 则的管理和技术方面的知识。第第 1 1 章章 产品产品本书的第 1 版在 80 年代初出版后不久,Business Weekly(商业周刊) 杂志在头版给出如下的大标题:“软件:新的驱动力”。编辑们当时并没有意 识到他们的预见是多么的正确。那时,大多数人对软件还是一无所知。大软件 公司,如微软公司,还不存在;拥有 15000
19、平方英尺专门出售包装好的软件的 计算机超市闻所未闻;在电视上为计算机操作系统做 60 秒钟商业广告的想法是 可笑的;而互联网仅为个别研究者和高等学校学生所知。但是,在不到 20 年的 时间里,所有这些(甚至更多)已经成为现实。计算机软件已经成为一种驱动力。它是进行商业决策的引擎;它是现代科 学研究和工程问题解决的基础;它也是区分现代产品和服务的关键因素。它在 各种类型的系统中应用,如交通、医药、通讯、军事、产业化过程、娱乐、办 公难以穷举。软件在现代社会中的确是必不可少的。而且当我们进入 21 世 纪,软件将成为从基础教育到基因工程的所有各领域新进展的驱动器。所有这一切已经改变了软件的常见概念
20、。计算机软件是无所不在的,人们 把软件看作是生活中现实的技术。在很多情况下,人们把他们的工作、他们的 舒适、他们的安全、他们的娱乐、他们的决策、甚至他们的整个生活都依赖于 计算机软件。软件千万可不能出错。本书介绍的若干技术是那些想要建造正确的计算机软件的人们需要用到的。 这些技术包括一个过程,一组方法和一系列工具,我们称之为软件工程。1.11.1 软件的发展软件的发展 今天,软件担任着双重角色。它是一种产品,同时又是开发和运行产品的 载体。作为一种产品,它表达了由计算机硬件体现的计算潜能。不管它是驻留 在蜂窝电话中,还是操作在主机上,软件就是一个信息转换器产生、管理、 获取、修改、显示或转换信
21、息,这些信息可以很简单,如一个单个的位(bit), 或很复杂,如多媒体仿真信息。作为开发运行产品的载体,软件是计算机控制 (操作系统)的基础、信息通信(网络)的基础,也是创建和控制其他程序(软件工 具和环境)的基础。许多人相信 21 世纪最重要的产品是信息,软件充分体现了这一观点。 它处理个人数据(如个人的金融事务),使得这些数据在局部范围中更为有用; 它管理商业信息增强了商业竞争力;它提供了通往全球信息网络(如 Internet) 的途径;它也提供了以各种形式获取信息的手段。计算机软件的角色在 20 世纪后半叶发生了很大的变化。硬件性能的极大提 高,计算机体系结构的不断变化,内存和硬盘容量的
22、快速增加,以及大量输入 输出设备的多种选择,均促进了更为成熟和更为复杂的基于计算机的软件系统 的出现。如果一个系统是成功的,那么这种成熟性和复杂性能够产生出奇迹般 的结果,但是它们也给建造这些复杂系统的人员带来很多的问题。在 70 年代和 80 年代出版的受欢迎的书对于计算机、软件和它们对我们文 化的影响等方面提供了有用的历史的视角。OsborneOSB79称之为一次“新的 工业革命”。TofflerTOF80称微电子的发展是人类历史上的“第三次浪潮” ,NaisbittNAI82则预言了从工业社会向“信息社会”的转变。Feigenbaum 和 McCorduckFEI83认为由计算机控制的信
23、息和知识将是 20 世纪中表现能 力的焦点,StollSTO89则提出由网络和软件产生的“电子社会”将是全球知 识交换的关键。进入 90 年代,TofflerTOF90描述了“权利的转移”,因为计算机和软 件导致了“知识的民主化”,因而旧的权利结构(政府,教育,工业,经济,及 军事)将要瓦解。YourdonYOU92担心美国公司在软件相关的业务中会失去竞 争力,并预言“美国程序员的衰落和下降”。Hammer 和 ChampyHAM93提出 信息技术将在“公司的再工程”中起到很关键的作用。在 90 年代中期,计算机 和软件的流行产生了大量“新劳工运动”的书籍(例如:由 James Brook 和
24、 Iain Boal 编辑的“抵制虚拟的生活”,以及 Stephen Talbot 写的“未来不是 计算”)。这些作者把计算机看成是魔鬼,强调了其合法性,而忽略了已被人们 意识到的巨大的利益LEV95问题。在计算机发展的早期阶段,大多数人把软件看成是不需预先计划的事情。 计算机编程很简单,没有什么系统化的方法。软件的开发没有任何管理,一旦 计划延迟了或成本提高了,程序员才开始手忙脚乱地弥补,而他们的努力一般 情况下也会取得成功。在通用的硬件已经非常普遍的时候,软件却相反,对每一类应用均需自行 再设计,应用范围很有限。软件产品还在婴儿阶段,大多数软件均是由使用它 们的人员或组织自己开发的,如你写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 实践 研究 钻研 方法 法子
限制150内