




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要本文主要分析公司人事工资管理系统的一些基本功能和组成情况,包括系统的需求分析、系统结构、系统功能模块划分以及系统数据库模式分析等,重点对人事工资管理系统的开发实现进行介绍。 人事工资管理系统是不可缺少的部分,它的内容对于其的决策者和管理者来说都至关重要,所以人事工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。人事工资管理系统的主要任务就是使用计算机,对所有公司成员的人事档案资料进行保存;在需要时进行查找、分类、统计或者增加、修改和删除等操作;可以针对不同的目的,对各种档案资料进行查询。本文重点说明了系统的设计思想、关键技术和解决方案。使用Microsoft公司的SQL Server 2005数据库管理系统进行数据存储;通过使用Microsoft公司的Visual Studio 2008集成开发环境。关键字:人事管理系统;Visual Studio 2008; SQLAbstractThis article analyzes the personnel management system, the more software companies some of the basic functions and composition, including system requirements analysis, system architecture, system functions and system database module division pattern analysis, with emphasis on the personnel management system, the more software companies developing implementation are introduced. The personnel management system, the more software companies is a company, the more an indispensable part of its contents for its decision-makers and managers are crucial to, the personnel management system, the more software companies should be able to provide users with adequate of information and fast query tool. The personnel management system, the more software companies the main task is to use computers for all members of the companys personnel file information stored; to find when, classification, statistics, or add, modify and delete operations; can be for different purposes, for a variety of archives to search. This article highlights the systems design concept, key technologies and solutions. I, the use of Microsofts SQL Server 2005 database management system for data storage; through the use of Microsofts Visual Studio 2008 integrated development environment technology design front-end interface.Key Word: Personnel Management System; Visual Studio 2008 ; SQL。58目 录引 言11 基础知识41.1 Visual Studio介绍41.2 SQL Server数据库介绍52 系统分析72.1 开发背景及意义72.2 可行性研究72.3 功能需求82.3.1 用例分析82.3.2 概念类描述112.3.3 行为描述122.4 性能需求132.4.1 响应时间132.4.2 吞吐量132.4.3 并发用户数142.4.4 资源利用率142.5 环境需求142.5.1 硬件环境142.5.2 软件环境143 系统设计163.1 系统结构设计163.1.1 软件设计的原则163.1.2 系统层次结构173.2 设计阶段类图183.3 数据库设计193.3.1 数据库概念设计193.3.2 数据库逻辑设计203.4 系统详细设计223.4.1 系统登录PAD图223.4.2 档案管理PAD图233.4.3 修改口令PAD图234 系统实现254.1 语言选择原因254.2 软件开发环境284.3 系统功能实现284.3.1 管理员登录284.3.2 档案管理284.3.3 添加员工信息304.3.4 奖罚管理314.3.5 调动管理324.3.6 考勤津贴324.3.7 工资总结335 软件测试355.1 测试计划的制定355.1.1 调试计划的整体目标355.1.2 定义软件测试的标准355.1.3 测试实施策略的制定355.1.4 测试计划的活动的细分355.1.5 测试计划的要点365.2 测试的基础365.2.1 测试的目标365.2.2 白盒测试和黑盒测试375.2.3 测试的准则375.3 测试用例设计385.3.1 等价类测试用例设计385.3.2 边界值测试用例设计395.3.3 功能图法测试用例设计405.4 软件可靠性425.4.1 基本定义425.4.2 估算平均无故障时间的方法435.4.3 MTTF和ASS的估算44结 论45致 谢46参考文献47附 录48附录A Salary Management System48附录B 工资管理系统53附录C 系统使用说明书57沈阳理工大学高等职业技术学院学士学位论文引 言随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。随着我国市场经济的快速发展,人事工资管理系统在企业的日常管理中发挥着越来越重要的作用。人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,方便处理企业内部员工的相关工资信息。另外,为了更方便的查看员工的工资信息,还可以通过水晶报表对工资信息进行打印。随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。随着我国市场经济的快速发展,人事工资管理系统在企业的日常管理中发挥着越来越重要的作用。人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,方便处理企业内部员工的相关工资信息。另外,为了更方便的查看员工的工资信息,还可以通过水晶报表对工资信息进行打印。系统效能,是预期一个系统满足一组特定任务的程度的量度。它是系统综合性能的反映,是系统的整体属性。效能评估,就是要对系统进行综合分析,把系统的各项性能与任务要求综合比较,最终得到表示系统的优劣程度的结果。人事工资管理系统的效能,可以细分为系统的自身效能和应用效能。自身效能是人事工资管理系统本身固有的性能,它体现了系统本身的完备性;应用效能是人事工资管理系统在应用过程中体现的效能,是通过对信息的搜集、传输和处理对平时或战时产生有利作用的程度。在这个信息迅速膨胀,计算机技术以及网络技术飞速发展的社会,计算机在企业管理中的应用也不继得到了普及,利用计算机实现企业人事档案的管理势在必行。计算机在企业管理中的应用越来越受到人们的欢迎。利用计算机来实现对公司员工基本资料等的管理和公司内部之间的信息交流势在必行。这是在现代化的社会中任何公司所要解决的问题,也是公司现代化管理的趋势。信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定工作计划,研究投资策略,都离不开对信息的充分利用。管理信息系统(Management Information System,缩写MIS)是一种“人机系统”,它以特定的模式支持一个组织内各级组织机构之间的通讯,对信息资源进行综合开发,管理和利用,实现对该组织的有效管理。它通过对数据的加工处理,及时为管理与决策分析提供信息。随着公司不断的发展壮大,员工的数量也在不断的增加,随之而来的管理成本也在不断的提高,以及考虑到公司的人事管理现在尚处于传统的人工管理的作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据公司提供的需求,设计此人事管理系统,以帮助该公司达到人事管理办公自动化、节约管理成本、提高该公司人事管理工作效率的目的。人事管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用,界面美观等特点。人事管理系统可以提供丰富的功能,降低人事管理工作的强度,提高其公司人事管理工作的效率,并依靠系统的强大的功能为人事管理的使用创造良好的条件,从而能够适应其公司人事管理的要求,推动其公司人事管理的信息化建设。人事管理的需求,本文就该人事管理系统的设计与实现进行了分析探讨:首先对系统的需求分析做了叙述,然后介绍了系统的设计和实现,最后进行了系统测试。嘉晟公司人事管理系统采用基于客户端/服务端(C/S)模式开发,服务端采用SQL Server2005数据库服务器作为数据处理和存储平台,客户端应用程序采用Visual Stdio.NET 2008集成开发环境中的WPF(Windows Presentation Foundation)技术进行开发,开发语言选用开发环境中C的语言。用户使用客户端应用程序对服务端数据进行操作。现在,已经认识到计算机管理在企业管理中的重要性,这是其公司科学化、正规化管理并能与世界接轨的重要标志。因此,开发这样的人事管理系统是很必要的,下面的各章中将介绍人事管理系统的开发过程和在开发过程中所涉及以及所解决的问题。本文分五章介绍,第一章为基础知识,介绍了系统开发工具的相关知识。第二章为系统分析,主要是对系统的功能需求、性能需求、环境需求进行分析以及系统的可行性分析。第三章为系统设计,根据系统的需求分析,制定相应的设计计划,包括结构设计、数据库设计、界面设计、系统详细设计等。第四章为系统实现,通过需求分析和系统的设计计划,来选择合适的语言及软件卡发环境完成系统功能的实现。第五章为软件测试,对系统进行一系列的测试,包括测试计划的目的、测试的原则、测试用例以及软件的可靠性。1 基础知识1.1 Visual Studio介绍C#(读做 “C sharp”,中文译音暂时没有。专业人士一般读“C sharp”,现在很多非专业一般读“C井”。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。C#是一种安全的、稳定的、简单的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Delphi、Java、VB等。在本文中,笔者将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了C#的出现。然后笔者将介绍C#和它与Java、C、C+的相似之处。其次笔者将讨论一些存在于Java和C#之间的高层次的,和基础的差别。笔者将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是.NET和C#的一个主要战略。目前,C#和.NET还只能以C#语言规则,以及Windows 2000的一个“预览版本”,还有MSDN上迅速增多的文档集子的形式获得(还没有最终定型)。 微软C#语言定义主要是从C和C+继承而来的,而且语言中的许多元素也反映了这一点。C#在设计者从C+继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义)。但它还太不成熟,不可能挤垮Java。C#还需要进化成一种开发者能够接受和采用的语言,而微软当前为它的这种新语言大造声势也是值得注意的。目前大家的反应是:“这是对Java的反击”。 C#更象Java一些,虽然微软在这个问题上保持沉默。这也是意料中的事情,笔者觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C+获得了提高。Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java)。由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话)。C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席Kalpathi S. Suresh指出来的那样,“我发现所有这些都是渐进的。如果C#不存在,我们总能回到Java或C和C+。这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头。我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响”。1.2 SQL Server数据库介绍SQL Server是微软公司开发的一个关系数据库管理系统,以Transact SQL的数据库查询和编程语言。T-SQL 是结构化查询语言SQL的一种,支持ANSI SQL92标准。但说起它的历史,却得从Sybase开始的。SQL Server从20 世纪80年代后期开始开发,最早起源于1987年的Sybase SQL Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把该产品移植到OS/2上。后来Aston-Tate公司退出了该产品的开发,而Microsoft公司、Sybase公司则签署了一项共同开发协议,这两家公司的共同开发结果是发布了用于Windows NT操作系统的SQL Server,1992年,将SQL Server移植到了Windows NT平台上6。在SQL Server 4版本发行以后,Microsoft公司和Sybase公司在SQL Server的开发方面分道扬镳,取消了合同,各自开发自己的SQL Server。Microsoft公司专注于Windows NT平台上的SQL Server开发,而Sybase公司则致力于UNIX平台上的SQL Server的开发。本文中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。SQL Server6.0版是第一个完全由Microsoft公司开发的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接着在1998年又推出了具有巨大变化的7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。又经过两年的努力开发,Microsoft公司于2000年9月布了SQL Server 2000,其中包括企业版、标准版、开发版、个人版四个版本。从SQL Server 7.0到SQL Server 2000的变化是渐进的,没有从6.5到7.0变化那么大,只是在SQL Server 7.0的基础上进行了增强7。数据库技术从60年代末期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用8。数据库通常有两个主要部分:一个是保存物理数据库的文件,一个是应用程序用于访问数据的数据库管理系统 (DBMS) 软件。DBMS 负责维护数据库的结构,包括: 1据库内数据间的关系。2数据存储正确,定义数据间关系的规则未被违反。3系统崩溃的情况下,按照已知的一致性程度恢复所有数据2 系统分析2.1 开发背景及意义随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。本系统就是基于本公司的人事管理而设计的,是对公司的人事资料进行管理,为人事管理人员提供了一套操作简单、使用可靠、界面友好、易于管理和使用的处理工具。本系统对人事各种数据进行统一处理,避免数据存取、数据处理的重复,提高工作效率,减少了系统数据处理的复杂性。本系统不仅使公司人事管理人员从繁重的工作中解脱出来,而且提高了人事管理的效率,提高了人事管理的科学性,方便了用户查询、管理人员进行管理。2.2 可行性研究可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析是项目在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。(1)可行性分析阶段的主要工作包括以下几个方面:新系统目标可行性分析:分析新系统的目标是否符合企业的现状和发展的需要。通过到嘉晟公司调研,其公司要求的目标可行。社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律、政策,是否能够与社会大系统实现良好的对接。开发本系统没有触犯到法律,也能很好地与社会对接。技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。WPF,C#已是微软成熟的技术,所以完全可以开发出来本系统。经济可行性分析经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。嘉晟公司正在快速发展,所以能够支付本系的开发费用。管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。嘉晟公司的管理水平还没有达到现代化的管理水平,所以开发本系统正是其急需的。2.3 功能需求人事工资管理系统主要实现对人事工资信息和操作的管理,系统的用户是负责管理设备的管理人员,系统具有人事管理模块(档案管理、奖罚管理、调动管理、考评管理)、工资管理(考勤津贴、工资总结)、系统管理(部门管理、数据备份)、用户管理(操作员管理、修改口令、更改操作员)等主要功能。2.3.1 用例分析用例图主要用来图示化系统的主事件流程,它主要用来描述需求,即希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,是设计系统分析阶段的起点,设计人员根据需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图图符如表2.1所示。表2.1 uml用例图图符可视化图符名称描述系统用来表示系统边界,所有用例放在系统之中 用例用来表示用例图中的用例 执行者用于描述与系统功能有关的外部实体,可以是用户,也可以是外部系统关联连接执行者和用例通过系统的功能需求分析,可得到系统的执行者为管理员、管理员添加人员和数据库系统,系统的用例为人事管理、工资管理、用户管理、系统管理,系统总体用例图如图2.1所示。图2.1 系统总体用例图人事管理:对公司的基本信息进行管理,包括档案管理、奖罚管理、调动管理、考评管理,人事管理的用例图如图2.2所示。图2.2 人事管理用例图工资管理管理:考勤津贴、工资总结,工资管理的用例图如图2.3所示。图2.3 工资管理用例图用户管理:有操作员管理、更改操作员、修改口令,用户管理的用例图如图2.4所示。图2.4 用户管理用例图系统管理:有部门管理,可以调动部门,系统备份可以把数据库存到电脑。系统管理的用例图如图2.5所示。图2.5 系统管理用例图2.3.2 概念类描述类图是由若干类关联在一起,反映系统或者子系统组成结构的静态图。类图的建模贯穿工程的分析和设计阶段的始终,通常从商务伙伴能够理解的类开始建模,最终往往成为只有开发小组才能够完全理解的类。类图是在面向对象的系统模型中使用得最普遍的图。类图包含了一组类、接口和协作以及其之间的关系。使用类图来为系统的静态视图建模。通常这包括模型化系统的词汇(从系统的词汇表中发现类),模型化协作,或则模型化模式。类图还是一些相关的图的基础,包括组件图、分布图。类图的重要性不仅仅体现在为系统建立可视化的、文档化的结构模型,同样重要的是构建通过正向和反向工程建立执行系统。没有类是单独存在的,类通常和别的类协作,创造比单独工作更大的语义。因此,除了捕获系统的词汇以外,还要将注意力集中到这些类是如何在一起工作的。使用类图来表达这种协作,类图图符如表2.2所示。创建类图最好的起点是用例图,根据上面的用例图很容易确定类及其关联、属性和操作。由上面的用例图得到员工类的方法包含查看员工信息、添加员工信息、修改员工信息、删除员工,属性包含姓名、性别等;员工调动类(属性:调后职位等)、员工调薪类(属性:调后薪资等)、员工考评类(属性:考评成绩等)、员工奖惩类(属性:奖惩原因等)的方法都包含新增、修改、删除、快速查询、高级查询、导出和报表打印等功能,属性包含姓名、部门、职位等,所有可以将它们归为人事信息类;管理员类的方法包含新增用户、修改和删除、修改密码、备份和还原数据库等,属性包含登录名、密码、权限、联系方式等。概念类的类图如图2.6所示。表2.2 类图图符可视化图符名称描述类表示具体的一个类,第一栏为类名,第二栏为类的属性,第三栏为类的方法包一种分组机制,表示一个类图的集合关联表示类的对象间的关系,包括聚集关联和组成关联泛化关系描述类或包的一般元素与特殊元素之间的分类关系图2.6 概念类图2.3.3 行为描述系统的行为是通过对象的动作来描述的,通常可以通过顺序图来描述对象之间如何进行消息的传递。顺序图是一种动态建模方法。一般用于确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。通过观察什么消息被发送给一个对象,以及通过概略的观察运行被调用的方法需要花费多长时间,很快就能了解哪里的设计需要变化,以达到在系统内部平衡负荷的目的,uml顺序图图符如表2.3所示。表2.3 uml顺序图图符可视化图符名称描述带有生命线的对象用于表示顺序图中参与交互的对象激活表示在这个时间段内,对象处于活动状态消息用于表示对象之间传递的消息返回消息用于表示对象之间传递的消息要绘制系统的顺序图首先要了解系统的过程,根据系统类图中的方法可以获得详细的系统过程,系统管理操作顺序图如图2.7所示。2.4 性能需求系统的性能是系统的一种非功能特性,它关注的不是系统是否能够完成特定的功能,而是在完成功能时展示出来的及时性。为了能够客观地度量系统的性能,定义了一系列的性能指标,以便于在不同情况下度量系统的性能。2.4.1 响应时间从用户向系统发出一个作业请求开始,经系统处理后,再给出应答结果的时间称为系统的响应时间。如果要求一个系统的响应时间快,那么计算机CPU的运算速度就应该快,并且通讯线路的传递速率也应该高,如实时系统就是这样。本系统采用C#语言编写对用户本机要求低,响应时间也相对较短,最大为4秒平均为23秒,完全符合需求。2.4.2 吞吐量每秒钟执行的作业数称为系统的吞吐量。系统的吞吐量越大,则说明系统的处理能力越强。系统的吞吐量与系统硬、软件的选择有着直接的关系,如果要求系统具有较大的吞吐量,就应当选择具有较高性能的计算机和网络系统。图2.7 系统管理操作顺序图2.4.3 并发用户数并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。2.4.4 资源利用率资源利用率反映的是在一段时间内资源平均占用的情况。对于数量为1的资源(如CPU),资源利用率可以表示为资源被占用的时间与整段时间的比值;对于数量不为1的资源(如内存),资源利用率可以表示为在该段时间内平均被占用的资源数与总资源数的比值。对于本系统当用户数增加时,系统可以通过提高提高系统的资源利用率来提高吞吐量,但是也不是可以无限增大的,关键原因在于本系统的资源利用率不能无限提高。2.5 环境需求2.5.1 硬件环境服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能的硬件,本系统服务器端的配置如下:处理器:Inter Pentium 4 2.0GHz 或更高内存:2GB硬盘空间:160GB显卡:SVAG显示适配器。2.5.2 软件环境服务器端要求如下:操作系统:Windows 2000 Server数据库:Mircrosoft SQLserver2005开发工具:Microsoft Visual Studio 20053 系统设计3.1 系统结构设计3.1.1 软件设计的原则1、模块化模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。下面五条标准可以评价一种设计方法定义有效的模块系统的能力。(1)模块可分解性如果一种设计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。(2)模块可组装性如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。(3)模块可理解性如果可以把一个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。(4)模块连续性如果对系统需求的微小修改只导致对个别模块,而不是对整个系统的修改,则修改所引起的副作用将最小。(5)模块保护性如果在一个模块内出现异常情况时,它的影响局限在该模块内部,则由错误引起的副作用将最。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。2、抽象人类在实践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方面。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。3、逐步求精逐步求精是人类解决复杂问题时采用的基本技术,是许多软件工程技术的基础。可把逐步求精定义为:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑”。求精实际上是细化过程。要从在高抽象级别定义的功能陈述(或信息描述)开始。求精要求设计者细化原始陈述,随着每个后续求精(细化)步骤的完成而提供越来越多的细节。4、信息隐藏应用模块化原理时,自然会产生的一个问题是:“为了得到最好的一组模块,应该怎样分解软件”。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。3.1.2 系统层次结构HIPO图是IBM公司发明的“层次图加输人/处理/输出图”的英文缩写。它既可以描述软件总的模块层次结构H图(层次图),又可以描述每个模块输入/输出数据/处理功能及模块调用的详细情况IPO图(也称IPO表)。HIPO图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。本系统的最顶层的矩形框代表人事工资管理系统的主控模块,调用下层模块以完成全部管理功能;第二层的每个模块控制完成系统的一个主要功能,如此实现自顶向下逐步求精,系统的H图如图3.1所示。图3.1 系统的H图H图只说明了系统由那些模块组成及其控制层次结构,并未说明模块间的信息传递及模块内部的处理。因此对一些重要模块还必须根据H图绘制具体的IPO表。用户和管理人员可利用IPO表编写、修改和维护程序。IPO表中包含的附加信息主要有系统名称、图的作者,完成的日期,本图描述的模块的名字,模块在层次图中的编号,调用本模块的模块清单,本模块调用的模块的清单、注释以及本模块使用的局部数据元素等。信息查询的上层调用模块为人事管理,没有下层模块可调用,信息查询的IPO表如表3.1所示。表3.1 信息查询的IPO表系统名称:人事工资管理系统设计者:杨凌霄模块名:信息查询日期:2009-10-20模块编号:2.1上层调用模块:人事管理下层被调用的模块:无输入数据:要查询的人事信息输出数据:查询得到的结果处理:根据查询的信息判断库中是否有相应的记录,如果有则显示查询的结果修改信息的上层调用模块为人事管理,没有下层模块可调用,修改信息的IPO表如表3.2所示。表3.2 修改信息的IPO表系统名称:人事工资管理系统设计者:杨凌霄模块名:修改信息日期:2009-10-20模块编号:2.3上层调用模块:工资管理下层被调用的模块:无输入数据:填写要修改的信息输出数据:对数据库的更新结果处理:判断修改信息的合法性,修改成功后显示更新的结果3.2 设计阶段类图在系统分析阶段,已经找出了主要的概念类和类的方法、类间的关系。到了系统设计阶段,需要从软件系统的角度来重新设计类图。分析阶段的类到了设计阶段有的可能变成一组类,有的可能消失。分析阶段的类图主要是用来描述现实世界中的问题;而设计阶段的类图主要是对解决方案进行描述。因此设计阶段的类图描述了软件的系统结构。创建设计类图的过程包括以下几步:1识别设计阶段出现的类,为这些类添加属性和方法。2建立类间关系,最终完成对属性和方法的细节描述。系统设计阶段的类图如图3.2所示。图3.2 系统设计阶段的类图3.3 数据库设计3.3.1 数据库概念设计1.考评管理信息表:用于保存员工考评管理基本信息2.员工档案信息表:用于保存员工档案的详细信息3.员工工资信息表:用于保存员工工资的详细信息4.奖罚管理信息表:用于保存奖罚管理信息5.调动管理信息表:用于保存员工的调动管理信息3.3.2 数据库逻辑设计用户信息表是用来存放管理员的详细信息的数据表,里面存有不同级别的用户,可以在系统中实现不同的功能操作,内容如表3.3所示。表3.3 考评管理信息表字段名类型长度主键否描述IDint4主键系统编号PIDvarchar10否员工编号Pnamevarchar10否员工姓名Pdepvarchar10否员工部门PKpcontentvarchar20否考评内容PKpResultvarchar10否考评结果PKpscoreint4否考评分数PKpPeoplevarchar10否考评人PKkDatedateime8否考评日期员工档案信息表:用于保存员工档案的详细信息,内容如表3.4所示。表3.4 员工档案信息表字段名类型长度主键否描述idint4主键系统编号employeeIDvarchar10否员工编号employeeNamevarchar10否员工姓名employeeSexvarchar2否员工性别employeeDeptvarchar10否员工部门employeeBirthdaydatetime8否员工生日employeeNationvarchar10否员工民族employeeMarriagevarchar10否婚姻状况employeeDutyvarchar10否职务名称employeePhonevarchar11否联系电话employeeAccessiondatetime8否就职日期employeePaydecimal9否基本工资员工工资信息表:用于保存员工工资的详细信息,内容如表3.5所示。表3.5 员工工资信息表字段名类型长度主键否描述IDint4主键系统编号YIDvarchar10否员工编号YNamevarchar10否员工姓名YSexvarchar2否员工性别Ydepvarchar10否员工部门YBasePaydecimal9否基本工资YJintiedecimal9否职务津贴Yjianglidecimal9否奖励金额YFKdecimal9否罚款金额Yquanqindecimal9否全勤奖金Yjiabandecimal9否加班工资Yyingfadecimal9否应发工资Ypaydecimal9否员工工资YMonthvarchar50否工资月份奖罚管理信息表:用于保存奖罚管理信息,内容如表3.6所示。表3.6 奖罚管理信息表字段名类型长度主键否描述idint4主键系统编号UserIDvarchar10否员工编号UserNamevarchar10否员工姓名UserJFvarchar10否奖罚类型UserJFcontentvarchar10否奖罚内容UserJLMoneydecimal9否奖励金额UserFKMoneydecimal9否罚款金额UserJFDatevarchar50否奖罚日期UserCXDatevarchar50否撤销日期调动管理信息表:用于保存员工的调动管理信息,内容如表3.7所示。表3.7 调动管理信息表字段名类型长度主键否备注idint4主键系统编号UIDvarchar10否员工编号UNamevarchar10否员工姓名URemoveDatevarchar10否调动日期UOldDepvarchar10否原部门UNewDepvarchar10否现部门UOldJobvarchar10否原职务UNewJobvarchar10否现职务UOldPaydecimal9否原工资UNewPaydecimal9否现工资UPayExplainvarchar10否工资说明3.4 系统详细设计系统开发人员根据PAD图写出可运行的代码。所以过程设计的结果决定了程序代码的质量。过程设计的任务不是编写代码,是要设计出程序的“蓝图”,在软件的生命周期中,对长期使用的软件来说,人阅读程序的时间可能比写程序的时间要长。故,衡量程序的质量不仅要看它的逻辑是否正确,性能是否能够满足要求,更主要的是看它是否容易阅读。过程设计的目标不仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程是尽可能简明易懂的。PAD 是问题分析图(Problem Analysis Diagram)的英文缩写,它用二维树形结构的图来表示程序的控制流,是一种用结构化程序设计思想表现程序逻辑结构的图形工具,将这种图翻译成程序代码比较容易。3.4.1 系统登录PAD图用户经过登录模块验证成功后可以进行系统,在用户进行人事查询时要输入查询员工的信息,系统对库存中的记录进行遍历,找到后显示给用户否则无查询结果,系统登录的PAD图如图3.6所示。图3.3 系统登录PAD图3.4.2 档案管理PAD图用户进行档案管理操作时,首先要找到要员工的信息,修改、删除、添加等操作,档案管理的PAD图如图3.7所示。图3.4 档案管理PAD图3.4.3 修改口令PAD图用户进行修改口令时,首先要输入原始密码,在输入新的密码,密码验证成功时,则显示修改成功,反之显示错误信息,修改口令PAD图如图3.8所示。图3.5 修改口令PAD图4 系统实现4.1 语言选择原因本系统在实现系统功能时使用的是C#语言。C#语言具有许多先进的特性,也正是因为其有这些特性所以才选择用C#语言来开发本系统,C#的特点如下:一、简洁的语法在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C+中被疯狂使用的操作符(例如:“:”、“-”和“.,”)已经不再出现。C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。C#用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。语法中的冗余是C+中的常见的问题,比如“const”和“#define“、各种各样的字符类型等等。C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。二、精心地面向对象设计也许,从Smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。的确,C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中将进行更为详细的介绍。C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中你很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业康复知识培训课件
- 用电安全与风险评估服务创新创业项目商业计划书
- 法律智能合同管理系统创新创业项目商业计划书
- 智能家居安全监控软件创新创业项目商业计划书
- 考点解析北师大版8年级数学上册期末测试卷附答案详解(突破训练)
- 游泳健身直播教学创新创业项目商业计划书
- 多功能机组操作工技术考核试卷及答案
- 考点攻克自考专业(小学教育)测试卷及参考答案AB卷
- 钢琴调律师知识考核试卷及答案
- 职业卫生知识培训资料课件
- 2025至2030中国纤维素纳米纤维(CNF)行业项目调研及市场前景预测评估报告
- (高清版)T∕CES 243-2023 《构网型储能系统并网技术规范》
- 山东淄博小升初数学真题试卷
- 网约车公司风险管理制度
- 企业丧事慰问管理办法
- 医院智慧管理分级评估标准体系(试行)-全文及附表
- 中国画基础知识课件
- 厨房燃气安全管理办法
- 即时零售配送骑手管理痛点破解报告 2025
- 神经重症患者镇痛镇静治疗中国专家共识解读
- 教科版2025小学二年级科学教学发展规划计划
评论
0/150
提交评论