1、学生档案查询系统论文学生档案查询系统摘要:高校学生档案管理是高校日常管理的一个重要组成部分,其管理效率的高低直接影响着整个学校的管理工作。为方便学生的管理工作,遂开发此系统。此系统包括对学生的基本信息管理,成绩管理,课程管理。采用目前流行的Visual C+, Access数据库作为主要开发工具。查询系统由系统用户管理模块、课程管理模块、成绩管理模块和学生的基本信息管理模块这四个模块组成,四个模块的设计及查询界面主要在详细设计中体现出来,即本论文的主要侧重点。一、概述1. 背景介绍学生档案查询系统是一个教育单位必不可少的组成部分,它对于学校的管理来说至关重要。 在这个科学技术的不断提高,计算机
2、科学日渐成熟,且讲究高效率的社会,人工管理文件档案的方式就显得效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。这已远远不能满足学校和学生的需求。 所以作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情。2. 系统可行性分析 经济可行性研究本系统为小型开发系统,且开发系统的目的不是达到经济收益,而主要目
3、的是锻炼学生的动手能力,并注重小组成员之间的合作能力,达到小组成员整体水平的提高。故在经济上此系统的开发不会受到影响。对于开发过程中的所需的打印等费用自付。 技术可行性研究本软件的开发在技术方面采用visual C+和Access数据库相结合的方法来实现。使用此系统只需添置低档计算机,如果条件允许可添加打印机以便查询能方便打印成资料作为参考;对现有软件不会产生冲突,对使用的操作系统来说有很好的兼容性、稳定性。该系统软件界面清晰,整洁。功能一目了然,操作简单,容易上手,对于一般网络操作者都能胜任。3. 内容介绍本系统主要包括系统用户管理、学生的基本信息管理、课程管理、成绩管理和系统用户管理这4个
4、方面。 系统用户管理模块用于管理用户登陆时的用户信息,所包含的字段有:用户名、密码、身份。用户进入系统后,通过身份决定用户是有什么权限。学生的基本信息管理模块用于管理学生的基本信息,所包含的字段有:学号、姓名、性别、班级、专业、家庭住址、联系电话、身份证号等。课程管理模块用于管理课程的信息,所包含的字段有:课程号、课程名、本学期课程、任课教师、学分等。成绩管理模块用于管理学生的成绩,所包含的字段有:学号、课程号、学年、学期平时成绩、期末成绩、总评成绩、备注等。二、需求分析1. 用户需求本系统是针对高等院校的学生档案管理,因此此系统的用户主要包括系统管理员、教师和学生。主要涉及班级信息、学生信息
5、、课程信息和成绩等数据信息。实现的具体功能如下:系统用户管理系统管理员负责用不同的权限来限制不同用户对系统的使用。学生基本信息管理系统管理员对学生基本信息的录入、修改、删除等操作。学生成绩管理系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。学生课程管理系统管理员负责对学生选课情况进行录入、修改等操作。方便学生查看。以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。2. 一级数据流图如下图 三、系统详细设计1. 系统结构图2. 关键模块的设计系统用户管理模块char password7=888888;
6、 /*定义初始密码*/void main() /*主函数*/ int flag=0,i; /*标志项*/int n=3;do printf(Enter password:n);scanf(%s,s);if(!strcmp(s,password) /*进行密码匹配验证*/ printf(欢迎进入学生档案查询系统nnn);flag=1;break;elseprintf(Error Enter again:n);n-;while(n0);if(!flag)printf(you have Enter 3 times!); /*输入密码超过了3次!*/exit(0); /*自动退出*/ 学生的基本信息管
7、理模块#include #include #include #include / 字定义函数声明 /void Search(); /查找记录void Views(); /查看所有记录int check(char strID); /查找文件记录中已经存在的学生IDstruct student /学生信息(学号,姓名,性别,籍贯,电话,住址,民族); char ID10; char name10; char sex4;char nativePlace10;char phone13; char nation6;struct student stu;FILE *fp;/定义文件指针void main(
8、)int flag; while(flag!=7)printf(ntt 请选择您所要的操作 n); printf(tt1、查询记录 2所有记录列表n); printf(tt 按任意键退出 n); scanf(%d,&flag); switch(flag) case 1:Search(); /查找记录 getch();system(cls); break;case 2:Views(); /查看所有记录 getch();system(cls);break; default: exit(0); void Search()/ 查找数据 /if(fp=fopen(StudentMessage,rb)=N
9、ULL) /以只读方式打开StudentMessage文件printf(t文件打开失败!n);return; elsechar message10; /接收用户需要查找的信息 int i;long flength,offset; fseek(fp,0,SEEK_END); /将文件指针移文件尾 flength=ftell(fp)/sizeof(struct student); /得到文件中有多少条记录 printf(t请输入您要查找的学号:); scanf(%s,message);i=check(message); offset=sizeof(struct student)*i; if(fle
10、ngth=0) printf(t文件记录为空!n); return; else if(iflength) printf(tt查找失败,没有找到相应信息!n); return; else /输出查找到的内容 rewind(fp); fseek(fp,offset,SEEK_SET); fread(&stu,sizeof(struct student),1,fp); printf(学号:%s ,stu.ID);printf(姓名:%s ,stu.name); printf(性别:%s,stu.sex);printf(籍贯:%s ,stu.nation);printf(电话:%s,stu.phone
11、);printf(民族:%s,stu.native) fclose(fp);void Views() / 查看所有记录 /long flength; if(fp=fopen(StudentMessage,rb)=NULL) printf(文件打开失败!n); exit(1);fseek(fp,0,SEEK_END); /移动文件指针到文件尾 flength=ftell(fp)/sizeof(struct student); /得到文件中有多少条记录 if(flength=0) printf(文件中没有记录!); return; rewind(fp); /将文件指针移动到文件头printf(tt
12、t所有记录列表nn);while(!feof(fp)fread(&stu,sizeof(stu),1,fp); if(strcmp(stu.ID,)!=0) /检测文件中的空字符串,如果不是空字符则输出 printf(学号:%s ,stu.ID);printf(姓名:%s ,stu.name); printf(性别:%s,stu.sex);printf(籍贯:%s ,stu.nation);printf(电话:%s,stu.phone);printf(民族:%s,stu.native) fclose(fp); 课程管理模块void CPageCho:Query() variant_t var,
13、varCou,varStu; CString str; /定义变量/更新控件变量的值 UpdateData(true);if(m_SID = 0 | m_CID = 0)MessageBox(学号和课程号一个也不能为空!);return;try m_pRecordset-MoveFirst(); while(!m_pRecordset-adoEOF) varCou = m_pRecordset-GetCollect(CID); varStu = m_pRecordset-GetCollect(SID); /所以查询时必须满足学号和课程号同时吻合才行 if(m_CID = varCou.iVal
14、 & m_SID = varStu.iVal) var = m_pRecordset-GetCollect(CID); if(var.vt != VT_NULL) m_CID = var.iVal;var = m_pRecordset-GetCollect(SID); m_SID = var.iVal;var = m_pRecordset-GetCollect(IsPass); if(var.vt != VT_NULL) m_IsPass = var.iVal;var = m_pRecordset-GetCollect(Score); m_Score = var.iVal; UpdateDat
15、a(false);break; else m_pRecordset-MoveNext();if(m_pRecordset-adoEOF)MessageBox(该生没有选这门课程!);Elseprintf(%st%st,coursenamem_SID,coursehaom_SID, courseteacherm_SID); 成绩管理模块void score(void)int s,n,t;for(n=0;n32;n+) if(studentsn.id!=0) printf(学号:%d 姓名:%s 成绩:,studentsn.id,studentsn.name); for(n=0;n32;n+) i
16、f(INDEXn!=-1) x=INDEXn; printf(%dt%st,studentsx.id,studentsx.name); printf(%dt%dt,studentsx.age,studentsx.chinese); printf(%dt%dt,studentsx.math,studentsx.english);printf(%dn,studentsx.chinese+studentsx.math+studentsx.english); 3. 数据库设计本数据库采用SQL Server 2000来构造,主要产生了3个表,分别为学生基本信息表,课程信息表,教师授课信息表。表如下:
17、学生基本信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2sname姓名varchar10N3ssex性别Char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份证号varchar20N7birthplace籍贯varchar10N8homeaddr家庭住址varchar30N课程信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2cname课程名varchar15N3credit学分smallintN老师授课信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2tno教工号char1
18、0Y3ctime课时smallintN四、系统原型的开发1. 系统目标在前台主界面上显示数据库中存在的学生的基本信息,由特定权限的管理员或者用户登入后通过按钮或菜单对学生的基本信息、成绩、选修课程进行登入,修改,查询,删除等功能。2. 开发环境操作系统:Windows XP/Windows NT Server 4.0开发平台:Visual C+ 6.0数据库:Access数据库查询语言:SQL Server 2000五、总结与展望经过三个多月的设计和开发,学生档案管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及各类相关报表的打印。并提供部分系统维护功能,使用
19、户方便进行数据备份和恢复、数据删除,对于数据的一致性的问题也通过程序进行了有效的解决。 但是由于课题设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。六、学习软件工程这门课程的总结与体会通过一学期的软件工程理论的学习和自己组队完成的学生档案查询系统,使我对这学期软件工程这门课中所学的知识有了全面的认识,知道了制作软件系统的大致流程和开发系统过程中的重要事项,进一步的了解了如何去分析和处理问题,应该说软件工程的范畴已经远远不止局限于该门课程,而是一个综合的一个能够解决问题的思想集合。在参与完成该系统时,我再一次
20、回顾了C+语言编程,熟悉了Access数据库,对于SQL Server 2000数据库查询语言也有了一定的了解。在完成此系统后,我发现理论和实践之间还是存在一定的差距的,要把理论知识灵活运用于实践才是最好的。开发系统时团队的合作精神也至关重要,小组成员之间一定要配合的好,不然就会出现诸如详细设计中的模块与需求分析中所需要的不合,对于同一模块的代码这详细设计中和界面设计中完全不一样等诸如此类的问题;也只有这样才能减小开销和精力,增大开发成功的概率。在开发系统时也不能带入太多的个人色彩,不然就会出现与原来制定系统目标时有出入。总的来说,这门课实行理论与实践相结合的机制让我从新学会了很多东西,对于今后如果我从事计算机方面的工作有一定的帮助。【参考文献】1 齐志昌,谭清平,宁洪. 软件工程. 北京:高等教育出版社,1997.2 李代平. 软件工程(第二版). 北京:冶金工业出版社,2006. 3 张海藩. 软件工程导论(第三版). 北京:清华大学出版社,1998.4 张海藩. 软件工程(第三版). 北京:人民邮电出版社,2006.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1