C#/winform 旅游管理信息系统
工具:Visual Studio 2015,sql server2014
1.系统概述
该旅游管理信息系统可以为游客和公司业务管理员提供服务。游客可以对旅游路线,旅游班次,旅游团,保险,导游,交通工具以及宾馆的信息查询,并且游客可以在线报名旅游。同时公司业务管理员可以对所有报名信息进行处理,确认之后导出报名信息交由旅行社。
2.需求分析
2.1 需求描述
此系统主要供三类用户使用:游客,公司业务管理员,超级管理员
1.对游客应该实现的功能为:
(1).旅游信息查询:旅游线路查询,旅游班次查询,旅游团查询,保险查询,导游查询,交通工具查询,宾馆查询。
(2).报名旅游
2.对业务管理员应实现的功能
(1).报名信息处理:报名信息查询,报名信息修改,报名信息删除,报名信息添加。
(2).报名信息导出
3.超级管理员:对所有数据库进行管理。
2.2 系统业务流程和数据流图
2.2.1 游客的业务流程图

2.2.2 业务管理员流程图

2.2.2 数据流图
1.按系统功能分析得出顶层数据流图:

2.将其功能分解得到1层数据流图:

3.系统设计
3.1 数据库设计
3.1.1系统概念模型
1)该系统主要包括旅游路线,班次,旅游团,游客,导游,交通工具,宾馆,保险单8个实体类型,各实体属性如下:
旅游线路(路线号,起点,终点,天数,主要景点)
旅游班次(班次号,出发日期,回程日期,旅游标准,报价)
旅游团(团号,团名,人数,联系人,地址,电话)
游客(游客编号,姓名,性别,年龄,身份证号码,住址,电话)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话)
保险单(保险单编号,保险费,投保日期)
2)根据系统的需求和业务、数据分析,得到系统概念模型如下图所示:

3.1.2 系统逻辑模型
1.这个ER图有7个联系类型,其中2个1:1联系,3个1:N联系,2个M:N联系。
根据E-R模型和逻辑模型的转换规则,8个实体类型转换成8个关系模式,2个M:N联系转换成2个关系模式。因此,总的ER图可转换成10个关系模式,如下:
旅游线路(路线号,起点,终点,天数,主要景点)
旅游班次(班次号,路线号,出发日期,回程日期,旅游标准,报价)
旅游团(团号,旅游班次号,团名,人数,联系人,地址,电话)
游客(游客编号,团号,姓名,性别,年龄,身份证号码,住址,电话)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话)
保险(保险单编号,团号,人数,保险费,投保日期)
陪同(旅游班次号,导游编号)
食宿(旅游班次号,宾馆编号)

