管理信息系统课程设计 教师信息管理系统.docx
《管理信息系统课程设计 教师信息管理系统.docx》由会员分享,可在线阅读,更多相关《管理信息系统课程设计 教师信息管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
![管理信息系统课程设计 教师信息管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/8/94e8c693-267b-492a-a18f-6801325e106f/94e8c693-267b-492a-a18f-6801325e106f1.gif)
管理信息系统课程设计教师信息管理系统
辽宁工业大学
管理信息系统设计课程设计报告(论文)
题目:
教师信息管理系统的分析与设计
院(系):
软件学院
专业班级:
软件工程112
学号:
111301045
学生姓名:
安凯辰
指导教师:
翟宝峰
教师职称:
副教授
起止时间:
2012.5.28--2012.6.8
课程设计(论文)任务及评语
院(系):
软件学院教研室:
软件教研室
学号
111301045
学生姓名
安凯辰
专业班级
软件工程112
课程设计(论文)题目
教师信息管理系统的分析与设计
课程设计(论文)任务
管理信息系统课程设计作为独立的教学环节,是电子商务专业集中实践性环节系列之一,是学习完《管理信息系统》课程并进行完专业实习后进行的一次全面的综合练习。
任务:
采用结构化的系统开发方法,应用具体的计算机语言(如PB、VB、Delphi)和数据库(SQL、Access)等技术,按照软件工程的思想,开发一个实用的中小型管理信息系统,完成教师信息管理系统的分析设计实施工作,实现该系统添加、删除、修改、等功能,并完成结合分析设计过程,撰写系统设计说明书(课设报告)。
1.根据课程设计时间选择适当规模大小的设计课题。
采用专业实习的调研内容作为课程设计选题。
2.根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。
3.课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后提交详细的课程设计报告。
4.开发出可以运行的管理信息系统,通过上机运行检查。
5.设计说明书要求文档齐备,步骤全整,流程正确,说明详细,具有有可操作性。
指导教师评语及成绩
成绩:
指导教师签字:
2012年6月12日
第1章系统分析
1.1需求分析
本系统主要用于教师信息管理,采用面向对象的设计思想,以菜单和表单的形式进行各表单的调用,其系统功能分析是在系统开发的总体任务的基础上完成的。
因此,本系统应该主要完成和实现如下功能:
初始化系统数据;
录入员工的基本信息数据;
员工基本信息数据的修改和删除;
教师信息的基本设定;
浏览教师工资;
查询教师信息表;
计算教师的工资;
1.2程序流程
数据流程是数据的采集、输入、处理、加工和输出的全过程。
信息原始数据经采集后,输入计算机系统,进行模式或统计运算,或按用户的特殊要求编制某种专门程序来加工处理数据,然后输出结果数据。
输出结果一般都应说明或反映某一领域内客观事物自然属性的特性和规律性。
数据流程图的基本成分包括系统的外部实体、处理过程数据存储和系统中的数据流:
1、外部实体:
外部实体指系统以外又和系统有联系的人或事物,它说明了数据的外部来源和去处,属于系统的外部和系统的界面。
外部实体支持系统数据输入的实体称为源点,支持系统数据输出的实体称为终点。
2、处理过程:
处理指对数据逻辑处理,也就是数据变换,它用来改变数据值。
而每一种处理又包括数据输入、数据处理和数据输出等部分。
3、数据流:
数据流是指处理功能的输入或输出。
它用来表示一中间数据流值,但不能用来改变数据值。
4、数据存储:
数据存储表示数据保存的地方,它用来存储数据。
系统处理从数据存储中提取数据,也将处理的数据返回数据存储。
与数据流不同的是数据存储本身不产生任何操作,它仅仅响应存储和访问数据的要求。
图1.1数据流图
1.3数据字典
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
数据字典是一种用户可以访问的记录数据库和应用程序源数据的目录。
主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。
被动数据字典是指修改时必须手工更新其内容的数据字典。
第2章系统设计
2.1结构设计
2.1.1概念设计
根据需求分析的结果,兴城独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。
概念设计的一般步骤:
1.初始化工程:
这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,手机原材料,指定约束和规范。
其中收集原材料是这阶段的重点。
通过调查和观察结果,由业务流程、原有系统的输入输出、各种报表、手机的原始数据形成了基本数据资料表。
2.定义实体:
实体集合的成员都有一个共同的特征和属性集,可以从收集的原材料——基本数据资料表中直接或间接标识出大部分实体。
根据原材料名字表中表示物的术语以及具有“代码”结尾的术语讲其名词部分代表的实体标识出来,从而初步找出潜在的实体,兴城初步实体表。
3.定义码:
为实体表示候选码属性,以便唯一标识每个实体,再从候选码中确定主码。
为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体的一个属性不能是空值,也不能在同一个时刻有一个以上的值。
4.定义属性:
从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。
定义非主码属性,检查属性的非空及非多值规则。
此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于整个主码且仅仅是依赖与主码。
以此得到了至少复合关系理论第三范式。
下面是系统中各个实体的E-R图:
图2.1工资表的E-R图
图2.2课程表的E-R图
图2.3教师的E-R图
图2.4总体E-R图
2.1.2逻辑设计
将概念设计E-R图转换成具体DBMS产品支持的数据模型,如关系模型(基本表),兴城数据库的模式,并对数据进行优化处理。
然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图兴城数据库的外模式。
职称表(工号,职称,部门)
工资表(工号,基本工资,课费,补助,工资补助)
补助表(职称,基本工资,水电补助,偏远补助,房屋补助,电话补助)
教师表(工号,姓名,性别,年龄)
课程表(工号,课号,课名,基本课费)
2.1.3物理设计
使用CREATETABLE或ALTERTABLE对列定义PRIMARYKEY或UNIQUE约束。
SQLServer数据库引擎自动创建唯一索引来强制PRIMARYKEY或UNIQUE约束的唯一性要求。
默认情况下,创建的唯一聚集索引可以强制PRIMARYKEY约束,除非表中已存在聚集索引或指定了唯一的非聚集索引。
默认情况下,创建的唯一非聚集索引可以强制UNIQUE约束,除非已明确指定唯一的聚集索引且表中不存在聚集索引。
1)为职称表创建一个以工号为索引关键字的惟一聚簇索引。
2)为工资表创建一个以工号为索引关键字的惟一聚簇索引。
3)为补助表创建一个以基本工资为索引关键字的惟一聚簇索引。
4)为教师表创建一个以工号为索引关键字的惟一聚簇索引。
5)为课程表创建一个以工号为索引关键字的惟一聚簇索引。
2.2行为设计
2.2.1总体设计
总体设计过程首先在寻找可实现的方案,需求分析阶段得到的DFD等是各种个梦实现方案的基础,这个阶段要解决“怎么做”,即系统应如何实现的问题。
总体设计是将系统需要转换为数据结构和软件系统结构的过程。
通过对结构的细化,得到软件的详细数据结构和算法。
教室信息管理系统的功能结构图如图所示:
图2.5功能结构图
本系统应该主要实现一下两个部分:
1.系统管理员:
(1)教师信息部分:
1)个人资料的添加、修改、删除及退出;
2)授课课程的添加、修改、删除及退出;
(2)职称信息部分
1)特殊补助的添加、删除及退出;
2)收入总汇的查询工资
(3)账号管理部分
设置账号的添加、修改、删除及返回;
2.一般操作员
(1)职称信息
收入总汇的查询工资;
2.2.2模块设计
1、个人资料
PrivateSubCommand1_Click(IndexAsInteger)
person_add.Show
EndSub
PrivateSubCommand2_Click(IndexAsInteger)
person_update.Show
EndSub
PrivateSubCommand3_Click(IndexAsInteger)
sql="deletefrom教师表where工号='"&Adodc1.Recordset.Fields("工号")&"'"
exesql(sql)'删除选定工号在教师表的信息
sql="deletefrom职称表where工号='"&Adodc1.Recordset.Fields("工号")&"'"
exesql(sql)'删除选定工号在职称表的信息
Adodc1.Refresh'更新
MsgBox"删除成功",vbOKOnly+vbExclamation,"信息提示"'提示删除成功
EndSub
PrivateSubCommand4_Click(IndexAsInteger)
person_view.Show
EndSub
PrivateSubCommand5_Click()
UnloadMe'关闭本活动窗口
EndSub
图2.6个人资料简介
2、授课信息
PrivateSubCommand1_Click(IndexAsInteger)
course_add.Show
EndSub
PrivateSubCommand2_Click(IndexAsInteger)
course_update.Show
EndSub
PrivateSubCommand3_Click(IndexAsInteger)
sql="deletefrom课程表where工号='"&Adodc1.Recordset.Fields("工号")&"'and课号='"&Adodc1.Recordset.Fields("课号")&"'"
'删除选定工号在课程表的信息
exesql(sql)'执行
Adodc1.Refresh'更新
MsgBox"删除成功",vbOKOnly+vbExclamation,"信息提示"'提升删除成功
EndSub
PrivateSubCommand5_Click()
UnloadMe'关闭本活动窗口
EndSub
图2.7授课信息
3、工资查询
PrivateSubDataGrid1_Click()
EndSub
PrivateSubForm_Load()
'初始化总收入的判断条件
Combo1.AddItem(">")
Combo1.AddItem("<")
Combo1.AddItem("=")
Calldeldata("工资表")'删除工资表的所有信息,为下面的工作做准备
DimmrcAsADODB.Recordset
sql="select工号,sum(基本课费)as课费from课程表Groupby工号"
'对工号进行分组,分组后,对每个人的基本课费进行相加的运算
Setmrc=exesql(sql)
'通过循环把得到的基本课费和工号插入到工资表
Fori=1Tomrc.RecordCount
sql="insertinto工资表values('"&mrc.Fields("工号")&"',0,'"&mrc.Fields("课费")&"',0,0)"
'插入对于工号的课费
exesql(sql)
mrc.MoveNext
Next
mrc.Close
Dimmrc2AsADODB.Recordset
sql="select教师表.工号from教师表where教师表.工号notin(select工资表.工号from工资表)"'找出那些没有任何任教课程的教师
Setmrc2=exesql(sql)
'把那些没有任何任教课程的教师的基本课费置0,同时插入到工资表中
Fori=1Tomrc2.RecordCount
sql="insertinto工资表values('"&mrc2.Fields("工号")&"',0,0,0,0)"
exesql(sql)
mrc2.MoveNext'跳到下一条记录
Next
mrc2.Close
Dimmrc3AsADODB.Recordset
sql="select工资表.工号,补助表.基本工资,(水电补助+偏远补助+房屋补助+电话补助)as补助from工资表,职称表,补助表where工资表.工号=职称表.工号and职称表.职称=补助表.职称"
'把工资表中的补助和对应的职称的基本工资找出
Setmrc3=exesql(sql)
Fori=1Tomrc3.RecordCount
sql="update工资表set基本工资='"&mrc3.Fields("基本工资")&"',补助='"&mrc3.Fields("补助")&"',工资总汇=课费+'"&mrc3.Fields("基本工资")&"'+'"&mrc3.Fields("补助")&"'where工号='"&mrc3.Fields("工号")&"'"
'把工资表中的补助和对应的职称的基本工资更新到工资表中
exesql(sql)'执行
mrc3.MoveNext'跳到下一条记录
Next
mrc3.Close
Adodc1.RecordSource="select工资表.工号,教师表.姓名,基本工资,课费,补助,工资总汇from工资表,教师表where工资表.工号=教师表.工号"'把工资的各种信息返回到Adodc1里面
Adodc1.Refresh'更新
EndSub
第3章系统实现
3.1数据库的实现
数据库的实现是指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构,装入数据,进行测试和试运行的过程。
数据库实现的工作内容包括:
用DDL定义数据库的结构,组织数据入库,编制与调试应用程序,数据库试运行。
教师信息管理系统中的工资表,如下:
序号
列名
数据类型
长度
字段说明
1
工号
文本
50
记录工号
2
基本工资
数字
长整型
记录基本工资
3
课费
数字
长整型
记录课费
4
补助
数字
长整型
记录补助
5
工资总汇
数字
长整型
记录工资总汇
图3.1工资信息
教师信息管理系统中的课程表,如下:
序号
列名
数据类型
长度
字段说明
1
工号
文本
50
记录工号
2
课号
文本
50
记录课号
3
课名
文本
50
记录课名
4
基本工资
数字
长整型
记录基本工资
图3.2课程信息
教师信息管理系统中的教师表,如下:
序号
列名
数据类型
长度
字段说明
1
工号
文本
50
记录工号
2
姓名
文本
50
记录姓名
3
性别
文本
50
记录性别
4
年龄
文本
50
记录年龄
图3.3教师信息
对于任何数据库,都可以创建任意多个数据库关系图;每个数据库表都可以出现在任意数量的关系图中。
这样,便可以创建不同的关系图使数据库的不同部分可视化,或强调设计的不同方面。
数据库关系图如下:
图3.4教师信息管理的关系图
3.2程序的实现
1、登录界面的实现
用户名:
wangxinggang密码:
123就能以系统管理员的身份进入系统;
用户名:
jiaoshi密码:
123就能以一般操作员的身份进入系统;
输入错误则不能进入。
图3.5教师信息管理系统的登录界面
2、工资查询界面
输入任何一个内容,就会查询出相对应的查询内容。
如在总收入里输入“>”,在后面的框里输入3000,就会查询出总收入大于3000的教师的信息,如图所示:
图3.6工资查询界面
3、个人资料界面
对教师的个人资料进行添加、删除、修改操作,以实现其功能。
例如添加一个叫刘浏的教师,如图所示:
图3.7个人资料界面
第4章实验总结
经过这几节课的课设,教师信息管理系统基本上开发完毕,虽然其中还有问题,有的地方代码需要改进,但是由于我的知识尚浅,也只能这样了。
这个系统似乎像做了半个世纪一样,感觉最大的收获就是锻炼了自学能力。
其功能基本符合用户需求,能够完成员工基本信息、工资的输入与删除,查询等。
制作中,我查阅了很多本参考书,也上网查阅了很多资料。
因为这些软件以前都学过,所以再用的时候并不觉得有那么难。
我学习VB唯一的方法就是实实在在地做些东西,凭空学习一大堆空洞的理论,不如实现一个系统。
整个过程中,我总结了一些经验:
1、事先必须制定计划。
这样即使出现问题,解决时也会像修改几个导航元素一样简单。
最简单的原因是,当真正开始项目之后,毫无疑问自己将充分了解自己正在尝试着做什么。
通过前期的规划,会让自己的工作变得轻松。