中国共产党党员管理信息系统管理系统
中国共产党党员管理系统设计
摘 要
随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。党员管理是现代企事业单位信息管理的重要部分之一,面对大量的党员、党费信息,采用传统处理将浪费大量的时间、人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的党员管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。
本论文针对该系统的各个方面,对开发过程中涉及到的技术和工具都分别进行了阐述。系统功能主要包括四个方面:人员信息管理、组织管理、党费管理、用户信息管理。
本系统采用Visual Basic语言开发而成。作为一种基于对象的可视化编程工具软件,它提供的各种内部及外部(ActiveX)控件,可以帮助我们设计出漂亮的界面,并完成各种功能;同时它提供的数据控件(ADO)可以轻松链接到各种格式的数据库文件,从而实现对数据库的各种操作,本系统采用Microsoft Access 2003作为后台数据库管理系统。
关键词:党员管理 信息管理 组织管理 党费管理
目 录
序 言 . ..................................................... 1
一、 系统概述 . ............................................... 2
(一)系统开发的目的和意义 .................................. 2
(二)开发背景 .............................................. 2
(三)需求分析 .............................................. 3
(四)可行性分析 ............................................ 3
(五)运行环境 .............................................. 4
二、 开发环境 . ............................................... 5
(一)V ISUAL B ASIC 语言 ........................................ 5
(二)A CCESS 数据库 ........................................... 6
三、 系统分析 . ............................................... 8
(一)系统总体构架设计 ...................................... 8
(二)业务流程图 ............................................ 8
(三)数据流程图 ............................................ 9
(四)数据字典 ............................................. 14
1. 数据元素 ............................................. 14
2. 数据结构 ............................................. 15
3. 数据流 ............................................... 16
4. 数据存储 ............................................. 16
5. 处理过程 ............................................. 17
6. 外部实体 ............................................. 18
四、 系统设计 . .............................................. 19
(一)系统功能结构 ......................................... 19
(二)系统代码设计 ......................................... 19
(三)窗体设计 ............................................. 20
(四)输入输出设计 ......................................... 20
1. 输入设计 ............................................. 20
2. 输出设计 ............................................. 22
(五)数据库设计 ........................................... 24
1. 系统E-R 图 ........................................... 24
2. 数据库表设计 ......................................... 25
(六)程序流程图 ........................................... 29
(七)党费的计算 ........................................... 30
五、 系统实现 . .............................................. 31
(一)系统运行图 ........................................... 31
(二)系统测试 ............................................. 33
1. 测试方法 ............................................. 33
2. 测试方案 ............................................. 34
六、 系统维护 . .............................................. 35
七、 结 语 .................................................. 37 参 考 文 献 .................................................. 38 附 录 ...................................................... 39
序 言
党的建设一直是各级党组织非常重视的问题,为了更好的加快信息化进程,加强对党员和党组织实施管理,实现党内日常工作的科学化和管理工作的自动化,提高工作效率,研究和应用计算机信息管理系统,提高组织部门工作效率,以节约人力、物力和时间,成为当前的迫切需要。
而党员管理系统正是通过对党内信息采集、分析处理、查询和灵活输出,实现党内信息日常工作的科学化和管理工作的自动化,优化工作方式,减轻劳动强度,提高效率,以及对领导的分析、决策提供科学的支持和保证。
各个模块通过添加、修改、删除人员和组织信息,预备党员转正,应交党费的计算,将数据回收到数据库表中。
该系统可以满足中小型党组织部门对党内信息的管理需求,具有功能完善、界面友好、操作简单等优点,是各级党组织部门推进党员管理工作的信息化、规范化,提高工作效率的理想助手。
一、 系统概述
(一)系统开发的目的和意义
当今社会为信息社会,世界已进入在计算机信息管理领域中激烈竞争的时代。信息已成为继劳动力、土地、资本之后的又一大资源,谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中,占有一席之地,谁就会更有优势,这一点已得到举世公认。利用计算机进行信息控制和数据处理,不仅提高了工作效率,而且大大的提高了其安全性。
据中央组织部最新党内统计结果显示,截至2005年底,全国党员总数为7080万名,党的基层组织352万个。党员队伍和党组织发展呈现以下特点:发展党员数量增加,年轻党员、女党员、具有大专以上学历的党员比例上升,党员队伍结构进一步改善。入党积极分子队伍进一步壮大。2005年全国入党积极分子959.6万人。党组织在新经济组织、新社会组织、城市街道和乡镇的覆盖面扩大。
党员管理是党组织按照党章和党内的有关规定,通过一定的方式和手段,使党员认真履行义务,正确行使权利的活动。其具体工作主要是:根据党员数量、分布和流动情况,建立党的组织;对党员进行教育、审查和鉴定;严格党员的组织生活,加强监督和整顿纪律;发挥党员的先锋模范作用,表彰优秀党员,清除党内腐败分子,严肃处置不合格党员等。所以建立党员信息管理系统,使党员管理自动化,提高信息处理的速度和准确性十分必要。
对于本党员管理系统,其目的是使基层党组织实现信息的统筹规划,为组织机构的不断扩大作好充分的准备。
(二)开发背景
20世纪是人类文明迅速发展的时代,以INTERNET 席卷全球为标志,人类社会正步入信息社会、网络时代,它带给我们的是先进生产力的快速发展,深刻地影响着社会生活的各个方面。毫不例外,计算机科学技术也将深刻地影响着党建和思想教育工作。党的组织发展工作作为党建工作的重要组成部分,是党建和思想教育工作科学决策和宏观管理的基础性工作,也必将受到计算机技术的深刻影响。特别是胡锦涛总书记提出要在全党开展“保持共产党员先进性”活动,我们首先要利用先进的技术手段来实现对党员的管理,践行胡总书记的指导。
经过调查和研究发现,近些年,一些党组织针对组织机构设立较多,党员人数过多,党员流动过于频繁等问题,开发了解决党组织管理问题的党员管理系统。从中解放出大量人员,节约了大量资源,提高了工作效率。
而目前,关于党员管理系统的开发相对于其他的一些管理系统来说,数量相对比较少。其中针对基层党组织所研究开发的党员信息管理系统更是凤毛麟角。许多基层党组织由于规模较小,资金缺乏,依然采取人工登记,文件管理的方式。但这样的管理方式,使本来资金并不充足的基层党组织,浪费了更多的时间、人力、物力。加上基层党组织人数的不断扩大,这样的管理方式既无法满足当前基层党组织高效率工作的需要,也不适应我党所提出的“保持共产党员先进性”活动的宗旨。
所以,急需开发这样一个系统,来规范基层党支部建设和提高信息化管理水平,满足基层党组织的需求。
相对于传统的党员信息管理方式,党员管理系统针对基层党组织的实际问题,将复杂的人员流动管理分类、分批地进行处理,抛掉了传统的文字登记式管理。而党费管理则可以通过程序化的公式对工资进行计算,直接得出应交党费,这就解决了现行党员管理方式中一些最复杂的问题。
该党员管理系统可以极大地提高基层党组织的灵活性,它能使管理人员从复杂的工作中解脱出来,可以利用节约出来的时间,为基层党组织开展一些有意义的活动。加上党员信息系统中,一些关于党的纪律的知识,会时时刻刻提醒每一位党员管理系统中的党员,如何利用自己权利和义务使自己始终保持共产党员的先进性。
(三)需求分析
通过对基层党组织的调查, 系统需要具有以下基本功能:
∙ 软件要求有良好的人机界面,操作简单,易学易用;
∙ 硬件需求的配置要求不能太高,应较好的适应当前的基层党组织的需求;
∙ 原始数据修改简单方便, 支持多条件修改;
∙ 方便的数据查询,支持多条件查询;
∙ 数据计算自动完成,尽量减少人工干预;
∙ 要有较好的权限管理。
而针对各个部分又有以下要求:
∙ 党员基本信息管理:党员信息删除,党员其他信息随之删除;预备党员预备期满,提示转正。 ∙ 党员流出管理:党员流出登记后,该党员信息和其他信息一并删除。
∙ 党费管理:按照党费计算方法,显示应交党费。
∙ 用户信息管理:至少要有一个用户。
(四)可行性分析
可行性是指在当前组织内外的具体条件下,这个信息系统的开发是否具备必要的资源及其它条件。现对本系统从技术可行性、经济可行性、和社会可行性三方面进行分析:
∙ 技术可行性:该系统对硬件方面要求不高,并且采用VB 这种比较简单普遍的开发工具。由于该系统操作简单,易学易用,对开发、操作、维护人员的要求也不高。因此技术上是可行的。 ∙ 经济可行性:从资金可行性方面来看,由于该系统规模较小,开发所需的费用会很低,不会给基层党组织在资金方面带来压力,并且系统通用性较强,可以多组织共同使用,从而摊薄成本;从经济合理性方面来看,该系统的使用将基本替代人工来完成各项活动,降低了人力、物力、财力的消耗。从以上两方面来看经济上是可行的。
∙ 社会可行性:由于现在很多基层党组织在党员信息管理方面,依然采用的是传统的管理模式,浪费大量人力、物力、财力。所以,该系统的产生可以给基层党组织带来更多先进的管理手段。因
此社会可行性也是可以的。
(五)运行环境
二、 开发环境
(一)Visual Basic语言
Visual Basic 是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows 环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows 的专业开发工具SDK 相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows 内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows 环境下功能强大、图形界面丰富的应用软件系统。
本系统的开发,采用Visual Basic,主要是因为它具有的以下特点:
1. 可视化编程
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic 提供了可视化设计工具,把Windows 界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
2. 面向对象的程序设计
4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic 则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。
3. 结构化程序设计语言
Visual Basic是在BASIC 语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic 语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
Visual Basic 是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic 程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic 环境,直接在Windows 环境下运行。
4. 事件驱动编程机制
Visual Basic 通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
5. 访问数据库
Visual Basic 具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic还能直接编辑和访问其他外部数据库,如dBASE ,FoxPro ,Paradox 等,这些数据库格式都可以用Visual Basic编辑和处理。
Visual Basic提供开放式数据连接,即ODBC 功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server ,Oracle 等。在应用程序中,可以使用结构化查询语言SQL 数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL 的编程技术,为单机上运行的数据库提供了SQL 网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
6. ActiveX 数据对象(ADO)
ADO (ActiveX Data Objects)称为ActiveX 数据对象,是Microsoft 公司开发数据库应用程序面向对象的新接口。ADO 是DAO/RDO的后继产物,它扩展了DAO 和RDO 所使用的对象模型,具有更加简单,更加灵活的操作性能。ADO 在Internet 方案中使用最少的网络流量,并在前端和数据源之间使用最少的层数,提供了轻量、高性能的数据访问接口,可通过ADO Data控件非编程和利用ADO 对象编程来访问各种数据库。
(二)Access 数据库
在VB 编程中通常要与数据库打交道,对于数据量较小的应用,一般选用Access 作为数据库,因为Access 数据库比较简单,功能也比较齐全,数据的备份、拷贝都很方便,且程序发布时不需要额外单独安装其它的数据库管理软件。因此,在功能能够满足要求的条件下,Access 数据库往往成为一些小型数据库软件的首选。
而本系统使用的正是Access 数据库。Access 数据库经过多年的发展,技术已经相当成熟。使用这种成熟的数据库技术,有利于数据库的使用和维护,节约开发成本。Access 数据库和其他数据库相比也有很大的优势,它有四大优点:
1. 平台宽松,性能可靠
作为则Windows 环境下中小型应用系统的开发平台。Access 能够完善的管理各种数据库对象, 具有很高的系统安全性。可方便地生成和操作各种数据库对象,可视性强。同其他office 程序一样,Access 具有处理图形、图像、声音以及其他对象的能力。从而使用户能设计出非常实用的窗体和报表。
2. 发时间短,见效快
Access 能高效、灵活、方便地开发和使用数据库,它的交互式环境和菜单系统很直观,组织有序而结构严谨。此外,我们开发研制的党员信息管理系统还可以随着用户新的需求进一步扩展,并可随时进行修改、补充和完善。
3. 优化数据库性能
对于一个完整的数据库系统,性能的优化是很重要的。Access 提供了多种优化数据库的方法。例如,利用Access 中的表分析器可以对表进行分析,必要时允许将一个大表拆分为多个相关的小表,并定义表之间的关系,以便创建最有效的表设计方案。在维护数据库信息时,允许实施参照完整性,实现级联删除和级联更新。同时利用“性能分析器”来优化数据库的整体性能,从而改进我们的设计工作。
4. 数据库安全性能好
数据库的安全性能好坏直接影响到数据库的广泛应用,Access 提供了下列方法提高数据库的安全性:
(1)
(2)
(3)
象。
建立打开数据库的密码。 建立用户安全机制,控制用户对应用程序中不同对象的访问。 加密数据库,防止未经授权的用户利用磁盘编辑程序或其他实用程序查看数据库及其对
三、 系统分析
(一) 系统总体构架设计
图3-1 系统总体构架设计
(二) 业务流程图
业务处理单位 业务处理过程 收集/统计数据 传递过程 数据/文档
图3-2 图例说明
图3-3 业务流程图
(三) 数据流程图
外部实体 处理
1. 顶层
2. 1层
数据流 数据存储
图3-4 图例说明
图3-5 顶层
图3-6 1层
3. 2层
(1) 人员信息管理
:
图3-7 人员信息管理
(2) 组织机构管理
:
图3-8 组织机构管理
(3) 党费管理
:
图3-9 党费管理
图3-10 系统管理
4. 3层
(1) 入党积极分子管理:
图3-11 入党积极分子管理
图3-12 党员管理
(3) 党员流出管理
:
图3-13 党员流出管理
(4) 党员奖惩管理:
图3-14 党员奖惩管理
(5) 组织机构管理:
图3-15 组织机构管理
(6) 组织生活管理:
图3-16 组织生活管理
(四) 数据字典
1. 数据元素
表3-1 党员编号
表3-2 机构编号
2. 数据结构
表3-3 党员基本信息
表3-4 党员奖惩信息
3. 数据流
表3-5 新增党员信息
表3-6 党费合计
4. 数据存储
表3-7 党费记录
表3-8 党员流出
5. 处理过程
表3-9 生成党员编号
表3-10 修改编号党员转正
6. 外部实体
表3-11 用户
四、 系统设计
(一)系统功能结构
图4-1 系统功能结构
(二)系统代码设计
本系统中的所有代码均为自动生成。 1. 入党积极分子编号 共9位数字:XXXXXX XXX
前6位代表入党积极分子所属的组织机构编号; 后3位代表入党积极分子在所属机构中的位置。 2. 党员编号
共10位,前9位为数字,最后一位为A 或B :XXXXXX XXXA 或XXXXXX XXXB 前6位代表党员所属的组织机构编号; 后3位代表党员在所属组织机构中的位置; A 代表该党员状态为正式党员; B 代表该党员状态为预备党员。
(注:当预备党员预备期满,转正时,编号中最后一位将由A 转成B 。) 3. 组织机构编号 共6位数字:XXX XXX
若该组织机构的级别为1,则前3位代表级别为1的组织机构的个数,后3位为000;
若该组织机构的级别为2,则前3位为所属机构的前3位,后3位代表该组织机构在所属组织机构中的位置。
4. 组织生活编号
共10位,为了与入党积极分子区分,第1位为A ,后9位为数字:AXXXXXX XXX 前6位代表组织活动的组织机构编号;
后3位代表该组织活动在所属组织机构中的位置。
(三)窗体设计
窗体设计时,力求在每一个窗体内实现添加、修改、删除和查询功能。窗体个数不多,但是功能比较全面。对于一些特殊的功能,则做了特殊的功能设计,如预备党员转正,会出现一个窗体,只用来显示所有的预备党员信息。
本系统的查询功能分为精确查询和模糊查询两部分,它们均在同一个窗体内实现。用户根据已有信息选择查询方式进行查找。在精确查询中,只要输入一个字段的内容就可以根据它查找出相应的信息,当然同时输入多字段信息也能得到查找结果,这样查找起来比较方便。而模糊查询是根据用户选择的范围和输入的关键字进行模糊查找。
对于窗体的美化,也是花了大量的心思。登陆界面和主界面的每一个图标,都是用Photoshop 亲手制作,希望达到统一、得体的效果。在主界面中还添加了一些网页的链接,其中是有关党章的知识,用户在使用本系统时,还可以加深对党章的了解。
(四)输入输出设计
1. 输入设计 (1) 登录界面
图4-2 登录界面
(2) 用户管理 更改密码
图4-3 用户管理 图4-4 更改密码
(3) 党员信息管理
图4-5 党员信息管理
(注:记党积极分子管理、党员流出管理、奖惩管理、组织机构管理、组织生活管理与党员信息管理的输入类似)
(4) 党费管理
图4-6 党费管理
2. 输出设计 (1) 党员管理 查询结果:
图4-7 查询结果
(注:记党积极分子管理、党员流出管理、奖惩管理、组织机构管理、组织生活管理与党员信息管理的输出类似)
图4-8 错误提示
转正信息:
图4-9 转正信息
(2) 党费管理 应交党费:
图4-10 应交党费
图4-11 查询结果
(五)数据库设计
1. 系统E-R 图
通过对现实世界概念模型的抽象,确立党员信息管理系统的实体为:党员、入党积极分子、党员流出、奖惩记录、党费记录、组织机构、组织生活和用户。
图4-12 系统E-R 图
实体的关系模式:
党员基本信息表:(编号,机构编号,姓名,性别,出生日期,籍贯,民族,文化程度,职业,工
资,状态,介绍人,入党时间,党内职务,党外职务,流入时间,原机构名称,原机构电话,备注)
入党积极分子:(编号,机构编号,姓名,性别,出生日期,籍贯,民族,文化程度,职业,党外
职务,培养日期,培养人,备注)
党员流出信息:(编号,机构编号,姓名,性别,出生日期,籍贯,民族,文化程度,职业,入党
时间,状态,党内职务,党外职务,流出时间,流出原因,流出地机构,流出地电话,备注)
奖惩记录:(党员编号,奖惩性质,奖惩日期,主要内容,报批单位,报批日期,报批意见,审批
部门,审批日期,审批意见,备注)
党费记录:(党员编号,机构编号,年份,一月,二月,三月,四月,五月,六月,七月,八月,
九月,十月,十一月,十二月,合计)
组织机构:(机构编号,机构名称,机构级别,所属机构编号,联系人,联系电话,备注) 组织生活:(活动编号,组织机构编号,活动名称,负责人,时间,地点,参加人数,未参加人,
内容,备注)
用户信息:(用户名,密码,联系电话,管理员) 2. 数据库表设计 (1) 用户信息
(2) 组织机构信息
(3) 党员基本信息
(4) 入党积极分子信息
(5) 党员流出
(6) 党员奖惩
(7) 党费记录
(8) 组织活动
(六)程序流程图
图4-13 程序流程图
∙ 用户管理包括:用户信息列表、添加用户、修改用户、删除用户
∙ 党员信息管理包括:党员信息的添加、修改、删除、查询和预备转正。其中查询分为精确查询和模糊查询。
∙ 入党积极分子管理包括:入党积极分子的添加、修改、删除和查询。其中查询分为精确查询和模糊查询。
∙ 奖惩管理包括:党员奖惩信息的添加、修改、删除和查询。其中查询分为精确查询和模糊查询。
∙ 党费管理包括:党员交费,党员党费信息的添加、修改和删除、党费总计信息的查询。 ∙ 组织机构设置包括:组织机构的设置、修改、删除和查询。其中查询分为精确查询和模糊查询。
∙ 组织生活管理包括:组织生活的新增、修改、删除和查询。其中查询分为精确查询和模糊查询。
(七)党费的计算
根据实际调查了解到,党费是根据党员工资,按照一定比例计算得出。其计算方法如下: 元以下(含400元) 收取0.5% ~600元(含600元) 收取1%
~800元(含800元) 收取1.5% (4 -1) ~1500元(含1500元) 收取2% 元以上 收取3%
五、 系统实现
(一)系统运行图
(在输入数输出设计中,已给出部分运行图,为了避免重复,这里只罗列部分运行图。)
图5-1 主窗体
图5-2 关于窗体
图5-3 党章
图5-4 组织机构窗体
图5-5 帮助窗体
(二)系统测试
1. 测试方法
无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。在开发毕业设计这种工程型的设计时,面对着错综复杂的问题,主观认识不可能完全符合客观事实。因此,力求在系统测试时发现错误、纠正错误。因为:目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
对于软件测试而言,有黑盒测试和白盒测试。
黑盒测试法把程序看成是一个黑盒子,完全不考虑程序的内部结构和处理过程,黑盒测试在程序接口进行测试,检查程序功能是否按照要求规定正常使用,程序是否能适当地接受输入数据产生正确的输出信息,并且保持外部信息的完整性;而白盒测试是先把程序看成是装在一个透明的盒子里,我们完全了解程序的结构和功能。这种方法按照程序内部的逻辑测试程序,检查程序中的每条通路是否能按照预定的要求正确工作。
针对党员管理系统,采用黑盒法和白盒法相结合的方法,根据程序的具体内容设计测试情况,并编制一些测试程序,上机运行,开展测试工作。
2. 测试方案
六、 系统维护
系统维护是指软件系统交付使用以后,为了改正软件运行错误,或者因满足新的需求而加入新功能的修改软件的过程。要求进行维护的原因主要分为以下五种: 1. 在运行中发现在测试阶段未能发现的潜在软件错误和设计缺陷;
2. 根据实际情况,需要改进系统设计,以增强系统的功能,提高系统的性能;
3. 要求在某环境下已运行的系统能适应特定的硬件、软件、外部设备和通信设备等新的工作环境,或是要求适应已变动的数据或文件;
4. 为使投入运行的系统与其它相关的程序有良好的接口,以利于协同工作; 5. 为使运行系统的应用范围得到必要的扩充。
对系统进行维护的目的是为了纠正软件开发过程未发现的错误,增强,改进和完善软件的功能和性能,以适应软件的发展,延长软件的寿命让其创造更多的价值。
根据以上目的可以把维护活动可以归纳为完善性维护、适应性维护、纠错性维护和预防性维护四类:
1. 完善性维护:在系统漫长的使用过程中,为了满足用户使用过程中对系统提出的新的功能与性能要求,需要对原来的系统的功能进行修改或扩充,这种扩充系统功能,增强系统性能,提高系统运行效率和可维护性而进行的维护活动称为完善性维护。此维护活动工作量较大占整个维护工作的50%。例如:对党员管理系统,在使用中要不断修改党员管理程序,使其增加或删除新的项目,满足新需求;原来系统的查询响应速度较慢,要提高软件的响应速度;改变原来系统的用户界面或增加联机帮助信息;为系统的运行增加监控设施等。此项维护主要采用的策略可以使用功能强、使用方便的工具,采用原型化方法开发等。
2. 适应性维护:适应性维护是为了适应计算机的飞速发展,使系统适应外部新的硬件和软件环境或者数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 发生的变化,而进行修改系统的过程。例如:为现有的某个应用问题实现一个数据库管理系统;对某个指定代码进行修改,如:从3个字符改为4个字符;缩短系统的应答时间,使其达到特定的要求;修改两个程序,使它们可以使用相同的记录结构;修改程序,使其适用于另外的终端。它主要的维护策略是对可能变化的因素进行配置管理,将因环境变化而必须修改的部分局部化,即局限于某些程序模块等。
3. 纠错性维护:系统测试不可能找出一个系统中所有潜伏的错误,所以当系统在特定情况下运行时,这些潜伏的错误可能会暴露出来。对在测试阶段未能发现的,在系统投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程,称为纠错性维护。例如:修正原来程序中并未使开关复原的错误;解决开发时未能测试各种可能条件带来的问题;解决原来程序中遗漏处理文件中最后一个记录的问题。它的主要维护策略是开发过程中采用新技术,利用应用软件包,提高系统结构化程度,进行周期性维护审查等。
4. 预防性维护:预防性维护是为了提高系统的可维护性和可靠性,采用先进的软件工程方法对
需要维护的系统或系统中的某一部分重新进行设计、编制和测试,为以后进一步维护和运行打好基础。也就是系统开发组织选择在最近的将来可能变更的程序,做好变更它们的准备。由于对于该类维护工作必须采用先进的软件工程方法,对需要修改的系统或部分进行设计、编码和测试。例如:预先选定多年留待使用的程序;当前正在成功地使用着的程序;可能在最近的将来要做重大修改或增强的程序。它的维护策略主要是常采用提前实现, 软件重用等技术。
七、 结 语
几个月的辛苦和努力,终于换来了一份满意的党员管理系统。在这次的毕业设计中,首次尝试一个人独立完成一份系统。其中的的艰辛和努力,是我以前所从未经历的。
由于对党员管理的知识了解的非常少,所以,刚开始进行调查研究、资料收集时,只有从最基本的党员管理知识开始着手,通过一点一滴的积累,将党员的构成、党组织的构成进行了深入的分析和理解。最终对党员管理有了系统的了解。
随后,便开始对本次毕业设计的题目——党员管理系统,进行分析和设计。刚开始时,也许自己把党员管理系统想的过于简单,造成之后的设计中屡屡受挫,设计一度停滞不前。但是,在我心中一只有一个想法:要做就把它做到最好。于是,从图书馆查阅系统设计书籍,从网上下载系统设计案例。我告诉自己,没有解决不了的问题,关键在于你想不想解决。最终,经过不懈的努力,问题被各个击破。
该党员管理系统在界面和结构上,看似每个模块都非常类似,其实不然。虽然,每个模块都具有添加、修改、删除和查询功能,但是,其功能的具体实现,是各不相同的。比如,党员的添加和党员的流出,党员的添加根据用户提供的的党员基本信息进行添加;而党员的流出添加时,需判断该党员是否存在,存在才能流出,流出同时还应删除对应的党员基本信息,党费信息,奖惩信息,减少数据库的冗余。再如,党费的查找和入党积极分子的查找,党费的查找是根据输入的信息,查找对应党费合计信息,其中是要对党费进行加和计算的;而入党积极分子的查询是通过入党积极分子的信息进行查找。由于,在设计过程中,为了方便用户对信息的查看,添加、修改、删除和查找放在了同一个窗体之中。窗体的数量虽然减少了,但功能依然非常齐全。
目前的党员信息管理系统还存在一些小的问题,由于时间和能力的限制,未能得到很好的解决。首先,是对于窗体中DataGrid 控件的单击事件,无法做出响应。之前的想法是,单击选中某一条目,在对应的显示窗口显示选中条目的内容。而由于对DataGrid 控件掌握不够熟练,所以未能达到预期效果。然后,是DataGrid 的排序问题,预期效果为表格按照序号进行排序,而实际上表格是按照主键进行排序。最后,也是最大的遗憾,未能在系统中设计添加打印功能。打印功能也是之前设计好的,可是由于党员管理系统功能比较复杂,导致时间上不允许我再添加打印功能,在毕业设计结束之后,我还将对此功能进行添加。
在整个设计过程中,我发现大学四年的学习生活,使我的各个方面的能力都得到了增强。通过四年时间,我掌握了Visual Basic语言、Access 数据库、管理信息系统、数据结构等多方面的理论知识。加上,之前以组为单位的系统设计实践经验,为我这次的设计奠定了坚实的实践基础。所以在此,我要感谢所有的任课老师,包括xx 老师、xx 老师、xx 老师、xx 老师等。没有他们的辛勤工作,就不会有今天的我。
参 考 文 献
[1]邓良松,刘海岩,陆丽娜.软件工程[M].西安:西安电子科技大学出版社,2000.11
[2]刘新民,蔡琼,白康生.Visual Basic 6.0程序设计[M].北京:清华大学出版社,2004.3
[3]邝孔武,邝志云.管理信息系统分析与设计[M]西安:西安电子科技大学出版社,2003.6
[4]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.2
[5]廖信彦.Access 2003入门与提高实用教程[M].北京:中国铁道出版社,2005
[6]夏邦贵,刘凡馨.Visual Basic 6.0 数据库开发经典实例精解[M].北京:机械工业出版社2006,1-311
[7]童爱红.Visual Basic数据库编程[M].北京:清华大学出版,北京交通大学出版社,2004.182-246.
[8]马希荣.Visual Basic 6.0程序设计[M].北京:机械工业出版社,2003-2-14
[9]启明工作室.Visual Basic+Access数据库应用系统开发与实例[M].北京:人民邮电出版社,2005-8-1
[10]马前雪. 文件操作之VB 篇[J].程序春秋,2002,VOL21(12):16-17.
[11]Ivar Jacobson, Grady Booch, James Rumbaugh.The Unified Software Development Process[M] Pearson 1999.1
[12]《党员管理实用手册》编写组. 党员管理实用手册[M].中共中央党校出版社,2002.6.1
附 录
以下为党费登记部分代码:
If Len(strNO) = 0 Then ' 有效性判断
MsgBox "党员编号不能为空!", vbInformation + vbOKOnly, "系统提示:"
TextNO.Text = ""
TextNO.SetFocus
Exit Sub
Else
If Len(strNO) > 10 Then
MsgBox "党员编号不超过10位!", vbInformation + vbOKOnly, "系统提示:"
TextNO.Text = ""
TextNO.SetFocus
Exit Sub
Else
strSqlNO = "select * from 党员基本信息表 where 编号='" & strNO & "'"
Set rsNO = New ADODB.Recordset
rsNO.Open strSqlNO, conn, 3, 3
If rsNO.EOF And rsNO.BOF Then
MsgBox "党员编号不存在, 请重新输入!", vbInformation + vbOKOnly, "系统提示:" TextNO.Text = ""
TextNO.SetFocus
Exit Sub
Else
strOrgNO = rsNO.Fields("机构编号") ' 给控件赋值 strSqlOrg = "select * from 组织机构 where 机构编号='" & strOrgNO & "'"
Set rsOrg = New ADODB.Recordset
rsOrg.Open strSqlOrg, conn, 3, 3
strOrg = rsOrg.Fields("机构名称")
strName = rsNO.Fields("姓名")
End If
End If
End If
If Len(strYear) = 0 Then
MsgBox "年份不能为空!", vbInformation + vbOKOnly, "系统提示:"
TextYear.Text = ""
TextYear.SetFocus
Exit Sub
ElseIf Len(strYear) 4 Then
MsgBox "年份不正确!", vbInformation + vbOKOnly, "系统提示:"
TextYear.Text = ""
TextYear.SetFocus
Exit Sub
ElseIf IsNumeric(strYear) = False Then
MsgBox "年份只能为数字!", vbInformation + vbOKOnly, "系统提示:"
TextYear.Text = ""
TextYear.SetFocus
Exit Sub
ElseIf Len(strMou) = 0 Then
MsgBox "月份不能为空!", vbInformation + vbOKOnly, "系统提示:"
ComboMou.Text = ""
ComboMou.SetFocus
Exit Sub
ElseIf Len(strMou) > 3 Then
MsgBox "月份不超过3个字!", vbInformation + vbOKOnly, "系统提示:"
ComboMou.Text = ""
ComboMou.SetFocus
Exit Sub
End If
For m = 0 To 12
If strMou = ComboMou.List(m) Then
mou = True
Exit For
Else
mou = False
End If
Next m
If mou = False Then
MsgBox "请重新选择月份!", vbInformation + vbOKOnly, "系统提示:"
ComboMou.Text = ""
ComboMou.SetFocus
Exit Sub
End If
strSqlC = "select * from 党费记录 where 党员编号='" & strNO & "'and 机构编号='" & strOrgNO & "'and 年份='" & strYear & "'" ' 判断记录是否存在
Set rsCheck = New ADODB.Recordset
rsCheck.Open strSqlC, conn, 3, 3
If rsCheck.RecordCount = 0 Then ' 不存在 rsCheck.AddNew ' 调用ADDNEW Else
If rsCheck.Fields(ComboMou.Text) "" Then ' 存在
MsgBox "该月党费已交过!", vbInformation + vbOKOnly, "系统提示:" ' 提示 Call clearEdit
TextNO.SetFocus
Exit Sub
End If
End If
rsCheck.Fields("党员编号") = strNO
rsCheck.Fields("机构编号") = strOrgNO
rsCheck.Fields("年份") = strYear
sqlMon = "select * from 党员基本信息表 where 编号='" & strNO & "'" ' 由工资计算应交党费 Set rsMon = New ADODB.Recordset
rsMon.Open sqlMon, conn, 3, 3
strSar = rsMon.Fields("工资")
If strSar > 0 Then
Select Case strSar
Case Is
Case Is
Case Is
Case Is
Case Else
strMoney = strSar * 0.03
End Select
End If
rsCheck.Fields(ComboMou.Text) = strMoney
rsCheck.Fields("合计") = 0 ' 计算合计党费
If rsCheck.Fields("一月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("一月"))
If rsCheck.Fields("二月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("二月"))
If rsCheck.Fields("三月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("三月"))
If rsCheck.Fields("四月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("四月"))
If rsCheck.Fields("五月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("五月"))
If rsCheck.Fields("六月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("六月"))
If rsCheck.Fields("七月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("七月"))
If rsCheck.Fields("八月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("八月"))
If rsCheck.Fields("九月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("九月"))
If rsCheck.Fields("十月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("十月"))
If rsCheck.Fields("十一月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("十一月"))
If rsCheck.Fields("十二月") "" Then rsCheck.Fields("合计") = rsCheck.Fields("合计") + Int(rsCheck.Fields("十二月"))
rsCheck.Update
MsgBox "应交党费为" & strMoney & "元", vbInformation + vbOKOnly, "系统提示:"
AdodcMoney.Refresh
DataGrid1.Refresh
DataGrid1.Columns(0).Visible = False
Call DispValue
Call EditDisable
CommandFirst.Enabled = True CommandBefore.Enabled = True CommandNext.Enabled = True CommandLast.Enabled = True CommandAdd.Enabled = True CommandDelet.Enabled = True CommandFShow.Enabled = True CommandExi.Enabled = True End Sub