随笔分类 - UML
UML
摘要: 上周我的一个朋友,同时也是目前公司的同事给我推荐了一款UML工具,开始用着没什么,但越用越感觉不错,我甚至都想什么时候把机器上的ROSE删除,直接用这款软件了,听说这个软件是一个韩国人写的,支持UML2.0。下面就是我偶尔做的几个演示图,当然很不全面,更多的功能还要使用一段时间之后才能体会出来。当然园子里有兴趣的朋友不妨也试一下,相信会有更多的发现。同时它的网址如下:http://staruml.sourceforge.net/en/
阅读全文
摘要: 关键设计复核 (CDR)指在确保(时序图和相应的类图指定的)详细设计的“如何”同用例指定的“什么”完全一致。 CDR还需要从多种不同的角度复核详细设计的质量,这些角度包括模块性,类的内聚性,对象之间的耦合性以及被子统称为“OO优良”的其他度量标准。在这个阶段,要求所有设计人员和开发人员都必须参加。而在 PDR(初步设计复核:本系列第五篇)之后,客户的主动参与就不再受到欢迎了。除非他老人家是拥有详细设计方面的丰富专业知识,否则就该礼貌的劝退客户直到我们根据行为描述对构建的系统进行测试时再让客户参与进来。而这一阶段在ICONIX方法中的位置如下所示:
阅读全文
摘要: 在前几篇文章中,我们分别进行了域模型和用例建模,并使用 Robustness工具进一步分析验证了相应用例的处理流程,并在相应模型(域模型)的基础上,通过Robustness方法引入相关的边界对象,控制对象(控制器),并更新了相应域模型中类的属性(字段)。下面就可以进入到交互建模阶段了。如下图:
作为交互建模本身,就是要通过寻找对象之间的交互关系,进而进行方法(操作或行为)分配。
正所谓“只有在所有的用例为所有事件进程建立了交互建模式之后,才可以确定已经发现系统所需的每个对象所扮演的角色,以及它们的责任。” ----Ivar Jacobson
而上面的那句话换言之就是仅当为每一个用例的所有基本流程和所有分支流程绘制时序图后,才能确保发现了每一个对象的所有职责。
阅读全文
摘要: 这一篇文章的内容有些对不住大家了。因为公司正在准备发布新产品(Discuz!NT2.0),大家的心思全在产品上,本人构思内容和写作的时间几乎没有了,因此就偷了个懒,把书中认为很有必要让大家了解的内容简单的抄上来。同时因为这一章主要的内容都是进行相应的用例文本和健壮性图的检查,以及更新域模型(使之逐步向详细类图逼进),所以如果大家感兴趣的话,可以找几个人一起研究一下,相信大家一定会有所收获的。最后我也希望在产品正式发布之后能够回过头来有时间进一步完善和补充相应的内容。再次向大家致歉了:(
好了,开始正文吧。
阅读全文
摘要: 在前三章中通过(问题域)建模和用例分析之后,在许多的UML书中可能接下来就要进行时序图和协同图的绘制了。但是问题好像还没那么简单,因为这里有一条鸿沟还没有跨过去,正如下图所示:
在我刚学开始学习 UML时,在拿到用例文本时要去画时序图总感觉有些别扭,不知如何才能将文本中的意思完全用图的形式表达出来,总是感觉分析出来的文本中缺了一些很重要的东西, 而这些被丢掉的对象最终可能会导致无法绘制时序图,但又找不出用例文本中到底还有什么东西被遗漏,最终导致设计瘫痪。后来从网上搜索到的一些文章里发现了这种方法(robustness), 在看了半天之后感觉找到了方向和窍门:)
阅读全文
摘要: 需求复核旨在确保用例和域模型同时满足客户的功能性需求。同时确保客户知道开发小组将根据这些需求做何种设计。同时它也是系统分析阶段的一个里程碑(milestone)。
这一阶段在ICONIX方法中的位置如下图:
阅读全文
摘要: 在上一篇文章中我们了解并进行了域建模,换言之我们有了一个好的开始,起码开发人员对自己要开发的软件已有了初步的认识,且也得到了进行交流时可以使用的术语表。
本章将会在前一篇的基本上进一步阐述使用ICONIX方法实践用例建模,同样在文章的最后还会有在这个阶段最容易犯的10个错误,以给大家提醒或在分析过程中进行参照。
本文在ICONIX方法中所处的位置如下图(红圈标记的地方)
阅读全文
摘要: ICONIX过程的规模大概在重量级Rational Unified Process (RUP)和轻量纺的极限编程之间(XP)。同时这种方法也是用例驱动,但不需要RUP使用记录延续到表中带来的大量开销。和XP一样,它相对较小,不像XP那样摒弃了分析和设计过程。因此,有助于使用UML,同时对需求进行跟踪。该过程遵循Ivar Jacobson的用例驱动思想,能够获得有形,具体,易于理解的用例,开发小组可以使用这个用例来驱动开发工作。
该方法是迭代,循序渐进同时足够的轻量级。因为它遵循20%原则,即用UML中20%的图表来完成设计中80%的需求。从这个角度讲倒是满符合中国国情的,因为具我观察不少国内软件公司都不是肯花心思和时间在设计架构上。
阅读全文