工具网址:https://rm2pt.mydreamy.net/
写在前面:用到这个东西呢是老师布置的作业,在会议上看到的工具,就让我们直接去用。这东西真他妈神了,除了两个介绍视频,连他妈说明文档都没有,我佛了。作者的github这两天被我们疯狂骚扰,dbqdbqdbq。不过话说回来,通过需求模型能直接生成原型代码,这个工具还是很有意义的。虽然有一些逻辑错误,以及一些部分与我们课程所学有出入...
废话不多讲,开始介绍。这东西其实是基于eclipse来写的,整个工具界面以及项目布局都是一样的,包括生成的代码也是java。
工具就长的这个样子。基本的项目导入和运行我就不说了啊,官方网站里都有。那我们来看一下需求模型这一块。这个东西写好代码呢可以直接生成需求模型的图,之后对图进行改动也会自动在代码里改动。那么我们对照代码(remodel文件)和图片来看一下需求模型。对照的这个例子是官方的ATM系统例子。
首先是概念类图,也就是我们常说的领域模型。
对应代码里面是每个实体,实体里面定义了属性、约束以及与其他实体的联系。
本人比较懒,就不把全部实体的代码贴上来了,各位可以对照图片体会一下。
然后是用例图。这个对照代码,还是挺好观察的。
顺便说一句,图片自己修改,可以通过旁边的素材板。
下面看看顺序图。这个代码,他妈的我都不想说话...
这根本不是在写代码,这是在写诗。
那么这个工具的需求模型有一个独特的地方,叫做服务图,服务图会对操作进行定义。
可以看到,每个服务定义了操作和临时属性。
那么还有操作契约,没有生成可视化效果,但是在代码中有所体现。它直接关系到原型生成后的运行逻辑。
可以看到代码中,definition定义了需要进行操作的实体,precondition和postcondition应该就不用我多解释了。
最后原型运行出来就是这个样子(原型的运行方法也在官方网站中)
接下来我自己尝试写了一下12306的需求模型,不过生成原型之后运行不正确(谁叫这玩意连说明文档都咩有!)。下面说一下我踩到的坑。
1、这个东西你要是想自己在本地创建一个项目的话多半是跑不通(也可能是我创建项目的姿势不对)。因为在每个跑的通的样例中都有一个MainTest.java文件
就是这货。然而在编译remodel文件生成代码的时候不会生成这玩意...
2、自己写完remodel文件之后,想看到图还是挺麻烦的一个过程...
需要在remodel所在的文件夹中新建一个arid文件(New->Other)
之后选这个representations file
选中第二项,next
选到对应的remodel文件,finish,完事你就能看图了。
3、这个工具中,编写代码的时候,就算是不同用例,方法也不能重名,否则就会报错。
4、实体中的属性开头必须是大写字母,否则也会报错
5、未完待续,因为我自己的例子还没跑通......
总的来说,这个工具的出发点是好的,但是充斥着太多小问题,而且没!有!说!明!文!档!(怨念)后面我也不知道该说什么了,给大家拜个早年吧。反正一段时间之内我是不会碰这玩意了...