软件工程及软件方法学
-
平衡敏捷与规范(美)鲍伊姆,(美)特纳 著,邓辉,孙鸣 译;邓辉译如何取得敏捷方法与规范方法的平衡,这是一个困扰着无数软件从业人员的大问题。本书针对这一现状,直接切入有效的核心概念,为定义平衡的软件开发策略提出了建设性方案。书中陈述了敏捷方法和规范方法各自擅长的领域及其各自的劣势,展示了敏捷方法和规范方法实际上是相辅相成的。本书通过介绍出两个开发组一天的项目活动以及富有新意的案例分析,演老婆子了如何平衡敏捷方法与规范方法。这对处于困惑中的软件从业人员而言,具有重要的指导意义。通过本书客观而务实的分析,读者可针对自己的项目,找到最佳的敏捷-规范平衡点。 -
高级软件开发过程金敏,周翔编著本书探讨了Rational统一过程、敏捷过程与微软过程三种目前软件界最具影响力的软件开发过程各自的优势与不足,帮助软件开发企业从中进行选择。本书首先分析了瀑布模型、螺旋模型等传统的软件生命周期模型在解决现代软件产业困境方面存在的局限性,提出走出现代软件产业困境需要如Rational统一过程、敏捷过程与微软过程的“软件过程模式”。接着围绕软件过程模式中的生命周期、人员、方法与产品四大要素及相互关系,分别剖析了三种软件过程的原则规范、思想本质、存在的优点和缺陷及适用的软件项目类型。阐述过程注重深入浅出、理论联系实际,既有抽象的思想分析,又有生动的实际案例对原则的内涵及运用方法进行诠释;既有成功的项目实践经验介绍,又有失败的项目教训总结。本书最后在综合吸收三种软件过程的优点、克服其缺点的基础上,提出一种新的集成过程模式,并指出:该模式也不是一种放之四海皆准的软件过程模式,任何软件项目都应根据项目的具体需求和环境对选用的软件过程模式进行适当地裁剪或扩充,寻求最适于该项目的、专用的最佳软件过程。本书可作为高等院校计算机及相关专业的研究生和本科高年级学生的教材,也可作为软件开发人员、项目经理、企业领导选择和实施Rational统一过程、敏捷过程与微软过程的快速指南和简明参考资料。本书前言软件项目开发曾被喻为“野马”。目前在软件界,最有能力驾驭这匹“野马”的三种软件开发过程是Rational统一过程、敏捷过程与微软过程。如果开发人员、项目经理、企业领导希望在自己的软件项目或企业组织中引入软件开发过程,究竟应该选择哪一种?这三种软件开发过程究竟孰优孰劣?本书即探讨了这些问题。本书主要内容和结构安排第1章为绪论。分析了瀑布模型、螺旋模型等经典的软件生命周期模型在解决现代软件产业困境方面存在的局限性,提出走出现代软件产业困境需要诸如Rational统一过程、敏捷过程与微软过程这类“软件过程模式”。第2~4章围绕软件过程模式中的生命周期、人员、方法与产品四大要素及相互关系,在三个章节中分别剖析了Rational统一过程、敏捷过程与微软过程三种软件过程的原则规范、思想本质、三者对比存在的优缺点和相互关系,以及适用的软件项目范围。每种过程的阐述深入浅出、理论联系实际,既有抽象的原则思想分析,又有形象生动的实际案例,对原则内涵及运用方法进行诠释;既有成功的项目实践经验介绍,又有失败的教训总结。第5章在综合比较吸收前三章给出的三种软件过程各自的优点、同时克服相应缺点的基础上,提出一种新的集成过程模式,同时指出:集成过程模式也不是一种放之四海皆准的软件过程模式,任何软件项目都应根据项目的具体需求和环境对选用的软件过程模式进行适当地裁剪或扩充,寻求适于该项目的、专用的最佳软件过程。本书特色相对其他软件开发过程方面的书籍,本书具有如下特色。1.先进性、前沿性和实用性本书跟踪全球软件界最新的软件过程方法技术和实践经验,分析了三种软件开发过程:Rational统一过程、敏捷过程与微软过程。这三种软件开发过程是目前在软件学术界最具影响力,同时也是软件企业界目前最受欢迎、正在使用或正准备使用的三种软件过程。这三种软件开发过程所具有的先进性、前沿性和实用性与它们的创立者密切相关。其中:“Rational统一过程”由专业化的软件过程产品提供商:Rational公司提出并维护,该公司聚集了面向对象领域三位杰出的专家GradyBooch、JamesRumbaugh和IvarJacobson,他们也是面向对象开发的行业标准语言——UML(UnifiedModelingLanguage,统一建模语言)的创立者,整个Rational统一过程(RUP)从最初的Ericsson(爱立信)方法到最终的RUP的发展史实质就是一部Rational公司对现代软件开发中诸多最佳实践经验三十多年的跟踪捕获史;“敏捷过程”则是2001年2月由17个软件方法学家组织成立的敏捷软件开发联盟提出的软件开发准则,其目的是矫正某些官僚、烦琐的软件过程;“微软过程”则是由世界上最大、也是最成功的软件公司:微软公司根据自身三十多年软件开发的经验总结而成,微软自身的巨大成功说明了该过程的实用性与有效性。2.独特性国内外目前已有一些专门独立论述这三种软件开发过程的书籍资料。然而,对于希望在自己的软件项目或企业组织中引入软件开发过程的开发人员、项目经理、企业领导而言,摆在他们面前的一个更现实的问题是:这三种软件开发过程究竟孰优孰劣?究竟应该选择哪一种?至今尚未有一本书籍将这三种软件开发过程综合在一起进行对比论述,并给出以上问题的答案。本书填补了这一空白,从软件过程模式角度,纵横捭阖,对比分析了Rational统一过程、敏捷过程、微软过程三种软件过程的原则规范、思想本质、存在的优点和缺陷、三种软件过程的相互关系以及各自适用的软件项目范围。3.综合性本书综合吸收了国内外同类书籍的优秀成果,主要参考书籍包括:*《统一软件开发过程》[6]该书由Rational公司面向对象领域的三位大师IvarJacobson,GradyBooch,JamesRumbaugh合著而成。他们也是UML的创立者。*《敏捷软件开发:原则、模式与实践》[8]该书由RobertC.Martin(美)著,并于2003年6月荣获美国《软件开发》杂志举办的第13届Jolt大奖。*《微软开发过程与案例》[12]该书由微软中国研究院的项目经理和开发人员根据在微软公司的亲身软件开发实践总结而成。该书在浙江大学作为试用教材,获得了极大的成功。4.理论的严谨性本书首先分析了瀑布模型、螺旋模型等传统的软件生命周期模型在解决现代软件产业困境方面存在的局限性,在对最新的软件开发实践经验进行分类整理和加工提炼的基础上,提出一个新的有关软件过程的概念:软件过程模式。相对软件生命周期模型,软件过程模式更全面、深刻、细致地反映了软件过程中的各个层面和各个环节,是对软件生命周期模型的补充和发展。接下来,本书从软件过程模式的四要素及相互关系的角度分析三种典型的软件过程模式:Rational统一过程、敏捷过程与微软过程,使读者能条分缕析、纲举目张地迅速而准确地把握这些软件过程的思想本质、原则规范以及各自的优缺点和适用范围,最终能在自己的软件开发项目中对各种软件过程模式进行选择、取舍、结合、定制,得到适于该项目的、专用的最佳软件过程。5.理论紧密联系实际本书对各种软件过程模式进行阐述时,既有抽象的理论原则分析,同时又引用和列举了大量生动的实际案例,对每种理论的原则内涵及运用方法进行诠释。这些案例既有成功的项目实践经验,又有失败的教训总结,特别在最后一章,从集成软件过程模式的角度汇总了软件业中常见的错误实践和规避策略。6.融合了编者多年在企业进行软件开发的心得软件是一门实践性的学科,正如俗语所说,“纸上得来终觉浅”。本书是编者对自身多年在不同规模的企业中参与或大或小的项目实践的感悟。7.教学与参考价值本书论述深入浅出,理论联系实际,且每章后均附有习题,因此适合作为高等院校计算机及相关专业研究生和本科高年级学生的教材,也可作为一些高级进修班的培训教材。参考学时为32学时。本书亦可作为软件开发人员、项目经理、软件企业领导的案头参考书籍。本书作为教材的试用效果本书的原稿作为讲义,在全国35所示范性软件学院之一——湖南大学软件学院的脱产和在职研究生班进行了试讲,学生们反响热烈,尤其是对于那些有过几年甚至十几年工作经历的在职研究生(他们当中有些已经是大中型项目的项目经理和技术主管)。他们认为本课程内容针对性很强,一方面解决了很多在以往工作中困扰他们及其所在项目组的实际难题;另一方面使他们能从实践层面上升到理论高度,从而系统、全面地接受软件开发过程的各种思想、原则、概念、方法、技巧的培训,而这些正是他们选择重新回到学校、进行进一步深造所希望实现的目标。致谢与其他全书由金敏主编,第1章和第5章的部分内容由周翔编写。本书在编写过程中参考了不少相关文献资料,书中引用的文字和图片均已清楚注明作者姓名、作品名称、文献出处并加入参考文献。这些引用是本书内容阐述所需,绝无侵权意图,特此申明。同时,对所引用的这些文献资料的作者或编者深表谢意。在本书的出版过程中,得到了湖南大学软件学院谢冬青教授的热情支持,他在百忙中仔细阅读了全部书稿,提出了宝贵意见,在此表示衷心感谢。本书在编写过程中力求精益求精,但由于编者水平有限,书中难免存在缺点、错误或有争议的问题,恳请读者批评指正并与我们探讨交流。编者2005年4月 -
WEB信息系统与技术孟小峰等随着运行于Internet平台上的各种应用和服务的快速发展,适用于网络平台交互、动态特性的各种技术层出不穷。人们迫切需要有效的手段和方法,以便更好地组织、管理和利用Internet和Web信息资源。本书针对Web信息系统应用中这些急需解决的问题,结合Web信息系统与技术在国内的发展及应用情况进行探讨,主要内容涵盖以下几个方面:Web信息挖掘与检索、语义Web与智能Web、Web数据管理和信息集成、Web应用框架和体系结构、Web与信息系统安全性、WebService和工作流模型、自动文本索引与分类技术、Web和网格技术等。 -
土地管理信息系统孙在宏[等]编著本书系统地阐述了土地、土地管理、土地管理信息系统等相关基本概念,土地管理信息系统建设的历史、发展现状和未来的趋势;设计了土地管理信息系统的总体框架,探索了系统的开发与数据库建设方法;给出了土地调查评价信息系统,包括土地利用现状调查信息系统、城镇地籍管理信息系统、城乡一体化地籍管理信息系统、土地利用总体规划辅助编制信息系统、城镇土地分等定级估价信息系统、农用地分等定级估价信息系统的设计与开发方法,以及地政管理信息系统,包括土地登记信息系统、建设用地审批信息系统、土地市场管理信息系统、土地利用规划管理信息系统、土地开发整理项目库管理信息系统、土地统计分析与综合事务管理信息系统和土地信息服务系统的设计思路与开发方法。.本书可作为高等院校土地管理专业、地理信息系统专业或相关专业本科生和研究生的教材,也可作为土地信息系统设计开发人员的参考用书,并可供从事各行业信息化建没、信息系统开发的科技工作者和高等院校师生阅读参考。... -
JOEL说软件(美)Joel Spolsky著;谭明金,王平译;谭明金译被称为是软件管理方面的“MBA教程”,并荣获第15届JOLT大奖。也许有人会问,既然佛祖释迦都没能解开的一个难题,Joel会有什么办法吗?答案却是肯定的。作为一名软件行业的老兵,Joel所设计与开发的软件拥有百万计的用户,从MicrosoftExcel到Juno用户界面,都不难找到Joel所贡献的劳动成果。这是一本关于软件管理的随笔文集,一本无论在任何方面都会让你受益颇多的休闲之作。它被冠以软件管理方面的“NBA教程”的称号,荣获第15界JOLT大奖!想知道其中的精彩吗?一起来体会吧!这是一本介绍软件管理的小品文集。全书分为45章,每章就是一个独立的专题或者知识点。本书内容十分丰富全面,小到项目负责人制订进度表,大到软件执行总裁提出富有竞争性的战略,都在本书的介绍之列。尽管内容很多,但事例驱动的写作方式,奠定了本书在可学性与可用性方面明显的优势。本书从不同侧面满足了软件开发人员、设计人员、管理人员及从事软件相关工作的人员的学习与工作需要。 -
质量·软件·管理(美)杰拉尔德·温伯格(Gerald M.Weinberg)著;李先华,邢彦,张红艺译;李先华译温伯格所著的《软件工程质量管理丛书》(共四卷),堪称本类图书中最具实用性的图书之一。本系列书针对个人的提高、组织的提升、方法的改进等诸多方面,系统性地为软件工程管理者提供了行动的指南。本书所涉及的问题,几乎就是每天发生在我们身边的事件,几乎就是所有研发组织正在致力解决或者尚未发现其存在的问题。或者说,本系列书涉及了软件工程组织从产生到发展各个阶段所面临的所有典型问题。本书为该系列图书的第Ⅱ卷,清晰地提出并论述了"一阶测量"的概念。所谓的一阶测量,是针对二阶和三阶测量而言的。来自软件质量的数据显示:就目前而言,只有小部分组织拥有可以支持二阶测量的文化。作者认为,"在你对自己正在谈论什么尚未搞清楚之前,追求精确是毫无意义的。"本书通过大量图表、案例告诉软件工程管理者应该如何创造一种测量的积极氛围,进而简单有效地对事物进行测量,并始终如一地生产出你想要的高质量软件。总之,本书是现代管理理论和软件工程领域结合的经典之作。 -
软件工程(英)Ian Sommerville著;程成,陈霞等译本书是英国著名软件工程学家IanSommerville系统介绍软件工程理论的力作,以要求极高的一类系统为实例,精辟透彻地阐述了软件工程的内涵。作者在第2篇中详细阐述了软件系统需求的内容、过程和描述方法,尤其是对形式化描述有详细的介绍和分析;在第3篇中针对主要类型系统的设计问题和重要的设计方法展开介绍,主要介绍了分布式系统设计、实时系统设计和用户界面设计,同时从体系结构、面向对象以及复用等视角对设计过程进行了精辟阐述;在第4篇和第5篇中,主要以实时系统为对象,介绍了系统的一系列重要特性及其度量方法,以及生命周期中包含的软件工程过程(如验证和测试等)内容和方法,内容翔实而透彻。在第7篇中作者对遗留系统处理和软件进化理论给出了高屋建瓴的分析,对软件改造的实践者来说无疑是一盏指路明灯;除此之外,作者还在第1篇和第6篇中对软件工程过程的诸多管理方面(如人员管理、项目管理、过程管理、成本估计和质量管理等重要方面)有极为详细的介绍和分析。本书是软件工程学界的经典,被众多世界知名大学所采用,既有理论高度又有具体操作方法,对于软件工程的管理者和参与者来说都是不能不看的好教材。该书英文原版设有专门的网站(www.software-engin.com),提供了对该书相关资料的链接,以帮助那些将该书用于教学和自修的人们。主要包括教师参考手册、幻灯片、书中程序实例源代码以及CASE和形式化描述的额外材料。试读:1-4章(ZIP) -
《软件基础》作业集西北工业大学网络教育学院组 编软件基础是计算机专业学生的必修课之一。为了帮助学生学好软件基础,巩固所学知识,我们编写了这本作业集。该作业集主要作为软件基础的辅导书,也可供使用其他教材学习软件基础的学生参考。为方便初学者学习,作业集中的每道习题都附有参考答案。习题的作用在于帮助学生深入理解教材内容,巩固基本概念,达到全面掌握课程内容的目的。 -
UML参考手册(美)James Rumbaugh等著;UML China译;UMLChina译“如果您是UML的忠实拥趸,毫无疑问本书是独一无二的。尽管我曾经参与过UML规范制定的过程,在通读这本书的过程中我仍然学到了很多东西,尤其是UML的变化和新能力给我留下了很深的印象。”——EdSeidewitz,IntelliDataTechnologiesCorporation首席架构师最新版本的统一建模语言即UML2.0的推出,使其作为软件密集系统建模的标准表示法而备受推崇。但是,如大多数标准文档一样,官方的UML规范总是稍显晦涩且不便于导航。此外,由于UML2.0远比以前的版本复杂,于是出版这样一本全面的参考手册就显得格外有意义了。作为UML标准最可信的参考手册,本书在第1版的基础上进行了重大更新和扩展。UML的创建者JamesRumbaugh、IvarJacobson和GradyBooch,清晰完整地讲述了UML的所有概念,包括对序列图、活动模型、状态机、组件、类和组件的内部结构以及特性描述的主要修订。本书的手册式结构不仅有助于读者对UML的概念进行规范化的学习与理解,更为广大程序开发人员、系统用户和工程技术人员提供了方便快捷的查询方式。无论您是在捕获需求、开发软件架构、设计实现还是在试图理解现有系统,在本书中您都将找到满意的答案。本书特色●字母顺序的条目词典,涵盖了每一个UML概念,全面覆盖UML2.0语义和表示法。●进一步解释原始规范中意义和目标模糊的概念。●讨论部分提供了使用建议和对复杂概念的深入理解。●附赠光盘上有本书英文版AdobeReader(PDF)格式的超链接版本,是浏览或查找特定信息的极佳资源。本书第2版基于UML2.0规范,对1999年出版的第1版进行了全面的修改。本书首先简要介绍了UML的历史、基本概念、目标及使用方法、然后按字母顺序列出了UML的所有术语,从语义、表示法和用途等方面全面而详尽地介绍了UML的构成和概念。本书的作者是面向对象方法最早的倡导者,更是UML的创始人。本书的手册式结构不仅有助于读者对UML的概念进行规范化的学习与理解,更为广为大程序开发人员、系统用户和工程技术人员提供了方便快捷的查询。 -
软件工程与软件文档写作文斌,刘长青,田原编著本书全面系统地讲述了现代软件工程的基本概念、原理及应用,重点是面向对象的软件开发方法、工具和过程,并针对软件生命周期的主要阶段,结合具体案例和相关标准讲述软件主要文档的写作规范和技巧,全面提高软件技术人员的软件开发和软件文档编写能力,是指导计算机软件开发、维护与文档写作的工程学科。 本书具有丰富的开发案例和软件文档模板,理论与实践相结合,每章后面备有形式多样的练习题和思考题。内容安排上循序渐进、深入浅出,力求通俗易懂、突出重点、侧重应用。本书配有全书各章的电子教案,任课教师可与作者联系。 本书不仅可作为高等院校高年级本科生或研究生和培训机构软件工程与软件文档写作的教材,也可作为广大自学软件工程及软件文档写作的读者的自学指导书和计算机软件技术人员的参考书。
