请输入您要查询的百科知识:

 

词条 敏捷软件开发:原则、模式与实践
释义

本书适于软件开发和管理人员提高自身水平学习之用,也适于用作高校计算机专业本科生、研究生以及软件学院的软件工程和软件开发相关课程的教材或参考书。

书名:敏捷软件开发:原则、模式与实践

作者::(美)马丁,(美)马丁著

页数: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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/22 5:29:09