软件工程及软件方法学
-
度量软件过程(美)William A.Florac,(美)Anita D.Carleton著;任爱华,刘又诚译本书为两类人而写:认为软件不可度量的人;已开始度量软件,又不知如何利用数据的人。书中描述软件度量,并给出许多运用数据的例子,强调运用统计过程控制方法来理解过程行为,以促进软件过程的稳定性、可预见性。本书从提供一个度量和分析过程行为为框架开始,逐步介绍度量理由、度量计划和数据采集,然后处理数据分析和已有的数据分析方法,接着讨论如何运用这些数据来改进软件过程。最后一章尤为有用,回答了许多在开始应用统计过程控制方法和技术时很可能出现的问题。<br>本书可供软件开发人员及其过程管理人员使用,也可作为高校软件学院的教学参考书。<br>
-
领导软件开发团队(美)理查德·怀特黑德(Richard Whitehead)著;吴志明译;吴志明译译本书从一个软件开发团队的领导艺术的视角,围绕着在软件开发进程中团队领导将面临的种种现实问题,分别就团队的建设和领导、人际关系处理、压力和冲突管理、项目计划和决策制定等方面,以问答形式给予了切中要害的解答和切实可行的建议。所有这些建议均来源于作者作为译名开发技术人员、软件团队领导的多年实践和丰富经验,伴随着这些反传统的、创新的深邃而睿智的观点,很快你就能成为一名有效的领导者,就像你曾经是一名优秀的开发人员那样。译者序从20世纪80年代以来,团队及团队建设一直是国际管理学界最流行的两个术语之一。一方面,许多学者总结了自19世纪40年代以来的一些有关团队的研究成果,提出了一些有关团队成员角色理论及构建有效团队的途径和方法;另外一方面,从19世纪60年代以来,一些大企业顺应外部环境的迅速变化,在企业内部采用团队管理的模式获得了巨大成功。这些因素导致了团队及团队管理模式的流行。团队是应组织外部环境及组织结构发生的变化而产生的。随着组织结构的扁平化和柔性化的发展趋势,为了适应不断发展变化的外?炕肪场⒀杆俣钥突У男枨笞龀龇从Γ橹械暮芏喙ぷ餍枰韵钅康男问嚼唇饩觯枰榻偈毙缘南钅客哦印U庋扛鋈硕伎赡芑嵊谐涞毕钅客哦恿斓嫉幕帷=裉炷且桓鐾哦又械某稍保魈炷涂赡艹晌硗庖桓鐾哦拥牧斓迹虼耸欠衲芄怀晌细竦纳踔潦怯判愕耐哦恿斓冀晌矶嗳酥耙瞪闹械男碌奶粽健?初次涉足这个领域的专业人士头脑中一定会有很多问号,在实际工作中也会遇到很多困惑:团队领导往往不像传统上的直线领导那样具有组织系统所赋予的权力和权威,那么团队领导该怎样发挥自己的影响力呢?我过去是一个技术专家,而现在要面临很多技术之外的事情,我该怎样取得技术与管理工作的平衡?我的下属很多人在技术方面比我更在行,我怎么才能领导得了他们呢?我该怎样协调项目组成员、公司管理层、公司中的其他部门、外部的客户等方方面面的需求和利益呢?……这许许多多的问题将会在《领导软件开发团队》一书中找到答案。本书的作者在传统及等诸多行业中,而且在从新兴的高科技企业到大型跨国企业等不同规模和文化的企业中有广博的经验,近年来领导了许多软件开发项目团队,在团队领导方面具有丰富的经验。通观本书,有这样几个特色:一是体系完整、观点新颖。本书较为完整地向读者展现了团队管理中所涉及的工作内容,包括团队的领导如何着手工作、如何进行项目的计划和过程监控、如何建设项目团队、如何获取客户的需求、如何解决项目进程中出现的问题并进行决策,等等;特别是关于团队领导如何准确定位自己的角色、发挥领导应有的作用方面的内容,对那些新任团队领导或者出身于技术专家、专业人士的团队领导尤其具有参考价值。这些内容将启发他们完成从专家到领导的角色转换。全书中贯穿了以客户为导向进行项目管理的思想,同时在项目团队的管理中特别强调了对人的管理,这些都是与当今世界管理发展的大趋势相吻合的,因此在实践中具有重要的指导意义。二是操作性强。作者本人具有极强的实践背景,全书的组织是以一个新上任的团队领导的团队管理工作过程为脉络的,涉及了大量的实际工作中的问题。书中的团队领导所面临的问题也是现实中的团队领导所面临的最普遍的问题。读者在与书中的团队领导共同思考和解决这些问题的过程中,必将提升实际的管理技能。书中还将一些重要的知识和技能以“信息栏”和“技能百宝箱”的形式呈现,令人一目了然。三是行文简洁流畅。本书不是学院派的理论著作,所采用的语言生动活泼,读起来比较轻松愉快,让您感觉是一个长者在对您进行悉心的指教。本书虽然是以软件开发团队的管理作为实例,但其中很少涉及纯技术内容,管理和解决问题的思路和方法具有跨领域、跨行业应用的可能性,因此本书不仅适合应用于软件开发团队的管理,对于其他行业的团队管理也比较适用。尤其适用于以项目管理方式运作的项目团队的领导。需要指出的是,本书不仅适用于在团队管理一线的管理者,也适合学术研究工作者参考。本书的翻译得到了许多人的支持和帮助。在初稿的翻译中,邓园、郭久龙、王瑶平、李晓娟等翻译了部分章节;其余大部分章节由我本人翻译;全书的译稿由我统一修改审订。此外,本书的翻译工作还得到了武欣、常玮、李华等人的热情帮助。由于水平所限,难免会有错误和不当之处,恳请读者批评指正。吴志明前言2002年3月于清华园为什么写这本书随着软件工程作为一个行业逐渐成熟起来,越来越多的人意识到:团队领导(负责项目技术方向以及管理团队中其他工程师工作的人)对一个软件开发项目的成功起着至关重要的作用。本书给软件开发团队的领导们提供了所需的帮助,使他们担负起领导项目的责任。这是一本很实用的书,包括了许多已经被尝试和检验过的建议和技术,能帮助领导们战胜常见的问题,并带领其他成员做出正确的决定,按时、圆满地完成项目。这本书是为哪些人写的本书是为那些工作要涉及到以下两方面内容的人写的:*需要做出有关软件产品的结构、设计或编码方面的详细决策,或亲自从事软件开发工作的队员。*领导、管理或监督开发软件的人员。本书尤其是为那些第一次领导软件开发团队的人,或者那些觉得自己与人相处的技能不如技术技能那么好,并感到在人际沟通方面需要帮助和指导的人写的。本书最适合于那些领导中型团队(4~8人)的人。但从某种程度上说,它也可用于只有一个人的项目的领导,或者用于较大团队的领导以及复合型团队的领导。本书对实习工程师来说也很有用。本书并不只是要教授管理理论,也并非介绍各个领域的最新思想。本书只是推广那些在实际工作中已经证明有效的实践经验。如何做一名软件开发团队的领导一个真正好的软件开发团体领导需要有很强的技术能力,同时也要非常善于发挥其他人的能力。团队领导是一个独一无二的位置,它既需要精细的软件知识和技能,又需要超越细节,并具有更宏观的视野。领导团队的方式对软件项目的成败有着决定性的影响。团队领导决定着软件的质量、技术决策的合理性、团队精神以及团队成员喜爱的激励方式。成为一名团队领导迫使您从不同的角度看待软件开发。作为一名开发人员,您工作的好坏是根据您所做的设计和编码的质量来评判的。但是作为一名领导,则有两种不同的评判方法:*由您的老板进行评判。根据项目的完成速度、费用的高低、客户或最终用户的满意程度来评判。*由您的团队进行评判。根据您的决策合理与否、您与他人共同工作的方式来评判。本书的目的是为了帮助您更好地完成以上的这些事情?佣鼓永习搴推渌哦映稍蹦抢锘竦酶嗟纳褪逗妥鹬亍?领导软件开发团队是一项充满压力的工作,这项工作也存在风险。虽然它的压力或风险可能不如带领一个足球队那么大,但是它也有同样的紧张和压力,您要设法满足很多渴望获得成功的人们,而且一旦做错了就没有重新再来的机会了。并不奇怪,这不是一件人人都能做好的工作。但当您做好了这项工作时,您也就得到了更多的回报。一旦您成功地领导了一个项目,您就希望继续做下去并一直保持成功。我希望这本书能帮助您获取和保持成功。本书是如何组织的本书是围绕着领导在每天工作中所面临的现实问题进行组织的,例如,“我该如何起草项目计划?”以及“我该如何赢得团队的尊重?”。许多现实问题既有关于人员方面的问题,也有关于技术方面?奈侍猓臼榘颜饬礁龇矫娼岷掀鹄矗魑掣鎏囟ㄇ榫跋碌牟煌矫婕右钥悸牵皇堑弊鐾耆掷氲奈侍狻?正如您从目录中所看到的,本书的结构按照一些主要方面的问题集合起来。所以,必要的话,您可以从某个特定方面的问题开始阅读。各部分内容都是完整独立的,并且当提及与其他部分和参考书目有关的内容时会加以指明,因此可以按照任何顺序进行阅读。关于本书中的职位名称,如“团队领导”和“项目经理”软件行业没有一套被广泛认可的职位名称。不同的公司中的职位名称各不相同。本书中,我使用的是以下的职位名称:*开发人员:那些做软件开发工作的人。他们做出具体的技术决策,从事设计、编码、测试、文档编写等工作。他们对自己所从事的开发领域负责,但不必对整个项目负责。*团队领导:那些做出关于软件项目的结构、设计、编码等技术决策的人。主要负责整个项目的技术上的成功,指导和检查其他团队成员的工作,负责软件产品的质量;有广泛的、先进的开发经验,或许要亲自进行软件开发工作;在一个小型项目中,可能也充当项目经理的角色。*项目经理:负责计划、预算、与管理层联系、与客户谈判。可能受过技术培训,但是不做开发工作;在一个大型项目或跨领域项目里,可能要指导好几个团队领导开展工作;主要负责项目按时、在预算之内交付。*软件经理:开发人员的直接主管。负责招聘、解雇、培训和发展员工;同时也负责工作程序和工作规范;为组织设定策略性的技术方向;是管理团队中的一部分。如果您的工作内容(或者您的部分工作内容)涵盖了前面所定义的团队领导工作,那么这本书就是为您写的。不论您是被正式地授予领导职责,还是仅仅负有部分领导职责,这些都不是很重要。您的职位名称也无关紧要。这些职位的区别不是很明显。大多数的团队领导也做?⒌墓ぷ鳌C扛鐾哦恿斓级急匦胱鲆恍┘苹约捌渌钅抗芾砉ぷ鳌1臼橹校颐挥邪凑沼伤醋稣庑┕ぷ魅挝穸星郑抑皇窍刖∥宜芨切┬枰娜颂峁┳詈玫陌镏?联系作者如果您想对本书的任何方面的内容提出评论,可以浏览作者的的主页:www.richardwhitehead.com。
-
可视化项目管理(美)凯文·福斯伯格(Kevin Forsberg),(美)哈尔·穆兹(Hal Mooz),(美)霍华德·科特曼(Howard Cotterman)著;刘景梅,许江林,于军译;刘景梅译译本书结合项目管理和系统工程,详细讲解一种独特的可视化项目管理方法。书中采用精心设计的图表和3D模型,将项目管理的顺序管理和情景管理行为与项目管理的通用词汇表、团队协作、项目周期和项目管理元素结合在一起,使复杂的项目管理形象化为简单的流程和原则,为读者提供了一种易于理解的界面。作者为国际著名项目管理模型与实施的设计人与培训师。书中提出的项目管理过程及技术,已在3万多名项目经理和朗讯等100多个公司的成功实践中得到印证。本书列国外实用类项目管理图书销售之首。
-
数据结构陈雁主编本书是教育部高职高专规划教材,是“计算机应用与维护专业系列教材”之一。本书主要内容包括:数据结构的基本概念、线性表、栈、队列、树、图、查找、排序等,最后部分介绍了―些实用算法和面向程序设计中数据结构的描述方法。本书每章配有习题及上机实习题。本书可作为高等职业学校、高等专科学校、成人高等学校以及本科院校二级职业技术学院计算机类专业或信息类相关专业的教材。也可作为非计算机专业学生选修课或辅修课的教材,还可作为计算机应用人员和工程技术人员的自学参考书。
-
多代理系统理论、方法与应用范玉顺,曹军威编著软件代理技术和多代理系统是在复杂应用环境下进行软件系统开发的一个热点方法。本书在总结分析了现有的软件代理技术和多代理系统的研究和应用成果的基础上,对多代理系统的理论、方法、应用和开发方法进行了全面的介绍,为从事多代理系统技术研究和应用的人员全面了解多代理系统技术提供了详细的科研资料,是研究人员深入开展研究的基础。本书可以作为软件公司进行软件系统开发的参考资料,还可以作为计算机、自动化、企业管理专业研究生的学习教材。
-
Rational统一过程引论(美)Philippe Kruchten著;周伯生,吴超英,王佳丽译Rational统一过程是由Rational软件公司开发和营销的一种软件工程过程,是开发组织用以分配与管理任务和职责的一种规范化方法,它能提高开发队伍的开发效率,并能给所有开发人员提供最佳的软件开发实践。本书简明扼要地介绍了Rational统一过程的概念、结构、内容和动机。以本书为指导,开发人员可以在预定的进度和合理的预算范围内开发出高质量的软件产品。本书的作者是Rational统一过程这一产品的首席构架师,他在本书中与读者分享他所拥有的过程知识,并将重点放在掌握这种行之有效的软件开发方法的核心技术上。本书是为所有参与软件开发的人员撰写的,尤其适合那些已经或即将采纳Rational统一过程的开发组织的成员;同时,本书也可以作为广大读者学习软件开发相关课程的补充教材。
-
UML精粹(美)Martin Fowler,(美)Kendall Scott著;徐家福译;徐家福译原版进口UMLDistilled:ABriefGuidetotheStandardObjectModelingLanguage一本统一建模语言UML的入门读物。UML问世以来,应用广泛,成效显著,实为颇具代表性之建模语言。作者积多年软件建模之经验,精心组织,精心撰写。全书共11章、两个附录,具精粹提炼、学以致用、经验结晶、文笔清新等优点。对多数用户经常使用之成分,结合示例,讲深讲透,对其他重要成分,亦作简明介绍。出版数载,已刊印10余次,乃国际IT业界之畅销读物。本书可作为高等学校计算机、电子、通信等专业高年级学生及研究生课程之教学用书,同时对软件研究与开发人员亦颇具参考价值。
-
UML软件建模周秉锋编著本书结合软件开发实际,循序渐进地全面介绍了统一建模语言(UML:Unifide Modeling Language)的基本概念、实际应用和理论基础。全书共分为17章,分别介绍了:软件产品开发和软件建模的关系、统一建模语言简介、需求分析和用例视图、交互与交互图、结构建模与逻辑视图、类、关系、共用机制(common mechanism)、类图(class diagram)、接口、类型、角色、模型包、实例、对象图、状态机、状态机图和活动图等内容。章节和内容的安排按照软件开发过程的分析、设计、建造的顺序展开,并通过大量的建模实例详细解释了各种UML模型元素的语义、语法和建模原则。本书既可以用做计算机应用技术专业的研究生课程的教材,也可以供软件产品的分析、设计和开发人员作为软件设计的具有实用价值的参考书。
-
繁荣地走向衰退(美)霍华德·T.奥德姆,(美)伊丽莎白·C.奥德姆著;严茂超,毛志峰译未来,人类将不会再象过去那样,拥有那么丰富的化石燃料、自然能源和计算能源。那么人类社会如何稳步、繁荣地走向未来?越来越多的领导人意识到不可持续的增长已经超过了地球对文明的承载能力。历史上的许多文明社会由于资源的匮乏已经陷于崩溃,一些社会和生态系统为了迎合资源不足的需要,减少自身的需求,以求得持续的发展。20世纪70年代燃料供应中断,向人们展现了未来资源短缺的景况;20世纪80年代,人们沉溺于增长,为衰退做计划的想法似乎是疯狂的;20世纪90年代后期,尽管领导人还在谈论更多的增长,人均真正财富量正在发生波动,不平等、责备和阶级意识威胁着社会的结构;2001年,一些社会指标已经停止增长;进入21世纪后,或许人们对社会变革的根本原因的解释更为开明。在此阐明的观点和策略能使人们从容面对即将到来的衰退。尽管一些科学家认为人类将面临突发性的灾难,《繁荣地走向衰退》一书告诉我们,我们在较少资源的情况下,在保持自身繁荣的情况下走向未来之路,使现有的文明社会可持续的发展。作者提议,对于这种情况,各国之间应本着平等原则,加强合作,在全球人口、财富分配、能源利用、生态保护、城市发展、资本主义和国际贸易、信息技术和教育等广泛的领域合作,实现繁荣地走向衰退。《繁荣地走向衰退》对未来的发展做出了重要的预测,指出了人类可能遇到的最大挑战,并提出了迎接世界转变的对策。本书作者奥德姆教授是著名的生态学家、能量分析的先驱和能值理论的创始人,本书兼具思想性和可读性,将促使人们去面对关于世界未来的假设和信念。本书预言人类将如何处理她所要面对的最大的挑战并提出了精辟的见解。由于作者对这一主题经过了长时间的深思熟虑,因此,本书非常有趣,而且相当重要。
-
用例分析技术Geri Schneider Jason P.Winters;姚淑珍译用例分析方法是站在用户的角度定义软件系统外部特征的一种方法。作为UML的一种重要表示法,用例分析在软件开发中占据着决定性的地位。