软件工程及软件方法学
-
面向对象的设计与模式(美)Cay Horstmann著;张琛恩译;张琛恩译本书能够让初学者在较短的时间内迅速掌握面向对象的设计知识,使他们站在一个较高的层面上来看待有关面向对象的知识,解决实际设计过程中所遇到的问题,并利用Java语言将设计原理同设计模式相互结合。CayS.Horstmann是圣何塞州立大学的计算机科学教授。他是一位拥有丰富经验的专业程序员,并且是PreviewSystems公司的副总裁兼首席技术执行官。在C++、Java和面向对象开发方面已经有6本著作。本书通过讲授Java语言,将面向对象的设计原理和设计模式相互结合起来。本书的重点是从设计的角度出发,循序渐进地向读者全面介绍了面向对象的设计(方法学、CRC卡和UML类图,设计模式),用户接口编程(Swing应用程序,事件处理,Java2D图形),Java语言的高级特性(接口类型,内部类,反射,多线程技术),以及一些常用开发工具的使用。另外,本书还配有大量完整的程序代码并包含了详细的注释,可供任何面向对象编程技术的初学者或者是具有一定基础的读者参考和使用。 -
软件同级评审(美)Karl E.Wiegers编著本书介绍了软件同级评审的整体过程,提供了保证软件质量的方法和技术,内容涵盖正式和非正式的评审过程、评审方法以及这些方法的适用场合。此外书中还探讨了各种影响评审计划实施的因素。本书案件列丰富,简明、易懂,实用性强,适于从事软件开发和软件项目管理特别是质量管理的人员使用,也可作为高等院校研究生和本科生的软件工程类教材。 -
数据结构杨秀金,张红梅编著本书系统介绍了各种数据结构的特点、存储结构及相关算法。书中采用C语言描述算法。主要内容包括:数据结构的基本概念、算法描述和算法分析初步;线性表、堆栈、队列、串、数组、树、图等结构:排序、查找和文件组织等。每章后面配有习题。多数章节给出了完整C语言源程序示例。第11章介绍了算法书写及实习步骤规范。最后一章介绍了面向对象方法C++语言实现数据结构的基本概念和程序实例。本书叙述清晰、深入浅出、注意实践,便于教学与实践。本书可作为高等院校计算机专业的教材,也可供从事计算机应用与工程工作的科技工作者自学参考。*为方便教学,本书配有电子教案,需要者可与出版社联系,免费提供。 -
数学建模梁国业,廖健平编著随着科学技术的进步,数学建模的思想和方法得到了越来越广泛地应用,本书系统介绍了数学建模的相关知识。主要内容包括:简单的数字模型、数学模型的基础知识、实验建模与MATLAB、数据似合与插值、模拟建模、离散模型、线性规划、非线性规划与动态规划、微分议程模型、微分方程组模型、决策论与对策论及其他模型,同时,本书在附录中还介绍了全国大学生数学建模竞赛试题竞选和美国大学生数学建模竞赛试题竞选。 本书语言通俗易懂、内容函盖面广,且实例丰富、实用性较强、既可作为大专院校数学建模课程的入门教材,也可作为各类科技、工程工作者的参考用书,还可作为数学建模爱好者的参考读物。 -
数据结构与算法分析魏宝刚等编著新世纪高等院校精品教材。本书旨在使学生全面理解算法和数据结构的概念,掌握各种数据结构与算法的实现方式,并且比较不同数据结构和算法的特点。 -
软件工程李庆亮主编本书以软件的生命周期作为主线索,重点讨论了结构化的软件开发方法和技术,包括需求分析、系统设计、编码、测试和维护等。随着近年来面向对象软件开发方法和技术的研究及应用不断普及,本书也利用一定篇幅介绍了面向对象的分析和设计方法。软件工程是一门实践性很强的学科,书中内容尽量做到通俗易懂,原理与实例相结合,强调实用性。本书读者对象是高职高专层次的计算机专业学生,也可以供从事计算机软件开发与应用的工程技术人员作参考书。 -
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 -
软件工程最佳实践项目经理指南(美)Mark J.Christensen,(美)Richard H.Thayer著;王立福等译;王立福译本书包括三个主要部分:●软件系统工程,阐述软件开发项目成功的最好途径,即产品的开发是从系统层的观点出发,范围涉及产品规范、测试、安装、维护以及客户的使用。●过程管理和控制,描述为定义、支持和管理项目软件开发过程所需要的关键活动。除了讨论生存周期过程定义、产品与过程复审、配置管理、质量保证以及可用的IEEE标准等关键问题之外,还论述了软件过程改善这样一个重要的主题。●项目计划和管理,作为本书的结束,对成本、进度估计和控制、风险管理,以及在执行这些任务中的各种度量进行了有机的综述。IEEE软件工程标准捕获了软件工程项目管理中许多根本的“最佳实践”,本书的内容就是源于这些原始资料。本书可以帮助读者把这些标准成功地应用于他们的项目和组织中。为了达到这一目标,作者详细讨论了覆盖以下三个关键管理领域的标准:软件系统工程;软件产品开发过程;软件项目活动的规划和控制。该书包含了大量应用于管理软件开发项目的最新的实践信息。书中的例子包括了估算复审的特定准则,以及实施这些复审的步骤。该书结构良好且易于阅读,对于项目经理、软件工程师和大学教师是很有价值的。 -
数据库原理与应用孟凡荣主编计算机专业基础课教材。本书分为五部分,主要论述了数据库系统的产生与发展、数据库的基本概念、数据模型、数据库系统结构、数据库设计等。 -
数据结构杨薇薇等编新世纪高等学校计算机系列教材湖北省计算机学会·诺亚教科文中心策划。本书全面系统的介绍了各种典型数据结构的特点、原理与方法。全书共11章,主要包括线性表、栈和队列、树组、树等。
