软件工程详细设计定稿.docx
《软件工程详细设计定稿.docx》由会员分享,可在线阅读,更多相关《软件工程详细设计定稿.docx(21页珍藏版)》请在冰豆网上搜索。
软件工程详细设计定稿
旅游社旅游管理系统
详细设计(定稿)
目录
1.引言
1.1编写目的--------------------------------------------------------------------------------------------3
1.2项目背景--------------------------------------------------------------------------------------------3
1.3参看资料--------------------------------------------------------------------------------------------3
2任务概述------------------------------------------------------------------------------------------------3
2.1目标--------------------------------------------------------------------------------------------------3
2.2用户特性--------------------------------------------------------------------------------------------3
3总体设计------------------------------------------------------------------------------------------------3
3.1设计思想与目标-----------------------------------------------------------------------------------3
3.2运行环境--------------------------------------------------------------------------------------------4
3.3系统说明--------------------------------------------------------------------------------------------4
3.4外部接口需求--------------------------------------------------------------------------------------7
3.5其他限定要求--------------------------------------------------------------------------------------7
4详细设计------------------------------------------------------------------------------------------------8
4.1具体实现--------------------------------------------------------------------------------------------8
4.1.1管理员登陆--------------------------------------------------------------------------------------8
4.1.2团队系统-----------------------------------------------------------------------------------------9
4.1.3结算系统-----------------------------------------------------------------------------------------10
4.2数据库设计------------------------------------------------------------------------------------------10
4.2.1数据字典-----------------------------------------------------------------------------------------10
4.2.2数据要求-----------------------------------------------------------------------------------------12
5用户界面设计------------------------------------------------------------------------------------------12
6测试计划------------------------------------------------------------------------------------------------16
7开发人员计划------------------------------------------------------------------------------------------16
1.引言
1.1编写目的
在本阶段中,确定如何具体的实现所要求的系统,主要工作有:
根据在需求分析中所描述的数据,功能,运行,性能需求,以及数据流程,总体结构,和模块设计,设计软件系统的结构设计和逐个模块的程序描述,包括:
包括各个模块的功能,性能,输入,输出,算法,程序逻辑,接口等等。
旨在让编码人员更好的完成工作。
1.2项目背景
开发软件名称:
旅行社旅游管理系统
项目任务提出者:
旅游社
项目开发者:
计应3班第3小组
用户:
旅行社
1.3参考资料
《软件工程导论》(第五版)清华大学出版社
《数据库系统概论》(第四版)高等教育出版社
2任务概述
2.1目标
1.团队计划管理
2.预定管理
3.团队管理
4.定点餐饮、购物返点结算
5.结算管理
2.2用户特性
本软件可能的使用者及使用特性如下:
1、游客,需求为报名表格以及旅游信息表格
2、导游,需求为旅游信息及游客信息表格、各类计划报告、结算和返点款项填写表格
3、管理者,需求为各类信息表格
3总体设计
3.1设计思想与目标
1、团队计划管理:
每周5个团,周1-5,每个团30人
2、预定管理:
团体、个人两种预定方式
3、团队管理:
票务、餐饮、住宿、交通、购物管理
4、结算管理:
统计团费、成本、利润
5、定点餐饮、购物返点结算
3.2运行环境
1、硬件要求为PC机
2、网络环境下运行
3、WINDOWS操作系统平台
3.3系统说明
3.3.1系统层次图
3.3.2管理员登录模块
管理员信息分为管理员账号,密码,管理员编号三项。
本系统使用初始给出的管理员ID,不提供管理员账号注册。
3.3.3团队系统模块
3.3.3.1报名子模块
此模块实现报名表的录入,对输入数据格式进行检查。
并且在录入数据库之前能够判断人数是否到达上限并返回。
点击“继续录入”或“生成报表”后,该条记录写入报名表,并查询路线表生成相对应的团队表,返回相应界面。
团队编号生成方式:
T或W开头,其中T为省内团,W为省外团;01至05分别代表周一至周五的出行;线路代号01至05,然后接年、月、日,为出行日期(格式如:
19930117),结尾为管理员编号,01至03,合计15位编号。
3.3.3.2计划报告生成子模块
此模块实现通过查询团队表,生成符合要求的各类计划报告(.txt文件)
文档名称依次为:
餐饮计划报告、住宿计划报告、交通计划报告、票务计划报告
文档格式:
3.3.4结算系统
3.3.4.1收入录入子模块
收入表信息录入,对输入数据格式进行检查。
进行点击“继续录入”该条记录写入收入表并返回录入界面。
3.3.4.2结算子模块
首先选择需要结算的日期,从收入表和团队表中读取对应日期的收入支出项目和金额,
按照公式:
利润=团费(团队表,固定数据)-收入金额(收入表)计算。
并录入结算表。
3.3.5查询子系统
本模块可以实现团队计划查询和结算查询两种查询,首先选定查询类型和查询日期,点击“查询”后完成查询,若没有要查询的记录则显示“无记录”,若有符合条件则显示查询结果,点击“确定“返回查询界面。
3.4外部接口需求
3.4.1用户界面
采用windows图形化界面,遵循如下规则:
1、提供简单的错误处理
2、提供信息反馈,用多种信息提示用户当前的软件运行状态
3、显示启动画面,画面要简洁明了
3.4.2硬件接口
支持一般PC机及笔记本电脑
3.4.3软件接口
运行于WindowsXP操作系统或更高版本
3.4.4通讯接口
IE浏览器6或更高版本,包括64位浏览器
3.5其他限定要求
限定性要求:
1、数据库指定为SQLSERVER。
2、验收方式为双方联合测试验收。
3、软件版权为用户方所有。
4、网络环境下、WINDOWS操作系统平台上运行。
5、图形化界面
4详细设计
4.1具体实现
4.1.1管理员登陆
算法要求:
无具体算法要求
实现:
classadmin//管理员类
{
publicvoidSetAdminID()//设置管理员ID
//打开管理员表
publicstringGetAdminID()//获取表中管理员ID
publicobjectSelectPWFromAdminID(stringAdminID)//获取对应管理员ID的密码
publicobjectSelectIDFromAdminID(stringAdminID)//获取对应管理员ID的编号
}
4.1.2团队系统
4.2.1报名子系统
算法要求:
无具体算法要求
实现:
classUser//用户类
{
publicvoidSetUser()//报名表项初始值设置
//打开报名表(SignUp)
//报名表数据获取
publicboolInsertUser()//录入报名表
{
if()//判断人数是否到达上限,若到达上限则显示“人员已满!
无法录入当
前数据!
”
//将数据录入报名表(SignUp)
if()//录入成功,显示“录入成功!
”
else()//录入失败,显示“录入失败!
”
}
privateintgetWeek()//获取星期,作为团队编号项,返回函数
}
4.2.2团队管理子系统
算法要求:
无具体算法要求
实现:
classTeam//团队管理类,含有计划生成和团队查询
{
//打开团队表(team),报名表(SignUp)
publicvoidSetTeam()
publicboolBuidTeam()//建立团队,获取团队信息数据
{
//获取团队信息数据
if()//判断团队是否到达本周上限
else()
}
publicDataSet()//录入团队表
publicDataSetSelectTeam()//团队查询
}
4.1.3结算系统
算法要求:
无具体算法要求
实现:
classBalance//结算类,含有收入录入子系统,结算以及结算查询子系统
{
//打开结算表(Balance)
publicDataSetSelectBalance()//结算查询
//设置收入数据
publicvoidSetIncome()
//打开收入表(Income)
publicboolAddIncome()
{
//将收入数据录入结算表(Balance)
if()//录入成功,显示“录入成功!
”
Else()//录入失败,显示“录入失败!
”
}
publicboolAddBalance()//添加结算
{
//结算统计计算,并将结算结果录入结算表(Balance)
if()//录入成功,显示“录入成功!
”
else()//录入失败,显示“录入失败!
”
}
privatedecimalGetRevenue()//获取团费收入
privatedecimalGetIncomeTime()//获取收入金额
privatedecimalGetGain()//获取利润
}
4.2数据库设计
4.2.1数据字典
报名表(SignUp)
中文字段名
英文字段名
数据类型
是否主键
是否外键
备注
客户姓名
UserName
Nvarchar(10)
N
N
自增,不可为空
身份证号
ID
Varchar(18)
Y
N
考虑到有18位的身份证,不可为空
出行日期
GoTime
datetime
N
N
不可为空
星期
Week
int
N
N
不可为空
联系方式
Phone
Varchar(30)
N
N
手机,电子邮件..
不可为空
游客类型
Type
int
N
N
不可为空
路线编号
RouteID
int
N
Y
不可为空
省内外
Province
Char
(1)
N
N
不可为空
路线表(Route)(五条记录)
中文字段名
英文字段名
数据类型
是否主键
是否外键
备注
路线编号
RouteID
int
Y
N
自增,不可为空
路线内容
RouteContent
Nvarchar(50)
N
N
不可为空
人数上限
PeopleUp
int
N
N
不可为空
人数下限
PeopleDown
int
N
N
个人价
OnePrice
money
N
N
团体价
TeamPrice
money
N
N
个人团费收入
OneRevenue
money
N
N
团体团费收入
TeamRevenue
money
M
N
团队表(Team)(生成)
中文字段名
英文字段名
数据类型
是否主键
是否外键
备注
团队编号
TeamID
int
Y
N
自增,不可为空
路线编号
RouteID
int
N
Y
不可为空
身份证号
ID
Varchar(18)
N
Y
不可为空
出行日期
GoTime
datetime
N
N
团费收入
Revenue
money
N
N
根据该游客的类型选择个人或团体
计划表(Plan)(五条记录)
中文字段名
英文字段名
数据类型
是否主键
是否外键
备注
路线编号
RouteID
int
Y
N
不可为空
订餐地点
ReservationLocation
Nvarchar(20)
N
N
不可为空
订餐星级
ReservationLevel
int
N
N
不可为空
订餐价格
ReservationPrice
money
N
N
住宿地点
StayLocation
Nvarchar(20)
N
N
住宿星级
StayLevel
int
N
N
住宿价格
StayPrice
money
N
N
车队编号
CarID
int
N
N
车队价格
CarPrice
money
N
N
景点内容
Spots
Nvarchar(20)
N
N
门票价格
EntranceTicketPrice
money
N
N
收入表(Income)
中文字段名
英文字段名
数据类型
是否主键
是否外键
备注
收入项目名称
IncomeProjectName
Nvarchar(20)
N
N
不可为空
收入金额
IncomeMoney
money
N
N
不可为空
出行日期
GoTime
datetime
Y
N
不可为空
结算表(Balance)
中文字段名
英文字段名
数据类型
是否主键
是否外键
备注
利润
Gain
money
N
N
不可为空
结算日期
BalanceDate
datetime
Y
N
不可为空
管理员表(admin)
中文字段名
英文字段名
数据类型
是否主键
是否外键
备注
管理员账号
AdminID
Nvarchar(10)
Y
N
不可为空
管理员密码
AdminPW
Nvarchar(10)
N
N
不可为空
管理员编号
ID
int
自增
4.2.2数据要求
1、团队编号为:
T或W开头,其中T为省内团,W为省外团;01至05分别代表周一至周五的出行;线路代号01至05,然后接年、月、日,为出行日期(格式如:
20131001),结尾为旅行社分支机构代号,01至99,合计15位编号。
2、客户姓名最多15个汉字或英文字母,包括拼音字母、
3、身份证信息按国家标准。
4、日期按年月日(如20131001)格式。
5、价格金额均为人民币单位,整数部分最多6位,小数2位。
6、联络方式可以为电话或电子邮件。
7、住宿的标准为星级和价格。
5用户界面设计
5.1管理员登陆
5.2主菜单
5.3报名录入
5.4计划报告生成
5.5计划报告预览
5.6结算系统
5.7查询系统
5.8查询结果显示
6测试计划
本测试计划采用黑盒测试,具体模块测试计划如下:
管理员登陆模块测试
本系统为用户提供了一个管理员账号,账号:
admin,密码:
admin,管理员编号:
02。
不提供管理员注册,给定的管理员账号密码不匹配或其他非合法账户皆弹窗显示“账户密码不匹配”来提醒。
团队系统模块测试
本系统不提供数据格式检查,测试重点为数据是否录入数据库,是否可以生成计划报告,计划报告是否正确。
结算系统模块测试
本系统不提供数据格式检查,测试重点为数据是否录入数据库,利润结算的结果是否正确等。
查询系统模块测试
此模块测试重点为查询是否实现,查询结果是否正确,具体为查询的是否是为选定日期的结果,查询结果的正确性等。
7开发计划
项目
具体任务
负责人
可行性分析报告
需求分析报告
总体设计报告
详细设计报告
实现
编码
数据库设计
用户界面
后期测试