软件工程课程设计人事管理系统_第1页
软件工程课程设计人事管理系统_第2页
软件工程课程设计人事管理系统_第3页
软件工程课程设计人事管理系统_第4页
软件工程课程设计人事管理系统_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一、系统概述2二、需求分析2三、建立系统用例模型3四、建立系统动态模型4五、系统类模型7六、数据库概念模型设计9七、可行性研究11八、详细设计12九、总结39十、参考文献39一、 系统概述随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接

2、轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。二、 需求分析需求分析是介于系统分析阶段和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现测试直至维护的主要基础。良好的分析活动有助于避免或尽早发现早期的错误,从而提高软件生产率,降低开发成本,改进软件质量。该系统分为4个模块:用户管理模块、人事信息管理模块、员工调动管理模块和薪酬管理模块。用户登管理模块:该模块是对登陆该系统的用户的用户名及密码进行管理。分为用户登录和注册新用户两项。

3、不同的用户拥有不同的权限。人事信息管理模块:该模块是关于公司的人事信息维护,首先是对入职员工的基本信息的录入、修改、浏览等操作;其次是员工人事档案、合同档案等基本信息的管理和公司的部门管理;最后,并对公司的人事信息从工种,专业,学历等属性进行统计分析。员工调动管理模块:该模块是对员工的职位调动进行管理的,员工调动主要分为内部调动和外部调动两方面,内部调动为本城市中部门间的调动,外部调动为分公司间的调动。本模块还有登记新员工和复职、离职等信息管理。薪酬管理模块:主要包括薪酬登记、薪酬修改、薪酬查询薪酬设置4部分组成。其中,薪酬登记是完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬修改模块来实

4、现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。综上所述,系统的总体功能需求如图2.1所示。图2.1人事资源管理系统离职信息管理复职信息管理员工调动管理新员工登记管理员工调动管理用户管理注册新用户用户登录职务类型管理合同管理人事信息管理基本资料管理工种类型管理部门管理职称类型管理薪酬查询管理薪酬登记管理薪酬管理考勤管理薪酬设置奖惩项目设置工资设置薪酬修改管理员工奖惩管理帮助帮助退出三、 建立系统用例模型(1) 识别角色l 人事部l 财务部l 员工(2) 创建用例 与人事部相关的用例:用户管理;人事信息管理;员工调动管理; 与财务部相关的用例:薪酬管理; 与员工相关的用例:用户管理;人事

5、信息管理;员工调动管理;薪酬管理;(3) 建立用例图整个系统用例图如图3.1所示图3.1四、 建立系统动态模型(1) 活动图图4.1是描述员工申请调动过程。首先,员工提出书面调动申请。若人事部不同意,则通知员工不能进行工作交换。若人事部同意,则提出岗位安排,通知财务部进行工资变更,并且通知员工办理相关手续,进行工作交换。储存新职位变动,操作完成。图4.1(2) 时序图员工工资过程时序图如图4.2所示。图4.2员工考勤查询时序图如图4.3所示。(3) 协作图员工实际工资协作图如图4.4所示。图4.4考勤记录查询协作图如图4.5所示。图4.5员工信息查询协作图如图4.6图4.6五、 系统类模型(1

6、) 系统包图如图5.1所示。图5.1(2) 类图图5.2描述了员工信息包中的类图。 图5.2图5.3描述了合同信息包中的类图图5.3图5.4描述了实发工资包中的类图图5.4六、 数据库概念模型设计在需求分析的基础上设计出能够满足用户需求的各种实体以及它们之间的关系。下面例举出各实体的实体图及实体关系E-R图:1 员工:编号、姓名、性别、身份证号编号姓名身份证号员 工性别图6.1 员工实体图2合同:合同编号、员工编号、合同类型、合同开始日期、合同期限合同编号员工编号合同开始日期合 同合同类型合同期限图6.2 合同实体图3 考勤:所属工资月份、员工编号、出勤天数、请假天数、迟到或早退次数所属工资月

7、份员工编号请假天数考 勤出勤天数迟到或早退次数图6.3考勤实体图4工资:所属工资月份、员工编号、员工姓名、出勤天数所属工资月份员工编号出勤天数薪酬员工姓名图6.4 工资实体图5操作员:名称、密码、权限名称权限用户密码图6.5操作员实体图6员工合同实体关系图员工签定合同类型合同图6.6员工合同实体关系图7与工资有关的实体关系E-R图员工减少奖励工资实发工资惩罚总额 添加领取图6.7与工资有关的实体关系E-R图七、 可行性研究开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受项目开发任务之前,必须根据客户提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财

8、力的浪费。可行性分析与风险分析在很多方面是相互关联的,项目风险越大,开发高质量的软件的可行性就越小。(1)新系统目标可行性分析:分析新系统的目标是否符合企业的现状和发展的需要。如果公司采用人事管理系统来管理公司人员,那么它在工作效率上会有很大的提高。 (2)社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律、政策,是否能够与社会大系统实现良好的对接。这个人事管理系统是个小规模的管理系统,是用来管理一个公司的员工信息的,它符合国家法律要求,能与社会大系统实现良好对接。 (3)技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水

