软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
一个关于用例划分的讨论

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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



相关文章

相关软件