表示层发生变化,需要从JSP迁移,数据持久化代码是否需要重新编译。如果业务逻辑层发生了变化,那么数据持久化逻辑代码是否需要重新编译。如果底层数据持久化机制发生了改变(如更换数据库类型),系统中的非数据持久化部分代码(包括表示层,业务逻辑层)是否需要重新编译。
3.3 系统架构设计
系统是有Struts和Hibernate架构合并组成,其结构如下
Struts框架
Struts是Apache基金会的一个Open Source项目,基于Sun J2EE平台的MVC框架,主要采用Servlet和JSP技术来实现,能够很好地帮助Java开发者利用J2EE开发Web应用,也是面向对象设计。实现重点在C(Controller),包括ActionServletRequestProcessor和我们定制的Action,也为V(View) 提供了一系列定制标签(Custom Tag)。 Hibernate框架
Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。 Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。
3.4 系统详细设计
网上书店系统的开发过程可借鉴软件工程的有关思想,开发模式不能照搬原来的瀑布模型(需求分析-概要设计-详细设计-代码-调试-维护),也不适宜用快速原型来开发,而是采用循环的开发模式,即系统流程分析、系统策略分析、数据库设计、系统功能模块、系统测试。 3.4.1 系统流程分析
所谓系统流程,就是用户使用本网上书店系统的工作过程。系统流程分析 是系统分析的重要组成部分,也是系统设计的重要基础。本系统的流程是从首 页开始,对用户身份进行认证,然后分别赋予不同的权限。如图.42所示。
系统用例图描述了顾客和各类信息管理员通过登录本模块,进入不同的系统界面或管理模块对其所管理的模块进行相应操作。图书信息管理员通过图书管理模
块可以添加、删除、修改书的种类和书;特价书籍信息管理员通过特价书籍信息管理模块可以添加、删除、修改每天的特价图书;用户管理员通过用户管理模块可以创建、删除、修改不同信息管理员的用户名和密码;订单管理员通过订单管理模块负责查看订单,检查库存是否有订单的图书,然后将图书发送给顾客,若库存不存在该图书,则需要及时联系用户和填写图书请购单;顾客反馈信息管理员通过顾客反馈信息管理模块查看每个客户的反馈意见,及时处理不满意见和填写不满意见处理表。同时也反应了顾客通过Internet网访问网上书店可以进行的操作。首先顾客需要登录网上书店系统(即注册为会员)才可以选购图书,如果不是会员但可以方便的查看图书的信息、了解每天的特价书,会员可将选购的图书放入购物车里,并对购物车进行添加、删除、修改等操作,还可以填写反馈意见。见图.43系统分析用例图。
3.4.2 系统模块图
整个系统的功能模块划分不仅包括系统的模块的划分还有系统的导航功能设置,用户登录以后进入在线购书模块,用户可以购书,也可以查看图书信息,查询图书可以通过关键字,也可以通过分类查询。当用户找到自己需要的书籍以后可以选择购买,也可以查看图书的详细信息。这时候如果用户选择购买的话,他可以选择购买的数量,并将书籍放到购物车中,这个时候用户就可以去查看购物车信息,购物车中罗列了用户购物的清单(订单),用户可以查看订单信息,修改订单信息。比如说修改书籍的购买数量,或者删除前面购买的书籍。这时用户可以提交购物车到后台结帐,也可以选择继续购书。继续购书就是按照前面的流程在循环的走下去。用户提交购物车以后,订单就不能再被用户修改了。这个时侯用户的流程就走完了。服务器在收到用户提交的订单信息以后,可以确认用户的信息,可以管理订单,比如删除订单或者修改订单的状态,把未付款状态修改成己付,并决定发货(通过修改发货状态信息)。
在整个系统中根据角色划分出来的客户端和管理员他们所完成的任务各不相同。
客户端完成的功能模块主要包括:个人信息管理,前台订单处理,购物车处理,
浏览图书信息、反馈图书信息。
管理员完成的功能模块主要包括:用户管理,订单管理,图书管理,特价图书管理、反馈信息管理、系统管理。
他们功能的详细划分前面在需求分析时已经作过讨论,这里我们就不在详细阐述了,详情如图4.4系统模块图。
3.5 数据库设计
由于网上购书网站是一个BC系统,所以在数据库的需求方面,需要为用户、管理员、书籍建立表。
同时对于每本书,用户可以进行评论,用户也可以进行购买图书,所以在系统的数据库中必须为评论和订单必须建立表。同时书籍有种类,所以必须建立书籍种类表。
对于网上购书系统还有管理员,所以为管理员必须建立一个表。
同时对于用户的一些信息,例如工作、城市、省份这些信息都是现有的信息,所以需要建立单独的表。这样就能够减少数据库中数据的冗余。
所以总结上述原因,可以初步得出以下表:
表单 USER COMMENT
表单名称 用户表 评论表
相关推荐: