毕业设计-Net“只因漫画”漫画刊物管理系统 (案例分析)-附源码

摘 要

21世纪,全球网络化,科技在突飞猛进。我们的生活也随之发生了极大的变化。随着计算机的普及,我们社会和经济生活中的各个领域也在发生改变。人们进行信息交流的深度与广度在不断增加,这使得传统的行业模式也要跟随时代的步伐,为用户提供更加便捷、个性化的服务。电子商务在此得到了极大的普及与发展。在全球网络化的浪潮之下,万事万物都在进军网络行业,特别是--些大品牌早就全面进入了网络化、全球化。

本文研究开发的““只因漫画”漫画刊物管理系统”主要通过对平台的前台和后台管理进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。“只因漫画”漫画刊物管理系统完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、免费漫画、付费漫画、章节购买、商品类型管、周边商城和商品购买、订单管理等功能的实现过程。

关键词漫画刊物管理C#语言、周边商城

Development of SSM animation display system

Abstract

In the 21st century, with global networking, science and technology are advancing by leaps and bounds. Our lives have also undergone great changes. With the popularity of computers, various fields of our social and economic life are also changing. The depth and breadth of people's information exchange are increasing, which makes the traditional industry model to follow the pace of the times and provide users with more convenient and personalized services. E-commerce has been greatly popularized and developed here. Under the tide of global networking, everything is entering the network industry, especially -- some big brands have already entered the network and globalization. Now that the animation industry is still on the rise, the animation system website will certainly go further.

The "SSM animation display system" researched and developed in this paper mainly analyzes the functional requirements of the platform's foreground and background management, and the non-functional requirements of the system's security and scalability. On the basis of detailed requirements analysis, the database structure is determined according to the functional design of the system to achieve complete code writing. The shopping mall around the game has completed the page design and function realization of the main modules of the system. This article shows the implementation effect of the home page, and introduces the implementation process of user registration function, animation website, animation festival, animation display, animation information, animation exchange, surrounding shopping malls and commodity purchase, online payment, order management and other functions through the code and page.

Key words:Animation display; SSM framework; Surrounding shopping malls

  • 课题来源

在当前我们国家的市场环境中,以及随着社会的进步与技术的发展,娱乐产业的迅猛发展,市场的竞争在很大程度上体现为网络书籍的竞争。因此,找到适合的网上阅读系统,已成为各大书店提高竞争力的重要方法。同时,当今市场环境又是快速变化的,市场需求也是在变化,使得对网络管理的需求也在时时的变化中的。如何快速地适应眼下的情况变化,提高系统操作的实用性,进行快速有效的进行各种管理操作,是我们重点关注的方向,而且简单易懂的页面,与实用的性能也是我们关注的硬性指标。在这种情况下我们的“只因漫画”漫画刊物管理系统应运而生。

  • 课题意义

在当今社会,很多有爱好漫画的人才找不到自己喜爱的管理系统,而且重口难调也是问题所在。以及在看实体漫画的过程中,观看者在浏览漫画的过程中也会产生许多是书本冗余,堆积如山的漫画书,提高了所占空间的问题。对于没有及时收藏的漫画,在没有存货可买时,再寻找可购买的漫画也存在一定量的困难。可能需要耗费大量的精力和时间去寻找。另外在琳琅满目的实体漫画中,没有充足的时间一一详看其是否是自己喜爱的种类,所以对于不同类型的用户本系统目的实现让对漫画有不同需求的用户都能用的舒适的软件,要做到信息量大,资源丰富,更新速度快,漫画种类更多样化。符合现代人的观看需求,能够方便、快捷的方式更多更有效的漫画信息。网上漫画为求职者提供丰富的漫画信息,做到及时更新。让读者们能更快更好的进行高质量的阅读。

  • 开发工具及相关技术介绍

(一)HTML网页技术

HTML是一种制作网页的常用语言,它一般是用于制作静态页面。它的命令是可以体现文字信息、链接信息、图形信息和表格信息等等。现在它被大众普遍接受广泛应用在网络上。

(二)B/S结构

在系统的开发上采用了B/S结构,在B/S结构中,统一采用浏览器,而不需要去开发任何的用户界面,Web浏览器向处理它的Web服务器发送请求,并一步一步地将处理结果返回给客户端。B/S结构主要采用了各种脚本语言和ActiveX技术,降低了系统的开发难度并简化了系统维护以及使用。

