安徽职业技术学院实验(实训)报告2017~2018学年第 1 学期学院安徽职业技术学院班级 ____名称 ___学生成绩管理系统学号姓名成绩指导教师孙街亭摘要:信息技术的发展给学校管理带来了巨大的挑战,同时也带来了巨大的机遇,要想使学校管理方便快捷,离不开信息化建设的实施。
如今学校对于信息化现代化的学生成绩管理系统的需求越来越强烈,借助先进技术和工具,打造一整套规范的、完善的学生成绩管理体系,才能够提升学校对学生管理的效率,降低成本。
所以构建一个学生成绩管理系统势在必行。
开发本系统可以减轻教职员工的工作压力,方便学生查看自己的成绩,比较系统地对教务、教学上的各项服务和信息进行管理从而提高了保密性,加快查询速度、提高了管理效率。
一、系统需求分析1、功能需求本软件有以下几方面的功能(1)身份验证功能:对登陆的用户进行验证,通过者才能进入系统。
(2)查询学生的成绩信息:对学生成绩信息进行(按学期、按学年、在校成绩)查询(3)查询学生基本信息:对学生的基本信息进行查询(4)录入学生的成绩:对学生的成绩进行逐一录入或通过表格统一录入(5)修改学生的成绩:对学生的成绩进行修改(6)查询教师的基本信息:对教师的基本信息进行查询(7)查询学生的成绩信息:对某一(班级、姓名、学号)进行成绩查询2、开发环境(1)系统的开发环境为:windows;(2)编程软件:Microsoft Visual Studio2010;(3)数据库:sql server 2008(4)编程语言:C#3、运行环境(1)硬件:主流配置的计算机;(2)软件:操作系统:Windows;(3)编程软件:Microsoft Visual Studio2010;(4)数据库:SQL Server20084、可行性分析✧操作可行性:本系统UI设计简单,菜单及功能文字简洁易懂,操作简单方便,让用户一接触界面就对其操作及功能一目了然,用户也不需要较强计算机专业知识,可操作性很强,所以在操作上是可行的。
✧技术可行性:硬件和软件的要求不高,系统的兼容系统,该平台的移植性能也很好。
5、系统流程分析(1)启动系统,输入登录信息;(2)通过系统检验后对系统进行初始化;(3)系统进入各级主界面,点击激活系统模块、并进入指定的模块;(4)各功能执行完毕后关闭此模块(5)由关闭系统事件激活关闭系统模块并退出系统。
二、系统总体设计1、系统层次模块图(1)系统管理模块:(2)学生管理模块:(3)教师管理模块:学生模块教师模块学生成绩管理系统按学期查询按学年查询在校成绩查询学生管理模块数据库教师管理模块(4)导入成绩模块:(5)查询成绩模块:2、数据库设计数据库设计主要完成的是如果对数据进行存储以及如何 对数据库中的数据进行操作,在满足建设原则的基础上结合不 同用户的特定需求建立数据库,使其具有操作简便,快速稳定,安全性好的特点,对整个系统的运行起着重要的作用。
该系统的开发首先是数据库框架的搭建,该系统主要有教师表,学生表,课程表,成绩表,具体实现如下: 教师表(teacher ):包括的数据项有工号(teacherID )、密码(password )、姓名(name )、职称(title )、学院(college )。
CREATE TABLE [dbo].[teacher](填写表格导入成绩模块数据库按姓名查询按班级查询按学号查询查询成绩模块数据库[teacherID][nchar](10)NOT NULL,[password][nchar](10)NOT NULL,[name][nchar](10)NOT NULL,[title][nchar](10)NOT NULL,[college][nchar](10)NOT NULL,CONSTRAINT[PK_teacher]PRIMARY KEY CLUSTERED([teacherID]ASC)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO学生表(student):包括的数据项有学号(studentID)、密码(password)、姓名(name)、学院(college)、专业(college)、班级(class)。
CREATE TABLE[dbo].[student]([studentID][nchar](10)NOT NULL,[password][nchar](10)NOT NULL,[name][nchar](10)NOT NULL,[college][nchar](10)NOT NULL,[major][nchar](10)NOT NULL,[class][nchar](10)NOT NULL,CONSTRAINT[PK_student]PRIMARY KEY CLUSTERED([studentID]ASC)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]成绩表(score):包括的数据项有有学号(studentID)、学年(academicYear)、学期(term)、课程编号(courseID)、课程名(courseName)、学分(credit)、成绩(score)。
CREATE TABLE[dbo].[score]([studentID][nchar](10)NOT NULL,[academicYear][nchar](10)NOT NULL,[term][nchar](10)NOT NULL,[courseID][nchar](10)NOT NULL,[courseName][nchar](10)NOT NULL,[credit][int]NOT NULL,[score][real]NOT NULL)ON[PRIMARY]GO课程表(course):包括的数据项有工号(teacherID)、班级(class)、课程编号(courseID)、课程名(courseName)。
CREATE TABLE[dbo].[course]([teacherID][nchar](10)NOT NULL,[class][nchar](10)NOT NULL,[courseID][nchar](10)NOT NULL,[courseName][nchar](10)NOT NULL)ON[PRIMARY]GO三、系统详细设计1、系统管理模块创建系统启动后,用户首先选择身份,输入用户名和密码。
本系统供学生、教师两种用户使用,在这里,教师的权利最大。
登陆时,用户首先要选择属处群体,再输入用户名和密码,登陆后,将有不同的界面显示。
2、教师管理模块创建进入教师管理界面后,显示“欢迎您:XX”,您可以选择导入成绩、修改成绩、成绩查看、个人信息以及关闭程序操作。
点击即可进入所需要的服务。
✧导入成绩模块:选择填写或表格导入,进入相应界面。
填写:输入(学号、成绩、学分),选择学年、学期、课程编号、课程名称,点击提交添加,或重置清除。
点击关闭按钮返回教师管理界面。
表格导入:点击选择excel表格按钮进入文件选择对话框,选择成绩表后会显示在界面,点击导入成绩将成绩表中所有学生成绩导入数据库。
点击关闭按钮返回教师管理界面。
✧修改成绩模块:进入修改成绩界面,输入(学号、成绩、学分),选择学年、学期、课程编号、课程名称,点击提交修改,或重置清除。
点击关闭按钮返回教师管理界面。
教师点击关闭按钮,弹出对话框选择是否退出。
✧成绩查看模块:进入成绩查看界面,输入(学号、姓名、班级),点击相应按钮会显示成绩。
点击关闭按钮返回教师管理界面。
✧个人信息模块:进入个人信息界面,会显示当前教师的(工号、学院、姓名、职称)信息。
点击关闭按钮返回教师管理界面。
3、学生管理模块创建进入学生管理界面后,显示“欢迎您:XX”和学生(学号、姓名、学院、专业、班级)信息,您可以选择查看成绩和关闭程序操作。
选择学年和学期点击(按学期查询、按学年查询、在校成绩查询)按钮,在学生管理界面显示对应的成绩。
点击关闭按钮,弹出对话框选择是否退出。
四、各模块功能描述及主要源代码1、系统管理模块判断登陆者的身份是教师还是学生,通过查找输入的用户名和密码是否存在,判断能否进入相应的模块。
2、教师管理模块2.1导入成绩模块:填写模块:(1)读入所有输入的数据,查找学生是否存在,将所有数据插入到据库。
(2)查找数据库数据(3)执行SQL增删改语句导入表格模块:(1)通过Open选取表格,并将数据显示在界面上(2)读取DataTable所有数据,生成sql插入语句集合,循环插入2.2修改成绩模块:(1)读入所有输入的数据,查找学生是否存在,修改学分和成绩。
2.3成绩查看模块:(1)学号查询,查找该学号所有的成绩,显示在界面上。
(2)姓名查询,查找该姓名的所有学号,循环遍历学号,查找该学号的所有成绩并显示在界面上。
(3)班级查询,查找该班所有学生的成绩并显示在界面上2.4个人信息模块:(1)查找教师所有信息3、学生管理模块(1)查找学生表(student)将查找到的信息显示在学生管理界面上(2)按学期查询,检查选择的数据是否存在,通过学号、学年、学期三个条件查询数据库,将查到的数据显示在界面上。
(3)按学年查询,检查选择的数据是否存在,通过学号、学年两个条件查询数据库,将查到的数据显示在界面上。
(4)在校成绩查询,通过学号查询数据库,将查到的数据显示在界面上。
(5)检查选择的数据是否存在(6)将查到的数据显示在界面上(7)将sql语句读取到DataSet里(8)退出程序五、系统运行结果1、统一的登陆界面2、学生主界面3、学生界面按学期查询4、学生界面按学年查询5、学生界面在在校成绩查询6、教师主界面7、导入成绩——填写8、修改成绩9、按姓名查询10、按学号查询11、成绩查看——按班级查询12、个人信息六、总结在系统设计过程中,从开始的茫然无措到最后系统的设计完成,中间经历了一段曲折的路程,遇到了很多没有学习过的新知识,花费了大量时间去了解和接受这些知识。
但是由于时间有限,因此很多知识的运用并不顺利,比如利用C#进行开发时,代码的编写不够规范,语句存在冗余,在界面设计上较为粗糙,功能模块也较少,以后会提高自己在这方面知识的学习和应用,仅仅利用了很小的一部分知识来编写系统。