uml-對象技術與可視化建?;A_第1頁
uml-對象技術與可視化建模基礎_第2頁
uml-對象技術與可視化建?;A_第3頁
uml-對象技術與可視化建?;A_第4頁
uml-對象技術與可視化建?;A_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

UML建模語言及工具第2章

對象技術與可視化建?;A

AnOverviewofObjectTechnology

andVisualModelingReview:AnApproachtotheObject-Oriented上升到面向對象面向對象技術概述定義、利益、研究內(nèi)容面向對象技術發(fā)展歷史(里程碑)、現(xiàn)狀、未來面向對象與結構化揚棄而非否定上升到面向對象利用面向對象的觀點認識客觀問題3精選2021版課件學習線路圖OOUMLOOAOODDP…Case-Study………

……

……

……學習線路圖4精選2021版課件Agenda1ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling5精選2021版課件ObjectInformally,anobjectrepresentsanentity,eitherphysical,conceptual,orsoftwarePhysicalentityConceptualentitySoftwareentity化學過程鏈表6精選2021版課件Object-FormalDefinitionAnobjectisanentitywithawell-definedboundaryandidentitythatencapsulatesstateandbehavior.Stateisrepresentedbyattributesandrelationships.Behaviorisrepresentedbyoperations,methods,andstatemachines.ObjectOperationsAttributes7精選2021版課件對象的標識每一個對象都有一個唯一的標識,即使其狀態(tài)有可能與其它對象一樣班機747on11/10班機747on11/11班機747on11/128精選2021版課件對象的標識Professor“JClark”teachesBiologyProfessor“JClark”teachesBiology9精選2021版課件對象的狀態(tài)一個對象的狀態(tài)是它反映于現(xiàn)實世界的一系列屬性:參數(shù)的數(shù)值(也就是,與對象有關系的數(shù)據(jù))它與其它對象的關系可能的狀態(tài):

停泊運營

著陸

終止班機74710精選2021版課件對象的狀態(tài)Stateisaconditionorsituationduringthelifeofanobject,whichsatisfiessomecondition,performssomeactivity,orwaitsforsomeevent.Thestateofanobjectnormallychangesovertime.Name:JClarkEmployeeID:567138DateHired:July25,1991Status:TenuredDiscipline:FinanceMaximumCourseLoad:3classesName:JClarkEmployeeID:567138HireDate:07/25/1991Status:TenuredDiscipline:FinanceMaxLoad:3ProfessorClark11精選2021版課件對象的行為定義當其它對象發(fā)出請求時,該對象如何反應由為對象定義的一系列操作決定班機747核對出發(fā)時間(返回9:27)機票代理12精選2021版課件對象的行為Behaviordetermineshowanobjectactsandreacts.Thevisiblebehaviorofanobjectismodeledbyasetofmessagesitcanrespondto(operationsthattheobjectcanperform).ProfessorClarkProfessorClark’sbehaviorSubmitFinalGradesAcceptCourseOfferingTakeSabbaticalSetMaxLoadSubmitFinalGrades()AcceptCourseOffering()TakeSabbatical()SetMaxLoad()13精選2021版課件Sample-AnObject14精選2021版課件RepresentingObjectsintheUMLAnobjectisrepresentedasarectanglewithanunderlinedname.NamedObjectAnonymousObject15精選2021版課件ClassAclassisadescriptionofasetofobjectsthatsharethesameattributes,operations,relationships,andsemantics.Anobjectisaninstanceofaclass.AclassisanabstractioninthatitEmphasizesrelevantcharacteristics.Suppressesothercharacteristics.16精選2021版課件Sample-AClassClassEmployeePropertiesNameAddressPositionSalaryStartDateEndDateBehaviorHireFirePromoteIncreaseSalaryRetire17精選2021版課件RepresentingClassesintheUMLAclassisrepresentedusingarectanglewithcompartments.屬性操作18精選2021版課件具有相同特征和操作的對象可以放到類中。在下面這副圖中您看到了什么類?類19精選2021版課件對象的類您看到了幾個類?20精選2021版課件屬性屬性是類的特征或特性屬性的值是某一特定對象的屬性值在類中屬性名必須是唯一的每一個類的實例都有為這個類定義的所有屬性的值銀行帳戶類屬性帳號銀行名稱擁有者金額Mary的銀行帳戶屬性值12345678FirstNationalBankMarySmith$1024.4821精選2021版課件屬性取決于視點從銷售人員的角度型號價格顏色里程數(shù)一輛汽車具有的屬性:從維修人員的角度馬達類型傳動類型維修記錄22精選2021版課件操作對象的行為是由為此對象定義的一系列操作決定的操作訪問或修改對象的屬性值一個類可能同時存在多個實例,也可能在某一時刻沒有實例一個類的所有實例都可以使用在這個類中定義的操作23精選2021版課件類和對象對象實體類抽象數(shù)據(jù)類型計算機世界實例化抽象映射映射現(xiàn)實世界24精選2021版課件類是生成對象的模板類是生成對象的模板類的定義中包含有產(chǎn)生和刪除對象的操作一個類定義了使用哪種數(shù)據(jù)表示法來描述屬性每一個實例都采用有屬性值的數(shù)據(jù)表示法一個類通過一系列操作來定義行為這種操作能在每個實例中激活班機Flight187Flight121Flight74725精選2021版課件類和對象的關系每一個對象都是某一個類的實例每一個類在某一時刻都有零個或更多的實例類是靜態(tài)的;它們的存在、語義和關系在執(zhí)行前就已經(jīng)定義好了對象是動態(tài)的;它們在程序執(zhí)行時可以被創(chuàng)建和刪除26精選2021版課件Sample-ObjectandClass現(xiàn)實世界中的學生對象和對Student類的建模BobJohnKateBeverlyStudent屬性方法一些學生對象Student類27精選2021版課件Agenda-2ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling28精選2021版課件BasicPrinciplesofObjectOrientationObjectOrientationAbstractionEncapsulationModularityHierarchy29精選2021版課件抽象