B/S结构有如下特点:B/S结构建立在广域网上,不需要专门为其配置硬件环境,比C/S结构的适应范围更强;由于其基于广域网,所以其对安全的控制能力相对较弱;B/S的多种结构要求构造相对独立的函数,这样才能可以更好地重用;B/S结构组成简单,便于对个别构件进行更换,降低了系统的维护成本B/S信息流向与C/S不同,B/S信息流向可变化。

  •  ASP.NET技术

ASP.NET是微软为构建动态Web应用程序而开发的新一代技术,其具有着高效运行性能、简易灵活、可管理以及较强的开发效率的特点。

ASP.NET网站的运作原理如下:

在网站运行时,当一个HTTP请求被ASP.NET网站运行服务器(IIS)收到后,IIS首先加载客户端请求的页面类型的相应dll文件,在处理过程中,请求随后被发送到可以处理请求的模块,这个模块叫做HttpHandler。在将此HTTP请求传递给HttpHandler之前,IIS必须由HttpModule处理。

ASP.NET的组件结构图如下所示。

图2-1 ASP.NET的组件结构图

  • SQL Server数据库

SQL Server 2012经过多次的更新,功能层面已经非常的丰富和完善了,从SQL Server2005版本到2012版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的SQL Server支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。

针对本文中设计的“只因漫画”漫画刊物管理系统在实际的实现过程中,最终选择SQL Server数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的SQL Server来对“只因漫画”漫画刊物管理系统后台数据进行存储操作。

数据库管理系统的总体结构图如下图所示。

图2-2 数据库组成结构。

  • 企业级架构

系统的开发应用了.NET框架技术,这是一个多语言组件开发和执行环境,提供了一个统一的跨语言编程环境。.NET框架使开发人员可以更轻松地构建Web应用程序和服务,以便网络上的应用程序可以通过Web服务进行通信。根据其层次结构可以将.NET框架分为三个组成部分:CLR、服务框架以及两类应用模版(Win Forms和Web Forms、Web Services )。

在.NET程序编写好之后的第一次编译时,将形成CLR头、中间代码以及元数据。第二次编译会在实际运行时执行,编译的结果是可以在CLR中执行的机器代码。项目中所有类型的定义、引用和程序集清单都包含在了MetaData中。

程序集是.NET框架中相对基本的概念,这是一个逻辑概念,不是指定数量的文件或代码段,程序集是一个或多个模块和文件资源的集合。形成程序集时,它不仅在打包前包含所有原始文件,而且还添加程序集清单。

程序集的加载机制如下:

公共语言运行库(CLR)主动通过Assembly.LoadFrom静态方法以及Assembly.Load静态方法加载程序集,其中前者可以直接在一个文件位置处加载程序集,而后者只能通过唯一标识来标识程序集。

  • 系统分析

本系统将在经济、技术、操作这三个角度上进行可行性分析。

  1. 经济可行性

整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。

  1. 技术可行性

技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于C#语言,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用SQL Server数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。

  1. 操作可行性

“只因漫画”漫画刊物管理系统的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用C#技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。

  • 功能性需求分析

前台需求:

(1)个人中心:主要包括用户的注册和登陆、用户个人信息管理等功能。

(2)免费漫画:用户可以浏览免费漫画的详细信息、同时可以发表评论。

(3)付费漫画:用户可以根据个人喜好选择付费漫画,并进行下单支付。

(4)周边商城:用户可在周边商城搜索商品名称与商品类型,可下单在线购买。

(5)交流区:用户可以发布帖子,同时可以评论帖子内容。

(6)漫画资讯:用户可以浏览漫画资讯新闻信息。

(7)留言反馈:用户可以提交留言给后台。

(8)后台管理:管理个人信息、查看购买章节和订单信息等。

后台需求:

(1)用户管理:主要包括用户列表、用户信息管理等功能。

(2)免费漫画管理:管理员添加或删除漫画内容信息等。

(3)付费漫画管理:管理员可以新增或删除付费漫画内容。

(4)章节购买管理:管理漫画购买详情。

(5)商品类型管理:管理新增或删除商品信息。

(6)周边商城管理:新增或删除商品信息等。

(7)订单信息管理:管理订单详情。

(8)留言反馈管理:对用户的留言进行回复删除等管理。

用户用例图如下所示。

图1 用户用例图

管理员用例图如下所示。

图2 管理员用例图

免费漫画添加用例描述如下表所示。

表1免费漫画添加用例描述

用例名称

