收藏 分销(赏)

学生成绩管理系统课程设计报告18386.doc

上传人:可**** 文档编号:4814119 上传时间:2024-10-13 格式:DOC 页数:33 大小:186.54KB 下载积分:8 金币
下载 相关 举报
学生成绩管理系统课程设计报告18386.doc_第1页
第1页 / 共33页
学生成绩管理系统课程设计报告18386.doc_第2页
第2页 / 共33页


点击查看更多>>
资源描述
课程报告说明书 课 程 名 称: 软件工程 系 统 名 称: 学生成绩管理系统 年级/专业/班: 12软件工程班 学 生 姓 名: 吕 鹏 飞 学   号: 201240450104 指 导 教 师: 余 钢 课程考核成绩: 系统开发(代码质量、完成度、规范性)(30) 创新性(10) 说明书撰写(规范性、图表、报告内容)(60) 总 分(100) 2014 年 6 月 6 日 2 目 录 1 前言 1 1。1系统简介 1 1。2设计目的 1 2 需求分析 2 2。1 功能模块划分 2 2.2 功能模块描述 3 2.3数据字典与数据流图 8 3 概要设计 14 3。1 软件功能结构 14 4 详细设计 15 4。1数据库设计 15 4。2界面设计要求 16 4.3学生成绩管理界面设计 19 4.4教师管理界面设计 24 4。5管理员界面设计 30 5 实现 35 5.1 实现环境 35 5。2 语言选择 35 6 测试分析 36 总 结 40 参考文献 41 1 前言 1。1系统简介 本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。 本系统主要包括注册管理、教师管理、学生信息查询、添加、修改、删除等部分。其功能主要有: (1)学生信息的添加,包括输入学生基本信息和成绩。 (2)学生信息的查询,包括查询学生基本信息和成绩。 (3)学生信息的修改,包括修改学生基本信息和成绩。 (4)学生信息的删除,包括修改学生基本信息和成绩。 (5)登录用户密码修改,用户登录到系统可进行相应的用户密码修改。 (6)管理员用户对用户名的管理,包括添加新用户、删除用户。 学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的库.而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用Microsoft公司的开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统. 1。2设计目的 近年来,随着学校的办学规模越来越大,在校学生数也日益增多,随之而来的是教务管理工作日趋复杂繁重,要耗费大量人力、物力,已愈来愈成为学校日常管理工作的一个瓶颈.学生成绩管理是教务、教学管理中一个重要组成部分,也是比较烦琐的工作.在学生成绩管理事务中,一般有成绩输入:对各年级各班各学期学生的各科成绩进行输入;成绩统计:需要对每个学生的成绩进行处理,例如排名次,成绩汇总,成绩升降;成绩报表:将学生成绩以报表形式输出等等。每次考试都需要大量的人力、物力,为了减轻学生成绩管理工作量和实现现代化的科学管理,特设计这个系统.并根据学校的实际情况,制定以下数据和功能需求. 2 需求分析 2.1 功能模块划分 登录系统 请求用户名及密码 用户不存在或密码错误 登录密码及用户类型验证 用户存在且密码正确 是否系统管理员? 进入队员管理模块 否 是 是 进入后台管理模块 操作结束? 否 是 操作结束? 是 是 退出系统 图2。1:程序流程图 图2.2:功能模块划分图 2。2 功能模块描述 功能需求: 学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息,管理员可以管理所有信息。对于本系统,我们需要实现以下一些基本功能: 1 学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行分类.这样学生就能很方便的找到自己需要的信息。 2 添加功能:管理员可以通过填写表格的形式输入学生成绩等相关信息。系统可以自动避免重复信息。 3 修改功能:管理员可以对数据库中的信息进行修改。系统能够通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。 4 删除功能:管理员可以对数据进行删除操作.系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉. 5 管理员排序功能:管理员可以通过条件选择查询所有信息,并进行排序. 性能需求分析: 登录、用户界面需求:简洁、易懂、易用、友好的用户界面。 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理等。 登录模块 : 是用户可以进行各种操作的必须前提.   输入项目:用户名、密码。   输出项目:浏览区和基本资料区。   程序逻辑:   P1:检查用户名、密码与数据库是否吻合(完整性和一致性).   P2:产生提示用户名或密码错误的消息窗口;   P3:用户确认后退出程序运行;   P4:进入主窗体; P5:进入事件等待状态. 功能编号 A1 功能名称 登录功能 调查者 A 调查时间 B 审核人 C 功能描述 用户(学生、教师、管理员)可以根据自己所也有的权限进行不同登陆界面的登录,是用户可以进行各种操作的必须前提。 输入项 用户名、密码。 处理描述 根据不同的权限进行不同的登陆界面,不同的操作。程序逻辑:1:检查用户名、密码与数据库是否吻合(完整性和一致性)。2:产生提示用户名或密码错误的消息窗口;3:用户确认后退出程序运行;4:进入主窗体;5:进入事件等待状态。 输出项 浏览区和基本资料区。 界面要求 美观即可 表2。2。1登录模块表 成绩录入模块 主要功能用来对学生的成绩进行收集和修改。具体包括学生成绩录入、修改、增加、删除、查询、打印等功能,由于一些资料可以Word文档或Excel表格输入,故在此模块中增加了导入、导出数据功能。。修改要与成绩录入相对应。增加、删除是对基本表的操作。查询条件设置应该齐全,可以年级查询,也可以姓名查询,学号查询等等. 查询模块   功能:完成查询功能。   性能:相应时间应尽量快。   输入项目:要查询的查询项。   输出项目:查询项.   程序逻辑:   P1:进入查询窗体;   P2:若用户取消,则返回;   P3:获得查询结果;   P4:查询结果显示在主窗体上,并等待用户确认;   P5:若查询结果项数等于零,返回。 功能编号 A1 功能名称 查询功能 调查者 A 调查时间 B 审核人 C 功能描述 完成各个用户需求的查询功能,性能相应时间应尽量快. 输入项 要查询的查询项。 处理描述 先进入查询窗体,根据不同的查询需求进行匹配查询,  若用户取消,则返回; 输出项 所需要的查询项。 界面要求 美观即可 表2。2。2查询模块表 查询 不符合条件 条件     满足条件 数据库 显示结果 退出 图2。2.1 查询模块流程图 修改模块   功能:完成修改功能。   输入项目:各种修改.   输出项目:修改后的基本资料   程序逻辑:   P1:点击要修改的表;   P2:产生窗体; P3:等待用户修改. 功能编号 A1 功能名称 修改功能 调查者 A 调查时间 B 审核人 C 功能描述 完成各个用户不同需求的修改功能,性能响应时间应尽量快。 输入项 各种修改项. 处理描述 对表格的内容进行修改,若权限足够,则可以对其进行权限内的修改,否则不可产生修改项 输出项 修改后的基本资料 界面要求 美观即可 表2。2.3修改模块功能表 登入成绩管理系统 维护 查找记录 查找成功 显示出错信息 修改增加记录 继续? 继续? 退出 图2。2.2修改模块流程图 功能编号 A5 功能名称 排序功能 调查者 A 调查时间 6月1日 审核人 包先跃 功能描述 完成学生成绩的升序排列功能,性能响应时间应尽量快。 输入项 所有学生成绩. 处理描述 对学生的成绩进行排序,若权限足够,则可以对其进行成绩的排序,否则不可产生排序项 输出项 修改后的基本资料 界面要求 美观即可 表2。2。4 :排序功能模块 2。3数据字典与数据流图 2。3.1数据流图 图:2.3.1顶层数据流图 图2.4。6学生数据流图1 2。4.7学生数据流图2 2。3。2数据字典 数据元素 系统名:学生成绩管理系统 别名:the Student result management system 条目名1:学生成绩 条目名2:用户信息 属于数据流 学生成绩信息和用户信息 存储处 SQL Server 20R2数据库中的学生成绩表和用户信息表 数据元素构成: 1。学生成绩=学号+姓名+课程名+分数 数据元素详述: 1)学号:唯一标识某一用户的元素。 2)姓名:这一元素在一定情形下可唯一标识某一学生,但一般和学号一起来作为主键。 3)课程名:当要查询某一学生所学习的课程时,先找到其学号然后就可以找到他(她)所学习的课程名。 4)分数:这一元素单独存在时无实际意义,作为学生成绩时,必须知晓学生的学号、姓名、课程名。 2.用户信息=用户名+密码+类别+科目 数据元素详述: 1)用户名:唯一标识某一用户的元素. 2)密码:系统登录时的通行证。 3)类别:由学生、教师、管理员三个类别组成,而这三个类别又有着其各自的功能。 4)科目:学生作为一个普通用户,科目为空,因为他(她)只能查询自己的成绩,是一个被动者,故不同的科目对于该用户本身无实际意义;教师拥有添加用户、成绩等功能,这几个功能就涉及到科目,故在数据库添加教师用户时就要强调科目;管理员作为整个系统的管理者,拥有最高权限,但他(她)只需要添加或删除用户来达到管理系统的目的即可。 修改记录: 编写 陈立阳 日期 2014年5月25日 审核 包先跃 日期 2014年6月14日 表2。3。1数据元素 数据流 系统名:学生成绩管理系统 别名:the Student result management system 条目名1:查询个人成绩 条目名2:添加基本信息 条目名3:删除基本信息 条目名4:修改基本信息 条目名5:排序 来源: 成绩信息表和用户信息表 去处: 成绩信息表和用户信息表 数据结构: 查询个人成绩:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。 添加基本信息:管理员通过该数据流添加用户,教师通过该数据流添加学生成绩。 删除基本信息:管理员通过该数据流删除用户。 修改基本信息:教师通过该数据流可以修改密码、成绩等监本信息。 排序:教师拥有管理成绩的权限,所以可以对成绩进行排序。 修改记录: 编写 陈立阳 日期 2014年5月25日 审核 包先跃 日期 2014年6月14日 表2。3。2数据流 数据存储 系统名:学生成绩管理系统 别名:the Student result management system 条目名:成绩、用户 存储组织:每一个学生(按学号)拥有一条记录、每一用户(按用户名)拥有一条记录 记录数:大约10000 (尽可能大并且符合实际) 主关键字:学号、用户名 记录组成: 成绩:学号+姓名+课程名+分数 用户:用户名+密码+类别+科目 简要说明:该系统主要包括成绩信息表和用户信息表。 修改记录: 编写 陈立阳 日期 2014年5月25日 审核 包先跃 日期 2014年6月14日 表2.3.3:数据存储 加工 系统名:学生成绩管理系统 别名:the Student result management system 输入: 用户名、密码 输出: 用户基本信息窗口和功能窗口 输入: 要查找的内容 输出: 所查到的相关内容(一行或多行记录) 输入: 要修改的内容 输出: 修改后的内容(一次修改一条记录) 输入: 要添加或删除的用户名 输出: 创建成功或成功删除 加工逻辑: 1)根据不同的权限进行不同的登陆界面,不同的操作。程序逻辑:1:检查用户名、密码与数据库是否吻合(完整性和一致性).2:产生提示用户名或密码错误的消息窗口;3:用户确认后退出程序运行;4:进入主窗体;5:进入事件等待状态。 2)进入查询窗口选择查询方式,然后输入相应的内容,通过点击查找按钮得到结果。 3)对表格的内容进行修改,若权限足够,则可以对其进行权限内的修改,否则不可产生修改项。 4)添加新用户时通过输入数据项然后与数据库连接将新用户加载到数据库中,删除用户通过从数据库中读取用户信息然后删除用户。 简要说明:数据加工是为了让用户对整个系统的功能实现有一个更加深入的认识. 修改记录: 编写 陈立阳 日期 2014年5月25日 审核 包先跃 日期 2014年6月14日 表2。3。4数据加工 3 概要设计 3。1 软件功能结构 图3。1.1系统功能流程图 4 详细设计 4。1数据库设计 本系统的数据库是SQL server数据库,在SQL环境下创建数据库学生成绩管理系统.mdf文件。该数据库包括学生成绩表、用户登录表用于纪录学生的基本信息数据库表结构如下所示: 4.0。1 各表的物理结构 表4.0.1 学生成绩表 表4.0.2 用户登录表 29 4.0。2数据库连接代码 private void button1_Click(object sender, EventArgs e) { string str = ”Data Source=(local);Initial Catalog=学生成绩管理系统;Integrated Security=True"; //数据库连接字符串,。表示本机服务器DataBase为表名,Integrated Security=True是采用windows身份验证方式登录 SqlConnection conn = new SqlConnection(connStr); //根据连接字符串,新建数据库连接 string sqlStr = "select * from [student1]"; //查询student1表的查询语句 SqlCommand cmd = new SqlCommand(sqlStr, conn); //根据查询语句和数据库连接,等到查询命令对象 SqlDataReader reader = cmd。ExecuteReader();//从查询命令对象中获得一个读取数据库数据的对象 while (reader.Read()) //循环读取下一行数据,如果下一行没有数据返回false { string id = reader[”id”]。ToString();//根据列名获得数据 string name = reader["name”]。ToString(); string sex = reader["sex”]。ToString(); MessageBox.Show(string.Format(”id={0},name={1},sex={2}”, id, name, sex)); } } 4.2界面设计要求 用于输入用户名和密码登录,选择相应的用户类型进入系统,若是用户类型选择错误则不能进入系统.输入用户名和密码后点击确定判断数据库中的用户是否为合法用户。 图4.1.1登录界面 设计代码: using System; using System.Collections。Generic; using System.ComponentModel; using System.Data; using System。Drawing; using System.Text; using System。Windows.Forms; using System.Data。SqlClient; namespace 学生成绩管理系统 { public partial class Login : Form { static public string sn,sub; public Login() { InitializeComponent(); } Form2 fr2 = new Form2(); Form3 fr3 = new Form3(); Form4 fr4 = new Form4();//--——-———-——-——————-—————-—创建新窗体 private void Login_Load(object sender, EventArgs e) { timer1.Start(); // ——--——-—-———————-—-———————Timer控件 } private void btnlogin_Click(object sender, EventArgs e) {//Password=bxy;Persist Security Info=True;User ID=bxy;Initial Catalog=学生成绩管理系统;Data Source=(local) string str = "Data Source=(local);Initial Catalog=学生成绩管理系统;Integrated Security=True"; // string str = "Password=bxy;Persist Security Info=True;User ID=bxy;Initial Catalog=学生成绩管理系统;Data Source=PC-200812051504”; SqlConnection conn = new SqlConnection(str);//——————-——————--———-—————-—-———----—连接数据库 conn。Open(); if( txtname 。Text=="”||txtpassword .Text==”") MessageBox。Show (”请不要遗漏信息!"); if (rbtnmanager.Checked) { string cstr="select * from 用户登录 where 类别='管理员’and 用户名='”+txtname.Text.Trim ()+"’and 密码=’"+txtpassword .Text。Trim ()+"'"; SqlCommand comm=new SqlCommand (cstr,conn ); SqlDataReader dr=comm.ExecuteReader (); if (dr.Read()) { sn = txtname.Text.Trim(); fr4。Show(); this.Visible = false; } else { MessageBox.Show("输入有误,请重新输入!”); txtname。Text = "”; txtpassword。Text = ””; } } if (rbtnteacher.Checked) { string cstr = "select * from 用户登录 where 类别='教师'and 用户名='" + txtname。Text.Trim() + "'and 密码=’" + txtpassword.Text.Trim() + ”'”; SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr。Read()) { sn = txtname.Text。Trim(); sub = dr.GetValue(3)。ToString (); fr3。Show(); this。Visible = false; } else { MessageBox.Show(”输入有误,请重新输入!”); txtname。Text = ""; txtpassword.Text = ”"; } } if (rbtnstudent。Checked) { string cstr = "select * from 用户登录 where 类别='学生'and 用户名='” + txtname.Text.Trim() + ”’and 密码=’" + txtpassword。Text.Trim() + "'"; SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read()) { sn = txtname。Text.Trim();fr2.Show(); this。Visible=false ; } else { MessageBox。Show("输入有误,请重新输入!"); txtname。Text = ””; txtpassword。Text = ””; } } conn。Close(); conn。Dispose(); } private void button2_Click(object sender, EventArgs e) { Application。Exit(); } private void timer1_Tick(object sender, EventArgs e) { label1.Text = ”当前时间为:” +DateTime。Now .ToLongDateString() +" "+DateTime。Now。ToLongTimeString(); } private void txtname_TextChanged(object sender, EventArgs e) { } private void txtpassword_TextChanged(object sender, EventArgs e) { } private void rbtnmanager_CheckedChanged(object sender, EventArgs e) { } private void rbtnteacher_CheckedChanged(object sender, EventArgs e) { } } 4.3学生成绩管理界面设计 此部分主要针对学生信息的管理,可以查询学生的所有成绩信息,实现成绩的添加、删除、修改、计算平均分等功能。还可以修改当前用户下的密码. 图4。.1。2学生成绩管理界面 按模块写出详细设计说明表、按程序窗口写出对象说明表 设计代码: using System; using System。Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System。Windows。Forms; using System。Data。SqlClient; namespace 学生成绩管理系统 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { label1。Text = Login。sn + "同学,欢迎您使用本成绩管理系统!";//——---——-——-—————-———用窗体掉用静态变量 timer1.Start(); groupBox1.Visible = false; groupBox2.Visible = false; } private void button1_Click(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { //string str = "Password=bxy;Persist Security Info=True;User ID=bxy;Initial Catalog=学生成绩管理系统;Data Source=(local)”; //SqlConnection conn = new SqlConnection(str); //conn。Open(); //SqlDataAdapter da = new SqlDataAdapter(”Select * from 学生成绩表 where 姓名="+textBox1 。Text , conn); //DataSet ds = new DataSet(); //da.Fill(ds, "usertable"); //dataGridView1。DataSource = ; } private void toolStripButton1_Click(object sender, EventArgs e) { string str = "Data Source=(local);Initial Catalog=学生成绩管理系统;Integrated Security=True”; SqlConnection conn = new SqlConnection(str); conn.Open(); SqlDataAdapter da = new SqlDataAdapter("Select * from 学生成绩表 where 姓名='" + Login.sn。Trim ()+”’",conn);//————详细信息 DataSet ds = new DataSet(); da。Fill(ds, ”usertable"); dataGridView1.DataSource = ds。Tables[”usertable"].DefaultView; conn。Close(); conn。Dispose(); } private void toolStripButton2_Click(object sender, EventArgs e) { } private void toolStripButton4_Click(object sender, EventArgs e) { groupBox1。Visible = true; } private void button1_Click_1(object sender, EventArgs e) { string str = ”Data Source=(local);Initial Catalog=学生成绩管理系统;Integrated Security=True”; SqlConnection conn = new SqlConnection(str); conn.Open(); if (txtnpd.Text != txtnpassword。Text) { MessageBox.Show("请确认信密码的正确性!"); } if (txtnpd.Text ==””&& txtnpassword。Text == "”) { MessageBox.Show("密码不允许为空!”); } if (txtnpd。Text == txtnpassword。Text && txtnpd.Text!= ””) { SqlCommand com = new SqlCommand(”update 用户登录 set 密码='" + txtnpassword。Text.Trim() + ”’where 用户名=’” + Login.sn。Trim() + ”'", conn); if (com。ExecuteNonQuery() == 1) { MessageBox.Show("密码
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服