电子简历系统设计.docx
- 文档编号:30081745
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:34
- 大小:861.13KB
电子简历系统设计.docx
《电子简历系统设计.docx》由会员分享,可在线阅读,更多相关《电子简历系统设计.docx(34页珍藏版)》请在冰豆网上搜索。
电子简历系统设计
南京晓庄学院PHP课程设计
电子简历系统的设计与实现
DesignandImplementationofE-RESUME
所在系(院):
数学与信息技术学院
学号:
07413219
学生:
黄琴
指导教师:
谢静
研究起止日期:
二○一○年五月至二○一○年六月
摘要
利用PHP技术开发的电子简历系统,实现了在Internet上快速完成个人简历,并能对其浏览、修改、选择版式。
关键词:
电子简历系统,数据库SQL,PHP教程
目录
第一章绪论1
1.1研究背景1
1.2本文的组织结构2
第二章系统开发环境2
2.1PHP语言简介2
2.1.1PHP的特点2
2.2MySQL简介3
2.2.1MySQL的特点3
2.3JavaScript语言简介4
2.3.1JavaScript的简介4
2.3.2JavaScript的特点4
2.4HTML语言简介5
2.4.1HTML语言的特点5
2.5Apache环境配置5
2.6小结5
第三章系统分析与设计6
3.1需求分析6
3.2总体设计6
3.2.1未登录用户模块7
3.2.2登录用户模块8
3.2.3管理员模块8
3.3数据库设计与实现8
3.3.1数据库设计原则9
3.3.2数据库概念结构设计10
3.3.3数据库逻辑结构设计12
3.4本章小结15
第四章系统功能的具体实现16
4.1系统前台设计16
4.1.1系统前台首页16
4.1.2会员登录设计16
4.1.3会员注册设计18
4.1.4填写简历信息设计20
4.1.5用户选择封面设计21
4.2系统后台设计22
4.2.1用户管理设计22
4.2.2封面管理设计24
4.3小结25
第五章总结25
参考文献25
第一章绪论
1.1研究背景
随着计算机技术和通信技术的迅猛发展,计算机网络已深入到人们的工作、生活与学习中;我们在网络上办公、在网络上购物、在网络上学习;而个人简历是求职者必备的,适用于求职。
是让求职者在网络上快速编辑自己的个人简历选择自己需要的版面样式并打印,可以节省多种排版浪费的时间。
1.2本文的组织结构
本文的组织结构如下:
1、绪论。
综述了本文的研究背景。
2、系统开发工具(技术)介绍。
介绍了本文开发所用的的工具,包括HTML,PHP,MySQL和JavaScript。
3、系统开发环境介绍。
介绍了本文开发所用的系统开发环境,简要介绍Apache+MySQL+PHP开发环境,并对环境的配置进行了简要介绍。
4、系统的设计与实现。
介绍了电子简历系统的思路并进行了需求分析,在需求分析的基础上进行了系统功能分析、系统功能模块设计以及数据库需求分析等相关方面;该部分是全文的主旨。
5、系统功能模块具体实现。
对开发中一些主要具体功能的实现进行描述。
涉及到数据库详细设计,系统详细模块设计等相关知识。
6、总结与展望。
对整个论文及设计过程进行总结,指出系统设计过程的心得以及设计中存在的不足;后期还有待完善的地方等。
第二章系统开发环境
电子简历系统以Windows+Apache+MySQL+PHP作为平台,涉及到PHP语言、MySQL数据库、JavaScript语言、HTML语言。
2.1PHP语言简介
PHP,一个嵌套的缩写名称,是英文“超级文本预处理语言”(PHP:
HypertextPreprocessor)的缩写。
PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的“嵌入HTML文档的脚本语言”,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
它可以比CGI或者Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。
PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
2.1.1PHP的特点
开放的源代码:
所有的PHP源代码事实上都可以得到。
PHP是免费的。
基于服务器端:
由于PHP是运行在服务器端的,即使再多的用户,再复杂的程序也不会影响运行的速度。
跨平台:
PHP可以运行在UNIX、LINUX、WINDOWS下。
嵌入HTML:
因为PHP可以嵌入HTML语言,所以学习起来并不困难。
简单的语言:
PHP坚持脚本语言为主,与Java以C++不同。
效率高:
PHP消耗相当少的系统资源。
PHP是一种用来制作动态网页的服务器端脚本语言。
你通过PHP和HTML创建页面。
当访问者打开网页时,服务器端便会处理PHP指令,然后把其处理结果送到访问者的浏览器上面,就好像ASP一样。
然而,PHP跟ASP不一样的地方在于,它是跨平台的开放源代码。
PHP可以在WindowsNT以及很多不同的Unix版本中执行,它也可以被编译为一个Apache模块,或者是一个CGI二进制文件。
当被编译为Apache模快时,PHP尤其轻巧方便。
它没有任何繁琐程序所产生的负担,因此可以很快的返回结果,同时也不需为了保持较小的服务器内存映象,而去调整mod_perl。
除了能够用来产生你的网页的内容之外,PHP也可以用来传送HTTP头。
你可以设定cookies,授权管理,并将使用者重定向至新的页面。
它也能很好的访问很多数据库及ODBC。
另外还可与各式各样的外部库集成,由此可以让你做几乎任何事情,从创建PDF文件到解析XML。
PHP代码就嵌在Web页面中,因此你不必为它建立一个特别的开发环境或IDE。
你用
phpandenditwith?
>标志PHP代码(也可以将PHP设定成使用ASP形式的<%%>标志甚至是用
PHP引擎会处理这些标志之间的任何东西。
PHP语言的语法跟C以及Perl很像。
在使用前,你无须声明变量。
要创建阵列以及散列(关联性阵列)也很快。
PHP的初步面向对象特性还提供了组织及封装代码的简便方法。
你可以在其官方网站下载取得一份包括PHP所有函数和特性的用户手册。
2.2MySQL简介
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。
MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。
MySQL是MySQLAB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
2.2.1MySQL的特点
MySQL作为后台数据库工具,它功能远比Fox、Access强大,并提供了许多标准的关系数据库管理功能的支持。
它各种关系数据库管理系统适应于各种硬件平台,包括Unix,PC和主机系统。
它的特点有以下几点:
(1)集成性
集成性即集多种应用数据于一体。
集成性的主要表现为三个方面。
首先采用统一的数据结构;其次它建立一个全局统一的数据模式,即不仅可以建立一个全局性的数据结构还可以建立数据间存在的语义联系,从而构成一个内在紧密联系的数据整体;最后它可以根据每个应用的数据需要构作局部模式,这种从局部到全局,再从全局到局部的过程是数据库系统数据集成性的主要特征。
(2)高共享性和低冗余性
数据共享性主要表现在数据多个应用程序使用,并可用于不同的目的;数据可以在已有数据库系统上开发新的应用程序;它可以向外界提供信息服务功能。
数据冗余指同一个数据在不同的地方出现了重复储存。
数据库系统所具有的高共享性和低冗余性不仅可以减少不必要的存储空间,更为重要的是可以避免数据的不一致性。
(3)数据独立性
数据独立性指数据库中的数据与使用这些数据的应用程序之间的互不依赖性,即数据或数据结构的改变不会导致对使用这些数据的应用程序的修改,反之亦然。
数据独立性包括物理独立性和逻辑独立性。
物理独立性是指数据的物理结构(包括存储结构和存取方式)的改变,不影响数据库的逻辑结构,从而不致引起应用程序的变化。
逻辑独立性指数据库总体逻辑结构的改变,如修改数据模式,增加新的数据结构,改变数据间联系等不需要相应修改应用程序。
(4)数据的统一管理与控制
数据的统一管理与控制表现在四个方面:
数据的完整性检查,即对数据库中数据正确性作检查以确保数据的正确;数据的安全性保护,它对数据库访问者作检查以防止非法访问;并发控制,它对多个应用并发访问所产生的相互干扰作控制以保证其正确性;数据库故障恢复,它对遭受破坏的数据具有恢复能力,使数据库具有抗破坏性。
2.3JavaScript语言简介
2.3.1JavaScript的简介
JavaScript是一种解释性的,基于对象的脚本语言(aninterpreted,object-basedscriptinglanguage)。
JavaScript主要是基于客户端运行的,用户点击带有JavaScript的网页,网页里的JavaScript就传到浏览器,由浏览器对此作处理。
前面提到的下拉菜单、验证表单有效性等大量互动性功能,都是在客户端完成的,不需要和WebServer发生任何数据交换,因此,减轻了WebServer的负担。
2.3.2JavaScript的特点
一种脚本编写语言:
JavaScript是一种脚本语言,它采取小程序段的方式实现编程。
像其它脚本语言一样,JavaScript同样也是一种解释性语言,它提供了一个简易的开发过程。
它的基本结构形式与C、C++、VB、Delphi十分相似。
但它不需要先编译,而是在程序运行过程中被逐行地解释。
它与html表示结合在一起,从而方便用户使用操作。
基于对象的语言:
JavaScript是一种基于对象的语言,同时也可以看作一种面向对象的语言。
这意味着它能运用自己已经创建的对象。
因此许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
简单性:
JavaScript的简单性主要表现在:
首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。
其次它的变量类型是采用弱类型,并未使用严格的数据类型。
安全性:
JavaScript是一种安全性语言,它不允许访问本地硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。
从而有效地防止数据的丢失。
动态性的:
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。
它对用户的反映响应,是采用以事件驱动的方式进行的。
所谓事件驱动,就是指在主页(HomePage)中执行了某种操作所产生的动作,这称为"事件"。
例如按下鼠标、移动窗口、选择菜单等都可以视为事件。
当事件发生后,可能会引起相应的事件响应。
跨平台性:
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。
2.4HTML语言简介
HTML(HyperTextMarkupLanguage超文本标记语言)是一种用来制作超文本文档的简单标记语言。
用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX,WINDOWS等)。
基于Web的信息处理,用得最多,最简单的,能够被广泛理解的语言就是HTML语言。
通过HTML标记可以实现在浏览器进行文字、表格、声音、图像、动画、视频等多媒体信息的检索。
HTML语言不但可以在任何文本编辑器中编辑,还可以在可视化网页制作软件中制作网页时可以自动生成,不用自己在文本编辑器中编写;在文档中可以直接嵌入视频剪辑、音效片断和其他应用程序等。
2.4.1HTML语言的特点
简易性:
HTML版本升级采用超集方式,从而更加灵活方便。
可扩展性:
HTML语言的广泛应用带来了加强功能,增加标识符等要求,HTML采取子类元素的方式,为系统扩展带来保证。
平台无关性:
虽然PC机大行其道,但使用MAC等其他机器的大有人在,HTML可以使用在广泛的平台上,这也是WWW盛行的另一个原因。
2.5Apache环境配置
在配置文件中,如下几项配置较为重要。
Listen80:
Listen可以用来设置httpd监听客户端请求的IP地址和连接端口号,默认为80,可以修改端口号,例如可以修改81,则访问地址为192.168.1.100:
81,一般不用修改。
DocumentRoot"/var/www/html":
DocumentRoot用于存放网页数据的根目录,所有来自客户端的请求,都会以此目录中的网页来相应,默认的目录为/var/www/html,自行设计网页文件以后应该保存在此目录中;当然此处可以进行修改,根目录修改后,网页文件应保存在修改后的目录中。
DirectoryIndexindex.html:
index.php:
DirectoryIndex选项可用来指定用户连接到每个目录时默认打开的网页名称,系统默认为index.html,本机由于首页为index.php故在后面加上index.php。
AddDefaultCharsetUTF-8:
配置文件中默认字符集为UTF-8
2.6小结
本章首先介绍了PHP语言,MySQL数据库,JavaScript语言和HTML语言,最后给出了配置Apache+MySQL+PHP的方法。
第三章系统分析与设计
3.1需求分析
电子简历系统为用户提供填写简历,生成简历模板,选择简历封面的功能。
系统前台提供的具体功能如下:
1、用户注册功能:
注册成为电子简历系统的合法用户。
2、用户登录功能:
已注册用户可以输入用户名和密码进入电子简历系统。
3、用户找回密码功能:
已注册用户如果忘记自己的密码,正确填写用户密码问题和用户密码答案后,可以修改自己的密码。
4、填写简历:
普通用户可以填写简历。
5、生成简历:
普通用户可以采用默认的简历模板(样式一)生成简历。
6、修改简历信息:
用户可以修改简历信息。
7、简历封面选择:
电子简历系统的用户可以选择封面。
8、简历模板选择:
注册用户登录后可以选择样式二生成简历。
系统后台管理模块的具体功能如下:
1、用户管理:
管理员在后台可以删除有恶意的用户。
2、封面管理:
管理员在后台可以添加,删除相应的封面。
3、简历模板管理:
管理员在后台可以添加,删除相应的简历模块。
(暂未处理)
3.2总体设计
根据电子简历系统的功能需求,进行系统分析设计。
系统功能模块图如图3-1所示:
图3-1系统功能模块图
3.2.1未登录用户模块
未登录用户模块:
未登录的用户可以填写简历,简历信息可生成系统默认的样式一,查看简历技巧。
模块图如图3-2所示:
图3-2未登录用户功能模块图
3.2.2登录用户模块
登录用户模块:
用户首先可以注册成为电子简历系统的会员,然后登录。
登录用户不仅可以查填写简历,生成样式一的简历模板,查看简历技巧,还可以选择样式二生成简历模板,选择简历封面。
模块图如图3-2所示:
图3-3登录用户功能模块图
3.2.3管理员模块
管理员模块:
管理员管理模块也就是网站的后台,主要工作是负责对用户模块和封面模块的管理与维护。
模块图如图3-4所示:
图3-4管理员模块图
3.3数据库设计与实现
数据库在系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
另外,合理的数据库结构将非常有利于程序的实现。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
3.3.1数据库设计原则
在动态网站的设计中,数据库设计的重要性不言而喻。
如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。
无论你使用的是MySQL或者Oracle数据库,通过进行正规化的表格设计,可以令你的PHP代码更具可读性,更容易扩展,从而也会提升应用的性能。
1.合理使用索引
索引是数据库中重要的数据结构,它的根本目的就是提高查询效率。
索引的使用要恰到好处,其使用原则如下:
在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引;在频繁进行排序或分组(即进行groupby或orderby操作)的列上建立索引;在条件表达式中经常用到的不同值较多的列上建立索引,在不同值少的列上不要建立索引。
比如在文档表的“文档类型”列上只有“PHP教程”,“文献书籍”,“学习网站”三个不同值,因此就无必要建立索引。
如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
如果待排序的列有多个,可以在这些列上建立复合索引。
2.避免或简化排序
应当尽量简化或避免对大型表进行重复的排序。
当能够利用索引自动以适当的次序产生输出时,优化器就避免了排序这个步骤。
为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表(尽管有时可能影响表的规范化,但相对于效率的提高是值得的)。
如果排序不可避免,那么应当试图简化它,如缩小排序的列的范围等。
3.消除对大型表行数据的顺序存取
在嵌套查询中,表的顺序存取对查询效率可能产生致命的影响。
我们有时可以使用并集来避免顺序存取。
尽管也许在所有的检查列上都有索引,但某些形式的where子句会强迫优化器使用顺序存取,这一点也应注意。
4.避免相关子查询
如果一个列同时在主查询和where子句中出现,很可能当主查询中的列值改变之后,子查询必须重新查询一次。
而且查询嵌套层次越多,效率越低,因此应当尽量避免子查询。
如果子查询不可避免,那么要在子查询中过滤掉尽可能多的行。
5.使用临时表加速查询
把表的一个子集进行排序并创建临时表,有时能加速查询。
它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。
临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘i/o,所以查询工作量可以得到大幅减少。
但要注意,临时表创建后不会反映主表的修改。
在主表中数据频繁修改的情况下,注意不要丢失数据。
3.3.2数据库概念结构设计
数据库的E-R图反映了实体、实体的属性和实体之间的联系。
下面的图3-5至图3-11显示的是各个实体以及实体的属性。
图3-5登录用户的实体及属性
图3-6简历封面实体及属性
图3-7简历基本信息实体及属性
图3-8简历教育背景实体实体及属性
图3-9用户封面实体及属性
下面的图3-10显示的是系统E-R图:
图3-10系统E-R图
3.3.3数据库逻辑结构设计
本系统数据库为:
resume,其中包含了五个MySQL数据表来实现对数据的存储、调用。
以下为具体数据表模式:
(1)【用户表】(用户ID、用户名、用户密码、密保问题、密保问题答案)
(2)【简历基本信息表】(简历用户ID、用户名、简历用户名、性别、政治面貌、生日、身份证号码、英语水平、计算机水平、联系电话、通信地址、用户头像、求职意向、自我评价、email、专业、民族)
(3)【用户教育背景表】(用户名、第一阶段起始时间、第一阶段结束时间、学校一、学历一、第二阶段起始时间、第二阶段结束时间、学校二、学历二、第三阶段起始时间、第三阶段结束时间、学校三、学历三、第四阶段起始时间、第四阶段结束时间、学校四、学历四、第五阶段起始时间、第五阶段结束时间、学校五、学历五、第六阶段起始时间、第六阶段结束时间、学校六、学历六、第七阶段起始时间、第七阶段结束时间、学校七、学历七)
(4)【封面表】(封面id号、封面路径)
(5)【用户封面表】(用户名、封面路径)
其中,用下划线标出的属性为表的主键属性。
各表的具体设计如表4-1~表4-7所示。
根据E-R图,设计每张表的变量名,变量的类型及主键。
1.Userpassword表
Userpassword表存放用户名、密码、密保问题和密保问题答案。
表4-1userpassword表
变量
类型
备注(C)
Username
Char(25)
用户名
Password
varchar(10)
用户密码
Answer
Text
密保问题答案
Question
Text
密保问题
2.Userinfo表
Userinfo表存放用户所有的简历基本信息。
表4-2Userinfo表
名称
类型
备注(C)
Id
int(11)
用户ID
UserName
char(25)
用户名
Name
char(20)
简历用户名
Sex
char
(2)
性别
Birth
Date
生日
Feature
varchar(8)
政治面貌
People
varchar(20)
民族
Emailnum
Varchar(60)
Userid
Smallint(10)
身份证号码
College
Varchar(50)
毕业学校
Phonenum
Varchar(25)
联系电话
Address
Varchar(60)
通信地址
English
Varchar(30)
英语水平
Computer
Varchar(30)
计算机水平
Img
Varchar(50)
用户头像
Selfvalue
Longtext
自我评价
Jobalike
Longtext
求职意向
Specialty
Varchar(30)
专业
3.Edu表
Edu表存放简历用户的教育背景。
表4-3edu表
名称
类型
备注(C)
Username
Char(25)
用户名
Time11
varchar(8)
第一阶段起始时间
Time12
varchar(8)
第一阶段结束时间
School1
varchar(20)
第一阶段就读学校
Degree1
varchar(10)
第一阶段学历
Time21
varchar(8)
第二阶段起始时间
Time22
varchar(8)
第二阶段结束时间
School2
varchar(20)
第二阶段就读学校
Degree2
varchar(10)
第二阶段学历
Time31
varchar(8)
第三阶段起始时间
Time32
varchar(8)
第三阶段结束时间
School3
varchar(20)
第三阶段就读学校
Degree3
varchar(10)
第三阶段学历
Time41
varchar(8)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 简历 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)