添加新免费漫画

参与者

管理员

用例概述

本用例用于管理员进行添加新免费漫画操作

前置条件

管理员添加新免费漫画前必须登录系统

后置条件

系统中添加一个新免费漫画

基本事件流

参与者动作

系统响应

  1. 管理员在后台主界面选择“新免费漫画”。

4、管理员填写新免费漫画信息,点击“添加”按钮。

2、系统打开添加新免费漫画界面。

3、系统检查管理员输入的免费漫画信息是正确有效的。

5、系统将免费漫画添加到数据库中。

6、系统提示“操作成功”。

7、系统跳转到免费漫画管理界面。

其他事件流

1、系统验证管理员输入的免费漫画名为空,则提示“*请填写免费漫画名称!”。

2、系统验证管理员输入的价格不是数字格式,则提示“*价格必须是数字格式!”

商品删除用例描述如下表所示。

表2商品删除用例描述

用例名称

删除商品

参与者

管理员

用例概述

本用例用于管理员进行删除商品操作

前置条件

管理员删除商品前必须登录系统

后置条件

系统中删除一个商品

基本事件流

参与者动作

系统响应

1、管理员在后台主界面选择“商品管理”。

4、管理员选择一个商品,点击“删除”按钮。

6、管理员点击“确定”按钮。

2、系统从数据库中获取商品信息列表

3、系统打开商品列表界面。

5、系统提示“你确定要删除吗?”。

7、系统将商品从数据库中删除。

8、系统提示“删除成功”。

9、系统跳转到商品管理界面。

其他事件流

用户编辑用例描述如下表所示。

表3用户编辑用例描述

用例名称

修改用户

参与者

管理员

用例概述

本用例用于管理员进行修改用户信息操作

前置条件

管理员已经登录系统

后置条件

系统中更新一条用户记录

基本事件流

参与者动作

系统响应

1、管理员在后台主界面选择“用户管理”。

4、管理员在用户列表中选择一个用户,点击“编辑”按钮。

6、管理员填写用户信息,点击“保存修改”按钮。

2、系统从数据库中获取用户信息。

3、系统打开用户列表界面。

5、系统打开修改用户信息界面。

7、系统将更改后的添加到数据库中。

8、系统提示“操作成功”。

9、系统跳转到用户管理界面。

其他事件流

章节购买用例描述如下表所示。

表4章节购买用例描述

用例名称

章节购买

参与者

用户

用例概述

本用例用于用户进行对章节购买操作

前置条件

用户已经登录系统

后置条件

系统中增加一条用户购买记录

基本事件流

参与者动作

系统响应

1、用户在前台首页选择任意一个章节分类。

4、管理员在用户列表中选择一个章节。

7、用户填写购买订单,点击“购买”按钮。

2、系统从数据库中获取章节列表信息。

3、系统打开章节列表界面。

5、系统从数据库中获取章节信息。

6、系统打开章节信息及购买界面。

8、系统检查用户输入的信息是正确有效的。

9、系统将购买记录添加到数据库中。

其他事件流

1、系统验证用户输入的字段为空,则提示“*购买信息不能为空!”。

  • 非功能性需求分析 

随着用户量的增加,系统可能会需要同时服务上千、上万个页面,服务器需要同时响应大量用户的操作,这就要求系统需要有良好的可扩展性,否则系统会出现延迟,卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力,同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。

系统中保存了大量用户和管理员的个人信息,因此,保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等,系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性,只有一个健壮安全的系统才能具有长久的生命力。

  • 业务流程分析

“只因漫画”漫画刊物管理系统的前台中,用户模块和周边商城模块、动漫网站模块进行数据交互,实现购买以及动漫展示的功能。

“只因漫画”漫画刊物管理系统的后台中,管理员对用户在前台提交申请产生的数据进行处理,以满足用户的需求。前台系统和后台系统有数据交互,整个系统各个部分相互独立又密不可分。

  • 系统设计

(一)功能结构设计

本系统的设计是基于C#技术+SQL Server数据库+Tomcat服务器的方式设计,以Myeclipse10为开发工具,并运用Photoshop CS6技术美化网页,辅之以CSS技术。本系统使用的角色主要有系统管理员和普通用户,系统分为前台和后台,前台主要用于周边商城展示和商品的购买,免费漫画、付费漫画、留言反馈展示,后台用于商城、资讯、订单、动漫信息的管理,首先以普通用户通过账号注册后登录系统前台,可以进行各种信息浏览和搜索,用户可以将需要的商品进行下单购买,用户可以查看动漫网站、周边商城信息等;以管理员的身份登录系统后台可以进行商品维护、订单管理、动漫网站以及周边商城介绍的发布等。

