社区
工具平台和程序库
帖子详情
有了解UML图的吗,来指导一下
Waiting4you
2011-03-31 11:35:34
最近在学UML,正尝试着用UML画一些类图。
不过貌似C++里很多东西它表示不了,不知道是不是在下还不完全了解UML。目前遇到下面的几个问题。
1.怎样表示数组?类成员是个数组,函数输入参数是数组(象main函数的argv)
2.怎样表示引用?比如这样的方法: void func( int& arg);
3.怎样表示typedef?
先谢谢楼下,回帖有分
...全文
283
8
打赏
收藏
有了解UML图的吗,来指导一下
最近在学UML,正尝试着用UML画一些类图。 不过貌似C++里很多东西它表示不了,不知道是不是在下还不完全了解UML。目前遇到下面的几个问题。 1.怎样表示数组?类成员是个数组,函数输入参数是数组(象main函数的argv) 2.怎样表示引用?比如这样的方法: void func( int& arg); 3.怎样表示typedef? 先谢谢楼下,回帖有分
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Waiting4you
2011-04-01
打赏
举报
回复
了解,用UML只能弄个大概,做一些概念性的东西,呵呵。
结贴~~
luciferisnotsatan
2011-03-31
打赏
举报
回复
UML图不是精确的语言的。&引用,typedef这种应该没对应的。
pathuang68
2011-03-31
打赏
举报
回复
[Quote=引用 6 楼 waiting4you 的回复:]
楼上说得不错,可以加深对UML的理解。
我用的UMLStar可以用UML图直接导出.h和.cpp文件。我的类里有成员是数组,我现在知道可以用聚合表示数组元素是类的一个组成部分,以及0..*的关系。但生成的文件根本不管这些,木有数组的说~~
[/Quote]
关于用UML图做正向工程(即从UML图生成code)的问题,这个要慎用,就本人而言,我从来没有用过。reverse engineering偶尔用过几次,也不常用。
请参考:
《UML正日薄西山的13个理由》读后感
这是我在网上读了《UML正日薄西山的13个理由》(一外国人写的)后的感想,其中的观点仅供楼主参考,并欢迎指正。
Waiting4you
2011-03-31
打赏
举报
回复
楼上说得不错,可以加深对UML的理解。
我用的UMLStar可以用UML图直接导出.h和.cpp文件。我的类里有成员是数组,我现在知道可以用聚合表示数组元素是类的一个组成部分,以及0..*的关系。但生成的文件根本不管这些,木有数组的说~~
pathuang68
2011-03-31
打赏
举报
回复
[Quote=引用楼主 waiting4you 的回复:]
最近在学UML,正尝试着用UML画一些类图。
不过貌似C++里很多东西它表示不了,不知道是不是在下还不完全了解UML。目前遇到下面的几个问题。
1.怎样表示数组?类成员是个数组,函数输入参数是数组(象main函数的argv)
2.怎样表示引用?比如这样的方法: void func( int& arg);
3.怎样表示typedef?
先谢谢楼下,回帖有分
[/Quote]
楼主学UML的思路不对,看来是被人误导了。
UML最主要的其实就是3个东西:事物、关系和图。这就是所谓的UML的Building blocks,在这个层面之上,包括building blocks在内,一共也有3个重要的分类,比如包括扩展机制这样的东西。只不过building blocks太重要了,其它两个不太常用,所以很多人把它作为开始点来学习UML的。
事物分了4个小分类,其中最总要的就是结构事物,结构事物中又包括7、8个东东,比如类、主动类...
关系主要就是4个关系:依赖、关联、泛化和实现
图有9个图,比如类图...。这些图中有些事描述静态结构的,比如类图,有些事描述动态行为的,比如顺序图。
首先,你需要把这些UML中的主要元素,包括他们的图形表示都记住了(不管用什么方法,甚至开始需要点死记硬背),了解它们的基本概念和各自的用途,然后用相关的UML工具进行实验。
需要说明的是,UML有一些概念不太好区别,比如class(类)和classifier(类元)很多人就搞不太清楚,如果概念不清楚,看书看起来那是相当费劲的。所以在概念方面,那是绝对不能留下任何理解上的死区。
充分了解了UML后,你就不会提出上面那样的问题了。事实上,除typedef这个在UML没有办法在UML直接表示外,前面两个都不是问题,问题是typedef这样的东西有必要出现在UML里面吗?
很显然,UML不是精确的变成语言,它只是一个建模语言,尽管有很open的扩展机制,也就是说就算typedef这样的,也可以通过自定义的扩展机制来实现,但是,个人认为这是非常没有必要的。
所以,我们不能指望UML能有C++语言里面的很多东西。UML是游离于具体编程语言(C++, Java, C#)之外的、可扩展的建模语言。正像我们不能指望用TCP/IP协议写图形界面一样,万事万物,各有其用,但没有一样事物是万能的。
学习UML最权威的书:
GoF写的《UML 用户指南》,英文版的国内也应该可以买到。
上面那本书比较厚,另外有一本很薄,但写得非常好的书《UML distilled》。
quwei197874
2011-03-31
打赏
举报
回复
uml是用来设计分析的,不必表示这么细,最多在类图中标上函数原形就可以.
Waiting4you
2011-03-31
打赏
举报
回复
按理说应该可以才对,不然UML被吹得这么牛~~
uml
实验
指导
书
详细的实验
指导
uml
/visio
指导
各个
图
的
图
例
uml
统一建模实验
指导
书.pdf
uml
统一建模实验
指导
书.pdf
UML
项目
指导
(
UML
实用
指导
文件)
UML
China
UML
经典
指导
,对学习
UML
很有帮助,实用性很强。
spring源码
UML
图
使用Enterprise Architect打开
12计本《新生报到注册系统的
UML
建模》实习
指导
书
1、进一步理解
UML
语言的概念、结构、语义与表示方法; 2、综合运用
UML
和其它先修课程的理论和知识,掌握面向对象的软件建模与分析的一般方法、常用技术及技巧,树立良好的软件建模思想,培养分析问题和解决实际问题的能力; 3、学会使用Rational Rose(Visio)开发工具,运用
UML
建模思想及方法,对各类应用系统进行建模实现。 4、掌握系统模型建立方法 5、掌握系统需求分析报告书写方法 6、掌握详细的系统设计报告书写方法 7、掌握系统测试方案书写方法 8、加深对软件工程、数据库设计、.NET(Java)、
UML
建模等课程的理解。 9、充分利用互联网资源,提高学生获取知识,研究知识,实践知识的能力。
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章