| 共 12 个主题 12 条评论 <添加新主题> |
| (12) 如何用 UML 2 记述应用架构 InfoQ 新闻(中文): (张恂 2801 字 0 回复 E2008-12-17 9:31:48 LID:12 Hit:126)Paulo Merson on Documenting Application Architectures Using UML 2.0 Posted by Srini Penchikala on Nov 27, 2008 04:00 PM Paulo Merson 来自 CMU/SEI(不要以为 SEI 只有 CMM/CMMI) 在 SD Best Practices 大会上他介绍了如何利用 UML 2.0、BPMN 和其他建模符号与技术来描述一个架构。 他提到了 4 种视图: Module Views Runtime Views Deployment Views Data Model 他推荐了一种架构视图模版: Primary Presentation Element Catalog Context Diagram Variability Guide Architecture Background Related Views 他建议 SAD(软件架构文档)应该包含以下几个部分: Documentation Roadmap System Overview Requirements Views Mapping Between Views Architecture Analysis and Rationale Mapping Requirements to Architecture 附上 Glossary Acronym List InfoQ 还采访了 Paulo。这些问题很有意思。 * UML 的扩集(Profiles)和版型对于记述架构有什么帮助? * 软件架构师在记述应用架构的时候,怎样才能做到敏捷和讲求实效? Paulo 从敏捷架构师、敏捷建模的角度进行了回答,他的这些基本观点和主张是非常务实和敏捷的,把演进式的架构设计与编程、全局设计与局部/细节设计有机地融合在了一起,这也与我一直以来的思考和想法非常一致。 The key aspect of design/modeling in agile projects is not to avoid designing, but to avoid "big-design up-front" (BDUF). In general, high-level architectural strategies should be worked out up front, but many design decisions and design details can be left to when you need them. Only produce design documentation that will fulfill a need of the stakeholders. 的确,敏捷开发中处处存在设计。我们反对的是以往瀑布开发方式所提倡的大规模的或过度的预先设计 BDUF,而不是必要的预先设计 DUF(前构),因为显而易见,没有经过代码执行和测试的检验,BDUF 出来的架构设计模型和方案很容易出现偏差,造成不必要的浪费。 据我所知,现在国内还有很多人和开发团队(包括一些外包环境中的),由于(误)学了 UML 和 RUP,反而更强化了这种 BDUF,热衷于搞一个架构或软件设计阶段,进行大规模的建模,然后再把 UML 模型转交/传达给一批 coder 来开发,造成了更多的浪费。这完全是一种误解,效率非常低的开发方式。 关于是否抛弃开发过程中产生的架构设计文档或模型,我的建议稍有不同。 他还提到了 Ambler 的调查结果: In fact, as a survey shows, agile teams are more likely to model than traditional teams. 这个结果看起来让人稍感意外。 * 记述一个 SOA 系统有何特别之处? Paulo 提到 SOA 架构设计涉及到了大量的技术决策点: SOAP vs REST, ESB or direct point-to-point, service granularity, use a directory or not, use BPEL or not, SSL or message-level security, and many more SEI 报告:Evaluating a Service-Oriented Architecture * SAD 的未来怎样? * 记述软件架构有哪些最佳实践和经验? Paulo 讲了 8 条,都符合直觉。 - Documentation doesn't mean paper or Word documents. Think wikis for example. - Record the rationale for important design decisions. 其中这两条也应该成为人们的常识。 推荐: Grady Booch on the handbook of software architecture |
| (11) 建模语言和 UML 应该什么样?(张恂 245 字 0 回复 E2008-11-23 11:28:48 LID:11 Hit:34) |
| (10) 微软加入 OMG:UML or DSL InfoQ 新闻: (张恂 890 字 0 回复 E2008-9-18 15:29:31 LID:10 Hit:85)Microsoft Joins the OMG: UML or DSL? (Jean-Jacques Dubray, 2008-9-11) 微软最近宣布 VSTS 的下一个发布 Rosario 将支持 UML 2.1 当中的 5 种图形。 微软近年来在包括 BizTalk、Software Factories 和 VSX 工具等建模架构方面已经作了大量投入。9 月 10 日,通过其下一代建模架构 Oslo 的 CTP(Community Technology Preview)版的发布,微软宣布加入了 OMG 的行列。 这篇新闻对 UML 和 DSL 的关系进行了讨论。 Cameron Skinner 解释道: Microsoft is very committed to our DSL strategy, and in particular to the DSL toolkit that ships as part of the VS SDK. In fact, our UML designers are built on top of that toolkit. supporting both approaches to modeling gives developers and Architects alike the "right tool for the right job". ... This is a "DSL + UML" conversation. 一些人提出了不同的看法。 |
| (9) 优秀的 UML 工具 EA Enterprise Architect (张恂 365 字 0 回复 E2008-8-4 17:18:24 LID:9 Hit:114)最近几年 EA 在国内的应用逐渐多了起来,我有不少客户采用的是 EA,我自己也试用过,总体上感觉 EA 的确是很不错的新一代 UML 建模工具。 试用印象: 1、易用性很好,用起来比较舒服。 2、对 UML 2.x、业务(流程)建模、数据建模等标准的支持很好,而且有不少新的创新和扩展,增强了表达力。 3、功能相当全面,包括多种编程语言代码的正逆向工程(ActionScript 2.0, Java, C#, C++, VB.Net, Delphi, Visual Basic , Python and PHP)等等 ... |
| (8) How UML is Used How UML is Used (张恂 715 字 0 回复 E2008-3-26 17:28:49 LID:8 Hit:117)by Brian Dobing and Jeffrey Parsons from COMMUNICATIONS OF THE ACM May 2006/Vol. 49, No. 5 这份 Web 调查共收到了 171 + 11 份有效答卷。我感觉样本数量偏少。 这 182 名调查对象(样本)的情况是: a) 平均每人参加过 27 个项目(其中平均 6.2 个用了 UML) b) 在 IT 行业的平均工龄超过了 15 年(使用 UML 的平均时间为 4.7 年) 都是些老资格程序员啊! c) 其中他们所参与的典型 UML 项目,平均预算约为 100 万美元,工期约为 6.5 人年,规模约为 5 万源代码。 看到这里,我感到这个样本模型其实与国内的情况差别不小。 有几点结论很有意思: * 类图、序列图和用例图用得最多,而协作图用得最少。 * 有许多 UML 项目不是用例驱动的(至少有一半以上)。 我不知道作者们所说的“用例驱动”是什么意思,很令人疑惑? 因为显然从这份调查中,我们看到有很多人在用用例图和用例描述,怎么能说不是“用例驱动”呢? * 客户们对 UML 的接受、认可程度还是比较高的。 * 用例描述并不能捕获所有的需求。 类图、序列图和状态图提供了重要的补充信息。 * UML 的复杂度依然是个问题。 |
| (7) 基于 SysML 和 MagicRQ 的需求工程(张恂 181 字 0 回复 E2007-11-14 20:09:18 LID:7 Hit:125) |
| (6) 开源 MDA 工具 AndroMDA(张恂 46 字 0 回复 C2007-6-22 16:05:44 LID:6 Hit:105) |
| (5) 2006 模型驱动开发专题(IBM Research)(张恂 153 字 0 回复 C2007-6-12 21:23:07 LID:5 Hit:96) |
| (4) babituo 的 UML 讲义(张恂 103 字 0 回复 C2006-11-8 20:00:03 LID:4 Hit:118) |
| (3) 欧洲 UML 工具应用调查 (DeveloperEye) 欧洲 UML 工具应用调查 (DeveloperEye) (张恂 206 字 0 回复 C2006-11-8 19:56:21 LID:3 Hit:99) |