1 序言
在科技不断发展的今天,计算机科学技术的不断提高和日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
近年来,随着高校规模的不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增加,面对着庞大的信息量,在传统模式下利用人工进行学生资料管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的资料管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生资料的现代化管理,这一技术具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。
1)对于用户来说。
操作简便易行,本系统提供了按照ISBN,书名,作者,出版社,价格等查询书。
2)对于管理员来说。
本系统提供登陆系统模块,对学生老师以及管理员不同登录状态做了不同的处理,使登陆界面更加人性化,也更方便管理员进行管理。
3)对于后台管理员来说。
本系统提供添加书目,删除书目,查询书目信息等操作,方便后台管理员对所有图书进行管理。
- 1 -
《数据库原理及应用》数据库应用实习
2 系统分析
2.1 开发背景及意义
当今已是计算机发达的21世纪,科技的发展之快用日新月异来形容已毫不为过,许许多多的产业均已将先进的计算机科学应用到实践当中,并取得了空前辉煌的,质的飞跃。但是,在技术发展的摇篮、本身技术实力雄厚的大学校园中,却还存在着相对比较落后的人工管理系统,不得不令人感到惊讶。而这些系统中比较突出的就是学生的成绩管理系统。当今的大学,学生多则数万,少则亦有几千,扩招每年为国家多输送了千千万万的人才,然而,学校的压力却是每年的剧增,尤其在学生成绩的管理上,依旧使用着较为落后的人工档案管理系统,使用上的不便与维护上的开销日益凸显。手工录入、修改成绩,教师耗时耗力,工作繁琐,压力沉重,准确性还非常没有保证,学生查询成绩,排队、办手续、找档案,相当的费时间且不方便,这样一个臃肿的管理系统不但耗费了大量的人力、物力、财力资源,管理的效率也是愈来愈低下……
学生成绩管理系统是应对学生人数增多、信息量增大的问题,实现管理的现代化、网络化,逐步摆脱当前学生成绩管理的人工管理方式,提高成绩管理效率而开发的。希望改开发程序能够解决学生信息存储、学生成绩查询、录入还有课程查询等一系列需求,使教师与学生在对成绩系统的录入、修改、查询等使用上得到极大的便利。
2.2 功能需求分析
主要是实现简单的用户信息修改、数据管理,数据查询等操作,并能实现简单的数据统计。
2.2.1 功能分析
(1) 登录模块:是用户进入课程管理系统的入口,根据权限选择的不同,会分别进入教师部分和学生部分。
(2) 教师课程成绩管理模块:管教师在这个模块中对课程成绩进行查询和修改操作。 (3) 教师学生信息管理模块:教师对学生信息进行查询和修改操作。
(4) 学生个人信息模块:用户以学生的身份进入课程管理系统,可以先浏览个人的信息并修改。
(5) 学生成绩管理模块:学生对自己的成绩可以进行查询操作。 (6) 学生课程管理模块:学生对自己的课程可以进行查询操作。 (7) 退出:用户可以安全退出系统。
- 2 -
《数据库原理及应用》数据库应用实习
2.2.2 功能模块图
学生成绩管理系统 用户登录 主要功能 个人信息 课程查询 成绩查询 密码修改 退出 图2.1图书管理系统主要功能图
主要功能
教师登录 学生登录 用户名 密码 用户名 密码 图2.2 用户登陆图
教师登录 学生信息管理
学生课程查询 学生成绩管理 图2.3 教师管理功能图
学生登录
学生信息管理
学生课程查询 学生成绩查询 图2.4 学生管理功能图
- 3 -
《数据库原理及应用》数据库应用实习
教师 M 管理 N 查询 姓名 性别 学生 年龄 所在系 学号 浏览 1 学号 1 信息 年龄 所在系 性别 L 1 N 课程 学分 成绩 学时 姓名 课程号 课程名 图2.5 E-R图
2.3.1 硬件环境
本次课程设计即开发图书管理系统,它的服务器端的配置如下: 处理器:Intel(R) Core(TM) i5-3230M *********** 内存:4GB 硬盘空间:750GB
显卡: NVIDIAGeForceGT720M
2.3.2 软件环境
操作系统:Windows 7 旗舰版
数据库:Microsoft SQL Server 2008 开发环境:Microsoft Visual Studio 2010
- 4 -
《数据库原理及应用》数据库应用实习
3 系统设计
3.1 系统结构设计
3.1.1 软件设计的原则
(1)可靠性
软件系统规模越做越大越复杂,其可靠性越来越难保证。软件可靠性意味着该软件在测试运行过程中避免可能发生故障的能力,且一旦发生故障后,具有解脱和排除故障的能力。
(2)可修改性
要求以科学的方法设计软件,使之有良好的结构和完备的文档,系统性能易于调整, 而且推动了系统各个部分的并行开发,从而提高了软件的生产效率。
(3)容易理解
软件的可理解性是其可靠性和可修改性的前提。它并不仅仅是文档清晰可读的问题,更要求软件本身具有简单明了的结构。这在很大程度上取决于设计者的洞察力和创造性,以及对设计对象掌握得透彻程度,当然它还依赖于设计工具和方法的适当运用。
(4)标准化
在结构上实现开放,基于业界开放式标准,符合国家和信息产业部的规范。 (5)先进性
系统性能可靠,易于维护。 (6)可扩展性
软件设计完要留有升级接口和升级空间。
3.2 数据库设计
3.2.1 数据库概念设计
(1) 登录模块:是用户进入课程管理系统的入口,根据权限选择的不同,会分别
- 5 -
《数据库原理及应用》数据库应用实习
进入教师部分和学生部分。
(2) 教师课程管理模块:教师在这个模块中对课程进行查询操作。 (3) 教师对学生信息管理模块:教师对学生信息进行查询和修改操作。
(4) 学生个人信息模块:用户以学生的身份进入课程管理系统,可以先浏览个人的信息。 (5) 学生成绩管理模块:学生对自己的成绩可以进行查询和浏览操作。 (6) 学生课程管理模块:学生对自己的课程可以进行查询和浏览操作。 (7) 退出:用户可以安全退出系统返回首页。
3.2.2 数据库逻辑设计
表3.1Student
字段名称 Student_sno Student_name Student_sex Student_dept Student_age Student_address Student_spw 字段名称 Course_cno Course_name Course_hour Course_score 字段名称 Course_cno Student_sno Course_name Student_name score 字段名称 Teacher_sno Teacher_name Teacher_spw
字段含义 学号 姓名 性别 所在系 年龄 所在地 密码 字段含义 课程号 课程名 学时 分数 字段含义 课程号 学号 课程名 学生姓名 分数 字段含义 教师用户名 教师名 密码 数据类型及长度 Char(10) Char(10) Char(2) varchar(50) smallint varchar(50) Char(10) 表3.2Course
默认值 主键 默认值 主键 默认值 外键 外键 默认值 主键 数据类型及长度 Char(10) Char(10) tinyint tinyint 表3.3 Score
数据类型及长度 Char(10) Char(10) Char(10) Char(10) int 表3.4Teacher
数据类型及长度 Char(10) Char(10) char(10) - 6 -
《数据库原理及应用》数据库应用实习
3.3 系统详细设计
过程设计的任务不是具体地编写程序,而是要设计出程序的“蓝图”,程序员根据这个蓝图进行构思写出实际的代码。因此,过程设计的结果基本上决定了最终的程序代码的质量。
图3.1登陆界面
在软件的生命周期中,实际上对于长期使用的软件系统而言,人读程序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。过程设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是过程设计的逻辑基础。
- 7 -
《数据库原理及应用》数据库应用实习
4 系统实现
4.1 任务与原则
详细设计阶段要确定怎样具体地实现所要求的系统,得到目标系统的逻辑描述,其后续阶段编码则可以将该描述翻译成程序。
详细设计的主要任务:
(1)确定模块采用的算法,写出模块的详细过程性描述。即为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述。
2、确定每一模块使用的数据结构
3、确定模块的接口的细节。其中包括对系统外部的接口和用户界面,对系统内部相关模块接口,以及模块输入数据、输出数据及局部数据的全部细节。
详细设计阶段的主要原则:
1、模块的逻辑描述要清晰易读、正确可靠。
2、采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。
① 程序语言中确保程序结构的性。
B、使用单入口单出口的控制结构,确保程序的静态结构与动态执行情况相一致,保证程序易理解。
C、用自顶向下逐步求精方法完成程序设计。结构化程序设计的优点是可读性、维护性好。
4.2 系统功能实现
4.2.1 系统登录
运行项目是从登录界面开始的,登录界面的运行如图4.1所示,在登录的时候,若用户名和密码为空或与数据表不符,分别会跳出如图4.2所示的“用户名或密码不能错误”的对话框,如下图所示:
- 8 -
《数据库原理及应用》数据库应用实习
图4.1超级管理员登录界面
图4.2
2.进入登录界面时进行输入相关信息点击登录后,系统会自动识别登录者的身份和用户名及对应的密码是否正确。正确提示如下图
4.3登录成功界面
- 9 -
《数据库原理及应用》数据库应用实习
3.进入学生主界面,选择你所需要的查询或管理功能,并对其进行相应的操作,
或是直接选择退出,如图4.4。
图4.4
4.2.2 教师管理
教师管理这个模块包括学生信息查询及修改、学生课程查询及成绩修改、密码修改,分别如下图所示:
- 10 -
《数据库原理及应用》数据库应用实习
图4.5
单机“要查询课程趁机的课程号”旁边的下拉框,可以查看到所有的课程的课程号,再点击查询按钮,可以查看到所有所了该课程的学生的成绩并修改。
图4.6
- 11 -
《数据库原理及应用》数据库应用实习
图4.7
4.2.3 学生管理
学生管理这个模块包括学生信息查询及修改、学生课程查询、成绩查询,分别如下图所示:
学生可以在改模块中修改自己的信息。
图4.8
- 12 -
《数据库原理及应用》数据库应用实习
学生在下面两个模块中只能查询课程及所修课程的成绩,无法修改。
图4.9
图4.10
- 13 -
《数据库原理及应用》数据库应用实习
4.3部分代码实现
例如,教师对学生课程成绩查询及修改代码:
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.Data.SqlClient; namespace JXGLSYS {
public partial class ChengJiT : Form {
DataSet objDs = new DataSet();
DataTable objXSTable = new DataTable(); SqlDataAdapter objDa = new SqlDataAdapter(); public ChengJiT() {
InitializeComponent(); }
public void refreshdata() //更ü新?并¢刷¢新?显?示? {
objDa.Update(objDs, \"XS\");//更ü新?学§生Θ?表括? objXSTable.Clear(); //清?空?学§生Θ?表括?记?录? }
private void ChengJiT_Load(object sender, EventArgs e) {
string strcon = @\"Data Source=PC9217874;Initial Catalog=JXGL;Integrated Security=True\";
//创洹?建¨Connection 对?象ó
SqlConnection con = new SqlConnection(strcon); con.Open();
string sql = \"select Course_cno from Course\"; SqlCommand comm = new SqlCommand(sql, con); SqlDataReader read = comm.ExecuteReader(); comboBox1.Items.Clear(); while (read.Read()) {
comboBox1.Items.Add(read[\"Course_cno\"].ToString());
- 14 -
《数据库原理及应用》数据库应用实习
}
comboBox1.SelectedIndex = 0; read.Close();
string num = comboBox1.Text;
string sqi = string.Format(\"select Student_sno as 学§生Θ?学§号?, Course_name as 课?程ì号?,Student_name as 学§生Θ?姓?名?,score as 成é绩¨ from Score where Course_cno='\" + num + \"'\");
SqlDataAdapter adapter = new SqlDataAdapter(sqi, con); DataSet data = new DataSet(); adapter.Fill(data, \"table\");
DataGridView1.DataSource = data.Tables[\"table\"]; con.Close(); }
private void button1_Click(object sender, EventArgs e) {
DialogResult dresult = MessageBox.Show(\"要癮修T改?学§生Θ?成é绩¨吗e??\", \"提
?示?\", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dresult == DialogResult.Yes) //用?户§选?择?“°确ā?定¨ {
objXSTable.Rows[DataGridView1.CurrentCell.RowIndex][0] textBox1.Text.Trim();
objXSTable.Rows[DataGridView1.CurrentCell.RowIndex][0] textBox2.Text.Trim();
objXSTable.Rows[DataGridView1.CurrentCell.RowIndex][0] textBox3.Text.Trim();
objXSTable.Rows[DataGridView1.CurrentCell.RowIndex][0] textBox4.Text.Trim(); } }
private void button3_Click(object sender, EventArgs e) {
string strcon = @\"Data Source=PC9217874;Initial Catalog=JXGL;Integrated Security=True\";
SqlConnection con = new SqlConnection(strcon); con.Open();
string num = comboBox1.Text;
string sql = string.Format(\"select Student_sno as 学§生Θ?学§号?, Course_name as 课?程ì号?,Student_name as 学§生Θ?姓?名?,score as 成é绩¨ from Score where Course_cno='\" + num + \"'\");
SqlDataAdapter adapter = new SqlDataAdapter(sql, con); DataSet data = new DataSet(); adapter.Fill(data, \"table\");
= = = =
- 15 -
《数据库原理及应用》数据库应用实习
DataGridView1.DataSource = data.Tables[\"table\"]; con.Close (); }
private void button2_Click(object sender, EventArgs e) {
this.Close(); }
private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
textBox1.Text = DataGridView1.CurrentRow.Cells[0].Value.ToString(); //显?示?学§号?
textBox2.Text = DataGridView1.CurrentRow.Cells[1].Value.ToString(); //显?示?课?程ì名?
textBox3.Text = DataGridView1.CurrentRow.Cells[2].Value.ToString(); //显?示?出?学§生Θ?姓?名?
textBox4.Text = DataGridView1.CurrentRow.Cells[3].Value.ToString(); //显?示?成é绩¨ } } }
- 16 -
《数据库原理及应用》数据库应用实习
5 软件测试
软件测试部分是保证系统质量与可靠性的最后关口,是对整个系统开发包括系统分析,系统设计和系统实现的最终审查。虽然在系统开发的各个阶段都采取了严格的技术措施,希望能尽快发现问问并改正,但难免会留下差错,如果在正式投入运行前没有发现问题,在工作中暴露了来,将给图书管理带来巨大的损失。因此,对系统进行测试,是系统开发中不可缺少的阶段。
系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。
5.1 测试计划的制定
测试计划是从测试项目实施和管理的角度,讨论软件测试计划的实施目标和标准、计划阶段的细分、测试项目计划的要点和编制测试计划的技巧。
5.1.1 调试计划的整体目标
调试计划的整体目标是为确定测试的任务、所需的各种资源,预见可能出现的问题和风险,以指导测试的执行,最终实现测试的目标。
(1)为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果。
(2)为项目实施建立组织模型,并定义测试项目中每个角色的责任与工作内容。
(3)开发有效的测试模型,能正确地验证正在开发的软件系统。 (4)确定测试所需的时间和资源,以保证其可获得性和有效性。 (5)确立每个测试阶段的测试完成及测试成功的标准和实现的目标。
5.1.2 定义软件测试的标准
为了保证测试工作能按计划执行,必须确认测试在满足什么外部条件下才能
- 17 -
《数据库原理及应用》数据库应用实习
开始。这就是要在测试计划中定义软件测试项目的输入标准,然后定义测试项目的输出标准。
5.2 测试的基础
5.2.1 测试的目标
在管理系统的每个模块中都不可避免地会产生错误。力求在每个模块运行时通过严格的审查,尽可能早的发现并纠正错误。测试的目的就是在系统运行之前,尽可能多地发现其中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
测试要求:
1.发现一些可以通过测试避免的开发风险 2.实施测试来降低所发现的风险 3.确定测试何时可以结束
4.在开发项目的过程中将测试看作是一个标准项目。
- 18 -
《数据库原理及应用》数据库应用实习
总 结
学生课程管理系统是学校提高对学生课程管理效率的有效工具。系统是用Sql Server和Visual Studio2010开发而成的。系统主要分为教师和学生两大部分,在教师部分,教师可以对学生信息、成绩、课程等进行编辑等操作,而学生只可以进行查询和浏览操作。系统在实现的时候使用了用于数据显示的GridView和Button按钮等控件。
通过这次课程设计,我对Sql Server和Visual Studio2010的使用有了更进一步的了解。先前做软件工程的时候也有用到,但是是每个人做一个模块,所以范围比较小,没有涉及到其他的使用。这次课程设计是自己完成了一个系统,虽然系统比较小,但是也包含了很多对数据库的操作,比如添加,查询等。同时还了解一些关于C#语言的知识,知道了可以在登录的时候将登录的用户名通过Session[“”]保存到缓存中,然后传递到其他的页面上。还有如何使用C#语言建立数据库的连接,Sqlconnection、SqlCommand和DataReader等如何使用。
学生课程管理系统虽然做完了,但是有很多欠缺,功能不太完整,没有将教师加到课程管理中。所以在对课程进行浏览是无法获取是那位老师对该门课程教授的。
做完这个系统,让我有很多体会。要一个人完成一个课程设计是很不容易的,中途会遇到很多的问题,幸亏有同学的帮助,问题可以比较快的解决。还有在自己看书方面,我体会到了“会看书”的重要性。不是只要看书了就可以把项目做出来,而是要看到点子上,看到实现功能的核心。
这次的课程设计对我的影响很大,一方面让我了解了大学中学习和考试和高中的区别,了解了很多知识,另外也可以充实我的大学生活。
- 19 -
《数据库原理及应用》数据库应用实习
致 谢
刚开始的时候困难重重,让我经常会想到放弃,是在他的帮助和鼓励之下我才有勇气坚持下去,让自己一步一步走向成功。
我要感谢自己的老师,谢谢老师平时的细心指导,让我学到了很多知识,了解到了很多语句还有结构的用法,现在自己可以编写一个简单的程序,在老师的知道下让我完成了这次的程序设计。感觉很有成就感。
还要感谢开发网站的人,感谢出版C#程序设计的各位作者们,让我有很多文献可以参考,从而可以找到很多我所需要的方法介绍,还有一部分的代码,我发现参考书上有很多我们不了解的知识。
经过这次程序制作,让我体会到了同学之间合作的重要性。有很多地方单靠自己一个人是很难完成的,比如说像在改错方面,因为自己对着这个代码已经很久了,所以感觉自己的代码正确性一定很高,可是别人帮助看的时候,有时候一下子就可以发现错误在哪里。所以同学之间要相互帮助,所以我还要感谢和我做同一个课题的组员们。也是由于你们的帮助,让我克服可很多困难,以至于代码的编写变的容易了很多。
- 20 -
《数据库原理及应用》数据库应用实习
参考文献
[1] 刘金岭,冯万利.数据库系统及应用教程[M].北京:清华大学出版社,2013,9. [2] 刘金岭,冯万利,周泓.数据库系统及应用实验与课程设计指导[M].北京:清华大学出版社,2013,10.
[3] 闫洪亮,潘勇.ASP.NET程序设计教程.上海交通大学出版社,2006. [4] 朱毅华,时跃华.C#程序设计教程.北京:机械工业出版社,2011.8
- 21 -
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务