词条 | 敏捷软件开发:原则、模式与实践 |
释义 | 本书适于软件开发和管理人员提高自身水平学习之用,也适于用作高校计算机专业本科生、研究生以及软件学院的软件工程和软件开发相关课程的教材或参考书。 书名:敏捷软件开发:原则、模式与实践 作者::(美)马丁,(美)马丁著 页数:529 定价:89.00元 出版社:人民邮电出版社 出版时间:2008-1-1 装帧:平装 开本:16开 作者:(美)马丁,(美)马丁著 ISBN:10位[7115165076]13位[9787115165077] 出版社:人民邮电出版社 出版日期:2008-1-1 定价:¥89.00元 页数: 529 开本: 16开 包装: 平装 内容提要本书旨在指导.NET程序员学习构建软件的最佳实践,从而创建更好的设计并提升.NET应用的质量。书中使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程,包含了极具价值的可重用的C#源代码,还重点讲述了如何使用UML和设计模式解决面向客户系统的问题。 本书适于软件开发和管理人员提高自身水平学习之用,也适于用作高校计算机专业本科生、研究生以及软件学院的软件工程和软件开发相关课程的教材或参考书。 编辑推荐软件开发的不朽经典,生动阐述面向对象原则、敏捷实践、UML和模式,大量C#实战示例,让你亲历现场,丰富的词汇和背景注释,助你轻松读经典。 “我最喜爱的技术作家RobertMartin善于通过实战展示技术,让读者能够以自己喜欢的方式逐步理解……请把Bob大叔当作你在敏捷世界里的导师。” ——ChrisSells,NET资深技术专家,微软“软件传奇人物” “本书是对敏捷编程和敏捷原则最全面和最有价值的介绍……绝对是所有NET程序员必读之作。” ——JesseLiberty,微软资探技术专家,ProgrammingC#作者 要想成为一名优秀的软件开发傊,需要熟练应用编程语言和开发工具,更重要的是能够领悟代美代码背后的原则和前人总结的经验——这正是本书的主题。本书凝聚了世界级软件开发大师RobertCMartin数十年软件开发和培训经验,Java版曾荣获计算机图书最高荣誉——Jolt大奖,是广受推的经典著作,自出版以来一直畅销不衰。 本书不仅是一部深入浅出、生动易懂的面向对象原则与模式著作,而且还是一部通俗的敏捷方法导引书和快速实用UML教程。通过本书你会发现,许多以前看起来非常枯燥费解的概念,忽然间都豁然开朗,变得鲜活生动起来。 C#版与此前的Java版相比,主要的更新包括加强了对UML的介绍章节,使其更加贴近实战,增加了对MVP模式的介绍等。注释版在原著基础上增加了丰富的词语注释和背景提示,使读者能够轻松地领略原汁原味的名著的风采。 作者简介RobertC.Martin世界级的软件开发大师,著名软件咨询公司ObjectMentor公司的创始人和总裁。曾经担任C++Report杂志主编多年,也是设计模式和敏捷开发运动的主要倡导者之一。 目录SectionI:AgileDevelopment敏捷开发 Chapter1:AgilePractices敏捷实践 TheAgileAlliance敏捷联盟 IndividualsandInteractionsoverProcessesandTools人和交互重于过程和工具 WorkingSoftwareoverComprehensiveDocumentation可以工作的软件重于面面俱到的文档 CustomerCollaborationoverContractNegotiation客户合作重于合同谈判 RespondingtoChangeoverFollowingaPlan随时应对变化重于遵循计划 Principles原则 Conclusion结论 Bibliography参考文献 Chapter2:OverviewofExtremeProgramming极限编程概述 ThePracticesofExtremeProgramming极限编程实践 WholeTeam完整团队 UserStories用户故事 ShortCycles短交付周期 AcceptanceTests验收测试 PairProgramming结对编程 Test.DrivenDevelopment(TDD)测试驱动开发 CollectiveOwnership集体所有权 ContinuousIntegration持续集成 SustainablePace可持续的开发速度 OpenWorkspace开放的工作空间 ThePlanningGame计划游戏 SimpleDesign简单设计 Refactoring重构 Metaphor隐喻 Conclusion结论 Bibliography参考文献 Chapter3:Planning计划 InitialExploration初始探索 Spiking,Splitting,andVelocity探究、分解和速度 ReleasePlanning发布计划 IterationPlanning迭代计划 Defining“Done”定义“完成” TlaskPlanning任务计划 Iterating迭代 Tracking跟踪 Conclusion结论 Bibliography参考文献 Chapter4:Testing测试 TIest-DrivenDevelopment测试驱动开发 ExampleofTest-FirstDesign测试优先设计的例子 TestIsolation测试促使模块之间隔离 SerendipitousDecoupling意外获得的解耦合 AcceptanceTests验收测试 SerendipitousArchitecture意外获得的构架 Conclusion结论 Bibliography参考文献 Chapter5:Refactoring重构 ASimpleExampleofRefactoring:GeneratingPrimes素数产生程序:一个简单的重构示例 UnitTesting单元测试 Refactoring重构 TheFinalReread最后审视 Conclusion结论 Bibliography参考文献 Chapter6:AProgrammingEpisode一次编程实践 TheBowlingGame保龄球比赛 Conclusion结论 OverviewoftheRulesofBowling保龄球规则概述 SectionII AgileDesign敏捷设计 Chapter7:WhatIsAgileDesign什么是敏捷设计 DesignSmells设计臭味 DesignSmells——TheOdorsofRottingSoftware设计坏味——腐化软件的气味 Rigidity僵化性 Fragility脆弱性 Immobility顽固性 Viscosity粘滞性 NeedlessComplexity不必要的复杂性 NeedLlessRepetition不必要的重复 Opacity晦涩性 WhySoftwareRots软件为何会腐化 TheCopyProgramCopy程序 AFamiliarScenario熟悉的场景 AgileDesignoftheCopyProgramcopy程序的敏捷设计 Conclusion结论 Bibliography参考文献 Chapter8:TheSingle-ResponsibilityPrinciple(SRP) SRP:单一职责原则 DefiningaResponsibility定义职责 SeparatingCoupledResponsibilities分离耦合的职责 Persistence持久化 Conclusion结论 Bibliography参考文献 Chapter9:TheOpen/ClosedPrinciple(OCP)OCP:开放-封闭原则 Description0fOCP OCP概述 TheShapeApplicationShape应用程序 ViolatingOCP违反OCP ConformingtoOCP遵循OCP Anticipationand“Natural”Structure预测变化和“贴切的”结构 Puttingthe“Hooks”In放置吊钩 UsingAbstractiontoGainExplicitClosure使用抽象获得显式封闭 UsingaData-DrivenApproachtoAchieveClosure使用“数据驱动"的方法获取封闭性 Conclusion结论 Bibliography参考文献 Chapter10:TheLiskovSubstitutionPrinciple(LSP)LSP:Liskov替换原则 Violations0fLSP违反LSP的情形 ASimpleExample简单例子 AMoreSubtleViolation更微妙的违反情形 AReal-WorldExample实际的例子 FactoringInsteadofDeriving用提取公共部分的方法代替继承 HeuristicsandConventions启发式规则和习惯用法 Conclusion结论 Bibliography参考文献 Chapter11:TheDependency-InversionPrinciple(DIP)DIP:依赖倒置原则 Layering层次化 OwnershipInversion倒置的接口所有权 DependenceonAbstractions依赖于抽象 ASimpleDIPExample简单的DIP示例 FindingtheUnderlyingAbstraction找出潜在的抽象 TheFurnaceExample熔炉示例 Conclusion结论 Bibliography参考文献 Chapter12:TheInterfaceSegregationPrinciple(ISP)ISP:接口隔离原则 InterfacePollution接口污染 SeparateClientsMeanSeparateInterfaces分离客户就是分离接口 ClassInterfacesversusObjectInterfaces类接口与对象接口 SeparationThroughDelegation使用委托分离接口 SeparationThroughMultipleInheritance使用多重继承分离接口 TheATMUserInterfaceExample ATM用户界面的例子 Conclusion结论 Bibliography参考文献 Chapter13:OverviewofUMLforC#Programmers C#程序员UML概观 ClassDiagrams类图 ObjectDiagrams对象图 SequenceDiagrams顺序图 CollaborationDiagrams协作图 StateDiagrams状态图 Conclusion结论 Bibliography参考文献 Chapter14:WorkingwithDiagrams使用UML WhyModel?为什么建模 WhyBuildModelsofSoftware?为什么构建软件模型 ShouldWeBuildComprehensiveDesignsBeforeCoding?编码前应该构建面面俱到的设计吗 MakingEffectiveUseofUML有效使用UML CommunicatingwithOthers与他人交流 RoadMaps脉络图 Back-EndDocumentation项目结束文档 WhattoKeepandWhattoThrowAway要保留的和要丢弃的 IterativeRefinement迭代式改进 BehaviorFirst行为优先 ChecktheStructure检查结构 EnvisioningtheCode想象代码 EvolutionofDiagrams图的演化 WhenandHowtoDrawDiagrams何时以及如何绘制图示 WhentoDrawDiagramsandWhentoStop何时要画图,何时不要画图 CASEToolsCASE工具 ButWhatAboutDocumentation?那么,文档呢 Conclusion结论 Chapter15 StateDiagrams状态图 TheBasics基础知识 SpecialEvents特定事件 Superstates超状态 InitialandFinalPseudostates初始伪状态和结束伪状态 UsingFSMDiagrams使用FSM图示 Conclusion结论 Chapter16:ObjectDiagrams对象图 ASnapshotinTime即时快照 ActiveObjects主动对象 Conclusion结论 Chapter17:UseCases示例 WritingUseCases编写用例 AlternateCourses备选流程 WhatElse?其他东西呢 DiagrammingUseCases用例图 Conclusion结论 Bibliography参考文献 Chapter18:SequenceDiagrams顺序图 TheBasics基础知识 Objects,Lifelines,Messages,andOtherOddsandEnds对象、生命线、消息及其他 CreationandDestruction创建和析构 SimpleLoops简单循环 CasesandScenarios时机和场合 AdvancedConcepts高级概念 LoopsandConditions循环和条件 MessagesThatTakeTime耗费时间的消息 AsynchronousMessages异步消息 MultipleThreads多线程 ActiveObjects主动对象 SendingMessagestoInterfaces向接口发送消息 Conclusion结论 Chapter19:ClassDiagrams类图 TheBasics基础知识 Classes类 Association关联 Inheritance继承 AnExampleClassDiagram类图示例 TheDetails细节 ClassStereotypes类衍型 AbstractClasses抽象类 Properties属性 Aggregation聚集 Composition组合 Multiplicity多重性 AssociationStereotypes关联衍型 NestedClasses内嵌类 AssociationClasses关联类 AssociationQualifiers关联修饰符 Conclusion结论 Bibliography参考文献 Chapter20 HeuristicsandC0ffee咖啡的启示 TheMarkIVSpecialCoffeeMaker MarkIV型专用咖啡机 Specification规格说明书 260 ACommonbutHideousSolution常见的丑陋方案 ImaginaryAbstraction虚构的抽象 AnImprovedSolution改进方案 ImplementingtheAbstractModel实现抽象模型 TheBenefitsofThisDesign这个设计的好处 Ooverkill面向对象过度设计 Bibliography参考文献 SectionⅢ ThePayrollCaseStudy薪水支付案例研究 RudimentarySpecificationofthePayrollSystem薪水支付系统的初步规格说明 Exercise练习 UseCase1:AddNewEmployee用例1:增加新雇员 UseCase2:DeletinganEmployee用例2:删除雇员 UseCase3:PostaTimeCard用例3:登记考勤卡 UseCase4:PostingaSalesReceipt用例4:登记销售凭条 UseCase5:PostingaUnionServiceCharge用例5:登记工会服务费 UseCase6:ChangingEmployeeDetails用例6:更改雇员明细 UseCase7:RunthePayrollforToday用例7:现在运行薪水支付系统 Chapter21:CommandandActiveObject:VersatilityandMultitasking COMMAND模式和ACTlVEOBJECT模式:多功能与多任务 SimpleCommands简单的Command Transactions事务 PhysicalandTemporalDecoupling实体上解耦和时间上解耦 TemporalDecoupling时间上解耦 UndoMethod Undo()方法 ActiveObject ACTIVEOBJECT模式 Conclusion结论 Bibliography参考文献 Chapter22:TemplateMethodandStrategy:InheritanceversusDeleg |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。