- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML7章从序列图到C
第7章 从序列图到C++ 在本章的一开始,我们会延续在前面章节里所提到的类图概念,说明序列图与类图之间的 关联性;随后介绍序列图的主要用途、常用元素以及对应的C++代码。此外,在最后一小节中, 我们还会介绍序列图的孪生兄弟—通信图。 7.1 序列图与类图的关联 类图未能提出操作的实现方法,这部分的细节设计,可通过序列图(sequence diagram ) 来呈现。虽然,我们可以从类图对应到C++程序中的类、属性、关系及操作的声明,但也仅止 于此,对于操作的实现方法,还得搭配序列图才能获得。 一般操作的实现方法,主要由下列四个部分组成。 1. 计算公式或算法—如果实现方法中,用到领域中独特的计算公式,或者是比较复杂特 殊的算法时,实践中通常会使用简单的代码或伪码(pseudo code )再搭配说明文字来记录。因 为过于细节的信息,并不适合采用图示来呈现,所以计算公式或算法无法记录在类图中,也不 适合记录在序列图中。 2. 控制流程(control flow )—实现方法中经常有各式的控制流程,例如条件控制、循环控 制。涉及到对象的流程控制,可以记录在序列图中;没有涉及到对象的部分,不会呈现在序列 图中,因为过于繁琐。在图7-1 的序列图中,使用了循环片段(loop fragment )来标记循环控制 内将调用哪几项操作。循环片段的图示采用带loop 的大方框。 3. 调用操作—对象通常通过调用其他对象的操作来达成合作目的,形成了一群对象交互的 情境,这是序列图表达的重点。所以在整张序列图中,横向的带箭头实线都代表一项调用,可 能是调用对象自身的操作,如图7-1 中的12号消息,但更多的情况是调用其他对象的公开操作。 4. 生灭对象—对象的产生与消灭也可以在序列图中表达,如图7-1 中的1~4号消息前方标记 了〈〈create 〉〉,即特别指出调用建构式,不同于调用一般的操作。 除了表达实现方法之外,更重要的是序列图还能够表达执行期间的一群对象,为了合力完 成某一个目的,调用操作的交互情况。所以,一个系统会有多张的序列图设计,每一张序列图 仅描述系统某个目的或情境下的执行期间对象的交互情况。不同于类图,由于系统只有一个内 部静态结构,所以逻辑上只有一张类图,实体上可能因为某个观点而将类图分成几张。 接着,通过下面这个案例来体验序列图7-1与类图7-2 的绝妙搭配。这个案例的执行结果如 图7-3所示,执行期间将输出如图7-4所示的一群对象,并且通过如序列图7-1 的交互,最终计算 第 7 章 从序列图到C++ 135 出该账户的总资产。 图7-1 序列图 程序清单7-1~7-9为C++ 的源代码,对应图7-1 的序列图消息序号,如下所示。 1. main.cpp中行号13—Account myAccount; 2. main.cpp 中行号14—myFund=new Fund(49.61); 3. main.cpp 中行号15—myRegularBid=new RegularBid(); 4. RegularBid.cpp 中行号7 、9和11—myItem=new BidItem(359.53); 5. main.cpp 中行号16—myRegularBid-setFund(myFund); 6. main.cpp 中行号17—myAccount.setRegularBid(myRegularBid); 7. main.cpp 中行号19—myRegularBid-getUnit(); 136 C++程序员UML实务手册 8. RegularBid.cpp 中行号23 、24—for控制流程及其中的itemObj[i]-getUnit(); 9. main.cpp 中行号20—myFund-getPrice(); 10. main.cpp中行号22—myAccount.calcAsset(); 11. Account.cpp中行号12到13—for控制流程及其中的regularBidObj[i]-calcAsset(); 12. RegularBid.cpp中行号29—getUnit() 13. RegularBid.cp
您可能关注的文档
- NOTE4-FLASH的写擦函数使用.pdf
- 2-GC3800 键盘及显示屏.pdf
- Ensite软件使用.pdf
- 营业税会计习题解答.doc
- Matlab_Simulink_接口.pdf
- 虚假司法审计报告法律应对.doc
- 装饰工程冬季施工方案和措施.doc
- OICQ通信协议及抓包示例详解.docx
- offcie2003教案.ppt
- CSS速查表.pdf
- Vado-Vírseda. Algorithmic debugging of missing answers in constraint functional-logic prog.pdf
- 2009级论文写作规范.doc
- 1.西北大学2016挑战杯复赛作品写作及打印规范(终).docx
- 2011级暑期思想政治理.ppt
- 2011电子信息工程系毕业设计指导书(new).doc
- 2015必威体育精装版法学院论文写作规范.doc
- Vol.2,No.5, November–December 1991 Université Catholique de Louvain The Topological Space.pdf
- VPROG-1-S-ZIF40;VPROG-1-S-LQFP48;VPROG-1;中文规格书,Datasheet资料.pdf
- JXUST硕士论文写作规范.doc
- XX 大学硕士论文写作规范(试行).doc
最近下载
- 一年级迎春杯数学试卷.doc VIP
- 汉语言文学专业《古代汉语》课程教学大纲 (2).pdf VIP
- 思遵高速公路SZTJ标的施工组织研究设计.doc VIP
- 思遵高速公路SZTJ-11标的施工组织设计.doc VIP
- 财信证券-基金深度报告:美国REITs梳理专题.pdf
- 绩效评估公平感对员工敬业度的影响分析.doc VIP
- 《如何写好科研论文》期末考试答案(分类好的).pdf VIP
- 2021年天津外国语大学攻读硕士学位研究生入学考试《意大利语语言文学》试题(原卷).pdf VIP
- 在线网课学习课堂《实验室安全培训(首都医大)》单元测试考核答案.docx VIP
- 《小小营养师》幼儿园大班健康PPT课件.ppt VIP
文档评论(0)