抽象(abstraction)就是過濾掉對象的一部分特性和操作,直到只剩下所需要的屬性和操作。一些權威認為抽象對于建模者來說是最重要的技術,也就是說要搞清楚什么應該納入模型中,什么應該舍去。抽取共同性例如,準備編制游戲軟件,其中需要實現(xiàn)不同人物使用魔法的功能。每個人物具有不同的魔法,并具備使用魔法的行為,抽象得到的人物類圖如:30精選2021版課件Example:Abstraction一個項目的抽象依賴于定義抽象的上下文31精選2021版課件封裝性-EncapsulationHidesimplementationfromclients.Clientsdependoninterface.32精選2021版課件封裝性封裝(encapsulation)是軟件模塊化思想的體現(xiàn),也是面向對象的根本之一封裝實現(xiàn)信息隱藏和數(shù)據(jù)抽象信息隱藏的出發(fā)點:對象的私有數(shù)據(jù)不能被外界存取,只能以合法的手段訪問將數(shù)據(jù)抽象為一組行為,而不是內(nèi)部的具體數(shù)據(jù)結構,把用戶隔離在細節(jié)之外,從而使得軟件各個部分依賴于抽象層,各模塊獲得自由,可以變化細節(jié),可以替換33精選2021版課件ProfessorClarkneedstobeabletoteachfourclassesinthenextsemester.SubmitFinalGrades()AcceptCourseOffering()TakeSabbatical()ProfessorClarkSetMaxLoad()Name:JClarkEmployeeID:567138HireDate:07/25/1991Status:TenuredDiscipline:FinanceMaxLoad:4SetMaxLoad(4)34精選2021版課件為什么要封裝結構化程序設計:程序=算法+數(shù)據(jù)結構全局數(shù)據(jù)算法算法算法算法一個大問題:如何保證數(shù)據(jù)的一致性?35精選2021版課件范例:數(shù)據(jù)一致性classShippingAddress{

publiclongcityCode;

publicStringaddress;}城市代碼例如:北京為01上海為02郵政地址“北京朝陽區(qū)靜安里6號”操作這個數(shù)據(jù)結構的程序員,必須嚴格遵守一系列業(yè)務邏輯規(guī)則,否則很容易破壞數(shù)據(jù)的一致性結構化程序設計處理大項目時,多人協(xié)同開發(fā)時,本質上無法保證數(shù)據(jù)的一致性classShippingAddress{

privatelongcityCode;

privatestringaddress;

publiclongModifyAddress(Stringaddress)}36精選2021版課件信息隱藏保證數(shù)據(jù)一致性通過信息隱藏:1.外圍代碼無法隨意訪問底層數(shù)據(jù),只能以合乎規(guī)范的方式操作數(shù)據(jù)2.保證數(shù)據(jù)一致性的邏輯只需正確開發(fā)一次,便可以供所有人反復使用3.業(yè)務邏輯知識被局限起來,協(xié)同開發(fā)難度降低信息隱藏是面向對象更適應大型軟件開發(fā)的根本原因之一37精選2021版課件數(shù)據(jù)隱藏的實現(xiàn):C文件域內(nèi)的數(shù)據(jù)隱藏,粒度太粗/*本文件域的私有數(shù)據(jù)*/ staticintuse_count=0; voidfunc(intarg) { ++use_count; … }C的結構體無數(shù)據(jù)隱藏機制:

