软件工程及软件方法学
-
面向对象的软件缺陷管理(美)Houman Younessi著;赵文耘,沈铖等译;赵文耘译随着软件的增加,需求越来越复杂,维护成本越来越高,如何提高软件的质量、进行有效的缺陷管理就变得越来越重要。本书针对这个问题,提出面向对象的软件缺陷管理的概念。本书主要介绍面向对象技术在缺陷管理方面的特殊性、缺陷预防和缺陷标识,以及如何在软件生命周期的各个阶段进行缺陷管理。书中还给出大量的模板和检查列表,方便读者使用。本书概念清晰,讲述透彻,适合软件工程师、从事面向对象技术与缺陷管理领域工作的技术人员、研究人员阅读,也可作为高校软件工程专业本科生、研究生的教材,或面向对象缺陷管理领域的培训教材。本书是第一本系统地介绍如何在面向对象的软件开发项目中标识、修正和预防缺陷的著作、本书全面介绍了缺陷排除的各个方面;除介绍测试外.还介绍了软件开发过程的关键方面、更让人兴奋的是.本书向读者提供了大量的模板、检查列表和其他一些有用的工具;通过阅读本书.读者可以立即开始着手提高软件质量。为什么面向对象技术对缺陷管理提出了强有力的挑战。修改传统的缺陷管理技术,使之适应面向对象的环境,开发、精化和验证“低缺陷”的需求文档。通过使用内聚、相干性。耦合、契约和高效的构架将缺陷最小化。在面向对象代码中标识缺陷。可以利用Fagan、Ebenau&Strauss、Gilb&Graham以及其他高级的审查技术。测试基类、派生类和抽象类。对面向对象系统进行集成,集成测试和系统测试。本书介绍的方法完全兼容当前主流的工具、表示法、语言和方法论,包括UML建模标准、RUP和OPEN框架。不论项目有多大,本书都可以为你的项目提高功能性、可靠性和可维护性而提供全方位的指南。 -
软件测试经验与教训(美)Cem Kaner等著;韩柯等译本书汇总了293条来自软件测试界顶尖专家的经验与建议,阐述了如何做好测试工作、如何管理测试,以及如何澄清有关软件测试的常见误解,读者可直接将这些建议用于自己的测试项目工作中。这些经验中的每一条都是与软件测试有关的一个观点,观点后面是针对运用该测试经验的方法、时机和原因的解释或例子。本书还提供了有关如何将本书提供的经验有选择性地运用到读者实际项目环境中的建议,在所有关键问题上所积累的经验,以及基于多年的测试经验总结出的有用实践和问题评估方法。??优秀的软件测试团队不是天生的,而是造就的,是通过大量艰苦工作和有效沟通造就的。在这个过程中,有很多陷阱,这些陷阱会使精心制订的计划出现偏差,使项目不能按进度完成。???本书的三位作者具有多年的测试经验,知道成功的测试都需要什么。在这本革命性的新书中,他们汇总了293条测试经验建议,阐述了如何做好测试工作,如何管理测试,以及如何澄清有关软件测试的常见误解。读者可直接将这些经验用于自己的测试工作中。这些经验中的每一条都是与软件测试有关的一个观点,后面是对运用这条经验的方法、时机和原因的解释或例子。??为了满足不同层次的软件测试员、开发人员和管理人员的需要,本书还提供以下内容:??◆?根据世界顶级软件测试专家多年的测试经验总结出的有用实践和问题评估方法。??◆?在所有关键问题上积累的经验,包括测试设计、测试自动化、测试管理、测试策略和错误报告。??◆?如何将本书提供的经验有选择性地运用到实际项目环境中的建议。 -
有效软件测试(美)Elfrede Dustin著本书探讨了50个至关重要的最佳实践、缺陷及解法。这些具体项目是从作者丰富的实践经验中收集而来,能够使质量保证专业人员和测试管理人员即刻提高其理解能力和技巧,避免重大错误,并实现当前水准的测试程序.本书以介绍如何将测试运用到软件开发生命周期的所有阶段中为重点——从需求定义到设计直至最终代码;书中的50课主要集中于讲述软件测试的关键方面:测试计划、设计、文档、执行、管理测试小组、单元测试、自动化测试、非功能测试等读者将从书中学到:在具有优先级的特征时间表上进行的基本测试评估测试准备和执行定义测试小组的角色和职责需求一旦可以满足即设计测试程序从需求中得出有效测试用例避开测试程序中的约束条件和具体的数据元素生成构建程序中的单元测试执行部分使用日志增强系统可测试性在应用程序原型上对自动化测试工具进行测试在一切可能的时间自动进行回归测试......整本书中,通过大量真实和具体的实例描述了这些重要原理和技术的成功应用,读者通过本书可快速查阅当今一流的软件质量和测试权威奉献的专家级技术和建议。ElfriedeDustin是《AutomatedSoftwareTesting》(Addison-Wesley,1999)和《QualityWebSystems》(Addison-Wesley,2002)的主要作者她是软件工程和测试实践领域公认的专家,在QA的定义和实现以及测试过程方面帮助过很多公司。详情可访问网站:http://www.effectivesoftwaretesting.com -
软件工程——理论与实践许家珆等编著“软件工程”是一门指导计算机软件开发和维护的工程学科,近年来随着我国信息化建设的开展,软件工程取得了前所未有的飞速发展。本书作为教育部新世纪网络课程建设工程的子课题“软件工程网络课程”配套教材,是在吸取了国内外有关教材的精华,并结合编者多年来进行软件工程的教学及软件开发实践经验,体会的基础上编写的。内容注重科学性、先进性,强调实践性,提供了丰富的软件开发实例和素材,反映了软件工程的最新发展技术。全书共分11章,前10章系统地介绍了传统的软件工程方法,面向对象的软件工程方法,基于构件的软件工程方法以及软件测试,软件工程管理等的基本概念、方法和技术;第11章提供了一个综合性的设计型实验“软件工程课程设计”,给出了多个采用面向对象的方法开发的软件实例,还介绍了面向对象的软件开发工具RationalRose。本书可作为高等院校“软件工程”课程的教材或教学参考书,也可供广大工程技术人员和科研人员参考使用。 -
数据结构姜学军,李筠主编《高等院校适用教材:数据结构(C语言描述)》以循序渐进的方式,通过实例讲解数据结构的基本理论;从数据组织的角度,教你学会如何组织数据、存储数据;对相应的数据进行不同的操作;分析各种操作的时间、空间效率;获得某数据处理的最佳效果,为今后的数据库学习及管理数据打下良好的基础。其内容含有计算机系统软件、应用软件中用到的数据结构,如:语言编译用到的栈·哈希表;操作系统中用到的队列;文件组织中的b树等等。每章均配有各种类型的习题;同时提供各种数据类型的实验,及参考代码。一书多用,对学习数据结构有很好的辅助作用。《高等院校适用教材:数据结构(C语言描述)》可作为高等院校计算机、信息类专业学生的教材,也可用于复习考研群体、从事软件编程人员以及有关科研技术人员的参考书。 -
UML参考手册(美)James Rumbaugh等编著UML是一种用于建立面向对象系统模型的标准标记法。本书首先概述了UML的历史、基本概念、目标及使用方法,然后按字母顺序列出了UML的所有术语及标准元素,从语意、表示法和用途等方面详尽地介绍了UML的构成和概念,本书的三位作者是面向对象方法最早的倡导者,也是UML的原创人员。本书可供广大软件开发人员、系统用户和工程技术人员查询和参考。 -
软件需求与估算(印)Swapna Kishore,(印)Rajesh Naik著;姜路,丁一夫,柳剑锋译;姜路译本书论述了软件工程中需求与估算这两大领域的概念、过程和著名方法,目的是引导广大从业人员和项目经理准确了解客户的需求,使用科学的方法对目标软件系统的规模、工作量、进度和成本做出合理的估算,从而能够在预算内按时保质地完成项目,提交对客户有用的软件产品。本书内容丰富、结构清晰、语言简洁,有助于项目经理和高级分析师正确地把握项目,帮助软件新手在其职业生涯的开始就正确理解和使用相关概念,从而顺利成功地完成项目。软件项目受许多因素的影响,这些总是可能导致进度和成本超出预算,并使所提交的软件质量低劣。研究表明,大量软件项目的失败皆归因于不好的需求定义、失控的需求改变以及不合理的估算。本书提供了需求工程和估算所需的信息。这两类活动都发生在项目的开始,并且是软件项目所面临的大部分问题的根本原因。需求是最初估算和计划的基础,而软件产品正是据此进行创建和验证的。使用不切合实际的估算进行的项目在一开始就会走错路。项目经理和任何试图在不切合实际的成本预算和人力预算范围内完成工作的人,要么把自己逼疯,要么会采取—条事后将被证明是代价高昂的“捷径”。无论哪种情况,所完成的项目都不会令人满意。需求工程和软件估算的语境需求工程活动,包括导出、分析,文档编制、改变管理和跟踪可以用于需求导出和分析的各种方法的描述软件需求规格说明的内容基于工作分解结构的详细估算系统化地改进组织需求和估算过程的完整框架可以用于需求和估算的工具和资源场景、示例、案例研究和练习 -
UML和模式应用(美)Craig Larman著本书是当今最畅销的介绍面向对象的分析/设计、迭代开发和UML的书籍。本书的目的是帮助开发人员或学生掌握关于面向对象的分析和设计的核心原理和最佳实践,并将它们真正应用到软件设计中去。本书的作者是颇有声望的对象技术和迭代方法的领军人物。本书在第一版的基础上做了全面的修订,增加了新的案例研究,更新了关于模式、用况、统一过程、架构分析等的探讨。前言PrefaceThankyouforreadingthisbook!Thisisapracticalintroductiontoobject-orientedanalysisanddesign(OOA/D),andtorelatedaspectsofiterativedevelopment.IamgratefulthatthefirsteditionwasreceivedasapopularintroductiontoOOA/Dthroughouttheworld,translatedintomanylanguages.Therefore,thissecondeditionbuildsuponandrefines-ratherthanreplaces-thecontentinthefirst.Iwanttosincerelythankallthereadersofthefirstedition.Hereishowthebookwillbenefityou.Designrobustandmaintainableobjectsystems.First,theuseofobjecttechnologyhasproliferatedinthedevelopmentofsoftware,andmasteryofOOA/Discriticalforyoutocreaterobustandmaintainableobjectsystems.Followaroadmapthroughrequirements,analysis,design,andcoding.Second,ifyouarenewtoOOA/D,youareunderstandablychallengedabouthowtoproceedthroughthiscomplexsubject;thisbookpresentsawell-definedroadmap-theUnifiedProcess-sothatyoucanmoveinastep-by-stepprocessfromrequirementstocode.UsetheUMLtoillustrateanalysisanddesignmodels.Third,theUnifiedModelingLanguage(UML)hasemergedasthestandardnotationformodeling;soitisusefulforyoutobeconversantinit.ThisbookteachestheskillsofOOA/DusingtheUMLnotation.Improvedesignsbyapplyingthe"gang-of-four"andGRASPdesignpatterns.Fourth,designpatternscommunicatethe"bestpractice"idiomsandsolutionsthatobject-orienteddesignexpertsapplyinordertocreatesystems.Inthisbookyouwilllearntoapplydesignpatterns,includingthepopular"gang-of-four"patterns,andtheGRASPpatternswhichcommunicatefundamentalprinciplesofresponsibilityassignmentinobjectdesign.Learningandapplyingpatternswillaccelerateyourmasteryofanalysisanddesign.Learnefficientlybyfollowingarefinedpresentation.Fifth,thestructureandemphasisinthisbookisbasedonyearsofexperienceintrainingandmentoringthousandsofpeopleintheartofOOA/D.Itreflectsthatexperiencebyprovidingarefined,proven,andefficientapproachtolearningthesubjectsoyourinvestmentinreadingandlearningisoptimized.Learnfromarealisticexercise.Sixth,itexhaustivelyexaminesasinglecasestudy-torealisticallyillustratetheentireOOA/Dprocess,andgoesdeeplyintothornydetailsoftheproblem;itisarealisticexercise.Translatetocode.Seventh,itshowshowtomapobjectdesignartifactstocodeinJava.Designalayeredarchitecture.Eighth,itexplainshowtodesignalayeredarchitectureandrelatethegraphicaluserinterfacelayertodomainandtechnicalserviceslayers.Designaframework.Finally,itshowsyouhowtodesignanobject-orientedframeworkandappliesthistothecreationofaframeworkforpersistentstorageinadatabase.ObjectivesTheoverarchingobjectiveisthis:Helpstudentsanddeveloperscreateobjectdesignsthroughtheapplicationofasetofexplainableprinciplesandheuristics.Bystudyingandapplyingtheinformationandtechniquespresentedhere,youwillbecomemoreadeptatunderstandingaproblemintermsofitsprocessesandconcepts,anddesigningasolidsolutionusingobjects.IntendedAudienceThisbookisanintroductiontoOOA/D,relatedrequirementsanalysis,andtoiterativedevelopmentwiththeUnifiedProcessasasampleprocess;itisnotmeantasanadvancedtext.Itisforthefollowingaudience:Developersandstudentswithexperienceinanobject-orientedprogramminglanguage,butwhoarenew—orrelativelynew—toobject-orientedanalysisanddesign.Studentsincomputerscienceorsoftwareengineeringcoursesstudyingobjecttechnology.ThosewithsomefamiliarityinOOA/DwhowanttolearntheUMLnotation,applypatterns,orwhowanttosharpenanddeepentheiranalysisanddesignskills.PrerequisitesSomeprerequisiteknowledgeisassumed—andnecessary—tobenefitfromthisbook:Knowledgeandexperienceinanobject-orientedprogramminglanguagesuchasJava,C#,C++,orSmalltalk.Knowledgeoffundamentalobjecttechnologyconcepts,suchasclass,instance,interface,polymorphism,encapsulation,interfaces,andinheritance.Fundamentalobjecttechnologyconceptsarenotdefined.JavaExamplesIngeneral,thebookpresentscodeexamplesinJavaordiscussesJavaimplementations,duetoitswidespreadfamiliarity.However,theideaspresentedareapplicabletomost—ifnotall—object-orientedprogramminglanguages.BookOrganizationTheoverallstrategyintheorganizationofthisbookisthatanalysisanddesigntopicsareintroducedinanordersimilartothatofasoftwaredevelopmentprojectrunningacrossan"inception"phase(aUnifiedProcessterm)followedbythreeiterations.Theinceptionphasechaptersintroducethebasicsofrequirementsanalysis.Iteration1introducesfundamentalOOA/Dandhowtoassignresponsibilitiestoobjects.Iteration2focusesonobjectdesign,especiallyonintroducingsomehigh-use"designpatterns."Iteration3introducesavarietyofsubjects,suchasarchitecturalanalysisandframeworkdesign.Web-RelatedResourcesPleaseseewww.craiglarman.comforarticlesrelatedtoobjecttechnology,patterns,andprocess.Someinstructorresourcescanbefoundatwww.phptr.com/larmanEnhancementstotheFirstEditionWhileretainingthesamecoreasthefirstedition,thesecondisrefinedinmanyways,including:UsecasesareupdatedtofollowtheverypopularapproachofCockburn1.Thewell-knownUnifiedProcess(UP)isusedastheexampleiterativeprocesswithinwhichtointroduceOOA/D.Thus,allartifactsarenamedaccordingtoUPterms,suchasDomainModel.Newrequirementsinthecasestudy,leadingtoathirditeration.Updatedtreatmentofdesignpatterns.Introductiontoarchitecturalanalysis.IntroductionofProtectedVariationsasaGRASPpattern.A5/5balancebetweensequenceandcollaborationdiagrams.ThelatestUMLnotationupdates.DiscussionofsomepracticalaspectsofdrawingusingwhiteboardsorUMLCASEtools.AbouttheAuthorCraigLarmanservesasDirectorofProcessforValtech,aninternationalconsultingcompanywithdivisionsinEurope,Asia,andNorthAmerica,specializingine-businesssystemsdevelopment,objecttechnologies,anditerativedevelopmentwiththeUnifiedProcess.Sincethemid198s,Craighashelpedthousandsofdeveloperstoapplyobject-orientedprogramming,analysis,anddesign,andassistedorganizationsadoptiterativedevelopmentpractices.Afterafailedcareerasawanderingstreetmusician,hebuiltsystemsinAPL,PL/I,andCICSinthe197s.Startingintheearly198s-afterafullrecovery-hebecameinterestedinartificialintelligence(havinglittleofhisown),naturallanguageprocessing,andknowledgerepresentation,andbuiltknowledgesystemswithLispmachines,Lisp,Prolog,andSmalltalk.Heplaysbadleadguitarinhispart-timeband,theChangingRequirements(itusedtobecalledtheRequirements,butsomebandmemberschanged...).HeholdsaB.Sc.andM.Sc.incomputersciencefromSimonFraserUniversityinVancouver,Canada.Craigcanbereachedatclarman@acm.organdwww.craiglarman.com -
基于ARM的嵌入式系统开发与应用吴明晖主编;徐睿等编著ARM公司的32位微控制器IP核因其卓越的性能和良好的扩充性为广大设计者所喜爱。目前,大多数半导体公司都推出了自己的ARMSoC芯片,使用ARM芯片构造32位的嵌入式系统成为嵌入式系统中的一个重要分支。本书全面、深入地介绍了基于ARMSoC的嵌入式系统开发技术,包括ARM系统结构与汇编程序设计、基于ARM的嵌入式系统启动代码bootloader设计、实时嵌入式操作系统及其移植方法、嵌入式系统中TCP/IP协议栈的开发、基于ARMSoC的音频应用开发、图形用户界面设计、嵌入式文件系统的移植方法等,并且给出了相应的设计实例。本书在全面介绍嵌入式系统基本原理的基础上,以目前较为流行的ATMEL、三星等公司的ARM芯片为例,结合μC/OS-II与Linux介绍了底层驱动程序与应用软件的设计方法。本书取材新颖、内容丰富、实用性强,涵盖了嵌入式系统开发的基本领域,适合从事嵌入式开发的技术人员阅读,也可作为高等院校相关专业高年级学生和研究生学习基于ARM的嵌入式系统开发的参考书。 -
虚拟电脑、网络、游戏机万永慧,蒋虞编著电脑中有这样一类软件,它可以将电脑虚拟成多台电脑操作、可以虚拟局域网、硬件,甚至将电脑虚拟成游戏机。 本手册就是针对这些软件的用法,向你详细地介绍如何利用它们更好地操作电脑。全手册共分虚拟电脑、局域网、虚拟桌面、虚拟BIOS、分区,虚拟光驱,任天堂游戏机虚拟,超级任天堂游戏机虚拟,世嘉游戏机虚拟,索尼工作站虚拟、街机虚拟九章,全面系统地介绍了如何利用虚拟软件轻松玩转电脑。 光盘内容: 光盘包含手册中讲述的部分虚拟软件介绍,还特别提供了两款官方授权软件《虚拟光碟8》和《虚拟还原4》。另外,光盘中还收录了高手玩游戏的实战录像信息,让你轻松掌握不少酷玩技巧。
