摘 要
伴随着互联网的快速发展我们进入到21世纪,社会经济的进步使得人们的物质生活水平得到进一步的提高,为了满足人民日益增长的需要,我把方向定在了“商城微服务”(例如:社区的买菜购物,写字楼的工作人员中午订饭问题等等)的方向上,进一步研究如何管理这些商品信息资源,并且把这些资源整合后合理的推送给有需求的客户,考虑为双方搭建一个平台来便于用户去操作并使用这些资源。
软件开发时选用Java作为开发语言,后端开发工具选用IDEA,前端开发工具选用WebStorm,搭配MySQL后台数据库采用MyBatis技术来开发此Web系统。
此系统合理的将用户需求转化为商家直接到用户的模式,系统中包括商品管理、商品配送、联系卖家、订单管理以及兼职推广等模块功能,满足多方用户的使用需求,让使用此系统的用户得到满意的使用效果。
关键词: 云服务,Java,MySQ
前 言
伴随着互联网平台的快速发展,我们有了更多获取资源和置换资源的途径,市场上出现了很多用户无法自己满足的微任务需求,而且这种需要越来越广泛,这个领域缺少一个合理的平台去管理这些资源,让他们能够合理的资源分配,有所需且有所供,因此我萌生一个想法,搭建一个共享平台,把资源放在互联网平台上共享化,充分实现资源共享的目的。
云系统采用了MyBatis技术,MySQL数据库、SpringBoot架构,将项目打包放在服务器上,可通过外网进行访问,并在服务器上配置数据库。系统角色分为两类分别是普通用户和管理员,普通用户可以进行账号注册登录、查询商品、购买商品、查看进度、删除商品、提现、支付等。管理员可进行登录、审核商品、审批商品、审批商品、处理用户提现等操作。
本文主要描述的内容以及需要解决问题的步骤包括,对商品云系统的搭建,对业务流程进行分析,对数据库进行结构的设计并对表和字段实现合理安排设置,再通过时序图和协作图来模拟该系统各个功能模块和业务流程。最终对整个系统功能进行审核评估并面向全网用户开放。
1 绪 论
1.1任务云系统的简介
基于原生态开发的任务云系统,方便用户把自己的需要的商品上传至互联网上,让更多的人查看到该用户的商品,从而尽快的完成用户的商品,达成双方共赢的目的,用户可以在工作日发布有关工作的不完整信息,市民第一次可以在非完整工作日看到自己的工作信息,并为用户提供一个免费的工作平台,工作日需要为工作日找到一个更舒适的地方。后台管理员可以实时查看用户的任务和部分就业信息,合理管理这些资源,自动生成操作订单,方便用户支付。他们可以利用自己的环境在线下载用户所需的资源,以便查看人们的资源,用户还可以下载并分享一些任务,这样人们就可以首先看到他们在同一个城市的时间信息,这为需要同时工作的用户提供了一个免费的工作平台,为了验证用户在一定时间段内的背景负担,有时还会提供更多有用的信息。他们可以系统自动生成交易订单,以方便提现,充值。
1.2研究市场现状
有一些软件或平台,如兼职、全职工作等,但过程也很乏味。我们帮助用户发布产品信息,需要兼职的用户可以看到信息可以自己处理。此外,市场上对微型任务的需求很少。类似的公司已经将此功能定义为官方帐户,但使用起来非常麻烦和乏味。我们开发了它的网络版,操作过程简单方便,后台管理员定期维护系统,及时发布更新信息。满足用户有任务时的发布需求,大大缩短用户的任务执行时间,实现双方双赢。
1.3课题研究意义
用户的任务需求越来越多,市场上缺少管理这些任务需求的平台,因此我们开发自平台主要在社区内进行推广使用,方便住户在课余时间做做兼职,未来这一块的需求量还会更多,因此会萌生出来更多的业务模式,我们尝试去做这一领域的功能,争取让用户和我们实现共赢
2 系统分析与设计
系统分析与设计的这一部分主要包括需求分析、总体描述、具体需求和需求模型,是软件开发过程的基础。
2.1 需求分析
软件需求分析是软件开发的重要第一步。需求负责人与用户沟通,详细排序用户需求,对软件功能、界面、性能进行综合、分类、分析。这是软件开发和需求分析的基础。确定软件开发的共同方向。把开发出来的程序更加友好地交给用户。降低不必要的开发成本。需求分析已经成为软件开发的组成部分[1]。
2.1.1 用户需求
任务云系统可服务于有任何任务需求的用户,系统将使用角色分为两类,一类是系统管理员,主要管理和审批用户上传的资源信息,审核用户提交任务处理结果以及用户的佣金结算。的另一类是普通用户。其中,普通用户按照需求可分为雇主和佣人两种角色。雇主可在平台上申请发布任务需求和管理已经发布的任务信息,佣人可以在平台上添加自己感兴趣的任务信息去处理并提交任务结果,从中获取报酬。
2.1.2 功能需求
工作云系统提供以下功能:
任务管理功能:用户可以将任务上传到系统,管理发布的任务信息,设置任务信息上传权限,修改、删除发布的任务。
作业处理功能:用户可以在工作室选择自己感兴趣的作业进行搜索、添加、删除、提交、审核、自我检查等行为。
兼职管理功能:用户可以将当地兼职信息上传到系统中,删除上传的兼职信息,在打工大厅可以搜索适合自己的兼职业务。
订单管理功能:用户可以查看系统中支付的所有订单记录。当您发送的剩余任务有要求时,您可以将剩余数量连同订单编号一起返回给管理员。
现金管理功能:用户提交审核时,可以查看我口袋里的审核记录。用户输入密码后确认即可启动程序。后端管理器将应用程序应用于连接用户的支付宝账户。
管理人员审核功能:后台管理人员登录系统,审核用户提交的任务结果,审核雇佣机构提交的任务和兼职信息,并将审核意见和结果传达给用户。
2.2 可行性分析
可行性分析的主要目的是初步确定软件项目的规模和目标,以及投入的资源、财力和物力。这一过程应该客观地分析项目是否值得开发,开发过程中的问题能否解决。可行性分析结果必须准确可靠。可行性分析中的错误将严重影响项目的发展[2]。
2.2.1 技术可行性
技术可行性分析是按照项目的功能需求进行技术上的分析,研究现有的开发技术能否满足系统的功能需求和性能需求。技术可行性分许的失误很有可能会导致系统在开发过程中出现一系列技术实现上的问题。云系统选用Java作为开发语言,采用SpringBoot技术对系统各个模块进行开发,搭配MySQL和MyBatis保证了系统在开发过程中技术上的可行性。
2.2.2 经济可行性
经济可行性分析是根据确定的需求,分析项目的开发周期、人力、物力投入和软件的经济效果是否显著。应该考虑如何降低投资成本。任务云系统需要购买服务器,注册业务,规划系统的软硬件安装。后期产生的经济效益仍然可观,可以在经济上实行。
2.3 总体描述
2.3.1 产品概述
用户主要有两种类型,即管理员和系统管理员。开发了用户使用的系统和管理员使用的系统。一般用户登录后查询任务信息,删除任务信息,提交任务截图,查看文件包,删除历史记录,短信通知,团体邮件,打工信息,下载兼职信息等功能。管理员可以查看任务、用户提交的屏幕截图及其他功能。Servlet实现Controller层和Service层,用原生态代码编写的UserDao和AdminDao层实现数据持久化,前端界面主要使用了Js,Css,Jsp。
用户可用Chrome、火狐、谷歌任一浏览器即可登录系统,服务器配置了apach-tomcat-7.0.11、mysql-5.7.20。后端开发使用IDEA前端使用WebStorm,使用Navicat管理服务器数据库,并用SecureCRTPortable操作服务器系统。
2.3.2 产品功能
产品功能这一部分用表格描述了该系统管理员模块跟用户模块以及对应的功能。
用户模块功能如表2.1所示:
表2.1 用户模块划分
模块类别 功能
用户登录设计 用户登录系统
用户注册设计 用户注册
用户任务处理模块 查看商品列表
查看商品详情
提现
用户提交任务重审
用户上传任务信息
用户自行审核
用户查看自己发布的任务
用户兼职功能管理 用户查看兼职信息
用户上传兼职信息
用户发布兼职信息
用户下架兼职信息
用户处理已上传的兼职信息
用户支付模块 用户支付
用户查看我的支付记录
管理员模块功能如表2.2所示:
表2.2 管理员模块划分
模块类别 功能
管理员登录模块 管理员登录
管理员处理任务模块 审核用户提交的任务
管理员操作任务
审批任务信息
任务重审
管理员处理兼职模块设计 审批用户提交的兼职信息
管理员处理用户提现 用户提现处理
2.3.3 约束条件
设置网站后,多个用户可以同时登录,并且可以访问多个账户可以多次登录的不同角色。使用本网站的访问者应具备良好的电脑使用知识。只有管理员才能在特定接口上维护数据库数据。
2.4 具体需求
本小节用于描述任务云系统的界面以及每个界面所包含的功能、输入输出参数,等具体的需求,再对网站所需的DataBase以及运行环境进行相关内容的介绍。
2.4.1 功能需求
在具体了解了用户需求的基础上,利用面向对象的核心思想,在各个功能方面做出相对应的用例图。并书写其用例描述。
用户用例图描述用户所有的用例情况,按照其模块功能层次将用例描绘出来,如图2.1所示:
图2.1用户用例图
Fig.2.1 User use case diagram
用户用例图对应的用例表如下:
表2.3 用例表
Tab.2.3 Use case table
编号 用例名称 用例英文名称
UC1 用户添加商品 UserAddSa
UC2 用户删除商品 UserDelSa
UC3 用户上传商品 UserSubSa
UC4 用户查看我的口袋 UserCheckMyWallet
UC5 用户删除历史记录 UserDelHistory
UC6 用户上传兼职信息 UserSubJobInfo
UC7 用户上传商品信息 UserSubTaskInfo
UC8 用户查看已上传的兼职信息 UserCheckMyJobInfo
UC9 管理员上传商品信息 AdminAddSa
UC10 管理员修改商品信息 AdminAlterSa
UC11 管理员删除商品 AdminDelSa
UC12 管理员审核用户 AdminExamineUser
UC13 管理员审核商品 AdminExamineTask
UC14 管理员审批商品信息 AdminCheckSaInfo
UC15 管理员审批兼职信息 AdminCheckJobInfo
2.4.2 性能需求
在系统数据库中选择MySQL,查询时间控制在3s以内。在安全方面,要定期备份数据,分离管理者和用户使用的功能。需要连接系统。未登录的用户进入主页或其他页面可能会发生意外错误。在用户体验中,网站主要通过转播通知页面和改变方向与用户交互。页面上有多种功能的IFRAME框架。维护性强,代码注释多,项目小,易于包装和升级。
2.4.3 数据库需求
数据库分两个版本,一个是本地测试开发版本,另一个是服务器版本,库中含有十二张表,分别是、商品上传失败表、商品上传通过表、商品审核中表、兼职信息表、未审批的兼职信息表、未审批的商品信息表、商品信息表、用户信息表、用户任务栏表、用户提现表、用户重审表、用户订单表。
这几张表分别存储相关的任务以及用户信息,保存任务审批的状态,保存兼职的审批状态以及用户提现记录等,满足系统的使用需求。
2.4.4 设计约束
为了满足足作云系统的使用需求,将项目下载到服务器上,通过域名或网站访问系统登录页面。用户和管理员需要登录来执行一系列的功能操作。部分结算功能需要通过第三方支付平台结算,才能发布和使用商品、打工功能等。
2.4.5 软件系统的质量属性
在可靠性方面,该网站没有恶意代码,不会强制投放广告或闹事。在隐私方面,网站不强制收集用户的详细信息,用户可以输入信息。只有在用户登录后,您才能查看、添加和提交作业信息。工作后的数据中有用户ID。后台管理人员可以查询登录后提交任务的人员、兼职提交、提交时间、提交内容、支付记录、支付时间、支付账户。2.5 需求模型
2.5.1 静态模型
商品云系统静态模型分为4个部分,分别是用户信息实体,管理员信息实体,商品实体和兼职信息。
Fig.2.3 Static diagram
2.5.2 动态模型
(1)用户或管理员登录动态模型如图2.4所示:
图2.4用户或管理员登录图
Fig.2.4 User or administrator login map
操作的名称及功能:
Login():String 点击登录执行的操作。
CheckUser():Boolean验证用户或管理员输入的名称和密码是否与数据库对应。
输入参数:username/adminname:String password:String。
输出参数:result:Boolean 结果。
前置条件:usrname/adminname,password等参数不为空,用户输入其用户信息并点击登录按钮。
后置条件:若数据库中查询到username所对应的password即该用户信息存在。则跳转至系统主界面。若不存在则跳转至用户名密码错误提示页面。
(2)用户注册动态模型:
Fig.2.5 User registration chart
操作名称及功能描述:
Submit():void 用户注册信息提交。
CheckUsername():Boolean 用户名查重。
Register():void 将用户信息存储至数据库。
输入参数:username:String name:String password:String repassword:String tel: String。
输出参数:flag:String 提示界面 result:Boolean结果。
前置条件:username,password repassword tel符合规范,且用户名在user表中不重复。
后置条件:网站向user表中添加一条用户数据,同时跳转到注册成功页面。
(3)任务提交动态模型
Fig.2.6 Task submission chart
操作名称及功能描述:
AddUserSa():Boolean 添加一条商品。
CheckUserSa():Boolean 查询是否已有该商品。
GetSaInformation:ResultSet 获取一条商品的信息。
输入参数:截图文件。
输出参数:flag:String 提示界面 result:Boolean结果。
前置条件:访问网站未出现异常。
后置条件:服务器将用户上传的截图保存,并跳转至上传成功的界面。
(4)删除历史记录动态模型
Fig.2.7 Delete history
操作名称及功能描述:
DeleteUserPassSa:void 删除通过历史记录。
DeleteUserFailSak:void 删除未通过历史记录。
输入参数:password:String用户密码。
输出参数:result:Boolean 结果。
前置条件:用户输入确认密码删除历史记录。
后置条件:数据库中将历史记录删除。
(5)用户上传任务信息动态模型
Fig.2.8 User upload task information
操作名称及功能描述:
ReleaseSa(): void 用户上传商品信息至管理员审批。
SubSaInfo:Boolean 管理员审批过商品信息后,用户可自行发布任务信息。
Pay():Boolean用户发布商品信息时,调用pay()方法跳转至支付页面进行支付。
输入参数:taskName:String 商品名称 taskContent:String 商品内容 taskTime:String 商品发布时间 taskMoney:double 商品佣金 taskSum:int 商品所需数量 taskTerm:String 商品限时。
输出参数:result:Boolean 结果。
前置条件:网站访问未有异常,用户已经登陆。
后置条件:管理员审批过该任务信息,用户才可发布该任务,发布任务前需支付费用。
3 概要设计
3.1 系统功能总框图
百货商店管理系统是一个科学有效的信息管理平台,可以帮助用户提高产品质量。通过实现管理者、用户、采购员等各模块的功能,方便用户在实际环境中收集产品的性能指标和技术参数,及时发现和改进产品缺陷。提高顾客的购买效率。促进公司品质量体系管理水平的提高。
3.2 数据库设计
在每个管理系统中都一定有储存机制,若单单以文件形式储存,查找和存储时速度比较缓慢,会降低系统的整体运行速度,设计系统一定要运用数据库进行信息管理,所以本文的汽车试驾管理系统采用MySQL数据库,存储其后台数据[17]。下面将介绍本系统的数据库设计。
3.2.1 数据库概念结构设计
基于商城管理系统的需求,通过对系统中不同模块功能的分析,建立各类之间的具体关联,明确各功能的关系[18]。制作概念结构模型,此系统需要有四个实体,用户、兼职人员、商品信息和预约时间。实体关系图以简单直观的图形形式让数据库设计人员与非计算机专业的一般用户的沟通更加顺畅,在数据建模和软件开发领域有重要作用[19]。通过分析,以下给出此商城管理系统中重要的E-R图。
(1)用户信息表,包括用户的ID、用户名、密码。主要是明确用户的基本信息和准入资格,方便系统管理,限制无资质人员加入。
(2)兼职人员信息表,包括分析员的ID、姓名、年龄、学历、工号、资格认证。通过展示分析员的信息,提高企业在用户心中的专业程度。
(3)商品信息表,包括商品的ID、商品编号、商品类型、商品价格、商品余量。用户可通过本系统查看商品的信息来决定购买何种商品。
(4)购买信息表,包括购买信息的ID、购买的商品编号、购买时间。方便管理员对该商品的管理操作。
3.2.2 数据库表的设计
不同实体之间的关联由数据库表体现,表3-6、3-7、3-8、3-9展示了本系统主要的表结构。
表3-6用户信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
id int(10) NO 是 ID
username varchar(50) NO 否 用户名
password varchar(50) NO 否 登录密码
表3-7兼职人员信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
id int(10) NO 是 ID
name varchar(50) YES 否 姓名
age int(10) YES 否 年龄
stu varchar(20) YES 否 学历
pid varchar(50) YES 否 学号
status int(10) YES 否 状态(是否删除)
表3-8商品信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
id int(10) NO 是 ID
carid varchar(50) YES 否 商品ID
engine varchar(50) YES 否 商品类型
mileage int(10) YES 否 商品余量
gearbox varchar(50) YES 否 关联商品号
表3-9购买信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
id int(10) NO 是 ID
carid varchar(50) YES 否 商品ID
time datetime YES 否 购买时间
3.3 时序图
3.3.1 用户模块
用户注册时,输入注册信息提交至servlet,后台通过Dao层去数据库中查重,若用户名重复则反馈注册失败的提示信息,若不存在,则向用户输入的手机号发送验证码进行验证,验证码通过则反馈注册成功的提示信息。
Fig.3.8 Registration chart
选择用户感兴趣的任务并点击Ad,然后将请求发送到servlet,确认用户是否通过DAO层添加了任务。如果没有,在作业栏中添加作业,点击上面的作业加载截图,服务器上会保存截图并发送反馈。
Fig.3.9 Task submission chart
在下载产品信息时,用户首先将产品信息提交给servlet,并在后端将产品信息存储到产品审批单中,为管理者提供审批。批准后,用户可以将项目请求发布到servlet,并调用支付接口扫描支付代码。收到结算成功反馈的系统将产品信息发布到产品室,向用户告知“发布成功”。
Fig.3.10 Task information upload chart
3.3.2 管理员模块
管理员添加商品信息时,输入商品相关信息提交至servlet判断商品信息是否有效,并通过dao层将此商品存入系统数据库当中。
Fig.3.11 Administrator adds task information graph
在管理员查看用户信息时,输入要认证的用户名提交到后端servlet,并通过DAO层在数据库中搜索用户提交的所有作业信息,并显示给管理员。如果管理员选择要检查有效性的任务,则有效性检查结果将存储在数据库中。
Fig.3.12 Notebook computer information modification chart
3.4 协作图
3.4.1 用户模块
用户进入注册界面填写有效信息,点击“注册”按钮。系统将认证码发送到用户输入的手机号码,连接手机号码。确认后,用户注册信息将存储在用户信息中。如果信息不正确,则返回注册失败的原因。
Fig.3.13 Registration chart
伪代码:
RegisterServlet:: CheckUsername(User user,HttpServletRequest request):String{
If(Dao.CheckUsername(String uname,String pass)){
Dao.Register(String username,String name,String password,String tel)
Return rs;
}
return rs;
If(rs){
request.getRequestDispatcher("./Tips_JSP/success.jsp").forward(request,response);}else{
request.getRequestDispatcher("./Tips_JSP/mistake.jsp").forward(request,response);
}
用户输入账户密码点击登录,系统验证输入的信息,验证通过后跳转至主界面,验证有误则跳转至登录失败界面并反馈登录失败的原因。
Fig.3.14 Login map
伪代码:
LoginServlet:: checkUserInfo(User user,HttpServletRequest request):String{
Dao.CheckUserPassword(String uname,String pass);
return rs;
If(rs){
request.getRequestDispatcher("./index.jsp").forward(request,response);}else{
request.getRequestDispatcher("./Tips_JSP/mistake.jsp").forward(request,respons;}
当用户输入有效的用户信息并点击修改时,系统将用户提交的信息保存到用户表(User_information)中,如果输入的信息无效,则提示用户修改信息失败,并不进行保存。
Fig.3.15 Modify personal information map
伪代码:
ChangeInformationServlet :: changeUserInfo(User user,HttpServletRequest request):String{
Dao.AlterUserInformation(User user);
return rs;
}
If(rs){
request.getRequestDispatcher("./Tips_JSP/success.jsp").forward(request,response);}else{
request.getRequestDispatcher("./Tips_JSP/mistake.jsp").forward(request,response);
}
用户做完选取的商品后,并商品截图上传,点击提交,系统将商品提交至商品审核表,并从用户的商品栏中删除该商品。
Fig.3.16 Modify personal information map
伪代码:
SubmitTaskServlet :: SubmitUserTask(User user,HttpServletRequest request):String{
Dao.SubmitUserTask(String username,Task task);
Dao.DeleteUserTask(String username,Task task);
return rs;
}
If(rs){
request.getRequestDispatcher("./Tips_JSP/success.jsp").forward(request,response);}else{
request.getRequestDispatcher("./Tips_JSP/mistake.jsp").forward(request,response);
}
3.4.2 管理员模块
管理员登录系统后选择商品添加功能,输入商品相关信息点击添加,数据库将插入一条商品信息到(Task_information)表中。
Fig.3.17 Administrator adds task information graph
伪代码:
AdminAddTaskServlet :: addTaskInfo(Task task):String{
AdminJdbc.AddTaskIndormation(Task task);
return rs;
}
If(rs){
request.getRequestDispatcher("./Tips_JSP/success.jsp").forward(request,response);}else{
request.getRequestDispatcher("./Tips_JSP/mistake.jsp").forward(request,response);
}
管理员登录系统后输入审核的用户名,选择所要审核的商品,若点击通过则删除用户待审核表中的商品,将此条商品添加到审核通过表中,否则添加至审核不通过表中。
Fig.3.18 Audit task information chart
伪代码:
AdminTaskHandleServlet :: PassUserTask(String username,String task):String{
AdminDao.PassUserTask(String username,String task);
AdminDao.PassUserTaskforTaskId(String username,String task);
AdminDao.AddPassTask(String username,String task);
AdminDao.AddFailTask(String username,String task);
return rs;
}
If(rs){
request.getRequestDispatcher("./Tips_JSP/success.jsp").forward(request,response);}else{
request.getRequestDispatcher("./Tips_JSP/mistake.jsp").forward(request,response);
}
管理员登录系统后点击审批兼职信息,根据管理员的审批结果改变此条兼职信息的审批状态,通过则status变为1,不通过则变为2。
Fig.3.20 Approval user part time information chart
伪代码:
AdminTaskHandleServlet :: PassUserTask(String username,String task):String{
AdminDao.PassUserTask(String username,String task);
AdminDao.PassUserTaskforTaskId(String username,String task);
AdminDao.AddPassTask(String username,String task);
AdminDao.AddFailTask(String username,String task);
return rs;
}
If(rs){
request.getRequestDispatcher("./Tips_JSP/success.jsp").forward(request,response);}else{
request.getRequestDispatcher("./Tips_JSP/mistake.jsp").forward(request,response);
}
4 详细设计
4.1 首页功能实现
首页要求用户在登录时正确输入登录姓名,用户名必须是4-8位之间的字母或数字。用户在登录界面输入正确的用户名和密码后,点击立即登录,后台会根据数据库事先储存的管理员、用户、兼职人员的登录姓名和登录密码跳转到该用户应进入的模块。帮助管理员、用户、兼职人员找到自己该进入的模块。
4.2 登录功能实现
数据库里已经事先准备好了用户的登录姓名和登录密码,因此在登录过程中,后台代码将首先根据登录姓名来查找是否存在该用户,如果存在,则根据用户输入不同的密码登录不同的界面。
首页控件采用Layui框架和JQuery技术,能够给用户展示一个简单美观的界面。
4.3 管理员模块功能
管理员通过验证登录管理员模块功能中,可以为系统添加商品信息。兼职人员信息包括:姓名、年龄、学历、工号、资格认证。主要涉及到信息的查询、修改、删除和更新。查询时需录入兼职人员的工号,系统根据兼职人员工号检索兼职人员的详细信息。采用ajax方法删除,删除操作之前需先检索兼职人员信息,确认已生成兼职人员信息才可删除。
4.4 兼职人员模块功能
商品信息管理,兼职人员对分配到的商品信息新增、修改、删除和查询操作。当兼职人员点击进入本模块功能中,可以修改、删除和更新商品的信息,针对商品编号、商品型号、商品余量等商品信息进行操作并可以根据商品编号检索商品的详细信息。查看用户的预约时间,主要为查询功能,进入页面后点击查询按钮可以查看用户的预约信息,预约信息可以展示多条。
4.5 用户模块功能
用户通过验证登录进入本模块,实现的功能主要分为两块:预约商品、取消预约;提交用户感受报告。查询商品的信息主要包括:商品的编号、商品的型号、商品余量等。
4.6 安全退出
用户登录后可以点击退出后台,就会退回到登录界面并清除上回用户的登录信息。
5 系统测试
系统测试这一部分主要包括软件测试目的、软件测试方法、测试用例、测试结论等内容。
5.1 软件测试目的
软件测试可以通过软件本身来验证软件是否符合设计要求。其目的是找出软件设计与实际之间的差异,检查软件中还存在哪些未知的系统错误和逻辑错误,避免软件交付后的使用错误。这严重影响了以后的软件维护,降低了维护成本。通过这些测试,我们可以用最少的成本和时间发现尽可能多的系统错误和潜在的缺陷。软件测试随着软件开发,从单元测试到综合测试。检查软件单元是否能满足用户的详细要求,功能是否有缺陷。并在实际运行环境中对系统进行测试和软件压力测试,使软件在有限的资源内发挥更大的性能作用,确保和提高软件系统的质量[14]。
5.2软件测试方法
黑匣子测试也被称为功能测试。检查各项功能是否正常运转。在测试过程中,程序被认为是黑匣子,在不考虑内部结构和内部特性的情况下,无法在程序接口打开并测试[15]。
白盒测试方法也可以说是透明盒测试、结构化测试等,测试人员可以测试程序的地点和路径,发现包括广泛的代码测试在内的隐藏错误。但是,程序内部不能测试系统没有必要功能的零件。
通过对黑匣子测试法和白盒测试法等效果的区分,验证了系统的功能。黑匣子测试实例要根据等价类的有效性来区分,数据要根据不同用户的输入来区分。白盒测试示例应根据判断标准涵盖所有业务流程。我们要在整个测试阶段重复同样的过程。由于测试用例数量多,空间有限,所以测试函数不会重复,只选择代表性的函数。
5.3 测试用例
对用户注册模块进行等价类测试,当用户注册时需要按照系统提示输入有效的注册信息,用户名称或密码长度未达到要求位数以及确认密码与密码不符或者账号已被注册时,系统则根据不同的情况反馈注册信息有误等提示信息。用户注册模块如表5.1所示:
表5.1注册等价类划分
Tab.5.1 Registration equivalence class partition
输入条件 有效等价类 编号 预期结果 实际结果
用户名称 八位以上英文数字组合 1 提示注册成功 提示注册成功
用户邮箱 英文数字组合 2 提示注册成功 提示注册成功
手机 仅限十一位手机号 3 提示注册成功 提示注册成功
地址 任意长度字符串 4 提示注册成功 提示注册成功
密码 七到十四位 5 提示注册成功 提示注册成功
提示注册成功 提示注册成功
英文数字特殊字符组合 6 提示注册成功 提示注册成功
确认密码 跟密码的值相同 7 提示注册成功 提示注册成功
用户名称 为空或带有汉字和特殊字符 8 提示注册失败 注册失败,提示用户名有误
用户邮箱 为空 9 无法提交 无法提交
手机 为空或不为十一位数字 10 提示注册失败 注册失败,提示手机号有误
地址 为空 11 无法提交 无法提交
密码 密码长度少于七位 12 提示注册失败 注册失败,提示密码长度有误
密码 密码长度大于十四位 13 提示注册失败 注册失败,提示密码长度有误
确认密码 与密码的值不同 14 提示注册失败 注册失败,提示与确认密码与密码不符
对管理员添加商品信息模块进行等价类测试,当管理员帮助用户添加商品信息时需要按照规定的商品信息格式上传商品,商品名称,内容,发布时间等相关信息不可为空,商品金和所需数量也必须是数字类型,否则在任务提交时,系统则反馈与之相应的错误提示信息。管理员添加商品信息模块如表5.2所示:
表5.2 管理员添加商品信息等价类划分
Tab.5.2 Administrator adds task information equivalence class partition
输入条件 有效等价类 编号 预期结果 实际结果
商品名称 汉字、英文、数字组合 1 提示处理成功 提示处理成功
商品内容 不为空 2 提示处理成功 提示处理成功
商品发布时间 不为空 3 提示处理成功 提示处理成功
商品佣金 数字类型 4 提示处理成功 提示处理成功
商品限时 不为空 5 提示处理成功 提示处理成功
商品所需数量 整数 6 提示处理成功 提示处理成功
商品名称 为空 7 无法提交 无法提交,提示输入信息
商品内容 为空 8 无法提交 无法提交,提示输入信息
商品发布时间 为空 9 无法提交 无法提交,提示输入信息
商品佣金 不是数字类型 10 处理失败 处理失败
商品限时 为空 11 无法提交 无法提交,提示输入信息
商品所需数量 不是整数 12 处理失败 处理失败
对用户处理任务模块进行白盒测试,用户登陆后按照规定的操作步骤可对商品进行一系列操作,如商品上传、添加商品、删除失败历史记录等。用户处理商品模块的测试用例如表5.3所示:
表5.3 用户处理商品模块测试
Tab.5.3 User processing task module test
用例名称 前置条件 操作步骤 预期结果 实际结果 是否通过
用户上传商品信息是否成功 登录且进入上传商品界面 1.输入有效的商品信息
2.输入无效的商品信息 1.如果货物信息有效,记录目前货物的审批情况。
2.产品信息无效时,操作失败,不记录产品审批状态。 1.如果货物信息有效,记录目前货物的审批情况。
2.产品信息无效时,操作失败,不记录产品审批状态。。 通过
用户添加商品是否成功 登录系统且进入商品大厅界面 1.在从未做过此商品的前提下添加商品
2.在做过此商品的前提下添加商品 1.产品追加成功提示
2.系统上的新商品失败了。无法再使用该项目。 1.产品追加成功提示
2.系统上的新商品失败了。无法再使用该项目。 通过
5.4 测试结论
软件测试是项目不可分割的一部分。通过等效验和聚合试验,发现了系统的一些缺陷,并在后期进行了连续试验,加以纠正。最后,通过反复测试,系统可以正常运行。通过这些安排,我对软件测试也有了一定的了解。在未来的开发过程中,测试要尽快识别任务系统的缺陷,并确保软件质量。
结 论
利用静态任务模型动态分析了互联网微系统的需求。使用UML建模完成项目类的设计。完成物理模型和概念模型的设计,掌握两个模型之间的相互转换,完成数据库设计。在详细的项目设计中,运用序列度和协作度,充分体现了类与类之间的关系。在画所有系统图的时候,我回顾了一所大学所学的UML设计课程,仍然存在不足之处。例如,图片之间的信息交互是如何传达的,不熟悉的制度工具和不合格的图纸通过寻找各种文件的基本解决,项目设计阶段逐渐完成。所以我们开始开发这个项目
谢 辞
当我们第一次进入软件开发行业时,我们的老师带我们从C语言到C++语言,再到Java和SQL数据库,一年多的时间里,我们学习了H5、CSS、JS等前端知识,老师带我们去JSP和ASP,去Spring MVC、开始学习My Bait和Spring Boot后端框架。在撰写本文时,我们感谢柴教授的细心指导。感谢您检查代码错误并指导软件实现,使我能够成功地完成函数的编写过程。本论文是在市教授的精心指导下完成的。从选题、课题研究、实验教授、理论分析到论文撰写,教师倾注了心血和汗水。真心感谢给予我们所有关心和帮助的老师、同学、朋友!
参考文献
[1]董佑平, 夏冰冰. Java语言及其应用[M]. 清华大学出版社, 2019.
[2]郭静. 基于JSP的动态网页开发技术[J]. 科技展望, 2016(03): 12-16.
[3]李晨曦. 浅析JDBC连接MySQL的增删改查操作[J]. 计算机系统网络和通信, 2019(02): 333-337.
[4]王志伟. 软件需求开发及工程实践[J]. 甘肃科技, 2011, 27(17): 32-37.
[5]黄剑虹. 项目可行性分析中存在的问题及完善策略研究[J]. 今日财富, 2021(09): 73-77.
[6]敖冰峰. 软件教学中关于软件设计的概要设计与详细设计[J]. 北方经贸, 2002(05): 119-124.
[7]孙玉. 计算机软件数据库设计中存在的问题及设计原则[J]. 电子技术与软件工程, 2021(06): 162-167.
[8]Shameer Kunjumohamed.Spring Essentials [M], Packt Publishing, 2016.
[9]胡琼. JSP系统开发设计教学中的难点问题及其解决对策分析[J]. 数字通信世界, 2021(02): 276-283.
[10]兰全祥. 基于Web应用的会话跟踪技术的分析与应用[J]. 赤峰学院学报(自然科学版), 2020, 36(02): 57-63.
[11]Kurniawan B. Java for the Web with Servlets, JSP, and EJB[M]. Sams Publishing, 2002.
[12]王荣鑫. 精通Oracle 12c数据库管理[M]. 清华大学出版社, 2018.
以上就是关于《商城系统设计与开发》的相关内容,想了解更多毕业论文资讯,敬请关注《山东毕业论文指导网》。如您有论文需求或投稿,欢迎发送邮件至:1624136919@qq.com,也可在下方表单信息中填写您的信息,便可得到专业解答哦!〜(✿◠‿◠✿)〜
转载请注明:文章转载自(http://www.lwzdw.com)
免责声明:
1.本站为第三方开放式学习交流平台,所有内容均为用户自行上传,仅供参考。
2.用户上传内容仅代表其个人观点,不代表本站立场,互联网信息治量繁杂,本站无法保证所有内容真实、准确,若内容不实或侵害了您的合法权益,请及时联系我们,我们承诺会在1小时内审核并删除相关内容,联系方式:0531-58783396/18615575405,服务时间:8:00~21:00。
3.本站所有内容版权均属于原作者,用户使用本站资源,应自觉遵守著作权法及其他相关法律法规,不得侵犯原作者及本站的合法权益。我们尊重版权并致力于保护版权,如果您是原作者请联系本站小编:0531-58783396/1624136919@qq.com,我们将为您的文章注名,感谢您的分享!
【商城系统设计与开发】相关文章:
- 网络广告的特点02-22
- 数据库备份应注意以下几点02-21
- 基于快乐课堂的差异化竞争策略02-20
- CNAS认可运行模式02-20
- 手机地图软件回溯目标对象的轨迹02-20
- 无线网络的安全威胁是什么?02-20
- 人工智能和大数据的区别02-20
- 无线网络安全措施的选择02-20
- 计算机网络安全漏洞防范02-20
- Photoshop平面设计中软件的基...02-20