structSimpleObject_t{ intmyInteger; void(*setInteger)(int); };38精選2021版課件數(shù)據(jù)隱藏的實現(xiàn):C++用private訪問級別關鍵字定義私有數(shù)據(jù),隱藏內(nèi)部數(shù)據(jù)

structSimpleObject{ private: intmyInteger; public: voidsetInteger(inti); SimpleObject(inti=0):myInteger(i){} … }使用:

SimpleObjectso(8); so.myInteger=16;//compileerror so.setInteger(16);//OKC++對于對象私有數(shù)據(jù)的隱藏,完全是靠編譯器保證,而由于C++過于強大的指針運算能力,編譯器很容易被欺騙,所以…39精選2021版課件1#include<iostream>2usingnamespacestd;345classA6{7private:8//a&bareprivatemembersofclassA9inta;10doubleb;11public:12//initializea&basvalue013A():a(0),b(0){}1415public:16//fordisplaythevalueofa&b17intGetA();18doubleGetB();19};2021intA::GetA()22{23returna;24}2526doubleA::GetB()27{28returnb;29}3040精選2021版課件31int_tmain(intargc,_TCHAR*argv[])32{33Atest;3435cout<<"beforepointeraccess:\n"36<<"test.a="<<test.GetA()<<"\n"37<<"test.b="<<test.GetB()<<"\n"<<endl;3843//valuechangingbypointer!44*privateA=1;45*privateB=2.5;4647cout<<"afterpointeraccess:\n"<<"test.a="<<test.GetA()<<"\n"<<"test.b="<<test.GetB()<<"\n"<<endl;50return0;51}39//accessobjecttestofclassAbypointer40int*privateA=reinterpret_cast<int*>(&test);41double*privateB=reinterpret_cast<double*>(&test)+1;42運行后輸出結果為:beforepointeraccess:test.a=0test.b=0afterpointeraccess:test.a=1test.b=2.541精選2021版課件Java中的數(shù)據(jù)隱藏soSimpleObject對象實體intmyIntegervoidsetInteger(inti)雖然so本身也是指針(在Java里叫做引用reference),但是Java沒有提供任何指針運算,因此無法騙過編譯器,能夠完全保證私有成員數(shù)據(jù)不被非法訪問。42精選2021版課件模塊性-ModularityBreaksupsomethingcomplexintomanageablepiecesHelpspeopleunderstandcomplexsystemsCohesion(內(nèi)聚),Coupling(耦合)Class,Component,Package43精選2021版課件模塊化例子Forexample,breakcomplexsystemsintosmallermodules.BillingSystemCourseRegistrationSystemCourseCatalogSystemStudentManagementSystem44精選2021版課件PackageAgeneralpurposemechanismfororganizingelementsintogroupsAmodelelementthatcancontainothermodelelements.Apackagecanbeused:Toorganizethemodelunderdevelopment.Asaunitofconfigurationmanagement.45精選2021版課件APackageCanContainClassesThePackage,UniversityArtifacts,containsonepackageandfiveclasses46精選2021版課件層次性-HierarchyAnyrankingororderingofabstractionsintoatree-likestructureTypesofHierarchy:Inheritance,AggregationShapeTwoDimensionalShapeThreeDimensionalShapeCircleSquareTriangleSphereCubeTetrahedronIncreasing

abstractionDecreasing