2. 系统10张数据表的具体设计如表1至表10所示。
(1)旅游线路表(Tourism_Line)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Route_Num |
nvarchar(10) |
路线号 |
主键 |
|
Origin |
nvarchar(30) |
起点 |
不允许为空 |
|
Destination |
nvarchar(30) |
终点 |
不允许为空 |
|
Day_Num |
nvarchar(10) |
天数 |
不允许为空 |
|
Attractions |
nvarchar(30) |
主要景点 |
不允许为空 |
(2)旅游班次表(Tourism_Shift)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Tourism_Shift_Num |
nvarchar(10) |
班次号 |
主键 |
|
Route_Num |
nvarchar(10) |
路线号 |
不允许为空 |
|
SetOut_Date |
nvarchar(20) |
出发日期 |
不允许为空 |
|
ReturnTrip_Date |
nvarchar(20) |
回程日期 |
不允许为空 |
|
Tourism_Standard |
nvarchar(50) |
旅游标准 |
不允许为空 |
|
Quoted_Price |
Int |
报价 |
不允许为空 |
(3)旅游团表(Tourism_Group)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Group_Num |
nvarchar(10) |
团号 |
主键 |
|
Tourism_Shift_Num |
nvarchar(10) |
旅游班次号 |
不允许为空 |
|
Group_Name |
nvarchar(10) |
团名 |
不允许为空 |
|
Group_People_Num |
int |
人数 |
不允许为空 |
|
Group_Contact |
nvarchar(20) |
联系人 |
不允许为空 |
|
Group_Address |
nvarchar(20) |
地址 |
不允许为空 |
|
Group_Phone |
nvarchar(20) |
电话 |
不允许为空 |
(4)游客表(Tourist)即报名表
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Tourist_Num |
nvarchar(10) |
游客编号 |
主键 |
|
Group_Num |
nvarchar(10) |
团号 |
不允许为空 |
|
Tourist_Name |
nvarchar(20) |
姓名 |
不允许为空 |
|
Tourist_Sex |
nvarchar(4) |
性别 |
不允许为空 |
|
Tourist_Age |
nvarchar(4) |
年龄 |
不允许为空 |
|
Tourist_IDCard |
nvarchar(20) |
身份证号 |
不允许为空 |
|
Tourist_Address |
nvarchar(20) |
住址 |
不允许为空 |
|
Tourist_Phone |
nvarchar(20) |
电话 |
不允许为空 |
(5)导游表(Guide)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Guide_Num |
nvarchar(10) |
导游编号 |
主键 |
|
Guide_Name |
nvarchar(20) |
姓名 |
不允许为空 |
|
Guide_Sex |
nvarchar(4) |
性别 |
不允许为空 |
|
Guide_Age |
nvarchar(4) |
年龄 |
不允许为空 |
|
Guide_IDCard |
nvarchar(20) |
身份证号 |
不允许为空 |
|
Guide_Address |
nvarchar(20) |
地址 |
不允许为空 |
|
Guide_Phone |
nvarchar(20) |
电话 |
不允许为空 |
|
Guide_Language |
nvarchar(20) |
语种 |
不允许为空 |
|
Guide_Performance |
nvarchar(20) |
业绩 |
不允许为空 |
(6)交通工具表(Transportation)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Tourism_Shift_Num |
nvarchar(10) |
旅游班次号 |
主键 |
|
SetOut_Transportation |
nvarchar(10) |
出发工具 |
不允许为空 |
|
SetOut_Date |
nvarchar(20) |
出发日期 |
不允许为空 |
|
SetOut_Shift_Num |
nvarchar(10) |
出发班次 |
不允许为空 |
|
SetOut_Time |
nvarchar(10) |
出发时间 |
不允许为空 |
|
ReturnTrip_Transportation |
nvarchar(10) |
回程时间 |
不允许为空 |
|
ReturnTrip_Date |
nvarchar(20) |
回程日期 |
不允许为空 |
|
ReturnTrip_Shift_Num |
nvarchar(10) |
回程班次 |
不允许为空 |
|
ReturnTrip_Time |
nvarchar(10) |
回程时间 |
不允许为空 |
(7)宾馆表(Hotel)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Hotel_Num |
nvarchar(10) |
宾馆编号 |
主键 |
|
Hotel_Name |
nvarchar(20) |
宾馆名 |
不允许为空 |
|
Hotel_City |
nvarchar(20) |
城市 |
不允许为空 |
|
Hotel_Star |
int |
星级 |
不允许为空 |
|
Hotel_Price |
nvarchar(20) |
标准房价 |
不允许为空 |
|
Hotel_Contact |
nvarchar(20) |
联系人 |
不允许为空 |
|
Hotel_Post |
nvarchar(10) |
职务 |
不允许为空 |
|
Hotel_Address |
nvarchar(20) |
地址 |
不允许为空 |
|
Hotel_Phone |
nvarchar(20) |
电话 |
不允许为空 |
(8)保险(Insurance)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Insurance_Num |
nvarchar(10) |
保险单编号 |
主键 |
|
Group_Num |
nvarchar(10) |
团号 |
允许为空 |
|
Insurance_People_Num |
int |
人数 |
不允许为空 |
|
Insurance_Price |
int |
保险费 |
不允许为空 |
|
Insurance_Start_Date |
nchar(10) |
投保日期 |
不允许为空 |
(9)陪同(Accompany)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Tourism_Shift_Num |
nvarchar(10) |
旅游班次号 |
主键 |
|
Guide_Num |
nvarchar(10) |
导游编号 |
主键 |
(10)食宿(Accommodation)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Tourism_Shift_Num |
nvarchar(10) |
旅游班次号 |
主键 |
|
Hotel_Num |
nvarchar(10) |
宾馆编号 |
主键 |
注:此系统无需登录即可查看旅游信息,只有当点击报名旅游才需填写游客个人信息,而不报名则不获取用户个人信息,因此数据库中为游客和业务管理员单独增加了两张只用来存放账号和密码的表,两张表如下:
(1).游客账户表(Account_Tourist)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Account_Tourist_Username |
nvarchar(50) |
账户名 |
主键 |
|
Account_Tourist_Password |
nvarchar(20) |
密码 |
不允许为空 |
(2).业务管理员账户表(Account_Business)
|
字段名称 |
数据类型 |
字段说明 |
字段属性 |
|
Account_Business_Username |
nvarchar(50) |
账号名 |
主键 |
|
Account_Business_Password |
nvarchar(20) |
密码 |
不允许为空 |
3.2 概要设计
此系统有三个模块:游客模块,业务管理员模块,超级管理员模块。其中超级管理员可以对数据库中所有数据进行管理,这里主要设计模块为游客模块和业务管理员模块:

4.系统实现
首页:

点击报名:如果没有登录提示游客登录

游客登录界面:

账号注册界面:

登录成功之后填写报名信息:

