管理信息系统设计学生信息管理系统范本
发布时间:2020-05-08 05:17:13
发布时间:2020-05-08 05:17:13
管理信息系统设计学生信息管理系统
辽 宁 工 业 大 学
《管理信息系统设计专题》 报告
题目: 学生信息管理系统
院(系): 软件学院
专业班级: 软件技术 班
学 号:
学生姓名:
指导教师: 翟宝峰
教师职称: 副教授
起止时间: .06.28- .07.09
设计任务及评语
院(系):软件学院 教研室:软件教研室
本实践课的主要目的是:(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。
硬件:一台Pentium 4 cpu 以上的微机及兼容 VGA 彩显一台
软件: Windows XP Visual Basic 6.0和SQL Sever
1.《管理信息系统》 黄梯云 高等教育出版社
2.《数据库系统概论》 萨师煊 高等教育出版社
3.《SQL Server 数据库应用系统开发技术》朱如龙编,机械工业出版社。
4.《SQL Server 数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社
一、内容
1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sql server 上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用VB实现简单的应用程序编写。
二、要求
设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出课程设计报告。
“学生管理信息系统”包括十个模块:用户信息管理,班级信息管理,学籍信息管理,课程信息管理,成绩信息管理,奖惩信息管理,个人收费信息管理,消息信息管理。这十个模块既相互联系又相互独立。
(1)在系统管理模块中,当点击“退出”时,系统能够正常的关闭;(2)在学生管理模块:添加学生。当生刚进校时要进行添加信息的添加;删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。该功能主要进行删除学生信息;(3)在课程管理模块中,能够正确的对课程信息进行增加、修改和删除;(4)在成绩管理模块中,能够对已经进行了选课的学生所选择的课程进行成绩的添加以及修改;(5)在信息查询模块中,第一,能经过学号、姓名、性别、学院、专业等条件正确的查询到学生的基本信息;第二,能经过课程名、授课老师来查询出基本的课程信息;第三,在成绩信息查询中,能够查询出所有科目的成绩;(6)能够针对SQL SERVER 执行数据的基本处理,如添加、删除等。
1. 系统工作流程图:
word/media/image2.gif
图2.1系统工作流程图
2.系统业务流程图:
业务流程图是一种用尽可能少、尽可能简单的方法来描述业务处理过程的方法。由它比较适用于反映事务处理类型的业务过程。
word/media/image2.gif
图2.2系统业务流程图
3.系统数据流程图:
word/media/image3.gif
图2.3系统数据流程图
数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,经过图形方式描述信息的来龙去脉和实际流程。
3.数据字典:
1)数据项:
表2.1数据项
2)数据结构的定义:
表2.2课程信息数据字典
表2.3分数信息数据字典
表2.4学生信息数据字典
3)数据流的定义:
表2.5成绩统计
4)数据存储:
数据存储名:课程信息
输入数据流:课程基本信息,年级开课课程
输出数据流:学生选修的课程信息
数据存储名:成绩信息
输入数据流:更新后的成绩信息
输出数据流:学生各科分数及成绩的统计
(1)学生信息实体E-R图:
word/media/image4.gif
图2.4学生信息E-R图
(2)课程信息E-R图:
word/media/image5.gif
图2.5课程信息E-R图
(2)教师信息E-R图:
图2.6教师信息E-R图
系统E-R图:学生信息表,学校信息表,教师信息表,课程表,成绩等表之间的联系描绘出关系模型。联系是指学生管理系统中各个实体的联系,拥有一对一、一对多、多对多的联系。如图2.1所示:
图2.7 学生管理系统总E-R图
逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行: 从E-R图向关系模式转化 数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。一个实体类型转换为一个关系模型,将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。将“客房”实体转换为一个关系模型,其中,带下划线的属性为主属性,该主属性为关系模型外键。
设计逻辑结构时一般要分三步进行:
第一步:将概念经过转化为一般的关系、网状、层次模型;第二部:将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;第三部:对数据模型进行优化。
学籍管理(学生注册,导入学生,学生查询,学生统计,学生毕业,修改学籍)
收费管理(费用减免,学生交费,交费查询,未交费查询)
成绩管理(成绩录入,成绩查询,班级成绩统计,年级成绩统计,班级成绩明细,不及格名单,学生单科名次,学生总分名次)
学籍变动(学生留降级处理,学生跳升级处理,学生借读处理,学生休学处理,学生复学处理,学生调班处理,学生转校处理,学生退学处理,学籍变动查询,学生试读查询,学生试读登记)
学生信息管理(系统管理,学籍管理,学籍变动,收费管理,宿舍管理,成绩管理,学生评语,消息文件管理)
物理设计是对给定的逻辑数据模型配置一个最适合应用环境的物理结构。
物理设计的输入要素包括:模式和子模式、物理设计指南、硬件特性、OS和DBMS的约束、运行要求等。
物理设计的输出信息主要是物理数据库结构说明书。其内容包括物理数据库结构、存储记录格式、存储记录位置分配及访问方法等。
1.存储结构
存储结构是建立一种由逻辑结构到存储空间的映射。 存储结构是把一组结点存放在按地址相邻的存储单元里,结点间的逻辑关系用存储单元的自然顺序关系来表示的,即用一块存储区域存储线性数据结构,为使用整数编码访问数据结点提供了便利。
2.索引的创立
为student表创立一个以student_id为索引的关键字的唯一聚簇索引
1)展开数据库中的表右键学生表,单击所有任务弹出的索引管理。
2)在窗体点新建索引名称为student_id_index,点击复选框“聚簇索引” 、“惟一值”。
3.事务日志文件备份及存放
SQL Server 创立数据库的时候,会同时创立事物日志文件,事物日志存储在一个单独的日志文件上。在修改写入数据库之前,事物日志会自动地记录对数据库对象所做的所有修改,事物日志有助于防止数据库损坏。日志文件与数据文件要分开放在不同的磁盘上,这样事物日志就能够单独的备份,事务日志不会抢占数据库的空间,能够很容易的监测事务日志的空间。
4.存取方法:
数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。 存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供多种存取方祛。常见的存取方法有二类。第一类是索引方法,第二类是聚簇(Cluster)方法。 索引方法是数据库中经典的存取方法,使用最普遍。索引法是为了加速对表中的数据行的检索而创立的一种分散的存储结构。是针对一个表而建立的,它能够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。例如在本数据库中的:
学生(学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间)
课程信息(课程编号、课程名称、开课日期、学时。)
整个系统需要调用学生表、成绩表等,因此学生表属性“学号”,成绩表表中的属性“学号”,将经常出现在查询条件中,能够考虑在上面建立聚簇索引以提高查询效率。
数据库实现是经过数据字段、关系图、存储过程和触发器实现等各部分的功能实现的。
(1)数据字段 :
1.学生信息表:学号,姓名,性别,民族,籍贯,入学时间,班级,专业,出生日期。
表2.6学生信息表
2.课程信息表:课程编号,课程名称,开课学期,学分,教师编号,学院编号等。详细情况如表2.7:
表2.7课程表
3.表4-1 教师信息表:教师编号,教师名称,职称,学院编号等。详细情况如表2.7:
表2.8教师信息表
(2)关系图:学生管理信息系统包含学生信息表、教师信息表、课程信息表、学校信息表、成绩信息表、专业信息表、班级信息表组成。利用各个表的主键把各个表连接到一起。利用关系图表现出来。如图2.8所示:
图2.8学生管理系统关系图
(3)运用到存储过程的如下:
1).为dataebase数据库创立一个带重编译选项的存储过程,用于托运单信息表中的托运人。
CREATE PROC spa
@学生 char(8)
WITH RECOMPILE
AS
SELECT * FROM 学生信息
学号 = @学号
2).为datebase数据库建立一个存储过程,经过执行存储过程将学生信息添加到学生表。
CREATE PROCEDURE ins AS
@student_id char(8)=NULL,
@student_name nvarchar(8)=NULL,
@student_gender char(2)=NULL,
@birth_date smalldatetime=NULL,
@class_no char(6)=NULL,
@in_date smalldatetime=NULL,
@home_addr nvarchar(40)=NULL,
AS
DECLARE @bitSex bit
IF @student_gender='男'
SET@bitSex=1
ELSE SET @bitSex =0
INSERT student
(student_id,student_name,student_gender,birth_date,class_no,)
VALUES
(@student_id,@student_name,@student_gender,@birth_date,@class_no,@ in_date,@ home_addr)
(4)触发器程序及其功能:
运用到触发器的如下:
为维修信息表建立INSERT触发器以自动更新教师信息表中教师人数。
USE Sims_four
GO
/* 如果存在同名的触发器,则删除之*/
IF EXISTS(select教师人数 from sysobjects where type =’tr’and教师人数 =’教师人数insert’)
DROP TRIGGER 教师信息_insert
GO
CREATE TRIGGER 教师人数_insert ON 教师人数
FOR INSERT
AS
DECLARE @NumOf教师人数 TINYINT
SELECT @NumOf教师人数= c.教师人数_num FROM 教师信息 c ,inserted i
WHERE c.教师编号 = i.教师编号号
IF (@NumOf教师人数 > 0)
BEGIN
UPDATE 教师信息 SET 教师人数_num = 教师人数t_num + 1
FROM 教师信息c ,inserted i WHERE c.教师人数 = i.教师人数
END
ELSE (空值,直接写下面代码也可)
BEGIN
UPDATE 教师信息 SET 为序人_num = (
SELECT COUNT(s.教师编号) FROM教师信息 s ,inserted i
WHERE s.教师编号 = i.教师编号)
FROM 教师信息c, inserted i WHERE c.教师编号 = i.教师编号
END
GO
学生管理信息系统包括学校信息管理,教师信息管理,学生信息管理,成绩信息管理,补考重修管理以及帮助说明,在成绩信息编辑页面,能够编辑更新学生成绩情况,,而在成绩查询界面,能够查到详细的学生各科成绩。
学生信息管理分为年级信息管理,学籍信息管理,班级信息管理,成绩信息管理,课程信息管理,查询管理,其中有关学生学籍等信息的输入,包括学生基本信息,所在班级,所学课程和成绩等。 学生信息的查询,包括学生基本信息,所在班级,所学课程和成绩等。 班级管理信息的查询 班级管理信息的修改 学校基本课程的输入,查询 学生课程的设置和修改 学生成绩信息的输入,修改,查询,统计。因此为其设计管理信息系统的时候,首先要考虑其组织结构。
按照结构化的系统设计方法,将整个学生管理系统分解成相对独立的若干模块,经过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到学生管理系统的功能模块结构图。本系统的功能模块结构如图2.9所示:
word/media/image7.gif
图2.9系统的功能模块结构图
课程信息管理包括课程信息设置、年级课程开设。其中课程信息设置时,能够输入课程编号实现对课程信息的设置,包括课程和所任课老师姓名;年级课程开设时,能够输入年编号实现对年课程信息的开设,包括课程名称,课程类型及课程描述等
word/media/image8.gif
图2.10课程管理功能模块图
程序实现主要是代码在编译器中运行得到的结果,客房类型管理窗体主要由文本框及命令按钮组成,管理员点击“添加、修改、删除、关闭”按钮系统会经过上述四个控件与数据库进行连接并进行数据的相应操作。实现具体功能窗口如图2.11所示:
word/media/image9.gif
图2.11功能实现窗口图
窗体代码:
Private Sub cmdDel_Click()
If TxtcouNo.Text <> "" Then
myCourse.rsDK1 "select * from course_info where course_no='" & TxtcouNo.Text & "'"
If MsgBox("确定要删除该记录吗?", vbQuestion + vbOKCancel, "删除记录") = vbOK Then
myCourse.rs1.Delete
Call ClearText
Else
Exit Sub
End If
myCourse.rsDK1 "select * from course_info"
If myCourse.rs1.EOF Then
Frame2.Enabled = False
Course_Grid.Clear
Course_Grid.FormatString = " |课程编号|课程名称|课程类型|课程描述"
Else
Set Course_Grid.DataSource = myCourse.rs1
Course_Grid.FormatString = " |课程编号|课程名称|课程类型|课程描述"
End If
Frame1.Enabled = False
cmdAdd.Caption = "添加(&A)"
cmdSave.Caption = "保存(&S)"
cmdSave.Enabled = False
cmdDel.Enabled = False
End If
End Sub
数据库连接语句:
Public Function rsDK1(sql As String)
Set rs1 = New ADODB.Recordset
With rs1
.Source = sql
.ActiveConnection = cnSIMS
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open , , , , adCmdText
End With
End Function
本次课程设计,我的题目是学生管理信息系统。要求编写一学生管理信息系统,实现对学生信息的计算机管理。 题目给出了,我们小组先自己做了一份规划要求,首先要有学生基本信息包括:班级,性别,学号,要求能输入至少四个科目的成绩。 其次对系统的使用权限做如下规定:学生只能查询本人的成绩,管理员能够输入,修改和查询每个学生的成绩。管理员和学生都能够随时修改自己的密码。 还有要方便学生对学生的各科成绩进行排序,并按总成绩排序。 求各科的平均成绩,并求出每个学生的平均成绩。
还有用户能够获得在线帮助信息。 最后系统的截面设计要合理,友好。
在这次的课程设计中,使我对数据库的知识有了更深刻了解,增加可我对数据库这门课兴趣,强化了我的实际动手能力。同时也找到自己的不足。我一定会继续学习增加自己的数据库知识,在今后的学习中我会更加的努力,增加自己的知识储备。对仓库管理系统的开发,我付出了大量的时间,可是,我得到的收获远远不是这些时间能够衡量的,它将是我终生的财富,必将给我今后的学习和工作带来更多的收益.经过对此管理系统的开发,使我对软件开发有了一个比较清楚的认识,体会到理论和实践的重要性.由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。
开始的登陆窗口,我们遇到了不会写代码的问题,这个登陆窗口是一个有用户名,有密码的界面,当你选择一个用户名,它有相应的口令,口令正确才能够进入.这是一个要有变量来实现的过程,当然也要对应的数据窗口.其实,这个问题不会写代码没有关系的,我们能够从数据窗口中的变量设置中找到SQL语句,这样就解决了问题。我们的登陆窗口粗略的完成了.
由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如数据冗余,文档组织不合理,帮助文档没有编写,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。经过这次的课程设计,使我增加了对数据库基本概念的理解,提高对知识的理解和应用能力,而且对数据库的应用都有了更深的了解,使我的数据库编写水平又有了明显的提高。
1.龚沛曾,陆蔚明,杨志强.《Visual Basic程序设计教程6.0版》.高等教育出版社
2.马 力.《Visual Basic 简明教程 》.机械工业出版社
3.李存斌.《数据库应用技术SQL Server 简明教程》.中国水利水电出版社
4.李俊民.《Visual C++ 管理信息系统完整项目实例剖析》.浙江民用信息出版社
5.江民生.《Delphi数据库开发实例解析》.北京出版社
6.萨师煊,王珊.《数据库系统概论》.高等教育出版社
7.王珊,陈红,文继荣.《数据库和数据库系统管理》.电子工业出版社
8.许强.《SQL 数据库设计管理与应用》.国防工业出版社
9.王松.《Visual C++6.0程序设计与开发指南》.高等教育出版社
10.赵庾芸.《SQL Server 培训教程》.人民邮电出版社