1、摘 要 随着时代的发展、科学的进步,信息时代已经遍布全球,计算机已广泛地深入各行各业,起着越来越巨大的作用。随着人口的不断增长,管理这些庞大的数据是非常困难的,因为人口的信息是随时变化的,因此必须对人口信息进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储,查询,更新,删除是必不可少的业务。为了能让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有人口信息进行管理,并且准确无误,轻松自如。因此开发一个户籍管理系统软件是当务之急,也是本论文选题的重要意义和研究宗旨。 由于ASP语言的简易,便用简便,服务器空间成本相对较低,并且有Mircosoft的支持,使
2、得很多中小型的WEB系统采用此语言,而面向对象的优势也使得开发应用程序变得非常容易,所以本系统采用Asp语言来编写,开发环境采用Dreamweaver 8.0,数据库采用Access 2007。本文简单介绍了户籍管理系统的用户管理、人口信息查询、增加人口信息、死亡人口信息、更新人口信息的业务流程,结合管理信息系统开发的理念,开发了户籍管理信息系统。关键词:户籍管理;信息管理;Asp;Access 2007ABSTRACTWith the development, scientific progress, the information age has been all over the wor
3、ld, the computer has been widely used in variety of fields, played an increasingly significant role.As the population continue to grow,managing these large data become very difficult, because the population information is subject to change, so must the management of dynamic demographic information,
4、which is a manager for a more complexthings, storage, query, update, delete is essential for business.In order to allow administrators to work from the heavy freed, so that administrators in the use of a software is extremely easy to be able to manage the information of all the population, and accur
5、ate, easier.Therefore, a household registration management system software development is a priority, but also the significance of this thesis topics and research purposes.Because Asp is a simple language, they can be simplely used, relatively low cost of server space, and there Mircosofts support,
6、making many small and medium sized Web system use this language, but also makes the advantages of object-oriented application development much easier, Therefore, this program is writed with Asp language,and I use dreamweaver 8.0 as development environment, Access 2007 as database. This paper briefly
7、 describes the household registration management system user management, population information search, increasing the population information, demographic information of death, updated demographic information business processes, combined with the concept of management information systems development
8、, the development of the household registration management information system.Key words household management;information management;asp;access 2007目 录1 绪论11.1 项目开发背景11.2 项目开发目的11.3 开发平台简介21.3.1 Asp语言的特点21.3.2 Dreamweaver 8.021.3.3 Access 200732 需求分析52.1 需求分析定义52.2 可行性研究52.2.1 技术可行性52.2.2 经济可行性63 系统建
9、模73.1 用例设计73.2 活动建模83.3 类设计93.4 系统部署体系架构94 数据库设计114.1 数据库的概念114.2 功能设计114.2.1 系统功能设计分析114.2.2 主要功能134.3 数据模型设计134.4 数据库设计165 详细设计与实现225.1 具体实现225.2 主窗体235.3 精确查询255.4 增加户员管理275.5 删除户员285.6 修改户籍信息295.7 用户管理306 测 试316.1 性能测试与分析316.2 测试环境316.3 测试方案316.4 测试举例32结束语34参考文献35致 谢36361 绪论随着时代的发展、科学的进步,信息时代已经遍
10、布全球,计算机已广泛地深入各行各业,起着越来越巨大的作用。它运算速度快,体积小,可靠性高,通用性与灵活性强,以及很高的性价比等特点,把人们带入了一个一切都离不开计算机的新时代。21世纪是知识经济时代,计算机网络作为这一时代重要的生产工具,给各个国家带来了巨大的发展机遇。为了在以用户为中心的市场竞争中获胜,各单位必须对不断变化的市场做出快速反应,要把单位各关键应用结合成一体,形成一个坚强的信息共享共同体。国内一些中小型企业为了提高自身的工作效率,以适应市场的需要,都实现了办公自动化(OA)。户籍管理是全国各公安部门管理工作的基础,做好这项工作才能进一步管理好整个社会的治安。以前各部门一直采用手工
11、管理方式,但随着信息时代的到来,随着人口不断的移动,迁入、迁出等给管理带来了不便,不能及时的查询、登记所需的信息,各种数据得不到充分的利用。为了更好的维护社会治安,必须加强管理,积极采用先进的科学技术和管理方法来提高工作效率。实现户籍管理的计算机化,可以简化繁琐的工作模式,提高户籍管理的工作效率.利用计算机中最为友好、最为方便的windows界面进入系统,使用鼠标、键盘轻松的完成数据的录入、浏览、查询和统计的操作。本文介绍的系统就是户籍管理系统,包括登陆界面,户籍管理主界面,开户登记界面,新增人口界面,删除人口界面,修改户籍信息界面,用户管理界面,分别有增、删、查、改的功能,它的建立能够从各方
12、面提高工作的效率。1.1 项目开发背景近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,随着人口的不断增长,户籍管理部门也应得到良好的发展,利用现代化管理工具使其变成半自动化必定会提高其工作效率。1.2 项目开发目的户籍管理系统是针对户籍管理部门而开发的,为其改变人口信息仍需要手动处理和查询,个人的信息在处理中丢失或者不明确等现象而设计的。通过这个户籍管理系统,可以让户籍管理部门提高工作质量和效率,从而达到更快捷、更准确、更方便的目的。1.3 开发平台简介此系统的开发平台是Windows XP,前台使用Asp语言和Dreamweaver 8.0开发工具,后台数据库为Acc
13、ess 2007,调试服务器为黑风迷你Asp服务器。下面对使用的软件做一下简介。1.3.1 Asp语言的特点ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的we
14、b应用程序。 1.3.2 Dreamweaver 8.0Dreamweaver8.0是集网页制作和管理网站于一身的所见即所得网页编辑器,它是针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。(1)最佳的制作效率Dreamweaver可以用最快速的方式将Fireworks,FreeHand,或Photoshop等档案移至网页上。使用检色吸管工具选择荧幕上的颜色可设定最接近的网页安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。Dreamweaver能与您喜爱的设计工具,如Playback Flash,Shockw
15、ave和外挂模组等搭配,不需离开Dreamweaver便可完成,整体运用流程自然顺畅。除此之外,只要单击便可使Dreamweaver自动开启Firework或Photoshop来进行编辑与设定图档的最佳化。(2)网站管理使用网站地图可以快速制作网站雏形、设计、更新和重组网页。改变网页位置或档案名称,Dreamweaver 会自动更新所有连结。使用支援文字、HTML码、HTML属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。(3)无可比拟的控制能力Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含HomeSite和BBE
16、dit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver 支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。所见即所得 Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP,Apache,BroadVision,Cold Fusion,iCAT, Tango与自行发展的应用软体。当您正使用Dreamweaver在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网
17、页。梦幻样版和XML Dreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。您也可以使用样版正确地输入或输出XML内容。 Dreamweaver还集成了程序开发语言,对ASP、.NET、PHP、JS的基本语言和连接操作数据库,都是完全支持的,功能非常强大。1.3.3 Access 2007Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立
18、数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access是一种关系型数据库管理系统,其主要特点如下: (1)存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。 (2)面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成
19、的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 (3)界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 (4)集成环境、处理多种数据信息 Access基于Windows操作系统下的集
20、成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 (5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。2
21、 需求分析2.1 需求分析定义需求分析是软件定义时期的最重要一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须用行之有效的方法对软件需求进行严格的审查验证。本人的需求分析是按图1所示的过程进行:图1 分析过程图2.2 可行性研究2.2.1 技术可行性数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,40多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及I
22、nternet技术的迅速发展,数据库技术成为最热门技术之一。面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和人工智能等。许多程序开发工具,如Delphi、Java等等,都支持面向对象的程序开发。2.2.2 经济可行性系统设计并运行于当前流行的Windows系列操作系统,具有W
23、indows传统的操作风格,对系统没有其它额外的要求。目前工作人员都有操作电脑的能力,通过提供一定的培训,都能够熟练操作管理系统。系统投入使用后,很明显就是提高了户籍管理的工作效率,减轻了劳动量,改善了工作环境,有利于工作人员发挥工作热情。总之,系统具有较好的运营可行性。综上所述,开发一个专门的户籍管理系统是可行的。3 系统建模3.1 用例设计户籍管理系统的权限分为:普通用户与系统管理员两种权限。一是普通用户,该用户只能浏览人口的户籍信息和修改自己的密码,而不能对户籍进行增加、删除、修改的功能;二是管理员,该用户可以完成整个系统的所有功能包括对户籍管理的增、删、查、改和对用户的管理,了解了系统
24、的结构就可以进行系统用例设计了。(1)识别参与者本系统中的参与者有管理员、用户、打印机、以及外部系统。(2)识别用例本系统分为前台用例和后台用例。(3)系统用例图图2 系统前台用例图3 系统后台用例3.2 活动建模对象的行为用状态图和活动图来描述。状态图适合描述跨多个用例的单个对象的行为,活动图用于展现多个对象活动的总次序,可根据具体对象的需要选用图形。这里用活动图分别描述用户与管理员的行为进行分析,如下图所示图4 用户活动图图5 管理员活动图3.3 类设计经过分析,在系统中用到的主要类有4个:系统用户类(User)、户口类、系统管理员类(Administrator)、人口类等,为了方便演示,
25、只列出基础的字段,已省略其它不主要的字段。图6 系统类图3.4 系统部署体系架构(1)经过分析,系统组件图如下:图7 系统组件图(2)完成组件图后,我通过对整个系统的考虑,确立了系统的配置图,如下图所示:图8 系统配置图4 数据库设计4.1 数据库的概念数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数
26、据库技术的要求。它们只是加重了数据库技术的重要性。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。4.2 功能设计4.2.1 系统功能设计分析对应用系统项目的开发,首先要对程序要实现的功能和目标进行整体分析和规划,确保在后期开发中不会出现遗漏或重大缺陷。因此
27、在软件开发中,要严格按照软件工程的流程进行系统的分析和设计。面对一个复杂的系统时,一个比较好的方法是分层次地描绘这个系统。首先用一张高层次的系统流程图描绘系统的总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从具体到抽象的过程逐步深入地了解一个复杂的系统。大体上了解了系统数据的流向和各部分相互之间的关系,经过需求分析的了解和掌握,根据要求和数据流向,数据的流向大致如图9:输入用户名及密码出错信息密码错系统功能主界面正确功能处理系统登录界面登录处理数据库图9 数据的流向图为了更进一步分析系统,下面给出系统功能的大致流程
28、图:系统登录处功能界面数据编辑数据查询数据导入数据导出系统管理人口/户口表明细添加修改删除查询退出分类查询导 入导 出导出报表增加用户删除用户修改密码数据库Access图10 系统流程图4.2.2 主要功能本系统采用自顶向下方法开发,其功能模块主要有如下几个部分:户籍管理模块;用户管理模块;系统管理模块;报表统计模块。具体的功能描述如下:(1)户籍管理模块该模块包括有迁入信息管理、迁出信息管理、注销信息管理,并对以上的信息进行增、删、查、改的功能。(2)用户管理模块此模块包括有查询户号、查询住址、查询和修改户口或人口信息。(3)报表统计模块本模块是为了用户能方便地浏览已有信息的全部内容,即可以
29、一目了然的明白所有收集的户籍信息。(4)系统管理模块此模块是为系统的使用者进行帐户管理的增、删、查、改的功能。下面简单的画出功能模块图:图11 功能模块图4.3 数据模型设计ER模型中,包含“实体”、“联系”和“属性”三个基本成分:实体:实体是客观世界存在的且可相互区分的事物。它可以是人也可以是动物;可以是具体事物也可以是抽象概念。联系:联系是指客观世界中各事物彼此间的联系。联系分为三类:一对一的关系,一对多的关系,多对多的关系。属性:属性是实体或联系所具有的性质,通常一个实体用若干属性来刻画。人们通常就是用实体、联系和属性这三个概念来理解现实问题,因此,ER模型比较接近人的思维方式。此外,E
30、R模型使用简单的图形符号表示系统分析员对问题的理解,不熟悉计算机的人也能理解它,因此,ER模型可以作为用户与系统分析员之间的交流工具。(1)整体ER图图12 整体E-R图(1)常住人口ER图图13 常住人口E-R图(2)暂住人口E-R图图14 暂住人口E-R图(3)车辆管理E-R图图15 车辆管理E-R图4.4 数据库设计户籍管理系统数据库中各个表格的设计结果如下面的几个表示。每个表表示在数据库中的一个数据表。数据源名:hjgl,数据库名:hjgl,共有7个数据表。包括:系统用户表用来存储帐号、密码及权限的记录。(表1)常住人口表用来存储长住人员户籍号、类别、户主姓名及地址。(表2)暂住人口表
31、用来存储暂住人员户籍号、类别、户主姓名及地址。(表3)车辆登记表用来存储各户员的车辆等情况。(表4)表1 系统用户表列名数据类型长度允许空注释用户名Varchar50否用户名用户密码Varchar50否用户密码角色Varchar2否权限表2 常住人口表列名数据类型长度允许空注释户号Int10否主键户别Varchar50否户类别户主姓名Varchar50否用户名曾用名Varchar50否曾用名性别Varchar4否性别民族Varchar50否所属民族联系电话Varchar50否联系电话出生日期Varchar50否出生日期出生地Varchar50否出生地单位Varchar50否工作单位住址Varc
32、har50否住址籍贯Varchar50否籍贯身份证号Varchar50否身份证号婚姻状况Varchar50否婚姻与否何时迁入Varchar50否何时迁入备注Text是备注说明其他Varchar50是其他的字段表3 暂住人口表列名数据类型长度允许空注释户号Int10否主键姓名Varchar50否用户名户主关系Varchar50否与户主关系曾用名Varchar50否曾用名性别Varchar50否性别出生地Varchar50否出生地籍贯Varchar50否籍贯出生日期Varchar50否出生日期其他住址Varchar50否其他住址宗教信仰Varchar50否宗教信仰身份证号Varchar50否身份证
33、号身高Varchar50否身高血型Varchar50否血型续表3列名数据类型长度允许空注释文化程度Varchar50否文化程度婚姻状况Varchar50是婚姻状况兵役状况Varchar50是兵役状况服务处所Varchar50是服务处所职业Varchar50是职业备注Text是备注说明其他Varchar50是其他的字段表4 车辆登记表列名数据类型长度允许空注释车牌号Varchar50否主键车主姓名Varchar50否车主名字车架号Varchar50否车架号发动机号Varchar50否发动机号车主居民证号Varchar50否车主居民证号行车证号Varchar50否行车证号购买日期Varchar50
34、否购买日期驾驶证号Varchar50否驾驶证号驾驶证类型Varchar50否驾驶证类型联系电话Varchar50否联系电话车辆用途Varchar50否车辆用途驾驶人居民证号Varchar50否驾驶人居民证号车辆颜色Varchar50否车辆颜色车牌型号Varchar50否车牌型号车主出生日期Varchar50是车主出生日期车辆性质Varchar50是车辆性质备注Text是备注说明其他Varchar50是其他的字段5 详细设计与实现 5.1 具体实现登陆页面(Welcome)由标签、文本框、密码框以及按钮等控件组成。图15 登陆窗体本系统分为两个入口,一个为前台,一个为后台,分别对应两个权限,即:
35、管理员本系统的管理者,能够进行所有操作,并且可以分配权限。用户名:admin,密码为:admin。普通用户屏蔽了系统的大部分功能,只能进行查看和查找,打印等操作。用户名:user,密码为:123456。输入用户ID、密码,单击“确定”后,如果用户名和密码都正确会提示登陆成功并进入相对应的主页面,否则,提示信息:用户名或密码错误请重新输入。确定按钮代码如下:If request(action)=login Then name=request(name)pwd=request(pwd)If name= Or pwd= Then response.write & chr(13) & alert(输入
36、不得为空); & history.back() & response.EndEnd Ifsql=select * from admin where name=&name& and pwd=&pwd&rs.open sql,conn,1,1If Not rs.eof Then session(name)=namesession(pwd)=pwdsession(id)=rs(id)Response.Redirect usercz.aspElsesession(name)=session(pwd)=session(id)=response.write & chr(13) & alert(错误!);
37、& history.back() & response.End End If End If If request(action)=logout Then session(name)=session(pwd)=session(id)=response.write & chr(13) & alert(您已经退出户籍管理后台,请返回首页!); &window.location.href = index.asp& End If5.2 主窗体主窗体(MainUI)由菜单,标签,文本框等组成。管理员的界面如下:图16 管理员主页面用户的界面如下:图17 用户主页面登陆成功后进入本窗体,根据不同身份会隐藏部
38、分功能,为了更快捷的接受本系统,主窗体设有五个标签显示总体功能。管理员与用户页面不同的相关代码如下: 管理菜单:用户管理 | 增加数据 管理菜单:用户信息 5.3 精确查询精确查询(Select1)由标签、按钮、表格等控件组成,对常住人口与暂住人口分别都有对应的查找页面。常住户员查找:图18 常住查询窗体暂住户员查找:图19 暂住查询窗体精确查询(Select1)由标签、按钮、表格等控件组成。单击查询按钮
39、调用查询方法,相关代码如下:End If If request(action)=seach Then xm=request(xm)sfz=request(sfz)dw=request(dw)If xm Thenseach=xm like %&xm&%seachs=seachs&xm=&xma=1End If If sfz ThenIf a=1 Thenseachs=seachs&sfz=&sfzseach=seach& and sfz like %&sfz&%Elseseach=sfz like %&sfz&%seachs=seachs&sfz=&sfza=1End If End If If
40、dw ThenIf a=1 Thenseach=seach& and dw like %&dw&%seachs=seachs&dw=&dwElseseach=dw like %&dw&%seachs=seachs&dw=&dwa=1End If End If sql=select * from zzdj where &seach&response.write sqlresponse.endrs.open sql,conn,1,1page = CLng(request(page) 利用CLng函数把page值转换为Long型judge=request(judge)judge2=request(j
41、udge2)judge3=0if not (rs.EOF or rs.BOF) Then5.4 增加户员管理增加户员页面(Addpeople)由标签、文本框、按钮、分页面板等控件组成。同样也分为常住户员增加,和暂住户员增加,两者有一些差别。图20 常住户员增加页面图21 暂住户员增加页面当系统管理员,进入主页面后单击增加数据即可进入此页面,通过该页面可以对没有户口的成员进行开户操作。5.5 删除户员删除户员页面(Dele)由标签、文本框、按钮、表格等控件组成。同样分为常住人员和暂住人员,但大体功能相似,现只列出常住人员的截图。图22 删除人物窗体进入主窗体后单击用户管理,就会进入此页面,修改,详细,删除等操作一目了然,该页面首先将所有的户员查询出来显示,也可以使用查找显示要删除的户员,如存在则可以删除,否则无法完成操作。查询按钮代码如下: If request(action)=del ThenIf request(page) Then page=request(page)Elsepage=1End If sql=delete from czdj where cid=&request(id)&conn.execute(sql) respons