旅游导航网站Word格式.docx
《旅游导航网站Word格式.docx》由会员分享,可在线阅读,更多相关《旅游导航网站Word格式.docx(32页珍藏版)》请在冰豆网上搜索。
订票模块用户能够订购旅行景点的票。
治理模块治理员能够添加、删除、修改各景点信息以及治理用户等。
2.2功能设计
在本系统中,有两类用户:
系统治理员、游客。
两种不同的用户具有的操作权限以及能够操作内容均不一样。
本系统的后台治理员具有专门大的自主权,系统治理员要紧负责公布信息、查询、添加、删除、修改旅行景点信息、治理用户。
而游客只能使用治理员给予的权限进行相关的操作。
游客能够扫瞄信息、查询景点信息、留言板留言、写自己的旅行日志、订购游票等。
依照上面的要求,从操作功能上能够分为两个类:
一个是通用操作,要紧实现用户的注册、登录和修改密码等;
另一种是为不同用户定制不同操作。
1、通用操作
〔1〕登录
每个用户都能够用自己的账号登录系统,不同的权限登录到不同页面。
〔2〕修改密码
假如用户不记得登录密码都能够通过自己的邮箱验证进行密码的修改。
2、用户所具有功能
〔1〕后台治理员
第一治理员要治理整个网站的布局以及内容,同时也要对用户进行治理。
此处我们设了两个重要的功能,治理员要紧完成的功能一是对旅行景点信息进行添加、修改、删除;
对用户进行治理,能够添加用户,编辑用户,删除用户。
〔2〕游客
①用户注册
用户首次进入网站第一要注册自己的账号如此才能进入网站进行具体的操作,注册时有一定的限制,比如用户名、密码不能为空;
密码要六位以上;
邮箱能够选填,但必须符合邮箱的格式,用于找回自己的密码。
②热门景点查询模块
该功能模块中用户能够查询网站上已有的旅行景点地点信息、票价信息、景点热度信息、旅行时刻等。
该模块要紧是方便用户对本站景点进行相关检索,包括景点所在地、景点名称,然后返回检索结果。
用户可依照自己不同的需要,系统依照用户选择的不同组合检索方式和输入的关键字进行相关检索,得到用户检索的信息。
详情内还有具体景点的介绍。
③留言板功能
该功能模块要紧是方便用户进行沟通和交流,用户能够发表自己的看法也可扫瞄其他用户的留言。
为了让旅行部门把握各方面的反馈信息,本系统设置了留言簿模块。
通过此模块,能够上传留言、查看以往的留言信息。
留言信息包括:
留言的用户、留言内容、回复。
④订票模块
该功能模块要紧是客户扫瞄了相关资料后,可在订票菜单里订票。
具体操作包括,用户选择景点然后价格会自动跟出,还能够选择订的票数以及选择乘车的方式还有旅行时刻,自己的联系方式,填写完整后,上交给系统。
然后系统数据库就会记录用户的操作。
同时用户还能够对自己预定的票进行添加、修改、删除。
而系统通过简单的逻辑判定信息是否有错然后来确定预定是否成功。
⑤信息扫瞄模块
实现的要紧功能包括查看站内公告(最新公告及近期的所有公告)、网站的联系方式等,而且点击景点会显现旅行景点介绍详细信息。
⑥我的旅行模块
此模块是游客用来写自己的旅行日记的,只有自己能够看到,是游客的私人空间。
2.3数据库设计
数据库是此类系统的核心,系统中所有的信息都储备在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。
数据库软件有专门多,如MicrosoftSQLServer2020等。
本系统中数据库采纳MicrosoftSQLServer2020作为数据库工具。
数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的阻碍。
一个良好的数据库开发过程一样是先系统分析,再逻辑设计,然后物理实现。
系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中依照系统分析设计的一个关系模型。
物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
1、概念设计
本系统的数据库实体要紧有〝用户〞、〝景点〞、〝治理员〞、〝留言〞、〝旅行路线〞等。
其中〝旅行路线〞与〝景点〞存在〝包含〞联系,同时一个旅行路线能够包含N处景点,一处景点能够被M个旅行路线所包含,即〝旅行路线〞与〝景点〞之间是多对多的关系。
同样〝景点〞与〝用户〞存在〝订票〞联系,同时一个用户能够订购N处旅行景点的门票,一处景点的门票能够被M个用户所订购,即〝景点〞与〝用户〞之间是多对多的关系。
关于用户和留言,一个用户能够公布N条留言,而一条留言只能由一个用户公布,因此用户与留言之间是一对多的关系。
同样,用户与旅行笔记之间也是一对多的关系。
整个数据库能够用一个E-R图表示,如图2-2:
图2-2:
数据库E-R图
E—R图中的实体图:
图2-3:
用户实体图
图2-3:
留言实体图
图2-4:
旅行笔记实体图
图2-5:
景点实体图
图2-6:
旅行路线实体图
图2-7:
治理员实体图
2、数据库逻辑设计:
数据库逻辑设计确实是将E—R图转换为关系模型的过程,立即所有实体和关系转换成一系列的关系模式。
转换过程中常见规那么有:
〔1〕一个实体型转换为一个关系模式;
〔2〕一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;
〔3〕一个一对多的联系能够转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;
〔4〕一个多对多的关系转换成一个关系模式。
依照以上四条规那么,下面将E—R图转换成关系模型。
关于〝旅行路线〞和〝景点〞两者之间的关系,就能够依照规那么〔4〕转换成三个关系模式:
景点:
〔景点Id,景点名,省份,景点介绍〕;
旅行路线:
〔路线Id,时刻,价格,热度〕;
包含:
〔包含Id,路线Id,景点Id〕。
关于〝用户〞和〝景点〞和两者之间的〝订票〞关系,就能够依照规那么〔4〕转换成两个关系模式:
用户:
〔用户Id,用户名,用户密码,用户邮箱〕
订票:
〔预定Id,用户Id,景点Id,乘车方式,人数,时刻,,总价〕
关于〝用户〞和〝留言〞两者之间的关系,就能够依照规那么〔3〕转换成一个关系模式:
留言:
〔留言Id,用户Id,用户名,主题,留言内容〕
关于〝用户〞和〝旅行笔记〞两者之间的关系,就能够依照规那么〔3〕转换成一个关系模式:
旅行笔记:
〔旅行笔记Id,用户Id,主题,内容〕
治理员:
〔用户名,密码〕
3、数据库物理实现:
通过数据库系统分析和逻辑设计后,数据库的结构差不多专门清晰,剩下的确实是用一种数据库软件实现如此的结构。
本系统中数据库采纳MicrosoftSQLServer2020作为数据库。
〔1〕景点信息表:
用来储备景点差不多信息,使用景点Id作为主键,如表2-:
1:
表2-1景点信息表
字段名
字段类型
字段意义
景点Id
int
景点的Id
景点名
varchar(50)
景点的名称
省份
景点所在的省份
景点介绍
varchar(300)
〔2〕旅行路线信息表:
储备旅行路线差不多信息,使用路线Id作为主键。
如表2-2:
表2-2旅行路线信息表
路线Id
路线编号
热度
喜爱该景点的用户数
时刻
该景点路线行程时刻
价格
该景点路线行程价格
〔3〕路线包含信息表:
储备旅行路线和景点之间的对应关系,使用〝包含Id〞为主键。
其中路线Id、景点Id为外键,其值必须分别是〝旅行路线信息表〞、〝景点信息表〞内存在的值。
如表2-3:
表2-3路线包含信息表
包含Id
旅行路线和景点对应关系编号
旅行路线编号
景点编号
〔4〕用户信息表:
用户信息表用来储备用户的个人信息,使用用户Id作为主键,如表2-4:
表2-4用户信息表
用户Id
用户编号
用户名
用户昵称
用户密码
用户登录密码
用户邮箱
用户注册邮箱
〔5〕订票信息表:
储备用户与其预定旅行路线的对应关系,使用〝预订Id〞为主键。
其中路线Id、用户Id为外键,其值必须分别是〝旅行路线信息表〞、〝用户信息表〞内存在的值。
如表2-5:
表2-5订票信息表
预订Id
订票编号
乘车方式
varchar〔50〕
成火车或汽车等方式
人数
所订票数
乘车时刻
联系方式
总价
票数*单价
〔6〕留言信息表:
储备各条留言信息,使用留言Id做主键,表中用户Id为外键,其值必须是〝用户信息表〞内存在的值。
设置外键关系能够通过在建立表的窗口中单击右键,在右键菜单中选择〝关系〞,在弹出的对话框中设置外键关系。
如表2-:
6:
表2-6留言信息表
留言Id
留言编号
公布者编号
主题
留言标题
留言内容
varchar(100)
〔7〕旅行笔记表:
储备用户储备的旅行笔记,使用留言Id做主键,表中用户Id为外键,其值必须是〝用户信息表〞内存在的值。
如表2-7:
表2-7旅行笔记表
笔记Id
内容
varchar(500)
〔8〕治理员信息表:
储备治理员差不多信息,使用其用户名作为主键。
8:
表2-8治理员信息表
登陆用户名
密码
登陆密码
3系统实现
3.1关键功能流程图
登陆模块要紧验证不同的用户身份并取得不同的用户操作界面,进行不同的系统操作。
当用户点击登陆按钮,便进入登陆页面,即为登陆模块开始状态。
输入与数据库内记录相匹配的用户名和密码才能顺利登陆。
专门情形下显示专门信息。
通过登陆名区分用户身份并跳转入不同页面。
其流程图如图3-1所示:
图3-1登陆模块流程图
景点查询模块让用户快捷方便地查找其所需要景点的详细信息。
其中景点名、省份为查询条件,查询条件输入格式要正确,结果以表格记录的方式返回给用户。
用户能够通过翻页查看全部搜索结果。
未输入查询条件那么返回全部景点信息,输入信息错误或未在数据库中找到那么返回空记录。
终止界面仍显现搜索框,便于用户再次查询操作。
其流程图如图3-2所示:
图3-2景点查询流程图
〝我的旅行〞模块为用户提供发表旅行笔记的空间,使用户之间旅行经历分享和交流的渠道。
开始界面为输入框,输入内容包括两项:
主题和内容。
其中主题不能为空,系统通过用户登陆记录自动向数据表中加入用户Id、用户名字段,未登陆用户记录为〝游客〞。
用户提交后会显示公布成功或失败的反馈信息。
旅行笔记公布过程终止。
发表旅行笔记的流程图如图3-3所示:
图3-3旅行笔记发表流程图
3.2使用说明
1、系统界面说明
下面是我们的旅行网站系统的预览,此处简单介绍本系统的部分功能。
〔1〕注册页面,如图3-4:
图3-4注册界面图
在用户名和密码处输入用户名和密码,同时要确认密码,邮箱能够选填,如要填写要符合邮箱格式,填完点〝确定〞。
〔2〕登录页面,如图3-5:
图3-5登陆页面图
依照用户名的不同性质跳转到不同的页面。
2、系统治理员界面说明
治理员要紧有两个功能,一是负责公布信息、查询、添加、删除、修改旅行景点信息,二是治理用户。
添加用户,如图3-6:
图3-6添加用户结果图
录入所要添加用户的〝用户名〞、〝密码〞、〝邮箱〞,点击添加就能够成功添加用户。
同时还能够编辑已有的用户,如图3-7:
图3-7用户编辑结果图
对风景治理,能够编辑和删除,如图3-8:
图3-8风景治理图
3、用户界面说明
〔1〕首页景点展现,如图3-9:
图3-9首页简介图
点击链接就能够查看每个景点的详细介绍,点击〝关于我们〞有我们公司的简介以及联系方式等信息。
〔2〕景点查询,如图3-10:
图3-10查询结果图
游客输入关键字就能够查询相关的景点,例如在省份中输入〝山〞那么所有带山的省份的旅行景点都会被查询出来,然后点击〝详情〞那么得到每个景点的详细信息,如图3-11:
图3-11详情结果图
〔3〕网上订票,如图3-12:
图3-12订票操作图
用户能够在订票模块输入相关的信息进行订票,用户选择景点然后价格会自动跟出,还能够选择订的票数以及选择乘车的方式还有旅行时刻,自己的联系方式,填写完整后提交。
〔4〕我的留言板,如图3-13:
图3-13留言板界面图
游客能够进行留言,点击〝发表〞之后会跳转到留言发辫成功页面,同时留言内容会显示在所有用户留言的列表内。
〔5〕我的旅行,如图3-14:
图3-14旅行日志界面图
在〝我的旅行〞里能够记载旅行乐事,抒发自己的心情等等,同时游客能够更新发表的信息,也能够删除已发的笔记。
4总结
近两周的实习就要终止了,回首那个过程,在我们小组进行的课程设计过程中,大伙儿用了将近两个星期的时刻,克服了种种困难,在老师的指导下完成了本治理信息系统设计。
然而由于技术学习远远不够,知识把握程度不够等等因素的制约,我们的设计存在专门大的不完美之处,距离我们与其想象的目标差距甚远。
下面就我们本治理信息系统设计的总结如下:
1、学习所得:
通过此次课程设计,收成颇多,加深了我们对理论知识的明白得,也锤炼了我们参阅书籍的动手能力和学习能力,使理论和实际联系起来。
在设计网站的过程中我们遇到专门多问题,也发觉自己把握的知识远远不够,在开发的过程中,走了许多弯路也出了许多错误,然而这些体会和教训使我们增长了知识。
通过我们的努力协作,积极主动的学习使我们对ASP有了进一步的了解。
这些知识必定会给以后的工作和学习带来专门大益处。
在这次的课程设计中不仅检验了我们所学习的知识,也培养了我们的能力。
在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。
我们学会了合作,也学会了为人处事。
总之整个课程设计让我们受益匪浅,
2、学习到的教训:
第一,网站的设计不能太单调,如此没有吸引力,能够适当的插入图片来美化网站;
其次,网站的布局专门重要,布局做不行,整个网站就变得乱乱的,给人不舒服的感受;
最后,设计网站时要多采纳别人意见,群众的力量是伟大的,遇到不明白的就多问。
不及时的沟通讨论往往会白费专门多的时刻,因此小组内要加强合作,只有团队协作一致才能高效的完成任务。
3、比较遗憾的地点:
由于时刻的限制和我们知识的匮乏,网站设计的不是专门完美,功能可能有些欠缺。
专门是数据库做的不够好,还有待提高,但这些差不多上我们自己做的。
假如还有我们没发觉的缺点期望老师能给予指正。
附录
default
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Data.SqlClient;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
if(Session["
username"
]!
=null)
Label1.Text=Session["
].ToString()+"
你好,欢迎来我爱旅行"
;
//LinkButton1.Visible=false;
LinkButton2.Visible=false;
}
}
}
default2治理员登录后界面
publicpartialclassDefault2:
protectedvoidGridView1_RowCommand(objectsender,GridViewCommandEventArgse)
if(emandName=="
insert"
)
SqlDataSource1.InsertParameters.Clear();
SqlDataSource1.InsertParameters.Add("
用户名"
TextBox1.Text);
密码"
TextBox2.Text);
邮箱"
TextBox3.Text);
SqlDataSource1.Insert();
protectedvoidButton1_Click(objectsender,EventArgse)
TextBox1.Text="
"
TextBox2.Text="
TextBox3.Text="
登录页面
publicpartialclassLogin:
Response.Redirect("
找密码.aspx"
);
protectedvoidLoginButton_Click(objectsender,EventArgse)
if(UserName.Text=="
admin"
&
&
Password.Text=="
Default2.aspx"
return;
stringusername=UserName.Text.Trim();
stringpassword=Password.Text.Trim();
stringMycon="
DataSource=(local);
InitialCatalog=课程设计;
IntegratedSecurity=True"
SqlConnectionSqlcon=newSqlConnection(Mycon);
stringFindStr="
selectcount(*)from用户表where用户名='
+username+"
'
and密码='
+password+"
try
Sqlcon.Open();
SqlCommandMycomand=newSqlCommand(FindStr,Sqlcon);
Objecta=newObject();
a=Mycomand.ExecuteScalar();
if((int)a==0)
Label1.Text="
用户名或密码错误!
Label1.Visible=true;
else
Session["
]=username;
D