系统功能结构图如下所示。

图4-1系统功能结构图

(二)功能设计

1.用户登录模块:确保用户注册信息的真实度是提高系统效率和盈利的重要因素。真实的用户才能带来价值,注册是保证真实用户使用系统主要业务的第一步,通过对用户注册信息的审核,可防止机器注册。使用现如今较为流行的管理员进行账号激活的验证方式,对用户注册信息进行过滤,未激活用户信息将不能使用系统主要功能。

如下图所示为用户登录流程图。

图4-2用户登录流程图

2.漫画资讯浏览模块:没有登录的用户和登录的用户都可以在系统前台进行漫画资讯浏览,用户可以查看漫画资讯的详细信息,用户还可以通过漫画资讯名称的关键字进行搜索。

如下图所示为漫画资讯浏览流程图。

图4-3漫画资讯浏览流程图

3.订单管理模块:用户购买商品后,填写收货地址、收货人、电话等信息,生成订单信息,管理员可以审核订单,删除、修改订单,对订单信息进行相应的物流信息。 

如下图所示为订单管理流程图。

图4-4订单管理流程图

4.漫画资讯管理模块

系统管理员可以对漫画资讯信息进行增、删、改、查的操作。

5.用户管理模块

系统管理员可以对用户信息进行增、删、改、查的操作。

6.订单模块

用户对个人添加至购买订单里面的商品进行增删改查等操作。

(三)数据库设计

3.1概念设计

本系统的E-R图表现了系统中各个实体之间的联系,经过分析,系统的实体有周边商城、免费漫画、付费漫画、留言反馈、交流等。

订单信息的实体图如下图所示。

图4-5订单信息实体图

用户信息实体图如下图所示。

图4-6用户信息实体图

周边商城的实体图如下图所示。

图4-7周边商城实体图

订单E-R图如下图所示。

图4-8订单E-R图

3.2表设计

    数据库表设计:经过前期的需求分析、可执行分析、数据流分析等各个流程分析,结合软件工程的高内聚、低耦合规则,并考虑到以后的程序功能扩展,设计如下几张表

表名:manhuafenlei

功能:漫画分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

manhuafenlei

varchar

200

漫画分类

表名:fufeimanhua

功能:付费漫画

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

manhuamingcheng

varchar

200

漫画名称

manhuafenlei

varchar

200

漫画分类

fengmian

longtext

4294967295

封面

zhangshu

varchar

200

章数

jieshu

varchar

200

节数

zuozhe

varchar

200

作者

jiage

float

价格

faburiqi

date

发布日期

manhuaneirong

longtext

4294967295

漫画内容

zhuangtai

varchar

200

状态

thumbsupnum

int

0

crazilynum

int

0

表名:forum

功能:交流区

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

帖子标题

content

longtext

4294967295

帖子内容

parentid

bigint

父节点id

userid

bigint

用户id

username

varchar

200

用户名

avatarurl

longtext

4294967295

头像

isdone

varchar

200

状态

表名:zhoubianshangcheng

功能:周边商城

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangpinmingcheng

varchar

200

商品名称

shangpinleixing

varchar

200

商品类型

tupian

longtext

4294967295

图片

jiage

float

价格

shuliang

int

数量

shangpinjieshao

longtext

4294967295

商品介绍

shangjiariqi

date

上架日期

表名:zhangjiegoumai

功能:章节购买

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

manhuamingcheng

varchar

200

漫画名称

manhuafenlei

varchar

200

漫画分类

jiage

float

价格

xiadanshijian

date

下单时间

yonghuming

varchar

200

用户名

xingming

varchar

200

姓名

shouji

varchar

200

手机

lianjie

varchar

200

链接

ispay

varchar

200

是否支付

未支付

表名:discusszhoubianshangcheng

功能:周边商城评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表名:yonghu

功能:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuming

varchar

200

用户名

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

touxiang

longtext

4294967295

头像

nianling

varchar

200

年龄

youxiang

varchar

200

邮箱

shouji

varchar

200

手机

  • 系统实现
  • 用户登录的实现

