1、学生成绩管理系统 数据库课程设计 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 《软件课
2、程设计2》报告 专 业: 计算机科学与技术 设计题目: 学生成绩管理系统 2014年4月 目 录 1 需求分析 1 1.1 行业现状 1 1。2 可行性分析 2 1.3 系统运行环境 3 1。4 系统功能模块图 4 2 系统设计 5 2.1 系统流程图 5 2。2 数据流图 6 2。2。1 顶层数据流图 8 2.2。2 1层数据流图 8 2.2.3 2层数据流图 9 2。3 E-R图 10 2.4
3、 数据字典 12 3 详细设计 14 4 系统测试 15 5 结束语 18 参考文献 18 此处目录为自动生成,以wps为例,在“引用”选项卡下有“目录级别”,在正文中的标题段设置正确的目录级别,然后点击“更新目录”即可看到目录按照正文各级标题自动更新生成。WPS版本为2013。 1 需求分析 该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。 此系统主要完成用户密码登陆、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能。 (一)用户密码登录: 在登录程序之前会先弹出
4、一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序。 (二)用户密码的修改 在成功登录了程序之后用户可以根据自己的需要修改当前密码。 (三)成绩查询 1.成绩修改前选中要修改的成绩信息,然后进行修改。 2.成绩添加直接弹出添加对话框,然后进行添加。 3。成绩删除前选中要删除的成绩信息,然后直接删除。 (四) 课程查询 1.课程修改实现对课程名、学时、学分的修改. 2。课程添加对一门新开设的课程进行录入,并存入数据库。 3。课程删除对一门不再开设的课程进行删除,并从数
5、据库中删除。 (五)学生查询 1 。学生信息修改修改选中当前学生的信息。 2 .学生信息添加增加新学生的信息。 3。学生信息删除删除选中当前学生信息。 1.1 行业现状整合开题报告的第1、2段,需求分析的第1段 在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快.因此对教育行业的多元信息进行有效的管理工作,也成为教育行业中的重中之重。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。为各高校教务工作人员减轻负,
6、提高工作效率,所以制作了学生成绩管理系统。 学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。比较系统地对教务、教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为教育行业做出了巨大的贡献,也为今天的民办教育在未来市场的竞争力有所提高。 学生成绩管理系统使用了全新的成绩管理理念,系统从完善的基础信息管理,和对创建新用户、已创建的成绩数据的录入,修改,浏览,统计等功能操作,基本能够满足各高校教师的需
7、要。 1.2 可行性分析整合开题报告的第3段,需求分析的第2、3段 本次课程设计题目:“学生成绩管理系统”,主要目的是设计一个登陆界面,连接数据库系统,用以实现学生、班级以及考核成绩等多项管理。同时对整个系统的分析、设计过程给出一个完整的论证。 学生成绩管理系统是一种基于集中统一规划的数据库数据管理新模式,其实就是对学生、班级、考核成绩的管理。 在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三
8、大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的成绩管理系统几乎都以数据库技术作为核心。 由于本系统管理的对象简单,且每个数据内容之间都具有较强的关联性,涉及过程并不是很复杂.因此,比较适合于采用数据库管理.在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。 1、社会可行性 现代社会是信息高速发展的社会,尤其是计算机科学日趋成熟,选择使用计算机对学生成绩信息进行管理已经成为现代学
9、校的必然选择,所以从社会角度对本系统进行分析是完全具有可行性的。 2、技术可行性 开发数据库管理管理系统需要选择两种工具,即前台开发语言以及后台数据库.本系统运用了Microsoft Visual C++ 6。0作为前台开发,Microsoft SQL Server 2005作为后台数据库。 3、经济可行性 经济可行性主要包括:“成本-——收益”分析和“短期--—长远收益”分析。相对于本课题来说,这两点并不重要. 1。3 系统运行环境需求分析第4、5段 1、Microsoft SQL Server 2005
10、Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络 Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济
11、有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。 与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。
12、 2、Microsoft Visual C++ 6。0 Visual C++是一个功能强大的可视化软件开发工具.自1993年Microsoft公司推出Visual C++1。0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。 Visual C++6。0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6。0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导
13、Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境. 1。4 系统功能模块图 查询 修改 添加 删除 查询 删除 添加 修改 学生信息管理 课程信息管理 查询 修改 删除 用户密码修改 数据库恢复 数据库备份 系统管理 学生成绩管理 添加 学生成绩管理 系统 图1.4 系统功能模块图 注意功
14、能模块图的连线不带箭头 2 系统设计 2。1 系统流程图流程图一定要有开始和结束,所有连线都要有箭头,连线不能有斜线,只能用水平和竖直两种方向的连线。流程图需要按照需求分析第3段中的人物分别绘制各自的流程图。 学生成绩管理系统包括学生基本信息模块,课程信息模块,学生成绩管理模块以及系统管理模块.学生的基本信息模块,里面应该包含学生的各方面的基本信息;课程信息模块,里面包括各课程的基本信息;学生成绩管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计;系统管理模块,包括用户密码修改
15、 登陆失败 学生管理 课程管理 退出系统 用户 验证 成绩查询 登陆成功 开始 图2。1 系统流程图 2。2 数据流图 录入学生成绩 录入课程成绩 录入学生成绩 教职工 学生 课程 成绩 学生 查询学生 成绩 1)功能流图
16、 图2。2。1 功能流图 该数据流图主要体现教职工对学生信息、课程信息和学生成绩的管理,然后存储的信息作用于查询系统。在学生能够操作的只有成绩查询。 2) 登陆流图 用户信息 身份验证 密码修改 用户
17、 图2.2.2 登陆流图 2。2。1 顶层数据流图 学生成绩管理系统 学生 管理员 登陆 登陆/修改 图2.2。3 顶层数据流图 2。2.2 1层数据流图 成绩管理系统 课程信息表 登陆/查看 查询成绩 学生成绩信息 学生信息表 课程信息
18、 学生信息 学生 管理员 学生成绩表 图2。2.4 1层数据流图 2。2。3 2层数据流图 课程信息表 学生信息表 学生成绩表 成绩查询 学生 成绩 管理员 成绩修改 登陆 查询者信息 成 绩 单 学生信息 成绩信息 成绩信息 管理员信息 验证查询者身份 身份验证 发布成绩 用户信息
19、 课程信息表 学生信息表 图2。2.5 2层数据流图 2.3 E—R图至少满足第3范式 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,系别. (2)课程基本信息: 课程名称,课程号,课时,学分. (3)成绩表:学号,成绩,课程号。 这些实体间的联系包括: (1)每位学生可以学习多门课程,每门课程可供多位学生学习。 由上述分析可得到: 学生信息E—R图: 学生 学号
20、 姓名 性别 系别 地址 年龄 图2.3.1 学生信息E-R图 课程信息E—R图 课程信息 课程名称 课程号 课时 学分 图2.3.2 课程信息E-R图 成绩表E—R图 成绩 课程号 成绩 学号 图2.3。3 成绩表E-
21、R图 系统E-R图 学生 学号 姓名 性别 系别 地址 年龄 成绩 课程号 成绩 学号 课程信息 课程名称 课程号 课时 学分 关系 选修 关系 n m n m m n 图2。3.4 系统E-R图 2.4 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、
22、数据类型、长度、取值能否为空.利用Microsoft SQL Server 2005建立“学生成绩管理系统"数据库,其基本表清单及表结构描述如下: 名字:学生信息 描述:学生成绩管理中存储的所有学生信息(包括所有学生查询的所需信息) 定义:学生信息=学生学号+学生姓名+学生性别+系别+学生年龄+地址 位置:存储 输出供查询 名字:课程信息 描述:有多个课程必要的信息组成 定义:课程信息=课程号+课程名称 +课时+学分
23、 位置:存储 输出供查询 名字:学生成绩信息 输入:学生姓名 输出:相应学生的成绩信息 名字:查询信息 描述:用户所提出的查询请求 定义:查询信息=[课程查询信息|学生成绩查询信息] 位置:课程信息表 学生信息表 成绩表 名字:添加信息 输入:学号,学生姓名,学生性别,系别,学生年龄,地址 输出:新输入的学生信息 名字:删除信息
24、 输入:选中要删除的学生信息 输出:删除完成 数据库中用到的表: 数据库表名 关系模式名称 备注 Student 学生 学生信息表 Course 课程 课程信息表 Score 成绩 成绩表 Student基本情况数据表,结构如下: 字段名 字段类型 Not Null 说明 Student _sno Char 主键 学号 Student _sn char 非空 学生姓名 Student _sex char ‘男'或‘女’ 性别 Student _dept char
25、 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名 字段类型 约束控制 说明 course_cno char 主键 课程号 course_cname char 非空 课程名称 course_hour int 非空 课时 course_score char 非空 学分 score情况数据表,结构如下: 字段名 字段类型 约束控制 说明 course_cno char 外键 课程号 student_sno char 外键
26、 学号 score int 成绩 3 详细设计按照文档中流程图的顺序列出系统各个主要界面,不需要代码。 以下是简略的界面图: 学生登陆系统进行查询时界面: 进行课程查询时界面: 成绩查询功能: 4 系统测试按照流程图执行各个功能模块,并记录下是否得到了预
27、期的运行效果或结果 测试1(关于进入各界面) 测试组数 预期输出数据 实际输出数据 1 进入管理员登录界面 进入管理员登录界面 2 进入学生登录界面 进入学生登录界面 3 进入注册新用户界面 进入注册新用户界面 测试2:登入管理员用户 测试组数 预期输出数据 实际输出数据 1 进入管理员界面 进入管理员界面 2 进入基础管理界面 显示学生、课程设置界面 3 进入学生管理界面 显示学生信息、成绩界面 4 进入用户管理界面 显示修改密码界面 5 进入学生设置界面 进入学生设置界面 6 进入课程
28、设置界面 进入课程设置界面 7 进入成绩管理界面 进入成绩管理界面 8 进入成绩统计管理界面 进入成绩统计管理界面 9 进入学生信息界面 进入学生信息界面 10 进入成绩查询界面 进入成绩查询界面 11 进入修改密码界面 进入修改密码界面 测试3:登入学生用户 测试组数 预期输出数据 实际输出数据 1 进入学生用户界面 进入学生用户界面 2 进入学生管理界面 显示学生、课程设置界面 3 进入用户管理界面 显
29、示修改密码界面 4 进入学生信息设置界面 进入学生信息设置界面 5 进入课程信息设置界面 进入课程信息设置界面 6 进入退出系统界面 退出系统 测试4:登入注册用户 测试组数 预期输出数据 实际输出数据 1 进入注册用户界面 显示注册新用户界面 2 进入填写用户信息界面 显示填写用户信息界面 3 填写学号信息 显示学号 4 选择用户类型 显示用户类型 5 填写用户名 显示用户名 6 填写密码 显示******* 7 确认密码 显示******* 8
30、提交用户注册 显示用户注册成功 5 结束语 通过做课程设计,我确实学到了相当多的东西。眼高手低是我们的通病,有些事情看起来很同意,但做起来并不是如此。在做本次数据库课程设计之前,我认为做一个很简单的课程设计应该很容易,然而真正操作起来却遇到了很多的麻烦.所以我知道了一定要先将书本看透,再开始做. 首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都有好多错误,而错误又不会改
31、所以代码段根本就进行不下去,其他人也很忙,突然就意识到了以前没有好好的学习,现在没有能力去完成课程设计成为一件大事,到大四做毕业设计也会成为一个大问题,所以我会努力学习,尽量补上来。 参考文献 [1] 王英英 张少军 刘增杰等 2012 SQL Server 从零开始 清华大学出版社 2012 [2] 周鸣扬 于秋生 Visual C++程序设计课程 机械工业出版社 2008 [3] 刘秋生 数据库系统设计及其应用案例分析 东南大学出版社 2005 [4]王珊 数据库系统概论(第3版) 高等教育出版社 2002 [5]张丽 王强 SQL Server数据库原理及应用教程 清华大学出版社 2003 18






