SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx

上传人:b****5 文档编号:6430191 上传时间:2023-01-06 格式:DOCX 页数:43 大小:473.63KB
下载 相关 举报
SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx_第1页
第1页 / 共43页
SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx_第2页
第2页 / 共43页
SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx_第3页
第3页 / 共43页
SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx_第4页
第4页 / 共43页
SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx

《SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx》由会员分享,可在线阅读,更多相关《SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx(43页珍藏版)》请在冰豆网上搜索。

SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration.docx

SoftwareConfigurationManagementPatternsEffectiveTeamworkPracticalIntegration

SoftwareConfigurationManagementPatterns:

EffectiveTeamwork,PracticalIntegration

ByStephenP.Berczuk,BradAppleton

...............................................

Publisher:

AddisonWesleyProfessional

PubDate:

November04,2002

PrintISBN-10:

0-201-74117-2

PrintISBN-13:

978-0-201-74117-9

Pages:

256

TheSoftwarePatternsSeries

SeriesEditor:

JohnM.Vlissides

TheSoftwarePatternsSeries(SPS)comprisespatternliteratureoflastingsignificancetosoftwaredevelopers.Softwarepatternsdocumentgeneralsolutionstorecurringproblemsinallsoftware-relatedspheres,fromthetechnologyitself,totheorganizationsthatdevelopanddistributeit,tothepeoplewhouseit.Booksintheseriesdistillexperiencefromoneormoreoftheseareasintoaformthatsoftwareprofessionalscanapplyimmediately.RelevanceandimpactarethetenetsoftheSPS.Relevancemeanseachbookpresentspatternsthatsolverealproblems.Patternsworthyofthenameareintrinsicallyrelevant;theyareborneofpractitioners'experiences,nottheoryorspeculation.Patternshaveimpactwhentheychangehowpeopleworkforthebetter.Abookbecomesapartoftheseriesnotjustbecauseitembracesthesetenets,butbecauseithasdemonstrateditfulfillsthemforitsaudience.

Titlesintheseries:

DesignPatternsExplained:

ANewPerspectiveonObject-OrientedDesign,AlanShalloway/JamesR.Trott

DesignPatternsJava™Workbook,StevenJohnMetsker

TheDesignPatternsSmalltalkCompanion,ShermanAlpert/KyleBrown/BobbyWoolf

TheJoyofPatterns:

UsingPatternsforEnterpriseDevelopment,BrandonGoldfedder

TheManagerPool:

PatternsforRadicalLeadership,DonOlson/CarolStimmel

ThePatternAlmanac2000,LindaRising

PatternHatching:

DesignPatternsApplied,JohnVlissides

PatternLanguagesofProgramDesign,editedbyJamesO.Coplien/DouglasC.Schmidt

PatternLanguagesofProgramDesign2,editedbyJohnM.Vlissides/JamesO.Coplien/NormanL.Kerth

PatternLanguagesofProgramDesign3,editedbyRobertMartin/DirkRiehle/FrankBuschmann

PatternLanguagesofProgramDesign4,editedbyNeilHarrison/BrianFoote/HansRohnert

SmallMemorySoftware,JamesNoble/CharlesWeir

SoftwareConfigurationManagementPatterns,StephenP.Berczuk/BradAppleton

Formoreinformation,checkouttheseriesWebsiteat

ListofFigures

FigureI-1.Acodelineanditscomponents

FigureI-2.Populatingaworkspacefromdifferentcodelines

FigureI-3.Branchingasinglefileandmergingwiththetrunk

FigureI-4.Branchinganentirecodeline

FigureI-5.Codelinediagramnotation

Figure2-1.Theinteractionsbetweenelementsoftheenvironment

Figure3-1.TheSCMpatternlanguage

Figure3-2.Codeline-relatedpatterns

Figure3-3.Workspace-relatedpatterns

Figure4-1.Amergecanbemessy

Figure4-2.Staircasebranching(oracascade)

Figure4-3.Mainlinedevelopment

Figure5-1.Long-runningtestshavemixedvalue.

Figure5-2.Astablebutdeadcodeline

Figure5-3.AVeryActivebutveryUselessCodeline

Figure5-4.Anactive,alivecodeline

Figure5-5.LabelingNamedStableBases

Figure6-1.Combiningchangesatonce

Figure6-2.Integratingeachchangeasithappens

Figure6-3.SharingSomeComponentsbetweenWorkspaces

Figure7-1.Aworkspaceiscreatedfrommanythings.

Figure7-2Populateyourworkspacefromarepository.

Figure7-3.Versiontreeforaworkspace

Figure8-1.Thebuildintegrateschangesfromeveryone.

Figure8-2.Componentsoftheprivatesystembuild

Figure9-1.Integrationcanbedifficult.

Figure9-2.AnIntegrationBuildProcessAssemblesthePieces.

Figure10-1.Vendorreleasesandyourreleasesarenotinsync.

Figure10-2.Thirdpartycodeline

Figure12-1.Eachcodelineneedsdifferentrules.

Figure16-1.Eachdecisionleadstomorechoices,untilyoupickthesolution.

Figure16-2.Usingthecodelineforstaginggeneratesalotofnoise.

Figure17-1.Doingallyourworkonthemainline

Figure17-2.Createabranchwhenyouship.

Figure17-3.Staircaseofdependentbranches

Figure17-4.ReleaseLine

Figure18-1.Release-PrepCodeLine

Figure19-1.Sometasksareforthefuture.

Figure19-2.Creatingareleaselinetooearlyistroublesome.

Figure19-3.Taskbranch

Foreword

ThoseofyoufamiliarwithmyworkmaybeaskingyourselveswhyanexpertonJ2EEsoftwarearchitecturewouldbewritingaprefaceforabookonsoftwareconfigurationmanagement(SCM).Afterall,thetwodisciplinescouldn'tbefartherapart,couldthey?

