所在位置:答疑 - 内容   
把系统用例分解为各个子系统用例在写用例文档
 

2007-11-15  17:24:47  yxhbetter  潘老师您好,又有问题要请教啊 昨完业务时序图后,我得到了系统用例图,但是我得系统需要由若干子系统够成,这时应该怎么办啊? 是把系统用例分解为各个子系统用例在写用例文档,还是先写总系统得用例文档。 总体系统用例中,每个用例可能都会涉及到多个子系统。 
2007-11-15  17:28:38  潘:  系统需要由若干子系统够成--这个不是需求 
2007-11-15  17:30:50  yxhbetter  您得意思是,在需求阶段,不考虑子系统得问题,是么? 
2007-11-15  17:31:45  yxhbetter  我这个,起码程序肯定要由多个进程组成 
2007-11-15  17:32:00  潘:  具体哪些是需求那些不是,没有绝对答案 
2007-11-15  17:32:26  yxhbetter  起码有前台界面,做配置管理,java 得 
2007-11-15  17:33:02  yxhbetter  还有很多后台进程 
2007-11-15  17:33:14  潘:  关键在于:你是不是从涉众的角度得出来的答案 
2007-11-15  17:35:00  潘:  涉众很可能并不关心分为多少个子系统,另外,你认为"系统需要由若干子系统够成"也没有任何理由,你怎么知道?题目都还没有出,你也没有开始做题,答案就出来了? 

2007-11-15  17:35:55  潘:  幻灯片有相关讲解,看"补充约束"部分 
2007-11-15  17:56:08  yxhbetter  我又看了下ppt,大概明白您得意思 比如我写"认证用户号码"这个用例,用户要向系统提出查询要求,系统查询黑名单,然后系统还要查用户余额,而余额查询可能涉及多个第三方平台,那么出于稳定性和分散复杂性的考虑,我的系统可能有两个子系统,一个是认证子系统,一个是余额查询网关,前者稳定,后者易变 这应该是个设计约束 但由于这个约束,我的系统至少有两个子系统,或者说至少有这两个后台进程, 那么我在该用例文档中得出的实体类,可能是两个子系统中的, 反过来说,这两个子系统是不是都应该有
自己的子系统用例图,和子系统用例文档呢?  
2007-11-15  17:56:21  yxhbetter  搞的好长,不好意思 
2007-11-15  18:09:46  潘:  系统可能有两个子系统,一个是认证子系统,一个是余额查询网关--要是不分,或者再分为四个会怎么样
2007-11-15  18:10:40  yxhbetter  网关部分本身就会很复杂 
2007-11-15  18:10:52  yxhbetter  而且和多个第三方平台连接,接口容易变化 
2007-11-15  18:11:04  潘:  系统要和用户交互,系统要和现有的A 平台交互,系统系统要和现有的B 平台交互--这是需求 
2007-11-15  18:11:28  yxhbetter  而认证部分就比较单纯,我是想,由认证访问网关,网关屏蔽各第三方平台
差异 
2007-11-15  18:11:35  潘:  网关部分本身就会很复杂--然后呢,什么叫复杂? 
2007-11-15  18:11:43  潘:  什么叫单纯 

2007-11-15  18:12:07  yxhbetter  网关会涉及多种协议栈,连接不同厂商做得平台 
2007-11-15  18:12:10  潘:  都是"我想。。"有没有轮到老大想啊 
2007-11-15  18:12:26  yxhbetter  这些不是作为涉及约束么 
2007-11-15  18:12:47  yxhbetter  老大当然是希望能连接各种厂商平台,而且稳定可靠 
2007-11-15  18:12:50  yxhbetter  容易扩展 
2007-11-15  18:14:04  潘:  什么叫所有,什么叫稳定可靠,什么叫容易扩展--老大用什么来度量的?你这些弄清楚了吗  
2007-11-15  18:15:19  yxhbetter  容易扩展就是说,要新连接一个平台,不用把整个系统都停了,不能影响系统其他功能 
2007-11-15  18:15:40  yxhbetter  稳定就是说,如果由于第三方平台故障,我们不能都死了 
2007-11-15  18:16:45  潘:  这才是需求 
2007-11-15  18:17:25  潘:  其实肯定还有更多的度量 
2007-11-15  18:17:30  潘:  不可能那么简单 
2007-11-15  18:17:45  潘:  你再去揣摩揣摩老大、老二的想法 
2007-11-15  18:18:34  潘:  开发人员往往因为没有能力把前面的问题搞清楚,编一个答案来说这就是问题,这是最大的麻烦了 
2007-11-15  18:18:57  潘:  解决方案做得再细也无法取代问题本身 

2007-11-15  18:20:36  yxhbetter  我明白您说得意思但如果说"用户认证"这个用例,就是有这样得约束,那么意味着要有子系统产生了 后面的"分析阶段"我该怎么做? 亦或,要为子系统重新做用例图,和用例文档 
2007-11-15  18:22:09  潘:  后面的"分析阶段"我该怎么做?--用例管这个干什么,你爱怎么做怎么做,以后不流行面向对象了,很可能你的分析就变成本系统可以分解为以下几个service。。。或几个component 
2007-11-15  18:23:07  潘:  "子系统"是一个设计的概念,是有了类之后,对类群的耦合程度切分得到的,不是你现在就能看出来的

2007-11-15  18:23:46  yxhbetter  您的意思是,子系统应该是在设计阶段才出现的? 
2007-11-15  18:23:54  潘:  实际上现在张口就来的"子系统"是"用例包" 
2007-11-15  18:24:40  yxhbetter  噢,这下醍醐灌顶啊呵呵 
2007-11-15  18:25:30  yxhbetter  但如果子系统到设计阶段才切分,那么比较大的系统的,分析类岂不是非常多 
2007-11-15  18:29:56  潘:  是啊。但你的开发如果是增量的,一开始先做核心的用例,很快可能就看到子系统切分的端倪,这时在团队内部可以强制切分"子系统"(构件)。切分后,团队内部可以自行再分工。但这一切和需求不是一一对应,只是团队如何解题而已 
2007-11-15  18:30:21  潘:  你怎么把东西做出来,和要做什么东西,是两回事