摘要
随着网络上应聘兼职工作的日益普遍,怎样才能让用户轻松、快速、方便的找到自己所需而理想的工作成为许多人广泛关注的一个问题,尤其对于许多的年轻人和大学生来说,提升自己的工作能力,提高自己的综合素质 ,以便于毕业后能够更好的适应社会的压力。
兼职系统采用SpringBoot框架大大提高了开发效率, MySQL的强大支撑使得兼职信息查询更方便。这些都是找份兼职系统拥有的优势。另一方面, 持久层框架为MyBatis,封装好的对象映射功能能够使持久层的数据操作更加简单。不仅增加求职者和用人单位的信息沟通,还了提供高效的信息服务,增强信息安全。网络信息的发达为该系统之后的开发提供理论,和需求的分析。本文以社会现状为出发点,借助网络相关技术知识和相关服务框架,完成对网络兼职系统的分析与设计。
关键词
网络兼职;兼职系统;Java;SpringBoot
Abstract
With the increasing popularity of applying for part-time jobs on the Internet, how to make users easily, quickly and conveniently find the ideal job they need has become a problem widely concerned by many people, especially for many young people and college students, improve their work ability and improve their comprehensive quality, so as to better adapt to the pressure of society after graduation.
The part-time system adopts the SpringBoot framework, which greatly improves the development efficiency. The strong support of MySQL makes the part-time information query more convenient. These are the advantages of finding a part-time system. On the other hand, the persistence layer framework is Mybatis, and the encapsulated object mapping function can make the data operation of the persistence layer easier. In order to increase the information communication between job seekers and employers, provide efficient information services and enhance information security. The development of network information provides theory and demand analysis for the later development of the system. Based on the current social situation, with the help of network related technical knowledge and related service framework, this paper completes the analysis and design of network part-time system.
Key words
Network part-time job; Part time system;Java; SpringBoot
目录
第一章 前言
本章首先对网络兼职系统做简单介绍,了解网络兼职的发展历史,从而可以客观的分析出传统网络兼职的优势与不足,论述开发本系统的重要意义,对比传统兼职平台改良和创新的地方。同时针对人们在兼职活动中所扮演的角色,如最基本的兼职人员、雇主双方在兼职过程中所面临的问题以及如何去解决,都在系统中有所体现。其次预测网络兼职要解决的问题和遇到的难题,得出需求和为选用架构和框架做准备并初步确定系统结构。
1.1 研究背景
在互联网出现之前,人们的求职往往是通过人才市场的招聘活动,大街小巷的招聘广告以及进店咨询或者亲朋好友介绍等方式。想要找到令自己满意的工作,无异于大海捞针,对于每一份工作你都要去亲身了解,筛选,最后还有可能被表面光鲜亮丽的诱惑所蒙骗,最后浪费了自己的时间与精力还没有得到好的结果。因此这种求职效率相对来说比较低下。而对于雇主来说,想招到一个满意的员工也是费尽心思[1]。
随着互联网的出现,人们开始进入信息大爆炸时代,人们只需要通过上网冲浪,就可以浏览到各种信息,其中也不乏招聘。然而在招聘平台出现之前,发布到网上的信息来源并没有进行过筛选,虽然相较互联网出现之前的信息闭塞有所好转,但是鱼龙混杂的招聘信息更容易让人迷失在其中,想要找到一份好的工作依然是比较艰难[2]。
在兼职活动的过程中,往往伴随着雇主与兼职人员之间的关系,劳动与报酬之间的关系以及任务完成评定的标准,这几方面关系的处理往往决定了一次兼职活动是否能够成功执行。如何让雇主尽快的了解兼职人员的基本信息以及以往的工作经历是雇主挑选兼职人员的一项重要依据,而兼职人员如何明确自己的工会工作内容与工作报酬也可以减少兼职过程中双方产生的矛盾。平台如何有效的解决这几方面的问题也是本系统着重要思考的地方[3]。
1.1.1 国外研究现状
兼职服务平台作为当今社会重要的一个招聘渠道,越来越受到大众的欢迎与关注,因为好的兼职平台不但可以很好的解决劳务供需之间的矛盾,还能有效的促进经济的发展,增加就业机会等作用。
国外类似平台起步较早,发展较快,功能也比较完善,同时国外人群对个性化与自由工作环境的追求,导致很多年轻人都喜欢在这类平台上寻找适合自己的工作机会,在自己具备一定技能的情况下,很多人愿意去寻找一份不受环境和场所束缚的工作,同时通过技术的积累,还能获得与全职工作相差不多的报酬。因此国外在兼职平台上的建设做的比较细致,划分也比较完善,可以说做到了术业有专攻,对一块领域的深耕可以让这些平台获得更多同类群体的青睐。其中,著名兼职平台如freelancer(自由职业者)是当前全球规模最大的自由职业网站,已经拥有500多万注册用户,发布任务数达到了1900多个。不管是IT软件,手机,计算机,数据录入等,写作还是设计等在这个平台上都可以找到,还有Fiverr、upwork、Guru、Toptal等,他们都有各自的特点与侧重方向,但是最终他们都以良好的服务获得了大量的用户群。可以说,正式这些优秀平台的出现,不单单为国外就业环境做出了积极贡献,同时也为国内开发类似系统的道路上提供了宝贵的经验[4]。
1.1.2 国内研究现状
国内兼职活动其实自古有之,只不过随着改革开放的进行,人们对于兼职的认识与了解已经渐渐大同于国外的思想。在国内,从兼职人员角度来说,兼职人员的来源有两种,一种是在职工作人员在业余时间寻找一份兼职工作,缓解一下生活压力;另一种是无业人员,通过不断的切换工作来获取经济来源,如日结工作,时薪工作等。从雇主的角度来说,兼职的产生,正是由于雇主对于自己的工作规划中,有一部分是自己不能胜任的,或者自己没时间去处理的一些业务,需要寻求别人的帮助,于是便开始了服务外包,于是便产生了兼职。目前国内市场大环境的兼职行业发展是非常快速的,甚至各个行业的兼职项目被不断推出市场[5]。正是因为这样的原因,所以越来越多的人士纷纷加入兼职行列,希望能够在这样的环境之下,寻求到更好的发展可能。在这种环境的烘托下,人们对于有一个正规渠道来获取有效的兼职信息的需求也越来越大,同时由于国内外国情的不同,不可能照搬国外系统的经验来在国内实行,于是,国内也开始慢慢摸索符合自己国内国情的兼职平台,国内兼职行业的主要特点是:工作时间不一,回报率不一,劳动强度不一,回款风险不一,同时工种繁多,因此这就需要平台在建设过程中充分考虑到以上因素,为人们提供一个良性平台。经过多年的发展,国内也终于涌现出一批优秀的兼职平台,他们的特点是在不同的领域各有建树,而不是在各个领域有所涉足,这就保证了他们在某个方向上的专业性。如趣闲赚,是使用手机做任务来获取相应的佣金。还有悬赏猫、小白赚钱、赏乐邦、牛帮、众人帮、海赚资讯等平台都为国人提供了一个良好的赚钱渠道[6]。
1.2研究的目的与意义
随着近几年的经济形势有所下滑,而生活支出又没有相对减少的情况下,人们对于兼职的兴趣也越来越大,希望能够在业余闲暇时间有一份合适理想的兼职工作来赚取一定的费用来缓解生活上的压力,而在这个过程中,有人在不断的尝试各种兼职工作,也有人对于自己想要干哪种兼职工作犹豫不决。如果有一个平台能够推出各种各样的工作机会,供人们去挑选并从事,这样既解决了人们的生活压力,也能够帮助兼职发布者快速完成自己的工作计划,是一件一举多得的事情[7]。
1.2.1研究的目的
基于此现状,本文在经过充分的资料参考以及数据研究后,设计出一款有针对性的,适合当代有技术才能的人前来探寻的一个兼职服务平台。平台的架构新潮,采用当前主流技术如SpringBoot+Mybatis+Redis,数据库采用MySQL,前端使用HTML+Bootstrap搭配,在性能和观感上都有良好的体验;页面简洁,用户打开本系统便可直奔主题,寻找自己想要的信息;操作简单,经过浏览后可直接对自己感兴趣的工作进行投标。同时系统的审核机制也确保了兼职信息的合法性和有效性。结合以上几点,本系统的目的就是为了让人们可以更快,更好的拥有一份如意的兼职工作[8]。
1.2.2研究的意义
1.推动市场的发展和前进
因为兼职的存在,创造了GDP,所以让我国的经济水平处于更好的状态,特别是在现在通货膨胀越来越严重的时代里,兼职的存在毫无疑问对于整个社会大环境都是利好的。
2.让更多人群获得高品质生活
既然做兼职是通过时间和精力的付出来获得佣金回报,那么就意味着,如果你愿意多投入一些时间去找到适合自己的高工资兼职工作,那么后期的回报也会更多,资金的积累当然能给你换得更高生活品质。
3.企业的运转变得简单
兼职,指的是企业下发给一些从业人员、按照每个小时计算薪酬的一些工作offer,正是因为由兼职来完成这些工作事宜的展开,所以内部全职员工的工作强度将降低,他们能将精力、时间重点都放在一些更值得关注的事情上,当然对企业的运作成本降低,对企业的运作效率提升会有很大利好影响。
4.让人在无聊的时候有事可做
你是否曾经有过这样的感觉,每天下班回到家里,一个人对着空荡荡的房间看电视,很无聊,甚至觉得很空虚,虽然说自己的电话簿里存着很多人,但是左旋右挑一直都不知道哪些人可以作为自己倾诉的对象。事实上,这样的情况是非常常见的,而面对这样空虚寂寞冷的大环境,兼职行业的火爆让大家有更多有意义的方式来打发无聊时间。同时,一份可靠的兼职服务,除了供人们获取额外的报酬以外,同时也为社会的稳定做出了一份贡献。为时代的积极进步发展,贡献自己的一份力量。
1.3系统要解决的主要问题及论文结构
如何协调好雇主与兼职人员之间的关系,劳动与报酬之间的关系,工作内容与兼职人员信息透明的基本要求,以及如何对用户发布的任务进行有效的审核,确保系统保持在健康向上的环境下运行,是本系统索要解决的问题。针对以上问题,本节先做简单阐述如下,为解决在兼职过程中招聘信息的鱼龙混杂,容易夹杂使人们上当受骗的信息,因此,引入了审核机制,系统的审核机制可以过滤掉绝大部分无用的信息,经过滤筛选后的信息可以保证他的时效性以及有效性。同时也为雇主在选择兼职人员这样一方面提供了通道,可以让雇主更加快速,深入的了解接受自己任务的兼职人员信息。同时平台对于任务信息的公开透明也有利于提高雇主兼职人员的成交率[9]。
1.3.1系统要解决的主要问题
在兼职过程中,从供需角度来讲,主要会有以下问题,雇主方由于不了解兼职人员经历,从而担心兼职人员的实力不能胜任当前的工作,白白花钱不说,最后还没有解决掉自己的问题。而从兼职人员方来说,兼职人员首先担心雇主发布的工作内容为虚假信息,其次担心兼职人员是否能够及时支付报酬。为了解决此类供需矛盾,系统专门有一个审核机制,用来对雇主发布的任务进行审核,同时也对兼职人员的信息直接关联到兼职竞标的竞标者信息中,让雇主可以及时查看竞标者的专业技能,并从中选择自己最满意的那个人来担任此项任务。
用户管理:用户主要是指系统内的雇主以及兼职人员信息,即通过业务端注册进来的用户信息,由管理员统一管理。首页展示:主要是向用户提供快捷的搜索渠道以及用户可以根据不同兼职进行分类来针对性的浏览兼职信息。任务管理:主要是供管理员管理雇主用户发布的任务,经管理员审核后才能发布到业务端,供兼职人员用户浏览以及投标。投标管理:对雇主发布的任务,兼职人员如果感兴趣,可以对该任务进行投标,标名自己想要的报酬以及完成该任务所需要的时间等。个人中心:用户可以在这里编辑自己的个人信息,更好的向别人展示自己,同时可以在个人中心查看自己参与投标的任务和自己发布的任务以及自己中标的任务。
1.3.2论文结构
本文就兼职服务系统在实际开发过程中所涉及到的流程设计,实现细节和系统架构进行系统性的分析简要说明如下文所示:
1.前言:描述校园信息类服务平台在国内外的发展和应用情况。同时为兼职服务平台准备开发环境以及运行环境等。
2.系统需求分析:根据对实际情况的调研,从多角度对平台建设的可行性进行研讨以及最后确定平台所具备的主要功能。
3.系统总体设计:将系统需求进行扩散细分,最后得出各个功能模块的详细实现思路以及数据库的设计。
4.系统的详细设计与实现:根据前期需求的调研以及对各模块功能的具体规划,通过时序图和流程图进行指导,开始进行功能模块的详细实现。
5.系统测试:通过对系统软件测试方法的分析总结,选择一种最适合本平台的测试方法,并编写测试用例,对系统各模块进行详细测试。
第二章 系统的需求分析
随着信息技术的普及,公司或者人才市场线下招聘越来越不满足现代兼职人员的要求,需求也越来越多样化,如何打造一个能够满足众多兼职人员要求的兼职服务管理系统也成为了本文的重点。本文从三个方面如系统的开发经济可行性,框架选型的技术可行性,用户体验的操作可行性等方面多重考虑,对系统的各方面进行详细的系统分析[10]。
2.1 可行性分析
可行性分析是指在系统具体开发前,根据谋定而后动的原则,通过对多方实际情况的考虑,制定一个可行性计划,来指导系统的开发,对系统的成功研发提供一个研判标准。
2.1.1 经济的可行性分析
系统的开发面临着一个成本问题,成本的核算决定着系统所能取得的利润,如何指导系统以更经济的方式来进行开发,是十分有必要的步骤,决定一个系统成本问题的因素有软件人员配置,软件开发涉及到的软硬件成本以及平台架设所涉及到的费用。因此,如何协调好这些问题也成为了系统开发成功的关键问题之一。
兼职服务管理系统作为可以容纳众多人员使用的公共平台,必然会因为用户数的增长而带来软硬件设备的更新,如果不把经济性考虑进去,则势必会造成运营成本的增加,从而较少平台运营的利润,因此如何采用更经济的办法来维护系统稳定的运行也是一个关键的因素。
本系统采用Mysql数据库存储数据,Redis插件缓存信息,皆完全开源免费。
2.1.2 技术的可行性分析
兼职服务管理系统的建立,具有哪些功能,由需求决定,而需求的复杂度又决定了技术的复杂度,本系统在经过充分调研后,采用了如下技术,保证系统的高效可正常运行,为用户提供良好而稳定的体验。本系统前端采用HTML语言,作为久经市场考验的一门前端语言,用来开发平台的交互界面可以说非常合适,同时UI框架采用的是BootStrap,这也是一个备受开发者喜爱的框架,他的功能强大,封装性强,调用简单,对业务场景的兼容性强。后台框架采用的是SpringBoot,他集成了Spring与SpringMVC的特性,同时内置了Tomcat,无需依赖外部Tomcat可独立启动项目出工程,封装程度高且高箱即用,能提高开发人员效率[11]。数据库通过MySQL实现数据存储,同时可支撑高并发量下的大量数据读写操作。半自动ORM框架MyBatis,封装好的对象映射功能能够使持久层的数据操作更加简单。
2.1.3 操作可行性分析
系统的操作复杂程度在一定程度上决定了他的用户群体数量,功能再强大的系统,在繁琐的操作下也会劝退很大一部分用户,因此具备操作简单特性的系统更容易吸引用户前来体验,从而增加系统用户粘度,为系统的推广打下坚实基础。本系统也本着以上原则,通过对操作流程简化使用户拥有更好的操作体验。
2.2 功能需求
2.2.1 系统业务参与者
系统业务参与者如表2-1所示。
表2-1 业务参与者
序号 | 参与者 | 参与者描述 | 操作描述 |
1 | 管理员 | 后台管理员 | 管理系统内的基础数据。 |
2 | 雇主 | 任务发布者 | 发布任务。 |
3 | 兼职人员 | 任务投标者 | 对发布的任务进行投标。 |
2.2.2 用例词汇表
用例词汇如表2-2所示。
表2-2 用例词汇
用例名称 | 用例描述 | 参与者角色 |
登录 | 使用系统之前完成登录操作 | 管理员,雇主,兼职人员 |
注册 | 注册为系统用户 | 无限制 |
修改用户信息 | 用户修改登录密码 | 管理员,雇主,兼职人员 |
续表2-2
用例名称 | 用例描述 | 参与者角色 |
修改密码 | 管理员修改用户信息 | 管理员,雇主,兼职人员 |
兼职人员管理 | 管理员对系统内的兼职人员进行管理 | 管理员 |
雇主管理 | 管理员对系统内的雇主进行管理 | 管理员 |
首页展示 | 用户可对系统内的任务进行搜索展示 | 管理员,雇主,兼职人员 |
分类管理 | 管理员管理任务分类 | 管理员 |
投标管理 | 雇主对投标信息进行管理 | 雇主 |
发布管理 | 雇主对发布出去的任务进行管理 | 雇主 |
参与投标 | 兼职人员对雇主发布的任务进行投标工作 | 兼职人员 |
我的投标 | 兼职人员管理自己参与过的投标工作 | 兼职人员 |
我的投标 | 兼职人员管理自己参与过的投标工作 | 兼职人员 |
2.2.3 系统用例模型
通过三个角色划分系统功能模块,与角色对应的功能模块的简介如下:
管理员:负责系统内部的基础数据维护以及对兼职人员、雇主、任务以及投标进行统一管理。
雇主:可在系统内发布任务并管理招标工作。
兼职人员:可在系统内对发布的任务进行投标操作,并可查看自己参与的投标任务。
系统用例图如2-1所示。
图2-1 系统用例模型
2.3 各模块用例描述
为更好的说明系统中各模块所涉及到的参与者以及参与者在业务流程中所执行的操作以及扮演的角色,通过用例表加以详细说明。
2.1.1 登录用例
登录模块用例如表2-3所示。
用例条目 | 描述 |
用例名称 | 用户登录 |
主要业务参与者 | 管理员,雇主,兼职人员。 |
其他参与者 | 无 |
描述 | 管理员,雇主,兼职人员在使用该系统前登录。 |
前置条件 | 无 |
后置条件 | 可进行管理员/雇主/兼职人员的后续操作。 |
基本流程 | 1.用户输入账号密码; 2.系统验证用户身份与权限; 3.返回用户登录结果。 |
替代流程 | 1.用户输入错误的账号密码; 2.返回登录失败。 |
结束 | 登陆成功或失败。 |
注册模块用例如表2-4所示。
表2-4 注册模块用例
用例条目 | 描述 |
用例名称 | 用户注册 |
主要业务参与者 | 普通人员 |
其他参与者 | 无 |
描述 | 用户可通过注册成为本系统用户, |
前置条件 | 无 |
后置条件 | 可凭账号密码登录系统。 |
触发条件 | 点击注册。 |
1.用户输入账号密码以及确认密码,并经系统验证; 2.返回用户注册结果。 | |
替代流程 | 1.用户输入账号或密码错误; 2.返回注册失败信息。 |
结束 | 注册成功或失败。 |
2.1.3修改用户信息用例
修改用户信息模块用例如表2-5所示。
表2-5 修改用户信息模块用例
用例条目 | 描述 |
用例名称 | 修改用户信息 |
主要业务参与者 | 管理员,雇主,兼职人员 |
其他参与者 | 无 |
前置条件 | 登录该系统且拥有相应权限。 |
后置条件 | 管理员,雇主,兼职人员可修改自身用户信息。 |
基本流程 | 管理员,雇主,兼职人员修改用户信息。 1.点击右上角用户名,进入用户信息表单; 2.输入想要修改的信息项; 3.点击确定按钮。 |
替代流程 | 1.点击右上角用户名,无法进入用户信息表单; 2.输入错误的信息修改项; 3.没有点击确认按钮。 |
结束 | 返回成功/失败信息 |
2.1.4.雇主管理用例
雇主管理用例如表2-6所示。
表2-6 雇主管理用例
用例条目 | 描述 |
用例名称 | 雇主/兼职人员管理 |
主要业务参与者 | 管理员 |
其他参与者 | 无 |
描述 | 管理员可查看系统内的雇主/兼职人员信息。 |
登录该系统且拥有相应权限。 | |
后置条件 | 查看系统内的雇主/兼职人员信息。 |
触发条件 | 点击雇主/兼职人员管理。 |
基本流程 | 1.点击雇主/兼职人员管理菜单; 2.查看雇主/兼职人员列表. |
替代流程 | 1.没有点击查看管理员菜单; 2.没有查看雇主/兼职人员列表. |
结束 | 返回成功/失败信息. |
2.1.5.任务分类管理用例
任务分类管理用例如表2-7所示。
表2-7 任务分类管理用例
用例条目 | 描述 | |
用例名称 | 任务分类管理 | |
主要业务参与者 | 管理员 | |
描述 | 管理员可对建立任务分类信息,并可将对应任务分类进行编辑,删除,设为热门,解除热门操作。 | |
前置条件 | 登录该系统且拥有相应权限。 | |
后置条件 | 管理员操作任务分类信息。 | |
触发条件 | 管理员点击任务分类列表菜单。 | |
基本流程 | 新增任务分类: 1.点击新增按钮; 2.输入必填项,完成验证; 3.点击提交按钮。 编辑任务分类: 1.点击编辑按钮; 2.输入必填项,完成验证; 3.点击提交按钮。 删除任务分类: 1.点击删除按钮; 2.根据提示选择是否删除; 3.确认/取消删除。 | |
替代流程 | 新增任务分类: 1.没有输入必填项,无法完成验证。 2.新增任务失败; 编辑任务分类: 1.没有输入必填项,无法完成验证; 2.没有点击提交按钮。 删除任务分类:1.该任务分类不存在; 2.没有点击确认删除按钮。 | |
结束 | 返回成功/失败信息。 |
2.1.6.发布任务用例
发布任务用例如表2-8所示。
表2-8 发布任务用例
用例条目 | 描述 |
用例名称 | 发布任务 |
主要业务参与者 | 雇主 |
其他参与者 | 无 |
描述 | 雇主可以发布任务信息。 |
前置条件 | 雇主已登录系统。 |
续表2-8
用例条目 | 描述 |
后置条件 | 雇主可发布任务信息。 |
基本流程 | 1.雇主点击发布任务菜单; 2.填写必填项,进行表单验证; 3.点击提交按钮。 |
替代流程 | 1.未填写必填项; 2.发布任务失败。 |
结束 |
|
2.1.7.任务管理用例
任务管理用例如表2-9所示。
表2-9 任务管理用例
用例条目 | 描述 |
用例名称 | 任务管理 |
主要业务参与者 | 雇主 |
其他参与者 | 无 |
描述 | 雇主可根据不同状态的任务列表查看如兼职人员信息,竞标者信息等。 |
前置条件 | 用户登录系统并拥有相应权限。 |
后置条件 | 用户可对自身发布的任务进行管理。 |
触发条件 | 点击任务管理菜单。 |
基本流程 | 已完成任务查看兼职人员列表: 1.点击浏览兼职人员信息按钮。 未中标任务管理竞标者: 1.点击管理竞标者按钮; 2.选中指定竞标者点击接受投标。 |
替代流程 | 1.点击浏览兼职人员信息按钮失败; 2.无法点击管理竞标按钮; 3.选中制定竞标者失败。 |
结束 | 返回成功/失败信息 |
2.4 本章小结
本章所涉及到的内容有如何从经济,技术,操作可行性三个方面来对系统研发的可行性进行分析。同时对系统各个模块的功能进行简要描述,包含对功能所要实现的内容进行描述,该功能涉及到的参与角色,以及该角色在该功能中的操作流程。提供对系统研发的论证基础。
任何系统的开发都要经历从总体到局部的过程,总体是指对系统总体架构,整体功能实现目标,整体框架进行建设,然后在根据总体规划逐步细致到各个功能的实现,且功能和功能之间的关系都呈现相辅相成的状态。整个过程需要循序渐进,反复论证,多方研讨,才能达到最终想要的结果。
3.1系统设计原则
开放性原则从某个方面讲是指系统不单单局限于一种运行环境,而是要在多个环境都能运行,这样系统才具有广泛推广新,不被某一环境所局限。JAVA语言在这一方面做的十分优秀,它具备一次编译,跨平台运行的特性。同时,根据通用HTTP接口协议进行功能代码编写,可以有效实现与其他系统对接与传输共享能力。
2、实用性与可维护性原则
系统在开发设计之初便本着实用性强,可维护性强的原则来对功能实现,数据对象建模进行了反复研究。在尊重人们日常使用习惯的前提下,更完美的实现系统各模块功能,更贴近生活实际。同时良好的数据封装性也保证率日后系统在维护方面的便利性。
3.2 系统架构设计
本系统采用的是B/S结构,即通过浏览器端访问服务端,在页面上进行业务操作。两端之间的通信是通过HTTP协议来实现信息通信。服务端又将数据存储到数据库服务器。系统在设计上是针对不同的角色进行的系统设计,系统内的业务角色分为管理员、雇主、以及兼职人员。管理员负责基础数据的维护以及任务的审核,雇主负责任务的发布与跟踪,兼职人员则负责竞标系统内的任务并在个人中心进行任务管理。下面将简单介绍各角色模块所具备的功能点。
Web客户端:提供系统访问渠道。
数据库服务器:存放系统运行过程中所产生的数据。
Web服务器:用于存放应用程序,给客户端提供访问接口。
3.3 系统功能模块设计
根据总体设计分析,兼职服务系统的功能结构层次图如图3-1所示。
图3-1 系统总体功能结构图
系统按照功能模块划分,列举出了以下几个模块:
1.用户管理:用户可以选择对应的身份信息如雇主,自由职业者进行注册,注册成功后便可以对应身份登录前台并进行相关操作。然后可通过账号+密码方式登录系统,方便快捷。系统管理员可对系统内用户进行相关操作(增删改查),可按照分类进行快速搜索,如根据雇主类型的用户进行搜索,根据兼职人员类型的数据进行搜索等。
2.首页展示:用户可以根据任务分类快速查找不同分类下的任务,方便用户对接自己感兴趣的任务。同时还展示最新发布的任务列表,也可根据具体分类栏目进去浏览该分类下的所有任务。
3.任务管理:管理员可以对系统内发布的任务进行审核,并进行任务分类的基础数据的管理。雇主可以发布任务,兼职人员可以参与任务投标。同时用户可以在系统首页根据任务分类进行快速搜索。
4.投标管理:用户可以对自己参与的投标进行管理,同时也可以以雇主的身份查看自己发布的任务的投标者信息。
5.个人中心
用户可以在此修改自己的展示页信息,可以修改自己的个人信息,可以查看我参与投标的任务,可以查看我发布的任务,可以查看我已经中标的任务。
3.4 时序图的建立
3.4.1 任务分类信息管理模块
任务分类信息管理模块时序图如图3-2所示。
图3-2 任务分类信息管理模块时序图
3.4.2 发布任务模块
发布任务模块时序图如图3-3所示。
图3-3 发布任务模块时序图
3.4.3 管理任务竞标者模块
管理任务竞标者模块时序图如图3-4所示。
图3-4 管理任务竞标者模块时序图
3.4.4 修改密码模块
修改密码模块时序图如图3-5所示。
图3-5 修改密码模块时序图
3.4.5 任务搜索模块
任务搜索模块时序图如图3-6所示。
图3-6 任务搜索模块时序图
3.5 数据库设计
3.5.1 概念模型设计
如何搭建现实世界与虚拟世界的桥梁,数据库当仁不让的成为了首选,数据库的设计首先要通过数据库建模,建模的作用是对现实世界的实体属性对应于虚拟世界的模拟属性。E-R图更是对实体与实体之间的关联关系的一种有效表达。它实际是一种抽象化的对实体关系的建模手段,可以让设计者更直观的感受到系统内实体之间的关系[12]。
为了更加直观的了解数据在实体之间是如何流转的以及实体与实体之间是何种映射关系,也从侧面体现了在编程语言中的抽象思想,更准确的模拟出实体与对象的概念模型,是一种概念关系表达的有效方式,系统E-R图如3-2所示。
图3-2 系统E-R图
根据需求分析,可以对系统内的实体与属性之间的联系进行建模。
- 管理员相关实体:实体包括的属性有管理员主键ID、头像、登录账号、性别、真实姓名、登录密码如图3-3所示。
图3-3 管理员信息实体属性图
- 雇主相关实体:实体包括的属性有雇主id、用户名、头像、性别、手机号、登录密码如下图3-4所示。
图3-4 雇主信息实体属性图
- 兼职人员实体:兼职人员实体包括的属性有兼职人员id、用户名、性别、邮箱、个人简介、标语、主页被浏览次数、头像、手机号码、登录密码、创建时间、创建人、修改时间、修改人如下图3-5所示。
图3-5兼职人员实体属性图
- 投标信息相关实体:实体包括的属性有投标id、任务id、兼职人员id、投标价格、交货时间、交货时间描述、竞标状态、创建时间如下图3-6所示。
图3-6 投标信息实体属性图
- 任务实体:任务实体包括的属性有任务id、任务分类id、雇主id、中标时间、任务标题、成交时间、任务状态、成交价格、任务简介、最低预算价格、兼职人员id、附件名称、最高预算价格、任务描述如下图3-7所示。
图3-7 任务信息实体属性图
- 任务分类实体:实体属性有分类名称、分类id、分类图片展示地址、是否热门、创建时间、修改时间如下图3-8所示。
图3-8任务分类信息实体属性图
- 任务技能实体:任务技能实体包括的属性有技能名称、任务id、创建时间、修改时间、技能描述、技能id如下图3-9所示。
图3-9 任务分技能实体属性图
- 主页浏览记录实体:主页浏览记录实体包括的属性有雇主id、兼职人员id、浏览时间、浏览器选择、ip地址、浏览id,如下图3-10所示。
图3-10 主页浏览记录实体属性图
- 兼职人员技能实体:兼职人员技能实体包括的属性有技能名称、兼职人员id、技能说明、创建时间、修改时间、技能id如图3-11所示。
图3-11 兼职人员技能实体属性图
- 任务收藏实体:任务收藏实体包括的属性有任务id、兼职人员id、收藏时间、取消收藏时间、上次收藏时间、收藏id如下图3-12所示。
图3-12 任务分技能实体属性图
以上的实体图中最主要的是兼职人员信息实体属性图,投标信息实体属性图,任务信息实体属性图,也是设计最复杂,它用于兼职人员信息,任务信息,投标信息的存储,在系统中占主导地位。
3.5.2 数据库表设计
本系统通过MySQL数据库存储数据,MySQL可以作为数据存储插件,通过建立表来存储各个与实体具有对应关系的数据。从灵活性上来讲就具备了得天独厚的优势。而其所定义的SQL 语法在常见的数据库语言中是基于标准化的。历代版本的MySQL都具备小型且快速的低成本特征,源码向开发者开放特色,一般企业都非常青睐它。本系统也正是基于以上特点,故此选择了将其作为数据存储工具[13]。对系统内的表设计情况如下。
1.管理员相关信息表:存储系统管理员相关信息,包括管理员ID、真实姓名、用户邮箱、登录密码、性别、用户名、头像等如表3-1所示。
表3-1 管理员信息表(admin)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | int | 20 | 是 | 否 | 管理员ID |
user_name | varchar | 50 | 否 | 是 | 用户名 |
real_name | varchar | 50 | 否 | 否 | 真实姓名 |
user_mail | varchar | 100 | 否 | 否 | 用户邮箱 |
login_password | varchar | 50 | 否 | 否 | 登录密码 |
sex | char | 1 | 否 | 否 | 性别 |
photo | Image | 100 | 否 | 否 | 头像 |
2.雇主信息记录表:存储系统雇主信息,字段包括雇主ID、用户名、登录密码、头像、手机号码、邮箱、创建时间、删除标记等如表3-2所示。
表3-2 雇主信息表(employer)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 雇主ID |
username | varchar | 100 | 否 | 否 | 用户名 |
password | varchar | 100 | 否 | 否 | 登录密码 |
head_img | varchar | 500 | 否 | 否 | 头像 |
phone | varchar | 11 | 否 | 否 | 手机号码 |
| varchar | 20 | 否 | 否 | 邮箱 |
create_time | datetime | 20 | 否 | 否 | 创建时间 |
del_flag | char | 1 | 否 | 否 | 删除标记 |
update_time | Datetime | 否 | 否 | 修改时间 |
3.兼职人员信息表:存储兼职人员信息,包括兼职人员ID、用户名、密码、邮箱、手机号码、头像、标语、个人简介、主页浏览次数、创建时间等如表3-3所示。
表3-3 兼职人员信息表(employee)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 兼职人员ID |
username | varchar | 20 | 否 | 是 | 用户名 |
password | varchar | 50 | 否 | 否 | 密码 |
phone | varchar | 11 | 否 | 是 | 手机号码 |
head_img | varchar | 200 | 否 | 否 | 头像 |
tagline | varchar | 200 | 否 | 否 | 标语 |
profile | varchar | 200 | 否 | 否 | 个人简介 |
browse_count | int | 11 | 否 | 否 | 主页浏览次数 |
create_time | datetime | 20 | 否 | 否 | 创建时间 |
4.投标信息表:存储投标信息,包括投标ID、任务ID、职业者ID、投标价格、交货时间描述、交货时间、竞标状态等如表3-4所示。
表3-4 投标信息表(bid)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 投标ID |
task_id | bigint | 20 | 否 | 否 | 任务ID |
employee_id | bigint | 20 | 否 | 是 | 职业者ID |
bid_price | double | 50 | 否 | 是 | 投标价格 |
delivery_desc | varchar | 200 | 否 | 否 | 交货时间描述 |
delivery_time | timestamp | 10 | 否 | 是 | 交货时间 |
bid_status | tinyint | 4 | 否 | 否 | 竞标状态 |
5.任务信息表:存储任务信息,包括自增ID、分类ID、雇主ID、任务标题、任务简介、任务描述、最低价格、最高价格、任务附件、兼职人员ID、成交价格、任务状态、成交时间、中标时间、创建时间、创建人,修改时间、修改人如等表3-5所示。
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 自增ID |
category_id | bigint | 20 | 否 | 否 | 分类ID |
employer_id | bigint | 20 | 否 | 否 | 雇主ID |
task_title | varchar | 255 | 否 | 否 | 任务标题 |
task_profile | varchar | 255 | 否 | 否 | 任务简介 |
fees_low | double | 255 | 否 | 否 | 最低价格 |
fees_high | double | 255 | 否 | 否 | 最高价格 |
fees_file | varchar | 255 | 否 | 否 | 任务附件 |
employee_id | bigint | 20 | 否 | 否 | 兼职人员 |
task_price | double | 255 | 否 | 否 | 成交价格 |
task_status | tinyint | 4 | 否 | 否 | 任务状态 |
close_time | timestamp | 20 | 否 | 否 | 成交时间 |
bid_time | timestamp | 20 | 否 | 否 | 中标时间 |
create_time | timestamp | 否 | 否 | 创建时间 | |
create_by | varchar | 20 | 否 | 否 | 创建人 |
create_time | timestamp | 否 | 否 | 修改时间 | |
create_by | varchar | 20 | 否 | 否 | 修改人 |
del_flag | char | 1 | 否 | 否 | 删除标记 |
6.任务分类信息表:存储任务分类信息,包括自增ID、分类名称、分类图片、是否热门、创建时间、创建人,修改时间、修改人、删除标记等如表3-6所示。
表3-6 任务分类信息表(task_category)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 自增ID |
name | varchar | 50 | 否 | 否 | 分类名称 |
img | varchar | 255 | 否 | 否 | 分类图片 |
is_popular | tinyint | 4 | 否 | 否 | 是否热门 |
create_time | timestamp | 否 | 否 | 创建时间 | |
create_by | varchar | 20 | 否 | 否 | 创建人 |
create_time | timestamp | 否 | 否 | 修改时间 | |
create_by | varchar | 20 | 否 | 否 | 修改人 |
del_flag | char | 1 | 否 | 否 | 删除标记 |
- 任务技能信息表:存储任务技能信息,包括技能ID、技能名称、任务ID等如表3-7所示。
表3-7 任务技能信息表(task_skill)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 技能ID |
skill_name | varchar | 300 | 否 | 否 | 技能名称 |
task_id | bigint | 20 | 否 | 否 | 任务ID |
create_time | timestamp | 否 | 否 | 修改时间 |
8.主页浏览信息表:记录主页浏览信息,包括浏览ID、兼职人员ID、雇主ID、浏览时间、修改时间等如表3-8所示。
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 浏览ID |
employee_id | bigint | 20 | 否 | 否 | 兼职人员ID |
employer_id | bigint | 20 | 否 | 否 | 雇主ID |
create_time | timestamp | 否 | 否 | 浏览时间 | |
update_time | timestamp | 否 | 否 | 修改时间 |
9.兼职人员技能信息表:存储兼职人员技能信息,包括技能ID、兼职人员ID、技能名称等如表3-9所示。
表3-9 兼职人员技能信息表(employee_skill)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 技能ID |
employee_id | bigint | 20 | 否 | 否 | 兼职人员ID |
skill_name | varchar | 255 | 否 | 是 | 技能名称 |
10.任务收藏信息表:用来存储收藏任务信息,包括收藏ID、兼职人员ID、任务ID、创建时间、创建人,修改时间、修改人等如表3-10所示。
表3-10 任务收藏信息表(employee_bookmarked)
列名 | 数据类型 | 长度 | 主键 | 允许空 | 注释 |
id | bigint | 20 | 是 | 否 | 收藏ID |
employee_id | bigint | 20 | 否 | 否 | 兼职人员ID |
task_id | bigint | 20 | 否 | 否 | 任务ID |
create_time | timestamp | 否 | 否 | 创建时间 | |
create_by | varchar | 20 | 否 | 否 | 创建人 |
create_time | timestamp | 否 | 否 | 修改时间 | |
create_by | varchar | 20 | 否 | 否 | 修改人 |
3.6 本章小结
本章主要描述如何做好数据库设计与功能模块的时序图设计。在对系统数据库的设计的流程中,需要充分理解系统整体的架构意图,并在该架构中进行每个模块的设计,必须要标明结构的关联性与完整度,同时在遵照数据库设计原则的前体下,根据数据库三范式中选择一种符合当前场景的范式设计概要,还要把握每种数据的长度与格式,数据库表之间的主外键关系,时序图能清晰的解释系统功能模块的详情。
第四章 系统详细设计与实现
经过以上章节描述,系统开发到了详细实现步骤,在明确了功能模块以及参与业务流程运转的实体信息后,本章主要工作就是将各部分进行糅合,组成一个个闭环的流程,再通过每个流程的衔接,完成系统各模块的实现[14]。
4.1任务分类管理
管理员可以在此页面维护任务分类信息,并进行任务分类的基础数据的管理。雇主可以发布任务,兼职人员可以参与任务投标。同时用户可以在系统首页根据任务分类进行快速搜索。任务分类信息流程图如图4-1所示。
图4-1 任务分类信息管理模块流程图
任务分类信息管理运行界面如图4-2所示。
图4-2 任务分类信息管理模块运行图
4.2 发布任务管理
雇主角色可在此任务发布页面输入任务信息,然后进行表单验证,在提交好表单任务数据后,最后更新数据库。发布任务流程图如图4-3所示。
图4-3 发布任务模块流程图
发布任务模块运行界面图如图4-4所示。
图4-4 发布任务模块运行界面
4.3 查看任务管理
雇主可在此页面查看自己发布的任务,同时可以对有竞标者的任务进行管理竞标者的操作,对已经完成竞标的任务查看兼职人员信息的操作。管理任务模块流程图如图4-5所示。
图4-5 管理任务模块流程图
管理人无模块运行界面如图4-6所示。
图4-6 管理任务模块运行界面
4.4 修改密码管理
用户可在此页面进行修改密码操作。修改密码模块流程图如图4-7所示。
图4-7 修改密码流程图
修改密码模块运行界面如图4-8所示。
图4-8 修改密码模块运行界面
4.5 任务搜索管理
用户在此页面搜索系统内的任务信息。任务搜索模块流程图如图4-9所示。
图4-9 任务搜索模块流程图
任务搜索模块运行界面如图4-10所示。
图4-10 任务搜索模块运行界面
4.6 本章小结
本章主要介绍的是对系统的具体实现过程,通将对各个模块的流程图与时序图以及实现页面进行详细设计来使系统的实现过程更加清晰明了,流程图的作用主要是明确功能模块中数据实际如何作运转,页面则是对流程实现的视觉体现。通过两者的结合,能够让开发者在开发过程中更清晰的了解系统的细节,同时也有助于开发者在开发过程中对系统功能的完善。
任何一项工作,最后的也是最重要的工作便是测试,测试是对之前工作的一种检验,也是对系统进行查漏补缺的一种有效手段。而如何保证对系统的测试是有效的,则涉及到测试方法的设计,如何使用正确的测试方法对系统内各个单元进行详细有效的测试,是每个测试人员都要考虑的问题,以下就如何对系统测试方法进行设计进行了详细描述。
5.1 软件测试方法
软件测试过程中,根据每个系统结构的不同,可以从不同角度对统一测试点进行测试,通常在系统测试中的测试方法普遍采用黑盒或者采用白盒方法。
而在本系统的测试中,我们可以使用下列方法来达到测试效果。
- 黑盒方法作为动态测试法中的一种,其意义在于可以完全忽略系统构造以及所具备的独特特性的条件下,仅对功能点击直接测试,来达到功能完整度检测。也是目前业内公认的比较好的测试方法[15]。
- 通过在页面按照不同情境输入相应的值,从系统反馈信息得出结论的方法来达到测试效果,如在页面不输入或少输入某些必填参数的情况下,系统是否会提示必填项不能为空的警示。从而判断系统在逻辑上是否正确执行。
测试用例以及测试数据的准备,每个功能点的流程不尽相同,因此我们要准备足够全面的测试数据来在测试用例中批量执行,以达到全面测试的效果。同时在测试之前,我们应该先去了解被测试对象具备哪些基本特征,如页面输入项有哪些必填项,针对输入项的值的不同,系统会做出何种回应等。
5.2 软件功能测试
功能测试分为后台管理端测试与业务端测试,首先通过对各个功能模块的基本流程进行了解之后,再编制一套完善的测试专用用例表,通过设置合理的指标参数来进行整体的项目检测,同时在检测过程中发现并记录可能产生的如逻辑处理上的,语义上,系统反馈上的错误,并将其作为后续对系统进行改进的指导依据。
5.2.1 用户登录测试
前提:准备账号:Yuu;密码:123456。
测试目的:检测未登录系统的用户对系统能否登陆成功。
检测登陆功能,后台用户登录的测试用例如表5-1所示。
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 用户名:null;密码:null | 请输入必填项 | 请输入必填项 | 通过 |
2 | 用户名:admin;密码:12345678 | 提示账号密码不一致。 | 提示账号密码不一致。 | 通过 |
3 | 用户名:admin12;密码:admin129 | 该账号不存在 | 该账号不存在 | 通过 |
用户名:Yuu;密码:123456 | 登录成功 | 登录成功 | 通过 |
5.2.2 待审核任务列表测试
前提:后台账号已经提前登录系统。
测试目的:测试审核账号对任务的审核能够成功。
测试审核账号能否对雇主发布的任务进行正常审核,用例测试如表5-2所示。
表5-2 地址管理模块测试用例
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 点击审核通过按钮 | 任务审核成功,可以发布到业务端。 | 任务审核成功,可以发布到业务端 | 通过 |
2 | 点击审核不通过按钮 | 任务审核失败,无法发布到业务端。 | 任务审核失败,无法发布到业务端。 | 通过 |
5.2.3 雇主登录测试
前提:准备雇主账号“Yuu”,密码“123456”;准备兼职人员账号“Yuu2”,密码“123”。
测试目的:检测雇主账号能否对系统登录成功。
检测雇主能否登陆系统,雇主登录的测试用例如表5-3所示。
表5-3 登录模块测试用例
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 输入正确的账号密码 | 登录成功 | 登录成功 | 通过 |
2 | 输入正确的账号,错误的密码 | 登录失败 | 登录失败 | 通过 |
3 | 账号或密码为空 | 请输入账号密码 | 请输入账号密码 | 通过 |
5.2.4 任务投标模块测试
任务投标模块的功能是为兼职人员提供任务投标通道。任务投标模块的测试用例如表5-4所示。
测试目的:测试用户对任务的投标工作能否正常进行。
表5-4 订单管理模块测试用例
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 点击任务投标,输入价格,输入交货时间,点击投标按钮。 | 投标成功 | 投标成功 | 通过 |
2 | 点击任务投标按钮,不输入价格,不输入交货时间,点击投标按钮 | 投标失败 | 投标失败 | 通过 |
5.2.5 我的任务模块测试
兼职人员用户可以在此管理自己的已完成的任务列表,待完成的任务列表,我的竞标列表。
测试目的:测试兼职人员对自己参与的任务能否正常进行管理操作。
我的任务模块的测试用例如表5-5所示。
表5-5 订单管理模块测试用例
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 点击已完成任务列表 | 显示已完成任务列表 | 显示已完成任务列表 | 通过 |
2 | 点击待完成任务列表 | 显示待完成任务列表 | 显示待完成任务列表 | 通过 |
3 | 点击我的竞标 | 显示我参与竞标的任务列表 | 显示我参与竞标的任务列表 | 通过 |
4 | 我的竞标-点击删除按钮 | 成功删除竞标 | 成功删除竞标 | 通过 |
5.2.6 我的收藏模块测试
用户可以对自己感兴趣的任务进行收藏,并在收藏列表里查看自己收藏的任务列表。我的收藏模块测试用例如表5-6所示。
测试目的:测试用户对任务的收藏操作能否成功。前提:用户登录业务端。
表5-6 我的收藏模块测试用例
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 | |
1 | 任务展示页点击收藏按钮 | 收藏成功 | 收藏成功 | 通过 | |
2 | 个人中心点击我的收藏菜单 | 成功显示我的收藏列表 | 成功显示我的收藏列表 | 通过 | |
3 | 收藏列表点击删除按钮 | 成功删除收藏的任务 | 成功删除收藏的任务 | 通过 |
5.2.7 修改密码模块测试
用户可以在此修改自己的密码信息。修改密码模块的测试用例如表5-7所示。
测试目的:测试用户是否能够正常设置个人密码,准备好测试账户,账号:admin;密码:123456。
表5-7 修改密码模块测试用例
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 当前密码:空;新密码:空; 重复新密码:空 | 请输入必填项 | 请输入必填项 | 通过 |
2 | 当前密码:1234;新密码:12345; 重复新密码:12345 | 当前密码错误 | 当前密码错误 | 通过 |
3 | 当前密码:123456;新密码:12345; 重复新密码:12345678 | 新密码与重复密码不一致 | 新密码与重复密码不一致 | 通过 |
5.3 本章小结
本章我们对系统测试方法进行了一个初步认知以及实际操作的过程,通过事先制定详细的测试计划以及准备好全面的测试数据和充足的测试用例,对系统进行了详细的测试,在测试过程中,我们通过不同的测试条件对同一功能进行了多角度的测试。通过实际测试,我们也发现了系统暴露的问题,同时针对这些问题进行了记录,并再次进行反复测试,在这个过程中,我们认识到了测试对于系统功能的重要性,不但可以发现问题,还可以提高系统的健全性。为给用户提供良好的体验打下了坚实的基础。
结论
本次毕业设计已经接近尾声,通过对本次系统的开发过程中,我学会了如何在系统设计前做好准备工作,例如需求调研中确定系统要有哪些功能。可行性研究如何从经济型,技术性,可操作性方面进行探讨,技术方案的选择,最终选择的是SpringBoot+Mybatis框架组合实现对系统内Bean的管理与实体对象的映射管理。采用HTML语言编写前端页面,采用MySQL数据库做数据存储。同时在系统设计的过程中,应该遵循一些什么原则,在这些原则的指导下,如何去设计系统各个功能模块以及各个实体之间的对应关系,如使用E-R图来表达实体之间的关系,使用用例模型来表达各角色所参与的功能模块描述。接下来就是系统数据库的设计,好的数据库设计能够让系统开发事半功倍,同时也能提高系统性能。在详细实现方面要确保系统流程能够闭环运行。同时各部分能够很好的连贯起来,组成一个完整的系统,这个过程我们通过时序图的设计与流程图的设计来进行指导作用。最后就是对系统进行全方位的测试,通过测试发现系统所存在的问题并及时进行改正,再进行反复测试,以保证系统的完整性。
参考文献
- 胡崇刚.软件工程的标准化[J].电子技术与软件工程,2019(10):48.
- 汪永松.JavaWeb开发技巧之项目模板[J].电脑编程技巧与护,2020(02):3-8+16.
- 岳彩梦.基于软件工程的Web开发技术[J].电子技术与软件工程,2019(08):55.
- 李光明,房靖力.基于JavaWeb的推荐数据后台管理系统的设计与实现[J].电脑 知识与技术,2020,16(03):66-68.
- 袁春莹.基于软件工程技术在系统软件开发过程中的应用[J].电子技术与软件工程,2019(03):31.
- 蔡斌.基于软件工程技术在系统软件开发过程中的应用[J].电子元器件与信息技术,2019(01):22-25.
- 金科,刘艳波.基于大数据时代下软件工程关键技术的分析[J].计算机产品与流通,2019(01):20.
- 周伟.计算机JavaWeb软件MVC设计模式的研究与实现[J].电脑迷,2019(12):33+57.
- 李海燕,林勇.JavaWeb标签库应用方法初探[J].电脑知识与技术,2020,11(09):232-233.
- 肖祥林,周春容,袁磊,王加平.JavaWeb应用中文乱码的解决方案[J].电脑编程技巧与维护,2021(16):9-10+32.
- Lorenzo Bettini,Ferruccio Damiani. Xtraitj:Traits for the Java Platform [J].The Journal of Systems & Software,2019.
- Soft Computing; Researchers from Anna University Discuss Findings in Soft Computing (A novel fuzzy mechanism for risk assessment in software projects)[J]. News of Science,2020.
- Computers; Findings from Department of Computer Sciences and Engineering Reveals New Findings on Computers (An assessment of software defined networking approach in surveillance using sparse optimization algorithm)[J]. Telecommunications Weekly,2020.
- Shen Xiaoning,Guo Yinan,Li Aimin. Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling[J]. Applied Soft Computing,2020,88(C).
- Weiner Iddo,Feldman Yael, Shahar Noam,Yacoby Iftach,Tuller Tamir. CSO A sequence optimization software for engineering chloroplast expression in Chlamydomonas reinhardtii[J]. Algal Research,2020,46(C).
致谢
兼职服务系统的毕业论文行将结束,在本次论文设计与撰写过程中,离不开老师的悉心指导。作为一个即将踏入还未踏入社会的大学生,没有行业经验是无法撰写出如此专业的论文来的,感谢姜浩老师在毕业论文开题之初到行将结束之际,从来都是耐心,专业的教导我如何去思考解决在毕业设计过程中遇到的问题。无论是在整体设计上以及细节末梢的把握上,都给了我很多宝贵的建议。在此我必须对姜浩老师表达我最真挚的敬意。
在本次论文的撰写过程遇到的问题中,找不着头绪的时候,也有不少问题是借助同学门的来寻求到解决方法的。并且一起交流毕设中遇到的各种问题,大家各有所长、各取所需,在大家一起协助下才能更好的完成本次论文的撰写。最后,再次向本次论文撰写过程中对我施以援手的老师,同学们以及给予我关怀的朋友们表达深深的感谢!