摘 要: 采用Browser/Server技术模式,设计了毕业生就业管理系统。前台使用ASP.NET开发技术,后台使用Microsoft SQL Server 2008数据库开发技术。系统由学生子系统和管理员子系统两大模块组成。
关键词: 毕业生;就业信息管理;B/S模式;信息平台
随着计算机、网络与通信技术的快速发展,信息化已成为当今社会不可阻挡的发展趋势,信息化程度的高低是一个国家、社会现代化程度的重要标志,信息的处理与利用能力是一个国家经济发展水平与科学技术水平的衡量标准。
“毕业生就业信息管理系统”以现代网络技术为依托,把高校、用人单位、毕业生三者有机结合,发挥了网络信息传递的优势,加快了用人单位与毕业生间的招聘进程,同时学校通过用人单位情况介绍、需求信息发布、毕业生就业动态分析、有关规定的公布等信息传递,更好地使用人单位与毕业生间的联系得到进一步加强,发挥了学校对毕业生的就业指导与服务功能[1]。
1 系统开发原则和目标
1.1 系统开发原则
(1)面向用户的观点
毕业生管理系统是为学校管理员和在校学生开发研制的,他们是系统的用户,也是系统的最终使用者和评价者,所以在本系统的设计开发过程中,树立了从用户的需求出发,面向用户,一切为了用户的理念。在分析与设计系统的前期,与学生和管理员沟通,了解他们的要求,同时结合计算机管理的特点,努力改进和提高管理工作的速度和质量。
(2)严格按阶段进行
毕业生管理系统的设计开发是一项比较大的工程,所以本文将整个系统的开发设计过程划分为若干阶段,相应的阶段又分为若干个不同的步骤,每个阶段和步骤都要有明确的工作任务和目标。这种做法有利于软件有计划、有目的地进行开发,为后续工作的进行奠定了坚实的基础,提高了工作效率和质量。
(3)采用模块化设计方法
采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。并且模块化使软件容易测试和调试,从而有助于提高软件的可靠性。由于系统改动往往只涉及少数几个模块,因此模块化还能够提高软件的可修改性。综上优点,本系统在设计开发时采用了模块化原理[2]。
(4)整个系统的设计主要采用快速原形法
快速原形法是管理系统设计的一个重要方法。它是根据用户提出的需求,由用户和开发者共同确定系统的基本要求和主要功能,并在一个较短的时间内建立一个实验性的、简单的信息系统模型,通过用户不断提出的意见和建议,对模型进行不断的修改和完善,直到用户比较满意为止,以便形成一个相对稳定、较为理想的管理系统。本系统设计开发时采用了快速原型法。
1.2 系统开发目标
本系统的主要开发目标是符合毕业生就业管理需要的实用性,实现学校管理毕业生工作的计算机化和效率化,实现学校对就业信息的及时管理,提高工作效率和工作质量。
2 系统总体设计
2.1 系统开发的环境
本系统使用ASP.NET技术进行开发。ASP.NET是一种已编译的、基于.NET的环境,在ASP.NET中,可以用任何与.NET兼容的语言(例如C#、Visual Basic.NET等)构造Web应用程序;而且,所有的ASP.NET应用程序都可以使用整个.NET Framework。ASP.NET技术具有如下特点[3]:(1)ASP.NET使用CLR语言(C#)编写的编译代码。(2)ASP.NET页面是由服务器端控件组成的。(3)ASP.NET包含一种称为WEB服务的新技术。(4)ASP.NET是MICSOFT的.NET框架的一部分。(5)ASP.NET包含了页面和数据缓存机制,使用它可以明显提高网站的性能。
本系统选用Microsoft SQL Server 2008来设计和开发数据库。SQL Server是Microsoft公司开发的一款关系型数据库管理系统[4],具有易上手、兼容性好、工具全等优点,适用于大型数据库服务器端,使用的是增强型T-SQL语言。SQL Server数据库能汇集各种信息以供查询、存储和检索,提供了视图、存储过程、触发器等对象以便于对数据的管理,并且其安全性机制较好。
本系统采用B/S技术模式,采用.NET架构的三层设计思想,以Microsoft SQL Server 2008来设计和开发数据库,选择可行的方案,合理安排开发过程。因此,该系统在技术上是可行的。
2.2 系统结构设计
本系统的主要用户分为两类:一类是学校中负责管理毕业生就业信息的教师;另一类是即将离开校园,走向工作岗位的应届毕业生。根据该系统的面向人群,整个系统可以分为管理员子系统和学生子系统[5]。
管理员子系统主要为负责管理毕业生就业信息的教师所设计,方便教师登录系统,管理学生信息、企业信息和招聘信息。
学生子系统主要为毕业生所设计,方便毕业生登录系统,查看个人信息和企业信息,搜索招聘信息并申请工作。
系统的总体结构如图1所示。
其中,学生子系统结构如图2所示。
根据E-R图,各实体具体关系模式为:
(1)管理员信息表(管理员账号,密码);
(2)学生信息表(学号,密码,姓名,性别,年龄,年级,专业);
(3)公司信息表(公司代码,名称,类型,所在地,联系方式,详细信息);
(4)招聘信息表(信息代码,标题,所属公司,发布时间,具体信息,邮箱);
(5)学生工作信息表(学生学号,学生姓名,招聘信息ID,招聘所属公司)。
根据E-R图和关系模式,为本系统建立名为“GraduateManagementSystem”的数据库,并在该数据库中建立5个表:管理员信息表(Administrator),学生信息表(Student),公司信息表(Company),招聘信息表(Recruitment)和学生工作信息表(StudentJob)。本设计中用到的关系表及其结构如下。
(1)管理员信息表
管理员信息表保存了管理员登录时的用户名和密码。具体描述如表1所示。
3 系统实现
系统的登录界面为Login.aspx页面,用户登录需要验证用户输入的用户名、密码和验证码是否正确,从而允许或禁止用户登录。登录用户分为学生用户和管理员用户。如果填写信息全部正确,用户则可以进入对应系统。
3.1 学生子系统的设计与实现
学生子系统页面为Student.aspx页面,当登录用户为学生并且登录成功时,便会进入学生子系统页面。在学生子系统主页面中可以查看相关的“学生信息”、“公司信息”和“招聘信息”。
由于招聘信息数量众多,学生可以按ID搜索或者按内容搜索自己需要的招聘信息,从而方便了学生对招聘信息的查询。当学生在查询招聘信息的过程中想申请某份工作时,便可通过点击相应行的“申请”来向公司发送邮件。
当学生申请工作时,系统会自动查询数据库从而查询出招聘信息所属公司的邮箱地址,并将此地址作为收件人地址,不能更改。并且学生还可以通过点击“选择文件”按钮来上传自己的简历,作为附件发送给其申请的公司。当学生填写信息完毕后,可以点击“发送”按钮来发送邮件,并且系统会自动更新“StudentJob”数据表。
在学生子系统主页面中点击“修改密码”超链接时,学生在此页面可以修改自己的登录密码。如果旧密码填写正确并且两次新密码一致,则会成功修改密码,提示“密码修改成功”的信息,并且系统会自动更新数据表“Student”中对应学生的“stuPwd”这一项。
3.2 管理员子系统的设计与实现
管理员子系统页面为Admin.aspx页面,当登录用户为管理员并且登录成功时,便会进入管理员子系统页面。在该页面中,管理员可以查看按学号排序的学生信息,并且可以将学生信息导出到Excel文件中。
在管理员子系统主页面中管理员还可以进行“添加学生”,“删除学生”,“发布招聘信息”和“关闭招聘信息”等操作。
4 关键技术的讨论
4.1 “招聘信息”搜索功能的实现
为了方便学生对招聘信息的查询,在学生子系统“招聘信息”页面中添加了搜索功能,可以按ID搜索或者按内容搜索。对于搜索功能的实现,主要是写出对应的数据库查询语句,核心代码如下:
(1)按ID搜索核心代码
int recID=Convert.ToInt32(txtSearch.Text);
string cmdSearchID="select*from Recruitment where recID="+recID;//数据库查询核心语句
SqlDataAdapter myAdapter=new SqlDataAdapter(cmdSearchID,conn);
myAdapter.Fill(mySet,"Recruitment");
GridView1.DataSourceID=null;
GridView1.DataSource=mySet.Tables["Recruitment"];
DataTable table=mySet.Tables["Recruitment"];
int count=table.Rows.Count;
if(count>0)
{
GridView1.DataBind();
}
else
{
ShowSQL();
ClientScript.RegisterStartupScript(GetType(),"","<script>alert(′没有查询到相关信息!′);</script>");
(2)按内容搜索核心代码
string content=txtSearch.Text;
string cmdSearchAll="select*from Recruitment where recTitle like′%"+content+"%′"+"or recComName like′%"+ content+"%′"+"or recDate like ′%"+content+"%′"+"or recInf like′%"+content+"%′";//数据库查询核心语句
4.2 数据导出功能的实现
学生子系统中,学生用户可以将公司信息导出到Excel文件中,然后由浏览器默认下载工具下载,保存在相应位置。
管理员子系统中,管理员可以查看按学号排序的学生信息,并且可以将学生信息导出到Excel文件中。
表格导出到Excel文件核心代码如下所示:
protected void btnExport_Click(object sender,EventArgs e)
{
GridView1.AllowPaging = false;
GridViewBind();
Response.Clear();
Response.Buffer=true;
Response.Charset="GB2312";
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=GB2312>");
Response.AddHeader("content-disposition", "attachment;filename=stuViewCompanyInf.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType="application/excel";
this.EnableViewState = false;
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.Flush();
Response.End();
GridView1.AllowPaging = true;
GridViewBind();
}
4.3 系统安全性的考虑
本系统通过Session[“uesrRole”]来保存用户的角色信息。并且在本系统的每个页面的Page_Load方法中,都添加了对Session[“uesrRole”]值的检测,如果Session[“uesrRole”]的值为0(代表学生)或者1(代表管理员),则可以进入其对应的界面,否则提示“您无权访问此页面,系统即将返回登录页面!”的信息,并且系统将自动跳回登录页面[6]。
本毕业生就业管理系统为毕业生提供了一个便捷、可靠的信息平台,有利于学校更好的对大学生进行就业管理和指导。在操作方面,采用纯B/S架构开发,客户端不用安装任何软件,这将为客户节省大量的系统安装和维护时间;在安全性方面,基于SQL Server企业级数据库和.NET技术实现,可高效管理、处理大批量的数据。采用基于角色的权限管理机制,让管理人员可轻松定义各种角色和权限,保证系统访问的安全性。不过,系统还存在着一些缺陷,如页面并没有采用CSS布局,统计类型的功能较少等,这将是下一步的工作重点。
参考文献
[1] 郑文曦,吴敏.高校就业信息系统的开源平台解决方案[J].现代教育技术,2011,21(4):148-150.
[2] 邵良杉,刘好增,马海军,等.ASP.NET(C#)实践教程[M].北京:清华大学出版社,2007.
[3] 王院峰.ASP.NET 3.5实例精通[M].北京:机械工业出版社,2009.
[4] 钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:清华大学出版社,2009.
[5] 朱建炜.毕业生就业管理系统的开发与应用[J].长沙通信职业技术学院学报,2011,10(1):43-47.
[6] 刘乃丽.精通ASP.NET 2.0+SQL Server 2005项目开发[M].北京:人民邮电出版社,2007.