建模误区
走出一般性的设计误区,迈向成功之途
误区一
建模就等于是写文档
这很可能是其中最具破坏力的一条,因为开发人员可以此为借口而完全放弃建模。许多优秀的软件开发人员会说他们不想把时间浪费在这些“无用的“文档上。他们沉溺于编码之中,制造着一些脆弱而劣质的系统。
事实分析:“模型”与“文档”这二者在概念上是风马牛不相及的——你可以拥有一个不是文档的模型和不是模型的文档。一幅设计图就是一个模型,而不论这幅图是被画在餐巾纸的背面,或写在一块白板上,或在class responsibility collaboration(crc)卡片中,还是根据记录在报纸和便签纸上的流程图而生成的一个粗略的用户界面原型。虽然这些都不能说是文档,但他们却都是有价值的模型。
误区二
从开始阶段你可以考虑到所有的一切
这种说法流行于二十世纪七十年代到八十年代早期,现今的许多经理都是在那个时候学习的软件开发。对这一点的迷信会导致在前期投入可观的时间去对所有的一切建模,以期把所有一切都弄正确,试图在编码开始前就“冻结”所有的需求(见误区四),以致于患上“分析期麻痹症”——要等到模型非常完美之后才敢向前进。基于这个观点,项目组开发了大量的文档,而不是他们真正想要得到的——开发满足需要的软件。
误区三
建模意味着需要一个重量级的软件开发过程
走入这个误区(经常与误区一有联系)的项目组常常是连建模都彻底地放弃了,因为这样的软件开发过程对他们来说太复杂太沉重了。这不亚于一场天灾。
误区四
必须“冻结”需求
这个要求常常来自高级经理,他们确切地想知道他们从这个项目组能得到什么东西。这样的好处就是在开发周期的早期确定下需求,就可以确切地知道所要的是一个什么样的东西;缺点就是他们可能没有得到实际上所需要的。
误区五
设计是不可更改的
如同误区四,要求每一个开发人员必须严格遵从“设计“,导致开发人员为了符合“设计“而作了错误的事情或以错误的方式作正确的事情。或者是简单地忽略了设计,否定了所有设计可能带来的好处。冻结了设计,就不能从在项目进程中所学到知识进一步获益。另外一个很大的趋势就是开发出大量的文档而不是实际的软件,使用面向文档的case工具而不是能给项目带来实际价值的面向应用的工具。
误区六
必须使用case工具
建模常常被认为是一项复杂的工作,因此需要大量地使用case工具辅助进行。
误区七
建模是在浪费时间
许多新手都这样认为,这主要是因为他们所接受的教育仅仅局限于如何编写代码,对于完整的开发流程鲜有接触。而且他们的经验也仅限于如何实现代码,就如初级程序员。他们放弃了提高效率和学习技能的机会,这些技能能够使他们很容易地适应不同的项目或组织。他们应该为此感到羞愧。
误区八
数据模型(data model)就是一切
许多组织基于数据模型就蹒跚启动新的开发工作,也许正如所在的组织:it部门对于数据有非常严格的规定,控制着开发项目;或者以前的数据库是一团糟,别无选择。
误区九
所有的开发人员都知道如何建模
面临这样一个严重的问题:许多不是开发人员的人,不知道软件是如何建成的。其结果是,他们不能够区分开熟练的开发者和一般的程序员(当然也分不清高级程序员和一般程序员),他们想当然地认为所有的开发人员都具备从头到尾开发整个系统的技能。
事实分析:这肯定是不正确的。建模的技能,是只有当一个开发者通过学习它,并经过长期的实践才能够掌握。一些非常聪明的程序员常常相信自己无所不能,毕竟他们终究只是程序员。正因为这样的狂妄自大,他们承当的一些任务是他们根本就没有相应的技能去完成的。软件开发是如此的复杂,单单一个人是很难具备所有的技能去成功地进行开发,甚至也不可能去配置有一定复杂程度的系统。开发者应该有自知之明,明白他们自己的弱点,学无止境。通过互相取长补短,建模者可从程序员身上学到一项技术的具体细节,程序员也可从建模者那里学到有价值的设计和体系结构的技术。我个人认为所有的人,包括我自己,都是新手。
本内容最后更新于2025年7月2日(截止时间),来源:百度百科