2008年9月10日 星期三

Use Case分析在现代软件分析之角色




古典需求分析的焦点是流程(Process)和功能(Function)。Use Case的焦点也是流程,只是基于另一个新观点来看流程而已。Use Case分析应该属于『新古典』需求分析技术。如图所示。所以:

新古典需求分析 = 古典需求分析 + Use Case分析
现代系统分析 = 新古典需求分析 + 领域知识分析
现代软件分析与设计
= 新古典系统分析 + 架构设计

古典需求分析是持着经营者(Manager)观点去分析工作流程和信息流程。而Use Case分析则从用户观点来分析流程。 --- > 詳細請繼續閱讀

需求分析与架构设计之关系

古典的需求分析(Requirements Analysis)偏重于分析业务流程(Business Flow)和数据流程(Information Flow)。现代的需求分析除了涵盖古典需求分析之外,再加上领域知识分析(Domain Knowledge Analysis)。

现代需求分析(或系统分析) = 古典流程分析 + 企业领域分析

在现代软件技术观点下,流程分析是软件「树叶」分析;领域分析是软件「树枝」分析。领域分析出来的概念(Concept)支撑流程分析出来的功能(Function)。以上分析还局限于树叶和树枝而已,还缺乏「树干」呢! 同样地,在现代软件技术观点下,树干不是分析而来的,而是『设计』出来的,所以目前红得发紫的「架构设计」(Architecture Design),就是为了填补现代需求(或系统)分析的不足。一旦有了架构设计,则软件系统的树叶、树枝和树干就齐全了,每套软件系统都是一棵完整、青翠的树了。 请继续阅读全文

2008年9月9日 星期二

大文豪看架构师

许多年轻人问我:如何培养自己成为架构师呢?我觉得唐宋八大家之一的柳宗元也有美好的答案。例如他在<梓人传>里写的好:
吾善度材。视栋宇之制,高深圆方短长之宜,吾指使而群工役焉。
舍我,众莫能就一宇。”
这说明了架构师的职责。他又说:
不炫能,不矜名,不亲小劳,不侵众官,日与天下之英才,
讨论其大经,犹梓人之善运众工而不伐艺也。”
这说明架构师的心法。如果不谙心法,很容易尝到败绩,他说:
“犹梓人而不知绳墨之曲直,规榘之方圆,寻引之短长,
姑夺众工之斧斤刀锯以佐其艺,又不能备其工,以至败绩,
用而无所成也。”
我很认同他的看法,所以我将原文翻译为白话文和日文,详细请看 架构设计面面观

2008年9月7日 星期日

Google Android手机软件的“汉堡”生产与营销模式

从系统架构而观之,Google Android手机就像一个麦当劳的汉堡,如图所示。所以未来5年内,手机产业的生产与营销模式将大幅改观。人人都可以在新模式下找到适当的角色,并获得商机。由于手机硬件制造业大多集中于淡水河流域和长江流域,而且这两河流域也是全球手机密度最高的地区,所以在这两河流域里的软硬件业者,在未来5年内,近水楼台先得月,无论是生产或销售,可说身边处处是商机。

SaaS-based架构设计外销美国

我的团队正在替一家国际性医疗机构规划其服务IT系统,采取Google Apps为主干的SaaS(Software as a Service)架构设计模式。这家医疗机构在美国有数十个医疗所,各需要有其内部管理及客户服务IT系统。他们很喜欢这套SaaS-based的系统架构,理由有:1) 简洁的美国式UI(例如Google Calendar等); 2)极低成本; 3) 容易跟手机结合(移动+云端服务); 4) 容易远距调试。目前正努力与Google Android手机结合,发挥对广大受诊客人的终生(life-time)一对一(one-to-one)的体贴服务,这整个SaaS-based架构如图所示。

2008年9月3日 星期三

关于DoDAF的架构思想

如果你对DoDAF熟悉的话,希望于你交流这个问题:在进行SoS(System of Systems)整合系统架构设计时,如何确定那些组织应该成为OV里的OPN(Operational Node)? 那些系统应该成为SV里的SYN(System Node)? 这是一项重要的架构设计思考步骤。例如,将SoS里的众多小S视为SYN是合理的,那么应该将大S视为SYN,还是OPN,何者较适合呢? (→前往网页)

2008年9月1日 星期一

软件外包俄罗斯

近几年来,我与欧洲、日本软硬件技术团队合作,大多关于嵌入式软件开发。在西班牙、俄罗斯各国都有挺先进的技术团队。例如,我与俄罗斯团队合作就缘于Linter嵌入式数据库系统。像Linter这种顶级系统的开发团队是非常有实力的。一开始,我们与日本、俄罗斯技术人员组成一个团队,将Linter系统移植到Google Android手机仿真器里。基于这美好的经验,我们逐步将较大的嵌入式软件开发外包给俄罗斯团队。谈到这里,许多人会问:这种跨国开发项目如何管控呢?让我卖个关子吧! 只要学学古代张良的运筹帷幄技术,就能决胜于千里之外了。(by 高焕堂)