J2EEarchitectureseemsloftyandexalted,whileSCMmightappeartobesomethingthatisdowninthemuckofthetrenchesofsoftwaredevelopment.Infact,nothingcouldbefurtherfromthetruth.Overtheyears,I'veoftenfoundthatcustomersthatIworkwithwhohaveproblemswithJ2EEapplicationarchitectureusuallyhaveseriousproblemswithSCMaswell.

Thereasonsforthiscuriouscoincidencearetwofold.First,manypeoplehaveahardtimedealingwithchangeingeneral—beitmovingfromasetofarchitecturalpracticesthatnolongerapplyinanewenvironmentlikeJ2EE,ormovingfromasoftwaredevelopmentprocessthatworkedinoneenvironmentbutmaynotworkinallenvironmentsaswell.ThustheyfeelthatiftheirSCMprocessesworkedintheirlastproject,theymustworkintheircurrentproject—regardlessofthefactthatthetechnologies,timescales,andmethodsemployedindesigningandbuildingthetwoprojectsmayberadicallydifferent.

Second,peopleoftenwantasmallsetofsimplerulestogovernalltheiractivities.However,takingatoosimpleapproachusuallyleadstoproblemsattheedgewhereabstractionsmeetreality.WhethertheissueisunderstandingwhyaparticularJ2EEconstruct,suchasanEntityEJB,mayworkinonecircumstancebutnotanother,orunderstandingwhyitisimportantfordeveloperstohavetheirownprivateworkspacesinwhichtododevelopmentandintegrationwhen,afterall,youhavetointegratethecodefromyourdevelopersattheendofthedayanyway,theproblemsarethesame.Inbothcases,asimplerule(useEntitybeans,useabuildscript)isperfectlygoodadvice,butitmustbetemperedintheforgeofexperiencebecauseinitsrawformitistoobrittletouse.

Whatmathematiciansandscientistshavebeguntodiscoverinthelasttwodecadesofresearchintochaosandcomplexitytheoryisthat,althoughsystemsbuiltwithrulesthataretoofewandtoosimpleareusuallystagnantandpredictable,addingjustafewmorerulescanoftenleadtosystemsofstartlingcomplexityandbeauty.Thesearesystemsthatcanbeseriouslyperturbedbyoutsideforcesandyetcanreconstitutethemselvessothattheoverallschemeremainswhole.ThebookyouholdinyourhandprovidesasetofrulesforSCMthathavethatkindofflexibility.

SteveandBradhavedevelopedtheiradviceondealingwithSCMasasystemofpatterns.Astheytellinglyrevealearlyon,thestrengthofasystemofpatternsliesnotintheindividualpatternsthemselvesbutinthewebofrelationshipsbetweenthepatterns.TheauthorshavedevelopedaninterlockingmeshofpatternsthatindividuallycoverthemostcommonpracticesinSCM.However,theymoreimportantlyshowhowtheforcesthatleadtoeachsolutionarenotcompletelyresolvedineachpattern—thatyouneedtocarefullyconsiderhoweachSCMpracticeistiedtoothers,tokeepfromlockingyourselfintoaprisonofyourownmaking.

Forexample,youmaywanttolookaheadtothewonderfuladvicegivenintheirfirstpattern,Mainline(4).Thisseeminglyprosaicadvice(thatdevelopersshouldworkonasingle,stablecodebase)issomethingthatIhavefoundmanygroups,includingthoseinlarge,successfulcorporationsthathavespentmillionsofdollarsonimplementingprocesses,havesomehowfailedtograsp.Thisiscommonsense,wellapplied,andthatiswhatmakesituncommon.

Likewise,theadvicegiveninPrivateWorkspace(6)andPrivateSystemBuild(8)isnothinglessthantwoofthekeyideasthathavemademodernJavaIDEssuchasVisualAgeforJavaandIBMWebSphereStudiosousefulandpopular.WhenIamasked(asIamnearlydaily)whydevelopersshouldchooseoneoftheseIDEsoverdevelopmentatthecommandlinewithtraditionalcodeeditorsandcompilers,thefactthatthesetoolsnotonlyallowbutactivelyencouragethisstyleofdevelopmentisakeyfactorinhowIphrasemyrecommendations.

So,ItrustthatyoufindthisbookashelpfulandenlighteningasIdo.I'vebeenintroducingpeopletoanumberofthepatternsfromthisbooksincetheirfirstpublicationinthePatternLanguagesofPrograms(PLoP)Conferenceproceedingsseveralyearsago,andI'vefoundthemtobeinvaluableinsettingthestageforfrankandconstructivediscussionsabouthowtoperformSCMtherightway.ThesepatternshavebeenmyswordforcuttingthroughtheGordianknotofcomplexSCMissuesintrickycustomerengagements—Ihopethatyouwillsoonbegintowieldthisweaponaswell.

—Kyle Brown

Author of EnterpriseJavaProgrammingwithIBMWebSphere

Preface

SoftwareconfigurationmanagementisnotwhatIdo.Iamnotasoftwareconfigurationmanagementperson.Iamnotanorganizationalanthropologyperson.However,Idiscoveredearlyonthatunderstandingorganizations,softwarearchitecture,andconfigurationmanagementwasessentialtodoingmyjobasasoftwaredeveloper.Ialsofindthissystemsperspectiveonsoftwareengineeringinteresting.Ibuildsoftwaresystems,andconfigurationmanagementisaveryimportantandoftenneglectedpartofbuildingsoftwaresystems.Inthisbook,IhopethatIcanshowyouhowtoavoidsomeoftheproblemsIhaveencounteredsothatyo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1