maxsuy (2002-5-18 19:17:38)
作者的人品确实存在问题。 PLAYCASE我用过,我承认国内的公司能弄出这么一个东西确实不容易,可是你也犯不着这么咒骂UML吧。 PLAYCASE那玩意纯熟垃圾。做出设计来到最后呢,还是没有用。放厕所里都嫌PLAYCASE臭。
pattern (2002-5-18 19:07:48)
作为一个又搞分析,又编码的软件工程师(存在于大多数有中国特色的软件公司)。有一条经验应该铭记在心:不要指望可以完全掌握用户的需求,大多情况下,业务领域专家也无法给你一个细化到原子级的需求。所以,才有object-oriented 软件工程的出现,才有增量开发方法,才有敏捷建模,这些都是告诉我们要顺应人的思维习惯,渐进开发,逐步挖掘需求,层次建模。软件工程与建筑工程有很多共通点,但他们有一个根本的不同就是:软件最终是可以被修改的,但你不会为一个不很合理的自动扶梯设计而修改造好的大楼,只能将就着用。所以建筑工程的需求可以被认为是确定的,而软件则是相反。
whack (2002-5-17 23:53:21)
呵呵,弄了半天才是一个软件的作者在说自己的软件比别人的好,怪不得口气和论述都是说得那么具有商业的味道。那我们也不妨来看看文中的几个技术的例子: 1。面向对象开发中和用户交流的关键描述工具是use case图。所以一个工具在这个阶段对用户最重要的就是构造use case描述(必要地时候也需要对一些重要的类或者包,以及相关的一些交互细节做某种程度的描述),通常component的构造细节在和用户交流过程中通常用到得很少。 那么use case图作者会怎么描述呢?从文章中的对一个需求的建模结果看,也是类似的一系列图形和符号描述方式,但是不同的是在作者的表达方式和uml有所不同,更重要的是作者列举自己的建模图例和uml的图例的时候,设计的程度是不一样的,作者的建模图例其实是uml中的“静态图(类,包等)+ 一些usecase + 一些时序图(或者顺序图)”,也就是说作者的图形里面其实是夹杂了uml中的好几种图形(当然是把uml的描述方式有所简化和变化),但是在列举uml的设计图形的时候,却缺少了类的动态成分的表达(也就是方法及其顺序),但是在uml中有很多的图可以更进一步细化类或者包的设计(序列图,交互图,conponent图等)。 这反映了作者对于面向对象系统描述的理解不同,uml之所以把几种图形分别描述,一是当需求比较复杂的时候,几种图加在一起的方式可能会变得无法描述,因为一张图形可能变得已经画不下来了。二是uml的方式认为系统具有一系列的特性,不同的特性需要有专门的方式来分别描述。图形多看不过来,但是混合在一起,如果描述同样的细节程度,恐怕还是很长。 2。对于微观设计,那就要看是系统分析阶段还是系统开发了。系统分析的时候做很多细节,有必要吗?本来系统开发就是有很多细节要到系统实现阶段来进行的。而且同样的,对于任何一个小模块,同样地画出component 图,序列图,交互图(只不过粒度不同),想不出来这时候为什么不可以编码?所谓的伪代码不就是一种这些图形的文字描述方式吗?在描述留成的时候,其本质上是同构的(只不过伪代码是结构化的流程图方式来描述类或者方法的关系)。 3。实在弄不懂作者遗漏用户需求的意思,遗漏了用户功能是系统分析没做完的问题,和怎么描述实在联系不上。作者在某个流程上加了个注解,这是解决方法啊? 4。作者认为uml中间的好几种图形和某些元素无关,或者不能转化为逻辑语句。这就是对uml的语法的理解问题了。这些图形用系统工具现在都可以直接生成c++或者java代码,那么语法转化还需要什么。 5。uml的描述方法里面还存在着某些复杂性或者戎余,包括rose工具对于某些图形的构造方法也存在着需要改进的部分,这些不用多讨论了,只要是软件或者标准,都是在不断进行版本修订中。 看了一下原文我怎么有点儿怀疑作者到底用uml做了多少项目,如果是为了宣传产品,没有必要做那些并不特别的例子,有些例子就只有一个自己的分析结果,就来了个结论。要知道很多在编码过程中好像很“好看”的东西,构造成一个产品后,就成了一堆不能维护的零件了。大家都用自己“喜欢”的,结果却往往是不能用的。
文章来源于领测软件测试网 https://www.ltesting.net/