




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程报告说明书课 程 名 称: 软件工程 系 统 名 称: 学生成绩管理系统 年级/专业/班: 12软件工程班 学 生 姓 名: 学 号: 指 导 教 师: 课程考核成绩:系统开发(代码质量、完成度、规范性)(30)创新性(10)说明书撰写(规范性、图表、报告内容)(60)总 分(100) 2014 年 6 月 6 日目 录1 前言11.1系统简介11.2设计目的22 需求分析22.1 功能模块划分22.2 功能模块描述32.3 图数据字典与数据流43 概要设计113.1 软件功能结构114 详细设计124.1界面设计要求134.2学生成绩管理界面184.3教师管理界面234.4 管理员界面295 实现335.1 实现环境335.2 语言选择336 测试分析336.1 测试用例设计336.2 测试结果33总 结361 前言1.1系统简介本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。本系统主要包括注册管理、教师管理、学生信息查询、添加、修改、删除等部分。其功能主要有:(1)学生信息的添加,包括输入学生基本信息和成绩。(2)学生信息的查询,包括查询学生基本信息和成绩。(3)学生信息的修改,包括修改学生基本信息和成绩。(4)学生信息的删除,包括修改学生基本信息和成绩。(5)登录用户密码修改,用户登录到系统可进行相应的用户密码修改。(6)管理员用户对用户名的管理,包括添加新用户、删除用户。学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用Microsoft公司的开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。371.2设计目的 近年来,随着学校的办学规模越来越大,在校学生数也日益增多,随之而来的是教务管理工作日趋复杂繁重,要耗费大量人力、物力,已愈来愈成为学校日常管理工作的一个瓶颈。学生成绩管理是教务、教学管理中一个重要组成部分,也是比较烦琐的工作。在学生成绩管理事务中,一般有成绩输入:对各年级各班各学期学生的各科成绩进行输入;成绩统计:需要对每个学生的成绩进行处理,例如排名次,成绩汇总,成绩升降;成绩报表:将学生成绩以报表形式输出等等。每次考试都需要大量的人力、物力,为了减轻学生成绩管理工作量和实现现代化的科学管理,特设计这个系统。并根据学校的实际情况,制定以下数据和功能需求。2 需求分析2.1 功能模块划分2.2 功能模块描述 功能需求:学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息,管理员可以管理所有信息。对于我分配到的子系统,我需要实现以下一些基本功能:1.添加功能:管理员可以通过添加教师或学生来间接完成相关的信息管理,但添加教师和学生时又有区别,添加教师要通过用户名、密码和科目来确定添加,添加学生只需要用户名和密码即可。2. 删除功能:管理员可以通过删除教师或学生来间接完成相关的信息管理,但删除教师和学生时又有区别,删除教师要通过用户名、密码和科目来确定删除,删除学生只需要用户名和密码即可。性能需求分析:(1) 登录、用户界面需求:简洁、易懂、易用、友好的用户界面。(2) 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理等。登录模块 功能:是用户可以进行各种操作的必须前提。输入项目:用户名、密码。输出项目:浏览区和基本资料区。程序逻辑:P1:检查用户名、密码与数据库是否吻合(完整性和一致性)。P2:产生提示用户名或密码错误的消息窗口;P3:用户确认后退出程序运行;P4:进入主窗体;P5:进入事件等待状态。功能编号A1功能名称登录功能调查者 陈立阳、石奇调查时间 6月6号审核人 包先跃功能描述用户(学生、教师、管理员)可以根据自己所也有的权限进行不同登陆界面的登录,是用户可以进行各种操作的必须前提。输入项用户名、密码。处理描述根据不同的权限进行不同的登陆界面,不同的操作。程序逻辑:1:检查用户名、密码与数据库是否吻合(完整性和一致性)。2:产生提示用户名或密码错误的消息窗口;3:用户确认后退出程序运行;4:进入主窗体;5:进入事件等待状态。输出项浏览区和基本资料区。界面要求美观即可 2.3 数据字典与数据流图2.3.1 数据流图管理员通过登录进入管理员界面管理员通过输入用户名和密码进行验证进入管理员界面,然后按不同的方式进行添加用户和删除用户的操作。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日 数据流系统名:学生成绩管理系统 别名:the Student result management system 条目名1:查询个人成绩 条目名2:添加基本信息 条目名3:删除基本信息 条目名4:修改基本信息 条目名5:排序 来源: 成绩信息表和用户信息表去处: 成绩信息表和用户信息表数据结构: 查询个人成绩:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。 添加基本信息:管理员通过该数据流添加用户,教师通过该数据流添加学生成绩。 删除基本信息:管理员通过该数据流删除用户。 修改基本信息:教师通过该数据流可以修改密码、成绩等监本信息。 排序:教师拥有管理成绩的权限,所以可以对成绩进行排序。修改记录:编写陈立阳日期2014年5月25日 审核包先跃日期2014年6月14日 数据存储系统名:学生成绩管理系统 别名:the Student result management system 条目名:成绩、用户 存储组织:每一个学生(按学号)拥有一条记录、每一用户(按用户名)拥有一条记录记录数:大约10000(尽可能大并且符合实际)主关键字:学号、用户名记录组成: 成绩:学号+姓名+课程名+分数 用户:用户名+密码+类别+科目简要说明:该系统主要包括成绩信息表和用户信息表。修改记录:编写陈立阳日期2014年5月25日 审核包先跃日期2014年6月14日 加工系统名:学生成绩管理系统 别名:the Student result management system 输入:用户名、密码输出:用户基本信息窗口和功能窗口输入:要查找的内容输出:所查到的相关内容(一行或多行记录)输入:要修改的内容 输出:修改后的内容(一次修改一条记录)输入:要添加或删除的用户名输出:创建成功或成功删除加工逻辑:1)根据不同的权限进行不同的登陆界面,不同的操作。程序逻辑:1:检查用户名、密码与数据库是否吻合(完整性和一致性)。2:产生提示用户名或密码错误的消息窗口;3:用户确认后退出程序运行;4:进入主窗体;5:进入事件等待状态。2)进入查询窗口选择查询方式,然后输入相应的内容,通过点击查找按钮得到结果。3)对表格的内容进行修改,若权限足够,则可以对其进行权限内的修改,否则不可产生修改项。4)添加新用户时通过输入数据项然后与数据库连接将新用户加载到数据库中,删除用户通过从数据库中读取用户信息然后删除用户。简要说明:数据加工是为了让用户对整个系统的功能实现有一个更加深入的认识。修改记录:编写陈立阳日期2014年5月25日 审核包先跃日期2014年6月14日3 概要设计3.1 软件功能结构 3.1系统功能流程图4 详细设计4.0:数据库设计本系统的数据库是SQL server数据库,在SQL环境下创建数据库学生成绩管理系统.mdf文件。该数据库包括学生成绩表、用户登录表用于纪录学生的基本信息数据库表结构如下所示:4.0.1 各表的物理结构表4.0.1 学生成绩表表4.0.2 用户登录表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 = readerid.ToString();/根据列名获得数据 string name = readername.ToString(); string sex = readersex.ToString(); MessageBox.Show(string.Format(id=0,name=1,sex=2, id, name, sex); 4.1界面设计要求 用于输入用户名和密码登录,选择相应的用户类型进入系统,若是用户类型选择错误则不能进入系统。输入用户名和密码后点击确定判断数据库中的用户是否为合法用户。图4.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.2学生成绩管理界面 此部分主要针对学生信息的管理,可以查询学生的所有成绩信息,实现成绩的添加、删除、修改、计算平均分等功能。还可以修改当前用户下的密码。图4.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.Tablesusertable.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(密码修改成功!); groupBox1.Visible = false; conn.Close(); conn.Dispose(); private void toolStripButton5_Click(object sender, EventArgs e) this.Close(); Login l = new Login(); l.Visible = true;/?、 private void toolStripButton6_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 姓名= + Login.sn.Trim() + , conn); /DataSet ds = new DataSet(); / da.Fill(ds, usertable); / string s; / for (int i = 2; i = 6; i+) / / if (int.Parse(ds.Tablesusertable.Rows0i.ToString() 60) / s=int.Parse(ds.Tablesusertable.Rows0i.ToString(); / private void groupBox2_Enter(object sender, EventArgs e) private void toolStripButton3_Click(object sender, EventArgs e) groupBox2.Visible = true ; 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); int max=0,min=1001; double ave=0.0; for (int i = 2; i max) max = int.Parse(ds.Tablesusertable.Rows0i.ToString (); if (int.Parse(ds.Tablesusertable.Rows0i.ToString ()min) min =int.Parse(ds.Tablesusertable.Rows0i.ToString(); txthscore.Text = max.ToString (); txtlscore.Text = min.ToString (); txtall.Text =ds.Tablesusertable.Rows0总分.ToString (); ave = int.Parse(ds.Tablesusertable.Rows0总分.ToString()/(double)5; txtave.Text = ave.ToString(); conn.Close(); conn.Dispose(); private void timer1_Tick(object sender, EventArgs e) label6.Text = 当前时间为: + DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString(); 4.3教师管理界面 此部分主要针对教师信息管理,可以查询学生的所有成绩信息,实现成绩的添加、删除、修改、成绩升序排序等功能。还可以修改当前用户下的密码。按模块写出详细设计说明表、按程序窗口写出对象说明表图4.3教师管理界面设计代码: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 Form3 : Form public Form3() InitializeComponent(); private void Form3_Load(object sender, EventArgs e) lblshow.Text = Login.sn + 老师,欢迎使用本成绩管理系统!; textBox2.Text = Login.sub; groupBox3.Visible = false;/修改密码的框 timer1.Start(); /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 学生成绩表 , conn); /DataSet ds = new DataSet(); /da.Fill(ds, chaxun); /dataGridView1.DataSource = ds.Tableschaxun.DefaultView; 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 (comboBox1.Text = 学号) SqlCommand cm = new SqlCommand(Select 学号,姓名, + Login.sub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 做微商如何与客户有效沟通(35篇)
- 信息系统的应急预案
- 养老院基础工作计划
- 信息技术团队工作计划
- 巡查人员安全教育培训课件
- 小马过河说题课件
- 2025年北京招聘警务辅助人员考试真题及答案
- 2025年安徽省池州市辅警人员招聘考试题库及答案
- 2024辅警招聘考试常考点试卷附答案详解【培优】
- 苏联的改革课件
- 供水设备运行维护与保养技术方案
- 木雕工艺课件
- 2025年2个清单28个问题查摆整改措施
- 摩擦力影响因素实验报告范本
- 教育系统应急知识培训课件
- 基坑防护课件
- 2025年黑龙江省龙东地区中考英语真题含答案
- 医疗器械生产质量管理规范2025版
- 2025年医护人员法律法规知识考试题库及答案(一)
- 2025年全国企业员工全面质量管理知识竞赛复习考题及参考答案
- 2025年度餐饮店知识产权保护与合伙人合同
评论
0/150
提交评论