abstractionElementsatthesamelevelofthehierarchyshouldbeatthesamelevelofabstraction47精選2021版課件Agenda-3ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling48精選2021版課件GeneralizationArelationshipamongclasseswhereoneclasssharesthestructureand/orbehaviorofoneormoreclassesDefinesahierarchyofabstractionsinwhichasubclassinheritsfromoneormoresuperclassesSingleinheritanceMultipleinheritanceIsan“isakindof”relationship.49精選2021版課件范例:單一繼承Oneclassinheritsfromanother50精選2021版課件范例:多重繼承AclasscaninheritfromseveralotherclassesUsemultipleinheritanceonlywhenneededandalwayswithcaution!51精選2021版課件WhatIsInherited?Asubclassinheritsitsparent’sattributes,operations,andrelationshipsAsubclassmay:Addadditionalattributes,operations,relationshipsRedefineinheritedoperations(Usecaution!)Commonattributes,operations,and/orrelationshipsareshownatthehighestapplicablelevelinthehierarchy52精選2021版課件范例:繼承什么?classStudent{ protectedstringname;

publicstringgetName(){…}

publicAccounttheAccount;

}classGraduateStudentextendsStudent{

}

派生類(子類)從基類(超類、父類)中派生,繼承了基類中全部的public和protected數(shù)據(jù)成員和方法。所以即使GraduateStudent中沒有定義getName(),也會從Student中得到getName()方法的全部實現(xiàn)派生類也會繼承基類中的關系,因此GraduateStudent與Account也有聚合關系53精選2021版課件繼承的原始目的在面向對象思想發(fā)展的初期,通過繼承復用代碼曾經(jīng)被認為是面向對象最重要的目標之一當時人們的想法是:從基類獲得大部分成熟的代碼,實現(xiàn)主要的功能,而修改必要的部分,實現(xiàn)特色功能很遺憾,實踐中人們發(fā)現(xiàn)無法達成事先預期的效果54精選2021版課件繼承并非代碼復用的最佳機制繼承在代碼復用方面不如其它方式靈活有效——比如函數(shù)庫代碼復用在今天的意義不象先前預期的那么大,原因是:代碼只是細節(jié),系統(tǒng)由接口定義。另外軟件開發(fā)的人力資源越來越豐富,開發(fā)難度大幅降低但是繼承所提供的代碼復用仍然是一項重要的“福利”,應當善加利用今天繼承的主要意義在于為實現(xiàn)多態(tài)鋪平了道路55精選2021版課件WhatIsPolymorphism?Theabilitytohidemanydifferentimplementationsbehindasingleinterface56精選2021版課件范例:多態(tài)abstractclassShape{publicabstractvoiddraw();}classRectangleextendsShape{//覆蓋(override)基類方法

publicvoiddraw(){...

/*繪制矩形*/}}classCircleextendsShape{

//覆蓋(override)基類方法

publicvoiddraw(){…

/*繪制圓形*/}}57精選2021版課件虛函數(shù)——多態(tài)classShape{public: virtualvoidDraw(void){…};};classCircle:publicShape{public: virtualvoidDraw(void){…};};classSphere:publicShape{public: virtualvoidDraw(void){…};}voidDrawShape(Shape*aShape){ aShape->Draw();}main(){ ShapeaShape; CircleaCircle; SphereaSphere;

DrawShape(&aShape); DrawShape(&aCircle); DrawShape(&aSphere);}58精選2021版課件應用多態(tài)性假設我們有一個數(shù)組sharr,里面放著一排Shape,但是不知道哪些是Rectangle,哪些是Circle。利用多態(tài)性,我們可以:

for(inti=0;i<sharr.length;++i){ Shapeshape=(Shape)sharr[i]; shape.draw(); }遍歷整個數(shù)組的過程中,各個Shape自己知道應當如何在畫布上繪制自己。shape.draw()這同一行代碼在shape指向不同的對象時表現(xiàn)出不同的行為,這就是所謂多態(tài)性59精選2021版課件Agenda-4ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling60精選2021版課件WhatIsaModel?Amodelisasimplification(簡化)ofreality61精選2021版課件WhyModel?Modelingachievesfouraims:Helpsyoutovisualizeasystemasyouwantittobe.Permitsyoutospecifythestructureorbehaviorofasystem.Givesyouatemplatethatguidesyouinconstructingasystem.Documentsthedecisionsyouhavemade.YoubuildmodelsofcomplexsystemsbecauseyoucannotcomprehendsuchasysteminitsentiretyYoubuildmodelstobetterunderstandthesystemyouaredeveloping62精選2021版課件建模的意義模型是對現(xiàn)實的簡化,建模是為了更好地理解系統(tǒng)。模型幫助我們按照實際情況或需求對系統(tǒng)可視化;(掌握不了文字,畫幅畫代替)模型允許我們詳細說明系統(tǒng)的結構、行為;模型給出了一個構造系統(tǒng)的模板;模型對我們作出的決策進行文檔化。(先有文檔,再有代碼)63精選2021版課件TheImportanceofModelingPaperAirplaneFighterJetLessImportantMoreImportant64精選2021版課件Principle1:

