程序设计训练课程设计.docx

上传人:b****8 文档编号:29166846 上传时间:2023-07-21 格式:DOCX 页数:42 大小:138.98KB
下载 相关 举报
程序设计训练课程设计.docx_第1页
第1页 / 共42页
程序设计训练课程设计.docx_第2页
第2页 / 共42页
程序设计训练课程设计.docx_第3页
第3页 / 共42页
程序设计训练课程设计.docx_第4页
第4页 / 共42页
程序设计训练课程设计.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

程序设计训练课程设计.docx

《程序设计训练课程设计.docx》由会员分享,可在线阅读,更多相关《程序设计训练课程设计.docx(42页珍藏版)》请在冰豆网上搜索。

程序设计训练课程设计.docx

程序设计训练课程设计

 

经济管理学院

程序设计训练A

(二)课程设计

 

课程设计题目:

高等院校科研管理信息系统

专业班级:

信管101班

学生姓名:

张沛梅

学号:

100201138

指导教师:

李庆恒王玉恒陈军霞董绍辉

2013年1月18日

1.系统描述

1.1背景

某高等学校拟建立一套科研管理信息系统,实现对科研工作的信息化管理,要求系统对数据的存储完整,查询迅速,操作方便。

教职员工分属于各个学院下的系或行政机关,在学院的教职员工分属于不同的系,在行政机关的教职员工分属于不同的部门如教务处,人事处,财务处等。

各级单位均有单位名称,单位地址,电话等属性。

教职员工基本信息包括姓名,性别,出生年月,政治面貌,籍贯,毕业院校,所学专业,学历,学位,研究方向,联系电话等信息;教职员工的科研工作主要包括撰写论文,著作和承担课题的研究,发明创造等工作,其研究成果主要包括论文,著作,课题,专利四大类。

撰写的论文信息包括论文名称,所有作者姓名,出版刊物名称,刊号,时间,刊物级别(核心期刊,一般期刊,报纸杂志,会议论文),是否被三大索引收录等信息。

著作主要包括书名,出版社,出版时间,著作类别(专著、编著、教材、译著),字数,作者姓名及其分工等。

课题包括三个环节,立项,鉴定,获奖。

课题基本情况包括课题名称,编号,承担单位,合作单位,课题立项情况包括课题来源分为纵向(国家,省部,厅局,一般)横向(其他单位),课题性质(自然科学,软科学,社会科学等),还包括立项时间,完成时间,课题成员,经费等;鉴定包括鉴定时间,鉴定级别(国家,省部,厅局,一般),人员,成果等级(国际先进,国际领先,国内先进,国内领先)等;获奖包括获奖时间,级别(国家,省部,厅局),等级(一等奖,二等奖,三等奖),人员等。

专利包括专利号,名称,专利类型(发明,实用新型,外观设计等),授予时间,人员等。

每位教职员工会参与多项课题,论文,著作和专利。

每项科研也会有多人参加。

教职员工的科研工作成果评价和他参与科研的数量和质量都有关系。

根据科研参与人数的不同和该教职员工的排名不同,他可以获得相应的科研分数,所以科研的总体信息和各人的对应信息必须完整。

最终提供的数据模式可以使用户按照不同年份,人员,单位等各种口径进行查询及统计工作,要求信息完整,设计规范。

1.2目的和意义

目的是使教职员工科研管理工作更加的简捷,管理更加先进。

其意义是通过系统开发使学生更深入的理解相关编程知识,同时开发出有实际作用的系统,用实践带动学习积极性。

2.程序功能介绍

程序从登陆窗口进入,根据角色不同进入的主页不同。

当是用户登录时,进入到个人科研信息系统页面,在这个页面教职员工可以实现以下功能:

(1)查看个人的详细信息;

(2)修改个人的密码;

(3)可以进行参加论文,著作,课题,专利信息的录入;

(4)可以查询个人参加不同科研项目的基本信息与得分。

当是管理员登录时,进入到管理员的主页,可以实现以下功能:

(1)可以查看管理员自己的详细信息;

(2)修改个人密码;

(3)可以查看全部教职员工的登录密码;

(4)可以查看参加不同科研项目的详细情况,进行录入,删除,更新科研信息的操作;

(5)可以按时间段对不同项目进行时间检索,查看某个时间段某个项目的具体信息;

(6)对科研项目的评分规则进行修改。

3.系统实现

3.1开发环境

软硬件本系统适用于微型机,内存容量2G,应配备的外部设备有鼠标、键盘、显示器、主机等.软件环境MicrosoftVisualStudio2010和SQLserver2005.本系统的设计采用的是ASP.NET语言,在Windows7操作系统下MicrosoftVisualStudio2010和SQLserver2005软件环境下使用。

3.2程序调试情况

1、调试登陆窗口遇到的问题

在写登陆按钮的单击事件代码是出现了错误,此登陆功能是:

如果输入的职工号是管理员,就倒转到管理员的界面,如果输入职工号是用户,就跳转到用户界面。

因为没有写对代码,导致没有跳转正确。

解决方案:

if((Eid1!

=null)&&(paw1!

=null)&&(js1=="管¨¹理¤¨ª员¡À"))

