大学生兼职系统设计课程设计说明书大学论文.doc
课程设计说明书 NO. 25大学生兼职系统设计1课程设计的目的SP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。作为大学生,走出校门接触社会,了解社会,做兼职是一个很好的途径,一来可以锻炼自己,提高自己的能力,二来可以减轻家里的一些负担。但目前兼职信息良莠不齐,中介公司通过介绍兼职从中牟取暴利,不仅如此,很多企业更是利用大学生涉世未深,分辨能力不强,骗取劳动力。大学生兼职系统的目的是对企业和学生进行双向选择,让学生通过系统选择自己喜欢的企业,企业也可以通过系统选择自己所需要的学生。2设计方案论证2.1需求描述企业负责人能对企业相关信息进行管理,填写企业信息、职位需求信息、返回招聘结果。学生能对学生相关信息进行管理,填写学生信息、兼职搜索、发布求职信息并查看招聘结果,还可通过系统对企业进行评价。系统管理员通过评价对企业采取相应的措施。2.1.1 数据流图系统中的外部实体包括企业负责人、学生两类用户。企业负责人输入的数据流包括:企业信息、职位需求信息、招聘结果信息。系统输出给企业负责人的数据流包括:学生信息、简历信息、求职信息、评价信息。学生输入的数据流包括:学生信息、简历信息、求职信息、评价信息。系统输出给学生的数据流包括:企业信息、职位需求信息、教师信息、招聘结果信息。系统的环境图如图1所示: 招聘结果信息 企业信息 企业信息 大学生兼职系统 招聘结果信息学生企业 学生信息 学生信息 简历信息 简历信息 图1系统环境图(顶层图、0层图)对系统中的数据流进行分类,可以认为企业信息、简历信息、学生信息为系统的基础数据,求职信息、职位需求信息和招聘结果信息为系统的招聘信息,评价信息为系统的反馈信息。因此,可以把系统划分为基础数据管理、招聘管理和反馈管理三个子加工。系统的一层数据流图如图2所示。基础数据管理企业信息 企业信息 学生信息简历信息企业负责人 企业信息 学生信息简历信息 招聘结果信息 学生求职信息招聘结果信息 学生信息 评价信息 招聘管理 招聘结果信息反馈管理图2系统一层图基础数据管理又可以分为企业信息管理、学生信息管理和简历信息管理,加工1基础数据管理对应的二层数据流图如图3所示。企业信息管理 企业信息 企业信息简历信息管理企业负责人学生 简历信息 简历信息 学生信息管理 学生信息 学生信息 图3 加工1基础数据管理的二层数据流图招聘管理包括求职信息填报、职业需求填报、招聘结果查询三部分,对应的二层数据流图如图1-4所示。求职信息填报 求职信息 求职信息 简历信息 简历信息学生企业负责人 兼职招聘 招聘结果信息 招聘结果信息招聘结果图4加工2招聘管理的二层数据流图反馈管理包括评价信息管理,对应的二层数据流图如图5所示。企业学生评价反馈 评价信息 评价信息图5加工3反馈管理的二层数据流图2.1.2数据字典系统中包括的数据流有:企业信息、简历信息、学生信息、求职信息、职业需求信息、招聘结果信息和评价信息。企业信息数据流名:企业信息。简述:描述企业相关信息。组成:企业名称+企业介绍+企业负责人+企业所在地+成立年份+联系电话。来源:由企业负责人输入去向:加工企业信息管理流通量:小峰值:小学生信息数据流名:学生信息。简述:描述想获得兼职的具体学生。组成:学号+姓名+年龄+性别来源:由学生自己输入去向:加工学生信息管理流通量:大峰值:小简历信息数据流名:简历信息。简述:描述学生的简历。组成: 学号+学生姓名+专业+特长及兴趣爱好+计算机能力+奖惩情况+自我评价。来源:由学生自己输入去向:加工简历信息管理流通量:大峰值:招聘结果信息数据流名:招聘结果信息。简述:描述招聘情况。组成:学生学号+学生姓名+企业+职业+工作地址+薪金。 来源:由企业进行输入,学生可查看去向:学生招聘结果 流通量:中峰值:小用户信息数据流名:用户信息。简述:用户账号信息。组成: 编号+账号+密码+密码类型来源:由用户进行输入去向:反馈管理 流通量:小峰值:小2.1.3加工规格说明系统包括的最底层加工有:企业信息管理、简历信息管理、学生信息管理、求职信息管理、职业需求信息、招聘结果查询和反馈管理。(1)企业信息管理添加、修改和删除企业信息,由企业负责人、学生使用(2)学生信息管理添加、修改和删除学生信息,由学生、企业使用(3)简历信息管理添加、修改和删除简历信息,由学生使用(4)招聘结果企业负责人可以添加、修改、删除招聘结果,学生可以查询自己的招聘结果。(5)账号管理用户可对账号信息进行修改2.2概要设计2.2.1体系结构设计大学生兼职系统系统权限管理基础数据管理反馈管理招聘管理简历信息管理企业信息管理学生信息管理评价信息管理求职信息管理职业需求信息管理招聘结果管理图6 系统体系结构2.2.2数据库设计(1)实体关系图企业信息、学生信息、简历信息、求职信息、职业需求信息、招聘结果信息和评价信息。学生 1 1填写填写发布反馈 n n 评价信息简历信息求职信息学生信息 招聘 m企业 1 1 1 发布填写发布 1 n n职业需求信息招聘结果信息企业信息 图6实体关系图(2)数据库表设计数据库表包括企业信息表companyInfo 、学生信息表StudentInfo、简历信息表StudentResume、招聘结果信息WorkResult-建表代码-use Stu_P_T_WebCREATE TABLE CompanyInfo(companyName varchar(50) primary key,companyPerson varchar(50),companyIntrodue text,guoyou int,tableID bigint identity)CREATE TABLE StudentPersonalInfo(studentID int primary key,studentName varchar(50),sex int,year int,tableID bigint identity)CREATE TABLE StudentResumInfo(studentID int primary key,studentName varchar(50),sex int,year int,Profession varchar(100),Speciality varchar(100),Reward varchar(100),tableID bigint identity)CREATE TABLE Users(U_ID int primary key,U_Name varchar(50),U_Password varchar(10),U_Type int)CREATE TABLE WorkResult(studentID int primary key,studentName varchar(50),companyName varchar(50),Position char(10),salary int,tableID bigint identity)(3)数据表表1企业信息表companyInfo字段名中文名数据类型长度备注companyName企业名称nvarchar50主键companyPerson企业负责人nvarchar50companyIntrodue企业介绍Text100Guoyou是否国有nvarchar50TableID序号Int8表2学生信息表StudentInfo字段名中文名数据类型长度备注studentID学号Char12主键studentName姓名nvarchar4Age年龄Int3sex性别BitTableID序号Int8表3学生简历表 StudentResume字段名中文名数据类型长度备注StudentId学号Char12主键StudentName学生姓名nvarchar10Profession专业Nvarchar10Speciality特长Text100Reward所获证书nvarchar50TableID序号Int8表4 招聘结果信息表WorkResult字段名中文名数据类型长度备注studentID学号Char12主键StudentName学生姓名nvarchar10position职业nvarchar8Company公司nvarchar8salary薪金Int8TableID序号Int8表5账号信息表users字段名中文名数据类型长度备注U_ID编号Char12主键U_Name用户名nvarchar10U_Password密码nvarchar8U_Type类型Nvarchar83设计结果与分析3.1登录界面选择用户类型并输入用户名和密码进行登录,如图7。图7 登录界面3.2修改公司信息登陆成功,可添加修改公司信息,如图8。图8 修改公司信息3.3公司信息查询进行修改公司信息,输入公司名称,如图9。图9 信息查询3.4学生查询输入学号进行学生简历建立查询,如图10。图10学生查询3.5负责人添加录用信息负责人添加录用信息,如图11。图11 添加信息3.6修改个人信息可进行添加修改个人信息,如图12。图12修改信息3.7个人信息管理输入学号、姓名、年龄、性别进行个人信息管理,如图13。图13信息管理3.8公司查询输入公司名称进行公司信息查询,如图14。图14公司查询3.9简历信息输入学号等信息,填报简历信息,如图15。图15简历信息3.10学号查询输入学号,进行录用情况查询,如图16。图16学号查询4设计体会经过短短一个星期的课程设计,我深深体会到计算机的有用之处;也意识到自己在计算机上有很多不足。利用我们所学的SQL数据库和ASP.NET结合,做一个大学生兼职系统。在老师精心的指导下我主要对SQL Server数据库、ASP.NET等操作有了很好了解,从而完成了这项工作。虽然我们是计算机专业,但是,我们对计算机的认识和理解,基本上都是理论方面的。没有很好的实际应用能力。一直忙于理论知识的学习,没能有机会放开课本,真正将理论与实践相结合,所以在实训之前,计算机对我们来说是比较抽象的,但通过这次实训,我们切身体会到所学知识的有用之处。实践离我们不再遥远!据我了解,对于我们所学的计算机知识渗透较少,之前都是老师操作为主。此次实训就不同了,同学们都作了充分准备,在活动中同学们都积极来机房,每位同学都认真的发现问题、解决问题。5 参考文献1丁贵广.ASP编程基础与实例M.北京:机械工业出版社,20122彭万波,景丽,周宏敏.ASP开发基础与范例M.北京:电子工业出版社.20133 志凌团队,陈世明,江高举. ASP从入门到精通M .北京:中国铁道出版社,20134张健沛.数据库原理及应用系统开发M.北京:水利水电出版社,2012:203-2865黄梦.Dreamweaver MX完全征服手册M.北京中国青年出版社,2013:82-4526李劲.精通ASP数据库程序设计M.北京:科学出版社,20137廖信彦.ASP应用经典:Web高级技巧M.北京:中国铁道出版社,2012:112-2348 Charels C.Caison ,陈君翻译. ASP.net程序员查询词典M.北京中国铁道出版社. 20139吴明辉, 胡煜,窦亮.ASP网络办公及商务应用系统开发实例导航M.北京:人民邮电出版社.201310李瑞旭. ASP实例教程M.北京:中国电力出版社,2012:360-410附录:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) int type; if (RadioButtonList1.SelectedValue = "学生") type = 1; else type = 0; string name = username.Text.ToString(); string pwd = password.Text.ToString(); BLL.Users eu = new BLL.Users(); string regs = "'", "<", "/*", "<script>", "-", "create", "alter", "revoke", "deny", "<html", "<flash", "javascript", "vbscript", "activex", "grant", "drop", "union", "db_name(" ; for (int i = 0; i < regs.Length; i+) if (name.IndexOf(regsi) != -1 | pwd.IndexOf(regsi) != -1) Page page = (Page)HttpContext.Current.CurrentHandler; page.ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('用户名或密码不能使用特殊字符!')", true); return; string uid = eu.SelectUser(type, name, pwd); if(uid!="") if (Session"uid" != "") Session"uid" = "" Session"uid" = uid;/学生的uid为学生学号 Session"type" = type; Session"UserName" = name; Session"UserType" = type; if(type=0) Response.Redirect("Company/AddCompanyInfo.aspx"); else Response.Redirect("Student/StudentPersonal.aspx"); else Page page = (Page)HttpContext.Current.CurrentHandler; page.ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('用户名或密码错误')", true); protected void Button2_Click(object sender, EventArgs e) username.Text = "" password.Text = "" using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;public partial class student_CompanyResearch : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) /获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。 /sex();/该函数绑定DDL_Year下拉菜单的数据 GridViewBind();/该函数绑定GridView的数据 protected void GridViewBind() BLL.CompanyInfo studentInfo = new BLL.CompanyInfo();/新建BLL.ClassInfo类 studentInfo studentIpanyName = companyName.Text; DataTable dt = studentInfo.GetTable();/通过studentInfo.GetTable()函数获取GridView的数据 gv1.DataSource = dt; gv1.DataBind();/GridView数据绑定 /protected void sex() / / sex.Items.Clear(); / BLL.StudentPersonalInfo studentInfo = new BLL.StudentPersonalInfo(); / DataTable dt = studentInfo.GetYearTable();/通过该函数获取班级信息中的不同年度信息表 / sex.DataSource = dt; / sex.DataTextField = "sex"/绑定的内容是表中year字段的值 / sex.DataBind();/DDL_Year绑定数据 / sex.Items.Insert(0, ""); / protected void search_Click(object sender, EventArgs e) GridViewBind(); protected void gv1_PageIndexChanging(object sender, GridViewPageEventArgs e)/换页功能 gv1.PageIndex = e.NewPageIndex; GridViewBind(); /protected void ContactsGridView_RowCommand(Object sender, GridViewCommandEventArgs e)/gridview 按钮点击事件 / / string tableID = e.CommandArgument.ToString(); / if (e.CommandName = "修改") / / Response.Redirect("CompanyInfo.aspx?tableID=" + tableID); / / else /删除 / / BLL.StudentPersonalInfo stu = new BLL.StudentPersonalInfo(); / stu.Delete(tableID); / GridViewBind(); / ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('删除成功!')", true); / / /protected void add_Click(object sender, EventArgs e) / / Response.Redirect("CompanyInfo.aspx"); /using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;public partial class student_StudentPersonal : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if(!IsPostBack) /获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。 /sexbind();/该函数绑定DDL_Year下拉菜单的数据 if (Request"tableID" != null) string tableID = Request"tableID".ToString(); HF_tableID.Value = tableID; InitStudentPersonal(tableID); /protected void sexbind() / / sex.Items.Clear(); / BLL.StudentPersonalInfo cla = new BLL.StudentPersonalInfo(); / DataTable dt = cla.GetYearTable(); / sex.DataSource = dt; / sex.DataTextField = "sex" / sex.DataBind(); / protected void InitStudentPersonal(string tableID) BLL.StudentPersonalInfo cla = new BLL.StudentPersonalInfo(); DataTable dt=cla.GetTable(tableID); if (dt.Rows.Count > 0)/看是否有数据,没有数据则不加载 studentID.Text = dt.Rows0"studentID".ToString(); studentName.Text = dt.Rows0"studentName".ToString(); year.Text = dt.Rows0"year".ToString(); sex.SelectedValue = dt.Rows0"sex".ToString(); protected void submit_Click(object sender, EventArgs e) /为表中的每一个属性赋值 BLL.StudentPersonalInfo cla = new BLL.StudentPersonalInfo(); cla.tableID = HF_tableID.Value; cla.studentID = studentID.Text; cla.studentName = studentName.Text; cla.year = year.Text; cla.sex = sex.SelectedValue; if (HF_tableID.Value != "")/null和“”不一样 /修改 if (cla.Update() ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('修改成功!')", true else /添加 if(cla.Insert() ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('添加成功!')", true); Response.Redirect("StudentPersonalInfo.aspx");