TheChoiceofModelIsImportantThemodelsyoucreateprofoundlyinfluencehowaproblemisattackedandhowasolutionisshapedInsoftware,themodelsyouchoosegreatlyaffectyourworldviewEachworldviewleadstoadifferentkindofsystem65精選2021版課件Principle2:

LevelsofPrecisionMayDifferEverymodelmaybeexpressedatdifferentlevelsofprecision(精度)Thebestkindsofmodelsletyouchooseyourdegreeofdetail,dependingon:WhoisviewingthemodelWhytheyneedtoviewit66精選2021版課件Principle3:TheBestModelsAreConnectedtoRealityAllmodelssimplifyrealityAgoodmodelreflectspotentiallyfatalcharacteristicsThetrickistobesurethatyoursimplificationsdon’tmaskanyimportantdetails.Agoodmodelrevealsanypotentiallyfatalflawsindesign67精選2021版課件Principle4:

NoSingleModelIsSufficientNosinglemodelissufficient.Everynon-trivialsystemisbestapproachedthroughasmallsetofnearlyindependentmodels.Createmodelsthatcanbebuiltandstudiedseparately,butarestillinterrelated68精選2021版課件建模的原理選擇創(chuàng)建什么模型對如何動手解決問題和如何形成解決方案有意義深遠的影響。三只小豬蓋房子摩天大廈每一種模型可以在不同的精度級別上表示。最好的模型可以讓你根據(jù)觀察的角色及原因選擇它的詳細程度。對每個系統(tǒng)最好用一組幾乎獨立的模型去處理。飛機模型69精選2021版課件Agenda-5ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling70精選2021版課件TheUMLUML—YouMustLearnUML—UnifiedModelingLanguageUML是一種標準的圖形化建模語言,它是面向對象分析與設計的一種標準表示,它:不是一種可視化的程序設計語言,而是一種可視化的建模語言不是工具或知識庫的規(guī)格說明,而是一種建模語言規(guī)格說明,是一種表示的標準不是過程,也不是方法,但允許任何一種過程和方法使用它71精選2021版課件WhatIstheUML?TheUMLisalanguageforVisualizingSpecifyingConstructingDocumentingtheartifactsofasoftware-intensivesystemUnifiedModelingLanguage(統(tǒng)一建模語言)是對象管理組織(OMG)制定的一個通用的、可視化的建模語言標準,可以用來可視化(visualize)、描述(specify)、構造(construct)和文檔化(document)軟件密集型系統(tǒng)的各種工件(artifacts,又譯制品)72精選2021版課件UML是標準的符號1.用UML畫圖很容易擺脫符號煩惱全心面對問題2.UML僅僅是一種表達形式用好UML首先需要掌握OOAD的基本原則和方法,并在一定的軟件開發(fā)過程(如統(tǒng)一過程UP/USDP/RUP、XP等)的指導下進行有取舍的運用但知道要畫什么是困難的!73精選2021版課件選擇UML-1MartinFlower:如果你正在使用其它的舊技術,我強列建議您馬上轉用UML,因為它明顯地將成為符號系統(tǒng)的統(tǒng)一標準。如果你正在考慮開始使用設計符號來工作,UML是一個好的選擇,因為它已經(jīng)統(tǒng)治業(yè)界了74精選2021版課件選擇UML-2UML不是萬能的,很多場合并不適合使用1)傳統(tǒng)的做法已完全適用,對OOAD的要求也不高,項目非常成功,無任何改進的必要2)開發(fā)的系統(tǒng)比較簡單,直接用源碼配上少量的文字就能解決問題,軟件開發(fā)文檔也無需添加圖形來輔助說明3)開發(fā)人員更習慣于直接閱讀源碼,用源碼交流,這樣做不影響工作效率和質量4)開發(fā)的系統(tǒng)本身不屬于OO方法、UML適用范圍75精選2021版課件選擇UML-3很多情況下,推薦使用UML:1)OO方法是項目決定采用的方法論,是整個項目或產(chǎn)品成功的關鍵2)開發(fā)人員感覺用源碼說明不了真正的問題,希望利用可視化建模語言簡化文檔,提高交流效率,準確抓住問題本質3)系統(tǒng)的規(guī)模和設計都比較復雜,需要用圖形抽象地表達復雜的概念,增強設計的靈活性、可讀性和可理解性,以便暴露深層次的設計問題,降低開發(fā)風險4)組織希望記錄已成功項目、產(chǎn)品的公共設計方案,在開發(fā)新項目時可以參考、重用過去的設計,以節(jié)省投入,提高開發(fā)效率和整體成功率5)有必要采用一套通用的圖形語言和符號體系描述組織的業(yè)務流程和軟件需求,促進業(yè)務人員、軟件開發(fā)人員之間一致、高效的交流76精選2021版課件UML發(fā)展背景面向對象建模語言產(chǎn)生于1970年代中期1990年代初,建模語言數(shù)量達到50多種眾多語言各有千秋,缺乏通用性語言之間的細小差別妨礙了用戶的交流1990年代中期,三位主要的OO建模大師:Booch,Rumbaugh,Jacoson開始致力于建立統(tǒng)一建模語言的工作77精選2021版課件三位面向對象大師78精選2021版課件UML誕生公眾反饋OOPSLA95UnifiedMethod0.8工業(yè)化標準化統(tǒng)一化分散的各部分

