大学生就业管理系统-数据库课程设计报告

合集下载

学生就业管理系统设计报告

学生就业管理系统设计报告

学生指导教师课题名称设计时间设计地点设计目的《网站编程技术》是一门实践能力要求高、与实际联系非常紧密、面向应用的工程实践性课程;课程设计是本课程教学计划中综合性较强的实践教学环节,通过项目开发过程、常见问题处理,不仅有利于提高学生在实践中提升解决问题的能力;也能够有效地帮助学生全面地掌握课堂教学内容,培养学生的实践和实际动手能力,对于提高学生全面素质具有很重要的意义。

一、课程设计概述:1、背景介绍:随着社会的发展,教育的进步,每年都有大量的毕业生涌向社会、面临就业。

为了更好的促进学生就业,学校通过获取学生个人信息,再根据每个学生的就业意向,以便推荐相应的工作岗位。

以往学校获取学生信息完全手工操作,通过纸张记录信息,既浪费时间,又浪费人工,而且查询学生信息时比较麻烦。

学校作为学生和用人单位的中间桥梁,需要管理大量的信息,为了使学生信息的管理更科学、更规范,减少重复劳动,节省学校建设和管理中的人力、物力和财力,所以有必要建立一个学生就业管理系统。

这个系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

应用此系统,可以为学生和用人单位提供各自的信息,方便学生和用人单位进行“双选”,满足学生就业、择业和用人单位用人的需求。

2、目的与任务:学生就业管理系统----意在方便学校管理学生信息,然后根据每个学生的就业意向,以推荐相应的工作岗位,进而促进学生就业和择业。

系统主要功能为:记录学生信息的同时,亦可对学生信息进行管理,包括学生信息的添加、修改、查询和删除等。

学校通过对学生信息的管理,能更好的为学生和用人单位搭建交流平台,促进学生的就业、满足用人单位用人的需求,在一定程度上缓解就业压力。

通过该项目的开发,必将进一步加深了对网站编程的理解,锻炼了分析、解决实际问题的能力,提高了适应实际、实践编程的能力,培养了在项目开发中的创新意识。

最后,提交课程设计报告、源程序和数据库。

高校学生就业管理系统-课程设计报告

高校学生就业管理系统-课程设计报告

《高校学生就业管理系统》课程设计报告题目:高校学生就业管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录一、题目概述(内容及要求) (1)二、需求分析 (1)2.1高校就业管理系统 (1)2.2高校就业管理系统数据流图 (1)2.3高校就业系统管理系统功能框图 (1)三、概要设计 (2)3.1数据模型(E-R图) (2)3.2数据库表格结构设计 (3)四、详细设计 (4)4.1登录界面 (4)4.2修改界面 (5)4.3查询界面 (14)五、软件测试 (23)5.1划分等价类并编号 (23)5.2有效测试用例 (23)5.3无效测试用例 (24)六、总结 (24)参考文献 (25)一、题目概述(内容及要求)实现院系、专业、毕业生信息管理(设有就业标志,初值为‘待业’);实现职业类型、职业信息(职业号、类型号、需求数量、聘用数量、用人单位)登记;实现毕业生就业登记(学号、职业号),自动修改相应学生的就业标志和职业的聘用数量,并保证聘用数量不大于需求数量;创建存储过程查询毕业生的人数、待业人数、就业人数和就业率;创建存储过程查询各专业的毕业生就业率;创建 check 约束限制毕业生性别必须为‘男’或‘女’;建立表间关系。

二、需求分析2.1高校就业管理系统高校就业管理系统化可以完成对学生信息的修改、查询(就业率,已就业信息,未就业信息,公司信息)、添加(学生基本信息,院系信息,公司信息)、退出功能。

初步完成了对高校就业信息的管理,界面设计简洁,使用简单。

