中国行政区划信息管理系统详细设计说明书.docx
《中国行政区划信息管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《中国行政区划信息管理系统详细设计说明书.docx(48页珍藏版)》请在冰豆网上搜索。
中国行政区划信息管理系统详细设计说明书
1引言
1.1编写目的
随着城市化发展的需要、交通通讯条件的进步以及政府职能的转变,中国行政区划也做出了相应的调整。
为了方便查询区划信息,录入、修改中国行政区划调整信息;以及方便查询、校验的合法性;故开发一个中国行政区划信息管理系统就显得非常必要。
本信息管理系统的读者对象为:
●信息管理员(掌握通过网页形式对信息进行录入、修改、删除)
●普通用户(一般的用户)
●本需求说明书地读者为:
中国行政区划信息管理人员,以及项目设计和开发人员。
目的是为了让客户和开发人员清晰了解本软件的需求情况
1.2背景
a.软件系统的名称:
中国行政区划信息管理系统(CPDIMS)
b.任务开发者:
卢正楠
c.用户:
需要使用中国区划信息的所有用户
d.将运行该软件的计算站(中心):
pc。
1.3定义
CPDIMS:
中国行政区划信息管理系统
IMS:
信息管理系统
DATAPROCESSING:
数据处理
TRANSACTIONPROCESSING:
事务处理
DATAPROCESSINGCYCLE:
数据处理流程
DATAACQUISITION:
数据采集
DATAPROCESSINGSTSTEMSECURITY:
数据处理系统安全性
1.4参考资料
.xzqh.org中国行政区划信息网
《软件工程学教程》 科学明 2002
《计算机软件产品开发文件编制指南》
《需求说明书编制指南》
2程序系统的结构
2.1系统详细结构图
系统详细结构如图3-1,各模块设计如表3-1。
表 3-1模块设计
模块编号
模块名称
备 注
M1.1
通用模块
大部份页面需要使用的通用的界面。
(含一般用户菜单选择)
M1.2
站点首页模块
用户登录的初始化界面。
(含省级表显示)
M1.3
市表显示模块
显示某省的市级表。
M1.4
县表显示模块
显示某市的县级表。
M2.1
身份验证模块
验证管理员身份
M2.2
密码管理模块
用于管理员修改密码
M2.3
高级功能模块
管理员功能选项(含管理员菜单选择)
M3.1
查询模块1
模糊查询并显示功能
M3.2
查询模块2
专门用于管理员操作查询
M4.1
验证模块
验证的合法性
M4.2
查询模块
查询所在地及历史情况
M5.1
增加省模块
M5.2
增加市模块
M5.3
增加县模块
M6.1
撤销市模块
M6.2
撤销县模块
M7.1
修改省模块
M7.2
修改市模块
M7.3
修改县模块
M8
删除模块
提示警告。
只允许删除和其它表无关联的项。
M9
导入模块
M10
导出模块
M11
备份还原模块
M12
帮助模块
用户帮助信息
2.2功能需求与程序的关系
表 3-2功能分配
功能需求
包含模块
1查询功能
M1.2,M1.3,M1.4,M1.2,M3.1,M3.2,M4.1,M4.2
2增加功能
M5.1,M5.2,M5.3,M6.1,M6.2
3删除功能
M8
4修改功能
M7.1,M7.2,M7.3
5撤销功能
M6.1,M6.2
6密码管理功能
M2.2
7备份还原功能
M11
8管理员身份验证功能
M2.1
9数据的导入功能
M9
10数据的导出功能
M10
功能需求
包含模块
11验证功能
M4.1
12所在地查询功能
M4.1
13系统控制功能
M1.1,M2.3
14帮助功能
M12
2.3部接口
表 3-3部接口
模块编号
模块名称
备 注
M1.1
通用模块
大部份页面需要调用的通用的界面。
(含一般用户的菜单选择)接受相应消息,启动M1.2,M2.1,M3.1,M4.1,M4.2,M10,M12模块
M1.2
站点首页模块
用户登录的初始化界面。
(调用M2.3,省级表显示(含M10入口))点击省级表的省名可进入M1.3
M1.3
市表显示模块
显示某省的市级表。
(含M10入口,调用M2.3)点击市级表的市名可进入M1.4
M1.4
县表显示模块
显示某市的县级表。
(含M10入口,调用M2.3)
M2.1
身份验证模块
验证管理员身份(调用M2.3)
M2.2
密码管理模块
用于管理员修改密码(调用M2.3)
M2.3
高级功能模块
管理员功能选项(含管理员菜单选择,调用M1.1)。
接受相应的消息,启动M5,M6,M7,M8,M9,M11模块
M3.1
查询模块1
模糊查询功能(调用M2.3,含M10入口)
M3.2
查询模块2
专门用于管理员操作查询
M4.1
验证模块
验证的合法性(调用M2.3)可选择进入M4.2
M4.2
查询模块
查询所在地及历史情况(调用M2.3)
M5.1
增加省模块
增加省行政区。
(调用M2.3),含M3.2入口
M5.2
增加市模块
增加市行政区。
(调用M2.3),含M3.2入口
M5.3
增加县模块
增加县行政区。
(调用M2.3),含M3.2入口
M6.1
撤销市模块
撤销市行政区,根据具体情况进入M5.3或M7.2模块。
(调用M2.3),含M3.2入口
M6.2
撤销县模块
撤销县行政区,根据具体情况进入M5.2或M7.3模块。
(调用M2.3),含M3.2入口
M7.1
修改省模块
修改省行政区。
(调用M2.3),含M3.2入口
M7.2
修改市模块
修改市行政区。
(调用M2.3),含M3.2入口
M7.3
修改县模块
修改县行政区。
(调用M2.3),含M3.2入口
M8
删除模块
含M3功能,提示警告。
只允许删除和其它表无关联的项。
(调用M2.3)
M9
导入模块
导入数据。
(调用M2.3)
M10
导出模块
将查询到的数据导出。
(调用M2.3)
M11
备份还原模块
备份还原数据。
(调用M2.3)
M12
帮助模块
用户帮助信息,(调用M2.3)
3程序设计说明
3.1模块描述
3.1.1本软件的详细功能模块图如图3-1.模块划分如表3-1.
3.1.2全局变量
表 3-4全局变量
代号
中文名
英文名
类型
默认值
备注
1
省代码
provinceCode
string
000000
2
市代码
cityCode
string
000000
3
县代码
countyCode
string
000000
4
管理员代码
adminCode
string
00
6
CerCode
string
7
增加县标志
addCountyFlag
bool
false
8
增加市标志
addCityFlag
bool
false
9
增加省标志
addProvinceFlag
bool
false
10
撤消县标志
repealCountyFlag
bool
false
11
撤消市标志
repealCityFlag
bool
false
12
修改县标志
updateCountyFlag
bool
false
13
修改市标志
updateCityFlag
bool
false
14
修改省标志
updateProvinceFlag
bool
false
15
查询标志
searchFlag
bool
false
16
表格标志
tableFlag
int
0
0无,1省表,2市表,3县表,4查询
17
登录标志
loginFlag
bool
false
21
备份还原标志
backrevertFlag
bool
false
22
撤消市代码
repealCityCode
sring
000000
23
撤消县代码
repealCountyCode
string
000000
24
代码
code
string
000000
25
名称
name
string
none
26
查询级别
searchLevel
int
0
0无,1省,2市,3县
3.2通用模块(M1.1)
3.2.1程序描述:
作为大部份页面需要用到的通用界面。
提供一般用户的菜单选择。
3.2.2功能:
提供一般用户的菜单选择功能(包括:
返回首页,查询区划信息,合法性验证,地区查询,管理员登录,用户帮助)。
3.2.3性能:
3.2.4输入项:
鼠标或键盘命令
3.2.5输出项:
设置全局变量,调用相应模块
3.2.6算法:
a.定义一函数:
check1()
{//容为:
根据标志7~21提示相应信息:
“正在进行。
。
。
操作,确定跳转,请点击确定”
点确定恢复各全局变量默认值,如果下面变量不是默认值则安要求修改数据库:
增加市标志:
针对市县关系表还原数据或删除数据(若县的原所属市有数据则还原,无则删除)
增加省标志:
针对省市关系表还原数据或删除数据(若市的原所属省有数据则还原,无则删除)
修改市标志:
针对市县关系表还原数据或删除数据(若县的原所属市有数据则还原,无则删除)
修改省标志:
针对省市关系表还原数据或删除数据(若市的原所属省有数据则还原,无则删除)
跳转到相应模块。
}
此函数由各项功能菜单调用。
3.2.7流程逻辑:
3.2.8接口:
使用变量7~21,设置变量1~23
3.2.9存储分配:
<1M
3.2.10注释设计:
a.在模块首部用”/*….*/”注释
b.在各函数、方法、属性之前用”//….”加上注释
c.对各变量的功能、围、缺省条件等末尾用”//….”加上注释
d.对一些其他必要解释的地方用”//….”加上注释
3.2.11限制条件:
3.2.12测试计划:
对各个菜单功能进行测试,看是否能进入相应的,并测试全局变量的变化情况(是否是预料的变化)
3.2.13尚未解决的问题:
3.3站点首页模块(M1.2)
3.3.1程序描述:
用户登录的初始化界面。
3.3.2功能:
显示省表;
在省名称上提供到其下属市表模块;
对省表提供导出按钮;
调用M2.3模块。
3.3.3性能:
3.3.4输入项:
鼠标或键盘命令
3.3.5输出项:
3.3.6算法:
a.设置变量7~21至默认值
b.用表格显示省表信息;
在省名称上提供到其下属市表模块;
将此省代码保存在provinceCode中,传替给市表显示页面模块。
c.在导出按钮触发事件中设置表格标志tableFlag为“1”,打开导出模块
3.3.7流程逻辑:
3.3.8接口:
设置变量1,7~21
3.3.9存储分配:
<1M
3.3.10注释设计:
同模块M1.1
3.3.11限制条件:
3.3.12测试计划:
测试点击各省名称是否能进入对应的市级表显示,测试进入导出模块的正确性
3.3.13尚未解决的问题:
3.4市表显示模块(M1.3)
3.4.1程序描述:
用户点击初始化话模块的省名称进入此模块
3.4.2功能:
调用M2.3模块
根据变量provinceCode显示对应此省的所有市信息;
对市表提供导出按钮;
在市名称上提供到其下属县表模块;
3.4.3性能:
3.4.4输入项:
鼠标或键盘命令
3.4.5输出项:
3.4.6算法:
b.用表格显示市表信息;
在市名称上提供到其下属县表模块;
将此市代码保存在cityCode中,传替给县表显示页面模块。
c.在导出按钮触发事件中设置表格标志tableFlag为“2”,打开导出模块
3.4.7流程逻辑:
3.4.8接口:
使用变量1,设置变量2,16
3.4.9存储分配:
<1M
3.4.10注释设计:
同模块M1.1
3.4.11限制条件:
3.4.12测试计划:
测试点击各省名称是否能进入对应的县级表显示,测试进入导出模块的正确性
3.4.13尚未解决的问题:
3.5县表显示模块(M1.4)
3.5.1程序描述:
用户点击市表显示页面模块的市名进入此模块
3.5.2功能:
调用M2.3模块;
显示对应市的县级区划信息;
对县表提供导出按钮;
3.5.3性能:
3.5.4输入项:
鼠标或键盘命令
3.5.5输出项:
3.5.6算法:
a.在导出按钮触发事件中设置表格标志tableFlag为“3”,打开导出模块
3.5.7流程逻辑:
3.5.8接口:
使用变量2,设置变量16
3.5.9存储分配:
<1M
3.5.10注释设计:
同模块M1.1
3.5.11限制条件:
3.5.12测试计划:
测试进入导出模块的正确性
3.5.13尚未解决的问题:
3.6身份验证模块(M2.1)
3.6.1程序描述:
用于管理员登录,必须经过身份验证才可以拥有管理员的功能
3.6.2功能:
调用M2.3;
验证管理员身份的合法性。
3.6.3性能:
3.6.4输入项:
用户名(数字、字母或汉字(长度20));
密码(数字或字母(长度20))。
3.6.5输出项:
查询数据库,合法用户可登录管理员界面;非法的弹出对话框提示。
3.6.6算法:
a.登录按钮:
查询数据库,验证用户名和密码:
合法的设置变量adminCode为登录的管理员代码,loginFlag为“true”,进入站点首页;
非法的弹出对话框说明错误,再返回此界面
b.取消按钮:
退出此界面
3.6.7流程逻辑:
3.6.8接口:
设置变量4,17
3.6.9存储分配:
<1M
3.6.10注释设计:
同模块M1.1
3.6.11限制条件:
3.6.12测试计划:
测试用户输入的合法性检查,和数据库数据对应,测试登录情况
3.6.13尚未解决的问题:
3.7密码管理模块(M2.2)
3.7.1程序描述:
用于管理员修改密码
3.7.2功能:
调用M2.3;
管理员修改密码。
3.7.3性能:
3.7.4输入项:
旧密码(数字或字母(长度20));
新密码(数字或字母(长度20))。
3.7.5输出项:
更新数据库管理员密码。
3.7.6算法:
a.利用变量adminCode查询数据库,比较旧密码,不匹配的弹出对话框说明错误;
密码匹配,对话框提示修改成功。
b.取消按钮,退出此界面
3.7.7流程逻辑:
3.7.8接口:
使用变量4
3.7.9存储分配:
<1M
3.7.10注释设计:
同模块M1.1
3.7.11限制条件:
3.7.12测试计划:
密码输入的合法性检查,测试密码修改的正确性
3.7.13尚未解决的问题:
3.8高级功能模块(M2.3)
3.8.1程序描述:
如果是管理员,则拥有此菜单功能
3.8.2功能:
显示欢迎信息,提供管理员的菜单选择功能(如:
增加区划信息(下拉菜单显示(省,市,县)),删除区划信息,修改区划信息(下拉菜单显示(省,市,县)),撤消区划信息(下拉菜单显示(市,县)),修改密码,导入区划信息,备份还原区划信息,取消登录);
调用M1.1。
3.8.3性能:
3.8.4输入项:
鼠标和键盘命令
3.8.5输出项:
3.8.6算法:
a.若变量loginFlag为”true”,利用变量adminCode,显示欢迎管理员信息,显示管理员功能菜单;
若login=false则只调用M1.1。
b.取消登录按钮(设置变量loginFlag为”false”,变量adminCode为”00”,返回首页)
b.定义一函数check2()
{//容为:
根据标志7~21提示相应信息:
“正在进行。
。
。
操作,确定跳转请点击确定”
点确定恢复各全局变量默认值,如果下面变量不是默认值则安要求修改数据库:
增加市标志:
针对市县关系表还原数据或删除数据(若县的原所属市有数据则还原,无则删除)
增加省标志:
针对省市关系表还原数据或删除数据(若市的原所属省有数据则还原,无则删除)
修改市标志:
针对市县关系表还原数据或删除数据(若县的原所属市有数据则还原,无则删除)
修改省标志:
针对省市关系表还原数据或删除数据(若市的原所属省有数据则还原,无则删除)
跳转到相应模块。
}
此函数由各项功能菜单调用。
3.8.7流程逻辑:
3.8.8接口:
使用变量4,7~21,设置变量1~23
3.8.9存储分配:
<1M
3.8.10注释设计:
同模块M1.1
3.8.11限制条件:
3.8.12测试计划:
对各个菜单功能进行测试,看是否能进入相应的,并测试全局变量的变化情况(是否是预料的变化)
3.8.13尚未解决的问题:
3.9查询模块1(M3.1)
3.9.1程序描述:
用于用户搜索某个区划地区信息,支持模糊查询和精确搜索
3.9.2功能:
用于用户搜索某个区划地区信息,支持模糊查询和精确搜索;
含导出功能;
调用M2.3
3.9.3性能:
3.9.4输入项:
名称(汉字(长度<=20));
拼音(字母(长度<=50));
代码(数字(长度<=6));
邮编(数字(长度<=6));
区号(数字(长度<=6))。
3.9.5输出项:
SQL查询命令查询符合条件并集的数据并表格显示
3.9.6算法:
3.9.7流程逻辑:
3.9.8接口:
设置变量16
3.9.9存储分配:
<1M
3.9.10注释设计:
同模块M1.1
3.9.11限制条件:
3.9.12测试计划:
对各个输入数据的合法性检查,对输出结果的正确性测试
3.9.13尚未解决的问题:
3.10查询模块2(M3.2)
3.10.1程序描述:
只用于管理员操作,用于用户搜索某个区划地区信息,支持模糊查询和精确搜索
3.10.2功能:
用于用户搜索某个区划地区信息,支持模糊查询和精确搜索
3.10.3性能:
3.10.4输入项:
名称(汉字(长度<=20));
拼音(字母(长度<=50));
代码(数字(长度<=6));
邮编(数字(长度<=6));
区号(数字(长度<=6))。
3.10.5输出项:
SQL查询命令查询符合条件并集的数据并列表显示
3.9.6算法:
3.10.7流程逻辑:
3.10.8接口:
使用变量26,设置变量24,25
3.10.9存储分配:
<1M
3.10.10注释设计:
同模块M1.1
3.10.11限制条件:
3.10.12测试计划:
对各个输入数据的合法性检查,对输出结果的正确性测试。
3.10.13尚未解决的问题:
3.11验证模块(M4.1)
3.11.1程序描述:
提供用户校验某个的合法性
3.11.2功能:
验证的合法性;调用M2.3;提供到M4.2模块按钮
3.11.3性能:
3.11.4输入项:
(纯数字(15位或18位))
3.11.5输出项:
调用合法性验证算法验证的合法性并输出结果
3.11.6算法:
a.首先检查输入的合法性(15位或18位纯数字);
逐个比较的各有意义的字符串:
对话框提示验证情况(例如:
长度不合法;不是纯数字;生日输入非法(第7~14位);性别代码输入非法(第。
。
位);校验码错误(第。
。
位))
b.查询所在地按钮触发事件:
设置变量cerCode为当前,打开M4.2模块。
3.11.7流程逻辑:
3.11.8接口:
设置变量6
3.11.9存储分配:
<1M
3.11.10注释设计:
同模块M1.1
3.11.11限制条件:
3.11.12测试计划:
输入非法数据时的处理;测试满足条件的;测试不满足条件的。
3.11.13尚未解决的问题:
3.12查询模块(M4.2)
3.12.1程序描述:
提供用户查询所在地的历史情况
3.12.2功能:
查询所在地的历史情况
3.12.3性能:
3.12.4输入项:
(纯数字(15位或18位))
3.12.5输出项:
调用合法性验证算法验证的合法性,然后使用SQL查询语言查询数据库查询与前六位对应的地区及相关数据
3.12.6算法:
a.首先检查输入的合法性(同模块M4.1)
b.用SQL语言查询县级表,列表显示所在地的历史情况;如果失败则对话框提示信息,包括合法但数据库中无此信息的情况。
3.12.7流程逻辑:
3.12.8接口:
使用变量6
3.12.9存储分配:
<1M
3.12.10注释设计:
同模块M1.1
3.12.11限制条件:
3.12.12测试计划:
输入非法数据时的处理;测试满足条件的(包括合法但数据库中无信息的情况);测试不满足条件的。
3.12.13尚未解决的问题:
3.13增加省模块(M5.1)
3.13.1程序描述:
中国区划信息是不断变化中的,有时候需要对区划信息进行更新操作。
所以列出各更新功能
3.13.2功能:
管理员增加省行政区;调用M2.3;调用M5.3;调用M6.1;调用M3.2;
3.13.3性能:
3.13.4输入项:
省名称(汉字(长度20),非空)
拼音(字母(长度50))
驻地(汉字(长度20))
代码(数字(长度6),非空)
区号(数字(长度6))
邮政编码(数字(长度6))
设立时间(****-**-**或**-**-**)(下拉框)
撤消时间(****-**-**或**-**-**)(下拉框)
撤消后名称(汉字(长度20))(下拉框)
备注(任意字符,长度)
3.13.5输出项:
合法性验证,SQL语言插入数据,操作结果信息
3.13.6算法:
a.对于撤销时间,如果填入则必须填入撤消后名称;
b.对于撤消后名称,如果没有填写撤消时间而输入了信息,将被认为非法;
提供提供下拉框选择;若选择增加省则刷新此界面.
c.对于驻地,提供下拉框选择或新建到M5.2(返回变量cityCode)。
d.点击确定,对各输入项进行合法性检查,错误的说出错误情况;
将和变量repealCityCode对应的区划信息的撤销时间填上,撤消后代码为此省代码;
将变量cityCode的所属省代码修改为此省代码;
将所有县所属市代码为repealCityCode的设为空。
e.点击取消时,删除和变量cityCode对应代码的市级区划信息,并根据市县关系表恢复对应的县的所属市代码,设置变量addProvinceFlag=false,设置变量code,name,cityCode为默认值,关闭此窗口。
f.增加成功后,显示搜索列表提供模糊搜索市表并列表显示,带复选框,用户选择属于此省的市;或者可以使用增加市功能,使用变量cityCode.列出信息在表格中,并将信息写入省市关系表.
g.点击确定,并通过合法性验证(对此市的撤消时间和县的设立时间的比较)。
则复选框选中的全部所属省代码为此新省代码.
h.取消则根据省市关系表恢复以前的市所属省,若没有所属的则删除。
同时要根据市县关系表恢复以前的县所属市,若没有所属的则删除。
.设置变量cityCode为默认