首页 > 其他分享 >[答疑]

[答疑]

时间:2022-09-28 16:06:27浏览次数:85  
标签:需求 建模 UMLChina 过度 设计 答疑 overdesign

YF 2021-2-6 14:04

我们领导昨天教育我们说,不要过度设计,先做最重要的功能!最近学了潘老师的书,题也做了一些,感觉好像说的是功能不是设计,老师怎么看?

UMLChina潘加宇

你的感觉很正确!

很多人说"过度设计(overdesign)"的时候,说的根本不是设计问题,而是“需求蔓延(requirements creep)”。

比如,搜索引擎搜“过度设计”,第一页出来的这个文章:

[答疑]_软件开发

(本图仅为示意,不代表同意/不同意观点。)

按照《软件方法》的软件开发工作流:

[答疑]_建模_02

A-业务建模——定位需要改进的目标组织(人群或机构)以及该组织接下来最需要改进的问题。

B-需求——描述为了改进组织的问题,所引入的信息系统必须具有的表现。

C-分析——提炼为了满足功能需求,所引入的信息系统需要封装的核心域机制。

D-设计——考虑质量需求和设计约束,将核心域机制映射到选定非核心域上实现。

很多平时所说的“过度设计”,说的是B-需求,说的是花精力去做很多【用】不上功能,而不是说C和D,即系统内部怎么构造的,分解成哪些类,还是没有类全是过程,它们之间怎么互相调用的,分了多少层……


类似于“架构”、“设计模式”,“过度设计(overdesign)”一词应该也是来源于建筑。在计算机行业最早是谁使用我就不知道了,但最有名的应该是1975年 Fred Brooks的《人月神话》里“自律—第二系统效应”一节提到的overdesign:

[答疑]_软件开发_03

[答疑]_软件开发_04

Brooks说的就是工作流B-系统的需求——“使用”,不是说该系统内部如何构造。


即使是看起来真的是说“内部”的设计的,其实有可能还是需求问题,比如,网络上摘的一篇名为《软件开发-什么是过度设计》的文章里举的例子:

[答疑]_建模_05

以上文章以为所说问题是“设计”,其实问题是,考虑了不存在的需求,跟设计过度不过度没什么关系。更何况,要是“支持美元充值、港币充值”这个需求确实存在,图中这个“设计”把各种变化频率不同的概念搅在一个表里,连“设计”都没有,跟“过度设计”还差十万八千里呢。

至于真正的“过度设计”——系统的需求是正确的,但系统内部构造精妙到过分了,呵呵,似乎我见都没见过。

见到的基本上都是伪装成“过度设计”的“没有设计”。架构师没有掌握类图、状态机图等基本的建模手段,领域逻辑都没有能力理清楚,就知道用自己懂的一点粗浅知识来凑工作量,参见​​《废话迷》​​。

更糟糕的是,“过度设计”还成为拒绝思考的遮羞布——我害怕自己“过度设计”,所以干脆就不学习设计了,这样就避免了陷入“过度设计”的陷阱。

[答疑]_信息系统_06

​[2020.01加一套题]UMLChina建模竞赛题大全-题目全文+分卷自测(11套110题)​


​[新增EA023粮食拍卖系统]全程字幕-23套UML+Enterprise Architect建模示范视频​


​猴子掰玉米?比较不同版《领域驱动设计》说“不变式”和“聚合”​


​《软件方法》书中自测题-题目全文+分卷自测(1-8章)16套111题​


​软件开发团队的脓包(3)废话迷​


​《非程序员》电子杂志下载(39-51期)​


​《非程序员》电子杂志下载(1-38期)​


​中文书籍中对《人月神话》的引用(完结,共110本):软件工程通史1930-2019、实用Common Lisp编程……​


​CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档……(2020年3月更新素材)​


​UMLChina服务介绍​






标签:需求,建模,UMLChina,过度,设计,答疑,overdesign
From: https://blog.51cto.com/u_15684364/5719630

相关文章

  • [答疑]小明是一部的员工,转到了二部。这时小明的部门属性就变了
    大田二十(253***7)2012-05-0821:08:55请潘老师和各位帮个忙。有个数据存贮的问题一直糊涂。小明是一部的员工,转到了二部。这时小明的部门属性就变了,这里是要求个人所有成......
  • [答疑]收款的类图
    2011/10/2310:26:51广罗得权(3075***697)ok否。请大家指点2011/10/2310:26:37广罗得权(3075***697)2011/10/2317:34:57潘加宇(704837756)这是什么,照猫画虎啊,拿着一张收款单......
  • [答疑]EA如何导出黑白图片,无阴影,无填充色
    火星(16**3041)2012-09-2615:40:59潘老师,各位大侠,请教一下EA如何导出黑白图片,无阴影,无填充色...潘加宇(3504847)2012-09-2615:41:34试试Diagram-SaveImage可以吗火星......
  • [答疑]序列图如何表示“审核不通过则回到初始步骤”的循环流程
    xieh2021-1-1318:09潘老师您好,请教一个问题我在制作签订合同用例的业务序列图。业务要求:地市合同起草人起草合同,地市、省分、总部三级领导审批。每级审批不通过,都要回到起......
  • [答疑]“发放父作业单”是“过数”用例里面的内容吗
    刘京城2020-4-1423:01。。。。(注:这是一个人的昵称,不是省略号)首先,执行者是同一个,那么思考焦点要关注“过数”用例是不是“发放父作业单”用例的一个步骤,和行为操作的频率......
  • [答疑]EA中设置用例关联关系设定时自动带有起始→目标(箭头)
    EA中设置用例关联关系设定时自动带有起始→目标(箭头)进化论*熊飞(2017年11月9日):潘老师,能在EA中设置业务用例关联关系设定时能自动带有起始→目标(箭头)吗?潘加宇:Start>Wo......
  • [答疑]推演系统的用例图
    推演系统的用例图永远的幻想♂(123***302)10:55:03昨天课上我写的基本路径有问题,是因为之前系统用例提的不好。我这样改了一下可以吗?墨池(31***239)11:11:26我觉得用例名......
  • [答疑]这个新闻中心后台管理的活动图对吗
    这个新闻中心后台管理的活动图对吗Regina(414***58)12:12:00Regina(41***58)12:13:14想请假各位这种活动图画的对吗南不暖(669***818)12:13:35不对南不暖(669***818)12......
  • 为Linux初学者答疑解惑
    很多人在初学linux的时候都会出现很多的困惑,亦或者说一边学一边迷茫。以至于越学越迷茫,越学脑子越乱。到最后草草收场不了了之。时间金钱也浪费了,到最后也是一事无成。 ......
  • StoneDB社区答疑第一期
    当然,目前StoneDB的社区建设还正处于初启阶段,我们坚信,开源项目的成长,最终还是要靠社区用户一起来共创,因此,StoneDB开源社区非常重视社区用户的声音,在7月份,我们从各个渠......