4.5. 层次方框图
第5章. 概要设计
5.1. 系统分析
本系统可以实现网上的在线订餐,顾客通过网上浏览餐品并进行选择产生订单。同时,管理端可以汇总订单,浏览订单,并通过订单结果修改餐品相应信息,更新餐品信息,浏览顾客的评价等等。方便顾客的订餐,以及网页餐品信息的管理。系统包括管理端子系统和客户端子系统。
客户端子系统包括用户注册、用户登录、个人信息维护、食品信息浏览、维护购物车、生成订单。管理端子系统包括登陆管理,维护顾客信息,维护餐品信息,管理订单。图B-1和B-2为客户端和管理端的组成结构图。
B-1客户端子系统图示
B-2管理端子系统图示
5.2. 体系结构
系统的总体结构设计遵循如下原则:
1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面 的要求;
2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证在以后的实际应 用中安全、可靠;
3)系统应具有较好的安全性:应提高完善的安全机制和用户权限限制机制,确保数据 的受限访问;
4)系统应具有良好的可维护性:系统应易于维护、安装;
5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便得进行功 能扩展,以建立完善的信息集成管理体系。
本系统采用struts体系结构,Struts 是一个基于模型 (Model) -视图 (View) -控制
器 (Controller)(MVC) 模式的应用架构的开源框架。
目前软件项目中有很多的体系结构,其中struct是比较流行的一种。
? Struct体系结构
对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着Web开发技术的日趋成熟,在web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。在Strcut框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionSevelet和Action来实现,视图由一组JSP文件组成,图B-5显示了Struct实现的MVC框架。
其中:
视图:就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如Struct标签库的标签。此外,通常将Strcut框架中的ActionForm Bean也划为视图模块中,ActionForm Bean是一种JAVABEAN,除了具有一些JAVABean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置默认值。Struct框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。Strcut框架将用户输入的表单数据保存在ActionForm Bean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用Strcut标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。 控制器:控制器由ActionServlet类和Action类实现,ActionServlet类是Struct框架中的核心
组件。是这个MVC的中央控制器的角色,ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。 模型:模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。
如果在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。
Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。
? 网络结构图