成都航空职业技术学院课程设计题目毕业生就业信息管理系统教学院计算机学院专业计算机科学与技术2012年11月29日班级611321姓名周金龙指导教师张强课程设计任务书2010~2011学年第2学期学生姓名:周金龙专业班级:611321指导教师:张强工作部门:华迪公司一、课程设计题目毕业生就业信息管理系统主要研究及实现以下功能:(1)基本信息管理:可以对毕业学生基本信息的添加、修改、删除,并支持学生姓名和学号的查询。
(2)院系信息管理:对院系信息进行添加、修改、删除和查看。
此功能为学生档案的分类管理提供依据。
(3)单位信息管理:对用人单位的信息进行添加、修改、删除和查询等操作。
(4)就业信息管理:可以对学生的就业资料进行添加、修改、删除和查看等操作。
(5)招聘信息管理:可以对来校进行招聘的信息进行添加、修改、删除和查询等操作。
(6)系统设置:对操作员信息进行管理。
二、课程设计内容(含技术指标)1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,限制条件是什么;2.逻辑设计:确定数据库结构,及各个主要模块的功能,并明确模块之间的调用关系;3.详细设计:设计数据库及操作界面,并给出每个功能模块的实现算法;4.程序编码:把详细设计的结果进一步求精为程序设计语言程序,同时加入一些注解和断言,使程序中逻辑概念清楚;5.程序调试与测试:采用自底向上,分模块进行调试,调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;6.结果分析:程序运行结果包括正确的输入及其输出结果,含有错误的输入及其输出结果。
7.编写课程设计报告。
三、进度安排1.软件功能分析与设计;2.数据库及操作界面设计;3.具体代码实现及调试;4.撰写课程设计论文。
四、基本要求1.学生能够按照老师的要求正确的设计数据库;2.学生在老师的指导下,能够设计出相应功能模块;3.学生在阅读参考资料后,能够编写出相应的代码,具备软件开发的能力。
目录1.1课程设计的目的............................................1.2课程设计的要求............................................ 2总体方案设计..................................................2.1总体模块图................................................2.2具备功能..................................................2.3整体设计思路..............................................2.3主要解决的关键性问题...................................... 3详细设计......................................................3.1功能模块设计..............................................2模块流程图..................................................3.3数据库设计................................................ 4程序的调试与运行结果说明......................................4.1就业记录管理窗体设计......................................4.2就业记录管理主要实现代码..................................4.3就业记录管理运行结果...................................... 5课程设计总结.................................................. 参考文献........................................................1概述1.1课程设计的目的1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,限制条件是什么;2.逻辑设计:确定数据库结构,及各个主要模块的功能,并明确模块之间的调用关系;3.详细设计:设计数据库及操作界面,并给出每个功能模块的实现算法;4.程序编码:把详细设计的结果进一步求精为程序设计语言程序,同时加入一些注解和断言,使程序中逻辑概念清楚;5.程序调试与测试:采用自底向上,分模块进行调试,调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;6.结果分析:程序运行结果包括正确的输入及其输出结果,含有错误的输入及其输出结果。
7.编写课程设计报告。
1.2课程设计的要求1.学生能够按照老师的要求正确的设计数据库;2.学生在老师的指导下,能够设计出相应功能模块;3.学生在阅读参考资料后,能够编写出相应的代码,具备软件开发的能力。
2总体方案设计2.1总体模块图2.2具备功能①.院系信息的添加、修改、删除、和查看。
②.学生基本信息的添加、修改、删除,并支持学生姓名和学号的查询。
③.学生就业信息的添加、修改、删除和查询。
④.就业单位信息管理,可以根据单位名称进行查询。
⑤.招聘信息管理的添加、修改、删除和查询。
2.3整体设计思路1.系统输出对象包括高校毕业生的基本信息(姓名、性别、身份证号码、毕业院校、专业)、就业单位需求信息和最近更新的招聘信息等等。
2.系统输入对象主要是输入高校毕业生的学号(来源于学生信息数据库,其数据类型属于字符串),椐此来搜寻学生信息,此外,输入用人单位的名称(来源于就业资源信息数据库,其数据类型属于字符串),椐此来搜寻单位信息等。
3.系统流程分析如下:(简化如下)2.3主要解决的关键性问题1.开发工具选择:前台开发工具选择Delphi7后台数据库选择SQLServer中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装2.关键性技术:所选开发工具的基本编程方法。
基本的后台数据库管理方法,例如创建数据库、创建表、创建视图、备份和还原数据库等。
常用SQL语句的使用。
ADO数据库访问技术。
3详细设计3.1功能模块设计(一)学生就业记录信息管理模块设计1模块说明表2模块流程图注:系统主界面和登录窗体设计、学生基本信息管理模块、学生就业记录管理模块、就业单位信息管理模块、招聘信息管理模块由小组其他人员完成。
3.3数据库设计数据库设计是开发数据库及其应用系统的技术,也是信息系统开发和建设的重要组成部分。
具体的说,数据库设计是要在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求。
3.3.1数据库E-R图设计用户实体及属性院系实体及属性学生实体及属性单位实体及属性就业信息及属性招聘信息及属性3.3.2数据库逻辑结构设计用户信息表院系班级信息表学生信息表就业信息表单位信息表招聘信息表4程序的调试与运行结果说明4.1就业记录管理窗体设计4.2就业记录管理主要实现代码就业记录公共模块usesDAHelper,ClassesU,ADODB,SysUtils;//添加就业记录functionAddEmploy(Employ:TEmploy):boolean;//修改就业记录functionEditEmploy(Employ:TEmploy):boolean;//删除就业记录functionDelEmploy(EmployID:integer):boolean;//得到就业记录functionGetEmployArray:TADOQuery;//查找就业记录,如果没有查找到该就业记录,返回空值functionGetEmploy(OpID:integer):TEmploy;//根据学号查找学生就业记录functionGetEmployByStdNO(StdNO:string):TADOQuery;implementationfunctionGetEmployByStdNO(StdNO:string):TADOQuery;varsql:string;beginsql:='selecta.id,b.姓名,c.单位名称,a.职位,a.时间,a.学生证号from 就业记录a'+'join学生信息bona.学生证号=b.学生证号join单位信息c'+'onc.id=a.单位id';ifStdNO<>''thensql:=sql+'wherea.学生证号='+''''+StdNO+'''';result:=DAHelper.ExeSqlQuery(sql);end;functionGetEmploy(OpID:integer):TEmploy;varEmploy:TEmploy;sql:string;Adoquery:TADOQuery;begin{sql:='selecta.id,b.姓名,c.单位名称,a.职位,a.时间from就业记录a'+'join学生信息bona.学生证号=b.学生证号join单位信息c'+'onc.id=a.单位idanda.id='+inttostr(OpID);Adoquery:=DAHelper.ExeSqlQuery(sql);ifAdoquery.RecordCount<1thenbeginresult:=nil;endelsebeginEmploy:=TEmploy.Create;Employ.id:=ADOQuery.Fields[0].Value;Employ.stdNo:=ADOQuery.Fields[1].Value;panyID:=ADOQuery.Fields[2].Value;Employ.duty:=ADOQuery.Fields[3].Value;Employ.date:=DateToStr(ADOQuery.Fields[4].Value);result:=Employ;end;}end;functionGetEmployArray:TADOQuery;varsql:string;beginsql:='selecta.id,b.姓名,c.单位名称,a.职位,a.时间,a.学生证号from 就业记录a'+'join学生信息bona.学生证号=b.学生证号join单位信息c'+'onc.id=a.单位id';result:=DAHelper.ExeSqlQuery(sql);end;functionDelEmploy(EmployID:integer):boolean;varsql:string;beginsql:='deletefrom就业记录whereid='+inttostr(EmployID); result:=DAHelper.ExeSqlNoQuery(sql);end;functionEditEmploy(Employ:TEmploy):boolean;varsql:string;beginsql:='update就业记录set学生证号='+''''+Employ.stdNo+''''+ ',单位id='+inttostr(panyID)+',职位='+''''+Employ.duty+''''+',时间='+''''+Employ.date+''''+'whereid='+inttostr(Employ.id);result:=DAHelper.ExeSqlNoQuery(sql);end;functionAddEmploy(Employ:TEmploy):boolean;varsql:string;beginsql:='insertinto就业记录(学生证号,单位id,职位'+',时间)'+'values('+''''+Employ.stdNo+''''+','+inttostr(panyID)+','+''''+Employ.duty+''''+','+''''+Employ.date+''''+')';result:=DAHelper.ExeSqlNoQuery(sql);end;end.1.学号查询功能procedureTfrm_Employ.btn_search_stdNoClick(Sender:TObject); begininherited;self.DataSource_info.DataSet:=Control_EmployU.GetEmployByStdNO(self.edt_stdNo_s.Text);self.DBGrid_info.Columns[0].Visible:=false;end;2.就业记录添加功能procedureTfrm_Employ.btn_addClick(Sender:TObject);varEmploy:TEmploy;Student:TStudent;Company:TCompany;begininherited;if((edt_stdNo.Text='')or(edt_company.Text='')or(edt_duty.Text=''))thenbeginMessageBox(Handle,'内容填写不正确!','信息',MB_ICONEXCLAMATION); exit;end;Student:=TStudent.Create;Student:=Control_StudentU.GetStudentByStudentNo(self.edt_stdNo.T ext);ifStudent=nilthenbeginMessageBox(Handle,'学号填写不正确!','信息',MB_ICONEXCLAMATION);edt_stdNo.SetFocus;exit;end;Company:=TCompany.Create;Company:=Control_CompanyU.GetCompanyByName(self.edt_company.Text );ifCompany=nilthenbeginMessageBox(Handle,'单位填写不正确!','信息',MB_ICONEXCLAMATION);edt_company.SetFocus;exit;end;Employ:=TEmploy.Create;Employ.stdNo:=Student.stdNo;panyID:=Company.id;Employ.duty:=self.edt_duty.Text;Employ.date:=DateToStr(self.DTP_date.Date);if(Control_EmployU.AddEmploy(Employ))thenbeginMessageBox(Handle,'添加成功!','信息',MB_ICONASTERISK); //刷新内容FillData;ifself.DBGrid_info.Fields[0].IsNullthenbeginself.edt_stdNo.Tag:=0;//保存idself.edt_stdNo.Text:='';self.edt_company.Tag:=0;self.edt_company.Text:='';self.edt_duty.Text:='';self.DTP_date.Date:=now;endelsebeginself.edt_stdNo.Tag:=self.DBGrid_info.Fields[0].Value; self.edt_stdNo.Text:=self.DBGrid_info.Fields[5].Value; self.edt_company.Text:=self.DBGrid_info.Fields[2].Value;; self.edt_duty.Text:=self.DBGrid_info.Fields[3].Value;; self.DTP_date.Date:=self.DBGrid_info.Fields[4].Value;; end;endelsebeginMessageBox(Handle,'添加失败!','信息',MB_ICONEXCLAMATION); exit;end;end;4.3就业记录管理运行结果(1)就业记录添加和查询结果(2)就业记录删除结果5课程设计总结毕业生就业信息管理系统的设计不仅可以提高管理人员的工作效率,便于工作人员对信息进行管理,同时也加强了信息的安全性和可靠性。