




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于struts2的叮当网网上书店系统开发与测试 学 院 专 业 班 级 学 号 学 生 姓 名 联 系 方 式 指 导 教 师 职称: 年 月 基于struts2的叮当网网上书店系统开发与测试摘 要本项目实现了叮当网系统的开发设计和系统测试。叮当网是基于B/S结构,使用Java技术中的SSH框架进行设计实现。叮当网网上书店系统主要是由前台用户购买网站和后台数据管理维护两大部分组成,主要实现了前台用户注册及登录、分类查看图书、关键字搜索图书、图书购买以及后台管理员管理前台注册用户、数据库中图书管理、订单管理、站内新闻管理等功能。本文详细介绍了叮当网的整个开发流程,以及完整的测试过程。经过功能、
2、性能两大方面的测试,该网上书店系统能够满足用户需求。关键词: 网上书店;Java;SSH框架;B/S结构;功能测试;性能测试The Internet Bookstore System Which Named DingdangABSTRACTThis project has realized the system development and testing of the Dingdang online bookstore. This syste
3、m adopts B/S structure, SSH framework design and implement in the Java development technology. Dingdang online bookstore system is formed by two parts. It is an informati
4、on release website in the front and a management maintenance system in the background. This system has many functions, such as the user registration and login, book
5、search, book purchase, backstage user management, books management, order management, station news management, and so on. This paper introduces the whole process of development and
6、 testing. This online book store system meets the demand of users through the function and performance test.Key words: Online BookStore;Java;SSH;B/S;Functional Test;Performance Test目录1. 绪论11.1 选题背景及意义11.2 研究的方向和发展前景
7、12. 相关技术简介及开发环境搭建22.1 B/S结构22.2 MVC开发模式22.3 SSH框架22.3.1 Struts2框架22.3.2 Hibernate框架32.3.3 Spring框架32.4 MySQL数据库技术32.5 开发环境搭建33. 叮当网系统开发可行性分析43.1技术可行性43.2 时间可行性53.3 经济可行性54. 叮当网系统需求分析54.1 功能需求分析54.2 性能需求分析74.3 需求分析相关图形74.3.1 实体关系图74.3.2 数据流图84.3.3 IPO图94.4 数据字典95. 叮当网系统概要设计105.1 系统逻辑结构设计105.2 数据库设计11
8、6. 叮当网系统详细设计146.1 网站结构图146.2 用户界面设计156.3 网页原型设计166.4 数据库安全性设计206.5 UML模型图设计207. 软件编码实现257.1 单元模块设计257.2 模块之间的相互调用298. 叮当网系统测试与维护298.1 叮当网测试计划及目标298.2 叮当网功能测试308.2.1 功能测试需求308.2.2 功能测试用例308.2.3 手工测试用例执行318.2.4 自动化测试用例执行318.2.5 功能测试总结338.3 叮当网性能测试348.3.1 性能测试需求348.3.2 性能测试用例348.3.3 性能测试用例执行358.3.4 性能测
9、试总结358.4 叮当网测试总结36总 结37参考文献38致 谢39基于struts2的叮当网网上书店系统开发与测试1. 绪论1.1 选题背景及意义网络购物这种新兴的购物方式以其独特的高效率、低成本的优势,逐渐形成一种新颖的、独特的经营理念。而网上书店的出现,实现了广大读者能够足不出户就能够方便快捷轻松地选购自己心仪的书籍这一愿望。正因为网上书店系统的快速、健康的发展,以及结合自己大学专业课程的学习情况,选择网上书店系统的设计开发、功能及性能测试作为我的选题研究。由于B/S结构比C/S结构简单,有利于开发工作的完成,也更容易进行维护。因此对于叮当网系统的设计开发我选用B/S结构以及使用SSH框
10、架来完成。1.2 研究的方向和发展前景本文主要对叮当网系统从可行性研究、系统设计、代码实现以及测试几大方面进行理论研究和实践。在叮当网设计开发的过程中,谨遵软件工程学理论,按照软件开发流程,采用数据库和Java Web相结合的开发技术,严格按照系统分析、设计、实施等各个步骤逐步进行。同时参考软件测试中“V模型”,对自己设计开发的这个网上书店系统进行功能、性能测试。我国网上书店的发展前景:(1)起步虽晚,但发展迅速,网上书店的出现不但大大节省了客户的购买时间,而且也为客户提供了比实体书店更为丰富的图书资源,因此受到广大用户的喜爱,这也是其能迅速发展的主要原因;(2)快递行业的迅速发展及其日益完备
11、的送货体系也大大促进了网上购物的发展;(3)越来越多的大型出版社看到了网络销售的巨大潜力,开始运用网络开展自己的业务。因此网上书店还是有很好的发展潜力的。不过网上书店也有自己的弊端:一是,顾客在购买时不能像在实体店里一样全面的了解自己想要购买的图书;二是网站的设计,多数网站都存在信息量小、缺乏吸引力更新不及时等弊端。因此要想更好地发展就要做到丰富图书的简介、内容信息、图片信息,同时也要优化网站的页面设计,及时维护更新,研究顾客浏览、查询心理,优化网站界面设计,合理地设置导航栏目,使整个页面简单大方、美观且方便用户操作。2. 相关技术简介及开发环境搭建2.1 B/S结构叮当网采用浏览器客户端、T
12、omcat服务器、数据库组成的B/S结构。B/S结构有许多的优点,比如:操作比较简单,不需要安装其他任何专门的软件,只需通过浏览器即可对系统进行访问操作,且维护起来比较简单,可以跨多个平台进行操作等等。整个系统主要是利用Struts2框架和ADO数据库接口技术的相关知识来进行设计和开发。叮当网就是通过划分表示层、应用逻辑层和数据层这样的分层结构实现的9。2.2 MVC开发模式 MVC是一种开发设计模式,它强制性的把应用程序的输入、处理和输出分开8。它的实现原理是:每当由于事件的触发使得控制器改变对象数据模型或是交互视图。因为Model的数据、属性的改变常常会使得与之相关的进行交互的视图也会随之
13、发生改变,因此称Model为“业务逻辑”。同样地,只要View发生了改变,它也会调用相应的模型数据刷新交互页面上的数据信息。在MVC开发模式中,表示层和逻辑层相互分离,各部分都可以独立进行开发,这样便于开发和维护,提高了软件开发效率。2.3 SSH框架SSH框架包括Struts(表示层)、Spring(业务层)、Hibernate(持久层)。表示层主要用来设计JSP交互页面,让用户通过可视化的界面向服务器提出交互请求,同时也被用来显示服务器响应用户请求后的处理结果。Hibernate持久层主要是用来与数据库进行集成、持久化操作。Spring整合框架主要是用来控制管理表示层和持久层。叮当网系统的
14、表示层采用的是Struts2框架。2.3.1 Struts2框架Struts2框架工作简要流程如下:(1)用户通过浏览器在交互页面提出HTTP请求;(2)根据web.xml配置,该请求被核心控制器FilterDispatcher接收;(3)根据配置问文件struts.xml,调用相对应的业务控制器Action类和方法,并将请求的数据注入给Aciton;(4)Action调用相对应的业务逻辑组件处理;(5)Action执行完毕,根据配置文件找到相对应的返回结果,并实现界面跳转;(6)服务器将处理结果通过交互界面返还给用户。2.3.2 Hibernate框架Hibernate是一个开源的对象关系映
15、射(ORM)框架,主要是对JDBC进行了轻量级的对象封装,使我们能够用对象编程思维来操纵数据库9。且Hibernate框架具有:提高生产力、更面向对象化、移植性好、透明持久化等优点。因此通常在不需要特定SQL优化的时候适合使用Hibernate框架集成数据库,如果要批量的进行更新、删除都不适合,包括统计,这个用IBatis(SQL映射)比较好。2.3.3 Spring框架Spring是一个轻量级的IOC和AOP框架,主要是作为控制器来使用。对SSH框架中的表示层和数据持久层实现控制、管理、调用。2.4 MySQL数据库技术因为MySQL数据库与SQL Server数据库相比体积小,占据内存空间
16、小不会过度占用操作系统资源,运行速度快。因此在进行叮当网数据库设计时选用了更合适的MySQL数据库。除此之外MySQL还具有以下优点:(1)性能高效、稳定,其源码是用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性;(2)开放源代码;(3)多用户支持;(4)开放性;(5)支持大多数的开发语言,如:C、C+开发语言Java、Perl、PHP和Python等等;(6)支持大数据库处理等等10。2.5 开发环境搭建叮当网系统开发工作要是在Java环境下利用MyEclipse6.5开发工具对页面模块的界面设计及后台数据库连接管理的操作。使用的是MySQL 5.0对数据文件进行管理和保存,
17、两者结合优势互补,做到高效率、规范化、科技化。该网上书店系统的开发调试及最后项目的发布均在Tomcat服务器上部署。具体开发环境要求如表 2-1:表2-1 开发环境要求硬件环境软件环境客户机CPU: P4 1.8GHz操作系统Windows 7,XP内存:1GB以上数据库MySQL 5.0分辨率:推荐使用1024*768像素开发工具包JDK 1.6Web服务器CPU: P4 1.8GHzJSP服务器Tomcat 6.0内存:256MB以上浏览器IE7.0(及7.0以上版本)数据库服务器CPU: P4 1.8GHz开发工具MyEclipse 6.5内存:1GB以上其他工具PhpStudy(MyS
18、QL可视化)3. 叮当网系统开发可行性分析3.1技术可行性从技术条件方面考虑叮当网系统项目的可行性的话,具体要求如下:(1) 在当前的限制条件下,叮当网系统的功能目标是否能达到。(2) 利用现有的技术,叮当网的功能是否全部实现。由于 WWW服务的基础是HTML语言,因此叮当网系统各个模块中使用的Jsp技术是基于HTML语言的基础之上的,并且使用框架对网页的对象模型进行编程。目前,Java技术已经日渐成熟,在现有的技术条件下,能够完成功能目的。(3)对参与系统开发的人员数量和质量要求,并说明这些要求是否满足下列条件:会用Java语言进行程序开发,且时间充足,能够参与到叮当网项目开发中去;能够参与
19、到叮当网系统设计中去,按开发流程完成概要设计和详细设计;有比较好的文字功底,可以完成文档的设计整理工作等;有一定的测试基础,明确测试流程,选择合适的测试工具和方法,能够按时完成测试工作;有一定的网页设计(HTML+CSS)、Photoshop基础,能够完成网站的美工设计。(4)根据自己的实际情况进行详细分析,在规定的期限内开发是否可以完成。3.2 时间可行性该网上书店系统项目从2015年1月8日开始进行分析设计,根据实际情况要在2015年4月 20日左右完成论文初稿。因此叮当网的源码开发工作要在2015年3月28日之前完成。在此之前需要完成实现的工作如下:(1)2015年1月8日之前明确用户需
20、求,做好叮当网系统需求分析;(2) 制定叮当网项目开发计划,按照计划及时展开开发工作;(3) 要做好处理突发状况的准备,比如在开发过程中遇到不能解决的技术问题,要及时找寻帮助,争取能在计划内按时完成整个系统的开发工作。3.3 经济可行性本节从经济条件方面考虑该网上书城系统项目的可行性,主要从两大方面:一方面是是开发整个系统需要用到的设备工具等所需的费用,因为该网上书店系统主要用于本科生毕业设计使用不用做商业用途看,开发工具都是开源免费的,硬件是使用的是自己的个人计算机,整个开发过程不需要投入过多费用;另一方面是从该网上书店系统本身能创造的经济价值来作为考虑条件,网上书店系统不但以减少卖家对房租
21、等的开支,减少卖家交易成本,而且喜欢图书的朋友也可以用低于市场价的价格买到自己所需要的图书,还可以节省出门利用交通工具带来的开支。因此这是一个双赢的经营模式。所以不管是从前期投入还是该系统的经济价值来考虑都是可行的。4. 叮当网系统需求分析4.1 功能需求分析通过对叮当网系统的功能、用途进行初步分析,在该网上书店系统中,主要用户角色有以下几种:表4-1 网上书店系统用户角色分析角色角色功能描述普通用户登录到叮当网前台子系统、注册会员、购买图书、查看订单发货状态、叮当网后台管理员登录到叮当网后台数据管理子系统、查询、添加、删除、修改员工个人信息叮当网普通员工登录到叮当网后台数据管理子系统、对图书
22、、订单进行管理、对首页的新闻、广告进行管理、对图书的评论进行管理、对图书的库存、进货进行管理对叮当网用户角色进行详细分析,根据角色功能描述可以得出叮当网系统的具体功能需求如下:(1)叮当网前台管理子系统功能需求:用户注册、登录系统、修改个人详细信息、图书信息按类别分类显示、单个图书详细内容的显示、购物车功能的实现(创建购物车,可以修改购物车中图书的数量,添加不同种类的图书)、订单信息显示功能的实现、现实站内新闻信息,查看某条新闻的具体内容。(2)叮当网后台数据管理子系统功能需求:后台管理员按权限登录验证,拥有叮当网普通员工权限的员工对会员级别、前台注册会员、图书、图书类别、新闻、新闻栏目、订单
23、处理、等进行管理;而拥有叮当网后台管理员权限的员工可以对普通员工进行管理,可以修改普通员工的管理权限,甚至是删除普通员工。(3)组织/功能分析管理员管理板块:登陆之后查看个人信息;修改个人信息;管理员订单管理模块:查看订单详细信息、修该订单处理状态,删除订单;管理员新闻管理模块:添加新闻信息、删除单个新闻信息、修改单个新闻信息、发布单个新闻信息;图书管理模块:添加单本图书信息、删除单本图书信息、修改单本图书信息、发布单本图书信息;用户管理模块:查看所有前台注册用户的信息;删除前台注册用户、用户按享受优惠力度进行级别设置(VIP用户、普通用户等);书城快讯模块:获取书城新闻列表;查看单个新闻的详
24、细信息;修改/编辑新闻信息;删除/更新新闻信息。普通用户管理模块:新用户注册、登录前台购买系统、修改个人详细信息;用户信息模块:查看个人信息;修改个人详细信息以及密码。图书购买模块:用户将需要购买的书本添进到购物车、可以选择继续购物(跳转到网站首页继续选购图书)、提交订单、生成订单、查看订单状态、取消订单。4.2 性能需求分析叮当网网上书店系统的性能要求分析如表 4-2:表4-2 网上书店系统性能需求主要质量属性详细要求正确性确保叮当网在不同操作平台之间进行数据传递和显示时不会出现乱码等缺陷健壮性在叮当网运行时能正确扑获数据异常,或对灾难性错误进行数据恢复可靠性对叮当网数据库里的数据校验,能正
25、常读取数据库中的信息性能,效率高效,实用易用性操作简单清晰性流程清晰易懂,用户能够快速明白操作流程安全性数据校验能够正常提示错误信息可扩展性在不影响核心功能的前提下对当前需求进行功能方面的扩展兼容性在多种硬件环境配置下都能够正常运行可移植性移植到其他操作系统平台上也能够正常运行4.3 需求分析相关图形4.3.1 实体关系图叮当网采用实体关系图(简称ER图)来描述其概念模型5。其中,每个“用户”可以购买若干本“图书”,“用户”和“图书”的关系是“购买”,是1对多的关系。N个“后台管理员”管理M本“图书”,后台管理员和图书的关系是管理,是多对多的关系。“后台管理员”与“前台用户”的关系同上,也是多
26、对多的关系。用户的属性:编号、用户名、密码、真实姓名、会员级别、电话、邮编、邮箱、详细地址。图书的属性:图书编号、图书名、作者、定价、库存量、图片、销售量、出版社、简介。后台管理员的属性:编号、姓名、密码、权限。叮当网网上书店系统中,用户与图书、后台管理员的实体-关系图如4-1所示:用户图书后台管理员用户名编号详细地址电话邮箱会员级别邮编密码图书编号姓名真实姓名编号权限简介出版社密码购买图片图书名作者定价库存量销售量管理图4-1 网上书店系统E-R模型4.3.2 数据流图叮当网系统主要分为图书管理、用户订购管理、用户信息管理3大模块,其数据流图如图 4-2 所示:图4-2 数据流图4.3.3
27、IPO图IPO图是处理输入/处理/输出图的简称5。根据叮当网系统的数据输入、处理、输出情况分析,该系统的IPO图如图 4-3 所示:图4-3 IPO图4.4 数据字典数据字典可作为建立数据库的依据,带“#”的是数据表中的关键字5。该网上书店系统的数据字典如下:(1)会员信息=注册会员编号+注册会员级别+用户名+密码+真实姓名+电话+详细地址+邮编+注册时间+邮箱+会员积分(2)图书信息=图书编号+图书单价+图书进价+图书类型+(图书折扣)+库存(3)供货商信息=供货商编号+地址+联系人+联系人电话(4)库存=图书编号+库存量(5)进货=图书编号+数量+图书进价+供货商编号+进货日期(6)退货=
28、图书编号+数量+退货原因+日期(7)换货=图书编号+数量+换货原因+日期(8)缺货=图书编号+数量+日期(9)明细账=销售|进货|换货|退货5. 叮当网系统概要设计5.1 系统逻辑结构设计数据库的逻辑结构设计的任务就是把实体关系图(ER图)转化为与数据模型相符合的逻辑结构(包括数据库模式和外模式)5。E-R图向关系模式转换时,每个实体集可以用一个关系模式来表示,实体集的属性将会被转化成关系的属性,联系的种类可以是1:1的关系,也可以是1:N的关系,或者是N:M的关系5。按照关系模式的转换规则,可以得到叮当网的数据库关系模式为:(表示主键,#表示外键)用户表:(用户编号、用户名、密码、详细地址、
29、电话、邮箱、真实姓名、会员级别、邮编)图书:(图书编号、图书名、类别编号、作者、出版社、定价、库存量、图片、简介、进货时间、销售量)评论表:(评论编号、用户编号、图书编号、内容、评论时间)订单表:(订单编号、用户编号、购买数量、总金额、真实姓名、联系电话、发货地址、邮政编码、订购日期、订单状态)订单详情表:(订单编号、图书编号、图书数量、图书单价)图书类别表:(图书类别编号、图书类别名称)购物车表:(购物车编号、购买图书的编号、购买图书的单价、购买图书的书名、购买图书的数量、购买图书的总价)超级管理员表:(用户编号、用户名、密码)员工表:(员工编号、员工名、密码、员工权限)新闻、广告表:(新闻
30、广告编号、员工编号、内容)5.2 数据库设计根据上文所得到的数据库关系模式设计数据库表,该网上书店系统的数据表如下:(1)数据表汇总:表5-1 数据表汇总英文表名中文表名功能说明member会员表理存储会员信息memberleval会员级别表储存会员级别信息merchandise图书表存储图书信息leveword评论表存储评论信息orders订单表存储订单信息category类别表存储类别信息cart购物车表存储购物车信息admin管理员表存储管理员信息memberlevel会员等级表存储管员工信息news新闻表存储新闻信息newscolumns新闻类别表存储新闻类别信息newsrule新闻采
31、集规则表储存新闻采集规则信息cartselectedmer购物车选购商品表存储购物车选购商品信息(2)用户表表5-2 用户表列名数据类型(精度范围)空/非空约束条件注释IDint(11)非空主键用户编号MemberlevelIDint(11)空 用户级别LoginNamevarchar(20)空用户名LoginPwdvarchar(50)空密码MemberNamechar(12)空用户真实姓名Phonevarchar(40)空电话续表5-2Addressvarchar(100)空地址Zipchar(6)空邮编RegDatedatetime空注册时间LastDatedatetime空登录持续时间
32、LoginTimesint(11)空登录时间EMailvarchar(100)空邮箱Integralint(11)空会员积分(3)用户级别表表5-3 用户级别表列名数据类型(精度范围)空/非空约束条件注释IDint(11)非空主键会员级别编号LevelNamechar(20)空级别名称Integralint(11)空会员积分Favourableint(11)空折扣比例(4)图书表表5-4 图书表列名数据类型(精度范围)空/非空约束条件注释IDint(11)非空主键图书编号CategoryIDint(11)空图书类别编号MerModelvarchar(40)空类别名称Picturevarchar
33、(100)空图书图片MerNamevarchar(50)空图书名称Pricedecimal(8,2)空单价SPricedecimal(8,2)空折扣价MerDesctext空图书详细信息Numberint(20)空数量Manufacturervarchar(50)空出版社LeaveFactoryDatedatetime空出版日期Specialint(11)空销售量HtmlPathvarchar(100)空Html路径Statusint(11)发布状态(5)评论表表5-5 评论表列名数据类型(精度范围)空/非空约束条件注释IDint(4)非空主键评论编号Memberint(4)非空会员Admin
34、int(4)空管理员续表5-5Titlechar(60)空评论标题Contenttext评论内容LeaveDatedatetime空评论时间AnswerContenttext回复评论内容AnserDatedatetime空回复评论时间(6) 购物车表表5-6 购物车表列名数据类型(精度范围)空/非空约束条件注释IDint(11)非空主键购物车编号MemberIDint(11)空外键会员编号Moneydecimal(9,2)空购买书本价钱CartStatusint(11)空购物车状态(7)购物车选购图书表表5-7 购物车选购图书表列名数据类型(精度范围)空/非空约束条件注释IDint(11)非空
35、主键订单编号CartIDint(11)空外键购物车编号MerchandiseIDint(11)空外键商品编号Numberint(11)空商品数量 Pricedecimal(8,2)空商品单价钱Moneydecimal(9,2)空商品总价钱(8)订单表表5-8 订单表列名数据类型(精度范围)空/非空约束条件注释orderidint非空主键订单编号useridint非空外键会员编号buynumbervarchar(50)空购买数量totalpricevarchar(50)空总金额tellphonevarchar(20)空联系电话 useraddressvarchar(50)空发货地址postvar
36、char(20)空邮编ordertimedatetime空订单日期orderconditionint空订单状态(9)图书类别表表5-9 图书类别表列名数据类型(精度范围)空/非空约束条件注释IDint(11)非空主键大类别编号ParentIDint(11)空小别内容CateNamevarchar(50)空类别名称(10)管理员表表5-10 管理员表列名数据类型(精度范围)空/非空约束条件注释IDint(11)非空主键管理员编号LoginNamevarchar(20)空用户名LoginPwdvarchar(50)空用户密码Privilegesvarchar(50)空权限6. 叮当网系统详细设计6
37、.1 网站结构图叮当网书店系统的网站结构图:图 6-1前台部分图 6-2后台部分6.2 用户界面设计(1)同类型网站(参考网站)分析:图6-3 当当网主界面网站名称:当当网 网址: 设计风格:暖色调Logo设计:简单大方网页设计:分类清晰明确、整体界面设计简洁、大方、美观(2) 叮当网网上书城系统基本要素设计:(3) 网站Logo设计:叮当网/Dingdang 图6-4 Logo (3)网站域名: 推荐域名:http:/loaclhost:8080/dingdang/index.jsp 备选的域名: (4)设计风格定义:简约型与清爽型相结合,整体简单大方 (5)标准色定义: 主色:#FFFFF
38、F 辅色:#6290B2 (6)规格定义:建议使用IE浏览器,屏幕分辨率为1366*8606.3 网页原型设计Axure是创建线框图、快速原型和规格文档的优秀UX工具11。叮当网就是使用Axure工具进行界面原型设计的,具体的设计结果如下。(1) 首页面原型图首页面原型图图6-5 首页面原型图(2) 详细分析类页面原型图图6-6 详细分类页面原型图(3) 单本图书信息页面原型图图6-7 单本图书信息页面原型图(4) 后台登录页面原型图图6-8 后台登录页面原型图(5) 后台主页面原型图图6-9 后台主页面原型图(6) 会员管理页面原型图图6-10 会员管理页面原型图(7) 添加会员页面原型图图
39、6-11 添加会员页面原型图6.4 数据库安全性设计当叮当网系统访问MySQL数据库读取数据时,数据库的访问主要是先对用户进行身份校验确认。验证通过后,再通过服务器检查授权表看该用户是否有足够的权限执行查询,这个阶段将会持续到系统与服务器的对话结束。对于叮当网系统的数据的管理与维护,例如数据库的导入与导出,可以直接用相关的软件,直接进行导入、导出数据库,也可以以各种形式导出。因为mysql数据库占用内用空间比较小,所以一般情况下也不用备份。6.5 UML模型图设计业务模型主要用来描述现状,叮当网在开发完成之前所需要解决的问题并不等同于业务,而是需要从业务中抽取出叮当网系统需求,这个抽取的过程就
40、是需求建模的过程。UML提供的用例是一种比较有效的需求建模手段4。因此,叮当网系统采用UML面向对象分析与设计来建立需求模型,并在Rational Rose 中画出用例图和活动图,如下。1、游客浏览网站用例图: 图6-12游客浏览网站用例图2、会员购买图书用例图:图6-13会员购买图书用例图3、后台管理系统用例图:图 6-14后台管理系统用例图4、游客浏览网站活动图:图6-15游客浏览网站活动图5、后台超级管理员活动图:图6-16 后台超级管理员活动图6、会员购买图书活动图:图6-17 会员购买图书活动图7、后台员工管理模块活动图:图6-18 后台员工管理模块活动图7. 软件编码实现7.1 单
41、元模块设计每个单元模块都通过调用相应Action,通过action中的方法来实现各个单元模块的功能。如:后台管理员、购物车、图书类别、新闻栏目、新闻采集、会员管理、图书管理、订单管理等模块也是调用相应的Action:AdminAction、CartAction、CategoryAction、ColumnsAction、CrawlAction、MemberAction、MerchandiseAction、OrdersAction来实现各个模块相对应的功能。下面对后台管理员模块进行详细分析:定义类AdminAction,并继承ActionSupport类,实现ModelDriven<Admi
42、n>这个admin泛型接口:public class AdminAction extends ActionSupport implements ModelDriven<Admin>/* 通过依赖注入AdminService组件实例 */AdminService service;/* 系统用户管理所有请求中常用的参数值 */private String rand; /随机验证码private String actionMsg;/Action间传递的消息参数private List<Admin> adminList;/系统用户列表/采用模型驱动private Admi
43、n model=new Admin();/用于封装系统用户属性模型public Admin getModel() return model;定义登录Login方法,用来实现后台管理员登录功能:/* 处理登录请求 */public String login()if(!rand.equalsIgnoreCase(String)ServletActionContext.getRequest().getSession().getAttribute("rand")addActionError(getText("login_rand_error");return &
44、quot;login"elseAdmin tempAdmin = service.adminLogin(model.getLoginName(), MD5.MD5Encode(model.getLoginPwd();if(tempAdmin!=null)ServletActionContext.getRequest().getSession().setAttribute("admin",tempAdmin);return "index"elseaddActionError(getText("login_fail");retu
45、rn "login"处理已登录用户注销登录请求:/* 处理注销请求 */public String logout()ServletActionContext.getRequest().getSession().invalidate();return "login"处理浏览系统用户方法:/* 处理浏览系统用户请求 */public String browseAdmin()if(actionMsg!=null)try actionMsg = new String(actionMsg.getBytes("ISO8859-1"),"
46、gbk"); catch (UnsupportedEncodingException e) e.printStackTrace();addActionMessage(actionMsg);adminList = service.browseAdmin();return SUCCESS;实现新增用户和删除用户功能:/* 处理新增系统用户请求 */public String addAdmin()Admin tempAdmin = new Admin();tempAdmin.setLoginName(model.getLoginName();tempAdmin.setLoginPwd(MD
47、5.MD5Encode(model.getLoginPwd();tempAdmin.setPrivileges(model.getPrivileges();if (service.saveOrUpdateAdmin(tempAdmin)addActionMessage(getText("admin_add_succ");elseaddActionMessage(getText("admin_add_fail");return SUCCESS;/* 处理删除系统用户请求 */public String delAdmin()if (model.getId()
48、!=null)if (service.delAdmin(model.getId()actionMsg = getText("admin_del_succ");elseactionMsg = getText("admin_del_fail");elseactionMsg = getText("admin_del_fail");return "toBrowseAdmin"实现查看用户和装载系统用户的功能:/* 处理查看系统用户请求 */public String viewAdmin()if (model.getId()
49、!=null)Admin tempAdmin = service.loadAdmin(model.getId();if (tempAdmin!=null)model.setLoginName(tempAdmin.getLoginName().trim();model.setPrivileges(tempAdmin.getPrivileges().trim();return SUCCESS;elseactionMsg = getText("admin_view_fail");return "toBrowseAdmin"elseactionMsg = get
50、Text("admin_view_fail");return "toBrowseAdmin"/* 处理装载系统用户请求 */public String editAdmin()if (model.getId()!=null)Admin tempAdmin = service.loadAdmin(model.getId();if (tempAdmin!=null)model.setLoginName(tempAdmin.getLoginName().trim();model.setPrivileges(tempAdmin.getPrivileges().tr
51、im();return SUCCESS;elseactionMsg = getText("admin_edit_fail");return "toBrowseAdmin"elseactionMsg = getText("admin_edit_fail");return "toBrowseAdmin"实现更新系统管理员个人信息的功能:/* 处理更新系统用户请求 */public String updateAdmin()Admin tempAdmin = service.loadAdmin(model.getId();
52、tempAdmin.setLoginName(model.getLoginName();if (model.getLoginPwd()!=null&&model.getLoginPwd().length()>0)tempAdmin.setLoginPwd(MD5.MD5Encode(model.getLoginPwd();tempAdmin.setPrivileges(model.getPrivileges();if (service.saveOrUpdateAdmin(tempAdmin)addActionMessage(getText("admin_edit
53、_succ");elseaddActionMessage(getText("admin_edit_fail");return INPUT;7.2 模块之间的相互调用当各个单元模块开发完成后,要将这些单元模块集成起来完成整个系统的功能实现,主要是通过单元模块之间的相互调用来实现。内聚主要是从功能角度来度量模块内的联系,它描述的是模块内的功能联系3。耦合是软件结构中各单元模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据4。因此,在代码设计实现过程中最好要遵循“高内聚,低耦合”的原则。8. 叮当网系统测试与维护8.1 叮当网测试计划及目标(1)叮当网测试计划编写目的:通过制定详细、合理的测试计划,完成叮当网的测试工作。根据开发设计中的需求分析描述叮当网的特性、选择测试方法、测试环境的搭建、选择合适的测试用例设计方法、明确测试策略。(2)叮当网测试目标:对叮当网的功能需求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年阿坝藏族羌族自治州若尔盖县数学三上期末学业质量监测试题含解析
- 2024年鹰潭市贵溪市三年级数学第一学期期末质量检测试题含解析
- 2024年丽江地区玉龙纳西族自治县三年级数学第一学期期末学业质量监测模拟试题含解析
- 2024年佳木斯市数学三年级第一学期期末监测模拟试题含解析
- 公共营养师培训之第五章 技能课件
- 2025年临床操作考核试题及答案
- 文化交流中的价值观碰撞与融合试题及答案
- 职业道德案例分析试题及答案
- 主管护师考试创新思维试题及答案
- 主管护师考试策略与试题及答案
- 晋祠完整分享
- 机器视觉系统应用(中级) 课件 5.4书签缺陷检测系统联调
- 事业单位代报名委托书
- 保温安全生产管理制度
- 2023年中国铁路沈阳局集团有限公司招聘高校毕业生考试真题
- 大客户销售:谋攻之道
- 建设单位与施工单位安全生产协议书 标准版
- 企业零代码应用开发白皮书-2023.03
- 装在套子里的人公开课
- 英文电影鉴赏知到章节答案智慧树2023年北华大学
- (完整版)一年级必诵童谣、儿歌
评论
0/150
提交评论