1、 浅谈 WEB网站开发中 UML技术的应用uml(unified modeling language)是基于对象技术的标准建模语言,定义良好、易于表达、功能强大的特点使它在面向对象的分析与设计中更具优势。在基于 web技术和组件技术的系统建模中,它完善的组件建模思想和可视化建模的优势更利于系统开发人员理解程序流程和功能,进一步提高了 web系统的开发效率以及 web组件的可重用性和可修复性。对于基于 web技术的应用系统,用户直接面对的是客户端浏览器,用户在使用系统时,请求之后的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成,对用户而言是完全透明的。一、web 应用程序的特点由于 h
2、ttp协议的无状态、无记忆性,需要用专门的手段来维护每个来访问客户的信息。web 页面是天然的模块、功能划分,页面设计是 web应用程序所特有的。性能平衡是设计 web应用程序时必须要考虑的方面,由于 web应用程序通过广域网交换数据,因而能否减少并平衡网络和服务器之间负载是 web应用程序能否很好运行的重要因素。在传统的 gui设计中,可以把菜单或按钮变灰,使得用户不能使用某些功能,而在 web的界面设计中,只能动态第创建页面,不能使某些菜单或按钮变灰来达到同样的目的,因此,web 界面设计要比传统的 gui设计复杂。二、基于 web的应用系统结构对于基于 web技术的应用系统,用户直接面对
3、的是客户端浏览器,用户在使用系统时,请求之后的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成,对用户而言是完全透明的。运算后得到的结果再通过浏览器的方式返回给用户。这个过程可分成一些子步骤,每一个子步骤的完成可理解为通过一个单独的应用服务器来处理,这些应用服务器在最终得到用户所需的结论之前,相互之间还会进行一定的数据交流和传递。三、web 应用系统的 uml建模方法页面、脚本、表单和框架是 web应用系统的关键部分,数据流程的模型化表示关键就是用 uml对上述 web元素应用及其关系建模,下面对这几种元素的模型化表示作一个简要介绍。1、页面建模。用户在使用 web应用系统时,是通过页
4、面进行系统的操作。在页面建模中可用两个类别模板client page和sever page分别表示客户端页面和服务器端页面。客户端页面的属性是页的作用域中定义的变量,方法是页面脚本中的函数;服务器页面的属性是页面脚本中的变量,方法是脚本中定义的函数。在使用页面信息传递时,还可能出现服务器页面的重定向,在 uml建模中,用类别模板redirect来表示;对于客户端页面和服务器页面的构造关联用类别模板bulid表示,这种关联是一种单向关联,由服务器页面指向客户端页面.在 web应用系统中,还会经常用到的就是超级链接,在 uml建模中,用类别模板link表示超级链接,它的参数模拟为链接属性。2、表单
5、建模。用户的要求一般通过表单与数据库交互。在 uml建模中,表单用类别模板form表示,属性是表单中的域,表单没有方法。表单在处理请求时,要与 web页面交流数据,这个交流过程是用提交按钮 submit来完成,为了在建模中表示这种关系,用类别模板submit表示。3、组件建模。在使用组件技术的 web应用系统建模中,对组件的建模是个重要环节,在 uml基本的图形化建模元素中,设立了专门的组件图。组件在使用过程中,同样的分成了客户端组件(如java applet,activex控件)和服务器端组件。在系统的 uml模型化表示中,用类别模板client component表示客户端组件,用seve
6、r component表示服务器端组件。4、框架建模。框架通过定义类别模板元素frameset来实现,frameset指定并命名各个框架,每个框架容纳一个页面;框架的使用还涉及到目标 target,建模时用target来表示。四、由模型图到代码的转换类图和组件图说明了在基于 web技术的信息交互流程,页面的超级链接和页间的重新导向在代码设计中,由模型图就可以掌握它们之间交互的逻辑,这样使程序编写更富条理性和方便性。如若再比较详细地设计出对象图和顺序图,对于整个系统的类定义和方法设置,会提供更大的方便。在实际编写代码时,通常从下面的设计模型的图中取出规范说明:1类规范:每一个类的规范详细地显示了
7、必要的属性和操作。2类图:类图由类构成,显示了类的结构以及类之间的关系。3状态图:类的状态图显示了类可能具有的状态以及需要处理的状态转移(以及触发转移的操作) 。4动态图(顺序图、协作图和活动图):涉及到类的对象,显示了类中的特定方法如何实现,或对象之间如何使用其它类的对象进行交互。5用例图和规范:当开发者需要了解更多的关于系统如何被使用的信息时(当开发者感到他或她已经迷失在一片细节中) ,他们显示了系统被使用的结果。五、设计原则和理念uml只是一个工具,如果使用得法,uml 能够帮助我们轻松地构造出更好的网站。然而,要设计出优秀的网站,关键仍在于要有一个好的设计原则或理念。“提高类的内聚力,
8、减少不同类之间的联系”这一点在谈到好的面向对象设计时经常被反复引用。一个内聚的类包含那些在目标和作用域上都紧密相关的行为和信息。它意味着我们不应该把构造 ui的代码和实现数学算法的代码混合到一起,应该尽力把所有与用户紧密相关的信息封装到单独类中。内聚式设计是一个重要的设计原则,原因有很多:它有助于减少类之间的依赖关系,使得设计更直观、更容易理解,方便了向其他开发者介绍整个设计,减少了开发者同一时刻需要操作的类的数量,等等。例如,如果你要改变网站的用户身份验证机制,只修改单个文件中的一个类无疑要比修改多个文件、多个类更加方便。“减少不同类之间的联系”意味着使类或者文件之间的交互减到最少。它不仅使得整个设计容易理解,而且也方便了代码的维护。六、uml 建模使 web系统开发迈向成熟web应用系统往往随着客户的需求增长,开发不断深入,最终变得非常复杂,而且以 web为核心的网站系统通常都具有高度的动态扩展和交互,要在不完整和不断改变的需求情况下,在有限的时间内完成一套容易修改和维护的健壮的系统,在 uml出现之前能做好是极其困难的。大多数的 web设计师或程序开发员为了让客(转下页)