成绩 | |
批阅教师 | |
日 期 |
酒店管理系统
课程设计报告
课程名称 数据库原理及运用
专业班级 电信1012班
学 号 2010118504143
学生姓名 周志恒
指导教师 殷群
2013 年 5 月 15 日 |
摘要 2
前言 3
一、总体设计 4
1、课题总体功能图 4
2、课题功能总体设计描述 5
二、详细设计 5
1、数据库设计 5
2、软件设计 8
3、系统测试 18
三、总结 19
四、参考文献 19
摘要
ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序 。ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了VisuallnterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。
网页设计——网站是企业向用户和网民提供信息(包括产品和服务)的一种方式,是企业开展电子商务的基础设施和信息平台,离开网站(或者只是利用第三方网站)去谈电子商务是不可能的。企业的网址被称为“网络商标”,也是企业无形资产的组成部分,而网站是INTERNET上宣传和反映企业形象和文化的重要窗口。
本次课程设计主要做的是ASP.NET+SQL Server网络应用系统开发。网站中需要的数据库用SQL Server写,网站的页面用C#写,最后二者相结合组成我的课程设计——酒店管理系统。
关键字:酒店管理、网页设计、ASP.NET、SQL Server、C#
前言
为了能更好的强化我们所学的专业知识,学校组织了本次数据库实训,本次课程设计主要做的是ASP.NET+SQL Server网络应用系统开发。自从上世纪90年代中叶,互联网兴起后,网页设计作为一个新兴的设计领域,走上了历史舞台。然而那时候的页面设计是简陋的,即便是象Yahoo!这样的巨头,当时的页面也是相当简单的。然页随着设计技术的飞速发展,设计师有了更多象CSS这类可利用的利器。网页设计水准便上了一个新的台阶。网页设计作为一个新的设计门类,其特点是综合的。它又象平面设计,又象交互设计,既有静态的,又有动态的内容。从其本质来看,是和人机界面设计属于同一类型的。而媒体网站的网页设计作为一个有独特针对性的门类,带有个性定位。比照中外媒体类网站首页设计的差异,我们可以看到许多不同。这种不同,有的是水准的差距,有的是定位的差距。从各自不同的特点来看,国内的媒体网站比较追求信息量,而国外的媒体网站更侧重追求信息的质量、更新率和可读性等更质化的指标。这两种不同的定位客观上给设计带来了不同的要求。此次我们的课程设计并没有要求的十分严格,毕竟我们是初学者,因此我们的新颖之处就在于页面简单,没有一些花哨的页面,打开页面就能开到每一个链接代表的具体功能是什么。
一、总体设计
1、课题总体功能图
2、课题功能总体设计描述
现代酒店的客房管理和计算机系统结合得非常紧密,很多酒店客房服务的有效执行和监督都依赖于完善的计算机酒店挂历系统。酒店客房管理系统可以实现酒店各部门信息以最快、最准确、最全面的形式传输、共享,是酒店前后台联网的一个网络系统。他的目标是实现客房管理的系统化、规模化和自动化,使酒店管理真正有经验管理进入到科学管理。
酒店管理系统主要提供高效便捷的信息查阅平台以及企业管理功能,用户可以通过该系统查阅相关房间类型及信息,管理员可以管理所有信息。根据酒店客房管理系统的理念,此酒店客房管理系统满足以下需求:
(1)、具有设置酒店客房类型和房间信息的功能
(2)、提供查询客户的信息功能
(3)、提供简单的酒店工作人员的添加用户和修改密码功能
二、详细设计
1、数据库设计
1)、E-R图
(1)实体之间关系的E-R图
(2)客房实体E-R图
(3)客户实体E-R图
(4)客房类型实体E-R图
(5)管理员实体E-R图
2)、关键数据
(1)客户信息表
(2)房间信息表
(3)房间类型表
(4)员工信息表
2、软件设计
1)、界面设计
(1)主界面设计
主界面包含酒店的总体风貌、酒店介绍及相应的功能链接,例如员工管理信息、房间类型管理、客户信息查询。当点击相应的控件时它会自动跳转到对应的页面
(2)员工信息管理界面
员工管理界面主要提供员工修改信息,员工可以在此修改自己的密码,当然依然包含主界面、房间类型管理、客户信息查询控件,例如当要返回主界面时,只要点击主界面即可。
(3)员工登陆界面
员工登陆界面提供了工作人员登录管理的窗口,只要在员工登陆界面中员工输入相应的用户名和密码,单击“确认”按钮,系统会将输入信息与数据库信息比对,如果用户的密码输错,则系统自动弹出对话框,提示用户名或密码错误,并返回登录;如果用户密码正确,则将进入系统的首页,进行相应的操作。当然员工登陆界面还包含房间类型管理、客户信息查询等控件。
(4)客户信息查询界面
当酒店需要查询某位客户的信息时可以在这个页面查询。
(5)房间类型管理界面
此界面为客户提供了查询房间类型的平台,当客户需要查询房间信息是只要输入入住的人数即可查到相应房间的情况。
(6)注册界面
这个界面是为刚刚进入该酒店的员工准备的,当他需要查看信息时,只需要在此页面注册一个账号即可。
2)、关键代码
(1)员工信息管理界面下代码
public partial class 员工信息管理 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void register_Click(object sender, EventArgs e)
{
if (username.Text == "" || password.Text == "" || newpassword.Text == "")
Response.Write("");
else if (newpassword.Text != ackpassword.Text)
Response.Write("");
else
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = @"Data Source=308-T; Initial Catalog=ST_GinShopManage;User ID=sa;Password=123456;database=ST_GinShopManage;Integrated Security=True";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "update ST_UsersInfo set ST_Password='" + newpassword.Text + "'where ST_Name = '" + username.Text + "'and ST_Password='" + password.Text + " '";
try
{
conn.Open();
cmd.ExecuteNonQuery();
Response.Write("");
}
Finally
(2)注册界面下代码
public partial class 注册 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void register_Click(object sender, EventArgs e)
{
if (username.Text == "" || password.Text == "")
Response.Write("");
else if (password.Text != ackpassword.Text)
Response.Write("");
else
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = @"Data Source=308-T; Initial Catalog=ST_GinShopManage;User ID=sa;Password=123456;database=ST_GinShopManage;Integrated Security=True";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into ST_UsersInfo(ST_Name,ST_Password) values( '" + username.Text + "','" + password.Text + "')";
try
{
conn.Open();
cmd.ExecuteNonQuery();
Response.Write("");
}
finally
{
conn.Close();
}
}
}
protected void username_TextChanged(object sender, EventArgs e)
{
}
protected void ackpassword_TextChanged(object sender, EventArgs e)
{
}
}
(3)客户信息查询界面下代码
public partial class 客户信息查询 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = @"Data Source=308-T;Initial Catalog=ST_GinShopManage;Integrated Security=True";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from ST_CustomersInfo where ST_CIdentityId= '" + TextBox1.Text + "'";
System.Data.SqlClient.SqlDataAdapter adp = new System.Data.SqlClient.SqlDataAdapter();
adp.SelectCommand = cmd;
DataSet ds = new DataSet();
adp.Fill(ds, "T");
GridView1.DataSource = ds.Tables["T"];
GridView1.DataBind();
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
}
(4)房间类型管理界面下代码
public partial class 房间类型管理 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = @"Data Source=308-T;Initial Catalog=ST_GinShopManage;Integrated Security=True";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from ST_RoomCategory where ST_RCategoryId= '" + TextBox1.Text + "'";
System.Data.SqlClient.SqlDataAdapter adp = new System.Data.SqlClient.SqlDataAdapter();
adp.SelectCommand = cmd;
DataSet ds = new DataSet();
adp.Fill(ds, "T");
GridView1.DataSource = ds.Tables["T"];
GridView1.DataBind();
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
}
(5)员工登陆界面下代码
public partial class _Default : System.Web.UI.Page
{
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection conn=new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = @"Data Source=308-T;Initial Catalog=ST_GinShopManage;User ID=sa;Password=123456;database=ST_GinShopManage;Connection Reset=false";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = conn;
cmd.CommandText="select * from ST_UsersInfo where ST_Name ='"+TextBox1.Text+"' and ST_Password='"+TextBox2.Text+"'";
System.Data.SqlClient.SqlDataAdapter adp =new System.Data.SqlClient.SqlDataAdapter();
adp.SelectCommand =cmd;
DataSet ds =new DataSet ();
adp.Fill(ds,"T");
if (ds.Tables ["T"].Rows.Count> 0)
{
Response.Write("");
}
else
Response.Write("");
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Write("");
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
Response.Write("");
}
protected void LinkButton3_Click(object sender, EventArgs e)
{
Response.Write("");
}
protected void LinkButton4_Click(object sender, EventArgs e)
{
Response.Write("");
}
protected void LinkButton5_Click(object sender, EventArgs e)
{
Response.Write("");
}
protected void LinkButton6_Click(object sender, EventArgs e)
{
}
}
3、系统测试
1)、此次课程设计先做的是页面设计,但是在一开始插入图片的时候我所插入的图片左上角有一个小小的叉叉,怎么也不去掉,在浏览器中也看得见,后来是问了同学,他告诉我正确的插入方法才解决的。
2)、在数据库的建立中也遇到问题,虽然以前有上数据库的课,也在机房做过数据库的建立,但是由于对数据类型不是很清楚,因此总是要向周围的同学请教,某个数据是什么类型。
3)、此次课程设计还需要编程,而且用的是C#,由于我们之前没有学过C#,因此除了许多的问题,虽然有的老师还在我们做之前讲了一遍,但是到自己做的时候就会出错,像跳转语句,有的语句和数据库中的一样例如SELECT、UPDATE、INSERT等语句,但是在写的时候却不知道具体放在什么位置,这个也是在老师和同学的帮助下才完成的。
4)、在数据库和VS 2005的链接中放了一个很低级的错,就是我的电脑和学校的电脑的用户名不同,在我链接的时候老师弹出出错的对话框,而且我也检查代码是否有出错,但是就是不知道问题出在哪,后来问旁边的同学,他直接点开用户名,说“这个你也不改改,当然不对”,我才明代过来。
5)、最后就是调试,调试过程中遇到的问题是最多的,有的界面在网页中打开就出错,有的错误根据他的提示还能自己解决,但是有的只能在来时和通的帮助下解决。
三、总结
实训已经结束了,但是我还意犹未尽,虽然此次实训比较短暂仅仅一周的时间,但是我还是学到了许多的知识。本次课程设计以ASP.NET和SQL Server 2005为主要工具进行酒店管理系统的构建,经过一个星期的实训,让我将书本上的理论与实践相结合,领会到了许多平时课堂上所没有接受的课外知识课外训练,懂得如何去运用自己学到的书本上的知识,而进行的一次分析设计综合的训练。而本次实训的目的是让我们掌握数据库系统的原理、技术、将理论与实际相结合,应用现有的数据库管理系统软件、规范、科学地完成一个设计与实现。此次课程设计使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习C语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了C#还有网页中用的Html语言、asp语言有些能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西。希望在今后中,SQL Server能给我更多帮助。
四、参考文献
1、刘金岭、冯万利、张有东主编.数据库原理及运用.北京.清华大学出版社,2009.7
2、胡海璐、汪孝宜、丁恩生主编.网络系统开发治理精粹.电子工业出版社.
3、王健南 .ASP数据库管理项目方案精解.北京:航空工业出版社,2006.10
4、奚江华 著.圣殿祭司的ASP.NET2.0开发详解:使用C#.2版.—北京:电子工业出版社,2008.4
5、张树亮、李超编著.ASP.NET2.0+SQL Server网络应用系统开发案例精解.清华大学出版社.
6、俊平.Windows 2000 Server入门[M].北京:电子工业出版社,2002.20-63.
7、萨师煊,王珊.数据库系统概论[M] .北京:高等教育出版社,2000.
8、郭睿志、张学志编著.C#+SQL Server项目开发实践.中国铁道出版社
9、雷之宇主编.C#语言实用教程.中国铁道出版社
10、俊平.Windows 2000 Server入门[M].北京:电子工业出版社,2002.20-63.