1. 引言
1.1 编写目的
根据《需求规格说明书》,在仔细考虑讨论之后,我们又进一步对《旅游自助系统》软件的功能划分、数据结构、软件总体结构有了进一步的认识。我们把讨论的结果记录下来,作为概要设计说明书,并作为进一步详细设计软件的基础。
1.2 项目背景
社会信息量的与日俱增,图书作为主要的传统信息载体,在某一层面上已不能满足现代这样一个知识爆炸时代对信息的需求,这也体现在人们的出行与旅行方面,人们不可能随身带一本厚厚的旅游百科全书去爬青藏高原;同时旅游管理部门希望避免由于笔误或者记录丢失等人工疏忽带来的行政失误,他们也需要更系统更严谨的管理手段,从而做到依法管理,有据可查;而对旅游公司而言,高效的经营管理手段是获取最大利益的关键。在计算机日益普及的今天,一套行之有效的旅游自助管理系统,是大家最好的一个选择,他是人们出行旅行的贴心小助手,是旅游公司负责尽心的大管家,是旅游管理部门安全可靠的档案室与严谨的助理秘书。他将对人们的出行旅游方式产生时代性的影响。
旅游自助系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的简体中文、英文 Windows98/2000/ME/XP等操作系统上使用。除此以外,该软件可通过访问权限控制以及数据备份功能,确保数据的安全性。
1.3 定义
1.4 需求
统应该提供的服务或对系统的约束的一个高层抽象描述,或者系统功能的详细的、用数学方法的形式化描述。
需求工程
务和约束的发现、分析、建立文档、检验的过程。
用户需求
然语言加图标的形式给出的关于系统需要提供哪些服务以及系统操作受到哪些约束的声明。
系统需求
将要提供的服务以及系统所受到的约束。
功能需求
系统应该提供的服务、如何对输入作出反应以及系统在特定条件下行为的描述。
非功能需求
统提供的服务或功能给出的约束。包括时间约束、开发过程的约束、标准等
领域需求
的应用领域需求。
1.5 参考资料
[1] 郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社,1997。
[2] 金勇华,曲俊生。《JAVA网络高级编程》。北京:人民邮电出版社,2001。
[3] Borland Software Corporation。《JBUILDER培训教程》北京:机械工业出版社,2002。
2. 任务概述
2.1 目标
《为了缓解各旅游管理部门的压力以及方便旅游者和旅游公司,我们开发了这套旅游自助系统。有了本系统旅游者可以更方便的查询到自己所需要的各种信息,从而选择一种最合适自己的旅游方案,不再需要直接向旅游公司相关人员询问,进而也减轻了旅游公司的压力,又不容易出错,责任到个人,一举多得。
相应的需求有:
1.能够存储一定数量的旅游景点信息,并方便有效的进行相应的目的地及交通方式数据操作和管理,这主要包括:
1) 目的地及交通方式的录入、删除及修改。
2) 目的地及交通方式的多关键字检索查询。
3) 目的地及交通方式的资料统计。
2.能够对一定数量的个体旅游者进行相应的信息存储与管理,这其中包括:
1) 旅游者信息的登记、删除及修改。
2) 旅游者资料的统计与查询。
3.能够对需要的统计结果提供列表显示输出。
4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
2.2 运行环境
CPU:奔腾200Mhz以上 |
内存:32MB |
显示卡:标准VGA256色显示模式以上 |
硬盘:典型安装10MB |
网卡 |
驱动器:8倍速CD-ROM以上 |
其它设备:声卡(非必备) |
2.3 条件与限制
一个更为完善的旅游自助管理系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数量有限,该系统并未提供这一功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。
3. 总体设计
3.1 处理流程
3.1.1旅游自助登陆流程
用户选择 |
显示主菜单 |
输入口令 |
启动系统 |
查找记录 |
输入所需记录要求 |
退出 |
多属性 |
分类 |
关键字 |
书号 |
作者 |
书名 |
用户选择 |
显示主菜单 |
启动系统 |
查询方式选择 |
查验 |
输入用户口令 |
启动系统 |
3.2 总体结构和模块外部设计
3.2.1 总体结构
旅游自助系统主模块 |
自助交换模块 |
旅游查询模块 |
系统管理模块 |
旅游查询模块 |
按出行地检索模块 |
按目的地检索模块 |
按价格检索模块 |
按出行日期检索模块 |
按关键字检索模块 |
按分类检索模块 |
多属性检索模块 |
帮助模块 |
送出模块 |
输入所需要求模块 |
查找模块 |
记录显示模块 |
需求方模块 |
交换主模块 |
退出模块 |
帮助模块 |
需求方身份查验模块 |
目的地查验模块 |
数据库操作模块 |
数据库查询模块 |
交换记录查验模块 |
系统管理流程
|
旅游局操作模块 |
旅游公司操作模块 |
数据统计模块 |
系统设置模块 |
数据备份模块
|
数据恢复模块 |
口令更改模块 |
帮助模块 |
退出模块 |
录入模块 |
修改模块 |
删除模块 |
退出模块 |
数据库操作模块
|
输入所需要求模块 |
系统操作模块 |
系统显示模块 |
3.2.2模块外部设计
1.主模块:
输入:操作系统传递至的各种消息以及用户的输入数据
输出:用户界面显示
2.自助交换模块:
输入:用户口令
输出:相应的界面
3.旅游查询模块:
输入:用户的输入
输出:查询方式及相应的查询关键字
4. 系统操作模块:
输入:用户口令
输出:各个对话框
5.旅游局操作模块:
输入:与旅游局操作子对话框有关的用户输入及系统消息
输出:操作结果显示.
6.旅游公司操作模块:
输入:与旅游公司操作子对话框有关的用户输入及系统消息
输出:操作结果显示
7.数据统计模块:
输入:统计方式及其关键字
输出:统计结果视图显示
8.系统设置模块:
输入:用户的输入
输出:根据用户的输入显示相应的对话框
9.数据备份模块:
输入:用户的操作输入
输出:操作结果显示
10.数据恢复模块:
输入:用户的操作输入
输出:操作结果显示
11.更改口令模块:
输入: 用户的操作输入
输出: 操作结果显示
12.录入模块:
输入:相应的信息
输出:相应的结果
13.修改模块:
输入:相应的信息
输出:相应的结果
14. 删除模块:
输入: 相应的信息
输出: 相应的结果
15. 帮助模块:
输入:无
输出:帮助信息
16. 退出模块:
输入:退出命令
输出:无
17.数据库操作模块:
输入:数据操作命令
输出:操作结果显示
18.数据库查询模块:
输入:数据查询命令
输出:查询结果集
3.3 功能分配
浏览功能: 旅游局操作模块 旅游公司操作模块
查询功能: 旅游查询模块 数据统计模块
个人出行者查验模块
插入功能: 旅游局操作模块 旅游公司操作模块 自助交换模块
修改功能: 旅游局操作模块 旅游公司操作模块
自助交换模块
删除功能: 旅游局操作模块 旅游公司操作模块 自助交换模块
接口设计
4.1 外部接口
1.用户界面
按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。
主对话框:由五个功能按钮构成
自助交换、旅游查询、系统操作、帮助、退出
用户信息查询对话框:
用户信息显示区: 用于显示用户信息(姓名);
用户已查询信息显示区:用于显示用户已查询旅游地信息;
提交按钮:提交请求;
退出按钮:退出对话框。
出行地查询对话框:
查询方式复选框:用于选择查询所需满足的条件(地名、距离、价格、时间);
关键字编辑框:用于输入查询关键字(地名、距离、价格、时间);
时间条件单选框:用于选择出行时间所需满足的条件类型;
时间编辑框:用于编辑年与月;
开始查询按钮:用于提交查询请求;
退出查询按钮:用于退出出行地查询对话框;
系统操作对话框:由八个功能按钮构成
旅游局操作、旅游公司操作、数据统计、系统设置、数据备份、数据恢复、更改口令、返回。
旅游局操作对话框:
出行地名编辑框:用于显示编辑出行地名;
价格编辑框:用于显示编辑出行地价格;
出行距离编辑框:用于显示编辑出行距离;
出行日期编辑框:用于显示编辑出行日期;
当前记录序号显示:用于显示当前记录在记录集中的位置;
“前一个”按钮:显示和编辑前一个记录;
“后一个”按钮:显示和编辑后一个记录;
“移动到”按钮:显示和编辑指定出行地的记录;
“加入”按钮:增加地名记录;
“删除”按钮:删除当前的地名记录;
“退出”按钮:退出操作对话框。
数据统计对话框:
统计条件单选框:用于选择统计条件类别;
出行地统计条件复选框:用于指定统计条件包含的相关项(地名、距离、价格、时间);
出行者统计条件复选框:用于指定统计条件包含的相关项(用户号、用户姓名、联系方法);
统计输出设置单选框:用于选择统计结果的输出类别;
条件选择下拉列表栏(数字项):用于指定具体统计条件(>、<、=);
条件选择下拉列表栏(字符项):用于指定具体统计条件(=、包含);
条件选择下拉列表栏(日期项):用于指定具体统计条件(先于、后于、介于);
条件选择下拉列表栏(图书状态项):用于指定具体统计条件;
关键字编辑框:用于输入编辑统计关键字;
“开始统计”按钮:提交统计请求;
“返回”按钮:退出数据统计对话框。
9) 数据备份对话框
路径编辑框:用于输入编辑备份路径。
BROWSE按钮:用于选择路径
确定按钮: 确定数据备份
退出按钮: 退出数据备份系统
10)数据恢复对话框
确认按钮: 确定此项操作
文件对话框:用于输入存数据的路径
11)更改口令对话框
原始口令编辑框:用于输入原始口令
新口令编辑框: 用于输入新口令
确定按钮: 确定此项操作
2.软件接口
使用Access数据库的驱动程序,通过COM接口访问。
3.硬件接口
鼠标。
4.2 内部接口
模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。
5.数据结构设计
5.1 逻辑结构设计
地名表:由多个地名记录构成
地名记录的数据结构如下:
地名编号(PlaceID) 整数(唯一标示符)
地名(PlaceName) 变长字符串
出行方式(TravelWay) 变长字符串
出行价格(TravelPrice) 实数
用户表:由多个用户记录构成
用户记录的数据结构如下:
用户帐号(UserID) 整数(唯一标示符)
用户姓名(UserName) 变长字符串
用户地址(Address) 变长字符串
用户电话号码(TelephoneNumber) 整数
用户电子邮件(Email) 变长字符串
系统设置表:有单个系统设置记录构成
系统设置记录的数据结构如下:
记录号(id) 整数(系统自动生成,唯一标示符)
系统操作员记录表:由若干个系统操作员记录构成
系统操作员记录的数据结构如下:
记录序号(id) 整数(系统自动生成,唯一标示符)
账号(Administer) 变长字符串
口令(Password) 变长字符串
权限级别(Level) 整数(0-7)
5.2 物理结构设计
采用链表结构
5.3 数据结构与程序的关系
主模块:连接数据库
自助交换模块:
旅游查询模块:
指定旅游查询条件,对应输出相应的旅游信息,如地名、距离、价格、时间等。
系统操作模块:
系统操作权限查验模块:读入帐号,口令,输出相应的信息。
旅游局操作模块:增加,修改,删除用户表中的信息。
旅游公司操作模块:增加,修改,删除用户表中的信息。
数据统计模块:指定统计条件,输出相应的信息。
数据备份模块:复制地名表,用户表,查询记录表,系统设置表,系统操作员记录表。
数据恢复模块:读取地名表,用户表,查询记录表,系统设置表,系统操作员记录表。
系统设置模块:增加,修改,删除系统操作员记录表中的信息。
6.运行设计
6.1 运行模块的组合
程序启动后,进入主模块,用户的单击对话框按钮事件触发主模块调用各下层模块,进入对应的子对话框,同样由用户的输入触发这些模块调用其下层模块,完成相应操作。
6.2 运行控制
本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块
6.3 运行时间
检索业务响应时间<2s;
运行响应时间<1s;
7.出错处理
7.1 出错输出信息
根据不同的出错情况给出不同的出错信息,一般用对话框给出。
7.2 出错处理对策
对一般错误,给用户提示信息,让用户重新输入或退出。
对于严重错误,启动备份文件恢复,建议使用帮助文件。
8.安全保密设计
为每个操作人员设置账号及口令,规定每一级操作人员的权限。
9.维护设计
由于此项目比较小,除了严格按照软件工程的科学方法开发软件、认真建立文档、编码阶段写详细的注释外,没有特殊的维护设计,如:设置维护模块等。