讨论一下rational rose 的逆向工程
讨论一下rational rose 的逆向工程
楼主chasehome(chase)2004-03-25 13:16:07 在 软件工程/管理 / Rational 提问 近来通过Rose自带帮助进行学习,碰到关于头文件类型的问题(Type 1 - Type 3)
Type 1: context insensitive
Type 2: context sensitive, analysis results can be re-used within the project
Type 3: context sensitive, must be re-analyzed at each encounter
通过尝试,已了解Type1和Type2,特向大家请教Type3作何解,怎样体现在实际应用中?
你们在进行逆向工程分析时,是整样实现的?在工作中可能会经常碰到陌生的代码,你
们有没有一个快捷、简便的方法来了解设计者的思路和代码的结构? 问题点数:100、回复次数:12Top
1 楼101monster(毛毛虫)回复于 2004-03-25 13:29:12 得分 10
呵呵,UP!Top
2 楼chasehome(chase)回复于 2004-03-25 20:10:55 得分 0
我自己顶,看来论坛上的人在这块钻的不太多!Top
3 楼leilu(Java)回复于 2004-03-26 08:24:41 得分 10
对于这些我还没有搞清楚的.Top
4 楼chasehome(chase)回复于 2004-04-06 12:38:43 得分 0
看来我这么多可用分散不掉了,高手呢?专家呢?Top
5 楼dearmite(笨笨的我*_^)回复于 2004-04-06 14:24:54 得分 20
你应该到RAtional小版中去问
再说,你的问题,我搞不情,
我是搞JAVA的,
当然只会ROSE反向JAVA的工程,
把jar class java的文件,都可以反向过来,
反向过来后,上面自动有类的相互关系,
所以,一看,当然就知道思路了
反向工程后,只有图,代码怪不怪,好象和ROSE没有关系
我想,ROSE反向你的C,它也只是分析。H的文件就都可以了吧,
分析。C的文件,好象对ROSE来说没有意义
因为引用的关系全在。H的文件中Top
6 楼windmagin()回复于 2004-04-07 10:33:52 得分 10
对c的反向是要2个文件的。明白?Top
7 楼dearmite(笨笨的我*_^)回复于 2004-04-07 10:46:02 得分 10
知道,
没吃过猪肉,还见过猪走路
如果不用两个文件,那么正向的时候,
ROSE 不一下子晕了Top
8 楼chasehome(chase)回复于 2004-04-07 13:13:02 得分 0
我在逆向工程时,发现对于大多数工程来说,只要Type1-Type2就足够了,
提出此问题的目的是探讨Type3的实际应用。
发现了一个有趣的问题:结构体不能正常自动生成正确的代码!Top
9 楼chasehome(chase)回复于 2004-04-07 13:14:43 得分 0
对c的反向是要2个文件的。明白?
不明白你说的是那两个文件,我的工程中有n个文件
Top
10 楼dearmite(笨笨的我*_^)回复于 2004-04-07 14:46:43 得分 20
楼主,可能对ROSE太过于相信了,
ROSE只能识别ANSI C++ ()
至于哪 一年的标准,就不知道了,
但是,
无论MS,还是BORLAND,都对C++ 做了很大的语言扩充,
MS,的VC ++还好一些,其实也扩了很多(网上好象说MS的更不标准一些吧)
而C++BUILDER 那能叫C++语言么??
只能叫 OBJECT PASCAL的C++版本吧??
那关于消息的自定义语言,真不是UML的简化的思想
我在学习JAVA以前,
也曾使用过VC++开发,
但是,ROSE如何对VC++的工程,反向
我一直没搞定,(汗)
C语言本身也和UML思想不符,
一个是想灵活,一个是想标准,
这倒让我想起,
.net 还在使用STRUCT ,
因为这种类的声明是在栈中分配内存的,效率之高,绝不是一点半点
但是JAVA则不是,
宁可所有的类都在堆中分配,也不对CLASS 做一点扩充,
而C++一会钩子,一会回调,自定义消息影射 模板等
极尽计算机语言之大成
呵呵,
这怎么可能是UML的发明者的本意呀,
上面乱弹一气,楼主见谅
PS: 如果一定为使用UML来理解C++的代码 ,
还是等BORLAND的together吧,
呵呵,人家现在就有for .net 的了,
可能以后还会有for VC++的呢,
Top
11 楼chasehome(chase)回复于 2004-04-19 12:52:06 得分 0
有点不太赞成楼上的说法,UML作为一种建模语言,主要在于模型生成,
模型转化为代码(当然不能全部转化),不但能与ANSI C++,还能与vb,
java,vc等开发工具进行逆向工程,远远超出开发语言的限制,我就用
rational rose 逆向出来我们公司的部分软件的模型!.net vc++的MFC
不适合软件跨平台运行,诸多不便,况且现在人们不是力推linux,Solaris
等操作系统吗?请问你能用.net、MFC能编写出跨平台的软件吗?Top
12 楼fangtian(Tian)回复于 2004-07-02 18:17:25 得分 20
.net的目的都不是跨平台。所以不必介意啊
.net是想让更多不同语言上的开发人员为windows开发软件,而不是让windows上的软件能在其他平台上跑。呵呵~根本和java是不同的立足点。Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
