企业培训管理系统详细设计本科学位论文.docx
《企业培训管理系统详细设计本科学位论文.docx》由会员分享,可在线阅读,更多相关《企业培训管理系统详细设计本科学位论文.docx(63页珍藏版)》请在冰豆网上搜索。
企业培训管理系统详细设计本科学位论文
本
ETMS
编号
ETMS-DD-00
版本
ETMS-DD-1.0
组长
负责人
参与人
,王兴达
张晓玉,郁淑媛
指导教师
日期
2009年12月11日
开发单位
08级软件工程
项目名称
企业培训管理管理系统
项目代码
ETMS
分项名称
详细设计
分项代码
DD
分项序号
00
河北大学学年论文(课程设计)任务书
学生姓名
指导教师
论文(设计)题目
企业培训管理系统的详细设计
主要研究
(设计)内容
局域网通信工具是一款在局域网内可以即时聊天,视频通话,文件传输的软件。
可以极大的方便企业内部员工以及其他局域网内部用户的工具。
详细设计的目的是设计出软件的实现方法,具体数据结构和算法,描绘出一个软件的详细设计过程,以便于将来参考设计书写出代码,实现软件。
研究方法
根据概要设计,使用程序流程图描述过程的设计方法。
VisualStudio2005开发工具Access数据库系统等
主要任务
及目标
正确的设计出各个类,并且实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂,在编码阶段能对设计的描述直接翻译成代码。
主要参
考文献
[1]张海藩《软件工程导论》(第四版)。
北京:
清华大学出版社,2003
[2]<>北京:
人民邮电出版社
进度安排
论文(设计)各阶段名称
日期
需求、可行性分析
第10周
总体设计
第11周
详细设计
第12周
界面设计、用户手册
第14周
数据库设计
第15周
指导教师签字:
系主任签字:
主管教学院长签字:
河北大学学年论文(课程设计)成绩评定表
学院:
数学与计算机学院
学生姓名
专业软件工程
年级2008级
论文(设计)题目
即时通讯软件的详细设计
论文(设计)内容提要
论文完成的主要工作包括:
(l)综合运用了计算机网络技术、管理信息系统思想和软件工程方法,比较了系统实现可供选择的技术方案,确定了开发环境。
(2)对人事管理系统进行了详细分析,设计出系统的实现细节。
(3)系统实现了员工资料管理模块、教师资料管理模块和企业培训管理者管理模块等功能。
本系统的开发为企业培训管理提供了一个良好的平台。
指导教师评语
成绩:
指导教师(签名):
年月日
1.引言
1.1编写目的
即时聊天工具是一种可以让使用者在网络上实时通讯的工具,大部分的即时通讯工具提供了状态信息的特性,如显示联络人名单,联络人是否在线及能否与联络人交谈等。
目前在互联网上受欢迎的即时通讯软件包括QQ、MSNMessenger、Yahoo!
Messenger、ICQ等。
在本文中将讨论一种在局域网内实现的聊天、通信工具。
虽然以上的这些聊天工具已经相当完美的实现了各种功能了,但是局域网内的实现会更简单,因为其网络结构更简单。
并且此工具更加适用于局域网,对于企业内部信息的保护会更有效,也弥补了在互联网连接出现问题时其他互联网即时通讯软件不能用的缺憾。
1.2项目背景
·软件名称:
qq企业通
·项目委托单位:
河北大学数学与计算机学院
·开发部门:
河北大学数学与计算机学院08级软工班
·开发者:
、王兴达、张晓玉、郁淑媛
1.3定义
EnterpriseTrainingManagementSystem:
企业培训系统(ETMS)
1.4参考资料
1.张海藩《软件工程导论》(第5版)。
北京:
清华大学出版社,2008
2.<>北京:
人民邮电出版社
2.项目概述
2.1面向的用户
企业内部的员工、管理者以及各种局域网用户群。
2.2实现目标.
局域网即时通讯应该达到以下要求:
1、及时性。
优化逻辑设计与物理设计,保证网络连接的情况下,使系统运行效率高,反映速度快。
2、可靠性。
能连续准确的传输信息,有较强的容错、纠错能力。
3、便宜性。
用户容易使用该系统。
4、可维护性和适应性。
系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需
5、可用性。
目标软件功能基本齐全,能够满足用户的日常需求
6、安全保密性。
保证信息的安全、数据传输和存取的安全与保密
2.3所需环境及开发工具
Intel486以上系列、AMDK6以上系列等PC台式机和便携式
内存≥256M
硬盘空间:
80G
软件平台:
VisualStudio2005或更高版本,MySQL
2.4条件及限制
作为一个即时通讯工具,用户最重要的就是信息的及时性和信息的可靠性,所以我们要求此工具信息传输迅速,反应及时。
对于两个客户端的通信采用了udp协议。
3程序系统的结构
程序的整体结构
3.3处理流程,3.3.1主流程,3.3.2管理者使用流程,3.3.3教师使用流程,3.3.4学员使用流程
4.程序描述
1、类库设计
设计程序中需要的各个类,以便于日后的操作。
●Str_List类
用System.Collection.Collection.Base定义一个存储字符型的列表类,
可以实现对该列表类中添加删除多个字符串。
●UPDsocket组件
Localhost属性:
设置服务器端的ip地址;
Localport属性:
设置端口号;
Active属性:
布尔型,用于控制端口号是否处于监听状态;
Datearrive事件:
通过该事件将消息发送给客户端;
Opensocket方法:
用于打开Upd协议端口的监听功能;
Closesocket方法:
用于关闭Upd协议端口的监听功能
Listener方法:
实现主机端口的监听功能;
GetUPDdate方法:
功能:
获取远程消息并将消息转发给Updsocket控件。
输入:
输出:
Send方法:
功能:
用于将主机获取的消息通过IP地址和端口发送给远程客户端。
输入:
host类型:
System.Net.IPAddress
Port类型:
int
Date类型:
byte[]
输出:
无
●Public_Class类
用于记录服务器和客户端的基本信息。
MyhostIP()方法:
用于获取服务器端的所有IP地址。
输入:
无
输出:
无
Get_windows()放法:
无输入参数,用于获取windows的目录。
●Class_Msg类
用枚举类型的元素指定消息发送的命令、消息的类型、消息发送的状态。
StringSID:
发送方编号;
StringSIP:
发送方IP;
StringSport:
发送方端口
StringRID:
接收方编号
StringRIP:
接收方IP
StringRport:
接收方端口
Byte[]Data:
接受的数据
MsgCommand:
消息的命令(用枚举类型实现)
包含元素:
{None,registering,registered,logining,Logined,Sendtoone,
SendToAll,Userlist,Updatestate,videoOpen,videoing,videoclose,Close}
Sendkind:
发送消息命令(用枚举类型实现)
包含元素:
{SendNone,Sendcommand,Sendmsg,sendfile}
SendState:
消息发送状态(用枚举类型实现)
包含元素:
{None,Single,Start,Sending,End}
●ClassUserInfo类
该类用于记录当前qq用户的编号、Ip地址、端口号、用户名称和用户状态。
StringUserId用户编号
StringUserIpIP地址
StringUsername用户名
Stringuserport端口号
Stringstate当前用户状态
●Classuser类
数据库连接情况:
正常情况;
数据库文件缺少;
外部系统异常。
对用户输入的响应:
合法输入,能够正常调用子模块;
非法输入,系统能否辨别,并作出响应(提出警告);
子模块的异常状况,系统能否及时做出响应。
●程序逻辑
启动程序
进入
★学员模块
●功能
查询/修改个人信息;
查询培训计划;
查询所修课程;
查询使用教材;
查询成绩;
系统设置;
退出系统;
●输入项目
用户鼠标点击进入各个模块,包括:
个人信息、培训计划、所修课程、使用教材、成绩查询、系统设置、退出系统。
●输出项目
进入选择模块,包括:
个人信息、培训计划、所修课程、使用教材、成绩查询、系统设置、退出系统。
●接口
4学员主界面
●存储分配
对话框CDialogCtrainingstudent
内部数据:
数据库Database&CDatabase数据库指针
数据集RecordSet&CRecordSet数据集指针
●测试要点
数据库连接情况:
正常情况;
数据库文件缺少;
外部系统异常。
对用户输入的响应:
能够正常调用子模块;
子模块的异常状况,系统能否及时做出响应。
●程序逻辑
结束
2.1个人信息模块
●功能
查询/修改个人信息;
不可修改信息包括:
姓名,性别,年龄,民族,籍贯,身份证号,婚姻状况;
可修改信息包括:
家庭住址,联系方式,Email;
●输入项目
用户鼠标点击查询不可修改信息:
姓名,性别,年龄,民族,籍贯,身份证号,婚姻状况;
键盘输入可修改内容:
家庭住址,联系方式,Email;
●输出项目
显示个人信息:
姓名,性别,年龄,民族,籍贯,身份证号,婚姻状况、家庭住址,联系方式,Email;
●程序逻辑
Email
否
●接口
4学员主界面“个人信息”按钮点击事件
4.1学员个人信息界面
(1)查看
(2)“修改信息”按钮点击事件
4.1.1学员个人信息更改界面输入更改信息
●存储分配
变量:
CComboBoxm_comboStudentMarriageStatus;婚姻状况
CComboBoxm_comboStudentSex;性别
CStringm_csStudentName;姓名
intm_nStudentAge;年龄
CStringm_csStudentNation;民族
CStringm_csStudentNativePlace;出生地
Cstringm_csStudentIdentityCardNo;身份证号
CStringm_csStudentHomeAddress;家庭住址
CStringm_csStudentTelephoneNumber;电话号码
CStringm_csStudentEmailAddress;电子邮件
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;
连接异常;
更改是否异常。
对用户输入的响应:
合法输入,能够正常查询;
非法输入,系统能否辨别,并作出响应(提出警告);
异常状况,系统能否及时做出响应。
2.2培训计划模块
●功能
查询培训计划信息;
培训计划信息包括:
课程号,课程开始时间,课程结束时间,教师号,上课人数,上课地点。
●输入项目
用户鼠标点击4学员主界面中的“培训计划”;
●输出项目
进入培训计划模块,显示培训计划信息,包括:
课程号,课程开始时间,课程结束时间,教师号,上课人数,上课地点。
●接口
4学员主界面“培训计划”按钮点击事件;
进入4.2学员培训计划界面。
●存储分配
变量:
Intm_ncoureID教材号
CStringm_ctcoureBeginDate;课程开始时间
CStringm_ctCoureEndDate课程结束时间
Intm_nTeacherID教师号
Intm_nCourePersonNumber课程人的数量
Doublem_csCourePlace上课地点
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;连接异常;
对用户输入的响应是否正常。
●程序逻辑
查询数据库3、TRAINING_PLAN
2.3所修课程模块
●功能
查询所修课程信息:
课程类别,课程名称,课程描述,学时,使用教材。
●输入项目
用户鼠标点击4学员主界面中的“培训课程”输入;
●输入项目
进入“培训课程”界面,显示培训课程信息,包括:
课程类别,课程名称,课程描述,学时,使用教材。
●程序逻辑
逻辑同培训计划模块
●接口
4学员主界面“培训课程”按钮点击事件;
进入4.3学员课程信息界面。
●存储分配
变量:
Intm_nCourseID课程号
CStringm_csCourseName;教师姓名
CStringm_cbCoursetype教材类别
CStringCSCoureDescribe教材描述
Intm_nStudyTime课时
CStringm_csUseBook使用的书
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;
连接异常;
对用户输入的响应是否正常。
2.4使用教材模块
●功能
查询使用教材信息;
使用教材信息包括:
教材名称,教材作者,课程编号,教材价格。
●输入项目
用户鼠标点击4学员主界面中的“培训教材”输入;
●输出项目
进入“培训教材”界面,显示使用教材信息:
教材名称,教材作者,课程编号,教材价格。
●程序逻辑
逻辑同培训计划;
●接口
4学员主界面“培训教材”按钮点击事件
进入4.3学员课程信息界面
●存储分配
变量:
Intm_nbookID教材号
CStringm_cbbookAuther教材作者
Intm_nCourseID课程号
Doublem_dbookPrice书的价值
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;
连接异常;
对用户输入的响应是否正常。
2.5成绩查询模块
●功能
查询所修课程的成绩;
所修课程成绩查询的信息包括:
课程名,课程号,教师评价,成绩。
●输入项目
用户鼠标点击4学员主界面中的“成绩查询”输入。
●输出项目
进入成绩查询模块,显示所修的各个科目的成绩。
●程序逻辑
逻辑同培训计划模块
●接口
4学员主界面“成绩查询”按钮点击事件;
进入4.3学员成绩查询界面。
●存储分配
变量CStringm_cbCourseName;课程名
CStringm_cbCourseID课程号
CStringm_npingjia教师对学员评价
Intm_nChengji学科成绩
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;
连接异常;
对用户输入的响应是否正常。
2.6系统设置模块
●功能
对系统进行设置:
设置窗口总在最前面;启动后最小化;显示系统时间。
修改密码;
●输入项目
对系统进行设置时用户鼠标点击输入;修改密码部分用键盘输入。
●输出项目
按选择项的格式进行输出。
●程序逻辑
进入系统设置窗口
是
是否选择
启动后最小化
显示系统时间
设置
修改密码
否
设置窗口总在最前面
是否真的修改
是
旧密码
否
密码/格式是否正确
否
是
新密码
按选择更改窗口
否
格式是否正确
是
再输入一次
密码/格式是否正确与前一次是否一致
否
结束
查询并更改数据库
●存储分配
全局变量:
数据库Database&CDatabase数据库指针
数据集RecordSet&CRecordSet数据集指针
●测试要点
数据库连接情况:
正常情况;
数据库文件缺少;
外部系统异常。
★教师模块
●功能
查询个人信息;
查询所授课程信息;
查询使用教材信息;
在有访问权限的情况下,对学员成绩进行录入;
系统设置;
退出系统;
●输入项目
用户鼠标点击输入;
在成绩录入时,用键盘输入。
●输出项目
显示教师窗口。
●程序逻辑
结束
●接口
5教师主界面
●存储分配
对话框CDialogCtrainingteacher
内部数据:
数据库Database&CDatabase数据库指针
数据集RecordSet&CRecordSet数据集指针
●测试要点
数据库连接情况:
正常情况;
数据库文件缺少;
外部系统异常。
系统设置获取:
正常情况;
外部系统异常。
对用户输入的响应:
合法输入,能够正常调用子模块;
是否能够正常返回;
非法输入,系统能否辨别,并作出响应(提出警告);
子模块的异常状况,系统能否及时做出响应。
3.1教师个人信息模块
●功能
查询/修改个人信息;
不可修改信息包括:
教师姓名、学历、执教时间、教师评价;
可修改信息包括:
家庭住址,联系方式,Email;
●输入项目
用户鼠标点击输入不可修改信息,包括:
教师姓名、学历、执教时间、教师评价;
键盘输入可修改,信息包括:
家庭住址,联系方式,Email;
●输入项目
显示教师个人信息:
教师姓名、学历、执教时间、教师评价、家庭住址,联系方式,Email;
●程序逻辑
结束
●接口
5教师主界面“个人信息”按钮点击事件
进入5.1教师个人信息界面
●存储分配
变量:
Intm_teacherID教师号
CStringm_csTeacherName;教师姓名
CStringm_csTeacherStudyExperience;学历
CTimem_ctBeginTeacherTime;开始执教时间
CStringm_csTeacherRemark;教师评价
CStringm_csteacherHomeAddress;教师家庭住址
CStringm_csteacherTelephoneNumber;教师联系电话
CStringm_csteacherEmailAddress;教师的邮箱
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;
连接异常;
更改是否异常。
对用户输入的响应:
合法输入,能够正常查询;
非法输入,系统能否辨别,并作出响应(提出警告);
异常状况,系统能否及时做出响应。
3.2教师使用教材模块
●功能
教师查询使用教材信息;
使用教材信息包括:
教材名称,教材作者,课程编号,教材价格。
●输入项目
用户鼠标点击点击5教师主界面的“使用教材”按钮;
●输入项目
输出教师的使用教材信息,包括:
教材名称,教材作者,课程编号,教材价格;
●程序逻辑
查看1、TRAINING_BOOK(教材信息)
●接口
点击5教师主界面“使用教材”按钮点击事件
进入5.2教师使用教材界面
●存储分配
变量:
Intm_nbookID教材号
CStringm_cbbookAuther教材作者
Intm_nBookCourseID书号
Doublem_dbookPrice书的价值
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;
连接异常;
对用户输入的响应是否正常。
2.3所授课程模块
●功能
查询所授课程信息;
所修课程信息包括:
课程类别,课程名称,课程描述,学时,使用教材。
●输入项目
用户鼠标点击输入“所授课程”按钮;
●输入项目
输出所修课程信息包括:
课程类别,课程名称,课程描述,学时,使用教材;
●程序逻辑
查询数据库2、TRAINING_COURSE(课程信息)
●接口
点击5教师主界面“所授课程”按钮点击事件
进入5.3教师所授课程界面
●存储分配
变量CStringm_csCourseName;教师姓名
CStringm_cbCoursetype教材类别
CStringCSCoureDescribe教材描述
Intm_nStudyTime课时
CStringm_csUseBook使用的书
全局变量:
数据库Database&CDatabase访问
数据集RecordSet&CRecordSet写(打开)
●测试要点
数据库连接情况:
正常情况;
连接异常;
对用户输入的响应是否正常。
3.4成绩录入模块
●功能
在有访问权限的时候就可以录入学生成绩,没有访问权限的时候不能录入学生信息。
录入学生成绩信息包括:
课程名,课程号,教师评价,成绩。
●输入项目
用户鼠标点击教师主界面的“成绩录入”按钮;
●输出项目
修改数据库;
显示录入成绩信息,包括:
课程名,课程号,教师评价,成绩;
●程序逻辑
点击成绩录入
否
是否有访问权限
是
进入成绩录入窗口
学科成绩
教师对学员评价
学员名字
课程号
修改数据库TRAININGCHENGJI
结束
●接口
点击5教师主界面“成绩录入”按钮点击事件
进入5.5教师成绩录入界面
●存储分配
变量CStringm_csStudentName;学员姓名
CStringm_cbCourseID课程号
CStringm_npingjia教师对学员评价
Intm_nChengji学科成绩
全局变量:
数据库Database&CDatabase访问
数据集RecordS