浙江师范大学

本科毕业设计(论文)

 

( 2004届 )

设计题目  人事档案信息管理系统的

面向对象分析、设计和实现

 

学院

信息科学与工程学院  专业   计算机通信技术

班级

计本005班     学号       14号

作者姓名

指导老师

黄 银 强

贾 泂

完稿时间

2004.5.4

设计成绩

 

 

目录

1

3

3

3

6

6

6

7

7

8

8

9

9

9

10

10

11

11

12

13

14

14

16

16

17

17

18

19

20

 

摘要……………………………………………………………………………………

一、引言………………………………………………………………………………

1.1  面向对象方法………………………………………………………………

1.2  面向对象的主要概念………………………………………………………

二、UML概述 ………………………………………………………………………

2.1  UML简史 …………………………………………………………………

2.2  UML概貌 …………………………………………………………………

2.3  UML的特点 ………………………………………………………………

2.4  基于UML的信息管理系统的分析和设计 ………………………………

三、人事档案信息管理系统的设计思想及背景  ………………………………

3.1  设计背景及思想  …………………………………………………………

3.2  系统建模工具Rational Rose  ……………………………………………

四、人事档案信息管理系统的分析、设计过程  …………………………………

4.1  需求分析  …………………………………………………………………

4.2  分析问题领域  ……………………………………………………………

4.2.1   确定系统范围和系统边界   ………………………………………

4.2.2   定义活动者   ………………………………………………………

4.2.3   定义use case  ………………………………………………………

4.2.4   绘制use case  ………………………………………………………

4.2.5   绘制主要交互图 ……………………………………………………

4.3  静态结构模型 ………………………………………………………………

4.3.1   建立对象类图 ………………………………………………………

4.3.2   建立数据库模型 ……………………………………………………

4.3.3   建立包图 ……………………………………………………………

4.4  动态行为模型   ……………………………………………………………

4.4.1   建立顺序图 …………………………………………………………

4.4.2   建立协同图 …………………………………………………………

4.4.3   建立状态图 …………………………………………………………

4.4.4   建立活动图 …………………………………………………………

21

21

21

22

22

22

22

23

24

25

26

27

4.5 物理模型 ……………………………………………………………………

4.5.1   建立组件图 …………………………………………………………

4.5.2   建立配置图  ………………………………………………………

五、人事档案信息管理系统的实现过程……………………………………………

5.1 物理实现   …………………………………………………………………

5.2 软件实现   …………………………………………………………………

5.2.1   窗口设计  …………………………………………………………

5.2.2   数据库设计 …………………………………………………………

5.2.3   前后台关联操作设计 ………………………………………………

六、结束语 ……………………………………………………………………………

参考文献    …………………………………………………………………………

附录    ………………………………………………………………………………

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

人事档案信息管理系统的面向对象

分析、设计和实现

浙江师范大学信息科学与工程学院计本005班   黄银强

指导教师    贾泂

摘要:统一建模语言(UML)是一种用于软件系统开发的系统建模语言。它使用可视化的图形符号作为用户,系统分析员和开发人员之间的交流和沟通的工具,并用它来记录分析和设计过程。UML是吸取了在面向对象分析和设计中广泛采用的各种建模工具(如OMT、Booch、OOSE等方法)的成功的工程实践经验综合而成。目前UML已经成为面向对象分析和设计领域的工业标准建模语言。因此,本文利用UML对人事档案信息管理系统(PAMIS)进行系统建模。首先通过对系统需求的分析,然后利用Rational Rose系统建模工具,完成对系统的分析和设计过程,并建立系统的用例图、顺序图、对象类图、状态图、活动图等视图,最后通过面向对象程序设计语言(Delphi)建立系统运行界面和利用SQL Server 2000 建立后台数据库,通过前后台操作的关联设计,实现人事档案信息管理系统。同时本文在前后台操作的关联设计中,提出了运用数据类模块的思想,便于系统的维护。

关键字:面向对象;统一建模语言(UML);Rational Rose;用例;人事档案;信息管理系统;数据类模块;

The Object-Oriented Modeling for Designing and Implementing Personnel Archives MIS

Zhejiang Normal University Information College Huang Yinqiang

Abstract: Unified Modeling Language (UML) is modeling language which is used to help to constructing the software system. It provides visual graphical notation as a communication tool among users, system analyzers and software developers. At the same time, it can use to record the results of the analysis and design in development of the software system. UML is an integrated product which has incorporated many successful experiences in use of other modeling tools (such as OMT, Booch and OOSE etc). Now in the field of object-oriented analysis and design, UML has become the industrial standard modeling language. So in this paper, we will use UML to analyze and design Personnel Archives Management Information System (PAMIS). Firstly, we analyze systems needs, and then use system modeling tool--Rational Rose to complete the analysis and design in development of the system, and establish systems use-case diagrams, sequence diagrams, class diagrams, state diagrams, active diagrams etc. At last we use object-oriented programming language (Delphi) to establish the user interface, use SQL server 2000 to establish the data base, design the conjunction between proscenium and background operations, and develop the PAMIS system. In this paper we put forward data class module to achieve the conjunction between proscenium and background operations because it can be easy to vindicate the system.

Key word: Object-Oriented; UML; Rational Rose; Use Case; Personnel Archives; Management Information System; Data Class Module;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一、引言

随着80年代Smalltalk-80等一系列描述能力较强、执行效率较高的面向对象编程语言的出现,标志着面向对象的方法与技术开始走向实用。当时就有人曾经预言,面向对象(OO)将成为90年代计算机领域的主流技术,现在这个预言已经成为无可置疑的事实。人们对面向对象的研究重点,从面向对象的编程(OOP),转移到面向对象的分析与设计(OOA与OOD)。本文主要从面向对象方法出发,介绍目前较为流行的统一建模语言(UML),最后以人事档案信息管理系统面向对象的分析和设计过程来全面介绍UML在软件开发开中尤其是在信息系统开发中的应用。

1.1. 面向对象方法

面向对象的设计方法是目前计算机研究领域中最活跃的一支。它比较接近于客观实际和符合人们通常的思维方式,从而易于为人们所接受。它与传统的过程式程序设计有着显著的区别。过程式程序设计是面向功能的,通常使用函数或过程来实现所需要的功能,数据通常作为参数传递给函数或过程,这种方式不利于大中型软件的开发与维护,小部分数据或功能的变动会波及到很多的相关程序。随着计算机应用需求的不断扩大,计算机软件越来越复杂,这种复杂性不仅体现在规模的扩大,而且模块之间的交互越来越复杂。为此,人们提出了面向对象程序设计的思想,他是一种以对象为中心的程序设计方法。面向对象程序设计提出了一种新的系统设计模型,他将系统看成通过交互作用来完成任务的对象的集合,每个对象用自己的方法管理数据。他允许抽象化、模块化的分层结构,具有多态性、继承性和封装性。面向对象的程序设计考虑如何通过创建对象来简化程序设计,提高代码的可重用性。

1.2. 面向对象的主要概念

1.2.1.   对象(Object)

对象(Object)从不同的角度有不同的含义。从所面对的问题论域而言,对象是指现实世界中的一个事物,是在建立系统模型中与目标有关的有待抽象的事物,它有自己的静态特征和动态特征。从系统的建模和实现而言,对象描述客观事物的一个实体,是构成系统的基本单元,它由一组属性和一组服务(操作)组成。系统的服务功能是通过新对象的建立和对象之间的消息(Message)通信来实现的。

1.2.2.    类(Class)

类(Class)是一组具有相同属性和相同操作的对象的集合。类是对象的抽象,它给出了属于该类的全部对象的抽象定义,包括类的属性、服务和其他性质。一个具体的对象只是类的一个实例(Instance)。

1.2.3.    封装(Encapsulation)

封装(Encapsulation)是面向对象方法的一个重要原则。封装是指把对象的属性和操作结合在一起,构成一个独立的对象,它的内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,而只能通过有限的接口与对象发生联系,对于对象的外界而言,只需要知道对象所表现的外部行为(接口),不必了解对象行为的内部实现细节。

封装体现了面向对象方法的“信息隐蔽与局部化”原则。

1.2.4.    继承(Inheritance)

继承(Inheritance)是指子类(特化类、派生类)可以自动拥有父类(基类、泛化类、超类)的全部属性和服务。

在面向对象方法中的继承机制,使得子类可以自动地拥有父类的全部属性和服务。继承简化了对现实世界的认识和描述。在定义子类时,不必重复定义那些已经在父类中定义的属性和服务,只要声明自己是某个父类的子类就可以了,把精力集中于定义本子类所特有的属性和服务上。继承提高了软件的可复用性。同时继承也可以被传递。

1.2.5.    消息(Message)

消息(Message)是指对象之间在交互中所传送的通信信息。通常,一个对象向另一个对象发消息请求服务,接受消息的对象响应该消息,激发所要求的服务操作,并把操作的结果返回给请求服务的对象。一个消息应当包含以下信息:消息名、接受消息的对象的标识、服务标识、输入信息、回答信息。面向对象技术中封装机制使得对象各自独立,各司其职。对象之间通过消息相互联系、互发消息、响应消息、协同工作,实现系统的各种服务功能。

1.2.6.    结构和连接(Structure and Connection)

世界万物都不是孤立的、互不相关的,而是彼此联系的,表达客观事物的对象之间也存在着联系。对象之间的联系常见的有:分类关系(一般与特殊的关系)、组成关系(部分与整体的关系)、对象属性之间的静态的联系以及对象行为的动态联系。

在面向对象方法中通常采用以下的结构和连接表现这些联系:

(1) 分类结构(Classification Structure):它是对象抽象的基础。分类结构表现的是事物的一般与特殊的关系,即“a kind of”或“is a”关系。在面向对象的术语中我们采用泛化(Generalization)和特化(Specialization)联系。

(2) 组装结构(Composition Structure):它表示对象类之间的组成关系,即:部分与整体的关系,部分对整体是“a part of”关系,整体对部分是“has a”关系。同时组装结构体现了面向对象方法的聚合(Aggregation)原则。

(3) 实例连接(Instance Connection):它表现了对象之间的静态联系,它是通过对象的属性来表现的对象之间的依赖关系。在面向对象的术语中常把对象之间的实例连接称为链接(Link),而把存在实例连接的对象类之间的联系称为关联(Association)。实例连接是从一个实例集合到另一个实例集合的映射。实例连接可以发生在两个对象之间,也可以发生在一个对象类的不同实例集合之间。另外实例连接还有多种类型:一对一的连接、一对多的连接、多对多的连接、0对一的连接、0对多的连接等。

(4) 消息连接(Message Connection):它是对象之间的通信联系。一个对象需要另一个对象的服务,便向它发送请求服务的消息,接受消息的对象响应消息,触发所要求的服务操作。当然也可以不响应,然后触发不响应的操作服务。这种对象之间的联系称为消息连接,表现了对象行为的动态联系。所以两个对象之间要发生消息,就必须这两个对象之间存在交互。

1.2.7.    多态性(Polymorphism)

多态性(Polymorphism)是指在基类中定义的属性和服务被其子类继承后,可以具有不同的数据类型或表现不同的行为。在体现一般与特殊关系的一个类层次结构中,不同层次的类可以共享一个方法或操作的名字,但是却有各自不同的实现过程。当一个对象接收到一个消息请求进行某一个服务的时,将根据该对象的所属类,动态地选用该类中定义地操作。这样可以给系统设计提供了灵活性,减少信息冗余,而且也提高了软件地可复用性和可扩充性。

二、UML概述

2.1  UML简史

1994—1996年软件工程专家Grady Booch,Ivar Jacobson,James Rumbaugh先后齐集于Rational公司,携手合作,以在各自原有的方法为基础,并吸收其他方法如Fusion,Shlaer-Mellor,Coad-Yourdon等方法的长处,共同提出了一种新的面向对象的分析和设计语言——统一模型语言UML。以后又多次对其进行修改。最后于1997年1月Rational公司向美国工业标准化组织OMG递交了UML1.0标准文本。同年11月OMG宣布接受UML,并将UML1.1版本作为官方的标准文本。此后也对UML进行多次的扩充和完善,目前为UML1.5版本。

2.2  UML概貌

了解了UML的发展,那UML又如何来定义呢?根据Rational Rose的定义。其定义如下:

The Unified Modeling Language (UML) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems.

It simplifies the complex process of software design, making a "blueprint" for construction. 其中industry-standard:示意为像一种协议的软件工程化标准。documenting:指示一种设计开发文档的工具。

UML是编制软件蓝图的标准化语言,而不是开发语言,主要是用语系统的各种成分的可视化,说明和构造系统模型以及建立软件文档。UML包含3个方面的内容:模型的概念和表示法、语言的公共机制、对象的约束语言。

模型的概念和表示法。UML提供了3类基本的标准建筑块:事物、联系和图形。其中事物又有结构性事物,行为性事物,成组性事物,注释性事物;建筑块之间的联系4种,即依赖,关联,泛化,实现;同时也定义了9类图形用来定义系统模型。这9类图为:类图、对象图、Use Case图、顺序图、协同图、状态图、活动图、组件图、配置图。绘制UML图形可以从不通角度使系统可视化。

语言的公共机制。UML规定了语言的四种公共机制:说明,装饰,通用划分,扩展机制。

对象的约束语言。UML对象约束语言(OLC)是一种表达施加于模型元素的约束语言,OLC的表达式以条件和限制的形式,附加在模型元素上。

2.3  UML特点

UML是一个用于说明、构造、可视化建模的语言,它是以文档方式管理密集软件(Software-Intensive)系统的产品。首先,也是最重要的,UML将Booch,OMT以及OOSE的概念融合在一起,结果形成了一种单一的、公共的并且广泛适用的建模语言。其次,UML用现有的方法将“能做什么”进行封装。特别是UML的开发者以并发和分布式系统的建模为目标,这意味着在UML中包含了描述这些系统的元素。第三,UML致力于一个标准的建模语言而不是标准的建模过程。尽管UML必须应用于过程,但经验告诉我们,不同的机构和问题域的建模过程也不尽相同。因此,应首先致力于通用的元模型(Meta-Model)(用来统一语义),其次才是通用的符号表示(符号表示为语义提供表示方法)。UML的开发者不一定要将开发过程标准化,尽管他们会继续将其发展完善,使其成为用例驱动(Use-Case Driven),以结构为中心(Architecture Centric),并且可以迭代(Iterative)和易于添加(Incremental)的过程。

2.4  基于UML的信息管理系统的分析和设计

MIS系统的开发过程包括需求定义、分析、设计、实现几个阶段。在需求定义阶段建立系统的需求模型,分析阶段建立系统的分析模型。这两个模型成为后面设计、实现阶段的基础。

建立系统需求模型包括以下步骤:

1)问题陈述。根据用户初始需求,在用户帮助下,写出问题陈述。

2)定义参与者(Actor)。在用户参与下定义系统的参与者。

3)定义用例。观察参与者与界面原型的交互过程,导出用例。

问题陈述、参与者、GUI界面原型和用例一起构成系统的需求模型。

建立系统分析模型包括以下步骤:

1)静态建模。根据问题陈述和用例,对系统的静态结构建模,静态模型可以用类图表示,它概要地描绘出问题域中的对象类,同时也表示出这些类的基本属性和类间的关系。

2)动态建模。根据用例及静态模型进行动态建模,动态模型可用顺序图、协作图、状态图等表示。动态模型表达系统的动态特征。

3)建立用例文档。将用例、静态模型、动态模型互相验证、参照,进一步修改,精化静态、动态模型,并完成模型文档。

静态模型、动态模型、模型文档共同构成系统的分析模型。

当利用UML建立系统模型之后,再利用专用的CASE工具,本文才有Rational Rose来生成系统框架,当用户对系统框架确认无误后,就可以将系统进行合理的划分,并进行开发。在此,可以选用某种面向对象的编程语言,本系统采用Delphi作为开发工具,开发完成后,可进行各种各样的测试,然后交付使用。

三、人事档案信息管理系统的设计思想及背景

3.1.设计背景及思想

一个信息管理系统设计的目标应该是圆满地实现对象系统对信息管理地各项需求,尤其是要适应对象系统的各种变化的需要,信息管理系统应该具有良好的扩充性、可重构性和相容性。同时随着计算机电子化的不断在社会生活中的深入,档案管理同样也需要电子化的介入,以此不断提高自己的办事效率和工作能力。为此就开发此系统。本系统根据浙师组[2001]3号《浙江师范大学干部人事档案材料收集归档规定》以及相关人事管理资料,人事档案信息管理系统PAMIS设计思路简单介绍如下。PAMIS的总体构想从功能上可以分为七个模块:档案管理、信息检索、档案借阅、档案转递、统计报表、系统维护和帮助系统。

PAMIS系统功能模块如下:

1.档案管理:档案管理主要是能录入各类人事档案信息,来构造档案数据库,并编制各种检索目录;

2.信息检索:主要是检索有关人员的档案信息,主要通过姓名检索,在具体的检索过程中分为精确检索和模糊检索;

3.档案借阅:该模块主要是对档案借阅情况,归还情况,利用登记等方面进行管理;

4.档案转递:包括人事档案的转进和转出进行管理,编制清单,在档案的转递完成后,对已经发生变化人事档案信息进行相应的删除和添加操作。

5.统计报表:主要是用与统计数据库中的人事档案的实际数量,以及每年归档的实际数量,并生成相应的图形绘制和报表打印。能够打印正式的报表,也可以打印根据个人要求打印的非正式报表;

6.系统维护:因为人事档案是一项非常重要的工作,尤其是它的安全可靠性。因此,在登入系统的时候会首先提示你输入用户名,相应口令以及选择相应的权限。同时,为了方便对系统的管理,本模块下还包括操作人员管理,权限级别设置,系统日志以及系统初始化四个子模块。

7.帮助系统:本模块主要是实现帮助主题的查询,常用工具以及本系统的简介。

3.2 系统建模工具Rational Rose

PAMIS系统建模采用的是Rational Rose,它是Rational公司的一个面向对象的可视化、设计建模工具。Rational Rose支持一体化建模语言(UML),而UML目前已成为面向对象技术的一个标准语言。Rational Rose设计工具提供了用例(Use Case)图,顺序(Sequence)图,合作(Collaboration)图,类(Class)图等多种不同的可视框图。

四、人事档案信息管理系统的面向对象的分析、设计过程

4.1  需求分析

高等学校的人事档案信息管理系统(以下简称PAMIS)内容丰富,工作繁多。本文作为一个简单的示例说明采用面向对象方法(UML)在软件项目开发中的应用。在开发PAMIS中仅处理档案管理、信息检索、档案借阅、档案转递、统计报表、系统维护和在线帮助七个模块。

PAMIS的用户主要分为一般普通用户和档案管理员。作为一般普通用户只能查询归档人员的信息,并按要求打印报表和修改密码以及帮助系统。档案管理员可以使用PAMIS进行档案管理,包括档案管理、档案借阅和档案转递,系统维护,帮助系统。

在档案管理方面具体应提供的服务如下:

1.档案管理

档案管理员可以为新来人员增加人事档案信息,同时也可以修改,删除人事档案信息。

2.档案借阅

档案管理员通过查询,检索到用户所需要的人员档案信息,并登记借阅人的有效信息进行登记,同时借阅人需在规定的时间之前归还人事档案信息归还档案室,进行注销或续借档案。如超过归还时间,由档案管理员通知借阅人归还档案。

3.档案转递

档案转递由转入和转出两种服务。由档案管理员为转入人员分配一个编号,并增加到数据库中,登记转入原因,修改相应的信息。而档案转出服务也由档案管理员先查询到所要转出人员的信息,登记转出原因,并将该人员信息加到转出人员数据库中,同时删除在职人员数据库中。

在信息查询方面提供的服务如下:

可以查询人员的档案信息,有基本情况,工作经历,联系方式,教育情况,职务情况,业绩情况,合同情况。

普通用户和档案管理员均可以使用查询模块,查询的关键字有:人员的编号、姓名、部门学院、身份证号。

在统计报表方面提供的服务如下:

可以打印人员的档案信息,有基本情况,工作经历,联系方式,教育情况,职务情况,业绩情况,合同情况。同时也可以按需要打印报表。以及档案的统计情况,借阅情况。

普通用户和档案管理员均可以通过查询找到所要打印的人员信息,并按要求打印人员信息。此外档案管理员还可以打印档案借阅统计情况和档案统计情况。

在系统维护方面提供的服务如下:

系统维护主要由操作员管理、密码修改、权限设置、系统日志管理、系统初始化五个模块组成。

档案管理员可以通过操作员管理增加、删除普通用户和档案管理员;可以通过权限设置改变普通用户的操作权限;通过系统日志管理可以查看系统日志以及清除系统日志;并对系统进行初始化设置。

普通用户和档案管理员均可以修改自己的密码。

上述操作权限均为系统默认情况。此外,档案管理员可以修改普通用户的操作权限来修改普通用户的操作权限,使得普通用户获得相应的操作权限。

在帮助系统方面提供的服务如下:

本帮助系统主要是实现帮助主题的查询,以及本系统的简介。普通用户和档案管理员均可以操作。

4.2.分析问题领域

4.2.1  确定系统范围和系统边界

人事档案信息管理系统PAMIS主要用于档案管理。一般而言,凡事是这方面的内容都属于PAMIS的职责范围,其他的内容如高校的教学管理,财务管理等都不属于PAMIS的职责范围。

4.2.2  定义活动者

根据PAMIS系统的需求和系统的职责范围,我们可以确定主要有2个活动者:普通用户和档案信息管理员(以下简称管理员)。

“普通用户”活动者使用PAMIS可以进行档案管理中的信息查询模块,并按所需要求打印各类报表,帮助系统以及修改自身的登入密码。

“管理员”活动者使用PAMIS可以进行档案管理、系统维护、帮助系统。其中档案管理可以包括档案的录入(增加)、修改、删除、查询,档案借阅的登记和注销,档案转入和转出,并按所需要求打印各类报表;系统维护模块的工作主要包括操作员管理,系统日志,系统初始化,权限设置,并还可以修改登入密码,以及使用帮助系统。

4.2.3  定义Use Case

每一个Use Case都是一个活动者与系统交互中所执行的有关操作事务序列。根据活动者的定义我们可以定义PAMIS的有关Use Case。

从PAMIS顶层Use Case抽象,可以确定三个主要的Use Case:“档案管理”,“系统维护”和“帮助系统”。

Use Case“档案管理”和Use Case“帮助系统”与2个活动者都存在交互;Use Case“系统维护”只有与1个活动者发生交互,即“管理员”。如图1所示。

图1 顶层Use Case图

现在对顶层进行细化。

Use Case“档案管理”可以分解为Use Case“档案信息管理”,“档案借阅”,“档案转递”,“档案查询”,“统计报表”。其中Use Case“档案信息管理”,Use Case“档案转递”,Use Case“档案借阅”只有与“管理员”1个活动发生交互;而Use Case“档案查询”以及Use Case“统计报表”与2个活动者都发生了交互。附录一Use Case “档案管理”图。

Use Case“系统维护”可以分解为Use Case“操作员管理”,“系统日志”,“系统初始化”和“权限管理”。这4个Use Case均只有与“管理员”活动者发生交互。附录二Use Case“系统维护”图。

Use Case“帮助系统”可以分解为Use Case“帮助”,“关于系统简介”,“日历”。这3个Use Case均与2个活动者发生交互。附录三Use Case“帮助系统”图。

4.2.4  绘制Use Case

通过对PAMIS系统的Use Case定义,我们可以从顶层抽象开始,如图1,然后对其进行分解可以得出精细后的Use Case图,附录二Use Case“档案管理”图,附录三Use Case“系统维护”图,附录三Use Case“帮助系统”图。下面就为PAMIS系统的主要Use Case作一个简单的说明。

Use Case“档案查询”:

普通用户和管理员启动查询人员信息时,Use Case“档案查询”就开始运行。根据输入的要求(关键字),通过精确或模糊查询,显示相关信息。

Use Case“档案管理”:

当管理员登录系统,并启动管理档案时,Use Case“档案管理”就开始运行。它首先检查用户的标识和口令,验证用户的合法身份以及相应的操作权限,然后对档案数据进行录入、删除或修改操作、档案的转递(转入和转出)以及档案借阅管理(登记和注销)。

Use Case“统计报表”:

当普通用户和管理员登录系统,并启动统计报表时,Use Case“统计报表”就开始运行。它首先检查用户的标识和口令,以及用户合法身份以及相应操作权限,然后从数据库中取出人员信息,并按要求进行分类统计,生成统计报表,或从数据库中取出借阅资料情况,并生成相应报表。

Use Case“系统维护”:

当管理员登录系统,并启动系统维护时,Use Case“系统维护”就开始运行。它首先检查用户的标识和口令,以及用户的合法身份和操作权限,然后可以进行系统初始化,系统日志,操作员管理,权限设置。

4.2.5  绘制主要交互图

交互图可以描述Use Case如何实现对象之间的交互。交互图有两种:顺序图和协同图。具体内容将在下文动态行为模型处介绍。现在主要绘制顺序图,根据系统的需求分析和各种Use Case的分析,PAMIS主要有档案管理顺序图和系统维护顺序图。

图2 档案管理顺序图

下面对活动者“管理员”与Use Case“档案管理”的交互作简要的说明。

当“管理员”登录PAMIS系统进入『档案管理』系统时,首先要求输入用户ID和口令,经过系统的“注册表单”接口对象进行验证,以及用户的操作权限的验证,如果正确则继续下一步交互,否则拒绝进入。然后“管理员”可以进行『查询』,『增加』,『删除』,『修改』,『档案借阅登记』,『档案借阅注销』,『档案转入』和『档案转出』,以及相应的『打印』操作。最后“管理员”『提交』自己的数据,然后『存储』数据,最后退出档案管理系统,完成交互。如上图2。

4.3 静态结构模型

建立系统的静态结构模型,主要是对对象类图和对象图的表达。从三个方面来建立系统的静态结构模型:对象类图、数据库模型和包图。

4.3.1   建立对象类图

根据PAMIS的系统分析,以及Use Case用例说明,可以抽象出一些类,定义如下。从人事档案信息方面,主要有“人事信息类”;从人事档案管理方面,主要有“档案借阅类”,“档案转递类”;从系统维护方面主要有“系统维护类”。

其中“人事信息类”的属性有:基本信息表,联系方式表,受教育情况表,工作经历表,职务情况表,业绩情况表,合同情况表中的各个字段值,具体各个表中字段在下一部分数据库模型中介绍;对这些信息的服务有查询,删除,修改,增加等。

“档案借阅类”的属性有:编号,被借阅人姓名,被借阅人部门,借阅人姓名,借阅人部门,借阅人联系方式,借阅时间,归还时间等;对这些信息的服务有登记注册和注销。

“档案转递类”的属性有:编号,姓名,性别,所在部门,身份证号,备注(调入原因)等;而其中的服务有登记,注销等。

“系统维护类”的属性有:系统日志,管理员,权限;在这些数据信息上的服务有系统初始化,清除系统日志,修改权限,增加管理员,删除管理员等。

除了定义上述一般类之外,还需要有用户接口。对PAMIS系统可以有以下用户接口类。如图3所示:

图 3 用户接口包图

其中接口“档案管理表单”为管理员提供档案管理的功能,主要有档案的增加、删除、修改、档案转递和档案借阅等。

接口“报表打印表单”主要是为普通用户和管理员提供档案统计打印的功能。

接口“系统维护表单”主要是为管理员提供PAMIS系统的维护管理功能,包括:系统初始化,系统日志,权限设置以及操作员管理。

接口“注册表单”为普通用户和管理员提供进入系统时的身份验证和相应操作权限的验证功能。

查询“档案管理表单”为普通用户和管理员提供档案查询的功能。

在定义了对象类和用户接口,现在定义一些类之间的关系。具体相互之间的关系有关联,聚合,泛化和依赖关系。据此绘制档案管理对象类图,如图4所示:

图 4 档案管理对象类图

同样可以绘制系统维护对象类图,附录四系统维护对象类图。

 

4.3.2   建立数据库模型

PAMIS系统采用关系数据库存储和管理数据库。在分析和设计系统的静态结构模型时需要进行数据分析和数据库的设计。

PAMIS系统主要有2方面的数据需要管理和进行相应操作时需要涉及。即:人事信息数据,系统操作员数据。根据上述对象类的分析,PAMIS系统需要10张数据库表格。具体数据表定义如下:

基本信息表(人员编号,姓名,曾用名,性别,出生年月,籍贯,民族,所在部门,文化程度,学位,政治面貌,参加党派时间,健康状况,婚姻状况,照片)

联系方式表(人员编号,办公室,办公室电话,移动电话,邮件地址,家庭地址,邮编,家庭电话)

受教育情况表(人员编号,专业1,毕业学校1,毕业时间1,专业2,毕业学校2,毕业时间2,最高学位,外语,外语级别)

工作经历表(人员编号,起始时间,终止时间,岗位,所在单位,职称,所在部门)

职务情况表(人员编号,进入单位时间,技术职称,行政职称,参加工作时间,用工性质,个人特长,工龄,状态)

业绩情况表(人员编号,评定时间,业绩情况,业绩奖励,处理情况,评定单位)

合同情况表(人员编号,起始时间,终止时间,合同编号,受聘部门,合同期限,签订时间)

借阅情况表(被借阅人编号,姓名,部门,借阅人姓名,借阅人所在部门,借阅时间,归还时间,归还情况,借阅人联系电话)

操作员表(用户名,姓名,密码,操作权限,级别)

转递人员表(人员编号,姓名,性别,所在部门,身份证号,转入/转出,备注)

4.3.3   建立包图

PAMIS系统的包图如图5所示,一共有5个包“人事档案管理”包、“数据库”包、“用户接口”包、“MFC”包、“出错处理”包。

其中“用户接口”包为所有的接口对象类。有:注册表单,档案管理表单,系统维护表单,报表打印表单,查询档案表单。

“MFC类”包中包含了支持系统的动态连接库的必要的库函数对象类。

“出错处理”包中包含了实现数据库服务功能的全部对象类。

“数据库”包中包含了实现数据库服务功能的全部对象类。

“人事档案管理”包中包含档案管理,系统维护,身份验证,帮助系统。

图5  PAMIS系统的包图

附录五人事档案管理包图。

4.4 动态行为模型

系统的动态行为模型由交互图(顺序图和协同图)、状态图、活动图表达。

4.4.1   建立顺序图

根据Use Case视图和系统的对象类,建立PAMIS系统的顺序图有:活动者“管理员”对Use Case“档案管理”和Use Case“系统维护”的交互,以及活动者“普通用户”对Use Case“信息检索”的交互。

对于Use Case“系统维护”的活动者“管理员”和“登录注册表单”对象接口、“用户窗口”接口对象、“系统维护”接口对象、“操作员注册表单”对象发生交互。

活动者“管理员”登录『系统维护』系统时,首先进行用户的身份和用户的操作权限的验证,确定正确后用户进行下一步操作,否则拒绝登入 或使用『系统维护』系统。验证正确后,用户可以在进行,『查看』或『清除』系统日志,管理员的『增加』或『删除』,『系统初始化』,和操作员的『权限的修改』,最后管理员将修改的信息『提交』数据库,『存储』相应数据,并『退出』系统,完成此次交互。具体“系统维护”的顺序图,见附录系统维护顺序图。

图6 就是活动者“普通用户”对U se Case“信息检索”的交互过程。首先活动者登录系统,然后“登录注册表单”接口验证用户的合法身份和操作权限,如果是合法用户,则继续下一步操作,否则拒绝登录系统。然后用户可以对信息进行检索查询,对结果可以按各自需要选择打印类型,然后退出系统,完成交互过程。

图 6 普通用户对Use Case“信息检索”顺序图

同样我们还可以绘制出系统维护顺序图,见附录六系统维护顺序图。

4.4.2   建立协同图

协同图用于描述系统的行为是如何由系统的成分实现。对于Use Case“档案管理”的协同图如图7所示。图中的对象角色有“注册表单”接口对象,“档案管理表单”接口对象,“人事信息”对象,“档案管理”对象,“档案借阅”对象,“档案转递”对象。它们协同工作实现对档案的管理的服务。

图 7 档案管理协同图

PAMIS系统中还有很多协同操作的交互过程。还有活动者“管理员”的Use Case“系统维护”,Use Case“档案借阅”,Use Case“档案转递”,Use Case“信息检索”,以及活动者“普通用户”的Use Case“信息检索”等交互。

附录七档案借阅协同图。

附录八档案转递协同图。

附录九信息检索协同图。

4.4.3         建立状态图

系统状态图表现一个对象类的生命史。对PAMIS系统的档案借阅状态图,如图8所示。它有如下状态和动作。

图 8 档案借阅状态图

“初始化”状态:当进入第一次进入系统的时候,系统就进入“初始化”状态。将数据库表清空。

“档案借阅”状态:当“档案借阅”对象一旦被创建,就进入“档案借阅”状态。

“借阅登记”状态:当“借阅登记”对象一旦被创建,就进入“借阅登记”状态。本状态的动作是记录借阅信息,当退出的时候的,就发关系消息给“关闭”状态。

“借阅注销”状态:当“借阅注销”对象一旦被创建,就进入“借阅注销”状态。本状态的动作是记录注销信息,当退出的时候的,就发消息给“关闭”状态。

“取消”状态:对象的取消状态的动作主要是撤消刚才发生的动作效果,并结束本对象的运作。“档案借阅”状态,“借阅登记”状态,“借阅注销”状态发生了“取消”事件的时候,就转移到本状态。本状态的动作是给撤消动作提示信息和结束本对象运行的提示信息,并转移到状态图的出口。

“关闭”状态:“档案借阅”状态,“借阅登记”状态,“借阅注销”状态发生了“关闭”事件的时候,就转移到本状态。本状态的动作是存储已变更的数据,结束本对象的运行。转移到状态图的出口。

同样,还可以画出其他状态图:档案管理状态图,档案转递状态图,系统维护状态图。

附录十档案管理状态图。

附录十一档案转递状态图。

附录十二系统维护状态图

4.4.4         建立活动图

活动图的主要作用是表示系统的业务工作流和并发处理过程。现在对PAMIS系统的档案管理的活动绘制活动图。在图9中,参与活动的对象有“注册表单”接口对象,“档案管理表单”接口对象,“档案管理”对象,“人事信息”对象。动作状态有“登录”,“管理档案”,“取人事信息”,“增加/删除/修改档案信息”。动作流用实线表示。

图9  PAMIS系统的档案管理的活动图

同样,还有PAMIS系统的档案借阅的活动图,档案转递的活动图,档案查询活动图,系统维护的活动图。

附录十三档案借阅的活动图。

附录十四档案转递的活动图。

附录十五系统维护的活动图。

4.5 物理模型

4.5.1   建立组件图

PAMIS系统的运行软件可以组成组件图。如图10 所示。其中有“PAMIS”系统,“档案管理”,“人事信息”,“系统维护”,“档案借阅”,“档案转递”,“权限设置”,“系统初始化”,“操作员管理”,“系统日志”等组件组成。

图10  PAMIS系统的组件图

4.5.2   建立配置图

PAMIS系统是一个基于局部网络和数据库的应用系统,其各个部分可以配置在不同的节点上,通过网络相互通信。如图11中,把数据库服务器,应用服务器,档案管理,系统维护的相应的组件配置在不同的节点上。应用服务器与数据库服务器通信,数据库服务器向应用服务器提供数据库服务。应用服务器与档案管理和系统维护相互通信,应用服务器向用户提供档案管理和系统维护的服务。档案管理与系统维护节点具体完成档案管理和系统维护的服务操作,是应用数据库的后台,它们不直接与数据库联系,而是通过应用服务器向数据库服务器请求访问数据库。

图11 PAMIS系统配置图

 

五、人事档案信息管理系统的实现过程

5.1 物理实现

PAMIS系统开发工具选用Delphi6.0,主要是因为Delphi在开发数据库及设计应用程序界面方面有着不同寻常的优势:开发简单、设计方便、帮助系统完善。并且提供了大量的控件,可用于设计界面和实现各种功能,更主要原因Delphi支持面向对象的主要概念。在数据库方面开发工具选用SQL Server 2000,因为它提供了强大的查询,存储等功能,且操作方便。运行操作系统一般选用Windows 2000及以上版本,并配有打印机,或网络共享打印机。

5.2 软件实现

5.2.1   窗口设计

Delphi的窗口本身就是一个类,并且每一个窗体类创建了一个默认的全局对象,并且都封装在.pas的模块中。根据对象模型和分析模型,一个窗口完成一个功能,并在窗口中放置一些文本框供用户自己输入信息,而组合框可以提供用户自己选择相应信息,以及一些按钮,来实现各种功能。通过点击按钮,相当于实现面向对象中消息的传递,然后触发相应按钮的Click事件,完成该功能。这样就使得整个操作,在消息的控制下有条不紊的完成。某一事件得不到消息的时候,就不触发该事件,处于休眠状态。图12 就是登记人事档案信息的窗口设计。另外通过采用分页形式登记各类信息。关于数据库方面的窗口设计,也是通过采用文本框,显示相应的记录,并通过按钮『第一位』,『上一位』,『下一位』,『最后一位』来选择所需要人员信息,并且通过各种窗口中按钮,完成对记录的增加、删除、修改等操作。此外由于PAMIS信息系统需要频繁的访问数据库中的记录,为此单独建立一个数据模块,在其他窗口需要访问数据库数据的时候只要引用该模块就可以了。

图12 登记人事档案信息窗口

 

5.2.2   数据库设计

对数据库的设计,主要还要根据人事档案信息这个对象来具体考虑的。根据人事档案信息的各个属性,我们采用一人一表的方式登记和保存各种信息。并且将数据库的冗余度降为最低,本文依照第三范式来设计数据库。将复杂关系拆分成几个较简单的关系。最后拆分成7张表格,基本信息表,工作经历表,联系方式表,受教育情况表,职务情况表,业绩情况表,合同情况表(详见4.3.2),尽可能减少数据的冗余,节省建库的工作量和磁盘的存储空间。

用户在使用PAMIS系统的数据结构形式,都可以通过两个或两个以上的数据库经过关联后得到。这一方面可以通过设计SQL查询语句实现表之间的关联,获取所要查询的记录集。另一方面也可以通过数据库管理系统,本文采用SQL Server2000系统,来实现数据的关联。通过设计关系图,设计各表格之间的关系,可以选择“级联更新相关字段”和“级联删除相关字段”,以期达到数据库参考完整性。

5.2.3   前后台操作关联设计

在窗口设计和数据库设计的同时,下面我们来考虑一下前后台操作的关联设计,也就是如何对数据库中数据的操作与窗口对数据的编辑联系起来。

首先,在PAMIS系统实现中,可以运行Delphi开发系统提供的数据库工具访问数据,主要是运用了BDE的Query和Data Access 的Data Source控件。另外Delphi系统自己也带有数据库访问控件(DB Navigator)控件,可以直接对数据库中的记录进行添加、删除、修改等操作。该方法容易实现,操作方便,但灵活性比较差,而且界面也不较难看,介于此,本系统不采用Delphi系统提供的控件。自己编写代码实现访问数据库的记录的控件。

然后,可以使用公用数据变量方式来实现前后台操作的关联。通过定义数组变量,首先依据给定的条件,访问数据库,建立数据记录,并将记录赋值给数组变量,然后再将数组的值赋给相应的窗体中的控件(文本框),设计向窗体界面及对应数据变量进行添加、修改、删除、查询浏览等操作,最后将数据转换成符合数据表结构的格式,存入数据表中。在PAMIS系统实现过程,基本上使用定义公用变量来实现数据的转换,虽然灵活性较好,易于实现复杂的数据表格的设计,但其设计工作量比较大,数据结构也比较复杂。在完成系统的设计之后,我也曾想过,能否使用一个公用的数据类模块的方式来实现。这样可以提高代码的重用性。

类模块的设计依据的还是面向对象分析中所建立的模型。其设计思想主要是:依据对象模型,选择确定类模块中的属性,依据动态行为模型,设计类模块的服务即方法和事件。在PAMIS系统中类模块的属性就是人事档案信息类的属性,此外还需要加入:数据库的工作区(动态数组),建立SQL查询的字符串和返回查询后得到的记录数三个。所加入的服务,因为主要是建立所需要的代码记录集,要将指针移到指定位置,实现数据间的转换,所以加入移动记录的指针所需要的Move First、Move Last、Move Next、Move Previous 和Move N,以及add、delete、update等方法。这样可以使设计更加简化。

但系统要使用该类模块的时候,只要在相应的程序中说明它的一个实例名,便可以直接引用。这很好的体现的面向对象的封装的思想,也就只要知道它所具有的属性和方法,而无需知道其具体实现过程。若要增加属性或方法,也就只要对类模块进行适当的修改就可以,从而使得整个系统也便于维护。

六、结束语

本文在介绍了面向对象和UML的基础知识之上,通过对系统的静态结构模型和动态行为模型的分析和设计之后,以及在未涉及具体语言编程的时候,就在头脑中已经初步形成了该系统的整体模型,以及中间的过程,可以说完成了“理念”系统。这个与以前采用结构化的分析、设计一个系统相比,具有无可比拟的优点。最后通过Delphi编程实现整个系统。该系统可以运用于企事业单位,可以提高电子化水平、改善服务质量、提高办事效率和经济效益。由于一方面本系统只是一个软件设计模型,具体功能并未得到真正的实现。另一方面可以运用数据类模块的来设计系统,使得系统更加容易维护,而且能够增强程序了可读性和可移植性。因此,在系统的完善性,连续性方面还有待进一步研究。

此外,经过这次毕业设计,我觉得自己学到了不少东西。学会了如何查阅资料和利用工具书,如何使用Rational Rose软件画各种图。同时当在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料,然后加以吸收利用,以提高自己的自学能力,而且还增长了自己见识,并补充了最新的专业知识。

参考文献

[1] 张龙祥 编著.UML与系统分析设计[M],北京:人民邮电出版社

[2] 邵维忠,杨芙清.面向对象的系统设计[M], 北京:清华大学出版社

[3] Kurt Bittner,Ian Spence [美] 著.Use Case Modeling(用例建模)影印版[M],北京:清华大学出版社

[4] Sinan Si Albir 著,常晓波 译.UML in a Nutshell (UML技术手册)[M],北京:中国电力出版社

[5] 刘冬杰.面向对象管理信息系统的设计与实现[J],微型机与应用.1997年第8期

[6] 许强,李春光,温涛.面向对象技术在MIS开发中的应用[J],抚顺石油学院学报.第19卷第1期 1999年3月

[7] 张海藩,牟永敏.面向对象程序设计使用教程[M],北京:清华大学出版社

[8] 浙师组[2001]3号.浙江师范大学干部人事档案材料收集归档规定[J]2001年6月

[9] 曲邵燕,易彤,徐道林.高校人事档案管理信息系统的面向对象设计与实现[J],山东工程学院学报.第14卷第1期 2000年3月

[10] 萨师煊,王珊.数据库系统概论(第三版)[M],北京:高等教育出版社

[11] 吴长春,周宏生.运用面向对象设计方法开发信息系统应用程序[J],彭城职业大学学报.2000年6月

附录

附录一:Use Case“档案管理”图:

附录二:Use Case“系统维护”图:

附录三:Use Case“帮助系统”图:

附录四:系统维护对象类图:

附录五:人事档案管理包图:

附录六:系统维护顺序图:

附录七:档案借阅协同图。

 

 

 

 

 


附录八:档案转递协同图。

附录九:信息检索协同图。

附录十:档案管理状态图

附录十一:档案转递状态图:


附录十二:系统维护状态图:

附录十三:档案借阅的活动图。


附录十四:档案转递的活动图。

附录十五:系统维护的活动图。

人事档案信息管理系统的面向对象的分析、设计和实现相关推荐

  1. 干部人事档案管理系统软件,人事档案信息管理系统

    企事业单位干部人事档案信息化管理系统是运用现代化的管理技术和手段,在计算机.扫描仪.信息管理系统和数据库系统等硬软件环境的支撑下,实现干部人事档案的收集.整理.保管和利用等工作.干部人事档案软件以档案 ...

  2. (附源码)ssm高校学生档案信息管理系统 毕业设计 010936

    ssm高校学生档案信息管理系统 摘要 在社会快速发展的影响下,教育事业蓬勃发展,大大增加了学校的数量.多样性.教育质量等要求,使教育的管理和运营比过去更加困难.依照这一现实为基础,设计一个快捷而又方便 ...

  3. ssm高校学生档案信息管理系统 毕业设计- 附源码010936

    ssm高校学生档案信息管理系统 摘要 在社会快速发展的影响下,教育事业蓬勃发展,大大增加了学校的数量.多样性.教育质量等要求,使教育的管理和运营比过去更加困难.依照这一现实为基础,设计一个快捷而又方便 ...

  4. ssm高校学生档案信息管理系统毕业设计源码010936

    摘要 在社会快速发展的影响下,教育事业蓬勃发展,大大增加了学校的数量.多样性.教育质量等要求,使教育的管理和运营比过去更加困难.依照这一现实为基础,设计一个快捷而又方便的高校学生档案信息管理系统是一项 ...

  5. C#毕业设计——基于C#+asp.net+sqlserver的教师档案信息管理系统设计与实现(毕业论文+程序源码)——教师档案信息管理系统

    基于C#+asp.net+sqlserver的教师档案信息管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的教师档案信息管理系统设计与实现, ...

  6. 学生档案信息管理系统java_基于jsp的学籍档案信息管理系统-JavaEE实现学籍档案信息管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的学籍档案信息管理系统, 该项目可用各类java课程设计大作业中, 学籍档案信息管理系统的系统架构分为前后台两部分, ...

  7. 人事工资信息管理系统(数据库设计)

    人事工资信息管理系统之数据库设计 表名:Area 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 4 0 是 否 2 areaID nvarchar 50 ...

  8. 人事工资信息管理系统

                                              人事工资信息管理系统 摘要:基于VS2015+SQLServer2008+DexExpress平台,采用C#语言开发 ...

  9. 人事工资信息管理系统(软件架构)

    人事工资信息管理系统(软件架构) 1.人事工资信息管理系统软件架构 采用三层架构实现 公共类库层 业务逻辑层 数据库访问层 Model层 其他 界面层

  10. 用UML进行面向对象的分析设计的软件开发步骤

    用UML进行面向对象的分析设计的软件开发步骤 UML(Unified Modeling Language的缩写)统一建模语言,曾经红极一时,备受软件开发人员的推崇,不少工具宣称从设计到代码映射的强力支 ...

最新文章

  1. 利用Nginx实现简易负载均衡
  2. 邮箱性质--全选单选的操作和传值 用属性的name传值
  3. C++ 出版公司(继承)
  4. 预测大盘最准确的指标_上证指数11月23日走势预测
  5. BZOJ3998 TJOI2015弦论(后缀数组+二分答案)
  6. 7、oracle下的序列
  7. 由浅到深理解ROS(8)-线程管理
  8. 我们家的HTML5捣蛋王开始行动了
  9. HTML中利用堆栈方式对Table进行行排序
  10. Mac 配置PHP运行环境
  11. unity3D游戏素材素材哪家强?Top3都在这!
  12. python小程序源码合集
  13. Android P wakeup 亮屏流程
  14. ChatGPT 之后,再玩玩 Stable-Diffusion
  15. 被互联网租房套路割韭菜的年轻人
  16. [SYZOJ279]滑♂稽♂树
  17. P3 元宝第三天的笔记
  18. 【已解决】ThinkPad E440 Win7蓝牙无法连接
  19. emacs下安装eaf
  20. 梯度提升树(GBDT)详解之一:回归举例

热门文章

  1. Linux如何修改只读文件(以设置自动连网为例)
  2. [智慧园区]之访客应用
  3. PyTorch搭建ANN实现时间序列预测(风速预测)
  4. 回声状态网络(ESN)实现手写数字识别(MNIST)
  5. 二项树(binomial tree)
  6. TestCenter测试管理工具功能详解十六(U)
  7. 倒水问题python实现
  8. 千住焊锡丝RMA98,ESC21参数解读:金属含量、焊剂成分、质保期、Lot No. 等
  9. PON串口链接详细步骤说明
  10. linux 设置 用户 密码,Linux系统怎么设置开机密码?Linux设置开机密码的方法