手机销售管理系统C++软件实习.docx
《手机销售管理系统C++软件实习.docx》由会员分享,可在线阅读,更多相关《手机销售管理系统C++软件实习.docx(19页珍藏版)》请在冰豆网上搜索。
手机销售管理系统C++软件实习
辽宁工业大学
软件实习课程设计说明书
题目:
工资管理系统
学院(系):
电子与信息工程学院
专业班级:
网络工程061班
学号:
学生姓名:
孙启元
指导教师:
赵凯
教师职称:
副教授
起止时间:
2008.6.30-2008.7.4
辽宁工业大学课程设计(论文)任务书
院(系):
电子与信息工程学院教研室:
软件工程
学号
学生姓名
孙启元
专业班级
网络061
设计题目
工资管理系统
设计技术
参数
1.题目要达到的目标:
完成系统的登陆、数据的插入删除修改统计等基本操作。
2.数据库:
采用关系数据库ACCESS2000/SQLSERVER2000。
3.所使用的语言、工具:
VB6.0+ACCESS2003+WINDOWSXP。
4.所采用的技术、系统结构:
ADO数据库联接技术,系统结构为C/S结构。
设
计
要
求
1.上机前预先把所有的源程序编写好。
2.上机时不得迟到,不得缺席,爱护设备,认真调试程序。
3.仔细查阅相关资料,认真完成思考题。
4.按要求书写设计任务书,并按要求按版打印,不得雷同。
工作量
一周
工
作
计
划
周一听取教师布置设计的任务及要求。
周二学生查阅相关资料,进行数据库设计。
周三至周五:
详细设计与界面设计。
周一至周四程序设计与上机,调试源程序。
周五书写课程设计任务书。
参考资料
《数据库系统概论》
《数据库系统概论实验指导书》自编
《数据库系统概论课程设计大纲》等自编
指导教师评语
该生在数据库系统概论课程设计期间:
上机时不迟到,不缺席,爱护设备,认真调试程序。
仔细查阅相关资料,认真完成作业。
听从指导教师安排。
在设计与实现过程中,能使设计的系统达到预期设计要求,功能合理,流程清楚,语句条理通顺。
按要求书写设计任务书,其论文格式规范,图表清晰合理,资料详实。
系统界面友好,程序运行基本正常,功能完备。
说明:
此表一式四份,学生、指导教师、教研室、系部各一份。
可加附页。
2008年7月4
目录
第一章概述2
第二章问题定义3
第三章需求分析4
第四章数据库设计7
第五章界面设计8
第六章代码11
第一章概述
随着网络应用技术的飞速发展,基于网络的应用系统给人们带来了诸多便利。
建立工资管理系统是为了适应现代化校园管理的需要,方便管理职工工资情况和职工个人信息;同时也方便职工可以上网查询自己的工资信息,还有利于提高办公效率,改善办公质量,规范高校职工工资的常规管理工作。
工资管理系统的开发是基于b/s结构,采用asp编程技术及sqlserver2000数据库进行开发?
本文首先对网站开发环境和运行平台?
数据库asp编程技术做了简要的介绍,并对工资管理系统的设计进行了详细的需求分析;然后给出了工资管理系统的设计方案及系统的具体实现,实现了工资管理系统的构建,主要包括系统工资管理模块,职工信息查询模块和系统信息管理及维护模块;最后,通过测试与分析,说明该系统运行稳定可靠,具有一定的实用价值。
第二章问题定义
工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了本工资管理系统。
本工资管理系统主要有以下几大功能:
(1)对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:
有调出、有调入、也有职工在本单位内部调动。
因此,设计系统是应考虑到这些情况。
(2)对职工的工资进行计算、修改。
可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算应发金额、应扣金额及实发金额等
2.需求分析
2.1系统需求和功能
工资管理信息系统对企业加强工资管理有着重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等。
由于本软件主要是为作者工作的一家科技公司定制开发的。
该公司是一家刚刚成立的公司,总体人员比较少,有正式员工20人,人员结构比较简单,学历比较高,基本拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以公司目前对工资管理的要求不高。
因此,针对该公司而言,我们经过反复论证,最终确定了工资管理系统的设计方案,该工资管理系统的主要功能如图3.1所示:
2.1.2功能需求描述
2.1.2.1员工基本信息模块
员工基本信息模块具有员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工可以通过员工号或员工姓名对员工信息进行查询。
2.1.2.2工资结构设置模块
根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资、工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
2.1.2.3工资汇总模块
用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。
用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打预览。
2.2数据字典
该软件的数据库由下述四张数据表组成:
员工信息表、基础工资设置表、岗位工资设置表
1、员工信息表
字段
字段名
类型
宽度
说明
1
员工号
字符型
3
数字
2
员工姓名
字符型
10
小于等于5个汉字
3
员工性别
字符型
2
“男”或“女”
4
岗位名称
字符型
14
小于等于7个汉字
5
工龄
数值型
2
1~99之间
6
工资等级
数值型
2
1~99之间
2、基础工资设置表
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1~99之间
2
工资标准
数值型
4
1~9999之间
3、岗位工资设置表
字段
字段名
类型
宽度
说明
1
岗位名称
字符型
14
小于等于7个汉字
2
工资标准
数值型
4
1~9999之间
4、工龄工资设置表
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1~99之间
2
工资标准
数值型
4
1~9999之间
5、管理员注册表
字段
字段名
类型
宽度
说明
1
注册名
字符型
10
任意字符
2
口令
字符型
10
英文字母或数字
2.2.1数据结构
工资总=(ID,编号)
管理=(用户名)
员工信息=(ID,编号)
2.2.2数据项
表2.1数据项表
编号
标识符
类型
长度
所属表名
同义名
1
ID
自动编号
20
工资总
工资编号
2
编号
文本
50
工资总
员工编号
3
基本工资
数字
自动
工资总
员工基本工资
4
津贴
数字
自动
工资总
员工津贴
5
工资扣
数字
自动
工资总
所扣除的工资数
6
洗理
数字
自动
工资总
洗理费
7
书报
数字
自动
工资总
书报费
8
交通
数字
自动
工资总
交通费
9
资金
数字
自动
工资总
本月资金
10
日期
文本
255
工资总
发放资金日期
11
用户名
文本
50
管理
用户名称
12
密码
文本
50
管理
用户密码
13
ID
自动
4
员工信息
员工信息表ID
14
编号
文本
50
员工信息
员工编号
15
科室
文本
255
员工信息
员工所在科室
16
姓名
文本
255
员工信息
员工姓名
17
生日
文本
50
员工信息
员工生日
18
政治面貌
文本
50
员工信息
员工政治面貌
19
职务
文本
50
员工信息
员工职务
20
军烈属
文本
50
员工信息
员工军烈属
21
出勤天数
文本
50
员工信息
员工出勤天数
22
缺勤天数
文本
50
员工信息
员工缺勤天数
2.2.3数据流
表2.2数据流表
编号
名称
来源
去向
组成
1
身份信息
系统管理员
应用系统
管理员帐户+密码
2
授权信息
应用系统
系统管理员
3
错误身份信息
应用系统
系统管理员
4
查询请求
系统管理员
应用系统
待查询对象识别符(如ID,编号)
5
查询结果
应用系统
系统管理员
被查询对象具体信息
6
管理请求
系统管理员
应用系统
识别符(ID,编号等)+管理类型
7
管理结果信息
应用系统
系统管理员
被管理对象处理结果
8
非法请求
应用系统
系统管理员
非法请求提示信息
2.4安全性要求
访问数据库时需要输入登陆帐号和密码。
在数据库内设有管理员表,登陆系统时会要求输入管理员帐号和密码。
登陆模块根据输入帐号和密码查管理员表,查到匹配记录则允许其登陆系统。
管理员帐号和密码可以在系统中添加和修改。
2.5一致性要求
在管理系统相关的表之间,有较强的关联性。
为了实现一致性的需求,各个表之间均建立起了相应的一致性约束。
2.6完整性要求
根据工资管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障引起的数据不一致。
第四章数据库设计
一、概念设计:
系统ER图
二、逻辑设计:
下面列出几个主要的数据库表设计
表
(一)管理员基本情况表
序号
中文名
字段名
类型
备注
0
管理员账号
5
整型
主键
1
管理员密码
5
整型
主键
表
(二)顾客基本情况表:
序号
中文名
字段名
类型
备注
0
编号
3
整型
主键
1
姓名
10
字符型archar
2
性别
2
字符型Varchar
3
家庭住址
10
字符型Varchar
4
电话
10
字符型
表(三)手机基本信息表
序号
中文名
字段名
类型
备注
0
手机编号
2
整型
主键
1
手机名称
(10,2)
字符型
2
手机类别
10
字符型
3
采购时间
10
字符型
4
手机价格
10
整型
表(四)手机类别信息表:
序号
中文名
字段名
类型
备注
0
手机编号
10
整型
主键
1
手机类别
(10,2)
字符型
三、物理设计
物理结构设计依赖与给顶的计算机系统,为一个给给定的逻辑数据模型选取最适
合应用要求的物理结构过程,存取方法是快速存取数据库中数据的技术.
不同数据库产品所提供的物理环境,存取方法和存取结构有很大差别,能供设计人员使用的设计变量,参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能尽量设计优化物理设计结构,使得在数据库上运行的各种事务响应时间小,存储空间利用率高,事务吞吐率大,为此首先要对运行的事务进行详细分析,获得选择物理数据库设计所需要的参数然后充分了解系统提供的存取方法和存储结构.
存取方法是快速存取数据库中数据的技术.数据库管理系统一般都提供多种存取方法.常用的存取方法如下:
1索引存取方法.
2聚簇存取方法.
3HSAH存取方法
第五章界面设计
一、登陆界面
功能介绍,相关控件;
输入相应信息,若输入的密码不符合,即弹出对话框,提示该用户无法进入系统。
二、主界面
点击形影按钮就可以进入下一级菜单
三、手机的查询
功能介绍,相关控件;可以按照提示输入相应的信息,按类别,日期,名称均可以查询,点击确认后会在下面显示出相应的手机。
四、手机销售
功能介绍,相关控件;可输入顾客的信息,手机的编号,点击确认存入数据库。
五、手机的类别管理
功能介绍,相关控件;在此界面课以管理相关手机信息
第六章代码与注释
一、登陆界面代码
PrivateSubCommand1_Click()
IfText2.Text=Data1.Recordset("管理员帐号")AndText3.Text=Data1.Recordset("管理员密码")Then
frmMain.Show
Form1.Hide
Else
MsgBox"密码错误!
",48,"提示"
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
二、主界面代码
PrivateSubaddCategory_Click()
frmAddCategory.Show
EndSub
PrivateSubaddDisk_Click()
frmAddDisk.Show
EndSub
PrivateSubaddMember_Click()
frmAddMember.Show
EndSub
PrivateSubForm_Load()
'窗体居中显示
Me.Top=(Screen.Height-Me.Height)\2
Me.Left=(Screen.Width-Me.Width)\2
'获取数据库的位置
dbPath=App.Path+"\db\diskrent.mdb"
connStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&dbPath
EndSub
PrivateSublendDisk_Click()
frmRentDisk.Show
EndSub
PrivateSublistCategory_Click()
frmListCategory.Show
EndSub
PrivateSubqueryDisk_Click()
frmQueryDisk.Show
EndSub
PrivateSubquerylendInfo_Click()
frmQueryLendInfo.Show
EndSub
PrivateSubqueryMember_Click()
frmQueryMember.Show
EndSub
PrivateSubreturnDisk_Click()
frmReturnDisk.Show
EndSub
PrivateSubupdateCategory_Click()
frmUpdateCat.Show
EndSub
PrivateSubupdateDisk_Click()
frmUpdateDisk.Show
EndSub
PrivateSubupdateMember_Click()
frmUpdateMember.Show
三、手机信息查询
PrivateSubcmdCancel_Click()
UnloadMe
EndSub
PrivateSubcmdQuery_Click()
queryDisks
EndSub
PrivateSubForm_Load()
'窗体居中显示
Me.Top=(Screen.Height-Me.Height)\2
Me.Left=(Screen.Width-Me.Width)\2
initCategories
initBuyDate
initTableTitle
EndSub
SubinitCategories()
'方法的作用:
将类别表中的类别名称显示到列表框中
DimrstCategoryAsADODB.Recordset
'从数据库中读取所有类别并添加到组合列表框中
sqlStr="selectnamefromcategories"
SetrstCategory=ExecuteSQL(sqlStr,msgText)
cboCategory.Clear
IfNotrstCategory.EOFThen
DoWhileNotrstCategory.EOF
cboCategory.AddItemTrim(rstCategory.Fields(0))
rstCategory.MoveNext
Loop
cboCategory.ListIndex=0
Else
MsgBox"没有类别信息,请添加!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
rstCategory.Close
EndSub
四、设计总结
回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在整整一周的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。
在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。
在老师的指导和同学的帮助下,我终于做出了手机销售管理系统,还有很多地方需要改进,我会在今后的学习中将其完善。
最后感谢老师的指导。