




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6
冰 引引OOP
什么是结构
OOPProcess (JeanPiaget, 年月 结构是由种种转换规律组成的体系.结构就是由具有整体性的若干转换规律组成的一个有自身调整性质的体系。 结构的三个特整体性:一个结构有若干成分组成,并且整体有部分不具有的特代数结类的类属面向对象系统的转换具有转换规律和法则,如运结构的守恒和封闭性,一个结构所固有的各种转换不会越出结构的边界之外
母结
OOPProcess。 。数学结构 而对对象本身究竟是数、是形、是函数还是运算并不关 代数结 序结格 拓扑结图oe提提OOP
.5对象与
OOP
1.11.2 1.41.5 1.6概念与表示
OOPProcess公理体
OOPProcess在类的公理体系中,有一些基本的概念是不加定义的,我们只能从其客观含义上给数学中研究的任何一个客体(对象)都称为一个类。类的概念是没有任何限制。类 为AB。另一个不加定义的概念就是:类总是具有一定的性质,我们常以P(x)表示类x具有性类的外延公
OOPProcess 公理Ⅰ(外延公理 以定义: 类的内
OOPProcess一般地说,类中的元素总是具有某种共同的性质的,这就一个类的所有元素所共同具有的、而且是这个类的元素所独有的性质(也就是说不是该类的元素就不具有该性质)称为类的内涵与外延之间存在着直观的“反比关系”:类的内悖悖OOP
设性质P(x)表示 ;其次, Accordingto ysisandDesignwith
OOP
OOP
setColor(String
+size:Area=(100,100)#visibility: +size:Area=(100,100)#visibility:Boolean=true+default-size: um-size:+display+hide+create-cancel()change(newDate:matchtoavailableinvalidcreditsize:Areadisplay()hide()
oe识别对象与类的方
OOP
研究用户需求,明确系统责 研究问题 考虑系统边 考虑系统责 名词技 卡 Peter的四色类研究用户需求,明确系统责
OOP
记录、整理:产生需求文档(补充用况图如果建立了用况图,那么跳过研究问题
OOP
考虑系统边界(参与者
OOP
考虑系统责
OOPProcess名词技
OOP
设备、事件(如索赔、、交易)、表格、日志、报告、优缺
OOP
优 缺软件CRC卡片(类/责任/协作
OOP
RebeccaWirfs-Brock发方法举例 软件系统的CRC
OOPProcess 的管理员来操作。每条供电线路安装一个线路检测仪,每30 1次该线路的信 小时的数据,系统接受后,保存在系统中 管理员登陆系统后,可进行如下几项工作 ①线路基本信息录入:录入每条线路的基本信息,包括线路号、位置等等 印出来 OOOOP
登线路基本登线路基本信息录管理搜集采样信CRC卡线路信
CRC
CRCCRC…
…
CRC 信
优缺
OOP
Booch对识别类的方法总
OOP
经典方Ross:人地点物组织概念事Coad&Yourdon:结构外部系统设备事件用户角色位置组织机构单 行为分责功 Usecase role,place,role,place,thing,party,catolog,与筛
OOP
1与筛
OOP
2.精简对象
OOOOP
3.与实现条件有关的对象, 段考虑专门为它们增加一些对象,既把它们推设计与图形用户界面(GUI)系统、数据管理系统、硬 OOOOP
4.在问题域中名词不总是类或对象对讨论需求是重要通常用几个不同的名词或名词短语描述同样的事
OOP
从需求考虑系统的执行情(唯一考虑系统边如果一个交互是由参与者发起的第一个处理该交互的对象是主动对
OOP
适合该类及其特殊类的全部对象实反 而不是群书-书籍;船-船使用名词,避免无意义的符使用问题域通用、规范的建立类图的对象
OOP
填写类描述模若发现新的属性与服务、关系,可以随时加到类符号中例题:习题管理系
OOP
题库中选择的题目练习.教师可以通过系统检查作业,学生班班OOPProcess习习题解学 习题答习题答oe识别属
OOP
2.42.5属 2.6概念与表示
OOP
–类属性:是描述类的所有对象共同特征的一个数属性的表示
OOP
类范围的属性与实例范围的属性通过在类范围属性名和类型表达式画下划线的方式表示类范围的属 属性可具有初始值和可见可见性的值可为中描述它们。可见性的值可为+(公有的)、(公有的)#(受保护的)或(受保护的) (私有的
+size:Area=(100,100)#visibility:Boolean=true+default-size:#um-size:+display+hide+create-displaydisplay()hide()size:visibility:属性的特
OOP
ShlaerMellor(1992)提出,RichardC.Lee增特征0:属性必须捕获与其对象所在的语义域相一致的特??特征1:任何时间一个实例为其每一个属性都精确地给出一特征2:不能包含内部的结构
OOOOP
特征3:属性必须是整个实体的特征特征4:对象的属性必须与该对象相关特征5:对象的属性值不能是与其有关的对象的值以其关系的oe识别服
OOP
3.13.2 3.43.5服 3.6概念与表示
OOPProcess操作:是类的行为特征,用于描述为 相关行为的名称、类型、参数与约束作集合(算法、过程) OOOOP
对象行为分例:创建、删除 、转例:读、写属性计算表示
OOP
display()hide()size:Areadisplay()hide()size:Area +size:Area=#visibility:Boolean=+default-size: um-size:+display+hide+create-识别服
OOP
OOA不考虑算法简单服 考虑算法复杂的服 操作)定义服务的策略与启
OOP
有哪些功能要求对象在问题域对应的事物有哪些行在每种状态下对象可能发生什么行为?对象状态的转换,是由哪些服务引起的模拟服务的执行,并在整个系统 与调
OOP
对象的每个服是否直接提供系统责任所要求的某项功能响应其它服务的请求间接地完成这种功能的某些局部一个服务只完成一项单一的、完整的功认识对象的主动行 与参与者交互的对象服 完成最外层功能的对象服务外层与内层是请求与被请求的 服务执行路线逆向追踪找到了主动服务就等于找到了主动对
OOP
服 名和定
OOP
命名:动词或动宾结构;外向 定位描述服
OOP
把每个对象的服务都填写到相应的类符号中 •班oe定义关
OOP
4.44.5泛一般只要有这些特特殊一般只要有这些特特殊特殊类的特必须有这些特
OOP
OOOOPProcess OOOOP
称,但并不是所有的人都是雇 b.传递如果对象A“是一个”对象B,对象B“是一个”对象C, 在A模型中建立泛化,是为了使系统模型更清晰地映射问题域中事物的分类关系。它把具有泛化关系的类组织在一起,可以简化我们对复杂系统的认识,从而增加了软件的可性和适应变化的灵活性基本表
OOPProcess 深入表示
OOP
SeparateTarget
..
Discriminator(区分器SharedTarget..
ct-Oriented泛化集泛化集名
泛化集名 泛化集名
泛化集名 泛化集名化集名化集名泛化集名人人人人人人泛化集
OOP
AA
a1a1b1c1a2b2c2a3b3c3 A2
泛化集的约
OOP
{complete, plete, {complete, plete, 默认 plete,OOP
人人 人 plete,
OOOOP
metaOMGUnifiedModelingLanguageTM(OMGUML),识别泛
OOP
OOP
IsAA是一个B,B是一个思考
OOP
学博士博博士在站博士出站博士教人人学教博博士博士在站士出站士人—有时有时有时有时有时有时有时—教总有时—有时有时有时有时有时博总有时有时—从不有时有时有时博士总总有时从不—从不从不从不博士总有时有时总从不—有时有时在站士总总总总从不总—从不出站士总从有时总从不总从不— OOOOP
公公司人工
OOPProcess OOOOPProcess公司人职战斗战斗飞行速飞战飞飞行飞 飞行速飞行速战斗
OOOOPProcess 飞飞战4 与调 问题域与系统责任是否需要这样的分类 是否符合分类学 是否构成了继承关系?(确实继承了一些属性或服务
OOOOP
一般-特殊结构的简
OOP
(2)(2)增加属性简化一般-特殊结OOPProcess(3)取消用途单一的一般类,减少继层
有两个或两个上需要用它创建对象实有助于软件复
OOPProcess5、调整对象层和特征
OOPProcessoe识别关
OOP
OOP
关联描述 类的实例的元组的集合 OOOOPProcessTom:Tom:Jack:Marry:
OOP
AB
OOOOP
的非负正整数的范围,也即它等价于0..*OOPProcess OO
类
OOP
人人 0..10..10.. 1..*0.. OOOOP
如果使用角色名,就可以省略关联与其他类的一个实例相关联的实例的数量 OO举 OOP 球 人
思考鸡生蛋,蛋生
▲孵▲孵OOP
鸡鸡1▲ ▲ 产生孵1鸡▲▲A▲
下列哪幅图最能精确描
OOP
人 人人人
▲ ▲ OOOOP
双向的导航不必画箭
UML2.0中对导航性的表
OOPProcessoe关联的类
OOP
关联
OOPProcess 如果一个类的一个属性可以同时有多个值,就考虑使用关联类例如,一个人的薪水OOPProcess关联类到二元关联的转
OOP
限定关联
** 人 人人人
限定关联
OOP
OOOOP
棋棋坐演 格票格票异或关
OOP
公帐个有序关
OOPProcess客 保险合建立关联的策
OOP
考虑问题域和系统责任——哪些类的对象实例之间的关系需要在系统中表达 多对多关联的问
OOP
多对多的表的信息是冗余两个多对多关系转化为不符合第四范式的降低多对多关联的多重
OOP
用关系数据库实现为先筛选后连切断多对多从问题域中寻找新的中间类,它与双方都构成1对多关若问题域中找不到相应的类,可构想一降低多对多关联的多重
OOPProcess OOOOPProcess 单
OOPProcess
OOPProcessoe分析模
OOP
MartinAccountability责任(partyOrganizationHierarchiesOrganizationstructure…)ObservationandMeasurementsRederringtoObjects…分析模
OOP
**11 11**1 1*分析模
OrganizationHierarchies(组织层次
OOP
11111*****结构
OOP
ty
OOP
BloodglucoseBloodglucoselevel:Number+-Conversion
OOPProcess Compound
OOP
UnitCompoudUnitCompoudAtomic1
1
Measurement测
OOP
11
1Observation
OOP
1
1
oe聚
概念与表示
OOPProcess 聚合(aggregation)是关联的一种特殊形式,表示整体和部分之间的“整体-部分”关系 (aggregate)是聚合关系中作为“整体”的类,而把作为“部分”的类称为成分或部 类与类之间的聚合关系指的是,一个类的对象实例,以另一个类的对象实例作为其组成部分,是种“apartof”或“has”;也可理解为,一个类定义 另一个类定义。 组合对象是组合类的实例表示
OOPProcess性性OOP
部分必须与它们所构建的整体有某些结构上或功能上的关 称b.传递人灵游人灵游
OOP
游人人 A人人 MartinFowler:AggregationAnd
OOP
FewthingsintheUMLcausemoreconsternationthanaggregationandcomposition,inparticularhowtheyvaryfromregularassociation. Thefullstoryismuddiedbyhistory.Inthepre-UMLmethodstherewasacommonnotionofdefiningsomeformofpart-wholerelationships.Thetroublewasthateachmethoddefineddifferentsemanticsfortheserelationships(althoughtobefair,someofthesewereprettysemanticsfree). Sowhenthetimecametostandardize,lotsofpeoplewantedpart-wholerelationships,buttheycouldn'tagreeonwhattheymeant.SotheUMLdefinersintroducedtwo aggregation(whitediamond)hasnosemanticsbeyondthatofaregularassociation.Itis,asJimRumbaughputsit,amodelingplacebo.Peoplecan,anddo,useit-buttherearenostandardmeaningsforit.Soifyouseeit,youshouldinquireastowhattheauthormeansbyit.Iwouldadvisenotusingityourselfwithoutsomeformofexplanation. composition(blackdiamond)doescarrysemantics.Themostparticularisthatanobjectcanonlybethepartofonecompositionrelationship.Soevenifbothwindowsandpanelscanhold -bars,anyinstanceof -barmustbeonlyheldbyonewhole.Thisisn'taconstraintthatyoucaneasilyexpresswiththeregularmultiplicitymarkers.分分OOP
MortonWinston构造性:整体部分之间存是否存在功能或结构上的关同质性:整体部分之间的类型是否相不变性:整体部分之间的是否不可分离 根据性质的不同可将整体部分关系分为以下几类名不变定举组装-部∨××材料-对××∨部分失去它们的标划分-对×∨×整体与同质部分的组地点-地×∨∨集合-成×∨有成员间有序排本-人名,月计划表-日划×××成员-合∨×∨具有不变性的容器-容舞伴,相声搭档识别策
OOP
与筛
OOP
例:汽车与轮胎(规格例:学生与课程,谁是整体?部分oe依
OOPProcess access ;derive--派生;import--移入;refine精 include–包含;extend—扩表示
OOP
不同类型的依
OOP
ClassCcombinestwologicalClassCcombinestwologicalclasses不同类型的依
OOPProcess Dependencyrelationshipisusedtoshowthatsomeelementorasetofelementsdependsonothermodelelement(s),andonclassdiagramsisusuallyrepresentedbyusagedependencyor Ausageisadependencyrelationshipinwhichoneelement(client)requiresanotherelement(orsetofelements)( r)foritsfullimplementationoroperation. Theusagedependencydoesnotspecifyhowtheclientusesthe rotherthanthefactthattherisusedbythedefinitionorimplementationoftheclient.Forexample,itcouldmeanthatsomemethod(s)withina(client)classusesobjects(e.g.parameters)oftheanother r) Ausagedependencyisshownasadependencywitha«use»keywordattachedto Createisausagedependencydenotingthattheclientclassifiercreatesinstancesof classifier.Itisdenotedwiththestandardstereotype Callisausagedependencythatspecifiesthatthesourceoperationinvokesthetargetoperation.Thisdependencymayconnectasourceoperationtoanytargetoperationthatiswithinthescopeincluding,notlimitedto,operationsoftheenclosingclassifierandoperationsofothervisible Sendisausagedependencywhosesourceisanoperationandwhosetargetissignal,specifyingthatthesourcesendsthetarget不同类型的依
OOPProcess ionisadependencyrelationshipwhichrelatestwoelementsorsetsofelements(calledclientand r)representingthesameconceptbutatdifferentlevelsof ionorfromdifferentviewpoints. Realizationisaspecialized ionrelationshipbetweentwosetsofmodelelements,onerepresentingaspecification(the r)andtheotherrepresentsanimplementationofthelatter(theclient). InterfacerealizationisaspecializedrealizationrelationshipbetweenaClassifierandanInterface.Thisrelationshipsignifiesthattherealizingclassifierconformstothecontractspecifiedbythe接口与实
OOPProcess Aninterfaceisaclassifierthatdeclaresofasetofcoherentpublicfeaturesand Aninterfacespecifiesa Anyinstanceofaclassifierthatrealizes(implements)theinterfacemustfulfillthatcontractandthusprovidesservicesdescribedbycontract.Theobligationsthatmaybeassociatedwithaninterfaceareintheformofvariouskindsofconstraints(suchaspre-andpostconditions)orprotocolspecifications,whichmayimposeorderingrestrictionsoninteractionsthroughtheinterface.oe OOOOP
是面向对象的一实现多继 接口与
OOP
InUML1.4interfacewasformallyequivalenttoanclasswithnoattributesandnomethodsandonly Sinceinterfacesaredeclarations,theyarenotinstantiable.Instead,aninterfacespecificationisimplementedbyaninstanceofaninstantiableclassifier,whichmeansthattheinstantiableclassifierpresentsapublicfacadethatconformstotheinterface Anygivenclassifiermayimplementmorethanoneinterface.Interfacemaybeimplementedbyanumberofdifferentclassifiers.-storeId:-POSlist:+login(UserName,-storeId:-POSlist:+login(UserName,
OOP
接口的表示(完全
OOP
-storeId:-POSlist:+login(UserName,
OOPProcessMacMacMacUML2.0需接口与供接
OOPProcess例题:题库管理系
11
*认课教师
班 1
*
* *
模板类与绑
OOP
UMLclassescouldbetemplatedor Theexamplebelowshowstemplatecla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东莞美容院加盟合同范本
- 个人房产与中介合同范本
- 先拿货后付款合同范例
- 2024年吴忠市人民医院自主招聘事业单位工作人员考试真题
- 加盟授权合同范例范例
- 农村空地出售合同范本
- 2024年曲靖六十九医院人才招聘考试真题
- 以资抵债合同范本
- 2024年广州市天河区体育西路小学聘用制专任教师招聘考试真题
- 创意园厂房合同范例
- 2025年企业法务顾问聘用协议范本
- 无菌手术台铺置的细节管理
- 《康复评定技术》课件-第五章 运动控制
- 议论文8(试题+审题+范文+点评+素材)-2025年高考语文写作复习
- 【理特咨询】2024生成式人工智能GenAI在生物医药大健康行业应用进展报告
- 2025新人教版英语七年级下单词默写表(小学部分)
- 2025年春新外研版(三起)英语三年级下册课件 Unit6第1课时Startup
- 2025江苏苏州高新区狮山商务创新区下属国企业招聘9人高频重点提升(共500题)附带答案详解
- 《蒙牛集团实施财务共享过程中存在的问题及优化建议探析》8800字(论文)
- 平抛运动的经典例题
- 录井作业现场风险评估及控制措施
评论
0/150
提交评论