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“组织机构管理”界面组织机构权限管理采用新的界面,操作权限按模块进行展示
对于某些大型的企业.信息系统,涉及的组织机构较多,模块多.操作权限也多,对用户或角色一一设置模块.操作权限等比较繁琐.我们可以直接对某一组织机构进行权限的设置,这样设置后,同一组织机构的用户就可以拥有 ...
随机推荐
- PKU 1050-To The Max(找矩形内元素最大和)
Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous s ...
- 使用lock_sga和pre_page_sga参数保证SGA常驻物理内存 .
Lock_sga LOCK_SGA locks the entire SGA into physical memory. It is usually advisable to lock the SGA ...
- 使用有限状态机(FSM)编写的敌人AI
using UnityEngine; using System.Collections; public class AttackState : FSMState { public AttackStat ...
- php.ini中最好禁止的一些函数
phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块.WEB 环境等信息. 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec(). 危险等级 ...
- VLC播放器架构剖析
VLC采用多线程并行解码架构,线程之间通过单独的一个线程控制所有线程的状态,解码器采用filter模式.组织方式为模块架构 模块简述:libvlc 是VLC的核心部分 ...
- js获取昨天日期
刚刚js做项目,遇到需要获取昨天日期的问题,网上找了下答案,感觉网上的答案都不太严谨,自己写了个,凑合能用吧,忘大神们抛砖指教. <script type="text/javascri ...
- Jq合成事件绑定
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 11g导入大量包含子分区的数据时表空间不足
问题描述: ORACLE11g使用impdp数据泵导入时遭遇: ORA-01691: Lob 段 ISCS.SYS_LOB0000100750C00045$$ 无法通过 128 (在表空间 RT_DA ...
- Hibernate 查询:HQL查询(Hibernate Query Languge)
HQL是一种面向对象的查询语言,其中没有表和字段的概念,只有类,对象和属性的概念. 使用HQL查询所有学生: public static void main(String[] args) { Sess ...
- [Effective Modern C++] Item 7. Distinguish between () and {} when creating objects - 辨别使用()与{}创建对象的差别
条款7 辨别使用()与{}创建对象的差别 基础知识 目前已知有如下的初始化方式: ); ; }; }; // the same as above 在以“=”初始化的过程中没有调用赋值运算,如下例所示: ...