一个关于用例划分的讨论

类别:软件工程 点击:0 评论:0 推荐:
给一套系统做需求分析,其中服务器端程序有一个功能,就是将收到的数据包解包、入库。  
 
我现在将其划分为三个用例  
 
1、接收数据  
2、分解数据  
3、数据入库  
 
其中分解数据中包括一个子用例,  
2.1、验证数据  
 
大家看这样对么?  
 
我怎么老师觉得不对,于是乎又萌发出新的想法:  
只有一个用例:  
1、接收数据并入库  
其中包含3个用例,  
1.1、验证数据  
1.2、解包数据  
1.3、数据入库  
 
大伙帮忙参考一下,哪种较为好一点,或者谁有更好的方法请提出,小弟感激不尽  
---------------------------------------------------------------  
 
这只是用例层次的问题  
其实都可以  
主要决定于你的观察面  
---------------------------------------------------------------  
 
最不同意第一种方案。  
不太同意第二种方案。  
验证数据、解包数据、入库,这是实现一个用例的三个步骤而已,不应该分别做为一个独立用例。  
 
用例是从外界的角度来看系统。  
 
---------------------------------------------------------------  
 
不知道你是在做服务器端的开发吗?  
如果不是那么你就犯了一个错误  use  case是来阐述客户对系统的需求(注意是客户)  所以用例不涉及系统内部的实现  如果你是在做服务器端的设计工作  那么你自己就可能是客户  那么你这样使用use  case是可以的  以我的经验  客户是不会提出这样额需求的    
现在假设你这样分析用例是有理由的  那么你的几种方法都是正确的  只是它们的划分粒度不同  在我们设计系统的时候  总是先有高层次的需求  然后不断划分为比较详细的下面层次需求  
他们只是出现的时机不同  但是总的来说  关键是最初时候的大粒度的use  case  后面的划分不要太过与细小  关键是要知道不同粒度的用例所使用的范围不同  
我对用例粒度划分标准是由下列指导的  
1  用例都是有一个角色来启动的    
2  用例是在一个时间区域内完成的  也就是说完成一个用例所要花费的时间不要太长  应该是一个短的时间的动作序列  但是注意这一条不适用在商业用例上    
3  用例代表的是角色和系统的一次交互  一次是说角色在一个时间段和系统的交互  这一条同样适用商业用例    
注意2和3条是划分最小粒度的标准

本文地址:http://com.8s8s.com/it/it36393.htm