用户注册完成后,点击“登陆”进入到登陆页面,输入用户名和密码,点击“登陆”按钮,对用户名和密码进行验证,根据传入的用户名和密码在数据库中是否能查询到一条用户信息,若不能返回用户信息则登陆失败,页面提示用户名或密码错误。

登陆拦截管理器,在config文件夹下的WebAppConfig.C#文件,代码如下:

@Configuration

@Slf4j

public class WebAppConfig implements WebMvcConfigurer {

    @Override

    public void addInterceptors(InterceptorRegistry registry) {

        //登录拦截的管理器

        InterceptorRegistration registration = registry.addInterceptor(loginInterceptor());

        //拦截的地址

        registration.addPathPatterns("/**");

        //方行的地址

//registration.excludePathPatterns("/**");

        //根据需要拦截,一般设置所有地址拦截,放行公共连接

    }

    @Bean

    public LoginInterceptor loginInterceptor(){

        return new LoginInterceptor();

    }

}

登录界面如下图所示。

图5-1登录界面

用户登录的关键代码如下。

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

  • 系统前台主要功能实现 
  1. 首页的实现

用户界面要尽量简洁大方,使用户能够方便找到需要的功能入口,免费漫画、付费漫画、周边商城、交流区、漫画资讯、留言反馈,且要易于修改和维护,同时还要保证用户合法和系统安全。

首页界面如下图所示。

图5-2首页界面

  1. 用户注册的实现

用户进入系统首页后,点击“注册”链接进入到注册页面,按照页面提示输入用户名、密码和商品号,页面进行表单验证,验证输入的用户名和商品号是否合法,表单验证通过后,点击“立即注册”按钮,利用 Ajax 技术,对用户名和商品号实现页面无刷新验证,检测数据库中是否已经存在该用户名,若数据库中不存在,则注册成功,注册成功后,自动跳转到登录页面。

用户注册界面如下所示。

图5-3用户注册界面

  1. 周边商城展示的实现

周边商城展示页面,如下图所示。

图5-4周边商城展示页面

周边商城展示的关键代码如下。

@Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

        log.info("[{}] - 插入操作:{}",table,sql);

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

}

  1. 商品购买实现

用户在浏览商品时,对于心仪的想要购买的商品,可以将该商品添加到购买订单中。点击“添加购买订单”按钮,页面将该商品的数据传递到后台,首先查询数据库购买订单表中是否已经存在该商品,若存在直接将商品数量加一,若不存在则创建一个新的购买订单对象,添加购买订单成功,数据库中的购买订单表添加一条信息。用户还可以点击“我的购买订单”查看添加到购买订单的商品,系统通过读取 session获取到用户 ID,将用户 ID 传递到后台,在购买订单表中查询该用户的所有购买订单信息,返回数据到我的购买订单页面。

商品购买界面如下图所示。

图5-6商品购买界面

支付界面如下图所示。

图5-7支付界面

商品购买关键代码:

 @RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

  • 系统后台主要功能实现 
  1. 用户管理的实现

用户管理界面如下图所示。

5-8用户管理界面

  1. 漫画管理的实现

管理员可以获取系统中所有漫画的列表并对其进行编辑。管理员在添加漫画内容时,需要输入漫画的名称、封面、章节等。添加漫画完成,数据库漫画表添加一条信息。

免费漫画管理界面如下图所示。

图5-9免费漫画管理界面

付费漫画管理界面如下图所示。

图5-10付费漫画管理界面

  1. 周边商城管理的实现

管理员在后台管理界面点击到所有周边商城界面列表,可以搜索当前所有周边商城信息,调用搜索全部周边商城的请求,向数据库的周边商城表搜索当前所有周边商城并将周边商城信息以对象的形式层层返回到周边商城列表界面,显示出当前所有周边商城信息。

周边商城管理界面如下图所示。

图5-10周边商城管理界面

周边商城管理的关键代码如下。

public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

  • 系统测试
  • 系统可靠性测试

以进入系统首页的访问速度为例展示系统的性能测试;系统的主要用户群体是理念较为先进的动漫爱好者,系统要在3秒钟内响应;需要完成页面的菜单栏、周边商城、漫画资讯、动漫网站、订单信息以及各功能模块入口等元素的显示。

  • 系统功能性测试

功能性测试是指执行指定的工作流程,通过对一个系统的所有特性和功能都进行测试确保符合需求和规范。

系统功能性测试表如下表所示。

11系统功能性测试表

编号

测试功能

测试内容

测试结果

1

用户登录

1.验证用户名与密码的正确性。

