软件工程及软件方法学
-
机械系统建模与动态分析温熙森[等]编著本书以机械工程为背景,介绍机械系统建模与动态分析的基本理论及其在机械工程中的应用技术。主要内容包括基础理论篇、时域建模与分析篇、频域建模与分析篇和综合应用篇等四个部分。本书可作为机械工程及相关专业硕士研究生教材,使其掌握机械系统建模与动态分析的思想、原理、方法和技术手段,也可用作相关领域工程技术人员的参考书。 -
实用软件工程教程王珍玲主编软件工程是介绍软件开发方法、提高学生软件开发能力的一门课程。《实用软件工程教程》一书全面系统地介绍了软件工程的概念、原?砗偷湫偷募际醴椒ǎ弊帕樯芰巳砑こ痰囊恍┳钚录际醴椒ā1臼榧冉樯芰巳砑こ痰睦砺壑叮庇峙浜鲜道镏莆绽砺壑逗图际醴椒ǖ氖迪帧H楣卜志耪拢谌莅ㄈ砑こ谈攀觥⑷砑尚行匝芯俊⑷砑枨蠓治觥⑷砑杓啤⒊绦虮嗦搿⑷砑馐浴⒚嫦蚨韵蟮娜砑こ獭⑷砑诵杏胛ず腿砑钅抗芾恚恳徽潞竺媾溆邢嘤Φ南疤猓靡园镏屠斫獗菊碌闹叮保诟铰贾懈隽巳肯疤獾牟慰即鸢福┒琳卟慰际褂谩?本书是针对高职高专院校计算机应用专业学生编写的教材,同时适宜高等专科院校、成人教育学院、函授大学等大专层次的理工科计算机专业的学生使用,也可供有一定实践经验的软件开发人员、计算机科学爱好者参考使用。 -
软件工程经济学(英)Barry W.Boehm著;李师贤等译;李师贤译本书阐述软件工程经济学的基本原理和分析方法,包括COCOMO模型分析,多目标决策分析,软件生命周期定量模型,软件项目的工程经济学基础,软件生命周期成本估算方法,以成本效益分析、边际分析、风险分析为基础的决策方法以及软件成本估算技术等。本书使用了大量案例,深入浅出、概念清晰,较好地结合了理论与实践。本书适合作为大学高年级本科生和低年级研究生的软件工程经济学基础课程的教材,也可供广大软件从业人员参考。前言:工程经济学课程已成为硬件工程师教育的一个标准组成部分。但到目前为止,软件工程师却缺少相似的、适合的软件工程经济学课程。这样导致的结果就是,大多数软件工程师没有机会掌握并利用那些有重要意义的经济学概念、技术和案例,而这些恰恰对他们以后的职业生涯、对所编制软件的易用性和价值都有重要作用。所以,本书的主要目标是为美国高年级本科生和一年级研究生,提供软件工程经济学的基础课程。即本书的两个目的是:1.易于学生学习。2.便于教师讲授。我也努力使本书能够达到第三个目的:3.为这一领域的专业人士提供帮助。因为这三类读者有一定的差异,所以我对学生、教师和熟练的软件工程师分别给出了指导,作为他们学习本书的起点。本书的基本结构如图A所示。第一部分介绍背景、动机和软件工程目标框架等,为后续的内容打下基础。第二、三部分包括两个互相补充的主题:软件生命周期定量模型,应用于软件项目的工程经济学基础。第四部分详细讲述了软件生命周期成本估算的方法,它是以第二部分较简单的成本模型为基础,同时,又进一步支持第三部分的软件工程经济学的分析技术。图A也显示了本书的每一部分所解决的基本问题。例如:第四部分不仅讲述了软件成本估算、理解影响软件成本因素问题,还探讨了像“如何利用这种理解来提高软件项目的可见性及控制,进而提高软件生产率?”这类问题。图B显示了本书的每一部分中的章节。例如,图B显示了分等级的软件成本估算模型细节的逐级层次,这个模型通常称为COCOMO(COnstructiveCOstMOdel)。顶层是在第5章~第7章讲述的基本COCOMO(BasicCOCOMO)模型,基本COCOMO模型是一个简单的公式,将软件项目的成本仅仅估算为已交付源指令规模的函数。接下来是中等COCOMO(IntermediateCOCOMO)模型,在第8章和第9章介绍,它估算软件项目成本是规模和其他成本驱动属性(costdriverattribute)的函数,如人员经验与能力、计算机硬件约束、现代编程规范(modernprogrammingpractice)的使用程度等。第23章讲述了最精确、最详细的一层,那就是详细COCOMO(DetailedCOCOMO)模型,并在第24章~第27章给出了其详尽的细节,它利用成本驱动属性,按每个阶段、每个子系统、每个模块分别估算软件产品的成本。第24章~第27章详细解释了各种软件成本驱动因子属性是如何影响完成软件生命周期每一阶段所需工作量的。COCOMO模型不仅给出了估算公式,也给出了该模型为什么能得出这些结果的最好解释。第24章~第31章详细讨论了软件生命周期成本估算知识的前沿问题(frontier),并提出了需要进一步研究的广泛课题(agenda)的建议,以扩展我们在软件生命周期及其经济学方面的知识。图A本书的结构—主要讲述的问题深深地感谢那些鼓励我,为我提供数据与意见的人们。真希望能把他们都列出来。……致学生未来几年内,你将有机会在一间屋子里和一群人一起讨论,决定将要进行的一个重要的新软件工作需要用多长时间、花多少钱,这是一个好机会。这些人中,也许有一到两名对软件很了解,其他大多数都了解不深。这些人可能是高层经理、业务分析员、市场专家或生产线计划者之类的人员。总的说来,他们将根据边际投资回报率、成本收益率(cost-benefitratio)、现值(presentvalue)和风险暴露(riskexposure)之类的概念进行讨论,并做出决策。图B本书的结构—部分与章节还有其他一些人,对这个项目很感兴趣,但不在这间屋子里。这包括将为你工作的、或同你一起从事软件工作的人员,还包括一些用户,那些不得不使用你们团队正准备生产的这个软件的用户。无论是否意识到,事实上,他们未来几个月甚至几年的命运,很大程度上依赖于你和其他非软件人员能在多大程度上对软件工作的范围、预算、进度做出实事求是的决策。屋子里的非软件人员没法做出决策,因为他们对你所做的软件技术性权衡没什么感觉。所以对你来说,与他们交流、理解他们思考并做出决定所依据的经济学概念,就显得特别重要。如果你能做到这一点,你就有机会改变软件开发人员与面向业务人员之间那种敌对关系,把它变成一种能相互理解、承诺和信任的关系。在这本书里,我们将尽量提供必要的概念与技术,使你既能从编程角度,又能从经济学的角度进行思考。除了这些概念的实际应用之外,希望你会发现它们具有相当的刺激性,就像当时我对计算机与信息处理领域提出一种新的见解时那样。我发现它们对说明如下问题有很大帮助:*为什么信息是有价值的?*为什么人们要采用软件产品?*人们如何决定需要什么样的信息处理产品?*为什么软件生命周期是这样的?就像其他方面的研究一样,当我们更好地理解了软件工程领域为什么会存在,才能更好地在软件工程中进行实践。致教师在这里,我想说明以下三点:1.软件工程经济学对教师和学生来说都是一个具有刺激性的、内容丰富的主题。2.本书可用作软件工程经济学方面的教材,讲授一学期或一学年均可,也可以作为更通用的软件工程课程的辅助教材。3.软件工程经济学是一个有重要意义的、成果累累的研究领域。首先,我想你会发现,软件工程经济学是一门有趣的、有价值的学科。微观经济学是一门精致的、清晰的、精确的学科。为什么这么多人需要计算机、软件和处理过的信息?风险和信息价值使得这个行业有令人鼓舞的前景。由于分析影响软件成本的因素很重要,所以目前出现了许多的软件工程指南并对软件生命周期产生了影响。此外,我还认为每个人不必都把自己沉浸到行业的实践与术语中,去寻找软件工程经济学相关的例子与应用。当我还在USC时,对学校开发的各种计算机与软件应用,及学校对计算机与软件成本的关心程度(特别在学校经费紧张的时候)印象深刻。所以,本书尽量避免行业术语,尽可能多地包含面向大学的问题和实例,从而使本书采用的材料较为熟知。本书的基本内容很适合一学期或一学年的课程。此课程的主要学习目标如下:*了解对软件成本影响最大的因素,并由此来确定估算的软件项目成本。*理解软件工程中的微观经济学的基本概念。*将经济学分析技术应用到软件工程决策中。下表给出了在一学期内讲授本书的课程安排,时间显得有点紧:周书的章节主题11~4软件生命周期:经济学观点25~6简单软件成本模型3,47~9中等软件成本模型:影响软件成本的因素51~12成本效益分析:生产函数、规模经济、方案选择6-复习,期中考试713~15多目标决策分析:净值、现值、品质因素816~18多目标决策分析:约束、系统分析、不可量化目标919~2风险、不确定性和信息的价值121~22实用的软件成本估算技术1131~32案例研究:软件生命周期成本分析与控制12-期末考试如果是第一次讲授软件工程经济学这门课,上述这些内容比较适合一个学年的课程安排,要使一个学期的教学效果令人满意,最好只安排讲授1~18章的内容,也能基本达到学习目标。这门课程适合美国高年级的本科生和一年级的研究生,惟一的前提条件是学生基本熟悉编程过程(或上过相当于两年的计算机科学方面的课程)和一定的微积分基础。为练习软件成本估算模型,我强烈推荐使用有指数运算(Xy)功能的计算器。虽然为使没有计算器的同学也能运用这个模型,在书中我加进了很多曲线,但这毕竟不太精确,也不方便。最后,我希望你能进一步深入研究软件工程经济学,研究软件开发过程自身具有的基本问题,如:*为什么软件开发成本这么高?*是什么因素使软件成本上升或下降,各因素之间如何相互作用?*是什么活动消耗了大部分的成本?*新的软件技术如何降低软件成本?在本书的第四部分,我列举并分析了由63个软件项目的成本及其开发属性组成的数据库,试图回答以下这个问题:“为使项目数据有助于以后其他项目估算和理解其软件成本,我们应该如何解释这些数据?”本书所描述的成本模型,是回答上面这个问题的第一步,但还有待于进一步地去做大量有价值的研究。深入分析这63个项目的数据,就能进一步得到很多有价值的新观点。另外收集、分析更多的观察与实验数据,会得到更多这方面的见解。第四部分大多数章节的最后,都有“进一步研究的主题”一节,说明要阐明上述这个问题的一些最有前途的方向。希望你和你的学生能尝试一下。致在职的软件工程师可以想像在你的软件工程生涯中,已经形成了很多个人原则,来指导估算软件成本、进行软件产品和项目所需的决策。我相信这本书能帮助你利用他人的经验,校准自己的经验法则,能为你的软件成本估算、软件工程决策提供一些其他有用的技术。我也希望,你读这本书的过程是一次激动人心的、充满收获的经历,就像我当初看到,我所用到的各种表面上无关的技术和决策方针,而事实上就是经济学原则的一部分时那样。可以根据个人兴趣与需要选择本书的某些部分阅读,而不是从头到尾地读一遍。以下是根据个人兴趣可以进行的选择。*如果主要想提高自己(或机构)估算软件开发成本的能力,那最好从第21章和第22章的软件成本估算方法开始看,接着再看第4章~第9章的软件生命周期和基本与中等COCOMO模型。*如果你还对估算软件维护成本或其他软件相关成本有兴趣,可阅读第3章、第31章。*如果你还对完成一个详细的软件成本估算模型有兴趣,并想对其加以裁剪,以适合自己的机构,阅读第23章、第29章。*如果你主要对特定软件属性(如,项目人员能力、现代编程规范的使用或语言级别等)对软件成本的影响有兴趣,请阅读第24章~第28章中的相应的内容。*如果你主要对提高软件经济学决策的分析能力有兴趣,请阅读第1章~第18章。*如果你主要对软件项目计划和控制技术有兴趣,请阅读第31章第6节和第32章。然而,即使你只对某一方面的主题有兴趣,我还是推荐你阅读一下第1章~第3章的介绍性内容和第33章的提高软件生产率。这些章节提供了实现更有效的、更令人满意的和更具生产率的环境所需要的背景与方法,在这样的环境中我们能反复演练软件工程活动。 -
软件工程初步贾长云《软件工程初步》是高等教育出版社与CEAC国家信息化教育认证管理办公室联合推出的认证课程教材,为CEAC计算机软件技术专业助理工程师认证课程配套。《软件工程初步》针对职业学校学生的特点,充分体现素质为基础、能力为本位、需求为依据、就业为导向的基本原则,教学内容注重选择当前软件工程中的一些新理论、新方法与新技术,通过一个小型软件项目为案例贯穿全书,使学生在学完本书后能掌握软件工程的基本理论与方法以及它们在软件项目开发中的实际应用。其主要内容涉及软件工程中的软件系统策划、需求分析、软件设计、编码实现、软件测试及实施与维护等方面的内容,考虑到职业院校学生的就业定位,重点侧重于详细设计、软件编码、软件测试、软件维护这几个方面的基本知识与技能。为保持教学内容的先进性,同时便于对教学进行科学、灵活的组织,对诸如UML方法、面向对象的分析、面向对象的设计与编程、面向对象软件测试、CMM等也做了介绍。《软件工程初步》可以作为职业学校计算机类专业的软件工程课程的教材或参考书,也可作为IT行业程序员、测试员、维护员等的培训教材或参考书。 -
高级用例建模(美)Frank Armour,(美)Granville Miller著;饶若楠译本书为软件工程实践者提供了一个全面而易读的对用例建模的指南,同时阐明了高级用例建模思想,描述了实现用例建模的过程,并讨论了各种用例建模问题。本书的两位作者是业内的资深专家,拥有深厚的技术背景和丰富的实践经验。全书结构严谨,条理清晰、图文并茂,是一本非常优秀的面向对象的专业书籍。本书适合各类软件人员阅读,同时还非常适合作为高等院校计算机及相关专业面向对象分析(OOA)课程的教材。“这本书不仅仅是一本介绍用例的书。作者利用他们丰富的经验,给出了一系列极好的、有深刻见解的详细例子,解释了一些关键问题并提出了士。何使用用例的宝贵建议。”——MariaEricsson软件开发者经常利用用例来阐明他们所构造的系统应该执行的行为。尽管用例驱动的软件系统分析、设计和测试变得愈来愈流行,但很少有书阐述用例在整个软件生命周期中的作用。本书满足了这类需要,它描述了如何为复杂的软件开发项目创建用例模型,采用了大量实例来解释概念性的信息。作者扩展了面向对象大师IvarJacobson的工作,使用统一建模语言(UML)作为描述书中模型的符号。本书主要针对专业人员,同时也包含将用例技术与业务过程相联系的信息。本书阐述了在一个框架中创建和维护用例模型的过程,该过程可以根据具体情况进行定制。本书作者是在软件开发中应用用例的先驱者,他们介绍了很多经验,主要涵盖以下主题:■应用用例模型的过程模型■如何保证用例建模工作循着正确的路线进行■用例建模中的提示和易犯的错误■如何组织大型系统开发的用例模型■高级用例建模和RUP框架的相似点■用例对用户界面设计的作用■高质量用例建模的指南 -
极限编程透视(美)Michele Marchesi[等]著;卢庆龄[等]译;卢庆龄译本书收集了47篇有关XP的论文。这些论文共分为六个主要部分:XP和AM概述,XP开发实践,向XP和AM转变过程中所包含的问题,应用XP进行工作的实际经验,如何使用极限工具帮助实际应用XP和AM,最后讨论了一些发展和扩充XP的思想。围绕XP和其他灵活方法论中讨论的多个关键主题,本书提出了有效实施XP的经验性技术,并给出了实现成功转变的策略。本书收集的论文涉及多个行业中的极限编程实践。对于已经在进行XP开发,或者是准备转换到这种灵活方法论上的人来说,具有较强的指导意义。对于采用传统开发方法的程序员来说,也有助于他们开阔视野,进而接受这些新的编程思想。前言为什么我们需要另一本Agile/XP的图书?如果XP和AgileManifesto都很简洁,那么为什么还需要那么多的书籍、文章、讨论会、用户讨论组、Yahoo分组电子邮件以及辩论会进行阐述呢?这是因为简洁并不表示过于简单,“简洁”的原则和实践的有效组合可以产生复杂的、智能的行为。XP的12种实践,DSDM的9个原则,BobCharette的“节俭开发”(LeanDevelopment)中的12条准则,以及与AgileManifesto有关的12条准则(12似乎是Agilists非常流行的数字)并不简单。这些复杂的问题,受技术和人类能力的限制,不太容易解决,但我们可以通过一些内在的规则、实践和准则很好地逼近,使“应用程序”产生无穷的有创造性的想法,这些想法反过来又可以为我们的顾客带来价值。这一点很关键,但严格的方法论支持者并不理解。他们中的许多人只相信内在的规则、程序和过程,而不相信生成的规则。如果有问题,可以翻到过程57、活动24、任务87、步骤4,即可找到答案。遗憾的是,复杂的问题并不能通过这些数字来找到答案。复杂的问题,也就是每人每天都要面对的现实问题,即软件产品开发杂乱无章的局面,可以在几个关键原则的指导下,基于几个关键实践,通过有创造性的、革新的想法来解决。正如KathleenEisenhardt和DonaldSull在“HarvardBusinessReview'’一文(“StrategyaSSimpleRules”,2001.01)中所写的那样,“如果商务前景是简单的,那么公司可以采取复杂的策略,但现在的商务是如此复杂,因此需要对它们进行简化”。简化并不意味着过于简单,而是意味着要从数以百计的软件开发规则和实践中提取出能够使我们清晰、有效地考虑所面临问题的一些内容。如果实践过于简单,我们将不需要有关单个实践的全部书籍:重构(MartinFowler),或结对编程(LaurieWilliams和RobertKessler),或测试优先开发(KentBeck)。本书各章的差异证明了我的观点。本书由Agile/XP领域的著名领导者和不太为人所知的领导者合作编写,他们每天都在努力工作以为其顾客创造价值。这些章节反映了现实世界问题的复杂性及其解决办法,有助于我们了解几个非常有价值的关键、简单的观点。类似这样的图书是很有价值的。虽然各个章节不一定适合每位读者,但可以先跳过一些章节,只学习感兴趣的部分,之后再学习其他章节,这样读者可以深人了解同时代的人如何使用AgUe/XP实践来解决众多的现实世界问题。但我们必须承认,参与在地中海撒丁岛海滩举行的XP2001会议的人对本书许多章节的形成都有一定的贡献。JimHighsmith -
数据结构与算法许卓群等编著《数据结构与算法》把数据结构的原理和算法分析技术有机地结合在一起,系统地介绍了各种类型的数据结构和排序、检索的各种算法,还引入了一些比较高级的数据结构及相关的算法分析技术。.《数据结构与算法》分为基本数据结构、排序和检索、高级数据结构三部分。借助抽象数据类型,从逻辑结构的角度系统地介绍了线性表、字符串、二叉树、树和图等各种基本数据结构;从算法的角度讨论排序、检索和索引算法;从应用的角度介绍了一些复杂的线性表结构、复杂树结构以及空间数据结构。《数据结构与算法》采用能够自然体现抽象数据类型概念的C++语言作为算法描述语言,注意对每一种数据结构的不同存储方法与有关算法进行比较分析。很多算法使用了参数化的模板,从而提高算法中数据类型的通用性,支持高效的代码重用。..《数据结构与算法》注意对概念的清晰引入,论述上加强逻辑性,并增加了一些新颖内容。《数据结构与算法》可作为高等院校计算机及相关专业学生的教材和参考书,也可供从事计算机的工程技术人员学习参考。 -
软件项目管理(美)克里斯·F.克默勒(Chris F.Kemerer)著;李玉英等译本书提供了大量比较前沿的实用性和应用性资料及案例,而且文章的内容非常适时和重要。全书重点在于讲授模型的开发,目的是使人们更好地了解软件的开发和工具的使用,提高过程的生产率和质量,为项目管理的相关内容提供了完整的知识体系。 本书适合可作为软件管理课程的主要必备教材,以及系统分析和设计、信息系统管理、信息系统项目课程的补充教材,在向信息系统和计算机科学专业的研究生和高年级本科生,实际软件开发人员和软件管理人员。 -
软件工程曹哲主编内容提要本书从实用的角度出发系统地介绍了软件工程的基本理论、方法、技术、工具和环境。全书共17章。内容主要包括:概述,软件项目管理,计算机系统工程,需求分析,面向数据流的分析方法,面向数据的分析方法与形式化方法,面向对象的需求分析,软件设计基础,面向数据流的设计方法,面向数据的设计方法,面向对象的设计方法,人机界面设计,程序设计语言与编码,软件测试、软件维护、软件配置管理以及软件开发新技术简介等。本书结构合理,在选材上注重了实用性,以期达到理论与实践相结合、学以致用的目的,本书对计算机辅助软件工程(CASE)工具的介绍几乎贯穿全书,概念清楚、通俗易懂、内容翔实、实例丰富、习题思考题与内容配合紧密。本书既可作为高等院校“软件工程”课程的教材或教学参考书,也可作为软件开发人员的参考书。前言软件工程是计算机学科中一个非常有价值并具有广阔发展空间的研究领域。多年来,随着计算机硬件技术的迅猛发展,人们开发优质软件的能力远远落后于社会各个领域对计算机软件的需求,也就是说,时至今日,仍然经受着“软件危机”的困扰。为了克服“软件危机”,自2世纪6年代末期以来,人们在这一领域做了大量的研究与实践工作,积累了大量的软件开发技术和方法,进而逐渐形成了系统的软件项目开发与管理理论。于是,一门新兴的学科——软件工程学(简称软件工程)诞生了。软件工程所研究的范围十分广泛,主要包括软件项目开发和软件维护的有关理论、技术、方法、标准、计算机辅助工具和环境以及软件项目管理等诸多方面。软件工程领域的研究成果为缓解软件危机发挥了关键性作用。“软件工程”课程是高等学校计算机学科教学计划中的一门主干课程。本书正是为普通高校计算机学科“软件工程”课程而编写的教材。本书共17章,其中第1章~第3章介绍软件工程的基本概念、软件项目管理、计算机系统工程:第4章~第7章介绍需求分析的有关内容,包括需求分析概念、面向数据流、面向数据、形式化、面向对象等需求分析方法、需求规格说明与评审等;第8章一第12章介绍软件设计的有关内容,包括软件设计的概念、设计过程和一般性技术,面向数据流、面向数据、面向对象以及人机界面的设计方法与技术、设计规格说明与评审等:第13章~第16章介绍软件的实现、测试与维护,主要包括程序设计语言与编码、软件测试与调试、软件维护、软件配置管理等:第17章简单介绍近期出现的与软件开发有关的新技术,包括软件重用技术、Intemet与Java、对象链接与嵌入(OLE)技术以及分布计算技术等。本书具有以下几个特点:(1)结构合理,系统地介绍了软件工程的基本原理、概念、方法和工具。(2)在选材上注重了实用性,以期达到理论与实践相结合、学以致用的目的。(3)对计算机辅助软件工程(CASE)工具的介绍几乎贯穿全书。(4)概念清楚、通俗易懂、内容翔实、实例丰富,习题思考题与内容配合紧密。本书可以作为高等院校“软件工程”课程的教材或教学参考书,也可以作为软件开发人员的参考书。本书由曹哲主编,由高诚、车进辉、吴燕任副主编,具体分工为:第1章、第2章和第14章由曹哲编写;第5章、第6章、第8章、第9章、第1章、第12章、第16章由高诚编写,第7章、第11章、第13章、第15章、第17章由车进辉编写,第3章和第4章由吴燕编写。本书由朱敦名教授主审。在本书的编写过程中,北华大学计算机科学技术学院计算机实验室的全体同志给予了多方面的支持和帮助。赵津燕、刘艳、李益民、胡晓宏、尹健慧、葛建梅、王双立等同志也参与了大纲讨论,并提出了很多宝贵意见。在此,编者向他们表示衷心地感谢。由于时间仓促及编者水平有限,书中难免存在疏漏和不妥之处,恳请广大读者批评指正。编者联系方式:Zxqu3@tom.com。编者24年5月 -
软件工程张玲等编本书是作者在多年的软件工程教学和科研实践的基础上,总结和吸取了国内外大量同类书刊的精华,精心设计和撰写的。全书正文共13章,内容可分四部分:第一部分主要介绍软件工程的基本概念,并概要介绍了软件生存周期、开发模型及软件开发的各种方法;第二部分按生命周期模型详细介绍软件计划、需求分析、设计、编码、测试和维护各个阶段的有关概念和工作内容,重点介绍了结构化方法和Jackson方法的实施,并介绍了软件体系结构的相关内容;第三部分介绍面向对象的方法及UML建模语言;第四部分介绍了软件标准、文档、质量评价和质量保证技术、软件工程的管理、认证等内容。该书的内容系统完整,在介绍传统理论体系的基础上,融入当前软件工程的最新发展和新技术。书中采用大量图表,描述尽量做到通俗易懂,将原理、方法与实例结合,并较详实地给出了一个软件系统的开过程。通过大量的练习和案例分析,帮助读者加深对理论知识的理解。该书可作为高等院校软件工程课程的教材或教学参考书,也可作为软件项目管理者和软件开发人员的参考书。
