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 潘: 你怎么把东西做出来,和要做什么东西,是两回事
|