《软件工程课程设计-人事管理系统(共62页).doc》由会员分享,可在线阅读,更多相关《软件工程课程设计-人事管理系统(共62页).doc(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目录一、 系统概述随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。二、 需求分析需求分析是介于系统分析阶段和软件设计阶段之
2、间的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现测试直至维护的主要基础。良好的分析活动有助于避免或尽早发现早期的错误,从而提高软件生产率,降低开发成本,改进软件质量。该系统分为4个模块:用户管理模块、人事信息管理模块、员工调动管理模块和薪酬管理模块。用户登管理模块:该模块是对登陆该系统的用户的用户名及密码进行管理。分为用户登录和注册新用户两项。不同的用户拥有不同的权限。人事信息管理模块:该模块是关于公司的人事信息维护,首先是对入职员工的基本信息的录入、修改、浏览等操作;其次是员工人事档案、
3、合同档案等基本信息的管理和公司的部门管理;最后,并对公司的人事信息从工种,专业,学历等属性进行统计分析。员工调动管理模块:该模块是对员工的职位调动进行管理的,员工调动主要分为内部调动和外部调动两方面,内部调动为本城市中部门间的调动,外部调动为分公司间的调动。本模块还有登记新员工和复职、离职等信息管理。薪酬管理模块:主要包括薪酬登记、薪酬修改、薪酬查询薪酬设置4部分组成。其中,薪酬登记是完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬修改模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。综上所述,系统的总体功能需求如图2.1所示。图2.1三、 建立系统用例模型(1) 识别角色l
4、 人事部l 财务部l 员工(2) 创建用例 与人事部相关的用例:用户管理;人事信息管理;员工调动管理; 与财务部相关的用例:薪酬管理; 与员工相关的用例:用户管理;人事信息管理;员工调动管理;薪酬管理;(3) 建立用例图整个系统用例图如图3.1所示图3.1四、 建立系统动态模型(1) 活动图图4.1是描述员工申请调动过程。首先,员工提出书面调动申请。若人事部不同意,则通知员工不能进行工作交换。若人事部同意,则提出岗位安排,通知财务部进行工资变更,并且通知员工办理相关手续,进行工作交换。储存新职位变动,操作完成。图4.1(2) 时序图员工工资过程时序图如图4.2所示。图4.2员工考勤查询时序图如
5、图4.3所示。(3) 协作图员工实际工资协作图如图4.4所示。图4.4考勤记录查询协作图如图4.5所示。图4.5员工信息查询协作图如图4.6图4.6五、 系统类模型(1) 系统包图如图5.1所示。图5.1(2) 类图图5.2描述了员工信息包中的类图。 图5.2图5.3描述了合同信息包中的类图图5.3图5.4描述了实发工资包中的类图图5.4六、 数据库概念模型设计在需求分析的基础上设计出能够满足用户需求的各种实体以及它们之间的关系。下面例举出各实体的实体图及实体关系E-R图:1 员工:编号、姓名、性别、身份证号图6.1 员工实体图2合同:合同编号、员工编号、合同类型、合同开始日期、合同期限图6.
6、2 合同实体图3 考勤:所属工资月份、员工编号、出勤天数、请假天数、迟到或早退次数图6.3考勤实体图4工资:所属工资月份、员工编号、员工姓名、出勤天数图6.4 工资实体图5操作员:名称、密码、权限图6.5操作员实体图6员工合同实体关系图员工签定合同类型合同图6.6员工合同实体关系图7与工资有关的实体关系E-R图图6.7与工资有关的实体关系E-R图七、 可行性研究开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受项目开发任务之前,必须根据客户提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。可行性分析与风险分析在很多方面是相互关联的,项目风险
7、越大,开发高质量的软件的可行性就越小。(1)新系统目标可行性分析:分析新系统的目标是否符合企业的现状和发展的需要。如果公司采用人事管理系统来管理公司人员,那么它在工作效率上会有很大的提高。 (2)社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律、政策,是否能够与社会大系统实现良好的对接。这个人事管理系统是个小规模的管理系统,是用来管理一个公司的员工信息的,它符合国家法律要求,能与社会大系统实现良好对接。 (3)技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。 (4)经济可行性分析:
8、经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。由于本系统规模较小,所以开发本系统不会耗费太多的资金,相反如果将本系统很好的运用到工作中,能大大提高工作效率,给公司带来更多的经济效益。(5) 管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。八、 详细设计图8.1 登录窗体主要实现代码如下:#pragma oncenamespace 登陆界面using namespace System;using namespace System:ComponentModel;
9、using namespace System:Collections;using namespace System:Windows:Forms;using namespace System:Data;using namespace System:Drawing;public ref class Form1 : public System:Windows:Forms:Formpublic:Form1(void)InitializeComponent();protected:Form1()if (components)delete components;private: System:Window
10、s:Forms:Button button1;private: System:Windows:Forms:CheckBox 登陆界面;private: System:Windows:Forms:Button button2;private: System:Windows:Forms:Button button3;private: System:Windows:Forms:CheckBox checkBox2;private: System:Windows:Forms:TextBox textBox1;private: System:Windows:Forms:TextBox textBox2;
11、private: System:Windows:Forms:TextBox textBox3;private: System:Windows:Forms:Label label1;private: System:Windows:Forms:Label label2;private: System:Windows:Forms:Label label3;protected: private:System:ComponentModel:Container components;#pragma region Windows Form Designer generated codevoid Initia
12、lizeComponent(void)this-button1 = (gcnew System:Windows:Forms:Button();this-登陆界面= (gcnew System:Windows:Forms:CheckBox();this-button2 = (gcnew System:Windows:Forms:Button();this-button3 = (gcnew System:Windows:Forms:Button();this-checkBox2 = (gcnew System:Windows:Forms:CheckBox();this-textBox1 = (gc
13、new System:Windows:Forms:TextBox();this-textBox2 = (gcnew System:Windows:Forms:TextBox();this-textBox3 = (gcnew System:Windows:Forms:TextBox();this-label1 = (gcnew System:Windows:Forms:Label();this-label2 = (gcnew System:Windows:Forms:Label();this-label3 = (gcnew System:Windows:Forms:Label();this-Su
14、spendLayout();/ / button1/ this-button1-Font = (gcnew System:Drawing:Font(L宋体, 9, System:Drawing:FontStyle:Bold, System:Drawing:GraphicsUnit:Point, static_cast(134);this-button1-Location = System:Drawing:Point(22, 215);this-button1-Name = Lbutton1;this-button1-Size = System:Drawing:Size(54, 26);this
15、-button1-TabIndex = 0;this-button1-Text = L登陆;this-button1-UseVisualStyleBackColor = true;/ / 登陆界面/ this-登陆界面-AutoSize = true;this-登陆界面-Checked = true;this-登陆界面-CheckState = System:Windows:Forms:CheckState:Checked;this-登陆界面-Cursor = System:Windows:Forms:Cursors:No;this-登陆界面-Location = System:Drawing
16、:Point(31, 193);this-登陆界面-Name = L登陆界面;this-登陆界面-Size = System:Drawing:Size(72, 16);this-登陆界面-TabIndex = 1;this-登陆界面-Text = L记住密码;this-登陆界面-UseVisualStyleBackColor = true;/ / button2/ this-button2-Font = (gcnew System:Drawing:Font(L宋体, 9, System:Drawing:FontStyle:Bold, System:Drawing:GraphicsUnit:Po
17、int, static_cast(134);this-button2-Location = System:Drawing:Point(115, 215);this-button2-Name = Lbutton2;this-button2-Size = System:Drawing:Size(54, 26);this-button2-TabIndex = 2;this-button2-Text = L取消;this-button2-UseVisualStyleBackColor = true;/ / button3/ this-button3-Font = (gcnew System:Drawi
18、ng:Font(L宋体, 9, System:Drawing:FontStyle:Bold, System:Drawing:GraphicsUnit:Point, static_cast(134);this-button3-Location = System:Drawing:Point(207, 215);this-button3-Name = Lbutton3;this-button3-Size = System:Drawing:Size(86, 26);this-button3-TabIndex = 3;this-button3-Text = L注册新用户;this-button3-Use
19、VisualStyleBackColor = true;/ / checkBox2/ this-checkBox2-AutoSize = true;this-checkBox2-Location = System:Drawing:Point(179, 193);this-checkBox2-Name = LcheckBox2;this-checkBox2-Size = System:Drawing:Size(72, 16);this-checkBox2-TabIndex = 4;this-checkBox2-Text = L自动登陆;this-checkBox2-UseVisualStyleB
20、ackColor = true;/ / textBox1/ this-textBox1-Location = System:Drawing:Point(179, 32);this-textBox1-Name = LtextBox1;this-textBox1-Size = System:Drawing:Size(100, 21);this-textBox1-TabIndex = 5;/ / textBox2/ this-textBox2-Location = System:Drawing:Point(179, 84);this-textBox2-Name = LtextBox2;this-te
21、xtBox2-Size = System:Drawing:Size(100, 21);this-textBox2-TabIndex = 6;/ / textBox3/ this-textBox3-Location = System:Drawing:Point(179, 136);this-textBox3-Name = LtextBox3;this-textBox3-Size = System:Drawing:Size(100, 21);this-textBox3-TabIndex = 7;/ / label1/ this-label1-AutoSize = true;this-label1-
22、Location = System:Drawing:Point(35, 35);this-label1-Name = Llabel1;this-label1-Size = System:Drawing:Size(53, 12);this-label1-TabIndex = 8;this-label1-Text = L职工编号;/ / label2/ this-label2-AutoSize = true;this-label2-Location = System:Drawing:Point(35, 87);this-label2-Name = Llabel2;this-label2-Size
23、= System:Drawing:Size(53, 12);this-label2-TabIndex = 9;this-label2-Text = L职工姓名;/ / label3/ this-label3-AutoSize = true;this-label3-Location = System:Drawing:Point(35, 136);this-label3-Name = Llabel3;this-label3-Size = System:Drawing:Size(29, 12);this-label3-TabIndex = 10;this-label3-Text = L密码;/ /
24、Form1/ this-AutoScaleDimensions = System:Drawing:SizeF(6, 12);this-AutoScaleMode = System:Windows:Forms:AutoScaleMode:Font;this-ClientSize = System:Drawing:Size(312, 266);this-Controls-Add(this-label3);this-Controls-Add(this-label2);this-Controls-Add(this-label1);this-Controls-Add(this-textBox3);thi
25、s-Controls-Add(this-textBox2);this-Controls-Add(this-textBox1);this-Controls-Add(this-checkBox2);this-Controls-Add(this-button3);this-Controls-Add(this-button2);this-Controls-Add(this-登陆界面);this-Controls-Add(this-button1);this-Name = LForm1;this-Text = LForm1;this-Load += gcnew System:EventHandler(t
26、his, &Form1:Form1_Load);this-ResumeLayout(false);this-PerformLayout();#pragma endregionprivate: System:Void Form1_Load(System:Object sender, System:EventArgs e) ;End Class图8.2注册新用户主要实现代码如下#pragma oncenamespace 注册新用户using namespace System;using namespace System:ComponentModel;using namespace System:C
27、ollections;using namespace System:Windows:Forms;using namespace System:Data;using namespace System:Drawing;/ / public ref class Form1 : public System:Windows:Forms:Formpublic:Form1(void)InitializeComponent();protected:/ / 清理所有正在使用的资源。/ Form1()if (components)delete components;private: System:Windows:
28、Forms:Button button1;protected: private: System:Windows:Forms:Button button2;private: System:Windows:Forms:TextBox textBox1;private: System:Windows:Forms:TextBox textBox2;private: System:Windows:Forms:TextBox textBox3;private: System:Windows:Forms:TextBox textBox4;private: System:Windows:Forms:Label
29、 label1;private: System:Windows:Forms:Label label2;private: System:Windows:Forms:Label label3;private: System:Windows:Forms:Label label4;private:/ / 必需的设计器变量。/ System:ComponentModel:Container components;#pragma region Windows Form Designer generated code/ / 设计器支持所需的方法- 不要/ 使用代码编辑器修改此方法的内容。/ void Ini
30、tializeComponent(void)this-button1 = (gcnew System:Windows:Forms:Button();this-button2 = (gcnew System:Windows:Forms:Button();this-textBox1 = (gcnew System:Windows:Forms:TextBox();this-textBox2 = (gcnew System:Windows:Forms:TextBox();this-textBox3 = (gcnew System:Windows:Forms:TextBox();this-textBox
31、4 = (gcnew System:Windows:Forms:TextBox();this-label1 = (gcnew System:Windows:Forms:Label();this-label2 = (gcnew System:Windows:Forms:Label();this-label3 = (gcnew System:Windows:Forms:Label();this-label4 = (gcnew System:Windows:Forms:Label();this-SuspendLayout();/ / button1/ this-button1-Font = (gcn
32、ew System:Drawing:Font(L宋体, 9, System:Drawing:FontStyle:Bold, System:Drawing:GraphicsUnit:Point, static_cast(134);this-button1-Location = System:Drawing:Point(29, 220);this-button1-Name = Lbutton1;this-button1-Size = System:Drawing:Size(74, 22);this-button1-TabIndex = 0;this-button1-Text = L注册;this-
33、button1-UseVisualStyleBackColor = true;/ / button2/ this-button2-Font = (gcnew System:Drawing:Font(L宋体, 9, System:Drawing:FontStyle:Bold, System:Drawing:GraphicsUnit:Point, static_cast(134);this-button2-Location = System:Drawing:Point(176, 221);this-button2-Name = Lbutton2;this-button2-Size = System
34、:Drawing:Size(72, 21);this-button2-TabIndex = 1;this-button2-Text = L取消;this-button2-UseVisualStyleBackColor = true;this-button2-Click += gcnew System:EventHandler(this, &Form1:button2_Click);/ / textBox1/ this-textBox1-Location = System:Drawing:Point(172, 36);this-textBox1-Name = LtextBox1;this-tex
35、tBox1-Size = System:Drawing:Size(76, 21);this-textBox1-TabIndex = 2;/ / textBox2/ this-textBox2-Location = System:Drawing:Point(172, 77);this-textBox2-Name = LtextBox2;this-textBox2-Size = System:Drawing:Size(75, 21);this-textBox2-TabIndex = 3;/ / textBox3/ this-textBox3-Location = System:Drawing:Po
36、int(172, 120);this-textBox3-Name = LtextBox3;this-textBox3-Size = System:Drawing:Size(73, 21);this-textBox3-TabIndex = 4;/ / textBox4/ this-textBox4-Location = System:Drawing:Point(172, 163);this-textBox4-Name = LtextBox4;this-textBox4-Size = System:Drawing:Size(73, 21);this-textBox4-TabIndex = 5;/
37、/ label1/ this-label1-AutoSize = true;this-label1-Location = System:Drawing:Point(27, 39);this-label1-Name = Llabel1;this-label1-Size = System:Drawing:Size(53, 12);this-label1-TabIndex = 6;this-label1-Text = L输入编号;/ / label2/ this-label2-AutoSize = true;this-label2-Location = System:Drawing:Point(27
38、, 81);this-label2-Name = Llabel2;this-label2-Size = System:Drawing:Size(53, 12);this-label2-TabIndex = 7;this-label2-Text = L输入姓名;/ / label3/ this-label3-AutoSize = true;this-label3-Location = System:Drawing:Point(27, 123);this-label3-Name = Llabel3;this-label3-Size = System:Drawing:Size(53, 12);thi
39、s-label3-TabIndex = 8;this-label3-Text = L输入密码;/ / label4/ this-label4-AutoSize = true;this-label4-Location = System:Drawing:Point(27, 166);this-label4-Name = Llabel4;this-label4-Size = System:Drawing:Size(53, 12);this-label4-TabIndex = 9;this-label4-Text = L确定密码;/ / Form1/ this-AutoScaleDimensions = System:Drawing:SizeF(6, 12);this-AutoScaleMode = System:Windows:Forms:AutoScaleMode:Font;this-ClientSize = System:Drawing:Size(292, 266);this-Controls-Add(this-label4);this-Controls-Add(this-label3);this-Controls-Add(this-label2);
限制150内