如何写高品质的gui程式

 我来答
可以叫我表哥
2015-01-08 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
如何写高品质的GUI程式

── 使用UML的Statechart

MISOO物件教室

无论是一般的GUI程式,或是XML的Web 画面,都是使用者跟系统的互动(reactive)介面,也正是N-tier系统的龙面部份。我们已经使用OOAD及UML观念大幅提升龙身开发工作的品质了,当然也希望OOAD 及UML观念能协助画龙点睛,才能龙彩昂扬,凤姿飞舞。

大家皆知道GUI画面程式的测试是很费时的,人们也一直寻找良好的技巧以提升GUI程式的品质。于是近年来,使用UML的Statechart来建立GUI程式的模式,成为逐渐流行的技巧。本文就介绍此项热门话题。

前言

在event-driven观念下所开发出来的资讯系统,几乎都是互动性(reactive)的系统。例如使用Windows GUI画面的系统,以及XML为主的Web应用程式等等皆是。UML的Statechart很适合用来建立这种系统的模式。

在Statechart方面贡献最大的人是David Harel,他在1996年获得ICSE(International Conference on Software Engineering)的「最具影响力论文奖」,1997年也获得「以色列国家总理奖」。他在其新书(Har98]──

“Modeling Reactive Systems with Statecharts”

就说道:

“Our modeling approach, particularly the Statecharts language, is especially effective for reactive systems, the behavior of which can be very complex, causing the specification problem to be notoriously elusive and error-prone.”(我们建立模式的方法, 尤其是Statecharts语言,特别适用于互动性系统;这种系统的行为常是很复杂的,使得问题常变成极难以捉摸又易于出错。)

在1997年成为世界标准的UML模式语言,其中的Statechart Diagram就是David Harel 所发明的Statechart。UML的首席专家Grady Booch在其UML使用手册[Boo99]──

“The Unified Modeling Language User Guide”

里写到:

“The most common purpose for which you will use statechart diagrams is to model the behavior of reactive objects, especially instances of classes, use cases, and the system as whole.”(使用Statechart的最常见目的是建立模式表达互动性物件的行为,这种典型的物件就如类别例元、use cases及整个系统。)

Booch也说道[Boo99]:

“A reactive -- or event-driven -- object is one whose behavior is best characterized by its response to events dispatched from outside its context.”(一个互动性的,或称为事件驱动的物件,其最主要的行为特征是它会对外来的事件采取反应动作。)

像GUI物件就属于这种典型的互动性物件。再如Martin Fowler[Fow97]也说道:

“Many people find that UI and control objects have the kind of behavior that is useful to depict with a state diagram.”(许多人发现到,以state diagram来表达UI及控制物件的行为是很有用的。)

从以上诸位专家的见解中,不难以理解为什么近年来,以Statechart来协助开发GUI应用程式的流行趋势。Ian Horrocks在其新书[Horr99] ──

“Constructing the Use Interface with Statechart”

谈到:

“The statechart approach to constructing user interface software results in code that can be:

u written quickly and easily,

u tested using white box techniques,

u repeatedly enhanced over the lifetime of a system,

u modified with a minimal risk of introducing unwanted side-effects,

u regression tested without the need for full re-tests.“

(以statechart方式去建构UI软体而得出的程式码,能够:

l快速而容易撰写。

l以黑箱方式测试。

l在系统生命期间不断地加以扩充改进。

l修正时产生副作用的机率最低。

l回归测试时不必完全重新测试。)

综合上述,我们可知道,使用UML的Statechart来协助开发GUI软体系统的开发,是极有帮助的。不但快速撰写程式码又易于修改和测试,还不会常产生副作用。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式