业务管理员模块:
对报名信息进行增删查改,并且可以将所有报名信息导出到Excel表中:



5.总结
此次数据库系统设计由于太急于求成,快速的写完了系统实现,当把文档写完之后发现系统需要大改,再次证明文档是很重要的。
附上源码下载地址:http://download.csdn.net/detail/xch_yang/9591440
C#/winform 旅游管理信息系统的更多相关文章
- 手把手教你使用FineUI+动软代码生成器开发一个b/s结构的取送货管理信息系统(附源码)之开篇
一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座, ...
- WinForm酒店管理软件--框架
WinForm酒店管理软件--框架 搞软件开发4年多了,现在自认为还是菜鸟,从一开始走上工作岗位各种技术对我都很新奇没解决一个问题都觉得很伟大到后来开始对出路的迷茫,到现在我坚信学什么技术不重要,做什 ...
- timestamp与timedelta,管理信息系统概念与基础
1.将字符串‘2017年10月9日星期一9时10分0秒 UTC+8:00’转换为timestamp. 2.100天前是几号? 今年还有多少天? #timestamp与timedelta from ...
- 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统系列博文索引
近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座,来讲解如何利用FineUI快速开 ...
- JT∕T 905 -2014 出租汽车服务管理信息系统的相关协议研究
出租汽车服务管理信息系统(JT∕T 905 -2014) 国家的相关技术要求2014年7月正式出台,总体有四部分, 第 1 部分:总体技术要求: 第 2 部分:运营专用设备: 第 3 部分 ...
- 杂项:MIS(管理信息系统)
ylbtech-杂项:MIS(管理信息系统) 管理信息系统(Management Information System,简称MIS)是一个以人为主导,利用计算机硬件.软件.网络通信设备以及其他办公设备 ...
- MIS(管理信息系统)
MIS 管理信息系统(Management Information System,简称MIS) 是一个以人为主导,利用计算机硬件.软件.网络通信设备以及其他办公设备,进行信息的收集.传输.加工.储存. ...
- 毕业设计 ASP.Net+EasyUI开发 X X露天矿调度管理信息系统(一)
开篇介绍关于EasyUI技术,界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobo ...
- .NET快速信息化系统开发框架 V3.2 -> WinForm“组织机构管理”界面组织机构权限管理采用新的界面,操作权限按模块进行展示
对于某些大型的企业.信息系统,涉及的组织机构较多,模块多.操作权限也多,对用户或角色一一设置模块.操作权限等比较繁琐.我们可以直接对某一组织机构进行权限的设置,这样设置后,同一组织机构的用户就可以拥有 ...
随机推荐
- Seletion Sort
referrence: GeeksforGeeks The selection sort algorithm sorts an array by repeatedly finding the mini ...
- 让magento的validate验证hidden field
Object.extend(Validation, { isVisible : function(elm) { return true; }, insertAdvice : function(elm, ...
- MySQL搜索: WHERE 多条件
WHERE能够按多条件进行搜索. products表例如以下: a WHERE后以and 接两个条件以及三个条件进行搜索: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...
- 提交App,请求Apple加急审核
转载自:http://blog.csdn.net/showhilllee/article/details/19541493 提交完毕后进入加急审核页面. 链接:https://developer.ap ...
- android——拍照,相册图片剪切其实就这么简单
接触android这么久了.还没有真正的浩浩看看android拍照,相册图片剪切到底是怎么回事,每次都是从别人的代码一扣,就过来了.其实,谷歌提供的API已经很强大.只需要用的好,就那么几句就可以搞定 ...
- 【Remoting-4】
[服务对象三种激活方式的不同] [1]客户端激活方式 [A]对象的创建,对象方法的执行都是在远程服务端. [B]服务端为每一个客户端创建其专属的对象,为这个客户提供服务,并且保存状态 [C]可以从远程 ...
- C#制作简易屏保(转)
C#制作简易屏保[原创] 原始网址: http://www.cnblogs.com/drizzlecrj/archive/2006/10/06/522182.html 2006-10-06 16:25 ...
- HDU 2604 - Queuing
长度为 n 有男有女的队伍里没有 fmf 和 fff 的序列有多少 判断最后一个人无法得出结论 于是判断最后两人的递推式: fm(n) = mm(n-1) //最后两人为fm的长度为n的队伍 只能 ...
- 《C++ Primer Plus 6th》读书笔记 - 第十一章 使用类
1. 运算符重载 2. 计算时间:一个运算符重载示例 3. 友元 1. 友元有三种: 友元函数 友元类 友元成员函数 4. 重载运算符:作为成员函数还是非成员函数 5. 再谈重载:一个矢量类 6. 类 ...
- 获取mssqlserver与access数据库插入的当前行的id
//mssqlserver public static int GetInsertId(string sql) { try { SqlCommand cmd = new SqlCommand(); u ...