OOAD 板


LINE

大部分讲 UML 和 OOAD 的书都会说: 设计 use-case diagram 的时候要避免采用 functional decomposition 的方式 很普遍的恶例就是 actor 跟一个 use case 有 association, 然後再由那个 use case 放射状 ----<<include>>---> 到一堆 use cases, 然後巢状延伸不断一层接一层的 include 下去, 变成树状结构。 但是在帮大型系统 modeling 的时候, 不管怎样似乎都会被带进 functional decomposition 的状况, use-case 写来写去都会不小心变成 tree 状, 一路杀到 actor 根本不需要知道的深度去。 (问题 1:是不是实务上出现这种状况也能被接受呢?) 有书会主张用 package 包住 use-case, 然後让 actor 跟整个 package 建立 association, 表面上看起来似乎是一种解决的方法, 可惜并没有见过具体的例子是这麽做的。 (问题 2:不知道这种做法究竟可不可行?有板友尝试过吗?) 以前在外面跟 team 做 project 时, 用的是 rational 的 CASE tools, 然後 tool 里的 use-case model template, 会提示说先用 package 分割出所谓的 functional areas, 然後每个 functional area 再独立一张 use-case diagram, 上层再来一张简明扼要的 use-case overview diagram; (问题 3:这种做法是正规的方式吗?还是说只是一种撇步?) 我看我们 SA 一开始都是做传统的需求分析, 交给 architect 切完 functional areas 之後, 才开始用 use-case 做分析。 但是这样一层一层切会有两个主要问题: 1. 一路爬到系统中下层的 package (functional area) 时, 扮演 actor 的物件会越来越吊诡, 已经不是书上常看到的那种「人」或「外部系统」了。 (问题 4:是不是说 use-case 不该被用在这麽下层呢?) 2. 根据 rational 讲的那套 analysis class 分类法, 也就是分成 boundary、control、entity 这三种的方法, boundary 一般被解读成 UI 相关的 classes, 所以下层 package 的 analysis classes 都只出现後两种。 (问题 5:究竟在 use-case 边界上但与 UI 无关的 class 算不算 boundary?) 而当时这位 SA 的主张是, 当拿到一个现成的大型软体系统 source code, 而只打算新增一个 subsystem 到里面去, 或是修改/扩充某个 subsystem 时, 习惯上述 1. 的情况会很方便进行分析。 (问题 6:当遇到他所说的这种需求时,真的只有这种解法吗?) 也曾经在其它 team 里有 SA 抱持着不一样的做法, 他强调 use-case model 就是给 stakeholder 看的, 所以只有要讲给他们听懂的最上层使用 use-case, 找 analysis classes 时也只是挑出非常大而粗糙的 classes, 用一些很含糊的 interaction diagram 和 state machine diagram 等等的图带过; 在 design 时才交给 architect 和 SD 大动作切割 functional areas, 而有些 analysis class 会变成一大个 subsystem 或是 component。 (问题 7:这种做法看似循序渐进而正规,但遇上问题 6 的状况时不知该如何应付?) 这些问题可说是长年以来的疑惑, 叙述的部分可能真的有点冗长, 问题可能也太多, 不过还是请熟悉这方面的板友不吝赐教了, 如果能介绍用 UML 来 modeling 大型软体系统的书也是非常欢迎, 这种书真的找很久了, 但是书上范例的规模都没有想像中的大, functional area 只切一层就搞定的范例实在很难解释我的疑惑。 顺便列一下还算新又读过的书以免重复 (OOAD 全名太长直接简写): 1. O'Reilly 的 Head First OOAD 2. O'Reilly 的 Learning UML 2.0 3. O'Reilly 的 UML 2.0 in a nutshell 4. Addison-Wesley 的 UML 2 And The Unified Process 2/e 5. Course Technology 的 OOAD with the Unified Process 6. IBM Press 的 Project Management with the IBM Rational Unified Process 7. IBM Press 的 Implementing the IBM Rational Unified Process and Solutions 8. IBM Press 的 Visual Modeling with IBM Rational Software Architect and UML -- Ling-hua Tseng ([email protected]) Department of Computer Science, National Tsing-Hua University Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.216.166 ※ 编辑: tinlans 来自: 61.230.216.166 (10/20 10:59)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP