1、毕业设计(论文)论文题目 考勤管理系统 70 摘 要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工考勤管理是企业信息管理的重要部分面对大量的人事工资信息,采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的员工考勤管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。本项目开发过程中,主要进行的工作是需求分析、概要设计、详细设计、项目应用的前期准备包括培训、硬件配置等。软件采用基本对话框界面,能满足中小型企业员工考勤管理的基本需要。本论文针对该软件的各个方面, 开发过程中涉及到的技术和工具都分别进
2、行了阐述。根据以上分析本系统主要模块如下:1 登录窗口模块,2主窗口模块, 3 添加出勤记录模块,4 加班记录模块,5请假记录模块,6出差记录模块,7月度出勤情况表模块。总之,本次设计工作是一次理论联系实际的过程。对我本人来说不仅是一次难得的学习机会,而且通过实践使我深刻地了解了这些抽象概念的实质,为我将来的工作奠定了扎实地基础。关键词:考勤、系统、信息AbstractAlong with computer popularization and computer science technology rapid development, the people start to use the
3、computer solution actual problem more and more many. The staff checks attendance the management is the enterprise information management important part facing the massive human affairs wages information, will use manpower processing to waste the massive time, the manpower and the physical resource,
4、also the data accuracy will be low. Therefore, develops a contact surface to be friendly, easy to operate the staff checks attendance the management software to carry on automated processing to become extremely important, this is precisely this system development goal and the significance.In this pr
5、oject performance history, mainly carries on the work is the demand analysis, the outline design, the detailed design, the project application earlier period preparation including training, the hardware disposition and so on. The software uses the basic dialog box contact surface, can satisfy the sm
6、all and medium-sized enterprise staffs to check attendance the management basic need. Present paper in view of this software each aspect, In the performance history involves the technology and the tool separately have all carried on the elaboration. According to above analyzes this system main modul
7、e to be as follows: 1 registers the window module, 2 main window modules, 3 increase going out on duty record module, 4 working overtime record module, 5 asks for leave the recording module, 6 business trip record module, in July going out on duty situation table module.In brief, this design work is
8、 a apply theory to reality process. Not only to me is a rare study opportunity, moreover made me through the practice to understand profoundly these abstract concept essence, future the work has laid solidly the foundation for me.Key word: Checking attendance, system, information1论 绪11.1应用背景11.2 开发工
9、具的选择11.2.1 Visual C+ 6.0简介11.2.2使用Visual C+编程的理由21.2.3 面向对象的应用服务层设计21.3论文的工作介绍32 数据库技术概论42.1 数据库技术的介绍42.2 数据库发展及阶段特点42.3数据库加密技术的运用62.4数据库理论基础62.4.1 数据库模型62.4.2 数据库体系结构82.4.3 数据的独立性92.4.4 范式102.5数据库设计原则112.6数据库设计的基本方法112.7 Access 数据库技术的选择123 系统总体设计143.1系统需求分析143.2系统概要设计153.2.1 系统结构设计153.2.2 数据库设计173.
10、3 系统详细设计244 系统应用程序设计264.1 系统程序框架的组成264.2 登录认证对话框的实现274.3 主对话框窗体功能的实现284.4上班时间设置窗体功能的实现294.5考勤修改窗体功能的实现304.6添假出勤记录属性页的实现314.7加班记录属性页功能的实现324.8请假和出差属性页功能的实现334.9考勤统计模块功能的实现355 系统开发总结365.1结束语365.2参考文献365.3致谢366附录381 绪论1.1应用背景随着经济的发展,企业的规模不断扩大,人员流动日趋频繁,人员出入考勤管理的工作量也随之增加,以往的人工处理方式对于员工很多的企业来说就显得力不从心,利用现代计
11、算机技术可使考勤人员管理从繁重的劳动中解脱出来,特别是对于人员出勤档案的查询可做到更及时,更准确。方便员工的出勤统计情况等各方面的工作。考勤制度是每个企业单位所必需的,计算机的出现使员工出勤情况的记录和统计工作变的十分简单。通过开发一个企业企业员工管理系统,可使企业员工的出勤管理工作系统化,规范化和自动化,从而达到全面提高企业员工考勤管理效率的目的。1.2 开发工具的选择本系统是在VC6.0开发环境下,采用Dialog based的应用程序框架。由一个主对话框和若干个功能对话框组成。系统采用microsoft office中的Access 2000来设计数据库,再连接数据源。1.2.1 Vis
12、ual C+ 6.0简介 Visual C+ 6.0是Microsoft公司开发的基于C/C+的集成开发工具,它是Visual Studio中功能最为强大、代码效率最高的开发工具。 Visual C+ 6.0与以前的版本相比有了多方面的改进。它的编译器、调试器、连接器、编辑器、资源编辑器都有所加强,在编辑器中还提供了自动语句生成功能,编辑器会像Visual Basic一样自动提示函数的参数、对象的成员。另外,Visual C+ 6.0还提供了很多向导。MFC提供了一些新的类,提供了更强大的数据访问功能。 用户可利用Visual C+ 6.0以两种方式编写Win32应用程序,一种方式是基于Win
13、dows API的C编程方式,另一种是基于MFC的C+编程方式。C编程方式是传统的、久经考验的编程方式,代码的效率较高,但开发难度与开发的工作量大。C+编程方式代码运行效率相对较低,但开发难度小、开发工作量小、源代码效率高。C编程方式的用户己经很少,本书将以C+编程方式向用户介绍利用Visual C+ 6.0的程序设计。1.2.2使用Visual C+编程的理由Visual C+ 的集成开发环境提供了一个快速的框架,很大地提高了编程效率,但是,要真正掌握Visual C+ 6.0,还必须对C/C+语言编程有深入地了解,理解MFC库和Windows下的编程方法.在Windows下编程,通常是调用
14、Windows API得以实现. Visual C+ 6.0将大量地Windows API 以C+格式进行封装,通MPFC方式提供给开发人员,大大简化了开发人员地编程工作,提供了工作效率.因而,要学好Visual C+ ,MFC地掌握是关键.Visual C+ 6.0中,我们可以使用MFC完成大多熟地工作,也可以直接调用Windows API完成一些底层地开发.用Visual C+ 6.0开发的程序代码简练,运行速度快.Visual C+ 6.0中,提供了两个功能强大的编程工具:AppWizard和ClassWizard.利用Visual C+ 6.0的AppWizard可以在很短的时间内创建
15、出Windows应用程序的框架;二ClassWizard,则可以在应用程序框架之上迅速增加新的类,成员变量与函数,使Windows编程得以快速实现,两者结合,让Windows下的编程变得非常简单.1.2.3 面向对象的应用服务层设计N层的应用软件系统,由于其众多的优点,已经成为典型的软件系统架构,也已经为广大开发人员所熟知。在一个典型的三层应用软件系统中,应用系统通常被划分成以下三个层次:数据库层、应用服务层和用户界面层。如下图所示: 本系统也是采用三层应用服务设计,分别是数据库层、应用服务层和用户界面层,分三层逐步展开详细的设计。1.3论文的工作介绍绪论部分介绍了本系统的应用背景以及对数据库
16、开发工具的选择。第二章介绍了数据库的发展,关系数据库,数据库体系结构,Access 技术的选择等为设计和理解应用程序做了铺垫。第三章是本文的主体,按照软件工程的要求,从需求分析开始,经过概要设计最后到详细设计,完成对整个系统的设计。第四章根据第三章的设计结果利用Access 2000和Visual C+6.0进行了具体的窗体和应用程序设计。总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向2 数据库技术概论2.1 数据库技术的介绍数据库技术是目前IT行业中发展最快的领域之一,已经被广泛应用于各种类型的数据处理系统之中。了解并掌握数据库知识已经成为各类科技人员和管理人员的基本
17、要求。数据库技术是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。数据管理是指对数据的组织、编码、分类、存储、检索和维护。它是数据处理的中心问题。数据管理方法根据数据管理的特点,其发展可划分为三个阶段:人工管理阶段、文件管理阶段和数据库系统阶段。一个完整的数据库系统是由计算机软硬件系统、数据库、数据库管理系统、应用程序和数据库管理员五个方面组成,其核心是数据库管理系统(DBMS)。2.2 数据库发展及阶段特点20世纪70年代关系模型提出后,由于其突出的优点,迅速被商用数据库系统所采用。据统计,70年代以来新发展的DBMS系统中,近百分之九十是采用关系数据模型,
18、其中涌现出了许多性能优良的商品化关系数据库管理系统。例如,小型数据库系统Foxpro, ACCESS, PARADOX等,大型数据库系统DB2, INGRES, ORACLE, INFORMIX, SYBASE, SQL SERVER等。80年代和90年代是RDBMS产品发展和竞争的时代。各种产品经历了从集中到分布,从单机环境到网络环境,从支持信息管理到联机事务处理(OLTP),再到联机分析处理(OLAP)的发展过程;对关系模型的支持也逐步完善;系统的功能不断增强。1、 对关系模型的支持 第一阶段(70年代)的RDBMS仅支持关系数据结构和基本的关系操作(选择、投影、连接)。例如:DBASE之
19、流。第二阶段(80年代),对关系操作的支持已经比较完善,但是对数据完整性的支持仍然较差。此时,SQL语言已经成为关系数据库的标准,各家对SQL标准的支持还都是不存的(几乎全不是超水平发挥)。 第三阶段(90年代)的产品,加强了数据完成性和安全性的性能。完整性的控制在核心层实现,克服了在工具曾的完整性可能存在“旁路”的弊病。2、 运行环境 第一阶段在大型、中性、小型机上运行的RDBMS一般为多用户系统,用户通过终端并发地存取、共享数据资源。微机上的一般为单用户版本。 第二阶段的产品向两个方发展。一个是提高可移植性,使之能在多种硬件平台和操作系统下工作。另一个方向是数据库联网,向分布是系统发展,支
20、持多种网络协议。 第三阶段的产品追求开放性,满足可移植性、可连接性、可伸缩性。3、 系统构成 早期的产品主要提供数据定义、数据存取、数据控制等基本的操作和数据存储组织、并发控制、安全性完整性检查、系统恢复、数据库的重新组织和重新构造等基本功能。这些成为RDBMS的核心功能。 第二阶段的产品以数据管理的基本功能为核心,着力开发外围软件系统,比如FORMS表格生成系统、REPORTS报表系统、MENUS菜单生成系统等。这些外围工具软件,就是所谓的第四代应用开发环境,他们大大提高了数据库应用开发的效率。4、 对应用的支持 RDBMS的第一代产品主要用于信息管理领域。这些应用对联机速度的要求不是很高。
21、 第二阶段的主要应用领域转移到了联机事务处理上,提高事务吞吐量,提高事务联机相应性能是各个商家的重点问题。相对应的关键实现技术是:性能,提高RDBMS对联机事务响应速度;可靠性。由于联机事务不允许RDBMS间断运行,在发生故障、软硬件故障时均能有相应的恢复能力,保证联机事务的正常运行、撤销和恢复。保证数据的完整性和移植性。 第三阶段的热点是联机分析处理。用户希望数据库系统不仅能够迅速、完美地完成数据处理的任务;而且,希望它能有一定的辅助决策的能力。2.3数据库加密技术的运用随着网络技术的发展,网络安全也就成为当今网络社会的焦点问题,加密技术就是适应了网络安全的需要而应运产生的,数据加密作为实现
22、网络安全的关键技术之一,它为我们进行一般的电子商务活动提供了安全保障。数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。而本系统为考勤管理系统,为了不使无关人员随意进入系统,只要是采用在登陆的对回话框CLoginDlg中设置用考勤员和密码来保护系统的安全,其做法是在登陆对话框中的登陆按钮OnOK()函数中调用加密类CCryp 的加密函数Encrypt 来进行加密的。2.4数
23、据库理论基础2.4.1 数据库模型从20世纪50年代中期开始,计算机的应用由科学研究部门逐步扩展到企业、行政部门。至60年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于60年代末。现已形成相当规模的理论体系和实用技术。模型是对现实世界的抽象。在数据库技术中,我们用模型的概念描述数据库的结构与语义,对现实世界进行抽象,表示实体类型及实体间联系的模型称为“数据模型” 。 目前广泛作用的数据模型可分为两种类型。一种是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型” 。要领
24、模型用于建立信息世界的数据模型,强调其语义表达功能,应该概念简单、清晰,易于用户理解,它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。这一其中著名的模型是“实体联系模型” 。另一种数据模型是直接面向数据库的逻辑结构,它是现实世界的第二层抽象。 这类模型涉及到计算机系统和数据库管理系统,又称为“结构数据模型” 。例如,层次、网状、关系、面向对象等模型。这类模型有严格的形式化定义,以便于在计算机系统中实现。(1)层次模型。用树型结构表示实体类型及实体间联系的数据模型。树的结点是记录类型,每个非根结点有且只有一个父结点。上一层记录类型和下一层记录类型间联系是1n联系。层次模型的特
25、点是记录之间的联系通过指针实现,查询效率较高。但层次模型有两个缺点:一是只能表示1n联系,虽然有多种辅助手段实现了mn联系,但都较复杂,用户不易掌握,二是由于树型结构层次顺序的严格和复杂,引起数据的查询和更新操作也很复杂,因此,编写应用程序也很复杂。(2)网状模型。用有向图结构表示实体类型及实体间联系的数据模型。1969年dbtg报告提出的数据模型是网状模型的主要代表。有向图中的结点是记录类型,有向边表示从箭尾一端的记录类型到箭头一端的记录类型间联系是1n联系。网状模型的特点:记录之间联系通过指针实现,mn联系也容易实现(每个mn联系可拆成两个1n联系),查询效率较高。网状模型的缺点是编写应用
26、程序比较复杂,程序员必须熟悉数据库的逻辑结构。由于层次系统和网状系统的应用程序编制比较复杂,因此,从20世纪80年代中期起,其市场已被关系系统所取代。但是使用这两种模型建立起的许多数据库仍然在正常运转,只是在外层加了个关系数据库语言的接口。网状模型有许多成功的产品,20世纪70年代的产品大部分网状系统,例如,honeywell公司的ids/、hp公司的image/3000、burroughs公司的dms、umivac公司的dms1100、cullinet公司的idms、cimcom公司的total等(3)关系模型。关系模型的主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干
27、个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。sql语言是关系数据库的标准化语言,已得到了广泛的应用。20世纪70年代对关系数据库的研究主要集中在理论和实验系统的开发方面。80年代初才形成产品,但很快得到广泛的应用和普及,并最终取代了层次、网状数据库产品。现在市场上典型的关系dbms产品有db2、oracle、sybase、informix和微机型产品foxpro、access等。关系模型和网
28、状、层次模型的最大区别是:关系模型用表格数据而不是通过指针链来表示和实现实体间联系。关系模型的数据结构简单、易懂。只需用简单的查询语句就可对数据库进行操作。关系模型是数学化的模型,可把表格看成一个集合,因此集合论、数理逻辑等知识可引入到关系模型中来。关系模型已是一个成熟的有前途的模型,已得到广泛应用。(4)面向对象模型。目前,关系数据库的使用已相当普遍,但是,现实世界中仍然存在着许多含有复杂数据结构的应用领域,例如,cad数据、图形数据等,而关系模型在这方面的处理能力就显得力不从心。因此,人们需要更高级的数据库技术来表达这类信息。面向对象的概念最早出现在程序设计语言中,随后迅速渗透到计算机领域
29、的每一个分支。面向对象数据库是面向对象概念与数据库技术相结合的产物。面向对象模型能完整地描述现实世界的数据结构,具有丰富的表达能力,但模型相对较复杂,涉及的知识面也广,因此面向对象数据库尚未达到关系数据库那样的普及程度。2.4.2 数据库体系结构数据库的体系结构分三级:内部级(internal),概念级(conceptual)和外部级(external)。这个三级结构有时也称为“三级模式结构”,或“数据抽象的三个级别”,最早是在1971年通过的dbtg报告中提出,后来收入在1975年的美国ansi/sparc报告中。虽然现在dbms的产品多种多样,在不同的操作系统支持下工作,但是大多数系统在总
30、的体系结构上都具有三级模式的结构特征。从某个角度看到的数据特性称为“数据视图”(data view)。外部级最接近用户,是单个用户所能看到的数据特性。单个用户使用的数据视图的描述称为“外模式”。概念级涉及到所有用户的数据定义,是全局的数据视图。全局数据视图的描述称为“概念模式”。内部级最接近于物理存储设备,涉及到实际数据存储的结构。物理存储数据视图的描述称为“内模式”。数据库的三级模式结构是数据的三个抽象级别。它把数据的具体组织留给dbms去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。三级结构之间往往差别很大,为了实现这三个抽象级别的联系和
31、转换,dbms在三级结构之间提供两个层次的映象(mappings):外模式/模式映象,模式/内模式映象。此处模式是概念模式的简称。2.4.3 数据的独立性由于数据库系统采用三级模式结构,因此系统具有数据独立性的特点。在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两级。(1)物理数据独立性如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相当的修改,使概念模式尽可能保持不变。也就是对内模式的修改尽量不影响概念模式,当然,对于外模式和应用程序的影响更小,这样,我们称数据库达到了物理数据独
32、立性。(2)逻辑数据独立性如果数据库的概念模式要进行修改,譬如增加记录类型或增加数据项,那么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。也就是对概念模式的修改尽量不影响外模式和应用程序,这样,我们称数据库达到了逻辑数据独立性。现有关系系统产品均提供了较高的物理独立性,而对逻辑独立性的支持尚有欠缺,例如,对外模式的数据更新受到限制等。2.4.4 范式建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立db的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就
33、是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同
34、合同记录的同一属性数据)。 表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。 在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,依此类推。第一范式(fir
35、st normal form,简称1st nf)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st nf实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1st nf。 第二范式(second normal form,简称 2nd nf)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。例如,在图l9.7中如果我们将合同号定义为主关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道了一个合同记
36、录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种关系为函数依赖(functional dependence)关系。即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。第三范式(third normal form,简称 3rd nf)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd nf的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽
37、量按关系规范化要求进行数据库设计。2.5数据库设计原则一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低就回对系统设计带来麻烦,所以数据库设计要按一定的严谨的原则进行。2.6数据库设计的基本方法数据库设计是建立数据库及其应用系统的核心和基础,它要求对于指定的应用环境,构造出较优的数据库模式,
38、建立起数据库应用系统,并使系统能有效地存储数据,满足用户的各种应用需求。一般按照规范化的设计方法,常将数据库设计分为若干阶段:系统规划阶段主要是确定系统的名称、范围;确定系统开发的目标功能和性能;确定系统所需的资源;估计系统开发的成本;确定系统实施计划及进度;分析估算系统可能达到的效益;确定系统设计的原则和技术路线等。对分布式数据库系统,还应分析用户环境及网络条件,以选择和建立系统的网络结构。需求分析阶段要在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。通过对组织、部门、企业等进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持
39、系统目标的基础数据及其处理方法。概念设计阶段要产生反映企业各组织信息需求的数据库概念结构,即概念模型。概念模型必须具备丰富的语义表达能力、易于交流和理解、易于变动、易于向各种数据模型转换、易于从概念模型导出与DBMS有关的逻辑模型等特点。逻辑设计阶段除了要把ER图的实体和联系类型,转换成选定的DBMS支持的数据类型,还要设计子模式并对模式进行评价,最后为了使模式适应信息的不同表示,需要优化模式。物理设计阶段的主要任务是对数据库中数据在物理设备上的存放结构和存取方法进行设计。数据库物理结构依赖于给定的计算机系统,而且与具体选用的DBMS密切相关。物理设计常常包括某些操作约束,如响应时间与存储要求
40、等。系统实施阶段主要分为建立实际的数据库结构;装入试验数据对应用程序进行测试;装入实际数据建立实际数据库三个步骤。另外,在数据库的设计过程中还包括一些其他设计,如数据库的安全性、完整性、一致性和可恢复性等方面的设计,不过,这些设计总是以牺牲效率为代价的,设计人员的任务就是要在效率和尽可能多的功能之间进行合理的权衡。2.7 Access 数据库技术的选择在办公软件Office套件中,最为广大用户熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和家庭记帐理财等。同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少
41、些,不像Word和Excel那样广泛。Access 数据库管理系统是Microsoft Office 套件的重要组成部分,是Access的最新版本,可在Windows 环境下运行。Access适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。本考勤管理系统也正是利用Access的特点建立数据库。数据库是有结构的数据集合,它与一般的数据文件不同,Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记
42、录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。 Access 数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。 表(Table) 表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。 查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。 窗体(Form)窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表
43、的内容。窗体也称表单。 报表(Report)报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。 宏(Macro)宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。 模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。 Access 可以方便地利用各种数据源,包括dBASE, FoxBase,FoxPro,Excel,Word 等。Access 增加了数据库访问的安全机制,可对表一级设置访问许可权。Access 还可以方便地利用Fox
44、Pro数据库、Excel电子表格的数据,还可以和Word混合使用,打印通用信函或信封。3 系统总体设计软件系统的总体设计大约要经历可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试以及维护等七个阶段。可行性分析和项目开发计划在前面已经叙述,下面所要做的是进行软件需求分析,概要设计和详细设计。编码过程将在下一节论述,而测试和维护过程不在本文叙及.3.1系统需求分析在经过前一阶段的分析之后,我确定了我的开发课题为企业员工考勤管理系统。现在所要做的是要准确定义系统必须做什么以及系统必须具备的功能。软件需求分析中我采用结构化分析方法(structured analysis,简称sa),
45、sa是面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、idef方法等等)一样,sa也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。在系统中我采用数据流图(dfd)这种半形式化的描述方式表达需求。它是一种功能模型,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。它有四种基本图形符号: :箭头,表示数据流; :圆或椭圆,表示加工; :双杠,表示数据存储; :方框,表示数据的源点或终点。,顶层流图仅包含一个员工,它代表被开发系统,它的输入流是该系统的输入数据了,输出流是该系统的
46、输出数据;底层流图是指其加工不需要再做分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步操作可能继续细化成子图。出勤的原始记录主要来源于考勤机,并且以固定格式保存在数据库中。考勤管理系统的任务是如何处理这些数据.系统的数据流程如下:通过以上的数据流图之后,我们已大体地了解了系统的功能和目标,接下来所要做的就是系统功能模块的划分和数据库的设计,也就是系统的概要设计。3.2系统概要设计在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,我们需要描述的是系统的总的
47、体系结构。3.2.1 系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统的概要设计中我采用结构化设计(structure design,简称sd),sd以需求分析阶段产生的数据流图dfd为基础,按一定的步骤映射成软件结构。我首先将整个系统化分为几个小问题,小模块,在系统中,我设计了上下班时间设置、出勤记录管理、和考勤统计管理3个小模块。然后,进一步细分模块,添加细节。比如,出勤记录管理我又将其分为添加修改出勤管理、加班管理、请假管理;出差管理(即是代理出勤管理)等等
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100