2.2高校就业管理系统数据流图图2.1 高校就业管理系统数据流图2.3高校就业系统管理系统功能框图图2.2 高校就业系统管理系统功能框图三、概要设计3.1数据模型(E-R图)图3 高校学生就业管理E_R图3.2数据库表格结构设计表3.1 学院信息表表3.2 专业信息表表3.3 员工信息表表3.4 用户信息表表3.5 用人单位信息表表3.6 学生信息表表3.7 职业信息表类型名称char(20) NULL四、详细设计4.1登录界面登陆界面的设计如图4.1所示:图4.1 登陆界面设计代码如下:private void button1_Click(object sender, EventArgs e){if (textBox1.Text != ""){if (textBox2.Text != ""){DataConnection.getConn();string id = textBox1.Text.Trim();string pwd = textBox2.Text.Trim();string sql = "select count(*) from [login] where 用户名='" + id + "' and 密码='" + pwd + "'";int state = DataConnection.GetCountInfoBySql(sql);if (state == 0 || state > 1){MessageBox.Show("用户名或密码错误!!!");}else{Form1 f2 = new Form1();f2.Show();this.Hide();}DataConnection.CloseConn();}else{MessageBox.Show("密码为空请输入....");}}else{MessageBox.Show("用户名为空请输入....");}}private void button2_Click(object sender, EventArgs e) {textBox1.Text = "";textBox2.Text = "";}4.2修改界面修改界面的设计如图4.2所示:图4.2 修改界面设计代码如下:private void button7_Click(object sender, EventArgs e){if (textBox1.Text != ""){string id = textBox1.Text.Trim();if (radioButton3.Checked == true){if (comboBox1.Text != ""){if (comboBox4.Text != ""){string a = "select sum(需求数量) from profesion_student,type where profesion_student.类型号=type.类型号 and profesion_student.用人单位='" + comboBox1.Text.Trim() + "'and 类型名称='" + comboBox4.Text.Trim() + "'";int b = DataConnection.GetCountInfoBySql(a);a = "select sum(聘用数量) from profesion_student,type where profesion_student.类型号=type.类型号 and profesion_student.用人单位='" + comboBox1.Text.Trim() + "' and 类型名称='" + comboBox4.Text.Trim() + "'";int c = DataConnection.GetCountInfoBySql(a);if (c < b){string sql = "update student_info set 就业标志 = '已就业' where 学号='" + id + "'";DataConnection.UpdateDate(sql);sql = "select 学号 from employment where 学号='" + id + "'";if(DataConnection.GetCountInfoBySql(sql) == 0){sql = "insert into employment(学号)values ('" + id + "')";DataConnection.UpdateDate(sql);}string s = "select 职业号from profesion_student,type where profesion_student.类型号 =type.类型号 and profesion_student.用人单位='" + comboBox1.Text.Trim() + "' and 类型名称 ='" + comboBox4.Text.Trim() + "'";s = DataConnection.GetDataString(s).Trim();sql = "select count(*) from employment where 职业号='" + s + "'";int d = DataConnection.GetCountInfoBySql(sql);sql = "update profesion_student set 聘用数量=" + d + " where 职业号='" + s + "'";DataConnection.UpdateDate(sql);sql = "update employment set 职业号='" + s + "' where 学号='" + id + "'";DataConnection.UpdateDate(sql);}elseMessageBox.Show("公司聘用数量已达上线");}elseMessageBox.Show("类型号为空请选择....");}else{MessageBox.Show("用人单位为空请选择....\n否则,将就业情况修改为待就业");radioButton2.Checked = true;string s = "update student_info set 就业标志='待就业' where 学号='" + id + "'";DataConnection.UpdateDate(s);string sql = "select 学号 from employmentwhere 学号='" + id + "'";int h = DataConnection.GetCountInfoBySql(sql);s = "select 职业号 from employment where 学号='" + id+"'";s = DataConnection.GetDataString(s).Trim();if(DataConnection.GetCountInfoBySql(sql) > 0){sql= "delete from employment where 学号= '" + id + "'";int f = DataConnection.UpdateDate(sql);}sql = "select count(*) from employment where 职业号='" + s + "'";int d = DataConnection.GetCountInfoBySql(sql);sql = "update profesion_student set 聘用数量=" + d + " where 职业号='" + s + "'";DataConnection.UpdateDate(sql);}}elseMessageBox.Show("学号为空请输入....");}}private void tabPage2_Click(object sender, EventArgs e){comboBox2.Items.Clear();comboBox1.Items.Clear();comboBox4.Items.Clear();comboBox6.Items.Clear();radioButton3.Checked = false;radioButton1.Checked = false;radioButton2.Checked = false;radioButton4.Checked = false;string sql = "select 专业名称 from department order by 专业编号 asc";SqlDataReader dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox2.Items.Add(dr["专业名称"]);}sql = "select distinct 用人单位from profesion_student";dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox1.Items.Add(dr["用人单位"]);}sql = "select 类型名称 from dbo.type";dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox4.Items.Add(dr["类型名称"]);}sql = "select 院系名称 from academy order by 院系编号asc";dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox6.Items.Add(dr["院系名称"]);}if (textBox1.Text != ""){string id = textBox1.Text.Trim();string sql1 = "select 姓名 from student_info where 学号='" + id + "'";textBox2.Text = DataConnection.GetDataString(sql1);sql1 = "select 性别 from student_info where 学号='" + id + "'";string s = DataConnection.GetDataString(sql1);if (s == "男")radioButton4.Checked = true;if (s == "女")radioButton1.Checked = true;sql1 = "select 出生年月 from student_info where 学号='" + id + "'";textBox3.Text = DataConnection.GetDataString(sql1);sql1 = "select 籍贯 from student_info where 学号='" + id + "'";textBox4.Text = DataConnection.GetDataString(sql1);sql1 = "select 专业名称from student_info,department where student_info.专业编号=department.专业编号 and 学号='" + id + "'";comboBox2.Text = DataConnection.GetDataString(sql1);sql1 = "select 院系名称 from student_info,academy where student_info.院系编号=academy.院系编号 and 学号='" + id + "'";comboBox6.Text = DataConnection.GetDataString(sql1);sql1 = "select 就业标志 from student_info where 学号='" + id + "'";string s1 = DataConnection.GetDataString(sql1).Trim();if (s1 == "待就业"){radioButton2.Checked = true;}if (s1 == "已就业"){radioButton3.Checked = true;}sql1 = "select 用人单位from profesion_student,employment where profesion_student.职业号=employment.职业号 and employment.学号='" + id + "'";comboBox1.Text = DataConnection.GetDataString(sql1);sql1 = "select 类型名称fromtype,profesion_student,employment where type.类型号=profesion_student.类型号 and profesion_student.职业号=employment.职业号 and employment.学号='" + id + "'";comboBox4.Text = DataConnection.GetDataString(sql1);}elseMessageBox.Show("学号为空请输入....");}private void button1_Click(object sender, EventArgs e){if (textBox1.Text != ""){string sql = "select 院系编号 from academy where 院系名称='" + comboBox6.Text.Trim() + "'";string a = DataConnection.GetDataString(sql).Trim();sql = "select 专业编号 from department where 专业名称='" + comboBox2.Text.Trim() + "'";string b = DataConnection.GetDataString(sql).Trim();if (radioButton1.Checked == true){sql = "update student_info set 性别='" + radioButton1.Text + "' where 学号='" + textBox1.Text.Trim() + "'";int g = DataConnection.UpdateDate(sql);}if (radioButton4.Checked == true){sql = "update student_info set 性别='" + radioButton4.Text + "' where 学号='" + textBox1.Text.Trim() + "'";int f = DataConnection.UpdateDate(sql);}sql = "update student_info set 姓名='" + textBox2.Text.Trim() + "',出生年月='" + textBox3.Text.Trim() + "',籍贯='" + textBox4.Text.Trim() + "',专业编号='" + b + "',院系编号='" + a + "' where 学号='" + textBox1.Text.Trim() + "'";int d = DataConnection.UpdateDate(sql);}elseMessageBox.Show("学号为空请输入....");}4.3查询界面查询就业率界面的设计如图4.3所示:图4.3 查询就业率界面设计代码如下:private void tabPage3_Click(object sender, EventArgs e){string sql = "select count(*) from student_info";int a=DataConnection.GetCountInfoBySql(sql);label3.Text = a.ToString();sql = "select count(*) from student_info where 就业标志='已就业'";int b = DataConnection.GetCountInfoBySql(sql);label5.Text = b.ToString();sql = "select count(*) from student_info where 就业标志='待就业'";label4.Text = DataConnection.GetCountInfoBySql(sql).ToString();float c =(float) b / a;label6.Text = c.ToString();comboBox3.Items.Clear();sql = "select 专业名称 from department order by 专业编号 asc";SqlDataReader dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox3.Items.Add(dr["专业名称"]);}comboBox3.Text = "";label10.Text = "";}private void button2_Click(object sender, EventArgs e){//comboBox3.Text = "";label10.Text = "";if (comboBox3.Text != ""){string sql = "select count(*) from student_info,department where student_info.专业编号=department.专业编号 and 专业名称='" + comboBox3.Text + "'";int a = DataConnection.GetCountInfoBySql(sql);sql = "select count(*) from student_info,department where student_info.专业编号=department.专业编号 and 就业标志='已就业' and 专业名称='" + comboBox3.Text + "'";int b = DataConnection.GetCountInfoBySql(sql);if (a == 0){label10.Text = "该专业学生人数为0";}else{float c = (float)b / a;label10.Text = c.ToString();}}elseMessageBox.Show(“专业为空请选择….”);}查询已就业信息界面的设计如图4.4所示:图4.4 查询已就业信息界面设计代码如下:private void tabPage4_Click(object sender, EventArgs e){comboBox5.Items.Clear();comboBox7.Items.Clear();comboBox5.Text = "";comboBox7.Text = "";string sql = "select 专业名称 from department order by 专业编号 asc";SqlDataReader dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox7.Items.Add(dr["专业名称"]);}sql = "select 院系名称 from academy order by 院系编号asc";dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox5.Items.Add(dr["院系名称"]);}}private void button3_Click(object sender, EventArgs e){if (comboBox5.Text != ""){string s = "select c5.学号,姓名,出生年月,籍贯,院系名称,专业名称,就业标志,用人单位,类型名称 from type right join (select c4.学号,姓名,出生年月,就业标志,籍贯,院系名称,专业名称,c4.职业号,类型号,用人单位 from profesion_student right join (select c3.学号,姓名,出生年月,就业标志,籍贯,院系名称,专业名称,职业号 from dbo.employment right join (select 学号,姓名,出生年月,就业标志,籍贯,院系名称,专业名称from department join (select 学号,姓名,出生年月,就业标志,籍贯,院系名称,专业编号 from academy join (select 学号,姓名,出生年月,院系编号,籍贯 ,就业标志,专业编号 from student_info where 就业标志='已就业')c1 on academy.院系编号=c1.院系编号)c2 on department.专业编号=c2.专业编号)c3 on employment.学号=c3.学号)c4 on profesion_student.职业号=c4.职业号) c5 on type.类型号=c5.类型号 where 院系名称='"+ comboBox5.Text.Trim() + "'order by c5.学号";dataGridView1.DataSource = DataConnection.GetDataSuoce(s).Tables[0];}elseMessageBox.Show("院系名称为空请选择....");}private void button4_Click(object sender, EventArgs e){if (comboBox7.Text != ""){string s = "select c5.学号,姓名,出生年月,籍贯,院系名称,专业名称,就业标志,用人单位,类型名称 from type right join (select c4.学号,姓名,出生年月,就业标志,籍贯,院系名称,专业名称,c4.职业号,类型号,用人单位 from profesion_student right join (select c3.学号,姓名,出生年月,就业标志,籍贯,院系名称,专业名称,职业号 from dbo.employment right join (select 学号,姓名,出生年月,就业标志,籍贯,院系名称,专业名称from department join (select 学号,姓名,出生年月,就业标志,籍贯,院系名称,专业编号 from academy join (select 学号,姓名,出生年月,院系编号,籍贯 ,就业标志,专业编号 from student_info where 就业标志='已就业')c1 on academy.院系编号=c1.院系编号)c2 on department.专业编号=c2.专业编号)c3 on employment.学号=c3.学号)c4 on profesion_student.职业号=c4.职业号) c5 on type.类型号=c5.类型号 where 专业名称='" + comboBox7.Text.Trim() + "'order by c5.学号";dataGridView1.DataSource = DataConnection.GetDataSuoce(s).Tables[0];}elseMessageBox.Show("专业名称为空请选择....");}查询未就业信息界面的设计如图4.5所示:图4.5 查询未就业信息界面设计代码如下:private void tabPage5_Click(object sender, EventArgs e){comboBox8.Items.Clear();comboBox9.Items.Clear();comboBox8.Text = "";comboBox9.Text = "";string sql = "select 专业名称 from department order by 专业编号 asc";SqlDataReader dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox9.Items.Add(dr["专业名称"]);}sql = "select 院系名称 from academy order by 院系编号asc";dr = DataConnection.GetSqlDataReader(sql);while (dr.Read()){comboBox8.Items.Add(dr["院系名称"]);}}private void button5_Click(object sender, EventArgs e){if (comboBox8.Text != ""){string sql = "select student_info.学号,姓名,出生年月,籍贯,院系名称,专业名称,就业标志from student_info,academy,department where student_info.院系编号=academy.院系编号 and student_info.专业编号=department.专业编号 and 就业标志='待就业' and 院系名称='" + comboBox8.Text.Trim() + "'order by student_info.学号";dataGridView2.DataSource = DataConnection.GetDataSuoce(sql).Tables[0];}elseMessageBox.Show("院系名称为空请选择....");}private void button6_Click(object sender, EventArgs e){if (comboBox9.Text != ""){string sql = "select student_info.学号,姓名,出生年月,籍贯,院系名称,专业名称,就业标志from student_info,academy,department where student_info.院系编号=academy.院系编号 and student_info.专业编号=department.专业编号 and 就业标志='待就业' and 专业名称='" + comboBox9.Text.Trim() + "'order by student_info.学号";dataGridView2.DataSource = DataConnection.GetDataSuoce(sql).Tables[0];}elseMessageBox.Show("专业名称为空请选择....");}查询公司信息界面如图4.6所示:图4.6 查询公司信息界面设计代码如下:private void tabPage6_Click(object sender, EventArgs e){string sql = "select 用人单位,类型名称,需求数量,聘用数量 from profesion_student,type where type.类型号=profesion_student.类型号";dataGridView3.DataSource = DataConnection.GetDataSuoce(sql).Tables[0];}五、软件测试考虑到各种因素和条件的限制,我们决定采用黑盒测试方案。

2019-数据库课程设计-高校就业管理系统

2019-数据库课程设计-高校就业管理系统

“数据库原理概论”课程设计报告学院专业班级组员指导教师成绩目录1.需求分析 (3)1.1 课程设计选题 (3)1.2 需求描述 (3)1.3 数据流图 (3)1.4 数据字典 (4)2.系统数据库设计部分 (6)2.1数据库概念结构设计 (6)E-R 图 (6)2.2 数据库逻辑结构设计 (6)2.2.1关系模式 (6)2.3 数据库物理结构设计物理设计 (7)2.4 数据库部分操作语句设计 (7)2.4.1索引建立 (7)2.4.2 建立表间关系 (7)2.4.3查询毕业生的人数、待业人数、就业人数和就业率 (8)2.4.4 查询各专业的毕业生就业率 (9)2.4.5 毕业生信息的增、删、改 (9)2.4.7 实现毕业生就业登记时(学号、职业号),自动修改相应学生的就业标志和职业的聘用数量,并保证聘用数量不大于需求数量 (10)3.总结 (10)1.需求分析1.1 课程设计选题题目:高校学生就业管理系统1.2 需求描述(1)实现院系、专业、毕业生信息管理(设有就业标志,初值为‘待业’); (2)实现职业类型、职业信息(职业号、类型号、需求数量、聘用数量、用人单位)登记;(3)实现毕业生就业登记时(学号、职业号),自动修改相应学生的就业标志和职业的聘用数量,并保证聘用数量不大于需求数量;(4)创建查询语句查询毕业生的人数、待业人数、就业人数和就业率;(5)创建查询语句查询各专业的毕业生就业率;(6)创建check约束限制毕业生性别必须为‘男’或‘女’;建立表间关系。

1.3 数据流图图1-a(数据流图顶层)图1-b(数据流图第一层) 1.4 数据字典(1(2(3(4(5(62.系统数据库设计部分2.1数据库概念结构设计E-R 图图2-a(ER图)2.2 数据库逻辑结构设计2.2.1关系模式其中有下划线的属性表示主键。

毕业生(学号,性别,专业名,职业号,就业标志)用户(用户名,密码,权限)职业信息(职业名,职业号,类型号,需求数量,聘用数量,用人单位)职业类型(类型名,类型号)专业(专业名,学院号)学院(学院名,学院号)2.3 数据库物理结构设计物理设计在以下属性上建立索引:学号(毕业生表)、职业号(职业信息表)、类型号(职业类型表)、专业名(专业表)、学院(学院号)2.4 数据库部分操作语句设计2.4.1索引建立create index 毕业生_学号 on 毕业生(学号)create index 职业信息_职业号 on 职业信息(职业号)create index 职业类型_类型号 on 职业类型(类型号)create index 专业_专业名 on 专业(专业名)create index 学院_学院号 on 学院(学院号)2.4.2 建立表间关系Create table毕业生(学号 char(15) not null性别 char(2)not null check (性别 in(’男’,’女’))专业名 char(15) not null职业号 int not null default 0就业标志 char(6)not null default 0primary key(学号)foreign key(专业名)references 专业(专业名)foreign key(职业号)references 职业信息(职业号))Create table 用户(用户名 char(15) not null primary key密码 char(15)not null)create table 职业信息(职业名 char(15) not null职业号 int not null primary key类型号 int not null需求数量 int not null聘用数量 int not null用人单位 char(15) not nullForeign key (类型号) references 职业类型(类型号))Create table 职业类型(类型名 char(12) not null类型号 int not null primary key)Create table 专业(专业名 char(12) not null primary key学院号 int not nullForeign key (学院号) references 学院(学院号))Create table 学院(学院名 char(12) not null学院号 int not null primary key)2.4.3查询毕业生的人数、待业人数、就业人数和就业率Select count*From 毕业生Select count*From 毕业生Group by 就业标志Having 就业标志= ‘待业’Select count*From 毕业生 k aGroup by 就业标志Having 就业标志= ‘是’Select ((select cast(select count*From 毕业生Group by 就业标志Having 就业标志= ‘是’as decimal(8,2))) / ( select count* From 毕业生))2.4.4 查询各专业的毕业生就业率Select ((select cast(Tab1.num as decimal(8,2)) where ) / ( select count* From 毕业生B))2.4.5 毕业生信息的增、删、改Insert into 毕业生(学号,性别,专业号)Values(‘2015001,’男’,’1’)Delete from 毕业生Where 学号=’*******’Update 毕业生Set 性别= ‘女’Where 学号=‘*******’2.4.6 毕业生就业登记Update 毕业生Set 职业号= ‘1’Where 学号= ‘2015001’2.4.7 实现毕业生就业登记时(学号、职业号),自动修改相应学生的就业标志和职业的聘用数量,并保证聘用数量不大于需求数量利用触发器实现上述要求:Create trigger t_update after update of 职业号 on 毕业生Referencing oldrow as oldNewrow as newFor each rowWhen(new.职业号<>0)Update 职业信息Set 聘用数量=聘用数量+1From 职业信息Where 聘用数量+1 <= 需求数量3.总结在本次课程设计中,我们对于数据库的设计流程有了更清晰的认识,在实践的过程中遇到了许多课本上没有的问题,但依靠查阅资料还是解决了。

数据库课程设计---大学生就业管理系统的数据库设计

数据库课程设计---大学生就业管理系统的数据库设计

课程设计评分细则序号评分内容分值得分1选题新颖、结构完整、原创性强,语言规范、排版美观、装订规范。

20%2需求分析工作深入详细,业务流程图、数据流程图、数据字典等需求文档完整,正确性高40%3概念结构设计合理,CDM的属性及其数据类型与数据字典一致,且正确性高20%4转换的PDM正确性高,相应的SQL教本正确,参考文献完整10%5提交了数据库文件,且电子文档与打印稿一致10%6迟到、早退、打游戏或做无关之事,发现一次扣10分;旷课一次扣30分负分最终成绩答辩教师签名《数据库原理及应用》课程设计报告题目:大学生就业管理系统的数据库设计学号:姓名:同组人员:指导教师:2011年12月目录摘要 (2)1.项目背景 (2)1.1问题定义和项目简介 (2)1.2选题背景 (2)1.3系统目标 (3)1.4可行性分析 (4)2.需求分析 (4)2.1系统性能需求分析 (4)2.1.1系统软件/硬件平台 (4)2.1.2运行环境 (4)2.2系统功能需求分析 (4)2.2.1系统功能的划分 (4)2.2.2系统功能描述 (5)该模块的主要功能是搜索和查看企业基本信息。

(5)2.4数据流程分析 (7)2.5数据字典 (10)3.系统设计 (12)3.1概念结构设计 (12)3.2逻辑结构设计 (13)3.3物理结构设计 (13)4.心得与收获 (16)5.结论 (17)6.参考文献 (17)7.小组组员分工情况说明 (17)摘要大学生就业问题关系到高等教育持续健康的发展,关系到国家的经济建设、社会的稳定和人民群众的根本利益。

随着我国高校毕业生就业制度改革的不断深化,双向选择、自主择业已成为主要的就业方式。

我国加入世贸组织后,就业信息的时效性等问题越来越突出地表现出来。

因此,为了使校园招聘成为大学生就业的主体市场,我们建立了基于WEB的“大学毕业生就业管理系统”。

为毕业生、用人单位与学校搭建了一个进行信息交换的平台,为毕业生就业工作的顺利开展开辟了一条快捷、高效的途径。

管理信息系统-就业系统设计报告

管理信息系统-就业系统设计报告

哈尔滨理工大学大学生就业管理信息系统设计名称:就业管理信息系统设计报告姓名:顾乐秋学院:经济学院专业:国际经济与贸易14-1学号: 1416010107201 6 年10月29 日目录第1章前言 (1)1。

1 系统目标 (1)1。

2 业务流程图 (2)1。

3 可行性研究 (3)1。

4 需求分析-————-—----——--——--—-———-—-—-—-—-————-———-—-————-—-—-——-—---—--—----——--—-——-———-----—-—-31。

4.1 系统需要解决问题—-——————-—-—--——--—-—---——-—-—---——————————-—--————-——-—-———--------—-—--—31.4.2 系统具备的基本功能—--———--—-——-——-——-——--—-———--—--——------————-——---—-—-----———-—41。

4.3 数据流程图----—-—-—--——---——--—-——---—--——-----——--—--——-———--———-———-—--—-—-—————--41.4。

5 数据字典———--——--——-——----——-——————---————-—---——---—————-—-—--———--————--—--—---—-———-71。

4.6 数据流—-—-————-—-----———--—-—-——————-————————---—-—---—-——-——--——-----—-------———--——--—8第2章总体设计 (9)2.1概述 (9)2。

2系统功能划分 (10)2。

2。

1毕业生子系统功能划分 (10)2。

2.2管理员子系统功能划分 (11)2.2.3 企业子系统功能划分-——---—-—-—-—————--——-----—---—————-—---—--—-—----—-——-—---————--112.3系统功能描述 (12)2.3.1 毕业生子系统功能描述 (12)2。

大学生就业咨询系统课程设计报告

大学生就业咨询系统课程设计报告

课程设计任务书及成绩评定课题名称大学生就业咨询系统Ⅰ、题目的目的和要求:1、设计目的掌握综合应用.NET相关系列课程所学到的知识,以Visual Studio 2005为开发工具,具备利用.NET框架和C#语言开发Web应用程序的能力:(1)通过本课程设计,熟悉系统需求分析过程,掌握建立数据流图、基本数据字典、实体关系图等信息描述及相关系统功能分析的基本方法与常用工具。

(2)能针对选题,创建相应的数据库表,熟悉系统安全性策略的设计过程,掌握数据完整性设计(如数据完整性校验、一致性检查等)的基本方法。

(3)根据系统需求以及所设计的数据结构,分析并设计算法,进而给出问题的正确求解过程并基于.NET框架和C#语言编写代码实现。

2、设计题目要求:要求深入分析大学生就业咨询系统中的共性问题,针对毕业生及招聘单位的特性,完成相关调研工作,给出软件系统的需求分析与详细设计报告,并最终完成大学生就业咨询系统的开发,实现以下功能模块:不同用户登录、毕业生信息管理、招聘单位信息管理、招聘职位信息管理、方便的实现对人才需求信息的检索等,完成课程设计报告的编写。

Ⅱ、设计进度及完成情况日期内容1.10-1.11 选取参考书,查阅有关文献资料,完成资料搜集和系统分析。

1.12~1.14 创建毕业生,招聘单位,需求信息,角色数据表,完成程序界面设计,划分模块。

1.17~1.19 对各模块进行程序设计、调试,对各模块进行整体集成、整体调试,编写详细设计报告。

1.20~1.21 答辩。

Ⅲ、主要参考文献及资料[1] 张海潘. 软件工程导论[M]. 北京:清华大学出版社, 1998.[2] 李勇平. 2.0(C#)基础教程[M]. 北京:清华大学出版社, 2008.[3] 王珊,萨师煊. 数据库系统概论[M]. 北京:高等教育出版社, 2006.Ⅳ、成绩评定:设计成绩:(教师填写)指导老师:(签字)二○一一年一月二十一日目录第一章概述 (1)第二章问题定义 (2)第三章可行性研究 (2)第四章需求分析 (2)第五章总体设计 (6)第六章详细设计 (11)第七章测试与维护 (24)第八章致谢 (25)参考文献 (25)第一章概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。

数据库系统原理及课程设计报告

数据库系统原理及课程设计报告

数据库系统原理及课程设计报告1. 引言数据库系统是现代计算机科学领域中非常重要的一部分,它广泛应用于各个领域,包括企业管理、电子商务、医疗保健、社交网络等。

本报告旨在介绍数据库系统的原理和课程设计内容,以及设计过程中的思考和实践。

2. 数据库系统原理2.1 数据库系统概述数据库系统是一种用于管理和组织数据的软件系统,它提供了数据的存储、检索、更新和删除等功能。

数据库系统由数据库管理系统(DBMS)和数据库组成,它们共同协作来处理用户的请求并维护数据的完整性和安全性。

2.2 数据库模型数据库模型是数据库系统中用于描述和组织数据的方法和规则。

常见的数据库模型包括层次模型、网状模型、关系模型和面向对象模型等。

其中,关系模型是最常用的数据库模型,它使用表格(关系)来表示数据,并通过关系代数和关系演算来进行数据操作。

2.3 数据库设计数据库设计是指根据实际需求和数据特点,设计数据库的结构和关系。

它包括实体-关系模型的设计、范式的应用、关系模式的定义和数据字典的编制等。

在数据库设计过程中,需要考虑数据的完整性、一致性和性能等方面的问题。

3. 课程设计内容3.1 课程设计目标本课程设计旨在通过实践操作,加深对数据库系统原理的理解,并提升学生的数据库设计和实现能力。

学生需要完成一个实际的数据库应用项目,包括需求分析、数据库设计、系统实现和测试等环节。

3.2 课程设计任务本课程设计要求学生设计一个学生信息管理系统。

系统需求包括学生基本信息的录入、查询、修改和删除等功能,以及学生成绩的统计和排名功能。

学生需要使用关系型数据库管理系统(如MySQL、Oracle等)来实现系统,并使用合适的编程语言(如Java、Python等)编写前端界面。

3.3 课程设计步骤3.3.1 需求分析学生需要与教师和同学进行沟通,明确系统的功能和性能需求。

在需求分析阶段,学生需要编写需求规格说明书,包括用例图、用例描述和功能需求等。

3.3.2 数据库设计学生需要根据需求分析结果,设计数据库的结构和关系。

数据库课程设计报告

数据库课程设计报告

数据库课程设计报告数据库课程设计报告一、什么是数据库数据库是“按照数据结构来组织、存储和管理数据的仓库”。

是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

二、数据库的定义数据库是存放数据的仓库。

它的存储空间很大,可以存放百万条、千万条、上亿条数据。

但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。

当今世界是一个充满着数据的互联网世界,充斥着大量的数据。

即这个互联网世界就是数据世界。

数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。

除了文本类型的数据,图像、音乐、声音都是数据。

三、数据库课程设计报告随着个人素质的提升,报告的使用成为日常生活的常态,不同的报告内容同样也是不同的。

你知道怎样写报告才能写的好吗?下面是小编收集整理的数据库课程设计报告,仅供参考,大家一起来看看吧。

数据库课程设计报告1一、绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。

提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。

基于 SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。

基本上能满足管理员和公司的要求。

此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。

需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。

二、员工薪资管理系统概述1、现状分析随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。

早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。

早期工资管理多采取纸质材料和具有较强的时间限制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1、开发背景 (1)2、系统描述 (1)3、数据分析 (2)3.1、数据流图 (2)3.2、数据字典 (2)4、概念模型设计 (5)5. 逻辑模型设计及优化 (8)6、应用程序设计(前台) (9)7、课程设计心得体会 (6)参考文献 (16)1.开发背景随着社会和经济不断的发展,数据和信息也随之告诉增长起来,为有效地组织和管理庞大的数据和信息,严密科学合理的数据管理技术也就成为迫切的技术问题之一。

数据库技术是20世纪60年代末在文件系统基础上发展起来的数据管理新技术,它解决了过去对数据管理和组织中存在的数据冗余和独立性问题,实现了数据的共享性、完整性、安全性、有效性目标。

数据库技术的发展和广泛使用,为人类社会进入信息化社会奠定了坚实的基础。

大学生就业管理系统是在实现如今越来越多的大学生提供就业资源,方便大学生,同时也实现企业寻求人才的搜索,该系统最终的目的是方便毕业生进行就业信息检索,可将就业信息在网上进行发布。

2 系统描述针对以上的功能分析,对数据库的设计做了以下分析。

考虑到就业查询的特殊要求,数据库的设计应该包含以下信息:(1)对用人单位的基本信息进行录入、修改、删除等。

(2)实现毕业生专业信息的维护。

(3)定时发布用人单位的毕业生需求信息。

(4)方便的实现对人才需求信息的检索。

(5)对用人单位的级别能够自动进行变更。

(6)能够对历年的毕业需求信息进行统计、分析。

(7)具有数据备份和数据恢复功能。

3数据分析3.1 数据流图数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。

图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。

它能精确的描述系统的逻辑模型,描述数据在MIS 中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。

图1 学生就业查询流图3.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有的元素定义的集合。

数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。

一般来说,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。

3.2.1数据流的描述数据流是数据结构在系统内传输的路径。

对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}。

数据流编号: D001数据流名称:大学生就业查询信息简述:大学生所要就业的单位数据流来源:大学生数据流去向:大学生信息判断数据流组成:大学生号+单位号+专业号码等数据流量:1000/天高峰流量:3000/天数据流编号: D001数据流名称:用人单位信息简述:用人单位的招聘信息数据流来源:大学生信息判断数据流去向:用人单位信息查询数据流组成:大学生号+专业号+地区号等数据流量:1000/天高峰流量:3000/天3.2.2处理逻辑的描述处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。

在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}处理逻辑编号:P001处理逻辑名称:大学生信息判断简述:判断大学生信息的合法性输入的数据流:大学生查询信息处理描述:根据大学生提供的个人信息,判断是否为有效用户输出的数据流: D001用人单位要求处理频率: 10次/天处理逻辑编号:P002处理逻辑名称:用人信息判断简述:判断用人信息的合法性输入的数据流:大学生查询信息处理描述:根据大学生提供的个人信息,判断是否为有效用户输出的数据流: D001用人单位要求处理频率: 10次/天3.2.3 数据存储的描述数据存储是数据结构停留或保存的地方。

也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。

一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。

数据存储编号:F001数据存储名称:大学生信息简述:大学生的基本信息数据存储组成:学生姓名,性别,年龄,电话,专业,学号关键字:学号相关联的处理:P001数据存储编号:F002数据存储名称:用人信息简述:用人单位本信息数据存储组成:单位名称,单位号码关键字:单位号码相关联的处理:P0013.2.4 外部实体的描述外部实体编号:S001外部实体名称:学生简述:找工作的人输入的数据流:D002,D003输出的数据流:D001......4概念模型设计大学生就业管理系统在我负责的管理员这一模块上一共设计了五张表用来存储所有的用人单位信息和招聘信息:company表(包含属性:单位号码、单位名称、电话号码)、major表(包含属性:专业信息、专业号码)、region表(包含属性:地区号码、地区名称)、belong表(包含属性:用人单位号码、地区号)、request表(包含属性:用人单位号码、专业号码、年份、人数、专业、学历)。

并为每个表设置了能唯一确定各个表的属性。

其中company表里设置属性(单位号码)为主关键字,并在major表里设置属性(专业号码)为主关键字,在region表里设置属性(地区号码)为主关键字,在belong表里设置属性(用人单位号码、地区号)为主关键字,在request表里设置属性(用人单位号码)为主关键字。

表间对应的局部和整体E-R图如下:图2 用人单位属性图图3 地区属性图图4 学生属性图图5 单位要求图图6 专业信息属性图图7 整体E-R图把上面的E-R图转换为关系模型为(关系的码用下横线黑体标出)用人单位(单位号码,单位名称,电话号码);要求(用人单位号码,专业号码,年份,人数,专业,学历);专业信息(专业号码,专业名称);属于(用人单位号码,地区号);地区(地区号码,地区名称);学生(学号,姓名,年龄,专业,电话)5逻辑结构模型设计及其优化(1)下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:1)company表,如表1所示。

表1 company表2)belong表,如表2所示。

表2 belong表3)major表,如表3所示。

表3 major表4)region表,如表4所示。

表4 region表5)request表,如表5所示。

表5 request表6)student 表,如表6所示(2)所有表之间的关系图,如图2所示。

