版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML建模语言及工具第2章
对象技术与可视化建模基础
AnOverviewofObjectTechnology
andVisualModelingReview:AnApproachtotheObject-Oriented上升到面向对象面向对象技术概述定义、利益、研究内容面向对象技术发展历史(里程碑)、现状、未来面向对象与结构化扬弃而非否定上升到面向对象利用面向对象的观点认识客观问题3uml对象技术与可视化建模基础学习线路图OOUMLOOAOODDP…Case-Study………
……
……
……学习线路图4uml对象技术与可视化建模基础Agenda1ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling5uml对象技术与可视化建模基础ObjectInformally,anobjectrepresentsanentity,eitherphysical,conceptual,orsoftwarePhysicalentityConceptualentitySoftwareentity化学过程链表6uml对象技术与可视化建模基础Object-FormalDefinitionAnobjectisanentitywithawell-definedboundaryandidentitythatencapsulatesstateandbehavior.Stateisrepresentedbyattributesandrelationships.Behaviorisrepresentedbyoperations,methods,andstatemachines.ObjectOperationsAttributes7uml对象技术与可视化建模基础对象的标识每一个对象都有一个唯一的标识,即使其状态有可能与其它对象一样班机747on11/10班机747on11/11班机747on11/128uml对象技术与可视化建模基础对象的标识Professor“JClark”teachesBiologyProfessor“JClark”teachesBiology9uml对象技术与可视化建模基础对象的状态一个对象的状态是它反映于现实世界的一系列属性:参数的数值(也就是,与对象有关系的数据)它与其它对象的关系可能的状态:
停泊运营
着陆
终止班机74710uml对象技术与可视化建模基础对象的状态Stateisaconditionorsituationduringthelifeofanobject,whichsatisfiessomecondition,performssomeactivity,orwaitsforsomeevent.Thestateofanobjectnormallychangesovertime.Name:JClarkEmployeeID:567138DateHired:July25,1991Status:TenuredDiscipline:FinanceMaximumCourseLoad:3classesName:JClarkEmployeeID:567138HireDate:07/25/1991Status:TenuredDiscipline:FinanceMaxLoad:3ProfessorClark11uml对象技术与可视化建模基础对象的行为定义当其它对象发出请求时,该对象如何反应由为对象定义的一系列操作决定班机747核对出发时间(返回9:27)机票代理12uml对象技术与可视化建模基础对象的行为Behaviordetermineshowanobjectactsandreacts.Thevisiblebehaviorofanobjectismodeledbyasetofmessagesitcanrespondto(operationsthattheobjectcanperform).ProfessorClarkProfessorClark’sbehaviorSubmitFinalGradesAcceptCourseOfferingTakeSabbaticalSetMaxLoadSubmitFinalGrades()AcceptCourseOffering()TakeSabbatical()SetMaxLoad()13uml对象技术与可视化建模基础Sample-AnObject14uml对象技术与可视化建模基础RepresentingObjectsintheUMLAnobjectisrepresentedasarectanglewithanunderlinedname.NamedObjectAnonymousObject15uml对象技术与可视化建模基础ClassAclassisadescriptionofasetofobjectsthatsharethesameattributes,operations,relationships,andsemantics.Anobjectisaninstanceofaclass.AclassisanabstractioninthatitEmphasizesrelevantcharacteristics.Suppressesothercharacteristics.16uml对象技术与可视化建模基础Sample-AClassClassEmployeePropertiesNameAddressPositionSalaryStartDateEndDateBehaviorHireFirePromoteIncreaseSalaryRetire17uml对象技术与可视化建模基础RepresentingClassesintheUMLAclassisrepresentedusingarectanglewithcompartments.属性操作18uml对象技术与可视化建模基础具有相同特征和操作的对象可以放到类中。在下面这副图中您看到了什么类?类uml对象技术与可视化建模基础对象的类您看到了几个类?uml对象技术与可视化建模基础属性属性是类的特征或特性属性的值是某一特定对象的属性值在类中属性名必须是唯一的每一个类的实例都有为这个类定义的所有属性的值银行帐户类属性帐号银行名称拥有者金额Mary的银行帐户属性值FirstNationalBankMarySmith$1024.4821uml对象技术与可视化建模基础属性取决于视点从销售人员的角度型号价格颜色里程数一辆汽车具有的属性:从维修人员的角度马达类型传动类型维修记录22uml对象技术与可视化建模基础操作对象的行为是由为此对象定义的一系列操作决定的操作访问或修改对象的属性值一个类可能同时存在多个实例,也可能在某一时刻没有实例一个类的所有实例都可以使用在这个类中定义的操作23uml对象技术与可视化建模基础类和对象对象实体类抽象数据类型计算机世界实例化抽象映射映射现实世界24uml对象技术与可视化建模基础类是生成对象的模板类是生成对象的模板类的定义中包含有产生和删除对象的操作一个类定义了使用哪种数据表示法来描述属性每一个实例都采用有属性值的数据表示法一个类通过一系列操作来定义行为这种操作能在每个实例中激活班机Flight187Flight121Flight74725uml对象技术与可视化建模基础类和对象的关系每一个对象都是某一个类的实例每一个类在某一时刻都有零个或更多的实例类是静态的;它们的存在、语义和关系在执行前就已经定义好了对象是动态的;它们在程序执行时可以被创建和删除26uml对象技术与可视化建模基础Sample-ObjectandClass现实世界中的学生对象和对Student类的建模BobJohnKateBeverlyStudent属性方法一些学生对象Student类27uml对象技术与可视化建模基础Agenda-2ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling28uml对象技术与可视化建模基础BasicPrinciplesofObjectOrientation29uml对象技术与可视化建模基础抽象
抽象(abstraction)就是过滤掉对象的一部分特性和操作,直到只剩下所需要的属性和操作。一些权威认为抽象对于建模者来说是最重要的技术,也就是说要搞清楚什么应该纳入模型中,什么应该舍去。抽取共同性例如,准备编制游戏软件,其中需要实现不同人物使用魔法的功能。每个人物具有不同的魔法,并具备使用魔法的行为,抽象得到的人物类图如:30uml对象技术与可视化建模基础Example:Abstraction一个项目的抽象依赖于定义抽象的上下文31uml对象技术与可视化建模基础封装性-EncapsulationHidesimplementationfromclients.Clientsdependoninterface.32uml对象技术与可视化建模基础封装性封装(encapsulation)是软件模块化思想的体现,也是面向对象的根本之一封装实现信息隐藏和数据抽象信息隐藏的出发点:对象的私有数据不能被外界存取,只能以合法的手段访问将数据抽象为一组行为,而不是内部的具体数据结构,把用户隔离在细节之外,从而使得软件各个部分依赖于抽象层,各模块获得自由,可以变化细节,可以替换33uml对象技术与可视化建模基础ProfessorClarkneedstobeabletoteachfourclassesinthenextsemester.SubmitFinalGrades()AcceptCourseOffering()TakeSabbatical()ProfessorClarkSetMaxLoad()Name:JClarkEmployeeID:567138HireDate:07/25/1991Status:TenuredDiscipline:FinanceMaxLoad:4SetMaxLoad(4)34uml对象技术与可视化建模基础为什么要封装结构化程序设计:程序=算法+数据结构全局数据算法算法算法算法一个大问题:如何保证数据的一致性?35uml对象技术与可视化建模基础范例:数据一致性classShippingAddress{
publiclongcityCode;
publicStringaddress;}城市代码例如:北京为01上海为02邮政地址“北京朝阳区静安里6号”操作这个数据结构的程序员,必须严格遵守一系列业务逻辑规则,否则很容易破坏数据的一致性结构化程序设计处理大项目时,多人协同开发时,本质上无法保证数据的一致性classShippingAddress{
privatelongcityCode;
privatestringaddress;
publiclongModifyAddress(Stringaddress)}36uml对象技术与可视化建模基础信息隐藏保证数据一致性通过信息隐藏:1.外围代码无法随意访问底层数据,只能以合乎规范的方式操作数据2.保证数据一致性的逻辑只需正确开发一次,便可以供所有人反复使用3.业务逻辑知识被局限起来,协同开发难度降低信息隐藏是面向对象更适应大型软件开发的根本原因之一37uml对象技术与可视化建模基础数据隐藏的实现:C文件域内的数据隐藏,粒度太粗/*本文件域的私有数据*/ staticintuse_count=0; voidfunc(intarg) { ++use_count; … }C的结构体无数据隐藏机制:
structSimpleObject_t{ intmyInteger; void(*setInteger)(int); };38uml对象技术与可视化建模基础数据隐藏的实现:C++用private访问级别关键字定义私有数据,隐藏内部数据
structSimpleObject{ private: intmyInteger; public: voidsetInteger(inti); SimpleObject(inti=0):myInteger(i){} … }使用:
SimpleObjectso(8); so.myInteger=16;//compileerror so.setInteger(16);//OKC++对于对象私有数据的隐藏,完全是靠编译器保证,而由于C++过于强大的指针运算能力,编译器很容易被欺骗,所以…39uml对象技术与可视化建模基础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}3040uml对象技术与可视化建模基础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.541uml对象技术与可视化建模基础Java中的数据隐藏soSimpleObject对象实体intmyIntegervoidsetInteger(inti)虽然so本身也是指针(在Java里叫做引用reference),但是Java没有提供任何指针运算,因此无法骗过编译器,能够完全保证私有成员数据不被非法访问。42uml对象技术与可视化建模基础模块性-ModularityBreaksupsomethingcomplexintomanageablepiecesHelpspeopleunderstandcomplexsystemsCohesion(内聚),Coupling(耦合)Class,Component,Package43uml对象技术与可视化建模基础模块化例子Forexample,breakcomplexsystemsintosmallermodules.BillingSystemCourseRegistrationSystemCourseCatalogSystemStudentManagementSystem44uml对象技术与可视化建模基础PackageAgeneralpurposemechanismfororganizingelementsintogroupsAmodelelementthatcancontainothermodelelements.Apackagecanbeused:Toorganizethemodelunderdevelopment.Asaunitofconfigurationmanagement.45uml对象技术与可视化建模基础APackageCanContainClassesThePackage,UniversityArtifacts,containsonepackageandfiveclasses46uml对象技术与可视化建模基础层次性-HierarchyAnyrankingororderingofabstractionsintoatree-likestructureTypesofHierarchy:Inheritance,AggregationShapeTwoDimensionalShapeThreeDimensionalShapeCircleSquareTriangleSphereCubeTetrahedronIncreasing
abstractionDecreasing
abstractionElementsatthesamelevelofthehierarchyshouldbeatthesamelevelofabstraction47uml对象技术与可视化建模基础Agenda-3ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling48uml对象技术与可视化建模基础GeneralizationArelationshipamongclasseswhereoneclasssharesthestructureand/orbehaviorofoneormoreclassesDefinesahierarchyofabstractionsinwhichasubclassinheritsfromoneormoresuperclassesSingleinheritanceMultipleinheritanceIsan“isakindof”relationship.49uml对象技术与可视化建模基础范例:单一继承Oneclassinheritsfromanother50uml对象技术与可视化建模基础范例:多重继承AclasscaninheritfromseveralotherclassesUsemultipleinheritanceonlywhenneededandalwayswithcaution!51uml对象技术与可视化建模基础WhatIsInherited?Asubclassinheritsitsparent’sattributes,operations,andrelationshipsAsubclassmay:Addadditionalattributes,operations,relationshipsRedefineinheritedoperations(Usecaution!)Commonattributes,operations,and/orrelationshipsareshownatthehighestapplicablelevelinthehierarchy52uml对象技术与可视化建模基础范例:继承什么?classStudent{ protectedstringname;
publicstringgetName(){…}
publicAccounttheAccount;
…
}classGraduateStudentextendsStudent{
…
}
派生类(子类)从基类(超类、父类)中派生,继承了基类中全部的public和protected数据成员和方法。所以即使GraduateStudent中没有定义getName(),也会从Student中得到getName()方法的全部实现派生类也会继承基类中的关系,因此GraduateStudent与Account也有聚合关系53uml对象技术与可视化建模基础继承的原始目的在面向对象思想发展的初期,通过继承复用代码曾经被认为是面向对象最重要的目标之一当时人们的想法是:从基类获得大部分成熟的代码,实现主要的功能,而修改必要的部分,实现特色功能很遗憾,实践中人们发现无法达成事先预期的效果54uml对象技术与可视化建模基础继承并非代码复用的最佳机制继承在代码复用方面不如其它方式灵活有效——比如函数库代码复用在今天的意义不象先前预期的那么大,原因是:代码只是细节,系统由接口定义。另外软件开发的人力资源越来越丰富,开发难度大幅降低但是继承所提供的代码复用仍然是一项重要的“福利”,应当善加利用今天继承的主要意义在于为实现多态铺平了道路55uml对象技术与可视化建模基础WhatIsPolymorphism?Theabilitytohidemanydifferentimplementationsbehindasingleinterface56uml对象技术与可视化建模基础范例:多态abstractclassShape{publicabstractvoiddraw();}classRectangleextendsShape{//覆盖(override)基类方法
publicvoiddraw(){...
/*绘制矩形*/}}classCircleextendsShape{
//覆盖(override)基类方法
publicvoiddraw(){…
/*绘制圆形*/}}57uml对象技术与可视化建模基础虚函数——多态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);}58uml对象技术与可视化建模基础应用多态性假设我们有一个数组sharr,里面放着一排Shape,但是不知道哪些是Rectangle,哪些是Circle。利用多态性,我们可以:
for(inti=0;i<sharr.length;++i){ Shapeshape=(Shape)sharr[i]; shape.draw(); }遍历整个数组的过程中,各个Shape自己知道应当如何在画布上绘制自己。shape.draw()这同一行代码在shape指向不同的对象时表现出不同的行为,这就是所谓多态性59uml对象技术与可视化建模基础Agenda-4ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling60uml对象技术与可视化建模基础WhatIsaModel?Amodelisasimplification(简化)ofreality61uml对象技术与可视化建模基础WhyModel?Modelingachievesfouraims:Helpsyoutovisualizeasystemasyouwantittobe.Permitsyoutospecifythestructureorbehaviorofasystem.Givesyouatemplatethatguidesyouinconstructingasystem.Documentsthedecisionsyouhavemade.YoubuildmodelsofcomplexsystemsbecauseyoucannotcomprehendsuchasysteminitsentiretyYoubuildmodelstobetterunderstandthesystemyouaredeveloping62uml对象技术与可视化建模基础建模的意义模型是对现实的简化,建模是为了更好地理解系统。模型帮助我们按照实际情况或需求对系统可视化;(掌握不了文字,画幅画代替)模型允许我们详细说明系统的结构、行为;模型给出了一个构造系统的模板;模型对我们作出的决策进行文档化。(先有文档,再有代码)63uml对象技术与可视化建模基础TheImportanceofModelingPaperAirplaneFighterJetLessImportantMoreImportant64uml对象技术与可视化建模基础Principle1:
TheChoiceofModelIsImportantThemodelsyoucreateprofoundlyinfluencehowaproblemisattackedandhowasolutionisshapedInsoftware,themodelsyouchoosegreatlyaffectyourworldviewEachworldviewleadstoadifferentkindofsystem65uml对象技术与可视化建模基础Principle2:
LevelsofPrecisionMayDifferEverymodelmaybeexpressedatdifferentlevelsofprecision(精度)Thebestkindsofmodelsletyouchooseyourdegreeofdetail,dependingon:WhoisviewingthemodelWhytheyneedtoviewit66uml对象技术与可视化建模基础Principle3:TheBestModelsAreConnectedtoRealityAllmodelssimplifyrealityAgoodmodelreflectspotentiallyfatalcharacteristicsThetrickistobesurethatyoursimplificationsdon’tmaskanyimportantdetails.Agoodmodelrevealsanypotentiallyfatalflawsindesign67uml对象技术与可视化建模基础Principle4:
NoSingleModelIsSufficientNosinglemodelissufficient.Everynon-trivialsystemisbestapproachedthroughasmallsetofnearlyindependentmodels.Createmodelsthatcanbebuiltandstudiedseparately,butarestillinterrelated68uml对象技术与可视化建模基础建模的原理选择创建什么模型对如何动手解决问题和如何形成解决方案有意义深远的影响。三只小猪盖房子摩天大厦每一种模型可以在不同的精度级别上表示。最好的模型可以让你根据观察的角色及原因选择它的详细程度。对每个系统最好用一组几乎独立的模型去处理。飞机模型69uml对象技术与可视化建模基础Agenda-5ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling70uml对象技术与可视化建模基础TheUMLUML—YouMustLearnUML—UnifiedModelingLanguageUML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示,它:不是一种可视化的程序设计语言,而是一种可视化的建模语言不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准不是过程,也不是方法,但允许任何一种过程和方法使用它71uml对象技术与可视化建模基础WhatIstheUML?TheUMLisalanguageforVisualizingSpecifyingConstructingDocumentingtheartifactsofasoftware-intensivesystemUnifiedModelingLanguage(统一建模语言)是对象管理组织(OMG)制定的一个通用的、可视化的建模语言标准,可以用来可视化(visualize)、描述(specify)、构造(construct)和文档化(document)软件密集型系统的各种工件(artifacts,又译制品)72uml对象技术与可视化建模基础UML是标准的符号1.用UML画图很容易摆脱符号烦恼全心面对问题2.UML仅仅是一种表达形式用好UML首先需要掌握OOAD的基本原则和方法,并在一定的软件开发过程(如统一过程UP/USDP/RUP、XP等)的指导下进行有取舍的运用但知道要画什么是困难的!73uml对象技术与可视化建模基础选择UML-1MartinFlower:如果你正在使用其它的旧技术,我强列建议您马上转用UML,因为它明显地将成为符号系统的统一标准。如果你正在考虑开始使用设计符号来工作,UML是一个好的选择,因为它已经统治业界了74uml对象技术与可视化建模基础选择UML-2UML不是万能的,很多场合并不适合使用1)传统的做法已完全适用,对OOAD的要求也不高,项目非常成功,无任何改进的必要2)开发的系统比较简单,直接用源码配上少量的文字就能解决问题,软件开发文档也无需添加图形来辅助说明3)开发人员更习惯于直接阅读源码,用源码交流,这样做不影响工作效率和质量4)开发的系统本身不属于OO方法、UML适用范围75uml对象技术与可视化建模基础选择UML-3很多情况下,推荐使用UML:1)OO方法是项目决定采用的方法论,是整个项目或产品成功的关键2)开发人员感觉用源码说明不了真正的问题,希望利用可视化建模语言简化文档,提高交流效率,准确抓住问题本质3)系统的规模和设计都比较复杂,需要用图形抽象地表达复杂的概念,增强设计的灵活性、可读性和可理解性,以便暴露深层次的设计问题,降低开发风险4)组织希望记录已成功项目、产品的公共设计方案,在开发新项目时可以参考、重用过去的设计,以节省投入,提高开发效率和整体成功率5)有必要采用一套通用的图形语言和符号体系描述组织的业务流程和软件需求,促进业务人员、软件开发人员之间一致、高效的交流76uml对象技术与可视化建模基础UML发展背景面向对象建模语言产生于1970年代中期1990年代初,建模语言数量达到50多种众多语言各有千秋,缺乏通用性语言之间的细小差别妨碍了用户的交流1990年代中期,三位主要的OO建模大师:Booch,Rumbaugh,Jacoson开始致力于建立统一建模语言的工作77uml对象技术与可视化建模基础三位面向对象大师78uml对象技术与可视化建模基础UML诞生公众反馈OOPSLA95UnifiedMethod0.8工业化标准化统一化分散的各部分
Booch93OMT-21996.6和1996.10UML0.9&0.911997.9公布UML1.1
1997.1公布UML1.0合作伙伴意见1997.11.17
UML1.1被OMG接纳为标准
Booch91OMT-1其他方法
OOSE79uml对象技术与可视化建模基础UML统一UML类(class)关联(association)泛化(generalization)聚集(aggregation)Booch类(class)使用(use)继承(inherit)组成(containing)Coad类与对象(class&object)实例连接(instanceconnection)泛化说明(Gen-Spec)部分与整体(part-whole)Jacobson对象(object)认知关联(acquaintanceassociation)继承(inherit)组成(consistsof)Odell对象类型(objecttype)关系(relationship)子类型(subtype)组成(composition)Rumbaugh类(class)关联(association)泛化(generalization)聚集(aggregation)Shlaer/Mellor对象(object)关系(relationship)子类型(subtype)无80uml对象技术与可视化建模基础Agenda-6ObjectandClassFourPrinciplesofOOGeneralizationandPolymorphismPrinciplesofVisualModelingTheUMLProcessandvisualmodeling81uml对象技术与可视化建模基础HowmuchyoucandependonUML?TheUMLisnotaprocessormethodologyobject-orientedanalysisanddesignGuidelines(指导、准则)fordesignMuchmoreimportant:Skillindesigningwithobjects.82uml对象技术与可视化建模基础ALanguageIsNotEnoughtoBuildaSystem83uml对象技术与可视化建模基础WhatIsaProcess?DefinesWho
isdoingWhat,Whentodoit,andHowtoreachacertaingoal.Neworchanged
requirementsNeworchanged
systemSoftwareEngineeringProcess84uml对象技术与可视化建模基础开发过程概述传统开发过程
——瀑布模型统一软件开发过程(RUP)85uml对象技术与可视化建模基础传统开发过程瀑布模型RequirementsAnalysisDesignImplementationTestTime86uml对象技术与可视化建模基础OOAD的开发过程大项目分解为一些子项目使用UML工具统一软件开发过程(RUP)是一个迭代、递增的开发过程87uml对象技术与可视化建模基础RUP的软件开发生命周期88uml对象技术与可视化建模基础OverviewoftheUnifiedProcessTheUnifiedProcessisIterativeandincrementalUsecasedrivenArchitecture-centric89uml对象技术与可视化建模基础OOAD的开发过程timeInceptionElaborationConstructionTransition
Inception Definethescopeoftheprojectand developbusinesscase
Elaboration Planproject,specifyfeatures,and baselinethearchitecture
Construction Buildtheproduct
Transition Transitiontheproducttoitsusers90uml对象技术与可视化建模基础MajorMilestonestimeVision
BaselineArchitectureInitialCapabilityProductReleaseInceptionElaborationConstructionTransition91uml对象技术与可视化建模基础PhasesandIterationsAniterationisasequenceofactivitieswithanestablishedplanandevaluationcriteria,resultinginanexecutablereleaseArchIteration...DevIterationDev
Iteration...TransIteration...ReleaseReleaseReleaseReleaseReleaseReleaseReleaseReleasePrelimIteration...InceptionElaborationConstructionTransition92uml对象技术与可视化建模基础IterationsandWorkflowPreliminaryIteration(s)iter.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 团队建设管理培训40
- 中原地产-拓展客户与行销技巧
- 〈〈钱塘湖春行〉课件图
- 《我要健康成长》课件
- 《展会招商的技巧》课件
- 梵高-英文课件(在文辑中配有英文演讲稿)
- 低温预制食品智能化生产项目可行性研究报告模板-备案拿地
- 工学《动能 动能定理》课件设计
- 单位人力资源管理制度品读汇编十篇
- 单位管理制度展示汇编员工管理十篇
- 【讲座】2020年福建省高职分类考试招生指导讲座
- 性格决定命运课件
- 球磨机安全检查表分析(SCL)+评价记录
- 学习会计基础工作规范课件
- 口腔医学生职业生涯规划课件
- 双面埋弧焊螺旋钢管公称外公壁厚和每米理论重量
- 富士施乐VC2265打印机使用说明SPO
- 幼儿园绘本故事:《小年兽》 课件
- 简易呼吸气囊操作最全课件
- 小班数学《香香的饼干》
- 医院工会经费使用与管理办法、制度规则
评论
0/150
提交评论