软件工程及软件方法学
-
软件复用实践(美)Donald J.Reifer著;孙艳春等译;孙艳春译本书全面论述了软件复用的基本概念和过程以及管理方面所面临的挑战,提供了可操作的管理概念以使软件复用人员能够以低成本的方式使用软件复用技术,并有助于创建一个管理框架,使复用人员在逐步引入软件复用时可以进行管理。本书对于软件复用具有很高的指导价值,能够为软件开发人员和管理人员提供一个及时发现软件复用方面问题及解决方案的指南。本书前言译者序:自从1968年NATO软件工程会议以来,软件工程的发展已近三十年,其间取得了丰硕的研究成果,但离彻底解决“软件危机”还有相当大的距离。近几年来,面对日益复杂的软件系统,研究人员开始认识到,要真正实现软件的工业化生产方式,达到软件产业发展所需要的软件生产率和质量,软件复用是一条现实可行的途径。从软件复用概念提出至今已近三十年,在技术研究上已取得了较大进展,有许多成功的复用研究和实践活动。随着技术发展,人们发现现有的组织管理模式已成为推行复用技术的障碍,目前达成的一个共识是:为了进行有效地进行软件复用,必须改革现有的管理方式和组织结构。如何使用成熟的软件复用技术,将软件复用真正有效地引入到软件组织中,从而提高组织的软件生产率、降低软件开发成本、提高软件质量及减少产品投放市场的时间,这一问题越来越成为软件研究开发人员关注的焦点。目前,关于软件复用方面的书籍很少,并且有关软件复用理论与实践相结合的书籍更少,而这样的书籍又恰恰是广大从事软件开发人员和软件项目管理人员在进行软件复用实践中所迫切需要的。本书在软件复用理论与实践上结合得很好,为了使中国的读者能够更好地从中受益,译者受机械工业出版社的委托,翻译了这本书。本书对软件复用具有很高的指导价值,它能帮助那些想得到帮助、务实的软件开发人员和管理者提供一个及时发现软件复用相关问题及解决方案的指南。少谈理论而更多地注重实践、内行专家的建议和指导,这些将为代价高昂的软件复用问题提供已证实的、易于实现的解决方案,而这些问题正不断困扰着当今的软件复用实践。本书将提供以下指导:帮助深入理解与开发组织的软件复用工作相关的基本概念、过程和管理挑战帮助创建一个管理框架以便软件复用倡导者在逐步引入软件复用时可以管理软件复用提供可操作的和管理概念以便允许软件复用倡导者在大多数节省成本的方式下使用正在出现的软件复用技术。对于每个软件开发人员和项目管理人员来说,本书是不可多得的软件复用在实践上的指导书籍。对于在高校和研究所从事软件工程研究的人员来说,本书也是一本很好的软件复用参考书。《软件复用实践》一书共分12章,第1章到第7章的翻译工作由孙艳春负责;第8章到第12章的翻译工作由马亮负责;另外孙艳春负责了全书的修改与校对工作。本书在翻译过程中,得到以下同志的大力帮助,他们是:黄毅斌、麻志毅、赵俊峰、张路、贾宏宇、赵海燕、周明辉、焦文品、严伟、解军。在此对这些同志表示衷心的感谢。感谢机械工业出版社华章公司的领导和有关编辑,他们为本书的顺利出版,付出了大量的辛勤劳动。由于译者自身的知识局限,时间也比较仓促,译文难免存在着疏漏和错误,诚恳地希望广大读者给予批评与指正。译者2003年6月于北京大学前言介绍软件复用:一种实践方法在过去六年中,我在几个大公司和政府部门领导了软件复用工作。作为一个变革代理人,我的工作是将新技术引入到准备进行技术创新的公司中。为了进行变革,我必须设想能直接论证这些技术将在广阔范围内产生积极效益的战略和实现策略,我必须基于新思想本身的优点,把它们推销给倡导者和批评家。为了实现变革,我必须设计出受固定进度和预算制约的实践方法。在过去的两年中,我停止撰写本书并且承担了管理国防部软件复用启动的工作。我面临的挑战与我在企业界所遇到的挑战相似。然而,规模更大,并且政治因素更浓重。为了能顺利开展工作,我必须成为一个变革代理人。在这样大的部门中部署变革策略是一项困难的工作。这需要技巧、民主以及最重要的协作工作。可能在政府中我获得的所有经验中最关键的是当推力起推动作用时,能让人信服的是一个强有力的企业案例。因此,我已经将本书的重点变为帮助本书的读者来建立这样一个案例。无疑,你已经阅读了关于面向对象方法、CASE(计算机辅助软件工程)和许多其它新技术的优点的言过其实的报导。我们好象一直在寻找银弹(silverbullet)。这些技术已经能被使用吗?它们稳定吗?能花很小的代价将它们引入到部门中吗?这些技术的不足有哪些?你怎样使用它们?其他人使用这些技术时获得了哪些经验?你可能想过这些问题及大量相关问题。希望当你在组织内启动复用项目时,本书能帮你解决这些问题及其它问题。即使你解决了所遇到的问题,在你的组织内所发生的任何大变革对企业来说都是危险的。尽管技术可能看起来好,但你的公司可能不准备使用它。技术可能不成熟,不能用于应用系统或需要剪裁后才能用于项目开发中。当你想用这些技术进行变革时,时间、才能和资金可能不够用。管理层可以决定其它的优先级,或者不愿意进行必要的投资。你所领导的项目成员当面临变革时可能感到恐惧或者不能确定要做什么。即使你获得了保证,但依照所需的进度,你可能不能生产出产品,因为它们功能太复杂了,或者因为当你需要主力成员时,主力成员却不够。如果你不能交付你所承诺的产品,你知道在下一个预算周期将不能获得未来资源以继续你的追求(和信誉)。许多事情都可能发生。你可能正在想在高速路上的生命的确是有趣和令人兴奋的。可能是这样。然而,记住它同样可以是危险的。在本书中使用安全提示以帮助避免灾难。当所有的云雾消散,使用技术的基本目标将是节省时间、工作量或资金。人们给出的其它原因都是些废话。达到这些目标的最简单的方法包括以下几点:提高成员的效率(以同样的投入获得更大的产出)降低工作量(通过复用需要更少的新产品,因此投入更少)因为系统级软件复用相对较新,已验证的用于将复用引入各组织的管理方法正刚刚出现。在一个地点实用的方法在另一个地点可能就不实用。换句话说,你必须灵活。更重要的是,你必须注重实效并且跟随潮流。基于我的经验,我为中等规模到大规模公司中软件复用的引入管理工作编写了本书以提供实践指导。我所选择的例子,目的是为了给你提供处理多种情况的建议。本书是基于问题和面向行动来编写的。我已经将本书的重点放在解决许多不一致的管理的、技术的、政治的和心理的挑战上,这些挑战经常造成软件复用的启动工作的成功或失败。我为本书设定的三个特定目标是:帮助您深入理解与开发组织的软件复用工作相关的基本概念、过程和管理挑战帮助创建一个管理框架以便倡导者在逐步引入软件复用时可以管理软件复用提供可操作的和管理概念以便允许倡导者在大多数节省成本的方式下使用正在出现的复用技术。幸运的是,我有机会在几个有远见的商业组织中和国防部的早期采纳项目中测试了这些复用策略。它们的经验和所获得的教训作为以下章节中我所提供的建议的基础。当它们是可选择的时候,我将讨论它们。当有问题时,我将描述这些问题并给出解决方案(如果存在的话)。与正在出现的技术相关的所有问题决不可能都解决。所以,你可以感受到一些现存的问题还有待进一步解决。如果这样令你讨厌我首先表示歉意。但是,告诉你被识别出的问题并且该问题正在被研究,可能是我目前能提供给你的最好的建议。尽管注重实效,在本书中所阐述的概念都基于已验证的管理理论。这些技术强调需要创新、合理的计划、意见一致、团队工作、坚持到底。这些建立于现代化的组织和激励措施理论之上。这些强调过程成熟度并且利用了许多在变革管理新领域中的理论和经验教训。本书适用于对将软件复用引入一个组织这个话题感兴趣的任何人。行政人员、管理人员、工程师、程序员、研究人员、教授和学生都可以从本书的研读中获益。我衷心地希望本书能激励你的工作。对我最好的致意就是你将本书提供的一些思想贯彻到你所在的组织中。我也对结果感兴趣。不要害怕写信告诉我好的、坏的以及可怕的结果。我有兴趣将你获得的经验教训放到本书的未来版本中。最终的想法是:寻找快乐。记注,将变革引入一个组织中是一件令人兴奋的事。当遇到困难时,也是一个有益的经历。DonaldJ.Reifer托兰斯,加利福尼亚州 -
信息系统中的不确定性与知识获取梁吉业,李德玉著本书是一部研究信息系统中的不确定性与知识获取的专著。书中在粗糙集理论框架下,以熵理论为工具,系统地阐述了信息系统中不确定性的表示、度量与计算,并将其应用于完备信息系统和不完备信息系统的知识约简与知识获取中,反映了当前该领域的最新研究成果。本书可作为计算机科学、应用数学、自动控制、信息科学和管理工程等专业高年级本科生的参考书及硕士、博士研究生教材,同时对相关学科领域的研究人员和工程技术人员也有重要的使用和参考价值。 1 信息系统、粗糙集与粒度计算的基本概念1.1信息系统1.2近似与粗糙集1.3属性约简1.4属性依赖性1.5区分矩阵与区分函数1.6粒度计算2 包含度与粗糙集数据分析中的度量2.1粗糙包含与包含度2.2粗糙集中基本概念的包含度表示2.3包含度与粗糙集数据分析中度量之间的关系2.3.1粗糙集的近似精度与粗糙隶属度可以归结为包含度2.3.2近似分类精度与近似分类质量可以归结为包含度2.3.3属性依赖性度量可以归结为包含度2.3.4属性重要性度量可以归结为包含度2.3.5决策规则的可信度和覆盖度可以归结为包含度2.3.6可变精度粗糙集模型的包含度表示3 信息系统中的不确定性与知识粒度3.1Shannon熵3.2信息熵与知识粒度3.3粒度度量与粗糙熵4 不完备信息系统中的不确定性与知识粒度4.1不完备信息系统4.2信息熵与知识粒度4.3粒度度量与粗糙熵5 粗糙性的拓扑熵及其应用5.1现有不确定性度量方法评述5.2有限拓扑空间及其熵5.2.1有限拓扑空间及其原子基5.2.2个在给定集合上产生拓扑的方法5.2.3有限拓扑空问的熵5.2.4拓扑熵的图论表示5.3信息系统的数学本质:有限拓扑空间5.3.1信息系统及其信息粒度5.3.2概念的近似5.3.3决策表中利用条件知识对决策近似5.3.4由近似空间导出的拓扑空间5.4应用5.4.1信息系统中知识的粗糙性5.4.2信息系统中属性的重要性5.4.3基于粗糙熵的信息系统知识约简算法5.4.4知识依赖5.4.5信息系统中的概念粗糙性5.4.6决策表的熵5.4.7决策表中的属性重要性5.4.8基于粗糙熵的决策表知识约简算法6 完备、非协调信息系统的约简与决策规则优化6.1非协调决策系统中关于对象的各类知识约简之间的关系6.2非协调决策信息系统中关于系统的各类约简之间的关系6.3约简与最优决策规则提取6.3.1优化个可能规则6.3.2优化个近似规则6.3.3优化个广义决策规则6.3.4优化个肚决策规则6.3.5优化个肚规则7 不完备信息系统与决策表的知识获取7.1不完备信息系统7.2极大相容块及其性质7.3集合的近似7.4不完备信息系统与决策表中的知识约简7.4.1决策表和决策规则7.4.2不完备信息系统的约简7.4.3不完备决策表的约简8 信息系统的同态不变特征8.1信息系统同态8.2几个引理8.3主要结论8.4一个例子参考文献 -
软件观念革命(美)Anlan Cooper,(美)Robert Reimann著;詹剑锋,张知非等译;詹剑锋译本书是一本设计数字化产品的启蒙书,它在帮助您设计更有吸引力、更有效的对话框的同时,还将帮助您理解用户如何了解、学习您的软件,以及与之交互的方式。本书着重讲述了有关交互设计的原理和方法:第一篇强调设计过程,以及对用户的系统理解;第二篇提供了策略原理和工具;第三篇更深地钻研了战术性的问题。本书探索了一个独特的设计领域,即复杂系统行为的设计。本书论述了种具有革命意义的设计观念——目标导向设计过程。其作者AlanCooper是一位在交互设计前沿有着10年设计咨询经验及25年计算机工业界经验的卓越权威。本书是一本难得的大师经典之作,是一本数字产品规划师、项目经理、设计师、可用性从业人员,以及程序员都想得到的书——这是一本使得我们的软件和我们的世界变得更美好的书!本书前言今天,人类不仅在认识着世界,也在创造着新世界。软件作为人类所创造的最复杂的人工制品(artifact)之一,已不仅仅是人类智慧和工具的延伸,而在某种程度上作为虚拟世界新法则的执行者和实施者统治着我们。诺贝尔物理学奖获得者费曼曾经以这种方式描述过人类创造新事物的过程——我们创造新事物,而被创造的新事物按照某种规则又创造新的事物,突然某一瞬间,不同于人类灵魂的事物出现了:它与人类灵魂迥然不同,或许还有着恶意,威胁着人类。一个智者以这种玄想的方式展现了对人类创造物的恐惧。今天的软件人工制品会以这种方式工作吗?是否会威胁到我们的人类?作为软件业的一名从业人员,译者深知以0或者1为工作基础的计算机所有的智慧来自于设计师和程序员的智慧,本身不具有恶意。然而,现实的情况是“受不正确的设计观念影响开发的软件已经开始威胁到大众用户”,技术派论者甚至以“计算机盲”通常称这些和计算机工作者一样富有智慧的人们。请尊重你的用户!AlanCooper,这位在图形用户界面领域驰骋数十年的大师给出了如此的忠告。大师的忠告是中肯而辛辣的,技术不能高高在上,而应该植根于土壤,软件工人们不能脱离为人民服务的宗旨,否则就要被革命了。新技术经济的沉沦也许指示着新的机遇:为大众用户服务,采取全新的目标导向设计方法。这种方法关注用户的目标;认真地研究实际用户和潜在用户,定义具体的原型用户(人物角色,persona);使用人物角色作为脚本提纲(scenarios)的主要人物;人物角色作为定义交互产品功能、行为和形式的主要工具;遵循行为设计的原理。在系统模型方面,作者精彩地辨析了程序员的实现模型(implementationmodel)和用户的心智模型(mentalmodel)之间的差异,指出程序员通常为了容易实现的私利牺牲用户利益,用实现模型取代用户的心智模型,从而产生了认知方面的鸿沟,因此在用户界面领域有必要区分设计和编程的责任。在用户分析方面,将用户分为新手用户(beginner)、中间用户(intermediate)和专家用户(expert)三类,提出了没有用户愿意永远做新手用户,只有少数用户才会成为专家用户。因此,大多数用户都是永久的中间用户(perpetualintermediateuser),设计应该为中间用户优化的精辟论解。 -
软件工程概论陶华亭主编本书是高等职业教育技能型紧缺人才培养试用教材。本书概括论述了软件工程思想、软件工程方法论、软件生存周期理论、软件开发模型、传统的软件工程方法、结构化软件工程方法和面向对象的软件工程方法。对于继承、复用、UML、面向对象的建模、软构件等概念进行了详细介绍。全书共分12章。前6章介绍了软件工程的基本理论和基本概念及传统的和结构化的软件工程方法,第7章作为面向对象方法的引论,详细对比讨论了各种软件工程方法论的特点以及面向对象方法论的优点和开发背景。后5章主要讨论面向对象的软件工程方法,并且与UML结合起来,在UML的技术背景下介绍和讨论了面向对象软件工程的相关概念和方法。在介绍面向对象技术的过程中,没有机械地重复调研、分析、设计、编码、测试等各阶段的的全部内容,而是重点剖析了面向对象方法的特殊之处。全书内容紧凑,深入浅出,实例贯穿始终,突出实用。本书适合于高等职业学校、高等专科学校、成人高校、本科院校举办的二级职业技术学院、以及示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养作为教材作用,还可供本科院校、计算机专业人员和爱好者参考。 -
对象模型(美)Peter Coad等著;唐毅宏译;唐毅宏译本书通过五个不同的、有代表性和普遍性的应用实例介绍了如何应用策略和模式建立有效的对象模型。读者可能通过对案例的类扒以及应用这些策略和模式,开发自己的有效的对象模型。书中还介绍了用于开发对象模型的Coad标注法,它把从概念模型到程序代码的多个层次、多个方面的模型统一在一起,是一种切实可行的图形标注法。 本书既适合于对象模型开发的初学者使用,也适合于高级开发人员参考;对于项目的管理人员、分析人员以及设计人员来说,也会有很大帮助。 Object Models: Strategies, Patterns, and Applications, 2nd Edition ISBN:0-13-840117-9 Original English language edition published by Prentice Hall PTR,Pearson Education,Inc.Copyright©1997 by Pearson Education,Inc. All rights resereved. -
数据结构张曼,朱小谷,曾春平编著《21世纪高等院校计算机基础系列教材:数据结构》介绍了包括线性表、堆栈、队列、树、图等在内的各种数据结构和文件的基本概念,逻辑结构与存储结构,以及在这些结构的基础上实施的有关操作。对于较为简单的线性结构,力求通过实例体现不同线性结构的特点。对于树和图等非线性结构,在阐述概念的基础上,增加了实用性和趣味性的例子。对于查找和排序算法,则对算法的设计思想和使用的数据结构进行详细说明,并对不同的算法加以详细比较。每一章都配有丰富的、各种类型的习题供读者练习。《21世纪高等院校计算机基础系列教材:数据结构》可作为大学、高等教育自学考试计算机专业文凭考试课程的理想教材,也可作为普通高等院校计算机专业本科学生“数据结构”课程的教材与教学参考书。 -
数据结构与算法分析魏宝刚等编著新世纪高等院校精品教材。本书旨在使学生全面理解算法和数据结构的概念,掌握各种数据结构与算法的实现方式,并且比较不同数据结构和算法的特点。 -
中国进出口贸易预测与分析吴莹等著本书汇集了最近几年来作者在中国进出口贸易领域开展的分析、建模和预测研究工作的成果,内容涵盖了该领域的各主要方面。作者首先从回顾我国外贸政策发展历程开始,讨论了影响中国进出口贸易的主要因素,对目前国际上比较先进的预测和建模技术做了介绍,并结合中国的实际数据进行实证检验,取得了较好的结果。然后作者对加工贸易预测与分析,汇率对中国出口的影响研究,商品贸易发展影响因子的实证研究,美国经济与中国外贸出口的相关性等若干专题进行深入研究,取得了一系列成果。本书适合从事中国宏观经济管理研究的研究人员,政府相关管理决策部门的工作人员,以及进出口贸易行业的从业人员阅读使用。同时也适合高等院校管理科学、宏观经济和国际贸易专业的教师、研究生作为阅读参考。 -
故障模式影响分析FMEA从理论到实践(美)D.H.Stamatis著;陈晓彤,姚绍华译本书由美国质量协会ASQ的D.H.Stamatis博士著,是一本专门针对故障模式及影响分析(FMEA)的指南,可满足不同层次、不同专业人员的需要。书中深入地对系统、设计、工艺以及服务FMEA的使用过程进行了说明,并且指明了其实施的基本原理。通过本书,读者将会了解FMEA的概念、FMEA的类型划分、FMEA的创建以及FMEA与其他分析方法的综合运用等各个方面。 Stamatis博士在出版第2版时,增加补充了最新的lS0 9000:2000标准、六西格玛方法、lSO/TS 16949标准、"健壮性"的概念、TE 9000标准以及可靠性和维修性要求。本书不仅详细介绍了FMEA的相关理论还结合工程实践直接提出独到的见解,因而适合备行业领域的可靠性工程师、质量工程师和在校研究生参考使用 -
DEBUG与软件维修技术孙维连,刘涛主编本书以DEBUG下的汇编语言为工具,通过大量实例给出如何应用DOS的功能调用、DOS中断、BIOS中断、端口技术、硬盘扇区读写技术、DOS内部数据结构去解决实践中所遇到软件维护维修等方面的技术问题。
