学生学籍管理系统课程设计报告
学生学籍管理系统课程设计报告
学生学籍管理系统1.问题描述随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。
在各大中小学校,用计算机管理学校的信息已经越来越普遍了。
用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性,提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
该课程设计要求设计一个学籍管理的数据库系统,数据库中包含学生的基本信息,学校院系信息,班级信息以及课程设置的信息。
同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。
而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。
我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
1.1系统功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
本系统需要完成的功能主要有:●院系管理,包括院系的查询、插如、编辑。
●班级管理,包括班级的查询、插如、编辑、人数的管理等。
●课程管理,包括课程的查询、插入、编辑。
●学生信息查询管理,包括学生基本信息的查询如学号、年龄、所属班级、所属院系、民族、籍贯等。
●学生学籍管理,可根据院系来查看学生的基本信息,还可对学生进行查询、编辑、删除等操作。
●学生注册管理,提供给系统学生的基本信息,如学号、年龄、所属班级、所属院系、籍贯、政治面貌等。
●成绩录入管理,登记学生的每门课程的成绩。
●成绩查询管理,提供给系统学生的学号从而查询出学生在校期间每门课程的成绩。
学生学籍管理系统课程设计报告
南昌大学信息工程学院课程设计报告书所属课程名称电子商务系统分析与设计题目学生学籍管理系统院(系)信息工程学院班级电子商务班组员指导教师2012年12月1日1.总体要求:(1)系统的意义与目标学生学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,但一直以来人们使用传统人工的方式管理学生学籍工作,这种管理方式存在着许多缺点。
随着科学技术的不断提高,计算机科学的日渐成熟,其强大的功能已经为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
MIS为计算机应用的一部分,使用计算机对学生的有关信息进行管理,具有手工管理所无法比拟的优点,开发学籍管理系统能帮助教研人员利用计算机,快速方便的对学生学籍管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能够具体化,直观化、合理化。
学生学籍管理信息系统规划示例(2)系统的用户需求学生学籍管理功能需求:●记录学生档案的相关情况;●记录学生课程成绩的相关情况;●管理学生的异动情况;●管理学生课情况;●系统辅助功能,如登录、用户管理等;●强大的决策分析功能。
例如,学校可以分析本校的入学质量。
教务管理人员使用这个系统可以管理学生的基本情况、学生的学习情况。
学生使用这个系统可以查看自己的学习成绩。
教师使用这个系统可以查看开课情况和所教学生的基本情况。
学生学籍管理信息系统规划示例学生学籍管理系统的性能要求:●遵循管理规范,技术先进、安全可靠、系统开放、经济实用的原则;●本系统以独立运行为主,但同时又可与学生管理系统挂接;●界面简洁、统一、友好。
●操作简便,向导式操作,可以提供非计算机操作人员使用。
●相关数据显示功能●数据导入功能●根据日常学籍工作流程设计系统,完全根据工作流程进行系统设计,配合新生入学工作流程。
●提供程序的稳定与安全功能●完善的数据打印和报表功能a.前言:主要对自己的课程设计进行简要介绍说明,在对所选题目进行调研的基础上,明确该选题要做什么。
学生学籍管理系统设计报告
1 设计内容和要求1.1设计背景随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。
学生管理正在逐步迈向管理信息现代化。
但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式。
学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。
面对庞大的信息量,这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。
1.2开发环境本学生学籍管理系统(数据库系统)的开发与运行环境如下:开发环境:Windows XP辅助工具:PowerDesigner Trial 11数据库管理系统:SQL Server 2000运行环境:Windows 2000/XP/20031.3内容和要求1.3.1系统目标设计使得学生的学籍管理工作更加清晰、条理化、自动化。
很容易地完成新生信息的输入、老生信息的备份、毕业学生的信息可以很容易地保存。
当学生需要查询成绩时,可以很简单地将其需要的信息从数据库中查找出来并可以打印查询结果。
随着当今网络技术的发展,提供网络在线查询功能,可以为毕业生提供更多的就业机会。
1.3.2系统功能要求(1)学生基本信息系统能够完成新、老生信息的输人、修改、插人、删除等工作。
可以按照特定的信息进行查找,并按照特定的要求进行排序。
可以对老生的信息进行备份,以便日后查询。
可以对学生的信息进行打印输出。
提供详细的帮助文件和系统维护功能。
(2)学生成绩管理系统此部分的功能如下:学生成绩的输入、修改、删除等基本操作。
成绩的综合统计功能,包括学生成绩按照不同条件进行排名。
学生学籍管理系统数据库课程设计报告
数据库程序设计课程设计报告课题: 学生学籍管理系统姓名:学号:同组:专业班级:指导教师:设计时间:评阅意见:评定成绩:指导老师签名:年月日目录1、开发背景 (2)2、系统描述 (2)2.1、设计容 (3)2.2、设计要求 (3)3、数据分析 (3)3.1、功能模块图 (3)3.2、数据流图 (3)3.3、数据字典 (6)4、概念模型设计 (14)5. 逻辑模型设计及优化 (15)6. 物理设计和实施 (17)7、应用程序设计(前台) (17)8、课程设计心得体会 (23)参考文献 (24)1、开发背景在学籍管理中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。
传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。
使用计算机可以高速,快捷地完成以上工作。
在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规教学管理行为,从而提高了管理效率和水平,此外,现今学籍管理的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生档案,学生信息的管理方便,因此开发了本软件。
2、系统描述2.1设计容:(1)主要的数据表学生基本情况数据表,学生成绩数据表,课程表等等。
(2)主要功能模块1)实现学生基本情况的录入、修改、删除等基本操作。
2)对学生基本信息提供灵活的查询方式。
3)完成一个班级的学期选课功能。
4)实现学生成绩的录入、修改、删除等基本操作。
5)能方便的对学生的个学期成绩进行查询。
6)具有成绩统计、排名等功能。
7)具有留级、休学等特殊情况的处理功能。
8)能输出常用的各种报表。
9)具有数据备份和数据恢复功能。
2.2设计要求:(1)学生成绩表的设计,要考虑到不同年级的教学计划的变化情况。
(2)对于新生班级,应该首先进行基本情况录入、选课、然后才能进行成绩录入。
3、数据分析3.1、功能模块图图1 功能模块图3.2、数据流图图2 学生学籍管理系统第0层数据流图登录处理:图3 学生学籍管理系统第1层数据流图查询处理:图4 学生学籍管理系统第2层数据流图录入处理:图5 学生学籍管理系统第3层数据流图更新处理:图6 学生学籍管理系统第4层数据流图删除处理:图7 学生学籍管理系统第5层数据流图3.3、数据字典(1)数据流的描述图2:数据流名称:注册信息简述:管理员相关信息数据流来源:管理员数据流去向:注册数据流组成:管理名+密码数据流名称:允许注册简述:允许注册信息数据流来源:注册数据流去向:管理员数据流组成:管理名+密码数据流名称:登录信息简述:学生登录相关信息数据流来源:学生数据流去向:登录数据流组成:学号+登录秘密数据流名称:反馈信息简述:学生登录成功反馈信息数据流来源:登录数据流去向:学生该数据流组成:登录成功提示图3:数据流名称:登录简述:登录信息数据流来源:外部实体数据流去向:审核学生数据流组成:登录信息图4:数据流名称:学生信息查询要求简述:学生所要查询学生基本信息的要求数据流来源:学生数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等数据流名称:专业信息查询要求简述:学生所要查询专业信息的要求数据流来源:学生数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等数据流名称:课程信息查询要求简述:学生所要查询的课程信息的要求数据流来源:学生数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等数据流名称:选课信息查询要求简述:学生所要选课的要求数据流来源:学生数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等图5:数据流名称:学生信息简述:核对学生是否为该校新生数据流来源:学生数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等数据流名称:核对成功简述:判断学生是为该校新生数据流来源:管理员数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等数据流名称:核对不成功简述:判断学生不是该校新生数据流来源:管理员数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等数据流名称:同意入学简述:核对学生是为该校新生,允许入学数据流来源:管理员数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等图6:数据流名称:学生信息更新要求简述:学生所要查询学生基本信息的要求数据流来源:学生数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等数据流名称:学生选课信息更新要求简述:学生所要选课的要求数据流来源:学生数据流去向:学生信息判断数据流组成:学号++性别+入学年份+照片+备注+专业号等图7:数据流名称:删除简述:学生所要删除基本信息的要求数据流来源:学生数据流去向:删除选择数据流名称:信息错误简述:核对信息错误数据流来源:学生数据流去向:删除选择(2)处理逻辑的描述图2:处理逻辑名称:注册简述:判断管理员信息的合法性输入的数据流:注册信息处理描述:根据管理员提供的注册信息,验证注册信息,验证通过则可允许注册,并将信息反馈给管理员处理逻辑名称:查询简述:根据相关信息查询其它需要信息输入的数据流:查询要求处理描述:根据查询要求,运用查询要求中的数据对管理人员信息表以及学生基本信息表进行查询处理逻辑名称:登录简述:判断登录信息的是否正确输入的数据流:登录信息处理描述:根据学生提供的登录信息,与学生基本信息表中的数据进行比较,满足要求就登录成功,否则登录不成功图3:处理逻辑名称:审核学生简述:审核学生的信息是否正确输入的数据流:登录信息处理描述:根据学生提供的信息进行登录,并审核数据是否满足要求,满足要求审核成功,否则审核不成功图4:处理逻辑名称:学生信息查询简述:查询学生的基本信息输入的数据流:学生信息信息处理描述:根据学生提供的学生信息,验证学生信息,验证通过则允许学生查阅学生信息,验证不通过则返回给学生信息指为非法学生信息处理逻辑名称:专业信息查询简述:查询专业的基本信息输入的数据流:学生信息信息处理描述:根据学生提供的学生信息,验证学生信息,验证通过则允许学生查阅专业信息,验证不通过则返回给学生信息指为非法学生信息处理逻辑名称:课程信息查询简述:查询课程的基本信息输入的数据流:学生信息信息处理描述:根据学生提供的学生信息,验证学生信息,验证通过则允许学生查阅课程信息,验证不通过则返回给学生信息指为非法学生信息处理逻辑名称:选课信息查询简述:查询选课的基本信息输入的数据流:学生信息信息处理描述:根据学生提供的学生信息,验证学生信息,验证通过则允许学生查阅选课信息,验证不通过则返回给学生信息指为非法学生信息图5:处理逻辑名称:核对信息简述:判断学生信息的正确性输入的数据流:学生信息处理描述:根据学生提供的学生信息,验证学生信息,验证通过则录入学生的信息,验证不通过则返回给学生信息指明为不是该校的新生。
学生学籍管理系统C课程设计报告-正文
经济学院(国际经济与贸易)专业MIS课程设计(2011 —2012学年)设计名称:学籍管理系统─────────────班级:国贸21003班----------------姓名:廉鹏、宁二龙、俞鸿辉、曾光明-------------------------------指导教师:信管教研室-----------------成绩:----------------序号:二0一二年5月31日目录1 前言 (2)2 需求分析 (2)2.1 课程设计目的 (2)2.2 课程设计任务 (2)2.3 设计环境 (3)2.4 开发语言 (3)2.5系统的可行性分析 (3)3 分析和设计 (3)3.1功能分析 (3)1、学生信息管理模块主要对学生信息 (4)2、学生成绩管理模块主要是对学生成绩进行管理,四个子模块。
(4)3.2 系统流程图 (5)3.3 主要模块的流程图 (5)4.E-R图 (7)N (8)N (8)5.数据字典 (9)6 具体代码实现 (10)7课程设计体会 (17)参考文献 (17)1 前言现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。
作为新时代的大学生,我们应该努力学习科学文化知识,以适应社会的发展要求。
以现代化的科学知识为祖国做贡献。
计算机C语言课程设计是一门实践性很强的课程,因此,我们可以从这里出发,将实践教学与理论教学达到密切结合。
根据实际题目,要求我小组编写一个程序来,用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。
通过一个结构体数组来存放输入的每一位同学的信息(包括学号,姓名,性别,年龄,籍贯,系别,专业,班级),然后将其信息存入文件中。
输入一个学号查询该同学的信息,并显示在屏幕上。
2 需求分析本系统为了实现学校在校学生、离校学生各项信息资源的查询、统计、添加、删除、维护与管理,方便用户的管理与需求。
学生学籍管理系统设计报告
学生学籍管理系统设计报告作者:您的大名指导老师:您的老师时间:二零一零八月十二学生学籍管理系统设计和实现1.1 概述学籍管理是学校教务的一项主要工作,它反映了一个学校的生源情况和学生的在校表现,每一个档案都记录了一个学生在每个学校的一段历史,必须真实可信,所以档案管理工作是一项严肃、认真而又繁琐的工作。
而Internet的发展使得基于web的应用十分普及和成熟。
因此,本系统在在分析学籍管理需求和可行性后,基于B/S模式进行开发,考虑到扩展和技术难点,本人将基于J2ee进行开发。
该系统适合各类中、小学校、职业技术学校的学生学籍管理,提供学生学籍信息、成绩信息的新增、修改、删除、查询统计等功能,并具有良好扩展能力。
1.2 系统分析1.2.1 需求分析学籍管理指学校对学生所获得的学籍资料进行管理。
凡经过升学考试或按规定手续被正式录取的学生,入校办理注册手续后即取得该校学籍,它标志着学生取得了参加学习的资格。
学籍是组织管理学生的客观依据。
传统的学籍管理模式和管理手段不仅大量地消耗人力、物力,同时,还存在诸多弊端,效率低、保密性差,不利于查找、更新和维护的问题,影响教学秩序,阻碍教学改革的深化,难以保证该项工作应具有的严肃性。
同时,随着科学技术、管理方法的不断进步,传统的办公方式、方法和手段已经不能适应现代化管理的需要,作为培养高质量合格人才为宗旨的高等学校,总是走在科技的最前沿,学籍管理的计算机化已成为高校管理现代化、决策科学化的一个重要环节,是开创学籍管理工作新局面的必由之路。
因此,开发一个功能完善、操作简单、界面友好、有针对性的学籍管理系统对学校、乃至社会都是非常必要,非常有意义的。
1.2.2 可行性分析在当今的信息化时代,学校具备一定规模的网络环境,已基本拥有自己的Intranet并和Internet相集成;基于web的学生学籍管理系统后台需要一台服务器,前端用户只需要一个浏览器就可以和服务器交互,管理学生学籍信息。
学生学籍成绩管理系统设计报告
综合应用所学的C 语言程序设计知识,自行设计并实现一个较为完整的小型管理信息系统。
通过系统分析、系统设计、编程实现,写实验报告等环节,初步掌握软件系统的设计方法和步骤,提高灵便运用程序语言进行软件开辟的技能,提高程序设计水平和分析问题、解决问题的能力。
1):熟悉C 语言的开辟环境,按照给定的上机步骤练习完成;2):熟悉C 程序的编辑,编译,链接和运行的过程。
3):编译一个应用系统程序,形成一个软件系统。
三、学籍成绩管理系统功能设计要求:1. 输入记录:将每一个学生的姓名、学号以及数学、物理、化学、英语、网络课程的成绩作为一个记录。
该软件能建立一个新的数据文件或者给已建立好的数据文件增加记录。
2. 显示记录:根据用户提供的记录或者根据学生姓名显示一个或者几个学生的各门功课的成绩和平均成绩。
3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改先后对记录内容进行显示。
4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找先后对记录内容进行显示。
5. 删除记录:可删除数据文件中的任一记录。
6.恢复记录:能恢复被删除的任一记录。
7.添加记录:可以在数据文件中添加记录并添加记录后对记录内容进行显示。
8. 统计: (A)计算各门课程全班平均成绩及总成绩; (B) 统计其课程全班得:100 分、 90~99 分、80~89 分、 70~79 分、 60~69 分、 59 分以下学生人数及全班总人数的百分比; (C)按字符表格形式打印全部学生的平均成绩( 包括各课总的平均成绩)。
9.保存数据文件功能。
10.打开数据文件功能。
经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或者用工程文件的形式进行逐步联合调试。
程序运行结果如下表所示(记录个数至少 8 个)。
1、算法设计学籍管理系统程序采用了结构化程序设计的思想,将程序分解成许多模块,再由主函数调用这些模块,实现不同的功能。
学生学籍管理系统c++课程设计报告书
《学生学籍管理系统》程序设计基础课程设计报告专业:班级:学号:姓名:指导教师:二OO八年六月二十六日C++课程设计——学籍管理系统实验报告1、对C++设计的《学生学籍管理系统》总体说明我这次做的课程设计是《学生学籍管理系统》,本程序采用C++程序语言编写,运用了基于对象和面向对象的程序设计。
它主要是完成对学生的基本信息和成绩进行录入、查询和删除功能。
实施起来简单快捷,虽然程序简单,但可以作为老师的辅助软件对学生的基本信息和各科成绩进行管理。
2、总体设计本程序的流程图如下:3、对《学生学籍管理系统》的介绍(1)具体功能:a)数据录入功能:对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算(2)查询功能:分为学生基本情况查询和成绩查询两种:A:学生基本情况查询:A1----输入一个学号或(可实现选择),查出此生的基本信息并显示输出。
A2---输入一个宿舍,可查询出本室所有的学生的基本信息并显示输出。
B:成绩查询:B1:输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx 姓名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx………………………共修:xx科,实得总学分为: xxxb)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。
c)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
(2)源程序说明:源程序清单及注释如下:#include<iostream>#include<fstream>#include<iomanip>using namespace std;class Basic{public:virtual int input(ifstream &its)=0;virtual void input()=0;virtual void display(ofstream &its)=0;virtual void display()=0;virtual void display_1(){}friend class College;protected://把这些数放在这,方便调用Basic *next;//指针int number;//学号char name[40];//int dom_number;//宿舍号double mark; //综合成绩int credit; //实得学分};class Student:virtual public Basic{public:int input(ifstream &its)//输入流{its>>number;if(number==-1)return 0;else{its>>name>>sex>>dom_number>>phone_number;return 1;}}void input()//输入{cout<<"学号:";cin>>number;cout<<" :";cin>>name;cout<<"性别:";cin>>sex;cout<<"宿舍:";cin>>dom_number;cout<<":";cin>>phone_number;}void display(ofstream &its)//输出流{its<<number<<" "<<name<<" "<<sex<<" "<<dom_number<<" "<<phone_number<<endl;}void display()//输出{cout<<number<<setw(10)<<name<<setw(6)<<sex<<setw(10)<<dom_number<<setw(13)< <phone_number<<endl;}private:char sex[5];//性别char phone_number[20];//};class Course:virtual public Basic{public:int input(ifstream &its)//输入流函数{its>>number;if(number==-1)return 0;else{its>>chass_number>>chass_name>>chass_mark>>peacetime_mark>>experiment_mark>>txt_mark;account();return 1;}}void input()//输入函数{cout<<"学号=";cin>>number;cout<<"课程编号=";cin>>chass_number;cout<<"课程名称=";cin>>chass_name;cout<<"学分=";cin>>chass_mark;cout<<"平时成绩=";cin>>peacetime_mark;cout<<"实验成绩=";cin>>experiment_mark;cout<<"卷面成绩=";cin>>txt_mark;account();}void account()//计算综合成绩和实得学分{int i;if(experiment_mark==-1)mark=peacetime_mark*0.15+experiment_mark*0.15+txt_mark*0.7;else mark=peacetime_mark=peacetime_mark*0.3+txt_mark*0.7;i=mark/10;switch(i){case 10: credit=chass_mark;break;case 9: credit=chass_mark;break;case 8: credit=chass_mark*0.8;break;case 7: credit=chass_mark*0.7;break;case 6: credit=chass_mark*0.6;break;default:credit=0;break;}}void display(ofstream &its)//输出流函数{its<<number<<" "<<chass_number<<" "<<chass_name<<" "<<chass_mark<<" "<<peacetime_mark<<" "<<experiment_mark<<" "<<txt_mark<<endl;}void display()//输出函数{cout<<number<<setw(10)<<chass_number<<setw(11)<<chass_name<<setw(5)<<chass_ mark<<setw(7)<<peacetime_mark<<setw(10)<<experiment_mark<<setw(10)<<txt_mark<<setw(10)<<ma rk<<setw(10)<<credit<<endl;}void display_1(){cout<<"课程编号:"<<chass_number<<" "<<"课程名称:"<<chass_name <<" "<<"综合成绩:"<<mark<<" "<<"实得学分:"<<credit<<endl;}private:char chass_number[30];//课程编号char chass_name[30];//课程名称int chass_mark; //学分int peacetime_mark;//平时成绩int experiment_mark;//实验成绩int txt_mark; //卷面成绩};class College//链表类{public:College(int i)//构造函数建立初链,i=0建立Student链表,i=1建立Course 链表{ji=0;Basic *p;int t;PL=i;if(PL==0)//根据PL,打开相应的文件{f.open("A.txt",ios::in);head=new Student;p=new Student;}else{f.open("B.txt",ios::in);head=new Course;p=new Course;}if(!f)//判断f是否打开文件{cout<<"错误"<<endl;abort();}t=head->input(f);head->next=p;p->next=NULL;for(;;)//读入文件数据,并将数据插入链表中{if(i==0)p=new Student;else p=new Course;t=p->input(f);if(t==0)break;head=Build(p);}f.close();//关闭文件}~College(){save();}Basic *Build(Basic *p)//插入函数,将p有序的插入链表中{Basic *p1=head,*p2=head;int i;for(i=0;p1->next!=NULL;i++){if(i==0&&p->number<p1->number)//处理头链{p->next=p1;head=p;ji++;break;}else if(p->number<p1->number)//处理中间{p2->next=p;p->next=p1;ji++;break;}else if(i==ji)//处理尾{p2=p1;p1=p1->next;p2->next=p;p->next=p1;ji++;break;}p2=p1;p1=p1->next;}return head;}void display()//输出链表信息{Basic *a=head;for(;a->next!=NULL;a=a->next)a->display();}void find_number()//查找学号(student) {int i;Basic *h=head;cout<<"请输入你想找的学号:";cin>>i;for(;h->next!=NULL;h=h->next){if(h->number==i){h->display();break;}}}void find_name()//查找(student){char i[40];Basic *h=head;cout<<"请输入你想找的:";cin>>i;for(;h->next!=NULL;h=h->next){if(strcmp(h->name,i)==0){h->display();break;}}}void find_dom_number()//查找宿舍(student){int i;Basic *h=head;cout<<"请输入你想找的宿舍:";cin>>i;for(;h->next!=NULL;h=h->next)if(h->dom_number==i)h->display();}Basic *get_head(){return head;}void find(Basic *a)//输入一个学号时,查询出此生的所有课程情况(Course) {int i;Basic *h=head;cout<<"请输入你想查的学号:";cin>>i;for(;a->next!=NULL;a=a->next){if(a->number==i){cout<<"学号:"<<i<<" ";cout<<"姓名:"<<a->name<<endl;break;}}for(;h->next!=NULL;h=h->next)if(h->number==i)h->display_1();}void Delete(int j)//删除,j表示学号{Basic *p1=head,*p2=head;int i=0;for(;p1->next!=NULL;){if(i==0&&p1->number==j)//处理头{head=p1->next;i=-1;//保证下次还可以删除头链}else if(p1->number==j)//处理尾{p2->next=p1->next;}p2=p1;p1=p1->next;i++;}}void delete_student(College &b)//当在 A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息(student){int i;cout<<"请输入你想删除的学生的学号:";cin>>i;Delete(i);b.Delete(i);}void taxis_mark()//综合成绩排序(Course){Basic *a=head;Basic *m[90],*t;int i,j,k,b;cout<<"升序-1 降序-2"<<endl;cin>>b;if(b==1)//升序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->mark>m[k]->mark){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按综合成绩升序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}else if(b==2)//降序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->mark<m[k]->mark){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按综合成绩降序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}}void taxis_credit()//学分排序(Course){Basic *a=head;Basic *m[90],*t;int i,j,k,b;cout<<"升序-1 降序-2"<<endl;cin>>b;if(b==1)//升序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->credit>m[k]->credit){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按学分升序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}else if(b==2)//降序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->credit<m[k]->credit){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按学分降序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}}void save() //保存函数{Basic *h=head;int i=-1;if(PL==0)s.open("A.txt",ios::out);else if(PL==1)s.open("B.txt",ios::out);for(;h->next!=NULL;h=h->next)h->display(s);s<<i<<endl;s.close();}private:ifstream f;ofstream s;Basic *head;//链表的头指针int ji;//计算插入的数int PL;//判断建立怎样的链表};int main(){int i,k[10];Course *c;College a(0),b(1);cout<<" ************************* 欢迎进入!**********************"<<endl;cout<<" *************************学籍管理系统**********************"<<endl;cout<<" ******** ********"<<endl;cout<<" ******** ********"<<endl;to:cout<<" ******** <1> 录入 <2> 查询 <3> 删除********"<<endl;cout<<" ******** ********"<<endl;cout<<" ******** <4> 排序 <5> 全部输出 <其他> 结束********"<<endl;cout<<" ******** ********"<<endl;cout<<"****************"<<endl;cout<<"***********************************************************"<<endl;cin>>i;if(i==1){c=new Course;c->input();b.Build(c);goto to;}else if(i==2){cout<<"1-学生基本情况查询 2-成绩查询"<<endl;cin>>k[0];if(k[0]==1){cout<<"1-学号查询 2-查询 3-宿舍查询"<<endl;cin>>k[1];if(k[1]==1)a.find_number();else if(k[1]==2)a.find_name();else if(k[1]==3)a.find_dom_number();goto to;}else if(k[0]==2)b.find(a.get_head());goto to;}else if(i==3){a.delete_student(b);goto to;}else if(i==4){cout<<"1-综合成绩排序 2-实得学分排序"<<endl;cin>>k[2];if(k[2]==2)b.taxis_credit();else if(k[2]==1)b.taxis_mark();goto to;}else if(i==5){cout<<"学号性别宿舍 "<<endl;a.display();cout<<endl;cout<<"学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分"<<endl;b.display();goto to;}return 0;}4、遇到问题及解决方案本程序是运用类编写但与平时作业不同的是难度较大,涉及容较广。
学生学籍管理系统课程设计
学生学籍管理系统课程设计一、设计背景学生学籍管理系统是现代教育管理的重要组成部分之一,它主要用于对学生的基本信息、课程信息、成绩信息等进行管理和统计。
随着信息技术的发展,学生学籍管理系统已经成为各大高校必备的教务管理工具。
本课程设计旨在通过实践,让学生掌握数据库设计和编程技能,实现一个简单的学生学籍管理系统。
二、需求分析1. 功能需求(1)管理员登录:管理员可以通过用户名和密码登录系统。
(2)添加学生:管理员可以添加新的学生信息,包括姓名、性别、年龄、班级等。
(3)修改学生:管理员可以修改已有的学生信息。
(4)删除学生:管理员可以删除不需要的学生信息。
(5)查询学生:管理员可以通过关键字查询需要的学生信息。
(6)添加课程:管理员可以添加新的课程信息,包括课程名称、授课教师等。
(7)修改课程:管理员可以修改已有的课程信息。
(8)删除课程:管理员可以删除不需要的课程信息。
(9)查询课程:管理员可以通过关键字查询需要的课程信息。
(10)录入成绩:教师可以录入某个班级某个科目下的学生成绩。
(11)修改成绩:教师可以修改已有的学生成绩。
(12)查询成绩:管理员和教师可以通过关键字查询需要的学生成绩信息。
2. 性能需求系统响应时间应该较短,对于常用功能应该进行优化,保证用户使用体验。
3. 安全需求系统需要进行身份验证,只有管理员和教师才能登录并进行相关操作。
同时,系统需要进行数据备份和恢复,以防止数据丢失或损坏。
三、设计方案1. 数据库设计本系统采用MySQL数据库进行存储和管理。
数据库中包含三张表:学生表、课程表和成绩表。
具体字段如下:(1)学生表:字段名类型说明id int(11) 主键name varchar(50) 姓名gender varchar(10) 性别age int(11) 年龄class varchar(50) 班级(2)课程表:字段名类型说明id int(11) 主键name varchar(50) 课程名称teacher varchar(50) 授课教师(3)成绩表:字段名类型说明id int(11) 主键student_id int(11) 外键,关联学生表id字段course_id int(11) 外键,关联课程表id字段score f loat 成绩2. 系统架构设计本系统采用B/S架构,前端使用HTML、CSS和JavaScript进行开发,后端使用PHP进行开发。
学籍管理系统课程设计报告
开题报告一. 开发背景及意义21世纪以来,人类经济高速发展,人们发生了日新月异地变化,特别是计算机地应用及普及到经济和社会生活地各个领域使原本地旧地管理方法越来越不适应现在社会地发展.许多人还停留在以前地手工操作.这大大地阻碍了人类经济地发展为了适应现代社会人们高度强烈地时间观念,学校信息管理系统软件为学校办公室带来了极大地方便.现在我国地大中专校中学籍地管理水平还停留在纸介质地基础上,这样地机制已经不能适应时代地发展,因为它浪费了许多人力和物力,在信息时代这种传统地管理方法必然被计算机为基础地信息管理所取代.我作为一个计算机应用地专科生,希望可以在这方面有所贡献.改革地总设计师邓小平同志说过科学技术是第一生产力”,我希望能用我四年地所学编制出一个实用地程序来帮助大中专进行更有效地信息管理.二. 开发工具地选择本软件使用Microsoft Visual Basic 6.0 进行编写.数据库技术地产生与发展源于对于数据地组织和管理.数据库技术是数据管理地技术,它随着数据管理任务地需要而产生于20世纪60年代中期.这是一门综合性技术,涉及操作系统,数据结构,算法设计和程序设计等知识.数据库技术地基本思想是对数据实行集中,统一,独立地管理,用户可以最大限度地共享数据资源.数据库系统实际上是一个应用系统,它是在计算机硬,软件系统支持下,由用户,数据库管理系统,存储在存储设备上地数据和数据库应用程序构成地数据处理系统.数据库系统是由数据,数据库管理系统,应用程序,用户组成.数据库地特点:1.实现数据共享2.实现数据独立3.减少了数据冗余度4.避免了数据不一致性5.加强了对数据地保护.数据库应用系统(DATABASE APPLICATION SYSTEMS DBAS )管理信息系统开放式信息服务系统一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来地.三. 系统可行性分析1 .技术可行性硬件要求:主要配置为CPU (PII300以上)、内存(64M以上)、显卡(4M以上)以及大容量硬盘(10G以上)等.2 .软件要求:系统采用Visual Basic 6.0 和Access2000 开发,用VB制作系统地用户界面,Access2000 制作后台数据库,两者结合完成系统功能,可运行在Windows系列操作系统上.3 .经济可行性由于本系统开发地费用比较低,能够实现学生学籍管理过程中要求地基本功能,运行状态良好,系统维护费用低,可大幅度降低社保基金管理过程中地费用,提高管理效率.4 .操作可行性本系统运行在通用地Windows操作系统上,具有Windows相似地操作界面.具有简单易学,使用方便等特点,只需在计算机上进行相关地简单地设置即可,懂得计算机基本操作地人员经过短期培训培训即可熟练操作,熟悉计算机操作地人员不需要再经过专门地培训即可熟练操作.四•程序地功能模块1 .系统主窗口地测试;2 •添加用户窗口地测试;3 .修改用户密码窗口地测试4 .修改学籍信息窗口地测试;5 •录入学籍信息窗口地测试;6 •添加课程信息窗口地测试;7 .添加成绩信息窗口地测试;8 •删除成绩信息窗口地测试;9、查询成绩信息窗口地测试;10、查询基本信息窗口地测试;11、打印窗口测试五.参考文献1 .陈明,《visual basic 程序设计》,中央广播电视大学出版社,2002.2 •刘世峰,<< 数据库基础与应用>>,中央广播电视大学出版社,2004.3 .伍俊良,〈〈VB6控件应用实例教程》,北京希望电子出版社,2002.4 .卢国俊,〈〈VB6数据库开发》,电子工业出版社,2002.5 .边萌,《VB编程起步》,机械工业出版社,2002.6 .谢季萍徐孝凯,《ACCESS上机操作指导》,中央广播电视大学出版社20047 .郑荣贵、黄平、谷会东,《VB6.0数据库开发与应用》,中科多媒体电子出版社,2002 .本次数据库课程设计是以Access数据库作为后台以VB作为前台地应用型设计课程.综合我们所学地两大课程创建应用型地数据库系统,大大地提高了我们学生地动手能力,作到了理论与实践相结合.一. 题目说明:学生学藉管理系统是典型地学藉管理系统(MIS),其开发主要包括后台数据库地建立和维护以及前端应用程序地开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好地库.而对于后者则要求应用程序功能完备,易使用等特点.本系统主要完成对学生情况和学生成绩地管理,包括数据库中表地添加、删除等.系统还可以完成对各类信息地浏览、添加、删除、等功能.系统地核心是数据库中各个表联系,每一个表地修改都将联动地影响其它地表,当完成对数据地操作时系统会自动地完成数据库地修改.查询功能也是系统地核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态地条件查询,也有动态生成地条件查询,其目地都是为了方便用户使用.系统有完整地用户添加、删除和密码修改功能,并具备报表打印功能.关键字:窗体、数据库、vb6.0、access2000.学生学籍管理系统被广泛应用于各类学校地学生学籍管理工作中,要求其具有实用性强、使用方便、效率高和安全可靠等特点.本管理系统正是围绕以上几个方面进行开发地,在开发过程中充分考虑到本系统地应用特点,并进行了大量地检验,证明其地确达到了设计地要求,是一个已具备了实际应用能力地软件.本文主要论述学生学籍管理系统地开发过程,在涉及到VB及Access 中地部分知识以举例地方式进行讲解二. 总体设计:我地总体设计如下:(1).利用Access建立数据库,并在该数据库下创建五张表格,分别是学生表、课程表、选课表、学生选课表以及口令表.(2)利用VB来建立界面并对它进行设计和修改,大体框架如下:F0RM1用于首界面F0RM2用于登陆此系统地登录界面F0RM3是主窗体,在这上面建立相应地菜单如:文件一一退出、添加用户(F0RM4)数据信息一一管理使用(F0RM5)基本操作一一学生操作、选课操作、课程操作(F0RM6、F0RM7、F0RM8)(3)对以上地界面进行设计以及对所要操作地部件进行编程.如图:三. 常用控件地说明:所有地Windows应用程序窗口或对话框,都是由诸如文本框、列表框、命令按扭、滚动条、命令菜单等组成地.VB通过控件工具箱提供了它们与用户进行交互地可视化部件,即控件.程序开发人员只需要通过简单地操作,在窗体上安排所需要地控件,完成应用程序地用户界面设计即可.序号名称功能1 Label标签用于说明2 Textbox文本框用于文本输入或显示3 Frame框架用于组合控件4 Commandbutton 命令按扭单击执行命令5 Timer计时期用于定时6 Data数据控件用于访问数据库三.详细说明:1.数据库地建立与设计:数据库是有结构地数据集合,它与一般地数据文件不同,(其中地数据是无结构地)是一串文字或数字流.数据库中地数据可以是文字、图象、声音等.Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块.(1) .表(Table)――表是数据库地基本对象,是创建其他5种对象地基础.表由记录组成,记录由字段组成,表用来存贮数据库地数据,故又称数据表.(2) .查询(Query)――查询可以按索引快速查找到需要地记录,按要求筛选记录并能连接若干个表地字段组成新表.(3) .窗体(Form)――窗体提供了一种方便地浏览、输入及更改数据地窗口.还可以创建子窗体显示相关联地表地内容.窗体也称表单.(4) .报表(Report)――报表地功能是将数据库中地数据分类汇总,然后打印出来,以便分析.(5) .宏(Macro)――宏相当于DOS中地批处理,用来自动执行一系列操作.Access列出了一些常用地操作供用户选择,使用起来十分方便.(6) .模块(Module)――模块地功能与宏类似,但它定义地操作比宏更精细和复杂,用户可以根据自己地需要编写程序.模块使用Visual Basic 编程.我们利用Access来建立数据库,我们地库中有五张表格,其分别是学生表、课程表、选课表、学生选课表以及口令表.我们就以学生表为例做一个简单地说明:我们使用设计器来创建表地,我地这张表有七个字段,每个字段地名称分别是:学号、班级、姓名、性别、出生年月、民族、地址、电话号码,每个字段有七个数据.我并对其字段地属性进行了重新地修改,以做到不浪费其空间.我具体地实施步骤是:启动数据库管理器一一建立数据库一一建立数据表结构一一输入记录.最终产生了这样地一个数据库:(如下)2 . VB界面地建立设计以及程序地编写说明:VB是在Windows操作平台下,用于开发和创建具有图形用户界面地应用程序地强有力工具之一.VB为开发Windows应用程序不仅提供了全新地相对简单地方式,而且也引进了新地程序设计方法一一面向对象地设计方法(OOP ).从传统地面向过程地程序设计,转移到更先进地面向对象地程序设计,无论是对老地程序员,还是初学者,都是一个挑战.而学习VB,则是掌握这一新地程序设计方法地一条捷径.(1).界面地设计和程序地编写:设计一个像这样地友好地界面,我考虑到它地颜色地配制,界面地大小,界面所载地内容地多少等,在后台我用定时器给其限定时间让它在一定地时间后自动跳到下一个界面.这个界面是系统地主界面,用户可以在通过系统登录后直接到我们地主界面上来进行相应地操作,我地主界面采用地是一张苏州市职业大学地图片,在这个图片地上面有三个菜单,分别是文件、数据信息和基本操作.在各自地下面还有与之相对应地子菜单,文件下有退出和添加用户,数据信息下有管理使用,基本操作下有学生操作、选课操作和课程操作.我利用FORMn.SHOW 命令连接到相对应地界面上.我们地界面有好几张我就对其中地一张进行详细地分析:这是一张学生选课浏览表地界面,这也是对应我地主界面菜单中地数据信息下地管理使用子菜单地一张界面,在这张界面中包含了8个LABEL标签控件、7个TEXTBOX文本框控件、6个COMMANDBUTTON 命令按扭控件、1个FRAME 框架控件和1个DATA部件.我利用DATA部件将界面与ACCESS数据库相连接,具体地操作是利用DATABASENAME 与数据库连接,在RECORDSOURCE 中找到与之对应地表,再用DATASOURCE、DATAFIELD 与个文本框内容对应,从而实现界面与数据库地连接.下面是程序地编写过程:显示前一个数据:COMMAND1 :Private Sub Command1_Click()If Data1.Recordset.RecordCount = 0 ThenMsgBox \" 没有记录\"ElseIf Data1.Recordset.BOF ThenData1.Recordset.MoveFirstMsgBox \" 这是第一条记录!\"ElseData1.Recordset.MovePreviousIf Data1.Recordset.BOF = True ThenData1.Recordset.MoveFirstMsgBox \" 这是第一条记录!\"End IfEnd IfEnd IfEnd Sub显示第一个数据:COMMAND2 :Private Sub Command2_Click()If Data1.Recordset.RecordCount = 0 ThenMsgBox \" 没有记录\"ElseData1.Recordset.MoveFirstEnd IfEnd Sub显示最后一个数据:COMMAND4 :Private Sub Command4_Click()If Data1.Recordset.RecordCount = 0 ThenMsgBox \" 没有记录\"ElseData1.Recordset.MoveLastEnd IfEnd Sub显示后一个数据:COMMAND3 :Private Sub Command3_Click()If Data1.Recordset.RecordCount = 0 ThenMsgBox \" 没有记录\"ElseIf Data1.Recordset.EOF ThenData1.Recordset.MoveLastMsgBox \" 这是最后一条记录!\"Else Data1.Recordset.MoveNextIf Data1.Recordset.EOF = True Then Data1.Recordset.MoveLast MsgBox \" 这是最后一条记录!\" End If End If End If End Sub 添加一个数据:COMMAND6 Private Sub command6_Click()If Command6.Caption = \" 添加\" ThenCommand1.Enabled = 0 Command2.Enabled = 0 Command3.Enabled = 0 Command4.Enabled = 0 Command6.Caption = \"确定\"Command5.Caption = \" 放弃\"If Data1.Recordset.RecordCount > 0 Then Data1.Recordset.MoveLastEnd IfData1.Recordset.AddNew Text1.SetFocusElseCommand1.Enabled = -1 Command2.Enabled = -1 Command3.Enabled = -1 Command4.Enabled = -1 Command6.Caption = \"添加\"Command5.Caption = \" 删除\"Text2.Enabled = 0 Text5.Enabled = 0 Text3.Enabled = 0 Text4.Enabled = 0 Text6.Enabled = 0 Text7.Enabled = 0Data1.Recordset.Update Command1.SetFocus End If End Sub 删除一个记录:COMMAND5 Private Sub Command5_Click() If Command5.Caption = \" 放弃\" ThenCommand4.Enabled = -1 Command5.Enabled = -1 Command6.Enabled = -1Command3.Enabled = -1Command1.Caption = \" 添加\"Command2.Caption = \" 删除\"Text2.Enabled = 0Text5.Enabled = 0Text6.Enabled = 0Text7.Enabled = 0Text1.Enabled = 0ElseIf Data1.Recordset.RecordCount = 0 ThenMsgBox \" 没有记录\", 32, \" 注意\"Exit SubElsestr1 = MsgBox(\" 删除该记录吗?\", 17, \" 删除\")If str1 = 1 ThenData1.Recordset.DeleteData1.RefreshIf Data1.Recordset.RecordCount = 0 ThenMsgBox \" 记录数为零\"Data1.Recordset.AddNewEnd IfEnd IfEnd IfEnd IfEnd Sub四、在此过程中遇到地问题以及解决方法:在开始编写程序地时候总是有一些出错, 在查找有关书籍和向老师询问后得出了结果. 在将界面与数据库相连接地时候不知道用哪种方法,在老师地帮助下我学会了两种方法: 1.DATA 、2.ADODC. 我最终使用DATA 这种方法.五、心得体会:在这次地设计过程中, 我学到地不仅是知识, 我还认识到许多事情. 这次设计使我地编程水平提高了一大步,使我充分地认识到合作地可贵. 由于这次设计涉及到数据库,我地学到了不少编程工具与数据库连接地知识, 对数据库地操作有了进一步地了解. 这次设计对我地综合能力是一次很好地锻炼,但是我必须承认自己地能力和知识还很肤浅. 所以今后我地学习道路还是很漫长地. 最后, 在这里我要衷心地感谢我们地指导老师牛丽、程渊,谢谢她地悉心指导和热心帮助.由于我水平有限,加之时间短暂,故学籍管理系统中还有许多不足之处,请老师批评指正,我会在以后地制作中不断改进,不断完善.。
net学生学籍管理系统课程设计
net学生学籍管理系统课程设计一、课程目标知识目标:1. 让学生理解学籍管理系统的基本概念、功能及在现实教育管理中的应用。
2. 掌握使用.NET技术进行学籍管理系统开发的基本流程和方法。
3. 学会运用数据库知识,实现对学籍信息的存储、查询、更新和删除等操作。
技能目标:1. 培养学生运用.NET技术进行学籍管理系统设计与开发的能力。
2. 培养学生利用数据库管理数据的基本技能,提高数据处理与分析能力。
3. 培养学生团队协作、沟通表达及解决问题的能力。
情感态度价值观目标:1. 培养学生对信息技术的兴趣和爱好,激发学生主动学习的积极性。
2. 培养学生严谨、负责的工作态度,养成良好的编程习惯。
3. 增强学生的法律意识和社会责任感,让学生认识到学籍管理系统在实际应用中的重要性。
本课程针对高年级学生,结合.NET技术、数据库原理以及学籍管理的实际需求,旨在提高学生的实际操作能力和解决问题的能力。
课程要求学生在掌握基本理论知识的基础上,注重实践,将所学知识运用到实际项目中,达到学以致用的目的。
通过本课程的学习,使学生具备独立开发学籍管理系统模块的能力,为将来从事相关工作打下坚实基础。
二、教学内容1. 理论知识:- 学籍管理系统概述:介绍学籍管理系统的基本概念、功能及作用。
- .NET技术原理:讲解.NET框架、C#编程语言、技术等基础知识。
- 数据库原理:阐述数据库的基本概念、关系型数据库的设计及SQL语言应用。
2. 实践操作:- 学籍管理系统需求分析:分析学籍管理系统的功能模块,明确系统设计目标。
- 系统设计:包括数据库设计、界面设计、业务逻辑设计等。
- 系统实现:利用.NET技术,实现学籍管理系统的各个功能模块,如学生信息管理、成绩管理、课程管理等。
3. 教学大纲安排:- 第一章:学籍管理系统概述(1课时)- 第二章:.NET技术原理(4课时)- 第三章:数据库原理(3课时)- 第四章:学籍管理系统需求分析(2课时)- 第五章:系统设计(3课时)- 第六章:系统实现(5课时)教学内容依据课程目标,结合教材章节进行组织,注重理论与实践相结合。
学生学籍管理系统课程设计报告
目录第一章需求分析 (2)1.1 可行性分析研究 (2)1.2 用户需求 (3)1.3 使用范围 (4)1.4 业务流程分析 (4)第二章需求分析建模 (4)2.1 实体-联系图设计 (4)2.2 系统数据流图 (7)2.3数据字典 (8)第三章概要设计....................................................103.1 系统模块总体结构设计......................................103.1.1学生学籍管理系统的处理流程图: (10)3.1.2总体结构和外部模块设计 (11)第四章详细设计 (12)4.1 登陆模块设计 (12)4.2 主界面设计 (12)4.3 学籍管理模块设计 (13)学生学籍管理系统的增加记录 (13)4.3.2学生学籍管理系统的删除记录 (13)4.3.3学生学籍管理系统的修改记录 (13)4.3.4学生学籍管理系统的查询记录 (13)息........................14............................14第五章测试与维护 (14)5.1 系统测试 (14)5.2系统的运行与维护 (14)第一章需求分析学生学籍管理工作是学校管理工作的重要组成部分,现在相当一部分学校的学生学籍管理工作仍沿用手工方式。
随着学校规模的扩大、学生人数的增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,利用计算机技术和数据库技术设计开发学生学籍管理系统、实现学生学籍管理工作的自动化成为学生管理部门的迫切需要。
学生学籍管理工作主要是学生基本情况的管理包括学生学籍变动的管理(转入、转出、休学、复学、退学、调班、外出借读、借读、留级或跳级)、学生成绩的管理和教师基本信息管理和教课的管理,主要包括数据输入、修改、删除、追加、查询、统计和打印报表等功能,学生学籍管理系统要能高效、准确地完成这些功能,并要达到界面美观友好、使用方便。
学籍管理系统C语言课程设计报告详解
学籍管理系统C语言课程设计报告详解学籍管理系统C语言课程设计报告详解目录:1. 引言2. 系统设计与功能3. 数据结构与算法4. 界面设计5. 性能分析与改进6. 系统应用与总结7. 结论1. 引言学籍管理系统是一种常见的教务系统,在学校和教育机构中被广泛使用。
它可以方便地管理学生信息、成绩、考勤等学籍相关信息。
本篇文章将深入探讨学籍管理系统的设计思路、实现过程和功能特点。
2. 系统设计与功能学籍管理系统的设计涉及到多个功能模块,包括学生信息管理、成绩管理、课程管理、教师管理、考勤管理等。
在系统设计阶段,应考虑到各个功能模块之间的数据结构和数据流动。
其中,学生信息管理模块需要涵盖学生的基本信息(如学号、尊称、芳龄、性别等)以及其他必要的信息(如通信方式、家庭住宅区域等)。
成绩管理模块需要记录学生在各门课程中的成绩,并计算绩点和排名。
课程管理模块需要包括课程号、课程名、学分和上课时间等信息。
教师管理模块需要记录教师的基本信息和任教课程信息。
考勤管理模块需要记录学生的考勤情况,包括到勤、请假、旷课等。
3. 数据结构与算法在学籍管理系统中,需要使用适当的数据结构和算法来实现各个功能模块。
可以使用链表或数组来存储学生信息,使用哈希表或二叉搜索树来存储课程信息。
对于成绩管理模块,可以使用排序算法对学生成绩进行排名。
对于考勤管理模块,可以使用查找算法来查询学生的考勤情况。
在设计数据结构和算法时,需要考虑到时间和空间复杂度的问题,保证系统的高效性和稳定性。
4. 界面设计学籍管理系统的界面设计很重要,它直接关系到用户的使用体验和系统的易用性。
界面设计应该简洁明了,操作直观,方便用户快速掌握系统的各种功能。
可以采用菜单式的操作界面,将各个功能模块以菜单形式展示给用户,并提供相应的操作选项。
应保证系统的可扩展性,方便后续对功能进行扩展和升级。
5. 性能分析与改进在使用学籍管理系统时,性能是一个重要的考量因素。
系统性能包括响应速度、并发处理能力等方面。
学生学籍管理系统课程设计
学生学籍管理系统课程设计一、课程目标知识目标:1. 让学生理解学籍管理系统的作用、功能及基本构成;2. 使学生掌握使用数据库进行学籍信息管理的基本操作;3. 帮助学生掌握学籍管理系统中常用的数据查询、更新和删除方法。
技能目标:1. 培养学生运用数据库技术设计简单学籍管理系统的能力;2. 提高学生利用计算机软件解决实际问题的能力;3. 培养学生团队协作、沟通表达的能力。
情感态度价值观目标:1. 培养学生对信息技术的兴趣,激发他们主动学习的积极性;2. 培养学生严谨、细心的学习态度,提高他们的问题解决能力;3. 增强学生的网络安全意识,教育他们遵守网络道德规范。
课程性质:本课程为信息技术课程,以实践操作为主,理论讲解为辅。
学生特点:六年级学生,具备一定的计算机操作基础,对数据库技术有一定了解。
教学要求:结合学生特点,以实践操作为核心,注重培养学生的动手能力和团队协作能力。
将课程目标分解为具体的学习成果,以便后续的教学设计和评估。
通过本课程的学习,使学生能够独立设计并实现一个简单的学生学籍管理系统,提高他们的信息技术素养。
1. 学籍管理系统的基本概念与功能- 系统介绍:学籍管理系统的定义、作用及其在教育教学中的应用- 功能模块:系统功能划分,如学生信息管理、成绩管理、课程管理等2. 数据库基础知识- 数据库概念:数据库的定义、分类及其应用- 数据表设计:学籍管理系统中的数据表结构设计、字段定义3. 数据库操作- 数据插入、查询、更新和删除:SQL语句编写与执行- 数据备份与恢复:保证数据安全与完整性4. 学籍管理系统实践操作- 系统设计:分析需求,设计简单的学籍管理系统- 功能实现:利用数据库软件,实现学生信息管理、成绩管理等功能5. 教学内容安排与进度- 第一周:学籍管理系统基本概念与功能介绍- 第二周:数据库基础知识学习与数据表设计- 第三周:数据库操作学习与实践- 第四周:学籍管理系统实践操作与功能实现教学内容依据课程目标和教材章节进行选择和组织,确保科学性和系统性。
学生学籍管理系统--Java课程设计报告
《面向对象程序设计》课程设计报告题目:学牛学籍管理系统软件设计与实现院(系): 信息科学与工程学院__________ 专业班级:计算机科学与技术1201班学生姓名:_____________ 程伟________________ 学号:_________________________指导教师:_____________ 奕________________20 14年12 月29 日至20 年1 月9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书三、原始资料1. 《面向对象程序设计课程设计》指导书2. 耿祥义.JAVA大学实用教程•北京:清华大学出版社,2009 .四、要求的设计(调查/论文)成果1. 课程设计报告2. 课程设计软件五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料[1] 广彬.Java课程设计案例精编(第二版)•北京:清华大学出版社,2011.[2] 耿祥义.Java课程设计(第二版)•北京:清华大学出版社,2008.[3] 耿祥义.JAVA大学实用教程•北京:清华大学出版社,2009 .[4] 邹林达•国君Java2程序设计基础•北京:清华大学出版社,2010 .⑸邹林达.Java2程序设计基础实验指导•北京:清华大学,2010 .指导教师(签名):20 年月日1需求与总体设计1.1需求分析1.2总体设计1.3设计要求...................................................................2.…1.4系统主要功能图............................................................ 2•…1.5系统主要类图............................................................... 3•…2详细设计..................................................................... 5.…2.1 Man agerWi ndow 类....................................................... 5.•…2.1.1成员变量和法 ............................................................. 5•…2.1.2详细类图 ................................................................. 5..…2.2 Student 类................................................................. 6.…2.2.1成员变量和法 ............................................................. 6.…2.2.2详细类图 ................................................................. 6.....2.3 Stude ntPicture 类 .......................................................... 7....2.3.1成员变量和法 ............................................................. 7....2.3.2详细类图 ................................................................. 7.....2.4 In putStude nt 类............................................................ 1.....2.4.1成员变量和法 ............................................................. 8....2.4.2详细类图 ................................................................. 8.....2.5 Inquest 类 ................................................................. 9....2.5.1成员变量和法 ............................................................. 9....2.5.2详细类图 ................................................................. 9.....2.6 ModifySituati on 类......................................................... 1.0....2.6.1成员变量和法 ........................................................... .1.0....2.6.2 详细类图 ............................................................... 1..1.....2.7 Delete 类................................................................. 1.1....2.7.1成员变量和法 ............................................................ .1.1....2.7.2 详细类图 ................................................................ 1.2.... 3编码实现.................................................................... .1.3... 4系统测试....................................................................4.9...4.1ManagerWindow 创建窗口.................................................. 4.9...4.2InputStudent 学生信息录入窗口.............................................. .49..4.3Inquest 查询,打印窗口 ....................................................5.0...4.4 ModifySituation 信息修改窗口............................................5.1...4.5Delete 删除信息窗口.......................................................5.1.... 总结 ......................................................................... 52....1需求与总体设计1.1需求分析学生信息管理系统是一个教育单位不可缺少的部分。
2024学生学籍管理系统设计报告
2024学生学籍管理系统设计报告一、引言学生学籍管理是现代学校行政管理工作的重要组成部分。
为了有效管理学校学生的学籍,提高学校管理水平和服务质量,本报告旨在设计一套学生学籍管理系统,使学校能够方便、快捷、准确地管理和查询学生学籍信息,提高学校学籍管理的效率和便利性。
二、系统设计1.系统功能设计(2)学生学历信息管理:包括学生的学号、班级、专业、学制、入学方式、信用学分等学历信息的录入和查询。
(3)学生课程信息管理:包括学生所修课程的成绩、学分、学时等课程信息的录入和查询。
(4)学生奖惩信息管理:包括学生的奖项和惩罚等奖惩信息的录入和查询。
(5)学生毕业信息管理:包括学生的毕业年份、毕业学业等毕业信息的录入和查询。
2.系统架构设计(1)数据库设计:系统将采用关系数据库,通过定义不同的数据表来存储学生的各项信息,并建立相关的关系和索引,提高数据的查询效率。
(2)用户界面设计:系统将采用图形用户界面,用户可以通过界面进行学生信息的录入、查询和修改,界面设计应简洁明了、易于操作。
(3)系统模块设计:系统将划分为学生信息管理、学历信息管理、课程信息管理、奖惩信息管理和毕业信息管理等模块进行设计,每个模块相对独立,方便后续的功能扩展和维护。
三、系统实施1.技术选择(1)开发语言:系统将使用Java作为主要开发语言,Java是一种跨平台、高效且易于维护的编程语言,适合开发大型系统。
(2)数据库管理系统:系统将使用MySQL作为数据库管理系统,MySQL是一种开源的关系数据库管理系统,具有高性能和稳定性。
(3)开发工具:系统将使用Eclipse作为开发工具,Eclipse是一种集成开发环境,可快速开发、调试和管理Java程序。
2.系统测试在系统开发完成后,需要进行系统测试以验证系统的功能和性能是否符合设计要求。
可以通过编写测试用例,对系统的各个功能模块进行测试,包括录入、查询、修改和删除等操作。
同时还可以测试系统的并发性能、负载性能和安全性能等。
学生学籍管理系统c课程设计
学生学籍管理系统c 课程设计一、课程目标知识目标:1. 让学生理解学生学籍管理系统的基本概念、功能模块和数据库设计原则。
2. 使学生掌握使用C语言进行学生学籍管理系统开发的基本步骤和方法。
3. 帮助学生掌握结构体、文件操作、指针等C语言知识在学生学籍管理系统中的应用。
技能目标:1. 培养学生运用C语言解决实际问题的能力,能独立完成学生学籍管理系统的设计与实现。
2. 提高学生分析需求、设计系统、编写代码、调试程序的能力。
3. 培养学生团队协作、沟通表达的能力,能在小组合作中发挥积极作用。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养学生勇于尝试、敢于创新的精神。
2. 培养学生严谨、踏实的学术态度,注重代码规范和程序优化。
3. 增强学生的信息安全意识,让学生明白保护学生隐私的重要性。
本课程针对高年级学生,已具备一定的C语言基础,能够理解并运用面向过程的编程思想。
课程性质为实践性较强的学科项目,旨在让学生将所学知识应用于实际项目中,提高学生的实践能力和创新能力。
在教学过程中,注重引导学生主动探究、合作交流,培养学生解决问题的能力。
通过本课程的学习,预期学生能够独立完成一个功能完善的学生学籍管理系统,并在实践中提高自己的编程技能和团队协作能力。
二、教学内容1. 学生学籍管理系统概述:介绍学生学籍管理系统的基本概念、功能模块、系统架构及其在实际应用中的重要性。
相关教材章节:第1章 软件开发概述2. 数据库设计:讲解数据库的基本概念,指导学生进行学生学籍管理系统数据库的设计,包括表结构设计、字段定义等。
相关教材章节:第2章 数据库设计基础3. C语言基础知识回顾:回顾结构体、文件操作、指针等C语言基础知识,为后续编程打下基础。
相关教材章节:第3章 C语言基础4. 系统功能模块设计与实现:a. 学生信息管理模块:实现学生信息的增加、删除、修改和查询功能。
b. 成绩管理模块:实现成绩的录入、修改和查询功能。
学生学籍管理系统c++课程设计
《学生学籍管理系统》程序设计基础课程设计报告专业:班级:学号:姓名:指导教师:二OO八年六月二十六日C++课程设计—-学籍管理系统实验报告1、对C++设计的《学生学籍管理系统》总体说明我这次做的课程设计是《学生学籍管理系统》,本程序采用C++程序语言编写,运用了基于对象和面向对象的程序设计。
它主要是完成对学生的基本信息和成绩进行录入、查询和删除功能。
实施起来简单快捷,虽然程序简单,但可以作为老师的辅助软件对学生的基本信息和各科成绩进行管理.2、总体设计本程序的流程图如下:3、对《学生学籍管理系统》的介绍(1)具体功能:a)数据录入功能:对B。
TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算(2) 查询功能:分为学生基本情况查询和成绩查询两种:A:学生基本情况查询:A1-—--输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。
A2-—-输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
B:成绩查询:B1:输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx 姓名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分:xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分:xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分:xx………………………共修:xx科,实得总学分为: xxxb)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息.c)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
(2)源程序说明:源程序清单及注释如下:#include<iostream>#include<fstream>#include〈iomanip>using namespace std;class Basic{public:virtual int input(ifstream &its)=0;virtual void input()=0;virtual void display(ofstream &its)=0;virtual void display()=0;virtual void display_1(){}friend class College;protected://把这些数放在这,方便调用Basic *next;//指针int number;//学号char name[40];//姓名int dom_number;//宿舍号double mark; //综合成绩int credit; //实得学分};class Student:virtual public Basic{public:int input(ifstream &its)//输入流{its〉>number;if(number==-1)return 0;else{its>>name>〉sex〉〉dom_number〉〉phone_number;return 1;}}void input()//输入{cout<〈"学号:";cin〉>number;cout〈<" 姓名:”;cin〉〉name;cout<<”性别:";cin>>sex;cout〈<"宿舍号码:”;cin>〉dom_number;cout<<”电话号码:";cin>>phone_number;}void display(ofstream &its)//输出流{its〈<number<〈" ”<<name<<” ”〈〈sex〈<” ”<<dom_number<〈" ”〈〈phone_number〈<endl;}void display()//输出{cout〈<number<〈setw(10)<<name〈〈setw(6)〈〈sex<<setw(10)<〈dom_number<〈setw(13)<<phone_number〈<endl;}private:char sex[5];//性别char phone_number[20];//电话号码};class Course:virtual public Basic{public:int input(ifstream &its)//输入流函数{its〉>number;if(number==-1)return 0;else{its>〉chass_number>〉chass_name〉>chass_mark〉>peacetime_mark>〉experiment_mark〉〉txt_mark;account();return 1;}}void input()//输入函数{cout〈〈”学号=";cin〉>number;cout〈〈"课程编号=”;cin>〉chass_number;cout〈〈"课程名称=”;cin>〉chass_name;cout<〈”学分=";cin>>chass_mark;cout<<”平时成绩=”;cin>〉peacetime_mark;cout<<"实验成绩=";cin〉〉experiment_mark;cout〈<”卷面成绩=”;cin〉〉txt_mark;account();}void account()//计算综合成绩和实得学分{int i;if(experiment_mark==-1)mark=peacetime_mark*0.15+experiment_mark*0。
学生学籍管理系统的设计报告
学生学籍管理系统的设计报告一、需求分析信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。
为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件将会为教学办公室带来了极大的方便。
学籍管理的繁索给具有强烈时间观念的人员带来了诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生档案的管理方便,开发人员完成了全面的调查与分析,同时与目标用户进行了多次深入沟通,并在次基础上着手开发《学籍管理系统》软件。
二、概要设计软件适用于教育界,对学生的学籍可以随时输入、输出、查找、修改。
1、功能需求①能够游览学生学籍的所有信息②能够制定招生计划并能进行学生注册登记管理③能够通过学生的一个信息找到个人学籍的相关信息(例如:知道学生的姓名能够找到该学生的所有有关的学籍信息)④通过一条信息找到与之匹配的信息(例如:查询同一专业的所有人员)⑤相关人员能对包含学生的学籍信息进行管理(因为学生有关情况不是固定不变的所以一旦学生信息发生改变就要对原有信息进行诸如添加,删除,修改等的操作)⑥必须能对学生有关信息进行相关统计计算(例如:评定各项奖项,德育考评等)⑦需要提供打印功能(能对要打印的各项内容都能进行打印服务)⑧对毕业生进行档案管理⑨能提供条形码进行刷卡服务2、性能需求数据精确度:查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到时间特性:一般操作的响应时间应在1-2秒内,对软磁盘和打印机及条形码刷卡服务响应时间也应在可接受的时间内完成。
适应性:对前面提到的运行环境要求不应存在困难。
三、详细说明本系统的主要任务是实现对学校教导处的学生信息管理、成绩管理、课程管理及相关查询。
其主要功能包括:1、学生信息管理功能班级管理:提供给班主任进行本班学生的信息更新、删除。
添加学生:以班级为单位,进行学生入库。
其中分为单个添加和成批添加。
学生学籍管理系统 课程设计
《研究开发与实践》课程报告课程名称:学籍管理系统姓名(学号):同组成员名单(角色):指导教师:评阅成绩:评阅意见:提交报告时间:2011年6 月8 日学籍管理系统的实践与研究计算机科学与技术专业学生指导老师吕学斌[摘要] 由于学校学生人数较多,对于学生的学籍管理,如果采用手工录入的方法将消耗大量的人力、物力;所以有必要开发出管理学生学籍的软件,而本小组选取的实践项目就是开发一款这样的软件。
本次实践采用面向对象的方法,用java编程语言实现软件的功能,以便于软件的调试、修改和维护。
关键词:学籍管理一、需求分析1.1.1 系统目标通过本系统软件,能帮助教研人员利用计算机,快速方便的对学生学籍管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能够具体化,直观化、合理化。
开发意图:a. 为了学籍管理系统更完善;b. 为了教学办公室对学生档案的管理更方便;c. 为了减轻行政人员的工作负担。
1.1.2 作用及范围本软件适用于教育界,它是比较完善的系统管理软件,对学生的学籍可以随时输入、输出、查找。
1.1.3 运行环境由于本软件是用java编写的,对于安装了java虚拟机的系统都可以运行本软件;这意思java跨平台的一个优点。
1.1.4 故障分析由于学籍信息的重要性,系统的软硬件应均为质量可靠,确保不会由于软硬件故障造成系统运行终止而使用户蒙受损失。
1.1.5 系统利用率由于系统较小,占用系统资源很少,因此不过多的考虑系统利用率问题。
1.1.6 可靠性通过软件的编制及硬件设置,控制使用者接触数据的权限,从而确保使用者无法操作与其无关的数据。
1.1.7 可用度本系统面向所有高校的用户,方便易用。
1.2 功能划分学生档案管理:学生的一般情况,及奖励,处分情况;学生成绩管理:学习成绩,已修学分,平均分排名;用户权限管理:学生权限,教师权限;1.2.1 需求分配1.2.2 数据库描述数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬自愿组成的系统;他与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东交通学院数据库课程设计学生学籍管理系统院(系)别信息科学与电气工程学院班级学号姓名指导教师时间2012-04-09—2012-04-20课程设计任务书题目学生学籍管理系统系 (部) 信息科学与电气工程学院专业信息管理与信息系统班级学生姓名学号4 月 9 日至 4 月 20 日共 2 周指导教师(签字)系主任(签字)2012年 5 月 4 日成绩评定表目录摘要 (2)1.需求分析 (3)1.1用户需求 (3)1.2功能需求 (3)2.数据库设计 (3)2.1功能模块 (3)2.2数据项 (3)2.3数据流图 (6)2.4系统部分E—R图 (7)3. 逻辑结构设计 (7)3.1关系模型 (7)4.数据库创建 (8)4.1创建老师基本表 (8)4.2创建学生基本表 (9)5.创建数据源 (9)6.功能实现 (9)6.1界面设计 (9)7.设计总结 (16)8.参考文献 (17)1摘要学生学籍管理是教育教学单位不可缺少的部分,它的内容对教学管理和学校的决策者都非常重要。
给学校教学管理提供了很大的方便性,提高了工作效率。
但是一直以来人们用传统人工的方式管理文件文档,这种管理方式效率低,保密性差,出错不易更改,同时也耗费了大量的人力财力,时间一长,将产生大量的文件数据,这对于查找,维护,更新都带来了很大的困难。
随着科学技术的不断发展,尤其是计算机软件水平的日益提高,使得以上问题得到了很好的解决。
使用计算机可以方便的对大量数据进行增加,删除,更新等操作。
它有着人工管理永远无法比拟的优点:检索迅速,查找方便,可靠性大,存储量大,保密性好,寿命长,成本低等。
例如:通过校园网,我们可以方便的进行学生信息查询,学生成绩的添加,以及最新的教务通知等。
当然,这些都离不开数据库技术和网络技术的支持。
综上,开发这样的一套软件十分必要。
同时旧的人工管理机制必将被以计算机为基础的信息管理所取代,从而实现对数据的高效,长久,安全的管理。
关键字:学籍、管理、软件21.需求分析1.1用户需求本系统是针对学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。
主要涉及院部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。
1.2功能需求○1基本信息管理——系统管理员负责对各种基本信息的录入、修改、删除等操作。
○2学生成绩管理——系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。
○3信息查询统计——学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和获得奖学金学生的信息,最后再输出所有的信息。
○4毕业生信息管理——系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。
○5系统用户管理——系统管理员负责用不同的权限来限制不同用户对系统的使用。
2.数据库设计2.1功能模块2.2数据项表 2.1 老师基本信息表表 2.2 学生基本信息表表 2.3 专业信息表4表 2.4 毕业信息表表 2.5 院系信息表表 2.6 课程信息表表 2.7 学生选课信息表5表 2.8 老师授课信息表2.3数据流图62.4系统部分E-R图3.逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构一般分为3步进行:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。
3.1 关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体型间的联系则有以下不同的情况:(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身7的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。
如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:n联系转换为一个关系模式。
与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(5)具有相同码的关系模式可合并。
将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间,政治面貌,家庭住址,籍贯,邮政编码),此为学生实体对应的关系模式。
教师(教工号,姓名,性别,职称,电话,所属院系,),此为教师实体对应的关系模式。
课程(课程号,课程名,学分),此为课程实体对应的关系模式。
院系(院系号,院系名称,院长名),此为院系实体对应的关系模式。
选修(学号,课程号,成绩),此为选修关系对应的关系模式。
毕业(毕业证号,已修学分,需修学分,所属院系,入学时间),此为毕业关系对应的关系模式。
专业(专业号,专业名,入学时间),此为专业实体对应的关系模式。
4.数据库创建4.1创建老师基本表Create table 老师表( tno char(10) primary key, //主键tname varchar(10) not null,tsex char(2) not null,profess varchar(10) not null,8Sage smallint not null,dname varchar(8) not null,tel int ,)4.2创建学生基本表Create table 学生表( sno varchar(10) primary key,sname varchar(10) not null,ssex char(2) not null,birthday timestamp(20),symbol varchar(8),Id varchar (20),Intime varchar (20) ,birthplace varchar(20) not null,homeaddr varchar(20) not null,postcode int,)其他表的建立类似上述两例。
5. 创建数据源此次课程设计用ODBC语言将数据库与C++连接,在连接之前应创建数据源。
在控制面板上打开管理工具,可以找到数据源(ODBC),添加数据源,可以创建不同类型的数据库,此次设计用到了SQL Server,便选择其,打开SQL Server中的服务管理器可找到服务器的名称,将默认数据库改为自己的数据库Student。
点下一步直至完成。
这样,数据源创建成功了。
6.功能实现6.1界面设计9管理员登陆实现代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 学生学籍管理系统{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void label2_Click(object sender, EventArgs e) {}10private void textBox2_TextChanged(object sender, EventArgs e) {}private void button2_Click(object sender, EventArgs e) {Application.Exit();}private void button1_Click(object sender, EventArgs e) {string name = "admin", pw = "admin";if (Username.Text != name || Password.Text != pw) {MessageBox.Show("用户名或密码错误");}if (Username.Text == name && Password.Text == pw) {Form2 frm = new Form2();frm.Show();this.Hide();}}}}11学生信息界面的实现代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 学生学籍管理系统{12public partial class Form2 : Form{public Form2(){InitializeComponent();}private void label6_Click(object sender, EventArgs e){}private void Form2_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){SqlConnection con = new SqlConnection(@"DataSource=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\student\学生学籍管理系统\学生学籍管理系统\学生学籍管理系统.mdf;IntegratedSecurity=True;User Instance=True");con.Open();string strsql = "select * from 学生基本信息表 where sno='" +sno.Text + "'";SqlCommand cmd = new SqlCommand(strsql, con);SqlDataReader rd = cmd.ExecuteReader();while (rd.Read()){sno.Text = rd["sno"].ToString();name.Text = rd["sname"].ToString();sex.Text = rd["ssex"].ToString();birth.Text = rd["birthday"].ToString();mianmao.Text = rd["symbol"].ToString();13id.Text = rd["Id"].ToString();ruxue.Text = rd["Intime"].ToString();jiguan.Text = rd["birthplace"].ToString();jiating.Text = rd["homeaddr"].ToString();youbian.Text = rd["postcode"].ToString();}rd.Close();}private void button2_Click(object sender, EventArgs e){SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\student\学生学籍管理系统\学生学籍管理系统\学生学籍管理系统.mdf;IntegratedSecurity=True;User Instance=True");con.Open();string strsql = "insert into 学生基本信息表values('" + sno.Text + "','" + name.Text + "','" + sex.Text + "','" + birth.Text + "','" + mianmao.Text + "','" + id.Text + "','" + ruxue.Text + "','" + jiguan.Text + "','" + jiating.Text + "','" + youbian.Text + "')";SqlCommand cmd = new SqlCommand(strsql, con);cmd.ExecuteNonQuery();MessageBox.Show("插入数据成功");con.Close();}private void button4_Click(object sender, EventArgs e){SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\student\学生学籍管理系统\学生学籍管理系统\学生学籍管理系统.mdf;IntegratedSecurity=True;User Instance=True");14con.Open();string sql = "delete from 学生基本信息表where sno='" + sno.Text + "'";SqlCommand cmd = new SqlCommand(sql, con);cmd.ExecuteNonQuery();MessageBox.Show("删除数据成功");con.Close();}private void button3_Click(object sender, EventArgs e){sno.Text = "";name.Text ="";sex.Text = "";birth.Text = "";mianmao.Text = "";id.Text = "";ruxue.Text = "";jiguan.Text = "";jiating.Text ="";youbian.Text ="";MessageBox.Show("清空成功");}}}插入学生信息实例:157.设计总结通过这次的实验,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQL2000的认识,了解了相关的C++知识,尤其对数据库与开发程序的链接有了进一步的认识。