基于 UML 的 WEB 程序建模设计
最新更新: 2000-06-06
作者: Jim Conallen
介绍
Web 的应用越发变得流行。一部分归功于开发技术和工具的快速提高。而且,大多数的系统设计者认为,与传统的应用程序相比,基于 Web 的应用有更加显著的优势。
当前, Web 开发的热点是工具的开发。极少有人留意到开发过程的重要性。现在的流行设计模式是草率的制造简单的 Web 程序,并且这种方式又鼓励了我们放弃认真和严密的分析和设计。我们认为,稍微复杂的系统都应该设计和建模。文档的目标是突出强化合理的需求。非常不幸,对于 web 的建模来的不是那么显而易见。
我对于 web 的绝大部分经验基于微软的 asp 技术构建。我努力做出一份通用的文档,以便能够使用其它的类似于 Fusion 这样的开发工具。使用 CGI 脚本还是 ISAPI 过滤器取决于模型的设计需要。
这份文档只是一份非常大概的阐述关于 web 体系。为了保证他的简短性,对于图像,映射,用户界面风格等都加以忽略。焦点集中在软件的功能实现一侧,尤其是在商业逻辑环节处,应该直接,清晰,详细,格式化的加以表达。至于他的外部连接地址和 MIME 类型就不必考虑了。
基于 WEB 的开发文档体系
WEBSITE
从表面看, web 的应用开发与 web 的站点图之间的区别非常微妙。 web 的应用开发文档的目标是站点图涉及到用户的输入,并且这种输入能有效的改变商业逻辑的补充。其实质就是站点图外加一份典型的应用。
Web sites 是非常直观的。他包含主要的三个元素:服务器,连接,客户端。 服务器的分发已经格式化的信息到客户端并相应客户端的请求。请求是通过 http 协议传输的。图一说明了这个模型。一些站点必须要注册,当然也有匿名访问的。
图一 基本的 web 的应用体系
基于站点图的可用信息是已经格式化的存储的文件系统。客户端通过目录和名字来访问他们。这些文件是期效性的,并反映了站点的相关内容。
但是有一些信息是存放在数据库中的,通过 (CGI 或 ISAPI) 格式化输出到页面客户端。这种站点配置策略称为动态站点。图二说明了这个模型。
图二 动态站点图
关于动态网站的优势:
关于组件的优势:
图三 通用 web 应用模型
建模设计:
建模是非常重要的。它帮助我们管理复杂的系统。 Web 应用的复杂度正在快速增长。对于一个给定的系统而言,可以许多不同的但都经过深思熟虑的模型方案。每一个模型都有它的专用目标和适用范围(听众),文档的重点在 web 应用的模型设计上,并且文档的观众也是 web 的建设者。建模时适度的抽象是重要的。
存在于头脑中的不清晰的任务目标应该把它文档化,清洗化。怎么做呢?使用 UML ,我们可以把页面当成对象来处理。这样做,会带来几个问题:对象的属性是什么?页面脚本的方法有如何定义?
答案在于:模型的适用范围,也就是听众是谁?在一个建模设计的案例中,用户的界面格式与系统的商业逻辑不相关,也就是静态的页面不应该考虑在建模设计中。服务器商业逻辑的实现,包括服务器脚本的属性,方法,体系结构才是我们建模需要的。当然,还有另外一个问题,同时包含服务器和客户机脚本的页面的混合问题是令人迷惑的。
关于建模概念的外延
UML 设计者并不能在任何一种状态下做的很好,依然需要多次迭代,并且加入自己的语法标记。