软件工程及软件方法学
-
ATM技术实用教程韩毅刚本书由两个有机部分组成:部分是ATM技术基础,这是ATM技术的专家级的导引,介绍了协议、物理层、呼叫控制过程、交换、流量管理以及网络管理。第二部分是ATM服务的提供,简称ATM业务,它描述了如何通过ATM提供服务,给出今天重要的ATM应用的详细方案,通过设计实例帮助网络工程师快速创建实际的ATM应用系统。本书适合大学计算机和通信系作为ATM课程的教材或教学参考书,也可作为计算机网络工程师和通信网络工程师的参考书。 -
极限编程实践指南(美)David Astels等著本书主题:·如何预见你要构筑的软件系统·如何编写业务导向代码·如何编写有效的用户故事和验收测试用例·有关集成、重构、测试与交付的最佳实践·如何计划项目的迭代与发布周期·如何应对实施XP的挑战本书特色内容:·在实际项目中应用XP的原则·在整个项目周期内的最佳实践·理解开发人员、管理人员及客户等每一个参与者的角色·各种最常见的XP实施问题的具体解决方案极限编程爱好者必备的——站式指南弹指间,极限编程(XP)已成为先进的敏捷方法中的代表模型。本书是一本简明、易懂、全面的XP指南,包含了XP的诸多最佳实践,对于实施XP大有裨益!本书并非仅仅停留在介绍XP的基本概念和原则——如简单性、沟通和反馈,更重要的是演示了如何在实际项目中综合运用这些原则。本书通过一个完整的案例分析,描述了整个项目生命周期、每一项关键任务以及每一个XP参与者(开发人员、管理人员及客户)的角色。您想从XP中受益吗?您想一帆风顺地实施XP吗?那就从本书开始吧! -
项目管理办公室解决方案(美)J·肯特·克劳福德(J.Kent Crawford)著;戴炼译;戴炼译我们希望本书围绕着以上所有四个方面展开讨论,因为没有以所有层次的认可与接受,项目办公室的文化很难在组织中开展。项目经理应了解他们的项目是如何适应于组织整体的,如何适应于项目组合的,如何适用于战略的。项目经理的经理和项目办公室总监需制定一个计划,通过这个计划,他们能够提高项目和项目经理的绩效,并领导项目知识在整个公司文化中的传播。那些曾经担当过项目办公室先锋职责的人们,将掌握这些领导大家的指南。J·肯特·克劳福德是ProjectManagementSolutions公司的首席执行官和创造者、项目管理研究机构的前任总裁,还是许多行业出版物、报刊文章和有关项目办公室专题学术讨论会的作者和合著者。克劳福德目前是CenterforBusinessPractices的顾问委员会成员和项目管理认证专家。戴炼,项目管理专业人士(PMP)、英国特许公认会计师公会(ACCA)会员,现为国家外国专家局培训中心特聘专家,致力于与项目管理相关的项目管理专业人士(PMP)考前培训与企业内部培训工作。曾在朗讯等跨国公司工作过,积累了丰富的项目管理实践经验。于2002年底作为中国地区代表,参加了项目管理协会(PMP)专为PMP考试而设的考试命题活动。主要译著:《优势能力》、《怀特曼项目管理词汇手册》。?臼槲谱胖葱泄芾聿恪⑾钅堪旃易芗唷⑾钅烤淼木砗拖钅烤硭母鲋匾愦蔚墓芾碚撸晗嘎凼隽舜诱铰越嵌冉⑾钅抗芾戆旃业闹匾裕约叭绾蜗低澈透咝У毓芾碜橹谕苯械亩喔鱿钅俊Mü私庀钅堪旃业谋尘埃约八胂钅抗芾沓墒於群拖钅孔楹瞎芾淼牧担宰橹龀隹焖倨拦溃傅计笠底榻ㄓ行Ф室说南钅抗芾戆旃遥佣诱迳咸岣呦钅亢拖钅烤淼募ㄐВ⒘斓枷钅恐对谡龉疚幕械拇ァ? -
软件应用技术基础徐士良,朱明方编著本书获电子部优秀教材一等奖。本书针对非计算机专业的科技工作者及研究人员对计算机软件应用技术的需要,介绍了计算机软件的基本概念、结构、方法及实用技术,内容包括:数据处理概述、实用数据结构、查找技术、Hash表技术、排序、软件设计与开发、操作系统及有关技术、多道程序设计、存储空间的组织、数据库设计概述、解释程序与编译技术概述。每章均配有习题。本书内容丰富,通俗易懂,实用性强,可作为非计算机专业的软件课程教材,也可作为广大从事计算机应用工作的科技人员的参考书。 -
面向使用的软件设计Larry L.Constantine,Lucy A.D.Lockwood著;刘正捷等译;刘正捷译本书是一本经典著作,曾荣获1999年美国软件开发杂志的Jolt大奖。书中主要介绍一种以使用为中心的软件开发方法论的模型和方法,用以帮助程序设计人员开发出更可用的软件,使用户能够更容易、更高效地完成他们的任务。本书的两位作者有着丰富的软件工程实践和管理经验,被公认为软件开发人类因素方面的权威,是国际著名的咨询专家、培训教师和作者。他们在书中并不只是给出好的设计准则,而是循序渐进地指导读者去进行一个系统化的软件开发过程。通过大量的软件应用实例和案例分析,作者描述了在实践中怎样做是可行的,哪些东西是有实用价值的,因此具有很高的实用性。 本书文字简洁、论述精辟、层次清晰,适合计算机软件和应用程序的各类设计开发人员阅读,对于高等院校计算机及相关专业的学生以及软件学院的学生,也具有很高的参考价值。为了获得高质量的软件,开发者们长期以来一直不懈地改进其产品的内部体系结构。现 在最早创立结构化设计以改进内部体系结构的Larry L.Constantine,与著名咨询专家Lucy A.D.Lockwood一起,把软件开发的焦点转向外部体系结构。在本书中,他们介绍了一种革命性的软件开发方法论的模型和方法,可以帮助程序设计人员开发出更可用的软件,使用户更容易、更高效地完成任务。由于认识到可用性在成功的软件上所起的关键作用,Constantine和Lockwood为程序设计人员提供了具体的工具和技术来实现这一目标。本书并不只是给出一些优秀用户界面设计的准则,还为读者提供了一个系统化的软件开发过程。这个被称为以使用为中心设计方法的过程,将两种开发方法的元素有机组合起来:用例(可以与UML一起使用)和基本建模。通过大量传统和特殊的软件应用的实例和案例分析,作者描述了真正可行和具有实用价值的实践。本书要点:●提供一个开发高可用性软件的优秀过程●介绍已在业界成功运用的实用方法和模型●与统一过程和其他面向对象软件工程方法等现代软件开发实践相辅相成本书配套网站提供了更多相关材料,有助于读者把以使用为中心的设计方法应用到自己的软件开发工作中。网址为http://www.foruse.com。 本书荣获1999年Jolt大奖。 -
行政秘书商务办公自动化一点即通宋玉,王霞 编著本书是“一点即通系列培训丛书”之一,详细介绍了行政秘书及从事相关工作人员应掌握的计算机基本操作技能,主要包括WindowsXP操作系统、输入法(五笔字型98版、智能ABC和全拼)、文字处理软件Word2002、表格处理软件Excel2002、演示文稿软件PowerPoint2002、数据库处理软件Access2002、办公自动化设备(传真机、打印机、扫描仪、U盘、移动硬盘)的使用、Internet基础知识、电子邮件、资源搜索与下载、电子商务、计算机安全与维护等。本书结构清晰、内容详实、图文并茂。每章都首先列出了本章知识点,使读者对每章要讲解的知识做到心中有数;然后详细讲解各知识点的具体实现步骤和操作方法,使读者完全掌握相关知识点的技术要领;最后给出了不同题型的练习题,每个题型都紧密结合正文中所讲解的知识,使读者能够巩固所讲解的主要内容。本书定位于行政秘书初、中级用户,适合不同年龄层次的行政秘书办公文员、国家公务员使用,也可作为各类社会培训学校的培训教材以及计算机爱好者自学用书。 -
实时设计模式(美)Bruce Powel Douglass著;麦中凡,陶伟译;麦中凡译本书是美国AddisonWesley公司出版的对象技术(最新2003年)丛书之一,旨在用面向对象技术开发实时和嵌入式系统软件。<br>众所周知,实时和嵌入式系统软件由于其开发层次较低,直接在硬件上开发时间紧要、安全紧要、高可靠性的系统,传统上是C语言和汇编语言的天下。传统的软件工程技术着重软件的可移植、可复用、可伸缩,易维护、低成本,借助于一个良好的平台,快速交付,支持业务过程的快速变革的高适应性系统。软件工程使平台以上的系统日臻完善,发展了面向对象技术、构件技术乃至于直接使用软件服务。“相信”实现服务的构件、支持构件实现的平台(操作系统、网络软件及数据库软件)都是最优或较优的。显然,与实时嵌入式系统要处处操心每个软件元件的性能、可靠性、安全性走的是两条路,他们“不相信”臃肿的通用平台能解决他们在有限资源下做出高性能系统所遇到的各种问题。所以,实时和嵌入式系统的业者一般不关心软件工程技术的最新进展,也很少在他们的工作中采用软件工程新技术,停留在提供完善的模块和子系统层次上,强耦合的过程式模块开发还是主流。<br>从系统的观点来看,实时嵌入式系统也是系统,特别是硬件技术的快速发展,实时嵌入式软件也有快速适应硬件型号升级问题,也有业务快速变更要求可伸缩、可修改(例如,军用导弹、飞机型号升级,民用产品换代)可复用问题。1975年,美国国防部开发的Ada语言系统就是为了在主机上开发适应变化的系统。通过交叉编译生成机载、弹载的目标系统嵌入到应用环境中,一切系统维护、伸缩均在Ada源代码级软件上完成。在某种意义上,今日的面向对象技术得益于Ada的数据抽象和模块封装。由于Ada为保证军用软件可移植性管得过严,面向对象技术蓬勃发展在C++上得以体现。于是实时嵌入式系统自然转向底层是C的C++。但对象化对实时性、可靠性并没有直接的好处,所以在小型实时嵌入式应用中,面向对象依然不占上风,仍然是过程式开发方法最后穿上C++外衣。尽管如此,有了C++这个桥,为实时嵌入式系统再一次和当前软件工程技术合流打下了良好的基础。<br>面向对象封装带来的松耦合,使它成为分布式可伸缩系统的首选技术,且随着当今网络的普及,对象成了应用的第一类公民,网络是对象交互和通信的世界。打包也好,请代理也好,不是对象只能窝在本机上做点实际工作。<br>为了参与网络上提供实时服务,为了支持应用系统的快速变更,快速提供嵌入式产品,大幅度降低成本提供标准化、构件化产品,实时嵌入式系统的对象化、构件化势在必行!当然,也应该看到,CPU速度大幅提高,减缓这类系统的开发者因实时对标准化、构件化的抵制,使他们乐于参加现代技术大合奏。<br>重新认识软件是有体系结构的。软件开发是一个软件过程,是近十年软件技术最重要的成就。过去的开发着眼于功能性能,无形中完成了一个软件过程,得到一个有体系结构的产品。当时并不在意过程好坏,体系结构是什么样的。通过验收能够满足使用的就是好产品。但情况并非如此顺利,“树欲静而风不止”,使用中不断发现新bug,用户一再要求改进(受其他新技术影响或总结出使用经验)。过程和体系结构在软件可适应、易维护性上显现出极大的威胁力。不良的体系结构使此处bug消除,彼处新bug又冒出,甚至导致整个系统崩溃。不良的过程找不到资以分析的文档、数据,一个不大的改进每步都从头试起,迟迟调不出来,大量窝工,成本飚升。于是,人们把软件开发从以功能性能为中心转而为以软件体系结构为中心,精心改进软件过程,从而软件在改变之中依然能保证符合需求的功能,并能保证高质量和低成本。<br>体系结构从总体上决定了软件可能达到的各项质量指标。例如,别墅、板楼、塔楼,在通风、抗震、舒适程度、方便性、成本方面各不相同,一经确定则影响终身。例如楼层太矮、电梯过少、没有绿地等。软件过程通过精心安排软件制作的各项活动切实保证软件质量。该有的活动没有或不能即时到位都会造成低质量、高成本,甚至项目失败。过程是产品质量最直接的保证。所以ISO9000系列就是所有人工制品的(过程)质量标准。美国CMM标准化更是以过程成熟度来衡量软件企业有无资质承担软件开发。软件体系结构和软件过程相辅相成,一为软件内在质量保证,一为过程质量保证。所以,以体系结构为中心的最优过程开发已为世界广泛接受。<br>过程是以时间为进程的各项软件活动。开发活动完成都凝聚成有体系结构的软件,即它的后果(体系结构)是可分析、可测试度量的。优秀的体系结构如前所述,正是软件设计的目标。于是人们研究分析体系结构并寻找设计实现的途径。<br>体系结构不外乎是实现各项功能、性能的元构件有机组合的集合。在面向对象的背景下,它们都是类对象,为了设计(有机组合)方便,把对象组成惯用的、不易出错的、可靠的、接近标准化的形式,则为模式(pattern)。最小的模式是几个类对象组成的构件,最大的模式是若干构件组成的子系统。<br>最早也是最基础的设计模式是Liskov提出的七种基本模式,并提出对象构成模式的五条基本准则,为面向对象设计模式奠定了理论基础。随后是“四人帮”(Gamma等四人)提出了常用的25种设计模式,为以模式设计软件体系结构提供了工程实践的基础。不过,“四人帮”讨论的模式作用域是局部的,我们把它们叫做机制式的设计模式(mechanisticdesignpattern),因为它们为对象的协作定义了各种机制。这种模式有较大的局限,只在单个的协作内。本书并不讨论机制式的设计模式,本书讨论的是体系结构设计模式(architecturedesignpattern)。<br>当然,各软件应用领域也都有本领域的模式,如果总结出来作为准规划,则本领域软件开发速度会成倍提高,而软件质量也较容易得到保证。本书就为实时嵌入式领域总结出了54种模式。<br>本书作者BrucePowelDouglass博士在实时嵌入式系统领域工作已有26年,是世界公认的领袖人物,目前是本书推荐的ROPES(嵌入式系统的快速面向对象过程)的创始人。他也即时转入到面向对象领域,成为ILogix公司的首席技术指导,实时系统开发工具的领导者,也是UML规范嵌入系统会议顾问委员会的成员。Douglass博士为多个公司和组织做过咨询,包括NASA。他还是OMG的RTDA(RealTimeAnalysisandDesignWorkingGroup)的副主席和面向对象杂志的专栏作家。<br>本书可以作为实时嵌入式系统的设计人员和开发人员的技术参考书,也可以作为计算机、自动化、机电一体化等专业的大学高年级学生学习操作系统、计算机控制系统等课程辅助教材。同时,本书对正在学习UML建模的设计人员也是一个很好的范例。此外,本书可以作为软件开发组织知识共享的模板,参考本书描述模式的方式把技术人员解决问题的经验抽象化、形式化,在组织范围内共享。<br>译者积极翻译并向业界推荐本书还有一个原因,这就是本书以对象模式的观点把计算机最底层的操作功能实现整个演示了一遍,如并发进程、内存管理、资源锁定、进程分布、安全性和可靠性。这对于欲深入理解计算实现本质的读者(不一定去做实时嵌入式应用),是一本很好的教材。在翻译过程中为减少混乱,我们厘定某些术语的译法,也算对业界的建议,如有不妥之处,欢迎指正。<br>实时设计模式〖〗<br>Broker译为“中介”,当前Broker、Proxy、Agent、Delegation均为“代理”,而Broker、Proxy在本书中也常出现在一页上,故Broker为“中介”(无授权),Proxy为“代理”(有授权),而Delegation干脆是“委派”,Agent在本书中出现极少,且不易冲突仍沿用“代理者”。<br>本书的前言、序和第1章至第3章由麦中凡教授翻译,第4章至第9章和附录由陶伟翻译。在成书过程中,吕庆中、程勇、胡斌、李晔参与了部分工作。麦中凡教授对全书做了细致的审校。<br>最后,我们感谢北航出版社在本书的成书过程中提供的大力帮助。<br>我们的电子邮件地址是:<br>mids@buaa.edu.cn<br>译者于北航<br>2003年6月 -
过程控制系统(美)欣斯基(F.G.Shinskey)著;萧德云,吕伯明译;萧德云译本书结合具体的控制对象论述过程控制系统的设计、整定及其应用问题,包括常见控制回路的分析、线性与非线性调节器的选择、复杂控制系统的组成、控制算法与控制系统的实现和评估,以及各类典型单元及过程的控制方案。乃至一些高级的控制系统,如解耦系统、适应性控制和基于模型的控制等。本书巧妙地把控制理论融合于应用之中,使过程控制系统的设计更加科学和切合实际。本书可用作大学本科自动化专业师生的教学参考书,对从事过程控制应用研究的研究生、和工程技术人员也很有参考价值。 -
软件技术基础来可伟 编本书是教育部新世纪高职高专教育人才培养模式和教学内容体系改革与建设项目成果,是组织有关教育部高职高专教育专业教学改革试点院校编写的。本教材系统地介绍了离散数学、数据结构、C++语言编程等组成软件技术的三个知识领域。在理论方面,将离散数学和数据结构作为编程技术必要的数学基础进行了深入浅出的介绍,以培养学员将实际问题抽象为数学表达式的抽象思维能力。在实验技能方面,采用以案例为中心(casebased)的方式,通过完整的编程全过程练习,使读者能按现代软件工业一线编程人员的要求掌握编程的基本技能,养成良好的规范化作业的习惯。教材对各种常见数据结构采用了基于C++语言类模板的实现方法,不但方法新颖、充分体现基础理论对编程的指导作用,而且有很高的实用价值。本书适用于高等职业学校、高等专科学校、成人高校、示范性软件职业技术学院、本科院校及举办的二级职业技术学院、教育学院以及民办高校使用,不仅可以作为计算机、信息技术、电子商务等专业的教材,也可作为相关工程技术人员培训和自学的参考书。 -
iPMBOK 2004中国(双法)项目管理研究委员会结合我国IT行业的特点及信息化工作的需要,以中国现有的发展水平为基础,充分考虑行业发展与国际化需求,组织国内权威专家撰写,并经过信息产业部有关部门、行业专家、国内外权威顾问评审通过,形成了具有中国特色的IT项目管理知识体系与认证标准。国际项目管理协会创建于1965年,是国际上成立最早的项目管理专业组织。其目?氖谴俳始湎钅抗芾淼慕涣鳎氏钅苛煊虻南钅烤碇涮峁┮桓鼋涣鞲髯跃榈穆厶常铝τ诠氏钅抗芾淼淖ㄒ祷胫耙祷⒄埂PMA于1967年在维也纳计持召开了第一届国际会议,项目管理从那时起即作为一门学科而不断?⒄埂=刂?2002年3月,IPMA已分别在世界各地举行了15次国际会议。本书以国际通用并得到公认的项目管理知识体系为理论框架,结合我国IT行业的特点及信息化工作的需要,以中国现有的发展水平为基础,充分考虑行业发展与国际化需求,组织国内权威专家撰写,并经过信息产业部有关部门、行业专家、国内外权威顾问评审通过,形成了具有中国特色的IT项目管理知识体系与认证标准。本书的出版,将对我国信息化工作的标准化、规范化,对提高IT信息项目管理水平及与国际的接轨有着重要意义。