2.验证密码是否可见。

通过

2

首页展示

1.首页数据是否成功加载。

2.验证搜索功能的准确性。

3.验证是否可以异步加载。

4.验证导航栏按钮。

通过

3

个人信息修改

1.验证登录名是否可以正常更改。

2.验证联系方式是否可以更改。

3.验证收货地址可以正常修改。

4.验证密码是否可以修改。

通过

4

购买管理

1.购买订单清单是否可以生成。

2.验证消费信息是否准确。

通过

7

商品管理

1.验证类目新增是否可以成功。

2.验证类目删除是否可以成功。

通过

8

周边商城管理

1.商城信息是否与上传一致。

2.是否能完成活动修改。

3.验证活动商品信息修改。

通过

9

订单处理

1.能否正常上传单号完成发货。

2.验证数据准确性。

通过

10

用户管理

1.验证用户录入功能。

2.验证用户违规清理功能。

通过

  • 系统合格性测试

集成测试后,所有的模块已经全部连接完毕,形成了一个完整的系统。合格性测试是在集成测试完毕后,进一步对系统进行综合性的检测。经过合格性测试,可以检查出系统是否符合系统的设计,能够完成需求的所有功能。本系统经过最后的测试,所有模块功能都能按预定要求工作。

  • 测试结果

在实际测试中,经过一系列系统性的测试,使我们能够及时发现一些系统在设计中出现的疏忽和漏洞。经过严密的测试,不仅发现了模块内部的错误,也查找到模块连接后产生的错误。经过测试,对系统产生错误的地方进行优化、修改和完善,使得系统能够实现最初设计的基本功能。

  • 总结与展望

本文针对“只因漫画”漫画刊物管理系统的特点和用户需求,利用 C#相关技术、Springboot框架和MVVM 模式等技术,通过详细的需求分析、页面设计和功能设计,最终实现了一个基于 C# 的“只因漫画”漫画刊物管理系统。

系统利用JQuery 技术和 CSS 技术进行了系统页面设计,实现了包括用户模块、周边商城模块、动漫网站模块、购买订单模块、周边商城介绍网站和前台系统以及包括用户管理模块、周边商城管理模块、订单管理、漫画管理、动画展示管理模块的后台系统。另外,系统还进行了数据安全设计和信息推荐模块设计,并添加了用户的访问控制,建立了一个完整、健壮、安全稳定的“只因漫画”漫画刊物管理系统。

由于时间限制和本人能力条件有限,该系统还存在一些不足,今后也会出现许多新的开发技术,未来还可以对系统做出如下改进:

(1)优化系统页面,使页面更加美观且方便操作;

(2)优化商品搜索功能,提供多条件选择查询搜索;

(3)优化动漫推荐功能,提高动漫推荐的精准度;

(4)优化在线支付功能,提供更多支付接口,使用户付款更加方便;

(5)进一步提高系统的安全性,使系统更加健壮;

(6)优化数据和代码,提升软件效率,方便系统维护和扩展。

参考文献

[1]薄志强. 基于SSM框架的网上商城系统的设计与实现[D].西安电子科技大学,2020.

[2]黄舒珣. 基于文本挖掘的迪卡侬网上商城顾客满意度影响因素研究[D].广西民族大学,2020.

[3]张浩. 基于网上商城服务对话系统的研究与实现[D].黑龙江大学,2020.

[4]赵浩翔. 基于SSM框架的网上商城系统的设计与实现[D].北京邮电大学,2019.

[5]徐光耀. 基于Dubbo分布式架构网上商城的研究与实现[D].沈阳师范大学,2019.

[6]郑秋锦. 消费者特征、外部情景与刺激对动漫衍生品冲动性购买的影响研究[D].华侨大学,2018.

[7]王晓晓. 关于日本动漫及其周边商品的中国消费者购买行为的研究[D].广东外语外贸大学,2018.

[8]肖斯家. 艺品文化传播公司开展影视衍生产品项目商业计划书[D].东华大学,2018.

[9]谷淞. 国际动漫市场展的理论、规律与功能分析研究[D].中国艺术研究院,2018.

[10]林泽伟. 手机应用商城智能推荐平台的研究与应用[D].中山大学,2018.

[11]归泳涛.日本的动漫外交——从文化商品到战略资源[J].外交评论(外交学院学报),2018,29(06):127-140.

致谢

时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。

点赞+收藏+关注  →私信领取本源代码、数据库

关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值