1、详细设计说明书编写规范案卷号日期旅游系统详细设计说明书作 者: 完成日期: 签 收 人: 签收日期: 修改情况记录:版本号 修改批准人 修改人 安装日期 签收人详细设计说明书编写规范目录 2 程序系统的结构 11.安全登陆模块 11.1 程序描述 11.2 功能 11.3 性能 21.4 输入项 21.5 输出项 21.6 算法 31.7 流程逻辑 31.8 接口 41.9 存储分配 41.10 注释设计 41.11 限制条件 41.12 测试计划 41.13 尚未解决的问题 52.景区查询设计说明 52.1 程序描述 52.2 功能 52.3 性能 52.4 输入项 52.5 输出项 62.
2、6 算法 62.7 流程逻辑 82.8 接口 92.9 存储分配 92.10 注释设计 92.11 限制条件 102.12 测试计划 102.13 尚未解决的问题 103.详细查询设计说明 103.1 程序描述 103.2 功能 103.3 性能 113.4 输入项 113.5 输出项 113.6 算法 113.7 流程逻辑 123.8 接口 123.9 存储分配 123.10 注释设计 133.11 限制条件 13详细设计说明书编写规范3.12 测试计划 133.13 尚未解决的问题 134.预算计算 3(标识符)设计说明 .134.1 程序描述 134.2 功能 144.3 性能 144.
3、4 输入项 144.5 输出项 144.6 算法 154.7 流程逻辑 154.8 接口 164.9 存储分配 164.10 注释设计 164.11 限制条件 164.12 测试计划 164.13 尚未解决的问题 175.景区热度 4(标识符)设计说明 .175.1 程序描述 175.2 功能 175.3 性能 175.4 输入项 185.5 输出项 185.6 算法 185.7 流程逻辑 185.8 接口 195.9 存储分配 195.10 注释设计 195.11 限制条件 205.12 测试计划 205.13 尚未解决的问题 206.用户收藏夹 206.1 景区收藏模块(标识符)设计说明
4、.206.1.1 程序描述 .206.1.2 功能 .216.1.3 性能 .216.1.4 输入项 .216.1.5 输出项 .226.1.6 算法 .226.1.7 流程逻辑 .226.1.8 接口 .226.1.9 存储分配 .226.1.10 注释设计 .236.1.11 限制条件 .23详细设计说明书编写规范6.1.12 测试计划 .236.1.13 尚未解决的问题 .236.2 查看收藏(标识符)设计说明 .236.2.1 程序描述 .236.2.2 功能 .236.2.3 性能 .246.2.4 输入项 .246.2.5 输出项 .246.2.6 算法 .256.2.7 流程逻辑
5、 .256.2.8 接口 .256.2.9 存储分配 .266.2.10 注释设计 .266.2.11 限制条件 .266.2.12 测试计划 .266.2.13 尚未解决的问题 .267.用户满意度统计模块 267.1 用户界面程序 .277.1.1 输入 287.1.2 输出 287.1.3 算法 287.1.4 流程 297.1.5 接口 297.1.6 存储分配 297.1.7 测试计划 297.2 满意度评价处理程序 .297.2.1 输入 297.2.2 输出 307.2.3 性能要求 307.2.4 流程逻辑 307.2.5 接口 317.2.6 存储分配 317.2.7 算法改
6、进 327.3 满意度评价统计程序 .327.3.1 功能描述 327.3.2 输入 327.3.3 输出 327.3.4 算法 337.3.5 流程 337.3.6 接口 337.3.7 测试计划 337.4 满意度排名程序 .337.4.1 功能描述 337.4.2 输入 34详细设计说明书编写规范7.4.3 输出 347.4.4 算法 347.4.5 流程 347.4.6 接口 347.4.7 存储分配 357.4.8 测试计划 358.景区推荐模块 358.1 程序描述 358.2 功能 358.3 性能 368.4 输入项 368.5 输出项 368.6 算法 378.7 流程逻辑
7、388.8 接口 388.9 存储分配 388.10 注释设计 388.11 限制条件 398.12 测试计划 398.13 尚未解决的问题 399.用户信息模块设计说明 393.1 程序描述 399.2 功能 409.3 性能 409.4 输入项 409.5 输出项 409.6 算法 419.7 流程逻辑 419.8 接口 429.9 存储分配 439.10 注释设计 439.11 限制条件 449.12 测试计划 449.13 尚未解决的问题 4410.游记模块设计说明 4410.1 程序描述 4410.2 功能 4510.3 性能 4510.4 输入项 4510.5 输出项 4610.6
8、 算法 4610.7 流程逻辑 4710.8 接口 48详细设计说明书编写规范10.9 存储分配 4910.10 注释设计 5010.11 限制条件 5010.12 测试计划 5010.13 尚未解决的问题 5011.系统管理员模块设计说明 5011.1 程序描述 5111.2 功能 5111.3 性能 5111.4 输入项 5111.5 输出项 5211.6 算法 5211.7 流程逻辑 5211.8 接口 5311.9 存储分配 5411.10 注释设计 5511.11 限制条件 5511.12 测试计划 5511.13 尚未解决的问题 5512.景区管理员管理模块设计说明 5612.1
9、程序描述 5612.2 功能 5612.3 性能 5712.4 输入项 5712.5 输出项 5712.6 算法 5712.7 流程逻辑 5812.8 接口 5912.9 存储分配 6012.10 注释设计 6012.11 限制条件 6112.12 测试计划 6112.13 尚未解决的问题 61详细设计说明书编写规范第 1 页2 程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。1.安全登陆模块1.1 程序描述在登陆页面里,用户可以输入用户名和密码,单击“登录”按钮进行登录。用户通过登录系统会获得比游客更高的权限,进行更多的操作
10、,并且不同级别的用户还有不同级别的权限。在此页面,用户也能通过单击“注册”按钮进入注册页面进行注册。1.2 功能本模块主要完成以下两个功能:(1)身份验证(是否已注册,只对注册用户开放)(2)不同权限的用户进入不同界面(普通用户、景区管理员、系统管理员)输入 处理 输出用户名密码1 . 检查用户名和密码是否为空2 . 检查是否跟数据库中的用户名和密码匹配D B 中存储用户信息的表相应界面用户名或密码为空的提示语用户名或密码错误的提示语详细设计说明书编写规范第 2 页1.3 性能在用户点击“登录”按钮后: 如果用户名或密码为空,在 0.5 秒内给出相应的提示语。 如果用户名或密码错误,在 1 秒
11、内给出相应的提示语。 如果验证通过,在 1 秒内进入相应的界面。1.4 输入项名称 用户名 密码标识 Name Pw数据类型 字符串 字符串数据格式 可用英文字母或数字,首字符必须是字母区分大小写,不能使用任何类似 *、 或 HTML 字符有效范围 1-16 个字符 6-16 个字符输入方式 用户输入 用户输入输入数据来源 驴友 驴友安全保密条件 无 无1.5 输出项输入正确,则用户根据其身份进入相应的界面输入错误的用户名和密码,页面上显示“您的用户名并不存在,或者您的密码错误” 。如果用户没有输入用户名和密码,页面上显示“请输入您的用户名和密码。 ”名称 验证通过 输入错误标识 无 Mess
12、age数据类型 无 字符串数据格式 无 无有效范围 无 无输出形式 跳转相应的界面 不同的错误显示不同的提示语详细设计说明书编写规范第 3 页安全保密条件 无 无1.6 算法1.检查用户输入的名和密码是否为空,如果为空则输出提示信息“用户名或密码不能为空,请重新输入” 。2.如果用户名和密码不为空,到数据库相应的表中查找是否存在此用户名,并且检查是否和此用户名的密码相匹配,如果检查失败则输出提示信息“用户名或密码错误,请重新输入” 。3.通过以上两层验证,则根据用户名的身份进入到相应的界面。1.7 流程逻辑详细设计说明书编写规范第 4 页开始模块初始化用户点击“ 登录 ” 按钮用户名或密码为空
13、 ?是否D B 查询 D B用户名和密码是否匹配 ?否登陆成功登录流程图1.8 接口安全登录模块用户信息模块调用方式:函数调用,参数为用户名和密码。用到的用户信息模块的接口interface userinformationpublic int checkuserinformation(object user,object information) ;/验证用户身份详细设计说明书编写规范第 5 页public information checkuser (object user) ;/查找用户信息,没有该用户时返回-1public int updateuserlogininformation(o
14、bject user) ;/更新用户登录信息景区管理员模块接口interface scenemanagermanagementpublic int checkscenemanagerinformation () (object user) ;/验证景区管理员信息public int checkscenemanager () r(object user);/ 查找景区管理员public int updateuserlogininformation(object user) ;/更新景区管理员登录信息系统管理员模块接口interface scenemanagermanagementpublic i
15、nt checksystemmanagerinformation () (object user) ;/验证系统管理员信息public int checksystemmanagemanager () r(object user);/ 查找系统管理员public int updatesystemmanagerlogininformation(object user) ;/更新系统管理员登录信息与本程序直接关联的数据库:用户登录信息表。1.9 存储分配根据需要,说明本程序的存储分配。1.10 注释设计a 加在模块首部的注释;在登陆页面里,用户可以输入用户名和密码,单击“登录”按钮进行登录。用户通过
16、登录系统会获得比游客更高的权限,进行更多的操作,并且不同级别的用户还有不同级别的权限。在此页面,用户也能通过单击“注册”按钮进入注册页面进行注册。详细设计说明书编写规范第 6 页1.11 限制条件无。1.12 测试计划说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。1.13 尚未解决的问题2.景区查询设计说明2.1 程序描述景区查询模块的目的为驴友找到适合自己的旅游景区并为驴友提供参考路线,本程序的特点是顺序执行的。2.2 功能大区1 . 根据选择的大区系统定位到指定的大区2 . 根据用户选取 的大区 、 景区类型
17、以及排序计算出权值 , 并列出权值前 1 0 的景区 。景区类型的排序表3 . 根据 景区类型的排序 , 针对选出的 1 0 个景区给出景区内的景点路线图推荐的景区以及路线图详细设计说明书编写规范第 7 页2.3 性能从选择查询条件之后到系统反馈结果的时间要求在 5 秒以内2.4 输入项名称 大区 景区属性排序表标识 Area Scenic Spot Table数据类型 Char 结构数组:景区结构(景区类型标识和景区类型内容)数据格式 无 无有效范围 大区名字(中国、华中、华东、华北等大区)无输入方式 选择 选择输入数据来源驴友 驴友安全保密条件无 无2.5 输出项名称 路线图标识 Road
18、Map数据类型 结构:景区和路线数组数据格式 无有效范围 无输出形式 点线图安全保密条件 无详细设计说明书编写规范第 8 页2.6 算法1. 根据驴友提交的大区数据,从数据库中找到对应的景区。2. 遍历得到的景区,对每一个景区进行计算(根据景区类型排序表,排在第一位的比重率为 10,接下来依次递减 1;遍历景区中的景点,对每一个景点对应的景区类型的值乘以对应的比重率,从而计算出每一个景点的权值,并将这些值相加,最终结果赋给景区权值) ,从而得到每一个景区的权值。3. 根据权值对景区进行排序(快速排序) ,从中提取出前十的的景区。4. 遍历前十的景区,根据景区中景点的权值,对景区中的景点进行排序
19、(快速排序) ,从而得到景区中的景点路线图。详细设计说明书编写规范第 9 页2.7 流程逻辑景区是否遍历完毕依次取出景区景点是否遍历完毕依次取出景点选择大区是否否是计算景点的权值计算景区的权值是否根据权值对景区进行排序符合条件 ( 权值前1 0 ) 的景区是否遍历完毕依次取出景区景点是否遍历完毕依次取出景点否是计算景点的权值是否根据景点的权值进行排序得到推荐景点路线图反馈给驴友详细设计说明书编写规范第 10 页2.8 接口旅游模块景区查询模块调用方式:函数调用,不需要传入参数。与本程序直接关联的数据库:景区信息数据库(景区表,景点表)2.9 存储分配根据需要,说明本程序的存储分配。2.10 注
20、释设计b 加在模块首部的注释;本模块是为驴友找到适合自己的旅游景区,并为驴友提供参考路线。c 加在各分枝点处的注释;选择要去的大区(可以不选,不选的话定位在全区)d 对使用的逻辑所加的注释等等。遍历景区,计算景区的权值,并对景区的权值进行排序,得到前 10 的景区遍历前 10 的景区,计算景点的权值,对景点的权值进行排序,得到路线图详细设计说明书编写规范第 11 页2.11 限制条件无2.12 测试计划说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。2.13 尚未解决的问题无3.详细查询设计说明3.1 程序描述详细
21、查询模块的目的:系统给出景区和路线之后,驴友可以利用这个功能查看景区的详细信息,包括景区中的景点介绍等3.2 功能景区1 . 根据景区从数据库中得到景区的相关介绍信息景区的介绍信息3.3 性能从点击查看之后到系统反馈结果的时间要求在 2 秒以内详细设计说明书编写规范第 12 页3.4 输入项名称 景区标识 Scenic spot数据类型 整型:景区 ID数据格式 无有效范围 无输入方式 点击输入数据来源 驴友安全保密条件 无3.5 输出项名称 景区详细信息标识 Scenic spot introduction数据类型 结构:景区 ID,景区名称,景点结构(景点名称,介绍) ,游记数据格式 无有
22、效范围 无输出形式 文字安全保密条件 无3.6 算法1. 根据驴友提交的景区 ID 从数据库中得到景区的名称和景区相关联的景点 ID,利用景点 ID 从数据库中得到景点的详细介绍组合成景区的详细介绍。2. 对查询的景区,对景区的热度自增 1,为景区热度查询功能提供数据详细设计说明书编写规范第 13 页3.7 流程逻辑景区 I D取得景点 I D 和游记景点的名称和详细介绍景区的热度自增 13.8 接口旅游模块详细查询模块调用方式:函数调用,不需要传入参数。与本程序直接关联的数据库:景区信息数据库(景区表,景点表)3.9 存储分配根据需要,说明本程序的存储分配。详细设计说明书编写规范第 14 页
23、3.10 注释设计e 加在模块首部的注释;本模块是为驴友提供景区的介绍。f 对使用的逻辑所加的注释等等。联合查询景区表,景点表为用户提供景区的介绍3.11 限制条件无3.12 测试计划说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。3.13 尚未解决的问题无4.预算计算设计说明4.1 程序描述预算计算模块的目的:系统给出景区和路线之后,驴友可以利用这个功能查看旅游的预算。详细设计说明书编写规范第 15 页4.2 功能景区 、 出发点 、交通工具 、 住店的档次 、 预算天数1 . 交通工具所确定的价格 * 2 ,
24、再加上预计总天数乘以住店档次, 再加上门票的价格总和, 再乘以一个弹性系数旅游预算4.3 性能从点击查看之后到系统反馈结果的时间要求在 2 秒以内4.4 输入项名称 景区 出发点 交通工具 住店档次 预算天数标识 Scenic spot Starting Traveling Hotel_level date数据类型 整型:景区 ID整型:出发点 ID整型:交通工具 ID整型:住店档次 ID整型数据格式 无 无 无 无 无有效范围 无 无 无 无 无输入方式 点击 选择 选择 选择 输入输入数据来源 驴友 驴友 驴友 驴友 驴友安全保密条件 无 无 无 无 无4.5 输出项名称 预算标识 bud
25、get详细设计说明书编写规范第 16 页数据类型 整型数据格式 无有效范围 无输出形式 数值安全保密条件 无4.6 算法1.(用户选定的来回的交通工具所确定的价格)*2+(预计总天数)*(住店档次对应的价格)+(景区中景点的票价的总和) )*1.54.7 流程逻辑景区 、 出发点 、 交通工具 、 住店的档次 、 预算天数1 . 交通工具所确定的价格 * 2 ,再加上预计总天数乘以住店档次 , 再加上门票的价格总和, 再乘以一个弹性系数预算详细设计说明书编写规范第 17 页4.8 接口旅游模块预算计算模块调用方式:函数调用,不需要传入参数。与本程序直接关联的数据库:景区信息数据库(景区表,景点
26、表,交通表,酒店档次表)4.9 存储分配根据需要,说明本程序的存储分配。4.10 注释设计g 加在模块首部的注释;本模块是为驴友提供预算计算模块。h 对使用的逻辑所加的注释等等。联合查询景区表,景点表先得到景点的票价总和,利用交通表得到交通预算,最后再联合 4.11 限制条件无4.12 测试计划说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。详细设计说明书编写规范第 18 页4.13 尚未解决的问题无5.景区热度设计说明5.1 程序描述景区热度模块的目的:系统为驴友提供一个景区热度排名,以及排名的走向(上升还是下降
27、)5.2 功能无输入1 . 计算景区的热度 ,提供排名在前 1 0 的景区景区热度排行榜被查询一次,景区热度+1;被收藏一次,景区热度+5;5.3 性能从点击查看之后到系统反馈结果的时间要求在 2 秒以内5.4 输入项无5.5 输出项名称 景区热度排行榜详细设计说明书编写规范第 19 页标识 Hot数据类型 结构数组:结构(景区名称,走向(上升还是下降) )数据格式 无有效范围 无输出形式 排行榜安全保密条件 无5.6 算法1. 从数据库中取出景区的热度,并对景区的热度进行排序(快速排序算法)2. 更新景区的再热度排行榜中的排名。5.7 流程逻辑1 . 利用快速排序方法将所有的景区进行排序选出
28、前 1 0 的景区 , 并和以前的排名进行比较 , 得到景区的走向景区热度排行榜详细设计说明书编写规范第 20 页5.8 接口旅游模块景区热度排行榜模块1. 景区热度查询2. 景区热度排名调用方式:函数调用,不需要传入参数。与本程序直接关联的数据库:景区信息数据库(景区表)5.9 存储分配根据需要,说明本程序的存储分配。5.10 注释设计i 加在模块首部的注释;本模块是为驴友提供景区热度排行榜。j 对使用的逻辑所加的注释等等。采用快速排序算法对景区的热度进行排序,并将排名记录到景区表中,以便为以后的景区走向的计算做参考。 5.11 限制条件无详细设计说明书编写规范第 21 页5.12 测试计划
29、说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。5.13 尚未解决的问题无6.用户收藏夹6.1 景区收藏模块(标识符)设计说明6.1.1 程序描述景区收藏模块是为了方便用户将已经游玩过或计划游玩的景区信息收藏起来。这样用户就可以随时查看自己游玩过的景区信息,如用户可以和他的朋友一起分享游玩的游记以及一系列的照片等。由于该程序使用率的频率并不是非常的频繁,因此该程序是非常驻内存的;该程序是能够并发的处理多个用户的请求。详细设计说明书编写规范第 22 页6.1.2 功能景区信息1 . 将景区信息和当前用户信息 、 游记
30、信息等关联起来 。2 . 将处理后的景区数据持久化到数据库中 。6.1.3 性能为了使用户感觉的该程序的友好性,该程序要求在网络状况良好的情况下能够将查询时间控制在 0.5 秒以内。6.1.4 输入项名称 景区信息标识 Sence URL数据类型 字符串数据格式 URL 格式有效范围 无输入方式 点击“加入收藏夹”输入数据来源 用户安全保密条件 无详细设计说明书编写规范第 23 页6.1.5 输出项如果用户收藏信息在数据库里存储成功,则显示“加入收藏夹成功!” ;否则显示“网络超时,请重新加入!” 。6.1.6 算法1.用户提交要收藏的景区信息。2.将处理后的景区信息的持久化到数据库。6.1.
31、7 流程逻辑用户提交景区信息将用户提交的景区信息和当前用户以及相应的游记等信息关联起来将处理后的景区信息持久化到数据库6.1.8 接口对外开放的接口:interface userscenepublic int addNotes(object) ;/添加一个景区到收藏夹的方法public int delNotes(object);/ 删除收藏的一个景区的方法public ArrayList queryuser();/ 查询某个用户收藏的所有的景区的方法public ArrayList queryAuthor();/ 查询收藏该景区所有的用户的方法详细设计说明书编写规范第 24 页6.1.9 存储
32、分配用户景区收藏表 userscene列名 数据类型 长度 允许空 默认值 字段说明Keepid Long 16 否 无 该收藏 id,主键Username Char 16 否 无 用户名,外键Sceneid Int 4 否 无 景区 ID,外键Keeptime Datetime 8 否 无 收藏时间Sightseat Int 4 否 无 景区在收藏夹里的位置6.1.10 注释设计interface travelnotesmanagerpublic int addNotes(object) ;/添加一篇游记的方法public int addComment(object);/ 为游记添加一篇评论的方法public int delNotes(object);/ 删除一篇游记的方法public int delComment(object);/ 删除一篇评论的方法public ArrayList queryNotes();/ 查询某个景点所有的游记的方法public ArrayList queryAuthor();/ 查询某个作者所有的游记的方法public ArrayList queryword();/ 通过标题内容包含不包含该关键字查询游记的方法