分享
 
 
 

共用一种语言说话

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

正文

共用一种语言说话

UML用来已经小一年了,期间真正使用的不错的项目也许没有。我总是感觉哪里做的不对,下一次会做的更好。但是也总算有了一些实践的经历。写出来大家讨论一下吧。

为什么使用UML就不用多说了,标题“共用一种语言说话”就是原因,客户、需求、系统分析、程序员、测试以及所有的与项目相关的人必须有一个约定的标准,使得大家在交流过程中不会出现屏障。

就我来看,UML建模体系和网络的OSI的7层结构有着非常的类似。(很怪的想法吗?我不觉得,我的脑子就这样,学习多线程时会想到项目管理J)我们知道OSI的7层结构是现在网络的标准,所有的基于网络的软件、硬件都是以它为准的。这样做的好处是对于异构的软硬件可以通过各层之间的转换,实现互相通信。UML也是一样,用UML工具ROSE可以建立在软件开发过程中的各种模型,适用于不同的层次,并且各层次之间又相互的联系。不过这里的层次需要理解成为客户、设计人员、实现人员等等,各层之间的语言习惯不同,对系统的理解不同,要求不同因此必须要用UML这个符号进行沟通,因为UML提供了整个系统开发过程中所需的适合各种不同层次交流的描述方法。

下面是我的一点体会,可能理解有误,但还是记录下来,毕竟已经从“盲人摸象”(初学UML写的一篇小文)进了一步。如果学习一件事物一帆风顺,除非是个心窍透亮的人,否则必定会有偏差。学习的乐趣也往往来源于窗户纸被捅破的那种醍醐灌顶的感觉。

我们来看,通常一个项目开始时需要客户和项目管理员用Use Case框图可以取得系统的高级视图,确定系统的边界。此时只需要定义系统的角色和用例,这时的用例的粒度可以比较的粗。只需要和客户就系统的主要功能达成共识即可。

项目管理人员用Use Case框图和文档(注意:真正的用例是文档,不是哪个鸡蛋或者鸭蛋状的圈圈J),将项目分解成可管理的小块。项目管理人员可以根据这些为项目小组成员分配任务。

系统分析人员和客户使用用例文档了解系统提供的功能,此时的用例被细化,甚至一不留神便会陷入到过度设计,这就需要系统分析人员的经验来进行把握了。实际上这时系统的需求阶段已经算是完成了。你可以利用这些用例文档编写用户手册了。

以上的内容通常在存放在ROSE的Use Case View中。在RUP中这部分被叫做先启阶段。

系统分析人员和开发人员用Sequence和Collaboration框图了解系统的逻辑流程、系统中的对象及对象间的消息。这时系统的开发已经从抽象到了具体分析对象的阶段。测试人员也将参与进来,因为测试人员需要了解系统的逻辑流程,以便进行测试方案和测试用例的设计。

开发人员进一步设计出Class图和State Transition框图,以便获得系统各部分的细节以及其相互关系的信息。实际上这已经是开始实现系统了。

以上的内容属于分析和设计阶段,理所当然的放在Logical View中。在RUP中这部分被叫做精化阶段。

下面进入RUP的构件阶段,在RUP中定义了若干的角色,架构人员、封装体设计员等等,我想我们的实际的工作中可能没有这样细致的分工,这些工作要么归系统分析员、要么归程序设计员。角色的叫法不同核心的工作确应该是一致的。那就是用Component和Deployment框图显示要生成的执行文件、DLL文件和其他组件,并且要生成这些组件的网络上的部署位置,在物理节点间分布系统功能。这些内容存放在ROSE的Component View和Deployment View中。

最后进入产品化阶段,我们可以看出在整个项目的实施过程中,整个小组都围饶着这个模型进行工作。实际上在每个阶段都是需要经过不断的重复的迭代。

TCP/IP协议有4个层次。RUP将软件开发分成4个阶段。UML又对应四个阶段提供不同的视图来进行描述。TCP/IP上下层之间通过应用程序进行转换,协调。同样UML的不同视图之间也会联系紧密,例如可以通过Sequence框图的对象发现类,通过对象之间消息便可以找到类的方法。

当然以上所说的是很简单的情况,实际应用时状况要复杂的多。例如在Use Case View中还可能需要Interaction框图来显示使用案例流程涉及的对象或类。因此我们要知道并没有规定程序设计开发人员,只在Logical View时(精化阶段)才介入,其实通常程序开发人员是全程参与的。这完全取决于项目的特殊要求。我们的目的是完成项目。

最后想对几个有趣的问题发表一下我的看法:

1、 UML有没有必要在所有的项目中使用?

当然,这篇文章的观点就是要使用UML。因为我认为用UML的工具ROSE对系统进行建模实在是一个明智的选择。

2、 既然有了UML,需求文档、设计文档等一些文档还有没有必要?

当然,图形有时候并不能完全正确无误的表达出你的本意。不过你如果实在不愿意写文档,你可以采取ROSE提供的Documents功能,直接把要说的话写在其中。

3、 我决定在下一个项目中使用UML,但小组中很多的人还不了解这个东西,怎么办?

学,UML不难学。正如C++的语法也不难一样。你可以在一周都用不了的时间便掌握UML语言(对UML是语言),省下的就是经验和技巧,这就因人而异了。不过至少你可以看懂这些图形。

先写到这吧,欢迎大家给出意见。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有