管理系统信息系统设计学生信息管理系统.docx
- 文档编号:14962966
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:22
- 大小:239.11KB
管理系统信息系统设计学生信息管理系统.docx
《管理系统信息系统设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《管理系统信息系统设计学生信息管理系统.docx(22页珍藏版)》请在冰点文库上搜索。
管理系统信息系统设计学生信息管理系统
辽宁工业大学
《管理信息系统设计专题》报告
题目:
学生信息管理系统
院(系):
软件学院
专业班级:
软件技术班
学号:
学生姓名:
指导教师:
翟宝峰
教师职称:
副教授
起止时间:
2010.06.28-2010.07.09
设计任务及评语
院(系):
软件学院教研室:
软件教研室
学号
学生姓名
专业班级
软件技术
设计题目
学生信息管理系统
设计任务
要求根据管理信息系统及数据库设计原理,按照系统设计的步骤和规范,完成各阶段的设计内容。
需求分析具体实际,数据流图、数据字典、关系模型要规范。
在sqlserver2000上实现数据库的模型建立(数据库、表的建立、完整性约束的实现、关系图、必要的存储过程及触发器的编程),并用VB实现简单的应用程序。
设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出设计报告。
指导教师评语及成绩
成绩:
指导教师签字:
年月日
第1章设计目的与要求
1.1设计目的
本实践课的主要目的是:
(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;
(2)掌握关系数据库的设计方法;(3)掌握SQLServer2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。
1.2设计环境
硬件:
一台Pentium4cpu以上的微机及兼容VGA彩显一台
软件:
WindowsXPVisualBasic6.0和SQLSever2000
1.3主要参考资料
1.《管理信息系统》黄梯云高等教育出版社
2.《数据库系统概论》萨师煊高等教育出版社
3.《SQLServer2000数据库应用系统开发技术》朱如龙编,机械工业出版社。
4.《SQLServer2000数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社
1.4设计内容及要求
一、内容
1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sqlserver2000上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用VB实现简单的应用程序编写。
二、要求
设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
第2章设设计内容
2.1数据库设计
2.1.1需求分析
“学生管理信息系统”包括十个模块:
用户信息管理,班级信息管理,学籍信息管理,课程信息管理,成绩信息管理,奖惩信息管理,个人收费信息管理,消息信息管理。
这十个模块既相互联系又相互独立。
(1)在系统管理模块中,当点击“退出”时,系统能够正常的关闭;
(2)在学生管理模块:
添加学生。
当生刚进校时要进行添加信息的添加;删除学生。
当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。
该功能主要进行删除学生信息;(3)在课程管理模块中,能够正确的对课程信息进行增加、修改和删除;(4)在成绩管理模块中,能够对已经进行了选课的学生所选择的课程进行成绩的添加以及修改;(5)在信息查询模块中,第一,能通过学号、姓名、性别、学院、专业等条件正确的查询到学生的基本信息;第二,能通过课程名、授课老师来查询出基本的课程信息;第三,在成绩信息查询中,能够查询出所有科目的成绩;(6)能够针对SQLSERVER2000执行数据的基本处理,如添加、删除等。
1.系统工作流程图:
图2.1系统工作流程图
2.系统业务流程图:
业务流程图是一种用尽可能少、尽可能简单的方法来描述业务处理过程的方法。
由它比较适用于反映事务处理类型的业务过程。
图2.2系统业务流程图
3.系统数据流程图:
图2.3系统数据流程图
数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。
3.数据字典:
1)数据项:
表2.1数据项
数据项名称
数据项含义说明
别名
数据类型
长度
取值范围
学号
为每个学生设置一个代号
无
字符
4
a000-x999
姓名
学生的名字
无
字符
50
中、外文
性别
学生的性别
无
字符
2
男、女
出生日期
学生出生的日期
无
日期
8
19**/**/*-2***/**/**
民族
学生的民族
无
字符
50
中文
入学时间
学生的入学时间
无
日期
9
19**/**/*-2***/**/**
籍贯
学生的籍贯
无
字符
100
中文
班级
学生的班级
无
字符
50
中文
专业
学生的专业
无
字符
50
中文
2)数据结构的定义:
表2.2课程信息数据字典
名字:
课程信息
描述:
学生选课所产生的课程信息
定义:
课程信息=课程号+课程名+授课老师+授课地点+课程类型+授课时间
表2.3分数信息数据字典
名字:
分数信息
描述:
学生选择课程所得分数
定义:
分数信息=课程号+学号+分数
表2.4学生信息数据字典
名字:
学生信息
描述:
学生的基本信息
定义:
学生信息=学生号+学生姓名+学生性别+民族+籍贯+入学时间+专业+所属学院+出生日期
3)数据流的定义:
表2.5成绩统计
数据流名称:
成绩统计
简要说明:
对各科成绩进行统计
数据流来源:
P1.8
数据流去向:
课程管理模块
数据结构:
序号+学号+课程编号+学期+成绩
4)数据存储:
数据存储名:
课程信息
输入数据流:
课程基本信息,年级开课课程
输出数据流:
学生选修的课程信息
数据存储名:
成绩信息
输入数据流:
更新后的成绩信息
输出数据流:
学生各科分数及成绩的统计
2.1.2概念设计
(1)学生信息实体E-R图:
图2.4学生信息E-R图
(2)课程信息E-R图:
图2.5课程信息E-R图
(2)教师信息E-R图:
图2.6教师信息E-R图
系统E-R图:
学生信息表,学校信息表,教师信息表,课程表,成绩等表之间的联系描绘出关系模型。
联系是指学生管理系统中各个实体的联系,拥有一对一、一对多、多对多的联系。
如图2.1所示:
图2.7学生管理系统总E-R图
2.1.3逻辑设计
逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。
逻辑结构设计一般分为三步进行:
从E-R图向关系模式转化数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。
一个实体类型转换为一个关系模型,将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
将“客房”实体转换为一个关系模型,其中,带下划线的属性为主属性,该主属性为关系模型外键。
设计逻辑结构时一般要分三步进行:
第一步:
将概念经过转化为一般的关系、网状、层次模型;
第二部:
将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
第三部:
对数据模型进行优化。
学籍管理(学生注册,导入学生,学生查询,学生统计,学生毕业,修改学籍)
收费管理(费用减免,学生交费,交费查询,未交费查询)
成绩管理(成绩录入,成绩查询,班级成绩统计,年级成绩统计,班级成绩明细,不及格名单,学生单科名次,学生总分名次)
学籍变动(学生留降级处理,学生跳升级处理,学生借读处理,学生休学处理,学生复学处理,学生调班处理,学生转校处理,学生退学处理,学籍变动查询,学生试读查询,学生试读登记)
学生信息管理(系统管理,学籍管理,学籍变动,收费管理,宿舍管理,成绩管理,学生评语,消息文件管理)
2.1.4物理设计
物理设计是对给定的逻辑数据模型配置一个最适合应用环境的物理结构。
物理设计的输入要素包括:
模式和子模式、物理设计指南、硬件特性、OS和DBMS的约束、运行要求等。
物理设计的输出信息主要是物理数据库结构说明书。
其内容包括物理数据库结构、存储记录格式、存储记录位置分配及访问方法等。
1.存储结构
存储结构是建立一种由逻辑结构到存储空间的映射。
存储结构是把一组结点存放在按地址相邻的存储单元里,结点间的逻辑关系用存储单元的自然顺序关系来表达的,即用一块存储区域存储线性数据结构,为使用整数编码访问数据结点提供了便利。
2.索引的创建
为student表创建一个以student_id为索引的关键字的唯一聚簇索引
1)展开数据库中的表右键学生表,单击所有任务弹出的索引管理。
2)在窗体点新建索引名称为student_id_index,点击复选框“聚簇索引”、“惟一值”。
3.事务日志文件备份及存放
SQLServer创建数据库的时候,会同时创建事物日志文件,事物日志存储在一个单独的日志文件上。
在修改写入数据库之前,事物日志会自动地记录对数据库对象所做的所有修改,事物日志有助于防止数据库损坏。
日志文件与数据文件要分开放在不同的磁盘上,这样事物日志就可以单独的备份,事务日志不会抢占数据库的空间,可以很容易的监测事务日志的空间。
4.存取方法:
数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。
物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。
存取方法是快速存取数据库中数据的技术。
数据库管理系统一般都提供多种存取方祛。
常用的存取方法有二类。
第一类是索引方法,第二类是聚簇(Cluster)方法。
索引方法是数据库中经典的存取方法,使用最普遍。
索引法是为了加速对表中的数据行的检索而创建的一种分散的存储结构。
是针对一个表而建立的,它能够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。
例如在本数据库中的:
学生(学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间)
课程信息(课程编号、课程名称、开课日期、学时。
)
整个系统需要调用学生表、成绩表等,所以学生表属性“学号”,成绩表表中的属性“学号”,将经常出现在查询条件中,可以考虑在上面建立聚簇索引以提高查询效率。
2.1.5数据库实现
数据库实现是通过数据字段、关系图、存储过程和触发器实现等各部分的功能实现的。
(1)数据字段:
1.学生信息表:
学号,姓名,性别,民族,籍贯,入学时间,班级,专业,出生日期。
表2.6学生信息表
序号
TableName(表名)
FieldName(字段)
FieldType(字段类型)
IsPrimaryKey(是否主键)1为主键
1
student_Info
student_id
[varchar](15)NOTNULL
1
2
student_Info
student_name
[varchar](20)NULL
0
3
student_Info
student_gender
[char]
(2)NULL
0
4
student_Info
birth_date
[varchar](15)NULL
0
5
student_Info
class_no
[char](3)NOTNULL
0
6
student_Info
tele_number
[varchar](20)NULL
0
7
student_Info
in_date
[varchar](15)NULL
0
8
student_Info
address
[varchar](30)NULL
0
9
student_Info
comment
[varchar](100)NULL
0
2.课程信息表:
课程编号,课程名称,开课学期,学分,教师编号,学院编号等。
详细情况如表2.7:
表2.7课程表
序号
TableName(表名)
FieldName(字段)
FieldType(字段类型)
IsPrimaryKey(是否主键)1为主键
1
course_info
course_No
[int]NOTNULL
1
2
course_info
course_Name
[varchar](30)NULL
0
3
course_info
course_type
[char](20)NULL
0
4
course_info
course_des
[varchar](60)NULL
0
3.表4-1教师信息表:
教师编号,教师名称,职称,学院编号等。
详细情况如表2.7:
表2.8教师信息表
序号
TableName(表名)
FieldName(字段)
FieldType(字段类型)
IsPrimaryKey(是否主键)1为主键
1
teacher_info
teacher_id
[varchar](15)NOTNULL
1
2
teacher_info
teacher_Name
[varchar]
(2)NULL
0
3
teacher_info
birth_date
[varchar](15)NULL
0
4
teacher_info
address
[varchar](30)NULL
0
(2)关系图:
学生管理信息系统包含学生信息表、教师信息表、课程信息表、学校信息表、成绩信息表、专业信息表、班级信息表组成。
利用各个表的主键把各个表连接到一起。
利用关系图表现出来。
如图2.8所示:
图2.8学生管理系统关系图
(3)运用到存储过程的如下:
1).为dataebase数据库创建一个带重编译选项的存储过程,用于托运单信息表中的托运人。
CREATEPROCspa
@学生char(8)
WITHRECOMPILE
AS
SELECT*FROM学生信息
学号=@学号
2).为datebase数据库建立一个存储过程,通过执行存储过程将学生信息添加到学生表。
CREATEPROCEDUREinsAS
@student_idchar(8)=NULL,
@student_namenvarchar(8)=NULL,
@student_genderchar
(2)=NULL,
@birth_datesmalldatetime=NULL,
@class_nochar(6)=NULL,
@in_datesmalldatetime=NULL,
@home_addrnvarchar(40)=NULL,
AS
DECLARE@bitSexbit
IF@student_gender='男'
SET@bitSex=1
ELSESET@bitSex=0
INSERTstudent
(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触发器以自动更新教师信息表中教师人数。
USESims_four
GO
/*如果存在同名的触发器,则删除之*/
IFEXISTS(select教师人数fromsysobjectswheretype=’tr’and教师人数=’教师人数insert’)
DROPTRIGGER教师信息_insert
GO
CREATETRIGGER教师人数_insertON教师人数
FORINSERT
AS
DECLARE@NumOf教师人数TINYINT
SELECT@NumOf教师人数=c.教师人数_numFROM教师信息c,insertedi
WHEREc.教师编号=i.教师编号号
IF(@NumOf教师人数>0)
BEGIN
UPDATE教师信息SET教师人数_num=教师人数t_num+1
FROM教师信息c,insertediWHEREc.教师人数=i.教师人数
END
ELSE(空值,直接写下面代码也可)
BEGIN
UPDATE教师信息SET为序人_num=(
SELECTCOUNT(s.教师编号)FROM教师信息s,insertedi
WHEREs.教师编号=i.教师编号)
FROM教师信息c,insertediWHEREc.教师编号=i.教师编号
END
GO
2.2程序设计
2.2.1概要设计
学生管理信息系统包括学校信息管理,教师信息管理,学生信息管理,成绩信息管理,补考重修管理以及帮助说明,在成绩信息编辑页面,可以编辑更新学生成绩情况,,而在成绩查询界面,可以查到详细的学生各科成绩。
学生信息管理分为年级信息管理,学籍信息管理,班级信息管理,成绩信息管理,课程信息管理,查询管理,其中有关学生学籍等信息的输入,包括学生基本信息,所在班级,所学课程和成绩等。
学生信息的查询,包括学生基本信息,所在班级,所学课程和成绩等。
班级管理信息的查询班级管理信息的修改学校基本课程的输入,查询学生课程的设置和修改学生成绩信息的输入,修改,查询,统计。
所以为其设计管理信息系统的时候,首先要考虑其组织结构。
按照结构化的系统设计方法,将整个学生管理系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到学生管理系统的功能模块结构图。
本系统的功能模块结构如图2.9所示:
图2.9系统的功能模块结构图
课程信息管理包括课程信息设置、年级课程开设。
其中课程信息设置时,可以输入课程编号实现对课程信息的设置,包括课程和所任课老师姓名;年级课程开设时,可以输入学年编号实现对学年课程信息的开设,包括课程名称,课程类型及课程描述等
图2.10课程管理功能模块图
2.2.2程序实现
程序实现主要是代码在编译器中运行得到的结果,客房类型管理窗体主要由文本框及命令按钮组成,管理员点击“添加、修改、删除、关闭”按钮系统会通过上述四个控件与数据库进行连接并进行数据的相应操作。
实现具体功能窗口如图2.11所示:
图2.11功能实现窗口图
窗体代码:
PrivateSubcmdDel_Click()
IfTxtcouNo.Text<>""Then
myCourse.rsDK1"select*fromcourse_infowherecourse_no='"&TxtcouNo.Text&"'"
IfMsgBox("确定要删除该记录吗?
",vbQuestion+vbOKCancel,"删除记录")=vbOKThen
myCourse.rs1.Delete
CallClearText
Else
ExitSub
EndIf
myCourse.rsDK1"select*fromcourse_info"
IfmyCourse.rs1.EOFThen
Frame2.Enabled=False
Course_Grid.Clear
Course_Grid.FormatString="|课程编号|课程名称|课程类型|课程描述"
Else
SetCourse_Grid.DataSource=myCourse.rs1
Course_Grid.FormatString="|课程编号|课程名称|课程类型|课程描述"
EndIf
Frame1.Enabled=False
cmdAdd.Caption="添加(&A)"
cmdSave.Caption="保存(&S)"
cmdSave.Enabled=False
cmdDel.Enabled=False
EndIf
EndSub
数据库连接语句:
PublicFunctionrsDK1(sqlAsString)
Setrs1=NewADODB.Recordset
Withrs1
.Source=sql
.ActiveConnection=cnSIMS
.CursorType=adOpenKeyset
.LockType=adLockOptimistic
.Open,,,,adCmdText
EndWith
EndFunction
第3章设计总结
本次课程设计,我的题目是学生管理信息系统。
要求编写一学生管理信息系统,实现对学生信息的计算机管理。
题目给出了,我们小组先自己做了一份规划要求,首先要有学生基本信息包括:
班级,性别,学号,要求能输入至少四个科目的成绩。
其次对系统的使用权限做如下规定:
学生只能查询本人的成绩,管理员可以输入,修改和查询每个学生的成绩。
管理员和学生都可以随时修改自己的密码。
还有要方便学生对学生的各科成绩进行排序,并按总成绩排序。
求各科的平均成绩,并求出每个学生的平均成绩。
还有用户能够获得在线帮助信息。
最后系统的截面设计要合理,友好。
在这次的课程设计中,使我对数据库的知识有了更深刻了解,增加可我对数据库这门课兴趣,强化了我的实际动手能力。
同时也找到自己的不足。
我一定会继续学习增加自己的数据库知识,在今后的学习中我会更加的努力,增加自己的知识储备。
对仓库管理系统的开发,我付出了大量的时间,但是,我得到的收获远远不是这些时间可以衡量的,它将是我终生的财富,必将给我今后的学习和工作带来更多的收益.通过对此管理系统的开发,使我对软件开发有了一个比较清楚的认识,体会到理论和实践的重要性.由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。
开始的登陆窗口,我们遇到了不会写代码的问题,这个登陆窗口是一个有用户名,有密码的界面,当你选择一个用户名,它有相应的口令,口令正确才可以进入.这是一个要有变量来实现的过程,当然也要对应的数据窗口.其实,这个问题不会写代码没有关系的,我们可以从数据窗口中的变量设置中找到SQL语句,这样就解决了问题。
我们的登陆窗口粗略的完成了.
由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如数据冗余,文档组织不合理,帮助文档没有编写,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。
通过这次的课程设计,使我增加了对数据库基本概念的理解,提高对知识的理解和应用能力,并且对数据库的应用都有了更深的了解,使我的数据库编写水平又有了明显的提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 系统 信息系统 设计 学生 信息管理