社区
工具平台和程序库
帖子详情
有了解UML图的吗,来指导一下
Waiting4you
2011-03-31 11:35:34
最近在学UML,正尝试着用UML画一些类图。
不过貌似C++里很多东西它表示不了,不知道是不是在下还不完全了解UML。目前遇到下面的几个问题。
1.怎样表示数组?类成员是个数组,函数输入参数是数组(象main函数的argv)
2.怎样表示引用?比如这样的方法: void func( int& arg);
3.怎样表示typedef?
先谢谢楼下,回帖有分
...全文
296
8
打赏
收藏
有了解UML图的吗,来指导一下
最近在学UML,正尝试着用UML画一些类图。 不过貌似C++里很多东西它表示不了,不知道是不是在下还不完全了解UML。目前遇到下面的几个问题。 1.怎样表示数组?类成员是个数组,函数输入参数是数组(象main函数的argv) 2.怎样表示引用?比如这样的方法: void func( int& arg); 3.怎样表示typedef? 先谢谢楼下,回帖有分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
中的主要
图
表类型,包括模型符号、关系
图
、类
图
、对象
图
、包
图
、用例
图
、交互
图
、活动
图
、状态机
图
、构件
图
、部署
图
以及不同类型的建模实例分析。 实验项目一,重点在于
了解
...
uml
统一建模实验
指导
书.pdf
实验中
指导
了学生如何使用Rational Rose 2003绘制交互
图
,并
了解
交互
图
的基本元素和notation。 * 交互
图
是
UML
中的一个重要概念,它描述了系统的交互过程。 * 交互
图
包括三个基本元素:lifeline、message和combined ...
UML
项目
指导
(
UML
实用
指导
文件)
通过以上知识点的学习,我们可以
了解
到
UML
作为一种强大的建模工具,不仅有助于软件开发项目的规划和管理,还能有效提高需求定义的准确性和软件开发的效率。
UML
China提供的这份实用
指导
文件覆盖了从需求分析到业务...
spring源码
UML
图
《Spring框架源码分析——基于
UML
图
的解读》 在深入探讨Spring框架源码之前,我们首先要理解什么是
UML
(统一建模语言)。
UML
是一种标准的
图
形化建模语言,用于软件设计和系统分析,它通过
图
表来表示系统的结构、...
12计本《新生报到注册系统的
UML
建模》实习
指导
书
这不仅需要学生
了解
UML
中的用例
图
和活动
图
,更需要其具备一定的业务分析能力,从而能够准确捕捉和表达用户需求。 在进行架构建模时,学生将基于用例模型来设计状态
图
、类
图
和交互
图
,以描绘系统内部结构和行为。这...
工具平台和程序库
24,856
社区成员
27,329
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章