○9 部署图(Deployment Diagram):部署图用来描述系统的实际物理结构。
图2.3 UML的视图及其关系
Figure2.3 the UML Views and their Relationship
有关UML视图的描述以及其与图之间的对应关系见表2.1。
表2.1 UML视图简介及其与UML图对应表 Table2.1 UML View Introduction and the Correspondence with UML Diagram 概述 使用者 对应的UML图 用例视描述系统应该交付的功能,即外客户、设计人员、用例图、活动图 图 部参与者所看到的功能。 开发人员以及测试人员 逻辑视描述如何实现用例视图中提出的设计人员、开发人静态图(类图、对象图 那些系统功能,可以细分为静态员 视图和动态视图。 图)动态图(状态图、活动图、顺序图和协作图) 并发视描述系统的非功能性特性,它将开发人员、系统集状态图、协作图、组图 系统划分为进程和处理器。 成人员 件图和部署图 组件图 组件视描述系统的实现模块以及它们之开发人员 图 间的依赖关系。
部署视显示系统的物理部署。 图 开发人员、系统集部署图 成人员和测试人员 其中顺序图和协作图统称为交互图(Interactive Diagram)。上述UML的九种图共同合作从不同侧面来描述建模的系统,即通过不同的视图(View)显示被建模系统的不同方面。这里视图是一个抽象的概念,它是由许多图(Diagram)组成的一个抽象。每个视图显示该系统的一个特定方面,只有通过多个视图才能构造出该系统的完整描绘。UML从逻辑上包含五种视图:用例视图(Use Case View)、逻辑视图(Logical View)、组件视图(Component View)、并发视图(Concurrency View)和部署视图(Deployment View)。UML各种视图之间的关系如图2.3所示。 2.3 系统架构及实现技术 2.3.1 C/S与B/S架构 软件体系结构的风格很多,但最主要也是最常见的不外乎客户机/服务器(Client/Server, C/S)风格和浏览器/服务器(Browser/Server, B/S)风格[20]。 (1) C/S架构的优势与劣势 C/S模式又称C/S结构,是软件系统体系结构的一种。C/S模式简单地讲就是基于企业内部网络的应用系统。与B/S模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用[17]。C/S软件体系结构如图2.4所示。
图2.4 C/S体系结构
Graph2.4 the Software Architecture based on C/S
1 应用服务器运行数据负荷较轻 ○
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序,二者可分别称为前台程序与后台程序。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。 2 C/S架构的劣势是高昂的维护成本且投资大 ○首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。 其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。 (2) B/S架构的优势与劣势 B/S模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet)等访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪[17]。B/S软件体系结构如图2.5所示。
图2.5 B/S软件体系结构
Graph2.5 the Software Architecture based on B/S
1 维护和升级方式简单 ○
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。所有的操作只需要针对服务器进行,而无须对客户端的浏览器进行升级和维护。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
2 应用服务器运行数据负荷较重 ○由于B/S架构管理软件只安装在服务器端上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端完全通过WWW浏览器实现,极少部分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。 (3) 本系统体系结构的选择 鉴于上述B/S体系结构具有分布式和维护升级方便等优点,考虑到快递物流公司一般具有多个站点,且站点之间相距遥远,本系统采用B/S体系结构。 2.3.2 动态网站开发技术的选择
目前,最常用的三种动态网页语言有PHP(Hypertext Preprocessor),ASP(Active Server Pages)和JSP(Java Server Pages)[16]。
(1) PHP
PHP是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语法,并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。
PHP是完全免费的开源产品,不用花钱,Apache和Mysql也是免费开源的,在国外非常流行PHP和Mysql搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的Apache+PHP+Mysql。通常认为这种搭配的执行效率比IIS+ASP+Access要高,而后者的使用还必须另外交钱给微软。 (2) ASP ASP是微软的Windows IIS系统自带的脚本语言,利用它可以执行动态的Web服务应用程序。ASP是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 (3) JSP JSP是Sun公司推出的一种动态网页技术。JSP技术是以Java语言作为脚本语言的,熟悉JAVA语言的人可以很快上手。 JSP本身虽然也是脚本语言,但是却和PHP、ASP有着本质的区别。PHP和ASP都是由语言引擎解释执行程序代码,而JSP代码却被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。因此普遍认为JSP的执行效率比PHP和ASP都高。
JSP最大的好处就是开发效率较高,JSP可以使用JavaBeans或者EJB(Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理,但是这种网站架构因为其业务规则代码与页面代码混为一团,不利于维护,因此并不适应大型应用的要求,取而代