赞
踩
随着网络科技的不断发展以及人们经济水平的逐步提高,计算机如今已成为人们生活中不可缺少的一部分,为招聘信息方便管理,基于Python技术设计与实现了一款简洁、轻便的管理系统。本系统解决了招聘信息管理中的主要问题,包括个人中心、用户管理、招聘信息管理、留言板管理、系统管理等功能。
本系统采用了Python语言的Django框架,数据采用MySQL数据库进行存储。结合B/S结构进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足招聘信息管理的相关工作。
关键词:招聘信息;Python技术;Django框架;MySQL;
With the continuous development of network technology and the gradual improvement of people’s economic level, computer has now become an indispensable part of people’s life, in order to facilitate the management of recruitment information, based on Python technology design and implementation of a simple, lightweight management system. This system solves the main problems in the management of recruitment information, including personal center, user management, recruitment information management, message board management, system management and other functions.
This system uses Django framework of Python language, data is stored by MySQL database. Combined with B/S structure for development and design, powerful, user-friendly operation. This system has good usability and security, the system has complete functions, can meet the job information management related work.
Key words: recruitment information; Python technology; Django framework; MySQL;
1 绪 论 4
1.1研究背景和意义 4
1.2拟解决的问题及特性 4
1.3论文的结构 5
2 相关技术简介及部署环境说明 6
2.1 Python简介 6
2.2 Django框架简介 6
2.3 协同过滤算法介绍 7
2.4 MySQL简介 7
2.5 B/S结构 9
2.6系统的开发环境 9
2.7小结 10
3 需求分析 11
3.1系统的可行性分析 11
3.2系统需求分析 11
3.3开发目标 12
3.4 系统用例分析 12
3.5系统流程分析 13
3.5.1 用户登录流程 13
3.5.2 系统操作流程 14
3.6小结 14
4 系统总体设计 15
4.1系统功能结构设计图 15
4.2 数据库设计与实现 15
4.2.1 概念模型设计 15
4.2.2 系统数据表设计 18
4.3小结 21
5 系统详细设计与实现 22
5.1系统功能实现 22
5.2管理员功能模块实现 24
5.3 小结 27
6 系统测试 28
6.1软件测试的定义 28
6.2测试方法 28
6.3测试过程 28
6.4测试结果 29
6.5小结 29
参考文献 31
致 谢 32
1.1研究背景和意义
随着科学技术的不断发展,计算机现在已经成为了社会的必需品,人们通过网络可以获得海量的信息,这些信息可以和各行各业进行关联,招聘信息推荐系统也不例外,它给招聘信息带来了更多的选择和便捷。为解决这样的问题,招聘信息推荐系统应运而生并快速发展,目前已成为众多公司的应用模块,同时也引起了学术界的长期关注[1]。
随着时代的发展和需求的不断提高,招聘信息推荐系统应对的数据量将越来越庞大,数据结构也会越来越复杂,因此本文所提出的招聘信息推荐系统具有实际意义,可提高效率,减少不必要的人力财力的损失,具有一定的现实意义。
1.2拟解决的问题及特性
面对高重复性机械性的工作,工作人员不可避免的会出现失误,而改正失误的成本也相当高。这些都为招聘信息管理工作带来了新的问题[1]。从而急需开发一款这样的系统来解决这些问题,对高速发展的技术有着更强的适应性,只需要维护更新得当,大大的降低了人力成本。招聘信息推荐系统有以下几个特性:
(1)高自由度:招聘信息推荐系统是一种人性化设计的系统,可以根据用户的需要来添加不同功能的组件和界面,让招聘信息推荐系统更加的符合操作者的使用习惯,提供更多的便利功能。
(2)用户之间互动性强:系统的所有用户可以交流自己的心得。
(3)高检索率:传统管理信息检索也需要系统的支持,不过纸质载体的体积大,占地面积广,复原困难等问题,就算检索到了位置,也会出现找不到资源的情况,招聘信息推荐系统可以不受物理空间的限制,能储存的资料也没有空间的限制,大大的提高了资源搜索效率。
(4)节省资源:传统招聘信息管理需要消耗大量人力对信息进行编辑管理,费人,费时,费力。而招聘信息推荐系统这些缺陷都没有,还节省了大量资源。极大地提高工作效率,可以精确查询和编辑各类信息,能更快、更好地满足了他们的需求。
1.3论文的结构
本文的主体结构如下:
第一章主要对当下的招聘信息推荐系统的背景及开发意义进行了重点论述。
第二章 重点介绍本系统的相关的开发技术,并对软件的部署环境进行必要的说明。
第三章 重点对系统进行需求分析、流程分析和可行性论述。
第四章 主要对系统整体功能进行设计和对数据库进行设计。
第五章 详细的对各个模块进行阐述,各个模块总体的设计以文字加图表的形式进行说明。
第六章 对系统的测试方法进行说明及测试结果的展示。
2.1 Python简介
Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”[3]。
Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此次图书管理系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。
2.2 Django框架简介
Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点:
(1)对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则:
①简单:以最基本的形式构建数据。
②传达性:数据库结构被任何人都能理解的语言文档化。
③精确性:基于数据模型创建正确标准化的结构。
用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。
(2)路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业的地址。
(3)模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。
(4)视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。
(5)后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。
Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。
(6)应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。
因为本次使用的Python版本为3.6.4,低版本的Django不支持Python3,故此次使用的Django版本为3.2.12。
2.3 协同过滤算法介绍
协同过滤算法(Collaborative Filtering) 是比较经典常用的推荐算法,它是一种完全依赖用户和物品之间行为关系的推荐算法。我们从它的名字“协同过滤”中,也可以窥探到它背后的原理,就是 “协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。
2.4 MySQL简介
数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
2.5 B/S结构
B/S模式,全称是Browser/Server,其为随着web兴起而诞生的一种结构模式,可看作为改进了的C/S结构。在B/S结构下,系统功能核心部分会直接集中部署到服务器上,用户使用的客户端运行在浏览器上即可。由于只需要管理服务器,而浏览器不需要维护,在用户规模大时,会大幅提升效率。将服务器上安装好数据库,用户使用浏览器,再通过Web Server就可以进行数据交互。
B/S架构如图2-1所示,共有三层体系结构,以B/S模式为基础的三层结构更符合系统的需求。一层是浏览器层,即表现层,系统展示给各个用户的前端页面并可在该页面完成简单输入输出功能;一层是web服务器层,当进行各类操作时,由其完成信息的传递,起到承上启下作用。例如要登录用户进入后台时输入账号密码,浏览器发送访问数据库请求给web服务器,然后web服务器去系统的数据库对应的用户表中查看是否有相符合的信息并完成操作。最后是数据库层,它存放着本系统的各项数据,每当接收到web服务器的请求,会将请求转化为sql语句对数据库进行修改并将修改后结果返回服务器。最后Web服务器将传来结果转为HTML返回浏览器,从而完成前端页面的修改。
图2-1 B/S结构图
随着如今软件系统更新速度快,使用B/S结构有许多优点。从维护成本上看,B/S结构只需维护服务器,而浏览器作为客户端,无需维护,满足现在用户体量越来越大的情况,且主流方向也是用户端越来越庞大,而服务器端逐渐“肥胖”,B/S结构十分契合这一点。
2.6系统的开发环境
系统使用Python语言,以Django作为框架进行开发,其所使用的硬件和软件环境如下:
硬件环境:Intel® Core™ i5-7300HQ CPU @ 2.50GHz 2.50 GHz 处理器,16.0GB 运行内存。
软件环境:Windows10 64位操作系统,TomCat服务器,IDEA开发工具。
2.7小结
本章详细的介绍了开发招聘信息推荐系统所需要的技术与工具,工欲善其事必先利其器,对于技术和工具了解的越多越清晰,才会在开发过程中如鱼得水。
3.1系统的可行性分析
招聘信息推荐系统的可行性分析基于当下的互联网背景,从经济、技术、法律和用户使用上进行了调查,从此验证次系统开发的可行性[6]。下面分别从以下几点进行分析:
(1)经济可行性分析:此系统所用的框架技术完全是开源的,其余的软件使用也都是免费的,在开发方面所消耗的成本可以忽略不计。而建立系统信息库所需的费用远远少于其带来的社会收益,从经济上分析系统是完全可行的。
(2)技术可行性分析:对系统进行分析,招聘信息推荐系统的大部分功能都需要管理员完成,系统只需要添加少量代码就可以很好适配管理员功能[7]。可以提高文件的复用率,提高效率。在数据库方面,ORM简化了表的创建和使用,采用了Oracle旗下开源的关系型数据管理系统MySQL,多表存储的特点使数据更加规范化,增删改查更容易[8]。综上所述,技术开发上并无太大的难点。
(3)用户使用可行性分析:鉴于系统的使用用户,有统一的账号和密码,且系统无需用户有过多的操作,界面清晰简洁,用户使用可行性上无问题。
(4)法律可行性分析:即分析本系统是否与各类法律相悖。本系统使用市面开源免费软件开发,且作为个人毕设,无商用,均为本人自主开发,并且页面设计合理,发布的信息要求符合常规。整个系统无抵触法律法规的问题。因此在法律上,本系统可行。
3.2系统需求分析
需求分析在系统开发中有着十分重要的作用[9]。软件项目凭借软件工程的思想和步骤可以大大的提高开发效率,缩短软件开发周期,保证了软件项目的质量。需求分析作为软件工程方法中的一步是至关重要的。软件需求工程是一门分析并记录软件需求的学科[10]。需求分析简单的来说就是用户需要什么,系统需要什么,对此进行问题的列举,等级的排列,需要缜密的思分析和大量的调研[11]。
招聘信息推荐系统在国内有很多值得借鉴的例子,功能也都趋于完善,因此系统将轻量化开发,要完成以下功能:
(1)要支持完整的用户注册,登录功能,账号的管理通过管理员来实现。
(2)系统的前端页面简单明了,更能让用户快速上手,一目了然,不需要教程也能直接使用。
(3)为了用户能够方便的搜寻信息。
3.3开发目标
招聘信息推荐系统主要开发目标如下:
(1)对零碎化、分布散的招聘信息进行收纳、整理,通过网络服务平台使这些信息内容更加调理,更加方便化和清晰化,让访问该系统的每个用户享受浏览的过程。
(2)生活中存在的一些现象:人员冗余。招聘信息推荐系统应尽量减少用户的需求压力,给他们提供省时省力省心的服务平台,降低其工作量。
(3)便于查询信息及管理信息等。
(4)通过计算机网络技术,提升解决管理问题和技术工作的质量,为用户一种规范方便的服务。
(5)该系统的面向用户为管理员和用户,系统的设计风格应该简约整洁,操作容易上手,目标信息明确,避免花里胡哨。
(6)为社会稳定和发展贡献一份力量。
3.4 系统用例分析
本系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成招聘信息管理的方便快捷、安全性高、交易规范做了保障,目标明确。招聘信息推荐系统可以将功能划分为管理员功能和用户功能。
(1)、管理员关键功能包含个人中心、用户管理、招聘信息管理、留言板管理、系统管理等进行管理。管理员用例如下:
图3-1 管理员用例图
(2)、用户登录进入系统可以实现对首页、招聘信息、新闻资讯、留言板、个人中心等进行管理。用户用例如下:
图3-2 用户用例图
3.5系统流程分析
3.5.1 用户登录流程
登录流程实现了管理员和用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功,否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-3所示。
图3-3登录流程图
3.5.2 系统操作流程
系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。
同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-4所示。
图3-4系统操作流程图
3.6小结
招聘信息推荐系统旨在让用户能够轻松便捷的管理系统信息,让管理员的工作负担减轻。本章主要对系统的经济、技术、法律、市场可行性进行分析。确认可行后,对招聘信息推荐系统进行了需求分析和流程分析,从用户和管理员角度思考了可能会有的需求,是后续论文和应用开发的基础指导。
4.1系统功能结构设计图
系统采用了结构化开发的方法。这种开发方法的优点是控制性比较强,开发过程中采用了结构化和模块化的设计思想,自顶向下,从总体到部分,合理划分系统的结构和模块。结构化开发时使用模块式开发,各模块之间互不影响,方便系统的开发与管理。 系统总体功能如下图所示:
图 4-1系统总体功能模块图
4.2 数据库设计与实现
在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。
4.2.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
新闻资讯实体图如图4-2所示:
图4-2新闻资讯实体图
留言板实体图如图4-3所示:
图4-3留言板实体图
招聘信息实体图如图4-4所示:
图4-4招聘信息实体图
用户实体图如图4-5所示:
图4-5用户实体图
关于我们实体图如图4-6所示:
图4-6关于我们实体图
4.2.2 系统数据表设计
数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。数据库包涵了以下数据表来实现了对数据库的存储、调用。以下分别列出数据表的每个字段名称、类型、长度、字段说明、主键、默认值。
表4-1:新闻资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-2:留言板
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 留言人id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
content longtext 4294967295 留言内容
cpicture longtext 4294967295 留言图片
reply longtext 4294967295 回复内容
rpicture longtext 4294967295 回复图片
表4-3:招聘信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl longtext 4294967295 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
表4-4:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-5:招聘信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
xlyq varchar 200 学历要求
gsxz varchar 200 公司性质
gsmc varchar 200 公司名称
gsgm varchar 200 公司规模
fabushijian varchar 200 发布时间
laiyuan varchar 200 来源
biaoti varchar 200 标题
gzdz varchar 200 工作地址
xinzi varchar 200 薪资
gzjy varchar 200 工作经验
clicktime datetime 最近点击时间
clicknum int 点击次数 0
表4-6:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
touxiang longtext 4294967295 头像
youxiang varchar 200 邮箱
shouji varchar 200 手机
表4-7:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-8:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 longtext 4294967295 图片1
picture2 longtext 4294967295 图片2
picture3 longtext 4294967295 图片3
4.3小结
本章刚开始总结了整个系统的总体功能,以树型图展示出来,使得看上去更加清晰明朗,而后介绍了每一个模型的属性和对数据库表的设计。
按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块一一说明如何设计和实现的。
5.1系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
系统注册:在系统注册页面的注册表中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:
图5-2系统注册页面
招聘信息:在招聘信息页面的输入栏中输入学历要求,公司名称,标题和工作性质进行查询,可以查看到招聘详细信息,并根据需要进行操作;招聘信息页面如图5-3所示:
图5-3招聘信息详细页面
个人中心:在个人中心页面输入个人信息可以进行更新操作;如图5-4所示:
图5-4 个人中心界面
5.2管理员功能模块实现
管理员登录,在登录页面正确输入用户名和密码后,点击登录进入操作系统进行操作;如图5-5所示。
图5-5 管理员登录界面
管理员进入主页面,主要功能包括对个人中心、用户管理、招聘信息管理、留言板管理、系统管理等功能进行操作。管理员主页面如图5-6所示:
图5-6 管理员主界面
管理员点击用户管理。在用户页面输入用户名,姓名和选择性别进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-7所示:
图5-7用户管理界面
管理员点击招聘信息管理。在招聘信息页面输入学历要求,公司名称,标题和工作地址进行查询或删除招聘信息列表和爬取数据,并根据需要对招聘详情信息进行详情、修改或删除操作;如图5-8所示:
图5-8招聘信息管理界面
管理员点击留言板管理。在留言板页面输入用户名进行查询或删除留言板列表,并根据需要对留言板详情信息进行详情、回复或删除操作;如图5-9所示:
图5-9留言板管理界面
管理员点击系统管理,进入系统管理页面可以对系统简介、轮播图管理和新闻资讯进行详情或修改操作,在系统简介页面输入标题可以查询系统简介列表,并进行详情和修改等操作。如图5-10所示:
图5-10系统管理界面
5.3 小结
本章介绍了系统的各个模块和实现功能,对模块下的关键功能进行了介绍,并通过图片展示了实现效果。
6.1软件测试的定义
在软件测试的过程之中,为了保证软件测试的各项工作能够安全有序地进行,就要对整个测试过程进行有效的干预或管理。
我们要清楚的是,无论从理论上,还是从经验上,我们都无法发现软件系统中的所有错误,一个软件系统必定存在着缺陷,软件测试必然有一定的局限性。
6.2测试方法
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。
尽管软件测试的方法有好几种,但现目前主要采用的是包括以功能性为主要测试方向的黑盒测试以及以逻辑性为主要测试方向的白盒测试,由于这也是二种不一样的测试方式,因此最先白盒测试是依据程序的内部结构逻辑总体设计测试用例的方式。 因而,也称之为构造测试和夹层玻璃实例测试,将手机软件视为全透明的黑盒,依据程序的构造和解决逻辑挑选适宜的测试实例,测试手机软件的逻辑途径和步骤, 科学研究其与设计方案是不是一致的黑盒测试主要是挑选充足的测试用例,充足遮盖源码,尽量多地发觉程序中产生的不正确。 关键有这两种方式。 一种称为逻辑未来展望法,另一种称为途径未来展望法。
黑盒测试:又被称为作用测试、数据驱动测试等,将精确测量目标视为白盒,彻底不考虑到程序的构造和特点,只需依据说明书查验程序的作用是不是常规应用就可以。
6.3测试过程
登录:录入登录信息,输入账号,账号密码,用户权限,然后单击登录进行操作,会出现两种情况:一种情况是登录成功,进入用户相应的功能界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
管理员登录:录入登录信息,管理员账号,密码,权限,然后单击登录进行操作,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。一种情况是登录成功,进入管理员界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作。
6.4测试结果
通过一系列的软件测试,系统基本上满足了需求分析中设计目标的要求。软件功能基本上是完整的,使用者表现良好,系统故障处理基本上是正确的,缺陷也可以得到纠正。然而,在测试过程中也发现了系统的一些不可改变的方面,例如, 系统的数据库没有被完全完善,用户的信息显示也不全面。与此同时,用户不能修改自己提交的作业信息。如此一来,当系统进一步修改和完善时,这些问题就必须得到纠正。
最后,该系统通过了测试。
6.5小结
本章采用的是动态测试和黑盒测试方法进行测试,查看程序在运行过程中发现可能的错误操作,用测试用例来检测应用的稳定性,安全性。并在测试过程严格按照测试标准进行测试,保证系统能够安全运行,减少差错。
本次论文介绍了开发招聘信息推荐系统的全部过程,该系统运用了Python语言进行编写、MySQL数据库存储数据和Django框架搭建出了一款简洁方便的招聘信息推荐系统。对用户来说,只有简单的操作,不需要担心复杂的界面,难懂的操作来完成招聘信息推荐系统最基本的工作,节约时间和资源。对管理员来说,可以清晰明了的检查招聘信息的管理情况,增删改查都通过后台系统完成,得益于数据库建表的工作大大简化。使得开发者和管理员的工作变得更加方便简单。
由于作者的技术水平有限,还有很多问题没有解决,有一些功能还未添加:界面风格过于生硬,大片空间没有进行合理利用;总体上说,此次招聘信息推荐系统相对于那些已经非常成熟的管理系统还差得远,只能算上一个雏形,所达到的标准只能令作者勉强满意,之后仍需继续改进,努力完成上述功能,让其成为一个可以为大众使用的,真正的招聘信息推荐系统。
[1] 罗尹奇.基于JNI的MySQL数据库访问性能优化研究[J].电子元器件与信息技术,2021,5(12):3-6.DOI:10.19772/j.cnki.2096-4455.2021.12.002.
[2] 李根.基于Django框架的生物信息网站建设[D] .大连海事大学,2018.
[3] 薛耀伟.基于Django框架管理界面自动生成模块的设计与实现[D].哈尔滨工业大学,2020.
[4] 高俊杰.基于BS模式电子商务系统的设计与实现[D].天津大学,2018.
[5] 薛建利. 基于B/S旅游综合管理系统的设计与实现[D].西安电子科技大学,2020.
[6] 周玥.基于Django框架的校园预约打印网站设计与实现[D].吉林大学,2019.
[7] 苏文瑾.“MySQL数据库”课程教学难点分析——以数据库设计为例[J].无线互联科技,2021,18(12):119-120.
[8]毕超群.计算机数据库开发的必要性设计原则[J].电子技术,2021,50(05):106-107.
[9] 王嘉庆,杨卫东,何亦征.关系数据库的实体间关系提取方法的研究[J].计算机应用与软件,2019,36(10):10-16+38.
[10] Tiwari, Usha,Mehfuz, Shabana,Sharma, Satyam,Pandey, Vinayak Triguna. Design of Python Based Lost and Found Website for College Campus [J]. Int. Conf. Power Electron., Control Autom., ICPECA – Proc,2019.
[11] Tiwari, Usha,Mehfuz, Shabana,Sharma, Satyam,Pandey, Vinayak Triguna. Design of Python Based Lost and Found Website for College Campus [J]. Int. Conf. Power Electron., Control Autom., ICPECA – Proc,2019.
[12] Suryanto,WiwitIrna,ka,Theodosius Marwan. Web-based application for inverting one-dimensional magnetotelluric data using Python [J].Comput. Geosci, 2018.
[13] 周吉波,孟利民. 基于Django web框架的GPS车载管理系统网站的设计和实现[C].第二届亚太地区信息论学术会议论文集,2019.
[14]司源,戴跃洪.基于SOA的采购管理系统研究与设计[J].机械,2019,36(11):61-63+66.
[15] 陈家全. 县域义务教育均衡发展评价指标体系构建的研究[D].西南大学,2018.
在如此特殊时间里,我能顺利将毕业设计和论文完成,这都要归功于导师的无私的帮助,悉心的教导。为我指引方向,解答疑惑,每个问题都能得到专业的解释,让我在解惑的同时又能对语言和框架的理解更加深入。
通过这次毕业设计,我了解了怎样将理论联系到实际,收获到了许多书本上不曾有过的知识,也将知识融入自己的设计中进行了努力,拥有了成就感。
我也发觉了规划计划和查阅资料的重要性,规划计划让你每一步都有明确的目标,按照计划走能少走很多弯路,省去很多不必要的麻烦。Python是一门发展迅速,改动较大的语言,就需要在网络上不断寻找新的文章,合适的版本和技术逐渐完善程序,解决各种各样的小问题。
以上,毕业设计磨练了我的开发技术和理论知识,这为我以后的道路打下了坚实的基础,这段经历也会成为我人生中宝贵的财富。
最后,我要再次感谢导师对我的帮助,和同学们在我设计过程中提出的意见和建议。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。