9、平,硬件方面,软件方面及其它应用技术。 (4)经济可行性分析:经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。由于本系统规模较小,所以开发本系统不会耗费太多的资金,相反如果将本系统很好的运用到工作中,能大大提高工作效率,给公司带来更多的经济效益。(5) 管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。八、 详细设计图8.1 登录窗体主要实现代码如下:#pragma oncenamespace 登陆界面using namespace System;using n

10、amespace System:ComponentModel;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 co

11、mponents;private: System:Windows: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:

12、Windows:Forms:TextBox textBox2;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 Des

13、igner generated codevoid InitializeComponent(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

14、:CheckBox();this-textBox1 = (gcnew 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 Syste

15、m:Windows:Forms:Label();this-SuspendLayout();/ / 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 = S

16、ystem:Drawing:Size(54, 26);this-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

17、-登陆界面-Location = System:Drawing: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,

18、 System:Drawing:GraphicsUnit:Point, 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-but

19、ton3-Font = (gcnew System:Drawing: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

20、-Text = L注册新用户;this-button3-UseVisualStyleBackColor = 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自动登陆

21、;this-checkBox2-UseVisualStyleBackColor = 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-te

22、xtBox2-Name = LtextBox2;this-textBox2-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-labe

23、l1-AutoSize = true;this-label1-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-N

24、ame = Llabel2;this-label2-Size = 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 =

25、 10;this-label3-Text = L密码;/ / 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-

26、Controls-Add(this-textBox3);this-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

27、 += gcnew System:EventHandler(this, &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:Componen

28、tModel;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 comp

29、onents;private: System:Windows: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;priv

30、ate: System:Windows:Forms:Label 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/ / 设计器支持所需的方法-

31、 不要/ 使用代码编辑器修改此方法的内容。/ void InitializeComponent(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:Windo

32、ws:Forms:TextBox();this-textBox4 = (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();/ / bu

33、tton1/ 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(29, 220);this-button1-Name = Lbutton1;this-button1-Size = System:Drawing:Size(74, 22);this-button1-TabIndex =

34、0;this-button1-Text = L注册;this-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 = Lbut

35、ton2;this-button2-Size = System: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-tex

36、tBox1-Name = LtextBox1;this-textBox1-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-textBo

37、x3-Location = System:Drawing:Point(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

38、);this-textBox4-TabIndex = 5;/ / 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-Loc

39、ation = System:Drawing:Point(27, 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 =

40、System:Drawing:Size(53, 12);this-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确定密码;/ / F

41、orm1/ 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);this-Controls-Add(this-label1);this-C

42、ontrols-Add(this-textBox4);this-Controls-Add(this-textBox3);this-Controls-Add(this-textBox2);this-Controls-Add(this-textBox1);this-Controls-Add(this-button2);this-Controls-Add(this-button1);this-Name = LForm1;this-Text = L注册新用户;this-ResumeLayout(false);this-PerformLayout();#pragma endregionprivate:

43、System:Void button2_Click(System:Object sender, System:EventArgs e) ;图8.3 添加内部调动信息窗体主要实现代码如下#pragma oncenamespace 添加内部调动信息窗体using namespace System;using namespace System:ComponentModel;using namespace System:Collections;using namespace System:Windows:Forms;using namespace System:Data;using namespace

44、 System:Drawing;/ / Form1 摘要/ 警告: 如果更改此类的名称,则需要更改/ 与此类所依赖的所有.resx 文件关联的托管资源编译器工具的/ “资源文件名”属性。否则,/ 设计器将不能与此窗体的关联/ 本地化资源正确交互。/ public ref class Form1 : public System:Windows:Forms:Formpublic:Form1(void)InitializeComponent();/TODO: 在此处添加构造函数代码/protected:/ / 清理所有正在使用的资源。/ Form1()if (components)delete co

45、mponents;private: System:Windows:Forms:TextBox textBox1;protected: private: System:Windows:Forms:TextBox textBox2;private: System:Windows:Forms:TextBox textBox3;private: System:Windows:Forms:TextBox textBox4;private: System:Windows:Forms:Label label1;private: System:Windows:Forms:Label label2;privat

46、e: System:Windows:Forms:Label label3;private: System:Windows:Forms:Label label4;private: System:Windows:Forms:Label label5;private: System:Windows:Forms:Label label6;private: System:Windows:Forms:ListBox listBox1;private: System:Windows:Forms:ListBox listBox2;private:/ / 必需的设计器变量。/ System:ComponentM

47、odel:Container components;#pragma region Windows Form Designer generated code/ / 设计器支持所需的方法- 不要/ void InitializeComponent(void)this-textBox1 = (gcnew System:Windows:Forms:TextBox();this-textBox2 = (gcnew System:Windows:Forms:TextBox();this-textBox3 = (gcnew System:Windows:Forms:TextBox();this-textBox4 = (gcnew System:Wi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论