您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 基于J2EE架构敏捷开发的实践和研究
上海交通大学硕士学位论文基于J2EE架构敏捷开发的实践和研究姓名:戴哲明申请学位级别:硕士专业:软件工程指导教师:赵建军20080610IJ2EEJ2EEWebBugBugJ2EEWebCruiseControlWebJ2EEJ2EEIIPRACTICEANDRESEARCHOFAGILEDEVELOPMENTBASEDONJ2EEARCHITECTUREABSTRACTWithregardtowebprojectbasedonJ2EEarchitecture,thetraditionalapproachtosoftwaredevelopmentfocusesonmakingrequirementclear,beginsatrequirementanalysisandprogressesthroughdesign,coding,integration,testing.Sothetraditionalapproachtosoftwaredevelopmentcausessuchissuesaslateintegration,longperiodofintegration,andmuchdefectdiscoveredincourseofintegration.Usuallyreleasetowebprojectispublishedjustnowbeforedeployment,andtheusercanseethesoftwaresystemonlyafteritbeingdeployed.Theusermaypossiblybringforwardmanyproblems,includingtheaspectoftechnicalprocesseven.Theseproblemsmayaffectthewholesystemarchitecturedesign.Thedevelopersneedmoretimetoamendthebugswhichdefectedbytheconsumersiftheyarenotenoughtotakeintoaccountunittest,ortheyareshortoftheeffectiveapproachtoregressiontest.Theagileapproachtosoftwaredevelopmentcansolveallaboveproblemsverygood.Continuousintegrationcansolvetheproblemssuchaslongperiodofintegration,andmuchdefectdiscoveredincourseofintegration;Smallreleasecangainthefeedbackfromconsumersintime;Test-drivendevelopmentcansolvetheproblemofspendinglongtimetoamendthebugs.ThispaperstudiestheagiledevelopmentbasedonJ2EEarchitectureinpractice.Itintroducesthetechnologiesaboutagiledevelopmentsuchascontinuousintegration,test-drivendevelopment,codeinspectionandconfigurationmanagement.Theframeworkofwebapplicationandpersistenceisintroduced.ItanalyzesthedesignandimplementationofIIICruiseControl,acontinuousintegrationtool,afterusedmanyopen-sourcesoftwaretools.Moreover,integratingseveralexistingopen-sourcesoftwaretools,anagiledevelopmentplatformisproposed.Wesolvesomeproblemsincludingtheefficiencyofcontinuousintegration,themandatoryofcodestandardswhilestructuringtheagiledevelopmentplatform.Afterintroducingthebackgroundandprofileofthedocumentmanagementsystem,weapplytheagiledevelopmentplatformtodevelopthedocumentmanagementsystem,andsummarizetheexperiencesinpractices.Thefutureresearchareasarementionedattheendofthispaper.KEYWORDS:agiledevelopment,J2EEcontinuousintegration,testdrivenJ2EEIIIII111.11986NATO206090CMMInternetGSM1-1Table1-1projectsituationcomparisonofsoftwaredevelopment(1979)210(1997-1999)50%60%452940%67%30%167%RUPJ2EE2UMLRUP4RUPRUPRUPzzzBugBug1.23(AgileMethodologies)(LightWeight)Crystal(XP)1.31.3.1SCRUM(CrystalMethods)(FeatureDrivenDevelopmentJ2EE4FDD)(AdaptiveSoftwareDevelopmentASD)(eXtremeProgrammingXP)KentBeck1997KentBeckKent1997KentCryslerC3()XPXPXPXP1.3.2z()z51.3.3zzzzz1.3.4zzzJ2EE6z1.3.5zzzz50zz1.420017J2EE82J2EEWebMVCJavaWebStrutsHibernate2.1AgileDevelopment2.1.1BugBugCheckinzzzBuildVerifyTestBVT9MartinFowlerMartinFowlerBugBugBugBug2.1.2Test-DrivenDevelopmentTDDzBugBugBugJ2EE10zz1)2)3)ABCDBEDF2-1CEFBDABCD2-1Fig.2-1schemeofthetestskills2.1.3ABCDFE11zzzzBugzJavaSUNzJ2EE12zz2.1.41)2)3)CI,ConfigurationItemzzz3-1132-2Fig.2-2typicalflowofchangecontrolzzzz2.2J2EEJ2EE(Java2PlatformEnterpriseEdition)SUNJ2EEJavaServerPage(JSP)J2EE14WebStrutsJavaWeb--(Model-View-ControllerMVC)HibernateJavaORM(Object/RelationMapping)JavaWeb2.2.1StrutsStrutsMVCJavaWebStrutsMVCJavaWeb2-1JSPServletActionJavaBeanEJB2-3StrutsMVCFig.2-3MVCframeworkprovidedbyStrutsStrutsActionServletservletStrutsActionServletWebActionServletActionServletStrutsstruts-config.xmlActionMappingActionActionServletActionStrutsActionStrutsJavaBeanEJB()ActionServletWeb()JSPActionActionActionStruts-config.xmlServlet/JSP15ActionForwardActionServletActionServletStrutsWeb1)Web2)JSPJSP3)JSPActionFormsstruts-config.xml4)ApplicationResource.propertiesMessageResources5)WebAction6)struts-config.xmlJSPAction7)Web8)Web2.2.2HibernateHibernateJava-J2EEJDBCJTAJNDIHibernateIBMDB2MySQLSybasePostgreSQLOracleHypersonicSQLHibernateHibernateQueryLanguageHQLSQLObjectCriteriaHibernateJ2EEJ2EEHibernate2-4APIzzJ2EE16z2-4HibernateFig.2-4middlewarecharacteristicofHibernateHibernateJavaHibernateHibernatezHibernateSessionTransactionQueryzConfigurationzInterceptorLifecycleValidatablezHibernateUserTypeCompositeUserTypeIdentifierGeneratorHibernateAPIHibernateHibernate173CruiseControl3.1J2EEMVCWebEclipseStrutsHibernateSubversionCruiseControlJUnitAntCheckStyleWebTomcatHttpUnitJMeter3-13-1SubversionEclipseStrutsHibernateWebTomcatHttpUnitJMeter456CruiseControlJUnitAntCheckStyle23J2EE18Fig.3-1architectureofagiledevelopmentplatformJavaJDKJREEclipseEclipseIDEEclipseWebStrutsHibernateWebCruiseControlAntclassCheckStyleJUnitWebWARWARWebWebWARTomcatWeb-WebWeb3.23.2.1JavaJDKEclipseLombozCheckStyleWebTomcatWebStruts19HibernateJSPDreamWeaverEclipseJavaPlugin,EclipseEclipseEclipseJUnitAntEclipseCVSSubversionCVSSubclipseEclipseSubversionEclipseLombozJavaEclipseJ2EEWebLombozEclipsepluginsEclipseLombozJ2EEProjectEclipseCheckStylepluginsfeaturesEclipsepluginsfeaturesJSPWebTomcatWebEclipseLombozTomcatLombozServerDefinitionsTomcatEclipseWebTomcatTomcatEclipseStrutsHibernateWebXMLBuddyHibernateSynchronizerStrutsHibernateXMLXMLBuddyXMLHibernateS
本文标题:基于J2EE架构敏捷开发的实践和研究
链接地址:https://www.777doc.com/doc-4604469 .html