软件工程及软件方法学
-
数据结构黄刘生,唐策善编著本书系统地介绍各种常用的数据结构和排序、查找的各种方法。阐述了各种数据结构内在的逻辑关系、存贮表示及运算操作,并对类PASCAL语言描述的算法做了详细的注解和简要的性能分析。全书既注重原理又注重实践,配有大量图表、例题和习题,内容丰富,概念讲解清楚,逻辑性强,可读性好。尤其是各章的“内容提要”和“学习要点”,可以引导读者自学和抓住重点。书中针对不同层次教学的特点和需要,用“*”号标明不同要求的区别。本书可作为全日制高等院校计算机及其应用专业本科生、专科生的教材,亦可作成人教育或高等职业专科院校的教材,也可供广大从事计算机软件与应用工作的科技人员及自学考试者参考。 -
软土工程若干理论与应用白冰,肖宏彬编著编辑推荐:本书结合编著者的研究和实践,并参阅了大量的国内外有关文献,就软粘土的一些基本特性和软土工程中的若干理论及其应用进行了深入研究,反映了近年来编著者在这些领域的研究成果。 全书共分8章,具体内容如下:软粘土的基本物理力学特性,周期荷载作用下的软粘土性状,冲击荷载作用下的饱和软粘土性状,冲击荷载作用下的软粘土变形和强度计算理论,软土地基加固的若干理论及其应用,强夯法加固软粘土地基的原理及应用,聚苯乙烯泡沫塑料在岩土工程中的应用,软土工程中的环境土工问题。 本书可供建筑、水利、交通等部门的勘察、设计、施工、科研人员和高等学校有关专业师生参考。 -
机电控制工程高钟毓编著本书是高校教材,经过多年教学实践,现加以补充修订。全书共分为6章。第1章基础知识,介绍术语定义、典型机电控制系统、系统数学模型、性能指标分析及控制器设计。第2章受控机械系统动态模型,从动力学观点将受控机械系统分为平移、定轴旋转、定点旋转、多刚体以及微型机电系统,分别采用种种动力学原理建立它们的动态数学模型。第3章电动机转矩转速控制,讨论直流电动机、无刷直流电动机、永磁同步是电动机及交流感应电动机的原理、特性、数学模型以及转矩转速控制方法。第4章步进电动机运动控制,介绍步进电动机原理、特性、主要控制部件、速度与位置控制方法以及闭环控制技术。第5章伺服系统分析与综合,讨论伺服系统方案、怀能分析、控制器改进设计、数字控制器硬件配置以及闭环系统控制软件。第6章机器运动控制的指令生成与实现,介绍运动控制原理与分类、各种插补器和轨迹规划器算法以及运动控制实现问题。本书对于从事机电一体化新产品开发的工程技术人员上人有一定的参考价值。 -
别墅建筑建模实例梁栋编著本书介绍了一些具有代表性的别墅实例,如欧美式别墅与加拿大别墅。在本书中,读者不但可以学会如何利用3ds max创建别墅,还能了解到每个别墅的构造与特点,别墅与别墅之间的共同点与不同点。在创建模型时,一定要抓住每个模型的“发光点”,就会创建出比书中更好的模型。在书中,作者尽量以简洁、明了的语句并加以图片的讲解,来讲述每个模型的创建过程。使读者在创建时很轻松的掌握并学会如何创建别墅模型。书中的“指点”可以使读者在操作过程中避免误操作。本书中的所有实例代表了建筑模型失败方面的发展趋势。本书不仅是建筑设计者、建筑系学生心备的工具书,同时也可以作为相关专业的师生自学、教学参考书和社会电脑设计培训教材。 -
模具数控加工技术盛定高主编本书是适应机器制造业数控加工技术不断发展和职业教育教学改革的需要,结合我国当前广泛使用的数控机床实例和教学、科研工作实践编写的新教材。全书概述了数控车床、数控铣床、加工中心和数控电火花线切割机床等多种数控机床的组成、主要技术参数和功能指令,重点讲述了不同数控机床的编程基础知识和操作基本方法,并对自动编程技术及方法也进行了详细介绍。本书编写中注意职业教育特点,重视基本技能训练,安排有上机实验和现场教学,可作为中等职业学校机械制造、模具制造、数控技术等专业教材,也可作为有关技术、管理人员的参考书。 -
软件开发的科学与艺术陈宏刚 等著前言:《软件开发的科学与艺术》成书的原因与过程微软亚洲研究院成立三年多来,不但在学术领域取得了令人瞩目的成就,在促进亚太地区学术交流、推动先进学术思想在本地区传播、帮助优秀的软件技术在本地区的开发和应用方面倾注了大量心血,进行了许多不凡的工作。在中国,我们一直把支持教育、帮助中国培养高水平的计算机人才视为重要工作之一。《软件开发的科学与艺术》一书取材于2000年秋季在北京大学所开设的一门选修课。当时,北京大学计算机系主任李小明老师向我们建议,希望我们能在北京大学讲一讲"微软的软件是怎样写的,微软的研究是怎样做的?"。在国内工作三年多来,有机会与众多教育界及产业界人士探讨一些计算机产业发展的问题,我们都强烈意识到:中国学生所需要的不仅仅是一些编程的技巧,更需要一些程序设计、项目管理和从事研究的知识和经验。在这一考虑下,我们邀请微软总部以及微软亚洲研究院的多位资深研究人员、程序开发人员和项目经理在北大做了题为《软件开发的科学与艺术》(The Science And Art of Software Development)的系列讲座,并为此讲座编写了专门的课程设计作为实践环节,希望学生们能够从我们的亲身体会以及实践经验中学习到一些实实在在的东西。讲座异乎寻常的成功。未能参加讲座的学生和老师们再三呼吁我们将讲座的内容编辑成册。强烈的责任感和使命感让我们认识到,这是一项非常有意义的工作。不管需要投入多大的心力和资源,我们也要成就此书,让更多的高校师生和软件业从业人员分享到微软公司多年来积累的软件研发和管理经验。《软件开发的科学与艺术》于2001年5月正式开始整理和编辑。在长达一年的整理和编辑过程中,正值中国政府发布鼓励软件产业政策,在全国35所高校试办示范性软件学院。许多老师在读完初稿后认为此书非常适合做软件学院的教材或参考书。于是,我们在北大课程的基础上进行了大规模的内容扩充,加入了全球软件产业发展趋势、中国软件产业发展机会与挑战、微软二十几年发展过程中总结并形成的软件产品开发和项目管理经验、现代软件开发对人才的要求以及微软产品开发团队的详细介绍的章节。本书还用大量、详尽的案例揭示了在软件开发过程中可能遇到的问题和解决的方法。《软件开发的科学与艺术》一书是集体智慧和共同努力的结晶:我很高兴能将近年来我对中国软件产业发展的一些看法和大家一起分享。凌小宁博士从回到中国帮助创办微软中国研究院到调回微软总部担任项目经理,一直热切关注着中国软件业发展的状况。此次,他将多年来在软件设计、软件开发和项目管理方面的经验写到了书中。张益肇博士结合自己在美国成功创办语音门户Nuance的经验,介绍了有关将研究成果转化成产品的经验。微软亚洲研究院新技术开发部的林斌结合自己在微软及其他美国公司多年的软件开发经验,总结了写好代码的秘诀;陈宏刚博士结合自己在微软多年的软件测试经验,系统地总结了软件测试的过程和方法;熊明华在微软的产品部门任项目经理多年,当他得知此书的写作消息后,在繁忙的工作之余,总结了自己对项目管理的经验和体会,并对书稿进行了多次认真的修改。感谢本书编写组织委员会的成员,包括微软公司马歆、陈宏刚,电子工业出版社郭立,是他们的辛勤劳动推动了本书的顺利面世。感谢俞俊平和余安萍,他们在数月间认真的整理素材才使得本书的面世成为可能,本书的字里行间都凝聚了两位整理者的心血。感谢微软公司的崔力红小姐、郝海洋先生、彭云峰先生,他们为本书的部分章节提供了部分文档和案例,增强了本书的可读性和实际应用性。《软件开发的科学与艺术》的内容软件开发是一门科学,更是一门艺术。如何学习和借鉴微软公司在软件开发方面的成功经验、了解它独特的企业文化,对于中国软件企业的未来发展可能有所裨益。《软件开发的科学与艺术》一书将收录以下内容:1.The Challenges and Opportunities of the Global Software Industry 全球软件产业现状、趋势与挑战2.Talent Beyond Technology : What Kind of Talent We Need for Modern Software Development现代软件开发对人才的要求3.From Research to Products 从研究到产品4.Software Development at Microsoft 微软的软件开发5.Source of the Software Design软件设计之源6.Program Management 项目管理7.Things you can Do to Write Better Code 写好代码的十个秘诀8.Secrets of Software Performance如何提高程序的性能9.Basic of Software Testing 软件测试基础10.Write Good Testing Documents如何撰写测试文档本书的意义具有极高的实践性和实用价值是本书的主要特点。通过阅读本书,我们希望大家:× 学会如何在现代IT企业的文化环境中做一个成功者× 学会如何做世界级的、高质量的研究× 学会如何创建大规模的软件产品如果你想:× 成为一个成功的工程师× 成为一个成功的研究人员× 成为一个成功的管理人员× 为一个成功的软件公司工作你会发现这本书的内容对你是非常有帮助的。《软件开发的科学与艺术》作为第一本由微软员工编写、介绍微软公司软件研发经验的中文书籍,将成为中国软件教育和软件企业很好的参考资料。我想借此机会代表所有在微软工作的中国工程师,表达对中国软件产业健康发展的诚挚祝福;表达微软亚洲研究院对支持中国软件教育事业的诚意和长期的承诺。我们将进一步通过教师培训、课程建设、对软件学院的支持等多种形式,为中国的软件事业发展尽一份力。微软亚洲研究院院长、首席科学家 张亚勤本书凝聚了微软专家多年研究和工作中获得的宝贵经验,是特为每个关注软件开发的人而准备的一本书。书中,这些微软专家现身说法,提供了许多成功亦或失败的案例,并进行深刻中肯的剖析,为读者展现微软企业文化,以及微软的软件开发过程和项目管理等方面的内容。相信这些内容能够带给读者许多思想和观念上的重塑,从而对我们的后继学习和工作产生重要的影响。重要的是通过学习和借鉴软件巨人─微软的成功经验,从而推动中国现代IT企业的发展和进步。不论是软件开发人员,还是项目管理人员都将从中获益匪浅。本书将是每个从事软件开发的人员案头不可或缺的珍藏书。 -
CMM软件过程改进指南(美)Joseph Raynus著;邱仲潘等译;邱仲潘译本书是用SEI的能力成熟度模型(CMM)改进机构软件开发过程的实用指南,向软件项目经理和管理员提供CMM软件过程改进的实用知识,并介绍软件寿命周期每个阶段的实现方法。本书强调软件过程定义、有效利用软件度量和常识软件项目管理。这种集成方法能帮助专业人士用CMM作为工作准则,不断实现软件过程改进。前言在我们的生活中,有时会遇到特别的人物,发现某种产品,从而改变我们对某个东西的看法。对我来说,这个人就是Joe Raynus,这个产品就是他实现的软件工程衡量标准。我在20世纪80年代末遇到他,听说他开发了一个令人不可思议的产品,可以自动生成软件衡量标准,帮助分析结果。毫无疑问,经过几个星期的讨论与评估,我不仅理解了这个产品及其工作原理,而且理解了这个人及其思考方法。简而言之,他可以把每个复杂的过程与计算简化成我能方便地理解和交流的管理术语与图表。许多软件专家还在把软件工程看成一门艺术,而Joe已经可以向产品经理说明如何把原先的知识与软件工程原则联系起来了。Joe的工作不断改进,Carnegie Mellon大学软件工程学会(SEI,Software Engineering Institute)收集和建档的知识也在不断?慕4邮鹿廊砑钅康娜硕蓟辜堑茫琒EI的能力成熟度模型(Capability Maturity Model)是用于帮助政府项目经理更好地理解参与政府工作的公司具有的成熟程度,但其大多数内容要求了解软件开发活动中如何出错,为何出错。将我在政府部门遇到的问题与在商业化市场中遇到的问题相比,我发现问题是相同的。速度、质量、要求满意度、测试方法、配置管理、项目计划与监管、成本、风险管理和预见性在小项目和大型政府软件开发中都要遇到。SEI的知识和Joe的智慧能帮助任何软件公司更好地建立世界一流的产品。他的方法简单而直接,他的例子非常明确,他的实践极为丰富。商业部门的同行在机构中领导软件改进活动时应密切关注CMM和Joe的作品,也许你还不知道,你的许多竞争对手已经实现了能在时间和质量上占优势的关键过程。Michael J. Prowse 质量与客户服务部主任Sun公司Solaris软件公司序十五年前,老板的老板把我叫到办公室,提出了三个“简单”问题:1. 支持与维护软件产品的费用为什么这么高?2. 产品可靠性如何?3. 一个软件故障的平均成本如何?为了回答这些问题,我成了查错者和制错者。几年之后,我自己开了一家公司,主要产品是自动生成软件衡量标准的工具。当时我是个经理,是软件厂商。生活中有时需要进行一些艰难的决定。我离开自己创办的公司和倍感亲切的产品,回到行业中。我看到自己的使命就是帮助客户回答上述问题。不久,我发现,要了解这些问题,就要“深入基层,了解民情”。即使是一组软件衡量标准,也不可能对这些问题提供现成的方案。每个客户的情形各不相同,除非了解特定问题,否则不可能提出建议。没有像了解美国空军一样了解软件管理问题的机构。大约有一年时间,我曾是源选择评审委员会(Source Selection Evaluation Board,SSEB)的技术顾问。审查各种提案,很好地了解外部看到的潜在问题,这些问题的影响程度,客户有什么预期,软件生产过程可能遇到怎样的问题。之后,我成为了一名客户。结束了在SSEB的工作之后,我花了几年的时间帮助我的客户管理和控制他们的软件问题。我将软件开发过程中遇到的问题组织起来,供客户参考。有时,很明显的信息被隐藏了起来。我已经体验了他们的生活,并帮助他们解决了问题。后来我做了顾问。了解能力成熟度模型(CMM)对我很重要。我在评审小组期间进行的几次评审使我对软件管理问题有了更深的了解。与此同时,我知道有一种方法可以帮我在软件项目管理的迷途中导航。解释的灵活性保证了导航的自由度。我的解释来自下列简单的观点:做软件行业中可行和正确的事,保证软件更好、更成熟。我开始用CMM作为参考指南,用软件衡量标准作为软件过程改进工作的基础与粘接剂。我把这个方法介绍给客户,他们使用CMM,帮我改进CMM与软件衡量标准。我发现,任何事情的最佳做法是自己感到合理的方法。说明本书用苏菲的故事,讲述既聪明又愚蠢的毛拉。苏菲认为,直觉是知识的惟一真正准则,并用这些故事作为例证。这些故事适用于许多不同情形,包括软件管理过程。苏菲的故事来源于Indries Shah的《The Pleasantries of the Incredible Mulla Nasrudin》(ARKANA Penguin图书出版公司,1993年再版)。“什么是命运?”一位学者问毛拉。“无穷无尽相互交织的事件,每个事件都是相互影响的。”“这个答案并不好,我信的是因果。”“好的,”毛拉说,“你看。”他指向街上的人群,“那人就要送上绞刑架了,是别人给他银子,让他买了匕首,杀了人,还是别人看到他这么干,还是因为没有人阻止他?” -
数据结构李大友主编;彭波编著本教材是《21世纪计算机专业大专系列教材》之一。全书共分9章,第1章综述数据、数据结构、算法描述、算法分析,以及数据结构与其他课程之间的关系等。第2章至第7章介绍了基本的数据结构,如线性表、栈、队列、串、数组、广义表、材、二叉树及图等,分别讨论了数据的逻辑结构和存储结构,以及相应运算的算法。第8章和第9章为查找和排序,介绍了常用的几种查找方法和内部排序方法。教材中使用类C语言作为算法描述语言,且所有算法都可以在任何一种C语言的开发环境中实现。在随书的配套光盘中可以看到这些算法的C语言程序。本书中所介绍的数据结构概念清楚,内容丰富。为了有助于学生加深对基础理论知识的理解,培养实际应用的能力,各章(除第1章外)都配有与该章内容相关的操作应用举例,且配有大量习题。本书可作为高等院校计算机专业大专数据结构课程的教材,也可作为非计算机专业本科生的教材。 -
软件工程王立福,张世琨,朱冰编著《软件工程(第2版)》是在北京大学计算机科学技术系使用《软件工程》教材的基础上,根据全国高等教育自学考试指导委员会制定的《软件工程考试大纲》的要求,由主讲、主考教师编写而成的,既是北京大学计算机系本科生指定教材,也是北京市高等教育自学考试指导定教材。《软件工程(第2版)》结合国内外软件工程的发展,特别是国家“八五”攻关实践,详细地讲述了软件工程的基本内容,包括基本概念、基本模型、基本方法及相应的支持工具。《软件工程(第2版)》注重基础知识的系统性,同时注意选材的先进性,内容全面、层次清楚。 -
软件测试(美)Ron Patton著;周予滨…等;周予滨译《软件测试》是一本讲解软件测试的入门书,借助WindoWS95/98和 Windows NT/2000附带的计算器、记事本和写字板等常用小应用程序方法介绍了软件测试的通用方法,可以用于测试任何计算机软件。全部内容包括基本的和高级的软件测试技术、软件测试在软件开发过程的运用、利用自动化方法提高测试效率、计划和编制测试目标、报告发现的问题、评估测试目标和产品进度、测试和质量认证的区别,以及软件测试员职业指导。《软件测试》适合对软件测试感兴趣的学生和爱好者。同时对软件开发小组中希望增强知识并了解软件测试的程序员、软件工程管理员具有指导意义。