Booch93OMT-21996.6和1996.10UML0.9&0.911997.9公布UML1.1

1997.1公布UML1.0合作伙伴意見1997.11.17

UML1.1被OMG接納為標準

Booch91OMT-1其他方法

OOSE79精選2021版課件UML統(tǒng)一UML類(class)關聯(lián)(association)泛化(generalization)聚集(aggregation)Booch類(class)使用(use)繼承(inherit)組成(containing)Coad類與對象(class&object)實例連接(instanceconnection)泛化說明(Gen-Spec)部分與整體(part-whole)Jacobson對象(object)認知關聯(lián)(acquaintanceassociation)繼承(inherit)組成(consistsof)Odell對象類型(objecttype)關系(relationship)子類型(subtype)組成(composition)Rumbaugh類(class)關聯(lián)(association)泛化(generalization)聚集(aggregation)Shlaer/Mellor對象(object)關系(relationship)子類型(subtype)無80精選2021版課件Agenda-6ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling81精選2021版課件HowmuchyoucandependonUML?TheUMLisnotaprocessormethodologyobject-orientedanalysisanddesignGuidelines(指導、準則)fordesignMuchmoreimportant:Skillindesigningwithobjects.82精選2021版課件ALanguageIsNotEnoughtoBuildaSystem83精選2021版課件WhatIsaProcess?DefinesWho

isdoingWhat,Whentodoit,andHowtoreachacertaingoal.Neworchanged

requirementsNeworchanged

systemSoftwareEngineeringProcess84精選2021版課件開發(fā)過程概述傳統(tǒng)開發(fā)過程

——瀑布模型統(tǒng)一軟件開發(fā)過程(RUP)85精選2021版課件傳統(tǒng)開發(fā)過程瀑布模型RequirementsAnalysisDesignImplementationTestTime86精選2021版課件OOAD的開發(fā)過程大項目分解為一些子項目使用UML工具統(tǒng)一軟件開發(fā)過程(RUP)是一個迭代、遞增的開發(fā)過程87精選2021版課件RUP的軟件開發(fā)生命周期88精選2021版課件OverviewoftheUnifiedProcessTheUnifiedProcessisIterativeandincrementalUsecasedrivenArchitecture-centric89精選2021版課件OOAD的開發(fā)過程timeInceptionElaborationConstructionTransition

Inception Definethescopeoftheprojectand developbusinesscase

Elaboration Planproject,specifyfeatures,and baselinethearchitecture

Construction Buildtheproduct

Transition Transitiontheproducttoitsusers90精選2021版課件MajorMilestonestimeVision

BaselineArchitectureInitialCapabilityProductReleaseInceptionElaborationConstructionTransition91精選2021版課件PhasesandIterationsAniterationisasequenceofactivitieswithanestablishedplanandevaluationcriteria,resultinginanexecutablereleaseArchIteration...DevIterationDev

Iteration...TransIteration...ReleaseReleaseReleaseReleaseReleaseReleaseReleaseReleasePrelimIteration...InceptionElaborationConstructionTransition92精選2021版課件IterationsandWorkflowPreliminaryIteration(s)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論