图2 表之间的关系图6应用程序设计a) 建立存储过程create procedure [dbo].[b]@地区名称 nchar(10)asbeginselect 单位名称,电话号码,地区名称,专业信息,学历,人数,年份from belong,company,region,major,requestwhere 地区名称=@地区名称 and belong.用人单位号码 =request.用人单位号码and belong.用人单位号码 =company.单位号码and company .单位号码 =request .用人单位号码and belong .地区号 =region .地区号码and major .专业号码 =request .专业号码endGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate procedure [dbo].[a]@单位名称 nchar(10)asbeginselect 单位名称,电话号码,地区名称,专业信息,学历,人数,年份from belong,company,region,major,requestwhere 单位名称=@单位名称 and belong.用人单位号码 =request.用人单位号码and belong.用人单位号码 =company.单位号码and company .单位号码 =request .用人单位号码and belong .地区号 =region .地区号码and major .专业号码 =request .专业号码endGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate procedure [dbo].[c]@专业信息 nchar(10)asbeginselect 单位名称,电话号码,地区名称,专业信息,学历,人数,年份from belong,company,region,major,requestwhere 专业信息=@专业信息 and belong.用人单位号码 =request.用人单位号码and belong.用人单位号码 =company.单位号码and company .单位号码 =request .用人单位号码and belong .地区号 =region .地区号码and major .专业号码 =request .专业号码endGOb) 建立触发器了实现表间数据的一致性和完整性,创建了触发器,具体代码如下:/*company表触发器*/create trigger danweihaomaon companyafter updateasbeginupdate requestset 单位号码=(select 单位号码 from inserted)where 单位号码 in ( select 单位号码 from deleted)ENDG图三程序截图7.课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

通过这次课程设计增加很多认识,在拿到课程设计题目时,没有像以前一样马上开始动手写代码,我先做了整体的分析,把要设计的表,表的属性,表间的关系全部弄清楚,并画了相应的关系图和E-R 图,从而也就基本形成了这次设计的整体构架。

在写代码的过程中明显感觉到很轻松,就是照着所设计的思路一步一步地进行。

并得到以下总结:首先,流程是一切的根源,进度控制是项目顺利进行的基础。

没有大局观,面对问题和变更就会不知所措了。

其次,构架是很重要的,整体框架搭好,具体细节实现起来就是顺理成章的事了。

最后,实践比一切空谈和理论更能学到东西。

平时学的那些理论都不过是皮毛罢了,一旦不用很快就忘记,始终要在实践中才会发现问题才会努力去解决才能成长。

看到题目后就一直在思考怎么设计好这个数据库,从理论到实践,在这些日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

相关文档
最新文档