资源描述
小组编号: 小组负责人:
《数据库需求分析与规划》
课程设计报告
招聘系统网站设计
成 员:
院 系:
专 业:
指导教师:
完成日期: 2013年 月 日
信息技术学院《数据库需求分析与规划》课程设计报告
摘 要
面向对象的系统分析和设计是将面向对象的方法运用到软件工程的分析设计阶段。面向对象的系统分析和设计的主要目的是完成对某个特定应用论域(application domain)的分析和系统的建模。应完成的主要工作是描述系统中的对象、对象的属性和操作、对象的动态特性、对象间的构造关系和通信关系等,从而建立系统的静态结构和动态活动模型。 在美国、日本和欧洲等互联网普及程度高的发达国家,自上个世纪90年代初互联网出现以来,网络已经成为人才进行流动的最主要渠道,而那些单独为企业、个人提供单一集会式服务的人才市场几乎已经绝迹。在我国,随着网络技术的不断发展,网络招聘求职开始走入人们的视野,并越来越成为企业招聘人才,求职者应聘主要渠道之一。网络招聘在国内处于主流地位,正在突破传统招聘求职与互联网单一媒体的束缚,整合平面媒体和电视媒体,打造跨平台招聘服务的整合平台。目前在中国有三家综合性比较强的招聘网站:前程无忧网、中华英才网、智联招聘网。 本系统正是基于为招聘者营造一个好的交流平台的思想而设计开发的。网上招聘系统的设计首先应该设计完善招聘求职的基本功能,明确网站的需求,然后才能明确系统的数据库设计,并通过定义的功能逐步实现其实际网页和用例流程的开发。在完成系统后还要对系统进行详细的测试才能发布网站,以及对系统进行必要的维护工作,以便使网站功能与内容保持信息的及时性,使之能真正成为一个能解决实际问题的网上招聘求职系统。矚慫润厲钐瘗睞枥庑赖。
关键字: 数据库,.asp,网站招聘系统,系统分析与规划,viaual studio,SQL SERVER聞創沟燴鐺險爱氇谴净。
目 录
摘 要 1残骛楼諍锩瀨濟溆塹籟。
目 录 2酽锕极額閉镇桧猪訣锥。
1 绪论 5彈贸摄尔霁毙攬砖卤庑。
1.1网上招聘项目背景、现状 5謀荞抟箧飆鐸怼类蒋薔。
1.2研究内容及框架 5厦礴恳蹒骈時盡继價骚。
1.3小组参与者分工 6茕桢广鳓鯡选块网羈泪。
2 项目整体规划与设计 6鹅娅尽損鹌惨歷茏鴛賴。
2.1招聘系统的总体需求分析 6籟丛妈羥为贍偾蛏练淨。
2.2整体结构分析,及功能分析 6預頌圣鉉儐歲龈讶骅籴。
2.3开发的方面的具体设计 8渗釤呛俨匀谔鱉调硯錦。
2.3.1开发环境 8铙誅卧泻噦圣骋贶頂廡。
2.3.2系统开发方面的设计 8擁締凤袜备訊顎轮烂蔷。
3 数据库设计与分析 8贓熱俣阃歲匱阊邺镓騷。
3.1数据库的整体设计的E-R图 8坛摶乡囂忏蒌鍥铃氈淚。
3.2数据库的整体概念模型设计 9蜡變黲癟報伥铉锚鈰赘。
3.3数据库的整体物理模型设计 10買鲷鴯譖昙膚遙闫撷凄。
3.4数据库表的设计 11綾镝鯛駕櫬鹕踪韦辚糴。
3.5数据库的脚本sql语句 14驅踬髏彦浃绥譎饴憂锦。
4 系统实现 23猫虿驢绘燈鮒诛髅貺庑。
4.1首页 23锹籁饗迳琐筆襖鸥娅薔。
4.2毕业生模块 26構氽頑黉碩饨荠龈话骛。
5 系统测试 27輒峄陽檉簖疖網儂號泶。
6 总结与展望 29尧侧閆繭絳闕绚勵蜆贅。
参考文献 31识饒鎂錕缢灩筧嚌俨淒。
1 绪论
1.1网上招聘项目背景、现状
大学毕业生越来越多,就业压力越来越大的实际,信息化程度越来越高,信息量越来越大的情况,给单位的招聘和毕业生的应聘带来了一定的难度,招聘单位无法是招聘信息以快速有效的方式发布到毕业生那里,而毕业生无法很快的了解到招聘信息,致使企业找不到人,而毕业生找不到工作凍鈹鋨劳臘锴痫婦胫籴。
1.2研究内容及框架
此项目主要研究的内容是用visual studio2010及SQL SERVER2008开发的网上的招聘信息管理,包括学生在该网站注册后,登录并完善简历,浏览企业招聘信息,然后投递简历,以及发布一些招聘信息,企业发布招聘信息,并对收到的简历的筛选回馈,和管理员的对发布的招聘信息的管理。框架结构如图1.1恥諤銪灭萦欢煬鞏鹜錦。
图1.1 功能结构图
1.3小组参与者分工
负责人卢红敏负责给我们分工,以及前台界面.aspx的设计及编写,数据库的连接,及调试发布,王许负责.aspx.cs后台代码的编写及调试,林伟纳负责数据库的分析与设计,我网站功能测试和性能测试及课程设计报告的编写。鯊腎鑰诎褳鉀沩懼統庫。
2 项目整体规划与设计
2.1招聘系统的总体需求分析
减少参加招聘单位工作人员的工作量和招聘成本,减少进行求职的人员求职时参加招聘会投递简历所消耗的时间和精力,使求职和招聘的过程通过互联网完成,从而实现招聘时双向选择的自动化。该系统将提供求职者的网上注册、提供个人简历(建立、修改)、查询用人单位招聘信息、向用人单位应聘(投递简历)等服务,提供用人单位网上注册、招聘信息发布(修改)、查询来应聘人员的简历、查询所有求职者信息等服务。达到企业可方便发布招聘信息,管理员可直接发布或者推荐招聘信息,能及时让大学生及时了解企业单位的招聘信息的发布的目的。因此招聘网站是必不可少的。硕癘鄴颃诌攆檸攜驤蔹。
2.2整体结构分析,及功能分析
整体结构是设计的综合设计,有各小的结构的汇总,整体结构图如图2.1所示
图2.1整体结构图
系统是为实现某种功能,其整体功能有个各个能能模块组成下面是对各功能分析:
毕业生模块
(1)毕业生进入网上招聘系统,必须先注册,注册时必须提供真实姓名,证件种类,证件号码,联系方式,毕业学校,所学专业等,并设置注册密码。 阌擻輳嬪諫迁择楨秘騖。
(2)查询招聘信息:所有注册求职者均可通过网上招聘系统,查询历史及最新用人单位招聘信息,包括公司简介,用人要求,薪酬待遇等。 氬嚕躑竄贸恳彈瀘颔澩。
(3)建立个人简历:求职者通过拷贝已有简历并发送到系统数据库的方法建立个人简历
(4)修改个人简历:求职者可以在个人中心对自己的建立进行修改以及对登录密码进行设置
(5)是否发布:求职者可以设定自己的简历是否能被未向其投递简历的用人单位查阅
(6)投递简历:求职者通过系统向应聘的单位投递自己的简历
(7)查询应聘情况:求职者可通过系统察看自己投递简历的历史纪录,包括公司名称和投递时间。 网上招聘部分网上招聘部分网上招聘部分网上招聘部分釷鹆資贏車贖孙滅獅赘。
企业招聘模块
(1)用人单位进入网上招聘系统,也需注册(应到招聘中介公司注册),注册时提供单位的详细信息,出示相关证件。由招聘中介公司提供账号,为用人单位分配数据库空间,并由用人单位自行设定密码。怂阐譜鯪迳導嘯畫長凉。
(2)用人单位招聘人员登录:用人单位招聘人员输入本单位唯一用户名和密码登录系统。
(3)用人单位发布招聘信息:通过网上招聘系统将本单位招聘信息公布于网站上。
(4)用人单位查询人才信息:用人单位可以直接检索符合他们需要的求职者的有限信息(如求职者未开放简历)
(5)用人单位查询应聘者简历:用人单位可以直接查阅向他们投递简历的求职者的简历。
系统管理员模块
系统管理员负责管理全部的个人和企业用户。
2.3开发的方面的具体设计
2.3.1开发环境
Visual Studio 2010
SQL SERVER 2008
POWER DESIGNER 15
Internet Information Server
2.3.2系统开发方面的设计
通过在visual studio中用开发出来招聘系统的首页、管理员管理页面、添加招聘信息、添加简历等动态的前台网页,然后与用SQL SERVER 2008的数据库相连接,在后台页面中实现发布招聘信息的数据库的写入,以及招聘信息数据从数据库中的读取,填写的简历对数据库的写入,删除等功能的实现。谚辞調担鈧谄动禪泻類。
3 数据库设计与分析
3.1数据库的整体设计的E-R图
数据库的整体设计的E-R图如图3.1所示
图3.1整体E_R图
3.2数据库的整体概念模型设计
数据库的整体概念模型设计如图3.2所示
图3.2概念设计模型
3.3数据库的整体物理模型设计
数据库的整体物理模型设计如图3.3所示
图3.3物理设计模型
3.4数据库表的设计
数据库是按照数据结构组织、存储和管理数据的仓库,数据管理不仅仅是存储和管理数据,而是转化成所需要的各种数据管理方式。结构的好坏影响系统的效率及实现的效果、以及它的完整性和一致性。嘰觐詿缧铴嗫偽純铪锩。
游客表如图3.4所示
图3.4游客表
投简历表如图3.5所示
如图3.5投简历表
毕业生表如图3.6所示
图3.6毕业生表
企业筛选简历表如图3.7所示
图3.7企业筛选简历表
管理员表如图3.8所示
图3.8管理员表
简历表如图3.9
图3.9简历表
企业表如图3.10所示
图3.10简历表
招聘信息表如图3.11所示
图3.11招聘信息表
3.5数据库的脚本sql语句
/*==============================================================熒绐譏钲鏌觶鷹緇機库。
/* DBMS name: Microsoft SQL Server 2008 */鶼渍螻偉阅劍鲰腎邏蘞。
if exists (select 1
from sysobjects
where id = object_id('company')
and type = 'U')
drop table company
go
if exists (select 1
from sysindexes
where id = object_id('jianli')
and name = 'biyeshengtianxie2_FK'
and indid > 0
and indid < 255)
drop index jianli.biyeshengtianxie2_FK
go
if exists (select 1
from sysobjects
where id = object_id('jianli')
and type = 'U')
drop table jianli
go
if exists (select 1
from sysobjects
where id = object_id('manager')
and type = 'U')
drop table manager
go
if exists (select 1
from sysindexes
where id = object_id('qiyeshaixuanjianli')
and name = 'qiyeshaixuanjianli2_FK'
and indid > 0
and indid < 255)
drop index qiyeshaixuanjianli.qiyeshaixuanjianli2_FK纣忧蔣氳頑莶驅藥悯骛。
go
if exists (select 1
from sysindexes
where id = object_id('qiyeshaixuanjianli')
and name = 'qiyeshaixuanjianli_FK'
and indid > 0
and indid < 255)
drop index qiyeshaixuanjianli.qiyeshaixuanjianli_FK颖刍莖蛺饽亿顿裊赔泷。
go
if exists (select 1
from sysobjects
where id = object_id('qiyeshaixuanjianli')
and type = 'U')
drop table qiyeshaixuanjianli
go
if exists (select 1
from sysindexes
where id = object_id('stu')
and name = 'biyeshengtianxie_FK'
and indid > 0
and indid < 255)
drop index stu.biyeshengtianxie_FK
go
if exists (select 1
from sysobjects
where id = object_id('stu')
and type = 'U')
drop table stu
go
if exists (select 1
from sysindexes
where id = object_id('toujianli')
and name = 'toujianli2_FK'
and indid > 0
and indid < 255)
drop index toujianli.toujianli2_FK
go
if exists (select 1
from sysindexes
where id = object_id('toujianli')
and name = 'toujianli_FK'
and indid > 0
and indid < 255)
drop index toujianli.toujianli_FK
go
if exists (select 1
from sysobjects
where id = object_id('toujianli')
and type = 'U')
drop table toujianli
go
if exists (select 1
from sysobjects
where id = object_id('youke')
and type = 'U')
drop table youke
go
if exists (select 1
from sysindexes
where id = object_id('zhaopinxinxi')
and name = 'biyeshengfabuzhaopinxinxi_FK'
and indid > 0
and indid < 255)
drop index zhaopinxinxi.biyeshengfabuzhaopinxinxi_FK濫驂膽閉驟羥闈詔寢賻。
go
if exists (select 1
from sysindexes
where id = object_id('zhaopinxinxi')
and name = 'youkefabuzhaopinxinxi_FK'
and indid > 0
and indid < 255)
drop index zhaopinxinxi.youkefabuzhaopinxinxi_FK
go
if exists (select 1
from sysindexes
where id = object_id('zhaopinxinxi')
and name = 'zhaopinxinxiguanli_FK'
and indid > 0
and indid < 255)
drop index zhaopinxinxi.zhaopinxinxiguanli_FK
go
if exists (select 1
from sysindexes
where id = object_id('zhaopinxinxi')
and name = 'qiyefabuxinxi_FK'
and indid > 0
and indid < 255)
drop index zhaopinxinxi.qiyefabuxinxi_FK
go
if exists (select 1
from sysobjects
where id = object_id('zhaopinxinxi')
and type = 'U')
drop table zhaopinxinxi
go
create table company (
compy_id char(10) not null,銚銻縵哜鳗鸿锓謎諏涼。
compy_name varchar(20) null,
compy_type varchar(20) null,
compy_gm varchar(20) null,
compy_addr varchar(50) null,
compy_email varchar(30) null,
compy_tel varchar(11) null,
compy_user varchar(20) null,
compy_pwq varchar(30) null,
constraint PK_COMPANY primary key nonclustered (compy_id)挤貼綬电麥结鈺贖哓类。
)
go
create table jianli (
resume_id char(10) not null,赔荊紳谘侖驟辽輩袜錈。
stu_id char(10) not null,塤礙籟馐决穩賽釙冊庫。
resume_yx varchar(50) null,
resume_post varchar(20) null,
resume_type varchar(20) null,
resume_qt varchar(100) null,
constraint PK_JIANLI primary key nonclustered (resume_id)裊樣祕廬廂颤谚鍘羋蔺。
)
go
create index biyeshengtianxie2_FK on jianli (
stu_id ASC
)
go
create table manager (
manager_id char(10) not null,仓嫗盤紲嘱珑詁鍬齊驁。
manager_user varchar(20) null,
manager_pwd varchar(20) null,
constraint PK_MANAGER primary key nonclustered (manager_id)绽萬璉轆娛閬蛏鬮绾瀧。
)
go
create table qiyeshaixuanjianli (
compy_id char(10) not null,骁顾燁鶚巯瀆蕪領鲡赙。
resume_id char(10) not null,瑣钋濺暧惲锟缟馭篩凉。
constraint PK_QIYESHAIXUANJIANLI primary key (compy_id, resume_id)鎦诗涇艳损楼紲鯗餳類。
)
go
create index qiyeshaixuanjianli_FK on qiyeshaixuanjianli (栉缏歐锄棗鈕种鵑瑶锬。
compy_id ASC
)
go
create index qiyeshaixuanjianli2_FK on qiyeshaixuanjianli (辔烨棟剛殓攬瑤丽阄应。
resume_id ASC
)
go
create table stu (
stu_id char(10) not null,峴扬斕滾澗辐滠兴渙藺。
resume_id char(10) null,
stu_name varchar(20) null,
stu_sex char(2) null,
stu_email varchar(30) null,
stu_tel varchar(11) null,
stu_addr varchar(50) null,
stu_user varchar(20) null,
stu_pwd varchar(20) null,
constraint PK_STU primary key nonclustered (stu_id)詩叁撻訥烬忧毀厉鋨骜。
)
go
create index biyeshengtianxie_FK on stu (
resume_id ASC
)
go
create table toujianli (
stu_id char(10) not null,则鯤愜韋瘓賈晖园栋泷。
compy_id char(10) not null,胀鏝彈奥秘孫戶孪钇賻。
constraint PK_TOUJIANLI primary key (stu_id, compy_id)鳃躋峽祷紉诵帮废掃減。
)
go
create index toujianli_FK on toujianli (
stu_id ASC
)
go
create index toujianli2_FK on toujianli (
compy_id ASC
)
go
create table youke (
yk_id char(10) not null,稟虛嬪赈维哜妝扩踴粜。
yk_qt varchar(20) null,
constraint PK_YOUKE primary key nonclustered (yk_id)陽簍埡鲑罷規呜旧岿錟。
)
go
create table zhaopinxinxi (
zp_id char(10) not null,沩氣嘮戇苌鑿鑿槠谔應。
stu_id char(10) not null,钡嵐縣緱虜荣产涛團蔺。
manager_id char(10) null,
compy_id char(10) not null,懨俠劑鈍触乐鹇烬觶騮。
yk_id char(10) not null,謾饱兗争詣繚鮐癞别瀘。
zp_gw varchar(20) null,
zp_yq varchar(50) null,
zp_dy varchar(20) null,
zp_date datetime null,
zp_yx datetime null,
zp_qt varchar(100) null,
constraint PK_ZHAOPINXINXI primary key nonclustered (zp_id)呙铉們欤谦鸪饺竞荡赚。
)
go
create index qiyefabuxinxi_FK on zhaopinxinxi (
compy_id ASC
)
go
create index zhaopinxinxiguanli_FK on zhaopinxinxi (莹谐龌蕲賞组靄绉嚴减。
manager_id ASC
)
go
create index youkefabuzhaopinxinxi_FK on zhaopinxinxi (麸肃鹏镟轿騍镣缚縟糶。
yk_id ASC
)
go
create index biyeshengfabuzhaopinxinxi_FK on zhaopinxinxi (納畴鳗吶鄖禎銣腻鰲锬。
stu_id ASC
)
go
4 系统实现
4.1首页
后台主要代码:
if (RadioButton1.Checked == true)
{
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;風撵鲔貓铁频钙蓟纠庙。
SqlConnection sqlconn = new SqlConnection(sqlconnstr);灭嗳骇諗鋅猎輛觏馊藹。
DataSet ds = new DataSet();
DataTable dtable;
DataRowCollection coldrow;
DataRow drow;
sqlconn.Open();
string strsql = "select * from stu where stu_user='" + TextBox_yh.Text + "'and stu_pwd='" + TextBox_mima.Text + "'";铹鸝饷飾镡閌赀诨癱骝。
SqlDataAdapter sqld = new SqlDataAdapter(strsql, sqlconn);攙閿频嵘陣澇諗谴隴泸。
sqld.Fill(ds, "stu_user");
dtable = ds.Tables["stu_user"];
coldrow = dtable.Rows;
if (coldrow.Count == 0)
{
string scriptString = "alert('" + "用户名不存在或密码错误 + "')";趕輾雏纨颗锊讨跃满賺。
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "warning", scriptString, true);夹覡闾辁駁档驀迁锬減。
}
else
{
string scriptString = "alert('" + "登录成功" + "')";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "warning", scriptString, true);视絀镘鸸鲚鐘脑钧欖粝。
Session["name"] = TextBox_yh.Text;
Response.Redirect("stu_default.aspx");
}
sqlconn.Close();
sqlconn = null;
}
else
{
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;偽澀锟攢鴛擋緬铹鈞錠。
SqlConnection sqlconn = new SqlConnection(sqlconnstr);緦徑铫膾龋轿级镗挢廟。
DataSet ds = new DataSet();
DataTable dtable;
DataRowCollection coldrow;
DataRow drow;
sqlconn.Open();
string strsql = "select * from company where compy_user='" + TextBox_yh.Text + "'and compy_pwd='" + TextBox_mima.Text + "'";騅憑钶銘侥张礫阵轸蔼。
SqlDataAdapter sqld = new SqlDataAdapter(strsql, sqlconn);疠骐錾农剎貯狱颢幗騮。
sqld.Fill(ds, "compy_user");
dtable = ds.Tables["compy_user"];
coldrow = dtable.Rows;
if (coldrow.Count == 0)
{
string scriptString = "alert('" + "用户名不存或密码错误" + "')";镞锊过润启婭澗骆讕瀘。
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "warning", scriptString, true);榿贰轲誊壟该槛鲻垲赛。
}
else
{
string scriptString = "alert('" + "登录成功" + "')";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "warning", scriptString, true);邁茑赚陉宾
展开阅读全文