简单的职工管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科技大学
课程设计报告
学生:付建海学号:********* 专业班级:计算机081班
课程名称:数据结构
设计题目:简单的职工管理系统
学年学期:2010-2011学年第一学期指导教师:***
2011年6月
一、需求分析 (2)
二、概要设计 (3)
三、详细设计 (4)
四、调试分析 (8)
五、用户使用说明 (8)
六、测试结果 (9)
七、附录 (10)
一、需求分析
职工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以职工管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来各个公司基本上都是靠传统的人工方式来管理职工信息,这种管理方式存在着许多缺点,如:效率低、性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。
随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。
而作为计算机应用的一部分,使用计算机对职工进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。这些优点能够极提高职工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。
职工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且已达到了良好效果。
简单的职工管理系统:
1、问题描述
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
2、要求
职工对象包括(字符串)、性别(字符)、出生年月(数字)、工作年月(数字)、学历(字符串)、职务(字符串)、住址(字符串)、(字符串)等信息。
(1)新增一名职工:将新增职工对象按以字典方式职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
3、实现功能
(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入存。
(2)对职工对象中的“”按字典顺序进行排序。
(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。
二、概要设计
1、输入功能的实现:要想实现职工管理系统的输入,必须要建立一个职工
信息系统的抽象数据类型,其中职工信息以链表的存储方式实现。由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入存。
2、系统处理功能的实现:系统管理员根据公司的人员流动情况,在提示信息的提示下,选择相应的服务进行操作。如对职工对象中的""按字典顺序进行排序;对排序后的职工对象进行增、删、查询、修改、排序等操作。
3、输出的实现:根据选择的操作,输出与之对应的信息。
综上可以绘制出职工管理功能的系统流程图,如图1所示
图1 系统流程图
4、系统功能结构
根据职工管理系统问题的分析和设计要求,可以得到该职工管理系统可以分为五个模块:职工信息添加模块、职工信息修改模块、职工信息删除模块、职工信息查询模块、职工信息排序模块。其系统功能结构如图2所示。
图2 系统功能结构图
5、模块函数构造
根据系统功能结构图的描述,可以构造出该系统的抽象数据类型和相对应的函数,其方法名和功能如表1所示。
表1 函数功能表
三、详细设计
1、抽象数据类型定义
1)定义表结点(typedef struct Node)
2)定义职工信息(typedef struct Datatype)
3)初始化链表(ListInitiate(SLNode **head))
2、主函数设计
(1)根据详细设计要求,可以得到主函数代码及其对应的程序流程图:在主函数中,实现了友好的界面设计。系统需要输入职工的基本信息:、性别、出生年月、工作年月、学历、职务、住址、等。这个系统还利用键盘输入提供的主菜单服务,在主菜单中,有七种操作的调用:
新增职工信息:SLNode *ListInsert(SLNode *head,DataType x)
查询职工信息:Listfind(SLNode head)
删除职工信息:ListDelete(SLNode *head)
修改职工信息:ListModify(SLNode *head)
职工信息排序:Listpaixu(SLNode *head)
保存职工信息:put(SLNode *head,FILE *fp)
显示职工信息:print(SLNode *head)
(2)主函数程序流程图如图3所示:
图 3 主函数程序流程图
3、查找算法设计
在查询算法中,职工管理系统提供了七种查询操作,实现了系统的人性化查询操作。这些查询操作分别为:
对进行查询,对性别进行查询,对出生年月进行查询,对工作年月进行查询,对学历进行查询,对职位进行查询,对住址进行查询,对进行查询等一些列操作。查找算法中,利用链表的指针的移动扫描整个职工信息表,利用strcmp()函数判断字符串是否匹配。
查询算法程序流程图如图4所示: