1、 (此文档为word格式,下载后您可任意编辑修改!) 目 录 1. 概述 4 1.1 研究课题及开发背景 4 1.2 课题研究意义和现状 1 1.3 主要内容 2 2. 相关理论与计算机技术 3 2.1 ASP.NET技术概述 3 2.2 AJAX技术概述 3 2.3 LINQ技术 4 2.4 Browser/Server三层体系 4 2.5 UML概述 5 2.6 PowerDesigner概述 7 3. 系统的分析与设计 8 3.1 需求分析 8 3.1.1 问题范围 8 3.1.2 功能需求 8 3.1.3 系统性能
2、需求 9 3.1.4 软硬件环境 4 3.2 确定系统边界 4 3.3 确定参与者 4 3.4 确定用例 4 3.5 建立静态模型 4 3.5.1 绘制用例图 4 3.5.2 绘制类图 13 3.6 建立数据库模型 16 3.6.1 实体关系模型 4 3.6.2 概念数据模型 16 3.6.3 物理数据模型 17 3.6.4 生成SQL脚本 18 3.7 建立动态模型:绘制图 20 3.7.1 绘制时序图 20 3.7.2 绘制协作图 4 3.7.3 绘制状态图 4 3.7.4 绘制活动图 4 4. 模块设计及系统实现 23 4.1
3、 系统各模块的实现 23 4.1.1 人事档案管理模块 23 4.1.2 招聘管理模块 24 4.1.3 培训管理模块 25 4.1.4 考勤管理模块 25 4.1.5 薪酬管理模块 26 4.2 系统配置 27 4.3 用LINQ技术操作数据库 28 4.4 系统发布 29 4.5 系统安全性问题 29 4.5.1 验证 错误!未定义书签。 4.5.2 授权 30 4.6 报表统计 31 5. 系统测试 31 5.1 单元测试的目的 31 5.2 单元测试的分类 32 5.3 单元测试:NUnit 32 6. 总结 33 参考文献
4、 34 致 谢 35 基于ASP.NET公安交警人事管理系统 摘要:公安交警人事管理工作一直以来大多都是手工操作,人事管理工作中的大量的表格都需要相关工作人员进行整理和归档。每次对某些资料进行查询的时候,都要花费大量的时间和精力去搜索相关资料,枯燥又繁琐,因此公安交警部门为此引进了人事管理系统,电子化管理,管理人员的工作量和工作效率都明显提高。但是单机版的系统特点,仍然存在一些问题,如只有档案管理功能,只能一个人进行录入,有些功能仍旧无法实现,如对警员的业绩考评、考勤管理、调离职管理等。 飞速发展的计算机应用技术及网络技术以及越来越多的网络版的管理信息系统的成
5、功应用启发我开发本文的网络版的交警人事管理系统,从而实现交警大队人事部门的人事管理、组织机构管理、考勤管理、工资管理、警衔管理以及奖惩管理等各个方面的电子化管理。现在的计算机网络技术普遍应用的B/S结构以及ASP.NET开发框架由于在网络开发上具有简单高效、可管理性强和可缩放性等特点,本系统亦采用了B/S架构和ASP.NET开发框架。 本文的主要目的和具体内容是基于ASP.NET的交警人事管理系统的开发,主要思想是软件工程的思想,面向对象的系统结构的分析和设计、功能的测试与实现等则是采用了UML建模语言。本文数据库操作是LINQ技术;AJAX技术的应用则实现了客户端操作和服务器响应之间的异步
6、操作。 关键词:人事管理系统;ASP.NET;UML建模语言;LINQ;AJAX技术 XX学院本科毕业设计 TRAFFIC POLICE PERSONNEL MANAGEMENT SYSTEM BASED ON ASP.NET ABSTRACT:Traffic Police personnel management has been mostly manual, a lot of work in the form of personnel management needs related to staff managing and archivi
7、ng. Some information for each query time, should spend a lot of time and effort to search for relevant information, boring and tedious, so the introduction of the Police Department for this personnel management system, electronic management, workload and management staff productivity are significant
8、ly improved. But the stand-alone version of the system features, there are still some problems, such as only the file management functions, only one person entry, some features still not possible, such as performance evaluation of police officers, attendance management, leave management transfer. T
9、he successful application of computer application technology and network technology and the rapid development of more and more of the network version of management information systems inspired me to develop this article online edition of police personnel management system, enabling personnel managem
10、ent department of traffic police brigade personnel, organization management,attendance management, payroll management, incentive management rank management and other aspects of the electronic management. Computer network technology now widely used in B / S structure and ASP.NET development framework
11、 because of a simple and efficient on network development, manageability, and scalability and strong features, the system also uses the B / S architecture and ASP. NET development framework. The main purpose and the specific content of this paper is mainly based on the idea to develop ASP.NET of
12、police personnel management system, the idea of software engineering, and object-oriented analysis and design system architecture, testing and implementation of functions and other is the use of UML modeling language. This article is LINQ technology database operation; application AJAX technology is
13、 to achieve the asynchronous operation client and server operating response. Key words: ASP.NET;Personnel Management System;UML;AJAX;LINQ 1. 概述 1.1 研究课题及开发背景 随着计算机在社会生活中的普及以及广泛应用,它在各个领域的作用越来越突出,而信息化档案管理尤为明显。相比较计算机的信息处理功能而言,采用人工的方式管理交警人事档案明显存在许多缺点:如效率低、安全性差、查找费时费力、更新和维护困难等。而采用计算机处理信息,则效
14、果大不相同。虽然我国自70年代末才开始在全国范围内推广计算机应用,但是它在我国信息处理过程中仍有着不可取代的作用。因此,考虑开发一个交警人事管理系统。 我国交警人事管理简言之,叫做人力资源管理,即HR(Human Resource)管理,人力资源管理就是指运用现代化的科学方法,对与相关事务相结合的人力进行合理的培训、组织和调配,使人力、物力经常保持最佳比例。人力资源管理系统(Human Resources Management System,HRMS),是指组织或社会团体运用系统学理论方法,对企业的人力资源管理各个方面进行分析、规划、实施、调整,提高企业人力资源管理水平,使人力资源更有效的服
15、务于组织或团体目标。 人力资源管理系统的发展过程如下 : 第一代人力资源管理系统产生于上世纪60年代末期,只有自动计算人员薪酬的功能,不能生成报表和分析数据,也无法保留历史信息。 第二代则出现于上世纪70年代末,可以设计非财务人力资源信息和薪资的历史信息,也可以生成简单的报表和分析数据。 第三代产生于上世纪90年代末,这一代系统的数据库关于人力资源的数据几乎齐全,报表生成工具、数据分析工具和信息共享功能更加强大。 目前,大多数有关人力资源管理系统的研究都已经有了较为成熟、商业化的人力资源管理系统,很多办公自动化系统也集成了其子系统。但是这些系统针对性强,几乎都是针对企业的,而且成
16、套销售,其服务范围几乎没有涵盖交警部门;另外,单机版的部分系统,无法满足多用户并且并发操作的需求。再加上,公安部信息化建设的大力提倡、公安部内部网络建设的完善,促使了要开发一个基于B/S架构的交警人事管理系统。 1.2 课题研究意义和现状 因为ASP.NET在开发网络应用时,简单迅速,灵活性高,安全性好,本论文采用了ASP.NET开发基于B/S结构的交警人事管理系统。本系统的开发,对于我们来说,既可以系统地学习.NET框架、Web开发的相关基础知识技术,又可以熟悉和巩固软件开发的流程以及掌握有关CASE工具的使用方法;而对于公安部信息化建设及其他部门来说,可以对其警员管理系统提供借鉴和
17、参考。 所以,本研究的主要目的是开发一个包括 组织机构管理、人事管理、工资管理、出勤 管理、警衔管理和奖惩管理等方面内容的交警人事管理系统,以减少目前手工操作带来的人事管理的繁琐的缺陷。因此,本课题具有重要的应用价值。 目前国内外比较有影响的人力资源管理系统有: (1) SAP的mySAP ERP HCM(人力资本管理) (2) 仁科的peopleSoft (3) Oracle的Oracle HRMS 人力资源管理软件不止这些,市场上还有其他一些著名的人力资源管理软件,由于市场份额、产品功能及成熟度、技术水平、地域性强、员工流动率过高等原因,他们的产品与前几款软件相比稍逊一筹。
18、1.3 主要内容 本论文的主要内容是开发一个基于B/S结构的网络版交警人事管理系统,用来电子化管理本单位人力资源管理软件人事部门的组织机构人力资源管理软件管理、人事管理、工资管理、考勤管理、警衔管理和奖惩管理等各方面。论文第一章叙述了本课题研究背景、意义和应用价值、国内外的发展现状;第二章介绍了与本论文相关的一些技术成果和现状;第三章则着重介绍了交警人事管理系统的需求分析与设计,以及各种绘图和模型;第四章详述了系统实现及开发过程中的关键技术;而第五章,介绍了软件测试方面的基础知识,并详细介绍了本文所采用的NUnit测试技术;第六章对研究工作进行了总结,为进一步完善本系统,指出了其中的不足并
19、整理了后续工作。 2 2. 相关理论与计算机技术 2.1 ASP.NET技术概述 ASP.NET 是. NETFramework 的一部分,而.NET技术则是微软公司的一项新的软件开发标准,网络定义为“它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。”ASP. NET 是一个统一的Web开发模型,它包括您使用尽可能少的代码生成企业级Web应 用程序所必需的各种服务。ASP. NET应用程序的代码在编写时,可以访问. NET Framework中的类。您可以使用与CLR(公共语言运行库)兼容的任何语言来编写代码,这些语言包括VB(Mi
20、crosoft Visual Basic)、C #和J # 等。 ASP. NET的特性和功能包括:(1)页和控件框架(2)ASP.NET编译器 (3)安全基础结构(4)状态管理功能(5)应用程序配置(6)运行状况监视和性能功能 (7)调试支持(8)XML Web services 框架(9)可扩展的宿主环境和应用程序生命周期管理(10)可扩展的设计器环境 2.2 AJAX技术概述 AJAX(Asynchronous JavaScript and XML)作为2005年2月才正式提出的一项综合技术,其主要特点是:为Web开发提供异步的数据传输和交换方式;在不刷新页面的情况下与服务器
21、进行数据交换。 实际上,AJAX是XHTML、CSS、JavaScript、DOM和XML等技术的有机结合而衍生的技术。它是一种并不要求程序员去学习一门新的语言,可以直接运用他们原本掌握的服务器技术的客户端方法。 ASP.NET AJAX开发集成了ECMAScript(European Computer Manufacturers Assocication)客户端脚本库和 ASP.NET基于服务器端的开发平台。ASP.NET AJAX框架包含了客户端API和服务器端API两个API。 ASP.NET AJAX的主要设计目标 : (1)为了让其能够自动生成支持富客户端的JavaScri
22、pt代码,对现有的ASP.NET服务器端模型进行扩展。 (2)为进一步简化 客户端的编程而对ASP.NET增加客户端 编程模型。 随着AJAX技术的推出以及迅速风靡,许多单位和组织随后纷纷开发了许多不同的AJAX产品,使开发者基于AJAX的开发工作更加快速高效。除此之外,还有以下比较流行的轻量级框架: (1) Prototype (2)Dojo (3)Mootools (4)JQuery (5)Dwr (6)Buffalo (7)Yui (8)Ext (9)Qooxdoo (10)Spry 2.3 LINQ技术 语言集成查询LINQ(Language Integ
23、rated Query),标志着面向对象编程技术在工业 领域的应用已经 进入了一个 稳定的发 展阶段。为简化、统一对不同数据源以及不同数据格式的处理方式,微软开发团队构建了这样一个新的技术,是Visual Studio 2008及.NET 3.5框架中提供的一个重要的特性。LINQ提供的途径则更为常规:给.Net 框架添加一 些可以应用于所有信息源的、具有多种用途的查询语法特性,这种特性更加完善,大大的提高工作效率。 LINQ的基本架构如下图2.1所示。 图 2.1 LINQ基本框架 从图2.1可以看出,第二层针对不同数据源添加了不同的LINQ提供程序,由此开发者可以使用同一个LI
24、NQ查询语句操作不同的数据源。第二层的提供程序中,两个最经常访问的数据源是与数据库和XML相关的。 与传统的SQL语句不相同的是,LINQ在操作不同的数据时,使用了强类型的表达式。因此,C#编辑器在编译时可以对LINQ查询语句的正确性进行检查,并且在VS 2008集成开发环境中,提供了代码智能感知与自动完成等附加功能,大大提高了开发效率。 2.4 Browser/Server三层体系 Browser/Server结构就是浏览器/服务器结构, 简称B/S结构。B/S 模式是以Web技术为基础,把C/S 模式中的服务器设置细分为数据库服务器和Web 服务器,从而变成三层体系结构,是在C/
25、S模式的基础上发展的产物。 一个典型的三层结构如图2.2所示: 图 2.2 B/S三层体系结构 图2.2中,整个系统采用B/S三层结构。客户端以Web浏览器为媒介提交请求,然后通过网络连接Web服务器,Web服务器处理其发出的请求,并向数据库服务器发出请求,数据库服务器再通过ODBC驱动程序和ADO对象处理接收到的数据请求,并将结果反馈给Web服务器,Web服务器将其进行处理后,结果以HTML格式呈现在Web浏览器上 。 三层体系结构中的数据处理分三层:第一层是提供用户与系统的交互的客户端(用户界面),第二层是的Web应用服务器,第三层是负责数据信息的存储、访问及优化的数据库服务
26、器。在B/S三层体系结构系统中,用户将请求通过浏览器发到服务器上,服务器再处理请求,最后将结果返回到浏览器。这样做大大减轻了客户机的负担。 B/S三层体系结构的优点有:(1)用户的操作使用简单; (2)B/S结构具有可伸缩性; (3)易于开发、安装和维护。 2.5 UML概述 UML全称是统一建模语言(United Modeling Language),是最大范围使用的定义良好、易于表达、功能强大且普遍适用面向对象的标准建模方法,而且溶入了软件工程领域的新思想、新方法和新技术,使它的作用域更大,不仅支持面向对象的分析与设计,还支持需求分析为始的软件开发的全过程。其主要作用是帮助用户面向
27、对象的描述软件系统和通过建立系统中各元素的关系建模,它可以描述软件开发的全过程。 UML是一种建模语言,它有UML表示法和UML语义两种方法定义: (1) UML表示法:定义UML符号标准,使软件开发能利用这些图形符号和文本语法建模。通过这些图形符号和文字而建立的是应用级的模型,在语义上则是UML元模型的实例。 (2) UML语义:用来定义基于UML的精确元模型。在语法和语义上,这种元模型为UML的所有元素提供了简单、一致、通用的定义性说明,保证开发者在语义上的一致性。此外UML还支持对元模型的扩展定义。 UML主要由5大类图,共9种图形来定义其内容: (1)例图,指出各功能的操
28、作者,从用户的角度描述系统功能。 (2)静态图,包括类图、对象图以及包图。包图由包或类组成,表示包与包之间的关系,类图和包图分别描述了系统中类的静态结构和系统的层次结构;而对象图是类图的实例,只能在系统某一时期内存在。 (3)行为图,是系统的动态模型和组成对象间交互关系的描述。行为图包括状态图和活动图。 (4)交互图,描述了对象之间的交互关系。包括时序图(描述对象间的动态合作关系,如强调时间顺序)和协作图(描述对象间的协作关系,如强调上下级关系),它们都涉及了多个对象。 (5)实现图,分为组件图和配置图(也称部署图)。组件图描述代码部分的物理结构以及组件之间的依赖关系。配置图描述了系统
29、中软硬件的物理体系结构。 UML由视图、图、模型元素和通用机制等几个部分组成。其中,视图和图之间的归属关系如表2.1所示: 表2.1 视图及图之间的归属关系 视图名称 图名称 架构视图名称 用例视图 用例图:系统功能的描述 用户模型视图 逻辑视图 类图:系统的静态结构描述 结构模型视图 对象图:系统在某个时刻的静态结构描述 并发视图 时序图:按时间顺序描述系统各元素间的交互 行为模型视图 协作图:按时间顺序和空间顺序描述系统各元素间的交互以及它们之间的关系 状态图:系统元素的状态条件描述 活动图:系统元素的活动描述 组件视图 组件图:系统实现的所有元素组
30、成的组织描述 实现模型视图 配置视图 配置图:环境元素的配置的描述,并把实现系统的元素映射到配置上 环境模型视图 利用UML进行面向对象的系统分析和建模时,步骤: 第一步:描述系统需求。 第二步:建立相应的静态模型,构造系统结构。 第三步:描述系统行为和状态。 其中第一步和第二步所建立的是静态模型,第三步所建立的模型对应UML的动态建模机制。 随着UML建模语言的使用越来越广泛,许多建模工具也相继出现,其中Rational Rose以其强大的功能,应用最广泛。因此,本系统UML建模工具采用Rational Rose。 2.6 PowerDesigner概述 Power
31、Designer是由Sybase公司推出的一个CASE工具集,利用它可以更为简便地分析与设计管理信息系统,它几乎涵盖了数据库模型设计的全过程。利用PowerDesigner可以生成多种客户端开发工具的应用程序,可以制作数据流程图、概念数据模型、物理数据模型,还可对团队设计模型进行控制,也能为数据仓库制作结构模型。它可与许多流行的数据库设计软件如:PowerBuilder、Delphi、VB等相配合使用,以达到缩短开发时间和优化系统设计的效果。 PowerDesigner包含六个模块,模块之间紧密集成。这六个模块的作用见表2.2: 表2.2 PowerDesigner各模块的功能 模块
32、 功能 ProcessAnalyst 用于需求分析,可设计和构造数据流图和数据字典 DataArchitect 用于对概念层和物理层的交互式的数据库设计和构造 AppModeler 用于物理建模和应用对象及数据组件的生成 MetaWorks 用于团队开发,信息共享和模型管理 WarehouseArchitect 用于数据仓库和数据集的建模和实现 Viewer 用于以只读的、图形化方式访问整个企业的模型信息 PowerDesigner的特点有需求管理;文档生成;影响度分析;数据映射;开放性支持;可自定义;企业知识库。 7 3. 系统的分析与设计 分析客
33、观世界的现象,对其建模并将其映射到计算机系统上,这就是系统的分析和设计。本系统采用的是面向对象的分析与设计方法。 面向对象的分析与设计有一个显著的特点,就是每个阶段的表示都采用统一的模型,两者之间没有明确的内容分工和时间界限,从对象的分析、设计到编程平滑的过渡,不存在鸿沟。简言之,设计是对分析的细化和精化的过程。 3.1 需求分析 XX市交警支队现有民警446人,下设8个科(处、室),7个直属单位,管辖11个市(县、区)的交警大队,担负着全市七千多公里的道路,78万辆机动车,76万名驾驶员和286万余辆非机动车的交通管理工作。本系统主要完成XX市交警支队交警人事管理的电子化工作。 3
34、1.1 问题范围 开发一个交警人事管理系统,实现交警支队警员的人事信息电子化管理,查询、更新警员信息更加方便快捷,人事管理工作也由繁杂变得更为具体、直观、合理。科室领导可以在线分配任务,提交和浏览警员的业绩报告。支队警员可以在线浏览公告、查询业绩、申请调班。人事管理人员可以在这个系统上发布公告、管理考勤工资等。 3.1.2 功能需求 本系统面向支队所有警员,和政治处进行交流和调研,对整个交警人事管理业务流程进行分析后,得出结果如图3.1所示。 图 3.1 政治处人事管理工作流程 根据以上可知,本系统主要有以下七个功能模块: (1)人事信息管理模块:主要实现对交警从试用到
35、退休整个过程中所以信息的管理及信息的变动,并且提供多形式和多角度的查询、统计分析方法。 (2) 招聘管理模块:主要功能是招聘信息的管理、招聘过程的详细记录,也可以衔接其他专业网站,进行网上岗位的公布和人才的招聘。 (3)组织管理模块:管理交通管理部门组织结构和变更,以及职位信息及职位间工作关系,进行及时的人员配备;按照组织结构进行人力规划,计算和管理人事成本。 (4) 培训管理模块:主要管理包括培训材料、计划和实施在内的信息。 (5) 考勤管理模块:添加和查询警员的考勤记录、病休假记录等,为警员的升职加薪等提供参考依据。 (6) 薪酬管理模块:管理包括薪酬登记、审核、修改和查询在内的
36、警员薪酬信息。 (7) 其他管理或实用工具模块:一些常用的实用工具或其他管理功能。 通过分析可知,交警人事管理系统可分为两个部分:客户端和后台管理端。其功能模块分别如图3.2、图3.3所示: 图3.2 客户端功能模块图 图3.3 管理后台功能模块图 3.1.3 系统性能需求 交警人事管理系统一般要求满足以下性能需求: (1) 数据精确度 此系统对数据的精确度要求不高,系统可以确保用户数据的正确性与安全性。 (2) 时间特性 因为本系统数据量比较少,所以在数据传输系统运行的时间上完全可以满足用户的需求,用户界面对操作请求的响应时间限制在用户可以接受的范围内。
37、 (3) 适应性 该系统使用的是Visual Studio 2008和Windows XP平台,可以正确地运行所以兼容Windows的软件或操作系统,适应能力与兼容性较好。 (4) 并发数量 在服务器的CPU占用率不超过75%、内存使用率不超过70%的情况下,对系统的并发访问可同时处理200个。 3.1.4 软硬件环境 本系统的软硬件要求如表3.1所示: 表3.1 系统推荐的软硬件环境 服务器端 客户端 CPU P4 2.0及以上 P4 2.0及以上 内存 2G及以上 1G及以上 硬盘 120G及以上 80G及以上 操作系统 Windows 2000
38、/XP/2003/2008 Windows 2000/XP/2003/2008 分辨率 1024×768 1024×768 应用服务器 IIS 6.0 —— 数据库服务器 SQL Server 2000 —— 浏览器 IE6.0及以上版本 IE6.0及以上版本 3.2 确定系统边界 系统内部的所有成分与外界各种事物之间的分界线就是系统边界。分界线以内是系统自身含有的全部对象;边界以外则是与系统进行信息交换的包括人员,设备和外系统等各种参与者在内的所有事物。 交警人事管理系统用于管理涉及警员的人事档案、工作、业绩、奖惩记录等各方面的内容。 3.3 确定参与者
39、 参与者是透过系统边界,在系统之外与系统进行交互的所有事物。包括人员、设备、外系统或其他任何事物。 根据以上需求分析,至少可以确定5个参与者:系统管理员、普通警员、科室领导、人事管理员、财务系统。应该明确每个参与者在系统中的业务活动内容和应完成的功能。 系统管理员完成系统的初始设置,维护系统在运行中出现的问题以及完成备份和还原数据。 普通警员使用本系统进行分派任务信息的查询、新闻公告的浏览、调休及请假申请的提交、个人业绩报告的浏览以及任务总结提交和个人信息更新等工作。 科室领导使用本系统分派任务、查看警员的任务进度、批准警员的调班及请假申请、提交警员的业绩报告等。 人事管理员使用本
40、系统完成发布通知及公告,管理警员人事档案、警员考勤和警员业绩考核,生成及提交工资报表等功能。并将这些信息发送给系统的外部系统——财务系统,进行工资结算。 3.4 确定用例 用例用来描述参与者使用系统的一项功能时所进行的、涵盖了由双方交替执行的一系列动作的交互过程。经过分析,本系统的用例有:管理警员档案信息、管理考勤信息、管理工资信息、安排警员培训、管理科室部门信息、发布通知、查询警员信息、查询调休信息、身份验证等。 3.5 建立静态模型 3.5.1 绘制用例图 用例图是系统的外部行为视图。通过用例图,对系统的行为的了解更加直观,参与者与用例之间的联系也更加明确。绘制用例图第一步
41、是用例描述,现以“查询警员信息”用例作说明: “查询警员信息”用例描述 用例编号:010032 (共有3层用例图结构,每层用2位数字表示,采用6位编号) 用例名:查询警员信息 参与者:普通警员、科室领导、人事管理员 目的:通过输入查询的关键字,可以查询到数据库中符合条件的警员的相关信息。警员可以通过合法验证,获取数据库中的自己的各种信息等。 类型:主要的、基本的 级别:一级 过程描述:1、查询者输入用户名和密码; 2、系统验证用户的合法性; 3、系统通过合法性验证后,查询者输入查询关键字; 4、系统返回符合要求的警员相关信息。 用例建模后得到的人事管理
42、员用例图如图3.4所示: 图3.4 人事管理员用例图 警员用例图如图3.5所示: 图3.5 警员用例图 科室领导也是警员,因此科室领导参与者除了具备警员的操作功能,还有其自身的新功能。科室领导用例图如图3.6所示: 图3.6 科室领导用例图 系统管理员用例图如图3.7所示。 图3.7 系统管理员用例图 3.5.2 绘制类图 系统的静态模型的主要表达图是类图和对象图。发现对象类及类之间的关系,确定它们的静态结构和动态行为是面向对象的最基本和最重要的任务。类图表示了一组类、接口、协同及关系。 类之间需要对相互关系进行定义和描述,来构成一个完整的、有机的静
43、态模型,而这需要通过系统的用例图来发现类,并定义类的属性和操作。类与类之间有泛化、聚合、关联和依赖等几种关系。 定义了对象类之后,就需要分析对象类之间的联系。关系如图3.8所示: 图3.8 参与者类图 通过对系统的功能进行分析,可以得到对象类之间的多种关系,如关联、聚合、泛化、依赖。现以薪酬管理对象为例作说明: “工资”类和“工资级别”类存在关联、“警员”类和“工资”类存在“发放”关联;“警员”类和“考评”类存在“考评”关联等。这些相互关联的类之间是通过消息传递进行联系和协同工作,没有泛化关系。 由此可知,人事管理系统的类图如图3.9所示。 图3.9 交警人事管理系统类
44、图 3.6 建立数据库模型 3.6.1 实体关系模型 客观存在的并可以相互区别的事物叫做实体。例如,在交警支队里警员号可以将一个警员与其他警员区别开。实体可以是抽象的,也可以是现实存在的。 通过需求分析和系统设计可以得到九个实体,分别是:用户实体、警员实体、部门实体、业绩实体、工资实体、警衔实体、考勤记录实体、科室实体和奖惩记录实体。 由以上分析得到的交警人事管理系统的E-R图如图3.10所示。 图3.10 交警人事管理系统E-R图 3.6.2 概念数据模型 Powerdesigner的概念数据模型(Conceptual Data Model,CDM)以实体-关系(
45、E-R)理论为基础,再通过对这种理论不断扩充,建立了概念数据模型。创建CDM第一个应该知道的是模型所描述的业务问题。比如,要存储哪些信息,有哪些与业务相关的实体,怎样进行的业务流程等。在前述的E-R图基础上,可以建立概念数据模型。 图3.11显示了用Powerdesigner设计实体的操作界面: 图3.11 用Powerdesigner设计用户实体 整个交警人事管理系统的CDM见图3.12: 图3.12 用Powerdesigner建立交警人事管理系统CDM 3.6.3 物理数据模型 物理数据设计直接对应着具体的数据库系统,是后台数据库的蓝本。可以直接从概念数据模型转
46、换得到物理数据设计,同时物理数据设计将创建主键和索引,通过概念数据类型映射为相应的物理数据类型。 以目前常用的数十种数据库管理系统(DBMS)理论为基础的Powerdesigner中的物理数据模型(Physical Data Model,PDM),为每一种DBMS都生成了一个扩展名为xdb的定义文件,根据实际需要,用户可也以生成新的DBMS文件。 表3.2列举了CDM与PDM对象的对应关系。 表3.2 CDM与PDM对象的对应关系 CDM对象 PDM对象 Entity(实体) Table(表) Entity Attribute(实体的属性) Table Column(表的
47、列) Primary Identifer(主标识符) Primary Key(主键)或Foreign Key(外键) Secondary Identity(次标识符) Alternate Key(候选键) Relationship(联系) Reference(参照) 图3.13所示的PDM是由CDM自动生成的,本系统选择的DBMS(数据库管理系统)是SQL Server2000.图中显示的属性Integer转化为int, Variable characters(10)转化为varchar(10)等都是与SQL Server2000相对应的。 图3.13 由CDM生成PDM
48、 3.6.4 生成数据库SQL脚本 在数据库中,利用PDM可以为当前的DBMS生成SQL脚本,也可以直接生成数据库对象, Powerdesigner将第一次打开PDM时运行的DBMS作为默认值,生成参数依赖于目标DBMS。在生成数据库之前,也可以选择其他DBMS。本系统选择的目标DBMS是SQL Server 2000。 图3.14显示了以警员信息表为例生成的SQL脚本: 图3.14 生成警员信息表的SQL脚本 整个系统需要的有关数据库表可以利用SQL Server查询分析器生成,其结构如图3.15所示: 图3.15 交警人事管理系统表结构 3.7 建立动态模型:
49、绘制图 在UML中,可以用来表示系统的动态行为模型的有时序图、协作图、状态图和活动图。在系统的分析与设计中主要的用例和对象应该有这些图形,以此印证和修改系统的静态结构,分析系统的相应功能,满足用户对系统的需求,达到系统的预先设计的目标。 3.7.1 绘制时序图 时序图是以时间作为顺序描述系统中各对象通过消息交互的具体过程。时序图可以用来描述场景,详细表示对象与参与者和对象与对象之间的交互。时序图可以清晰地表示对象在其生命周期的某一个时刻的动态行为,因为它以时间为序。一般在单独的一个时序图中只描述一个控制流,若需要,也可以使用分支法。 人事管理人员登录的时序图如图3.16所示: 图
50、3.16 人事管理人员登录时序图 工资发放的时序图如图3.17所示: 图3.17 工资发放时序图 3.7.2 绘制协作图 从空间上描述收发消息的对象的组织结构的模型叫做协作图,它与时序图统称为交互图,两者可以表示相同的语义。协作图用来描述相互合作的对象之间的交互关系和链接关系。用消息来表示对象间的合作情况。图3.18表示的是人事管理员登录的协作图: 图3-18 人事管理员登录的协作图 3.7.3 绘制状态图 描述对象在生命周期处于何种状态、每一种状态的相应的行为以及哪些事件会对对象状态产生改变的模型叫做状态图。一个状态图包括一系列状态、事件及状态之间的变迁,通过它可以