{

Session["CurrentValue"]=user.Text;

Response.Redirect("LiuyiDefault2.aspx");

}

if((Eid1!

=null)&&(paw1!

=null)&&(js1=="用®?

户¡ì"))

{

Session["CurrentValue"]=user.Text;

Response.Redirect("LiuyiDefault.aspx");

}

2.调试按时间检索参加各项项目的具体情况出现的问题

如上图,我以论文时间检索为例,时间检索论文的详细情况,需要调用数据库的存储过程。

但是起初没有调用,导致检索不出结果。

解决方案:

myCommand.CommandText="time_select_Eplw";

SqlParameterparInput=myCommand.Parameters.Add("@time1",SqlDbType.DateTime);

parInput.Direction=ParameterDirection.Input;

parInput.Value=Convert.ToDateTime(DropDownList1.Text+"/"+DropDownList2.Text+"/"+DropDownList3.Text);

SqlParameterparInput2=myCommand.Parameters.Add("@time2",SqlDbType.DateTime);

parInput2.Direction=ParameterDirection.Input;

parInput2.Value=Convert.ToDateTime(DropDownList4.Text+"/"+DropDownList5.Text+"/"+DropDownList6.Text);

3.调试评分规则管理时出现的问题

如上图,以著作评分规则修改为例,要修改评分规则需要查询出数据库中原始的评分,但是在查询单击事件的代码没有写对,执行了很多次都没有成功。

解决方案:

SqlConnectionmyCon=null;

SqlCommandmyCom=null;

try

{

stringmyConStr="DataSource=S-PC;InitialCatalog=KYGLSystem;UserID=sa;password=sa";

myCon=newSqlConnection(myConStr);

myCon.Open();

stringsql="selectZZgradefromzz_sumwherezzlx='"+DropDownListZZjb.Text+"'";

myCom=newSqlCommand(sql,myCon);

SqlDataReaderresult=myCom.ExecuteReader();

if(result.Read())

{

TextBoxZZfz.Text=result["ZZgrade"].ToString();

}

}

catch(Exceptionoe)

{

Response.Write("数ºy据Y库a操¨´作Á¡Â失º¡ì败㨹"+oe);

}

finally

{

if(myCon!

=null)

{

myCon.Close();

}

 

3.3结论

本系统是高等院校教职员工科研管理信息系统,能够简单的处理个人科研信息,界面清晰,易于理解,操作简单方便。

用户可以进入用户界面查询个人参加项目的情况,修改密码,可以进行科研申报。

管理员通过进入管理界面查询各个项目的具体情况,可以对参加项目的人员或其他信息进行更新,删除等工作,管理参加人员。

管理员还可以根据需要更改各项目的评分规则。

但是还存在一些问题,不能做到按折线图或饼图的形式输出,也不能按报表的形式输出。

完善方案如下:

(1)应该做到用折线图或饼图输出各项目的情况;

(2)应该做到各个工能灵活使用。

4.结束语

通过做本次课程设计,我有很大的感受,也学到了很多的东西。

首先,我明白了自身所处的位置,我掌握的知识还很有限,在课程设计过程遇到很多问题,常常需要花很多时间去解决一个问题,这是因为没有充分掌握相关知识,这就需要我在课下多学习。

如果毕业后想从事这方面的工作,课余时间还应该多看看有关的知识。

另外,还应该在课余多做一些类似的系统,多接触这种做系统的练习,让自己对数据库和编程这方面做到熟练,总结出经验,以便于在以后做系统时能处理好,出现类似的错误能尽快的解决。

其次,我明白了自己在做界面和编写代码时还是做得不够好,还是经常出现错误,在编程方面的能力也还是十分有限的,不能灵活掌握课本的知识。

自己有不明白的问题时,应该尽快的询问老师或者参考其他资料。

自己编写代码时考虑问题还欠缺全面性,不能做到令人很满意。

最后,我明白了开发一个系统不是一朝一夕的事情,虽然三个星期的时间不算太长,但是也有很多其他的同学做的很好。

经过这次训练,自己要加油,下次能做得更好。

 

附录:

源代码清单

1.登陆页面

usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Collections;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

usingSystem.Data.SqlClient;

publicpartialclassdl:

System.Web.UI.Page

{

protectedvoidButtsure_Click(objectsender,EventArgse)

{

stringEid1=null;

stringpaw1=null;

stringjs1=null;

 

Stringsqlconn="DataSource=S-PC;InitialCatalog=KYGLSystem;UserID=sa;password=sa";

SqlConnectionmyConnection=newSqlConnection(sqlconn);

myConnection.Open();

stringsqlsel="selectEid,paw,jsfromdlwhereEid='"+user.Text+"'andpaw='"+paw.Text+"'";

SqlCommandmyCommand=newSqlCommand(sqlsel,myConnection);

SqlDataReaderresult=myCommand.ExecuteReader();

if(result.Read())

{

Eid1=result["Eid"].ToString();

paw1=result["paw"].ToString();

js1=result["js"].ToString();

}

if((user.Text==null)&&(paw.Text==null)){Response.Write("请?

输º?

入¨?

用®?

户¡ì名?

和¨ª密¨¹码?

ê?

ê?

ê?

");}

if((Eid1!

=user.Text)&&(paw1!

=paw.Text))

{

Response.Write("if(confirm('用®?

户¡ì名?

或¨°密¨¹码?

不?

正y确¨¡¤!

ê?

ê?

ê?

')){window.navigate('dl.aspx');}");

}

if((Eid1!

=null)&&(paw1!

=null)&&(js1=="管¨¹理¤¨ª员¡À"))

{

Session["CurrentValue"]=user.Text;

Response.Redirect("LiuyiDefault2.aspx");

}

if((Eid1!

=null)&&(paw1!

=null)&&(js1=="用®?

户¡ì"))

{

Session["CurrentValue"]=user.Text;

Response.Redirect("LiuyiDefault.aspx");

}

myConnection.Close();

}

protectedvoidButtonCZ_Click(objectsender,EventArgse)

{

user.Text="";

paw.Text="";

}

}

2.管理员界面

2.1管理员人员基本信息

usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Collections;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

usingSystem.Data.SqlClient;

publicpartialclassglyJbxinix:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

Stringsqlconn="DataSource=S-PC;InitialCatalog=KYGLSystem;UserID=sa;password=sa";

SqlConnectionmyConnection=newSqlConnection(sqlconn);

myConnection.Open();

SqlCommandmyCommand=newSqlCommand("selectEmployee.*,Section.Sname,Department.DnamefromEmployee,Section,DepartmentwhereEmployee.Eid='"+Session["CurrentValue"]+"'andSection.Sid=Employee.SidandDepartment.Did=Section.Did",myConnection);

SqlDataReadermyReader;

myReader=myCommand.ExecuteReader();

if(myReader.Read())

{

Label4.Text=myReader["Eid"].ToString();

Label2.Text=myReader["Ename"].ToString();

Label6.Text=myReader["Esex"].ToString();

Label14.Text=myReader["Sname"].ToString();

Label8.Text=myReader["Ebri"].ToString();

Label20.Text=myReader["Esxzy"].ToString();

Label10.Text=myReader["Emm"].ToString();

Label12.Text=myReader["Ejg"].ToString();

Label18.Text=myReader["Ebyxy"].ToString();

Label16.Text=myReader["Dname"].ToString();

Label22.Text=myReader["Exw"].ToString();

Label24.Text=myReader["Exl"].ToString();

Label26.Text=myReader["Eyjfx"].ToString();

Label28.Text=myReader["Etel"].ToString();

}

myReader.Close();

myConnection.Close();

}

}

2.2管理员密码修改

usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Collections;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

usingSystem.Data.SqlClient;

publicpartialclassglymima1:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

}

protectedvoidButton1_Click(objectsender,EventArgse)

{

SqlConnectionmyCon=null;

SqlCommandmyCom=null;

SqlDataReaderresult=null;

SqlCommandcomm=null;

stringpaw1=null;

try

{

stringmyConStr="DataSource=S-PC;InitialCatalog=KYGLSystem;UserID=sa;password=sa";

myCon=newSqlConnection(myConStr);

myCon.Open();

myCom=newSqlCommand();

myCom.Connection=myCon;

stringoldmm=ysmm.Text.Trim();

stringnewmm=xmm.Text.Trim();

 

stringsqlsel="selectpawfromdlwhereEid='"+Session["CurrentValue"]+"'";

comm=newSqlCommand(sqlsel,myCon);

result=comm.ExecuteReader();

if(result.Read())

{

paw1=result["paw"].ToString();

}

if(paw1==ysmm.Text)

{

if(result!

=null)

{

result.Close();

}

//stringstrUpdate="UpdatestusetstuName='李¤?

芳¤?

',XyDm='02',ZyDm='0201'wherestuNum='091001'";

stringstrUpdate="Updatedlsetpaw='{0}'whereEid='{1}'";

stringsql=string.Format(strUpdate,newmm,Session["CurrentValue"]);

myCom.CommandType=CommandType.Text;

myCom.CommandText=sql;

myCom.ExecuteNonQuery();

Response.Write("alert('数ºy据Y库a内¨²容¨Y修T改?

成¨¦功|!

ê?

ê?

ê?

')");

}

else

{

if(result!

=null)

{

result.Close();

}

Response.Write("if(confirm('此ä?

原-始º?

密¨¹码?

与®?

数ºy据Y库a中D的Ì?

不?

符¤?

ê?

ê?

ê?

请?

重?

新?

输º?

入¨?

ê?

ê?

')){window.navigate('glymima1.aspx');}");

}

 

}

catch(Exceptionoe)

{

Response.Write("数ºy据Y库a操¨´作Á¡Â失º¡ì败㨹"+oe);

}

finally

{

if(myCon!

=null)

{

myCon.Close();

}

}//try结¨¢束º?

 

}

protectedvoidButton2_Click(objectsender,EventArgse)

{

Response.Redirect("LiuyiDefault2.aspx");

}

3.用户密码修改代码(同管理员密码修改的代码)

usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Collections;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1