酒店信息管理系统软件工程设计说明(有图)
酒店信息管理系统软件工程设计说明(有图)
酒店信息管理系统软件工程设计说明(有图)xxx大学软件详细设计说明书项目名称:酒店信息管理系统实验课程:年级:专业:班级:学号:姓名:指导教师:目录一、绪论···································································错误!未定义书签。
1.1开发背景·······················································错误!未定义书签。
软件工程课程设计(酒店管理系统)
《软件工程》课程设计报告题目:酒店管理系统一.1.1 系统介绍 (3)1.2 系统设计目标 (3)1.3 开辟与运行环境 (3)1.4 系统功能 (3)1.5 系统总体功能需求与性能需求 (4)1.6 业务流程分析 (4)1.7 人员分配 (4)2.1 数据字典 (5)2.2 需求规格说明书 (5)a) 登录模块 (5)b) 前台预定模块 (9)c) 前台接待模块 (11)d) 收银模块 (13)1.1 系统介绍酒店管理系统是一套功能强大而又简便实用管理管理软件,其实现功能包括客房预定系统、前台接待系统、前台收银系统、帐务系统、系统、管理者系统`、帐务报表、匡助信息等功能模块,实现了餐饮住宿娱乐企业日常营运全面自动管理,是餐饮住宿娱乐企业进行电脑信息化管理理想选择。
1.2 系统设计目标为酒店设计出一款现代化管理系统,可以完成酒店所有日常工作,包括客房预定、前台接待、账务结算等业务。
酒店管理系统将先进电脑技术及现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念服务与管理方式。
本管理系统参照了大量同类软件,旨在用计算机系统来完成所有能完成工作,并保持很高灵便性与易操作性。
1.3 开辟与运行环境采用企业已经拥有硬件环境, windows XP 等 PC 机上安装PowerBuilder 9.0 进行开辟。
在客户端, windows 2000 ,windows XP, Vista, Windows7 等 PC 机上可以直接运行。
1.4 系统功能模块酒店管理系统客房前台前台系客历登录管理报表(图1 模块图)客房预定模块:提供个人预定、团体预定,预定未定处理,预售查询等功能,预定系统可随时查询 30 天以内酒店客房预售一览表,及可售房间数,可查询某间客房预定情况。
前台接待模块:提供个人入住登记,团体入住登记,修改客人信息,转房,调房,等功能,如果客人入住,将会个客人生成一个惟一账号,并允许客人先消费再付帐,最终结算,如果是团体入住,将设置主账号及分账号,并分清消费情况记入主账户还是分账户。
软件工程课程设计-宾馆信息管理系统-参考模板
分类号编号华北水利水电大学North China University of Water Resources and Electric Power实验报告课程:软件工程实验项目2:软件编码与测试题目:宾馆管理信息系统院系信息工程学院专业计算机科学与技术班级学号201415717姓名李卫朋指导教师庄晋林2017年5 月29 日华北水利水电大学软件工程实验报告2016~2017学年第二学期2014 级计算机科学与技术专业一、实验内容:宾馆管理信息系统任务:入住或预订客房时,用户要对客户管理模块或预订管理模块进行核对审查,并进行登记;客户换房时,要对换房信息进行查询和更新;客户退房时,要进行结算,并对更新客房信息。
主要功能模块:(1)登录模块:对用户身份进行验证,只有合法用户才能进入系统;(2)系统管理模块:对系统用户进行管理,更改用户名、密码、权限等;(3)客房管理模块:对客房信息的添加、修改和删除等;(4)入住管理模块:对客户入住信息的登记、查询等功能(5)订房管理模块:对客户订房信息的登记、查询等。
(6)换房管理模块:对客户换房信息的登记、查询等(7)宾馆结算模块:对已入住宾馆的顾客进行结算及对订房客户已交的押金进行结算、查询。
二、程序源:Win7 64位电脑,vs2012编辑环境,sql2005数据库。
程序源码:1、登录设计:namespace宾馆管理信息系统{public partial class login1 : Form{public login1(){InitializeComponent();}private connection c = new connection();private void button1_Click(object sender, EventArgs e){if(textBox1.Text.Trim().ToString()!= String.Empty && textBox2.Text.Trim().ToString() != String.Empty) {string id = null, pw = null, gd = null;var result = from info in c.linq.loginwhere info.id == textBox1.Text.ToString().Trim()select new{ID = info.id,pw = info.password,gd = info.grade,};if (result.Count() == 0){MessageBox.Show("用户名不存在!");}else if (result.Count() == 1){foreach (var p in result){id = p.ID;pw = p.pw;gd = p.gd;}if (pw.Trim() == textBox2.Text.ToString().Trim()){this.Hide();manger lf = new manger(gd,textBox1.Text.Trim().ToString()); lf.Show();}else{MessageBox.Show("密码错误!");}}}else{MessageBox.Show("不能为空!");}}private void button2_Click(object sender, EventArgs e){this.Close();}private void login1_FormClosed(object sender, FormClosedEventArgs e){System.Environment.Exit(0);}}}2、添加住户设计namespace宾馆管理信息系统{public partial class addpeople : Form{private connection c = new connection();private string s;public addpeople(Form f,string s){this.Owner = f;InitializeComponent();this.s = s;//房间号comboBox1.DropDownStyle = boBoxStyle.DropDownList;}private void button1_Click(object sender, EventArgs e){if (textBox1.Text.Trim().ToString() != String.Empty && comboBox1.Text.Trim().ToString() != String.Empty && textBox3.Text.Trim().ToString() != String.Empty && textBox4.Text.Trim().ToString() != String.Empty){var result = from info in c.linq.roomwhere info.房间号码 == s.Trim().ToString()select new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};foreach (var item in result){if (item.房间单价 <= int.Parse(textBox4.Text.Trim().ToString())){try{guest r = new guest();{r.住店人身份证号码 = textBox1.Text.Trim().ToString();r.姓名 = textBox2.Text.Trim().ToString();r.性别 = comboBox1.Text.Trim().ToString();r.所交押金 = int.Parse(textBox4.Text.Trim().ToString());r.人数 = textBox3.Text.Trim().ToString();r.房间号码 = s;r.入住天数 = 1;r.入住时间 = System.DateTime.Now.Day.ToString();}var edit = c.linq.room.SingleOrDefault<room>(s1 => s1.房间号码 == s.Trim().ToString());if (edit == null){return;}edit.房间是否正在使用 = "是";c.linq.guest.InsertOnSubmit(r);c.linq.SubmitChanges();//修改student的属性;MessageBox.Show(textBox2.Text.Trim().ToString() + " 入住成功");this.Close();}catch{MessageBox.Show("用户已存在!");}}else{MessageBox.Show("所交押金不足!");}}}else{MessageBox.Show("不能为空!");}}private void addpeople_FormClosed(object sender, FormClosedEventArgs e){this.Owner.Owner.Show();}}}3、添加房间设计:namespace宾馆管理信息系统{public partial class addroom : Form{public addroom(Form f){InitializeComponent();this.Owner = f;comboBox1.DropDownStyle = boBoxStyle.DropDownList;}private connection c = new connection();private void button1_Click(object sender, EventArgs e){if (textBox1.Text.Trim().ToString() != String.Empty && comboBox1.Text.Trim().ToString() != String.Empty && textBox3.Text.Trim().ToString() != String.Empty){try{room r = new room();{r.房间号码 = textBox1.Text.Trim().ToString();r.房间种类 = comboBox1.Text.Trim().ToString();r.房间单价 = double.Parse( textBox3.Text.Trim().ToString());r.房间是否正在使用 = "否";}c.linq.room.InsertOnSubmit(r);c.linq.SubmitChanges();MessageBox.Show(textBox1.Text.Trim().ToString()+" 号房间添加成功");this.textBox1.Text = null;this.textBox3.Text = null;boBox1.Text = null;this.textBox1.Focus();}catch{MessageBox.Show("房间号已存在!");}}else{MessageBox.Show("不能为空!");}}private void addroom_FormClosed(object sender, FormClosedEventArgs e){this.Owner.Show();}private void button2_Click(object sender, EventArgs e) {this.Close();}}}4、查看所有房间信息设计:namespace宾馆管理信息系统{public partial class allroom : Form{private connection c=new connection ();public allroom(Form f){InitializeComponent();this.Owner = f;this.listView1.Clear();this.listView1.View = rgeIcon;rgeImageList = this.imageList1;Random rd = new Random();this.listView1.BeginUpdate();var result = from info in c.linq.roomselect new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用, };foreach (var item in result){ListViewItem lvi = new ListViewItem();if(item.房间是否使用.Trim()=="否"){lvi.ImageIndex =0;}else if (item.房间是否使用.Trim() == "是"){lvi.ImageIndex = 1;}lvi.Text = item.房间号.Trim().ToString();this.listView1.Items.Add(lvi);}this.listView1.EndUpdate();}private void listView1_ItemActivate(object sender, EventArgs e){var result = from info in c.linq.roomwhere info.房间号码 == listView1.FocusedItem.Text.Trim().ToString()select new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};foreach (var item in result){DialogResult dr = MessageBox.Show("房间号:" + listView1.FocusedItem.Text.ToString() + "\r\n房间类型:" + item.房间类型 + "\r\n房间单价:" + item.房间单价);}}private void allroom_FormClosed(object sender, FormClosedEventArgs e){this.Owner.Show();}}}5、预订房间设计:namespace宾馆管理信息系统{public partial class bookroom : Form{private connection c = new connection();public bookroom(Form f){InitializeComponent();this.Owner = f;this.listView1.Clear();this.listView1.View = rgeIcon;rgeImageList = this.imageList1;Random rd = new Random();this.listView1.BeginUpdate();var result = from info in c.linq.roomwhere info.房间是否正在使用=="否"select new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};foreach (var item in result){ListViewItem lvi = new ListViewItem();lvi.ImageIndex =0;lvi.Text = item.房间号.Trim().ToString();this.listView1.Items.Add(lvi);}this.listView1.EndUpdate();private void bookroom_FormClosed(object sender, FormClosedEventArgs e){this.Owner.Show();}private void listView1_ItemActivate(object sender, EventArgs e){var result = from info in c.linq.roomwhere info.房间号码 == listView1.FocusedItem.Text.Trim().ToString()select new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};foreach (var item in result){DialogResult dr = MessageBox.Show("房间号:" + listView1.FocusedItem.Text.ToString() + "\r\n房间类型:"+item.房间类型+"\r\n房间单价:"+item.房间单价+"\r\n确认使用么?", "提示", MessageBoxButtons.OKCancel);if (dr == DialogResult.OK){//用户选择确认的操作addpeople a = new addpeople(this, listView1.FocusedItem.Text.Trim().ToString());this.Hide();a.Show();}}}}}6、查看所有用户设计:namespace宾馆管理信息系统{public partial class chakanyonghu : Form{private connection c = new connection();public chakanyonghu(Form f){this.Owner = f;InitializeComponent();var result = from info in c.linq.loginselect new{用户名 = info.id,用户类型 = info.grade,};dataGridView1.DataSource = result;}}}7、修改房间的信息设计:namespace宾馆管理信息系统{public partial class changeroom : Form{private connection c = new connection();public changeroom(Form f){InitializeComponent();this.Owner = f;var result = from info in c.linq.roomselect new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};dataGridView1.DataSource = result;}private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e){string s = Convert.ToString(dataGridView1[0, e.RowIndex].Value).Trim();changeroom2 d = new changeroom2(this, s);d.Show();this.Hide();}private void button1_Click(object sender, EventArgs e){var result = from info in c.linq.roomselect new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};dataGridView1.DataSource = result;}}}namespace宾馆管理信息系统{public partial class changeroom2 : Form{private connection c = new connection();private string s = null;public changeroom2(Form f,string s){InitializeComponent();comboBox1.DropDownStyle = boBoxStyle.DropDownList; comboBox2.DropDownStyle = boBoxStyle.DropDownList;this.Owner = f;this.s = s;var result = from info in c.linq.roomwhere info.房间号码==sselect new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};foreach (var item in result){this.textBox2.Text = item.房间号;this.textBox1.Text = item.房间单价.ToString();boBox1.Text = item.房间类型;boBox2.Text = item.房间是否使用;}}private void button1_Click(object sender, EventArgs e){if(textBox1.Text.Trim().ToString() != String.Empty && textBox2.Text.Trim().ToString() != String.Empty && comboBox1.Text.Trim().ToString() != String.Empty && comboBox2.Text.Trim().ToString() != String.Empty){var edit = c.linq.room.SingleOrDefault<room>(s1=>s1.房间号码==s);if (edit == null){return;}//修改student的属性edit.房间单价= double .Parse( textBox1.Text.Trim().ToString());edit.房间种类 = comboBox1.Text.Trim().ToString();edit.房间是否正在使用 = comboBox2.Text.Trim().ToString();//执行更新操作c.linq.SubmitChanges();MessageBox.Show("房间信息修改成功");this.Close();}}}}8、删除用户信息设计:namespace宾馆管理信息系统{public partial class delete : Form{private string s;private connection c = new connection();public delete(Form f){InitializeComponent();this.Owner = f;var result = from info in c.linq.loginwhere info.grade=="普通用户"select new用户名 = info.id,用户类型 = info.grade,};dataGridView1.DataSource = result;}private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) {s = Convert.ToString(dataGridView1[0, e.RowIndex].Value).Trim();delete2 d = new delete2(s,this );d.Show();this.Hide();}private void button2_Click(object sender, EventArgs e){var result = from info in c.linq.loginwhere info.grade == "普通用户"select new{用户名 = info.id,用户类型 = info.grade,};dataGridView1.DataSource = result;}}}namespace宾馆管理信息系统{public partial class delete2 : Form{private string h;private connection c = new connection();public delete2(string s,Form f){InitializeComponent();h = s;this.Owner = f;var result = from info in c.linq.loginwhere info.id == sselect new{用户名 = info.id,用户类型 = info.grade,dataGridView1.DataSource = result;}private void button1_Click(object sender, EventArgs e) {var result = from m in c.linq.loginwhere m.id == hselect m;c.linq.login.DeleteAllOnSubmit(result);c.linq.SubmitChanges();MessageBox.Show("删除成功");this.Close();}}}9、删除房间信息设计:namespace宾馆管理信息系统{public partial class deleteroom : Form{private connection c = new connection();public deleteroom(Form f){InitializeComponent();this.Owner = f;var result = from info in c.linq.roomselect new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价=info.房间单价,房间是否使用=info.房间是否正在使用,};dataGridView1.DataSource = result;}private void button2_Click(object sender, EventArgs e) {var result = from info in c.linq.roomselect new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};dataGridView1.DataSource = result;}private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) {string s = Convert.ToString(dataGridView1[0, e.RowIndex].Value).Trim();deleteroom2 d = new deleteroom2(this,s);d.Show();this.Hide();}}}namespace宾馆管理信息系统{public partial class deleteroom2 : Form{private connection c = new connection();private string h;public deleteroom2(Form f,string h){InitializeComponent();this.Owner = f;this.h = h;var result = from info in c.linq.roomwhere info.房间号码 == hselect new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};dataGridView1.DataSource = result;}private void button1_Click(object sender, EventArgs e){var result = from m in c.linq.roomwhere m.房间号码 == hselect m;foreach (var item in result){if (item.房间是否正在使用.Trim().ToString() == "否"){c.linq.room.DeleteAllOnSubmit(result);c.linq.SubmitChanges();MessageBox.Show("删除成功");this.Close();}else{MessageBox.Show("该房间正在使用,请先退房!");}}}}}10、查看住户信息:namespace宾馆管理信息系统{public partial class guestmessage : Form{private connection c = new connection();public guestmessage(Form f){this.Owner = f;InitializeComponent();comboBox1.DropDownStyle = boBoxStyle.DropDownList;}private void button1_Click(object sender, EventArgs e){if (comboBox1.Text.Trim().ToString() != string.Empty && textBox1.Text.Trim().ToString() !=string.Empty){switch (comboBox1.Text.Trim().ToString()){case"房间号":var edit = c.linq.guest.SingleOrDefault<guest>(s1 => s1.房间号码.Trim() ==textBox1.Text.Trim().ToString());if (edit != null){MessageBox.Show("房间号:" + edit.房间号码 + "\t\n" + "人数:" + edit.人数 + "\t\n" + "入住天数:" + edit.入住天数 + "\t\n" + "押金:" + edit.所交押金 + "\t\n" + "姓名:" + edit.姓名 + "\t\n" + "身份证号码:" + edit.住店人身份证号码);}else{MessageBox.Show("房间为空!");}break;case"用户姓名":var edit1 = c.linq.guest.SingleOrDefault<guest>(s1 => s1.姓名.Trim() ==textBox1.Text.Trim().ToString());if (edit1 != null){MessageBox.Show("房间号:"+ edit1.房间号码 + "\t\n"+ "人数:" + edit1.人数 + "\t\n" + "入住天数:" + edit1.入住天数 + "\t\n" + "押金:" + edit1.所交押金 + "\t\n" + "姓名:" + edit1.姓名 + "\t\n" + "身份证号码:" + edit1.住店人身份证号码);}else{MessageBox.Show(textBox1.Text.Trim().ToString() + "不存在");}break;case"身份证号":var edit2 = c.linq.guest.SingleOrDefault<guest>(s1 => s1.住店人身份证号码.Trim() == textBox1.Text.Trim().ToString());if (edit2 != null){MessageBox.Show("房间号:"+ edit2.房间号码 + "\t\n"+ "人数:" + edit2.人数 + "\t\n" + "入住天数:" + edit2.入住天数 + "\t\n" + "押金:" + edit2.所交押金 + "\t\n" + "姓名:" + edit2.姓名 + "\t\n" + "身份证号码:" + edit2.住店人身份证号码);}else{MessageBox.Show(textBox1.Text.Trim().ToString() + "不存在");}break;}}else{MessageBox.Show("不能为空!");}}}}11、新用户注册namespace宾馆管理信息系统{public partial class login2 : Form{private connection c = new connection();public login2(){InitializeComponent();comboBox1.DropDownStyle = boBoxStyle.DropDownList;}public login2(Form f){InitializeComponent();this.Owner = f;comboBox1.DropDownStyle = boBoxStyle.DropDownList;}private void button1_Click(object sender, EventArgs e){if(textBox1.Text.Trim().ToString() != String.Empty && textBox2.Text.Trim().ToString() != String.Empty && textBox3.Text.Trim().ToString() != String.Empty && comboBox1.Text.Trim().ToString() != String.Empty){if (comboBox1.Text.Trim().ToString() == "管理员" || comboBox1.Text.Trim().ToString() == "普通用户"){if (this.textBox2.Text.Trim().ToString() == textBox3.Text.Trim().ToString()){try{login l = new login();{l.id = textBox1.Text.Trim().ToString();l.password = textBox2.Text.Trim().ToString();l.grade = comboBox1.Text.Trim().ToString();}c.linq.login.InsertOnSubmit(l);c.linq.SubmitChanges();MessageBox.Show("注册成功");}catch{MessageBox.Show("用户名已存在!");}}else{MessageBox.Show("请再次输入确定密码!");}}else{MessageBox.Show("请选择正确的用户类型!");boBox1.Focus();}}else{MessageBox.Show("不能为空!");}}}}12、主界面设计:namespace宾馆管理信息系统{public partial class manger : Form{private string i,j;//public manger(){InitializeComponent();}public manger(string i,string j){InitializeComponent();this.i = i;this.j = j;}private void button1_Click(object sender, EventArgs e) {this.Hide();login2 l = new login2(this);l.Show();}private void manger_Load(object sender, EventArgs e) {if (i.Trim().Equals("管理员")){this.panel1.Visible = true;this.panel2.Visible = true ;}else if (i.Trim().Equals("普通用户")){this.panel2.Visible = true;this.panel1.Visible = false;}}private void button3_Click(object sender, EventArgs e){this.Hide();delete l = new delete(this);l.Show();}private void manger_FormClosed(object sender, FormClosedEventArgs e) {System.Environment.Exit(0);}private void button4_Click(object sender, EventArgs e){this.Hide();chakanyonghu l = new chakanyonghu(this);l.Show();}private void button5_Click(object sender, EventArgs e){this.Hide();xiugaimima l = new xiugaimima(this, j);l.Show();}private void button6_Click(object sender, EventArgs e){this.Hide();addroom l = new addroom(this);l.Show();}private void button7_Click(object sender, EventArgs e){this.Hide();deleteroom l = new deleteroom(this);l.Show();}private void button8_Click(object sender, EventArgs e){this.Hide();changeroom l = new changeroom(this);l.Show();}private void button2_Click(object sender, EventArgs e){this.Hide();bookroom l = new bookroom(this);l.Show();}private void button9_Click(object sender, EventArgs e){this.Hide();unsubscribe l = new unsubscribe(this);l.Show();}private void button10_Click(object sender, EventArgs e){this.Hide();allroom l = new allroom(this);l.Show();}private connection c = new connection();private ArrayList arl = new ArrayList();private void button11_Click(object sender, EventArgs e){var result = from m in c.linq.guestselect m;foreach (var item in result){if (item.入住时间.Trim() != System.DateTime.Now.Day.ToString()){var edit = c.linq.room.SingleOrDefault<room>(s => s.房间号码 == item.房间号码);if (item.所交押金 >= (item.入住天数 + 1) * edit.房间单价){item.入住天数++;item.入住时间 = System.DateTime.Now.Day.ToString();c.linq.SubmitChanges();}else{try{exitroom r = new exitroom();{r.押金不足的房间号 = item.房间号码;}c.linq.exitroom.InsertOnSubmit(r);c.linq.SubmitChanges();}catch{}MessageBox.Show("请提醒"+item.房间号码+"号房的"+item.姓名+"退房或者续交房费"); }}}var result1 = from m in c.linq.exitroomselect m;dataGridView1.DataSource = result1;}private void button12_Click(object sender, EventArgs e){var result1 = from m in c.linq.exitroomselect m;dataGridView1.DataSource = result1;}private void button13_Click(object sender, EventArgs e){rejiaofei r = new rejiaofei(this);this.Hide();r.Show();}private void button14_Click(object sender, EventArgs e){guestmessage m = new guestmessage(this);this.Hide();m.Show();}private void button15_Click(object sender, EventArgs e){this.Close();}private void button16_Click(object sender, EventArgs e){this.Hide();login1 l = new login1();l.Show();}}}13、用户再次缴费:namespace宾馆管理信息系统{public partial class rejiaofei : Form{private connection c = new connection();public rejiaofei(Form f){InitializeComponent();this.Owner = f;}private void button1_Click(object sender, EventArgs e){try{var edit = c.linq.guest.SingleOrDefault<guest>(s1 => s1.房间号码.Trim() == this.textBox1.Text.Trim().ToString());edit.所交押金 = edit.所交押金 + int.Parse(textBox2.Text.Trim().ToString()); edit.入住天数++;edit.入住时间 = System.DateTime.Now.Day.ToString();var result3 = from m in c.linq.exitroomwhere m.押金不足的房间号 == textBox1.Text.Trim().ToString()select m;c.linq.exitroom.DeleteAllOnSubmit(result3);c.linq.SubmitChanges();MessageBox.Show("缴纳成功!");}catch{MessageBox.Show("缴纳失败,请核对房间号!");}}private void rejiaofei_FormClosed(object sender, FormClosedEventArgs e){this.Owner.Show();}}}15、退房设计:namespace宾馆管理信息系统{public partial class unsubscribe : Form{private connection c = new connection();public unsubscribe(Form f){this.Owner = f;InitializeComponent();}private void button1_Click(object sender, EventArgs e){if (textBox1.Text.Trim().ToString() != string.Empty){var result = from info in c.linq.roomwhere info.房间号码==textBox1.Text.Trim().ToString()select new{房间号 = info.房间号码,房间类型 = info.房间种类,房间单价 = info.房间单价,房间是否使用 = info.房间是否正在使用,};if (result.Count() == 0){MessageBox.Show("请输入正确的房间号!");this.textBox1.Focus();}else if (result.Count() == 1){foreach (var item in result){if (item.房间是否使用.Trim() == "是"){DialogResult dr = MessageBox.Show("房间号:" + textBox1.Text.ToString() + "\r\n确认退房么?", "提示", MessageBoxButtons.OKCancel);if (dr == DialogResult.OK){var result1 = from info in c.linq.guestwhere info.房间号码 == textBox1.Text.Trim().ToString()select new{房间号 = info.房间号码,入住天数 = info.入住天数,所交押金 = info.所交押金,姓名 = info.姓名,};foreach (var item1 in result1){double i = item1.入住天数 * item.房间单价;double j = item1.所交押金 - i;MessageBox.Show("入住天数:" + item1.入住天数 + "\t\n总押金:" + item1.所交押金 + "\t\n消费金额:" + i + "应找回:" + j);var edit = c.linq.room.SingleOrDefault<room>(s1 => s1.房间号码 ==textBox1.Text.Trim().ToString());if (edit == null){return;}edit.房间是否正在使用 = "否";//执行更新操作var result2 = from m in c.linq.guestwhere m.房间号码 == textBox1.Text.Trim().ToString()select m;var result3 = from m in c.linq.exitroomwhere m.押金不足的房间号 == textBox1.Text.Trim().ToString()select m;c.linq.exitroom.DeleteAllOnSubmit(result3);c.linq.guest.DeleteAllOnSubmit(result2);c.linq.SubmitChanges();MessageBox.Show("房号为"+item1.房间号+"的"+item1 .姓名+"退房成功!");this.Close();}}}else{MessageBox.Show("该房间并未订购!无法退订!");}}}}else{MessageBox.Show("请输入房间号!");this.textBox1.Focus();}}}}16、修改用户密码:namespace宾馆管理信息系统{public partial class xiugaimima : Form{private connection c=new connection ();private string i;public xiugaimima(Form f,string i){this.Owner = f;this.i = i;InitializeComponent();}private void button1_Click(object sender, EventArgs e){if(textBox1.Text.Trim().ToString() != String.Empty && textBox2.Text.Trim().ToString() != String.Empty && textBox3.Text.Trim().ToString() != String.Empty){string id = null, pw = null, gd = null;var result = from info in c.linq.loginwhere info.id == this.iselect new{ID = info.id,pw = info.password,gd = info.grade,};foreach (var p in result){id = p.ID;pw = p.pw;gd = p.gd;}if (pw.Trim() == textBox1.Text.ToString().Trim()){if (textBox2.Text.Trim().ToString().Equals(textBox3.Text.Trim().ToString())){var edit = c.linq.login.SingleOrDefault<login>(s=>s.id==i);if (edit == null){return;}edit.password = textBox3.Text.Trim().ToString();//执行更新操作c.linq.SubmitChanges();MessageBox.Show("密码修改成功");this.Dispose();login1 l = new login1();l.Show();}}else{MessageBox.Show("密码错误!");}}else{MessageBox.Show("不能为空!");}}}}三、测试方案设计:1、测试数据房间信息:账户信息:住户信息:2、测试结果:测试次数结果登录响应时间(秒)1 登录成功0.52 登录成功0.43 登录成功0.6平均时间:0.5修改密码通过密保找回成功0.5重设密码验证密保并成功设置0.5平均时间:0.5四、测试结果分析:经过测试,数据在储存和使用过程中不会丢失,但是数据的安全性不是很高。
软件工程UML,旅店管理系统,用例图建模,用例分析,设计过程
�求要业作 一
模建图例用
一业作
。面界户用新刷则�数天改修或�型类间房择选新重户客 B 。来出示显并�用费总和金定的 纳缴要需户客出算计将统系�外另。号件证效有、话电系联、址地、名姓的户客 括包 �息信户客入输户客求要统系 �后认确并数天订预和间房择选户客 A 件条置后 4 。数天订预改修是还间房换 更是户客前当问询并�订预被已里期日些哪在间房该�示提统系则�突冲生发段 间时的户客他其的 间房该了订预经已与段间时的间房的订预择选户用 B 。间房的型类一另择选否是户客问询�订预被 部全已间房型类该 �户客示提则�订预被部全已间房的型类要需所户客 A 流件事选备�2� 。数天的订预要入输并�间房定选户客 C 。询查户客供�示显表列息信的间房些这将 �间房的定预被未选筛 �中间房型类该有所从 �型类间房的择选户客据根 B 。间人单或间人双�型类的间房的订预要择选户客 A 流件事本基�1� 流件事 。能功间房订预择选并�统系理管店旅入进户客 件条置先 3
求要业作 一
程过计设 三业作
noitamrofnI noitavreseR droceR :4
eeF latoT tnuoC :3
epyT mooR esoohC :2 yrtnE :1 ecafretnI esabataD noitavreseR eeF noitamrofnI noitavreseR IU tneilC tneilC
)(etaerc// .1.1.2
)gn irts(evreseReraperp .1.2 间房定 预定选 // .2 )tsil(tsiLmooRyalpsid .2.1
ts il moor elbaliava// .1.1.1 )gnirts(mooRl iavAdn if .1.1 息信间房定预 可询查 // .1
宾馆客房管理系统设计(系统总体E-R图、系统数据流图、数据库字典)
宾馆客房管理系统设计(系统总体E-R图、系统数据流
图、数据库字典)
图1、系统总体 E-R图实体——关系图 E-R图
图2、系统数据流图
图3、类图
数据库字典
4、客房信息表: 1、客户信息表:
字段名称数据类型字段大小字段名称数据类型字段大小姓名 char 20 房间号 char 4 性别 char 2 房间状态 char 10 ID号 char 20 房间类型 char 10 注册时间 datetime 10 房间价格 float 10
其他服务 char 20
5、入住记录表: 2、员工信息表:
字段名称数据类型字段大小字段名称数据类型字段大小
客户姓名 char 20 姓名 char 20
房间号 char 4 部门 char 10
入住日期 datetime 10 ID号 char 20
结算日期 datetime 10 注册时间 datetime 10
备注 char 60
3、餐饮记录表:
字段名称数据类型字段大小客户姓名 char 20
包间号号 char 4
预订日期 datetime 10
备注 char 60。
《酒店管理系统-软件项目范围说明书》
北方民族大学课程设计报告系(部、中心)计算机科学与工程学院姓名况晓龙学号 20082616 专业软件工程班级 2008级2班同组人员王朝令(20082617)黄志刚(20082647)课程名称软件工程项目管理设计题目名称《酒店管理系统-软件项目范围说明书》起止时间 2010年12月6日——2010年12 月11日成绩指导教师签名陶铮贾艳波北方民族大学教务处制目录1引言 (3)1.1编写目的 (3)1.2参考资料 (3)1.3重要术语 (3)2项目概述 (3)2.1系统与项目的定义 (3)2.2系统开发背景与目标 (3)2.3用户需求概述及系统主要功能 (4)3项目范围界定 (5)3.1开发技术选择与理由 (5)3.2开发团队与开发环境、工作方式 (5)3.3生命周期选择与资源配置情况 (6)3.4项目工作任务分解(WBS)工作概述 (8)3.5WBS图及必要的说明 (9)4软件估算 (9)4.1功能点估算 (9)4.2进度估算 (10)4.3成本估算 (10)4.4人员数估算 (11)4.5其他估算 (11)5项目范围管理计划 (11)5.1项目范围管理要求 (11)5.2项目范围管理的输入与输出 (12)5.3范围确认 (13)5.4范围控制要求与活动概述 (13)6其他说明 (14)1引言1.1 编写目的编写本文档的目的是确保项目包括成功完成项目所需的全部工作,但又只包括必须完成的工作的各个过程。
是项目管理团队确定、记载、核实、管理和控制项目范围的指南。
此文当中包括制作工作分解结构,并确定如何维持与批准该工作分解结构;规定如何正式核实与验收项目已完成可交付成果。
1.2 参考资料《软件项目管理案例教程》韩万江,姜立新编著机械工业出版社《软件工程导论》——第5版张海藩编著清华大学出版社《酒店管理工作——细化执行与模板》王宏编著人民邮电出版社1.3 重要术语●SQL Server 2000:数据库管理软件●DBMS:数据库管理系统●Windows XP:运行环境● 2005:软件开发语言●visual studio 2005 软件开发环境2项目概述2.1 系统与项目的定义本系统是建立在C/S系统架构下基于SQL Server数据库,采用技术分析、设计、开发用于酒店信息化管理的。
软件工程酒店管理系统时序图协作图
软件工程酒店管理系统时序图协作图软件工程实验二:系统架构分析与设计院系:软件学院专业:软件工程II班级:软工11级.net1班姓名:梅荣霞(组长)、尹德金、刘强、李国峰、王钢学号(组长):1115115373指导教师:王娟项目名称:宾馆管理系统一、识别分析类宾馆管理系统的边界类边界类名称边界类职责用户登录界面允许用户输入有效的用户名和密码,检验用户身份,登陆后才能进行自己权限内的项目进行操作添加入住信息界面允许(有此权限的)人员进入进行添加操作修改入住信息界面允许(有此权限的)人员进入进行修改操作删除入住信息界面允许(有此权限的)人员进入进行删除操作用户查询界面允许用户进行查询操作用户结账界面用户进行结账操作宾馆管理系统的实体类实体类名称实体类职责人员信息姓名、密码、职工编号、职务、用户类别房间信息房间类型、房牌号、单价入住信息客户名称、入住时间、预交定金宾馆管理系统的控制类控制类名称控制类职责用户登录根据不同的用户和不同的登录信息转到不同的界面添加信息添加信息到数据库修改信息修改信息到数据库删除信息删除信息到数据库用户查询对用户提交的查看请求进行处理结账信息用户对宾馆的服务进行处理二、时序图(至少2个)用户登录酒店管验证服务数据库验证理系统1。
输入用户2.发出验名和密码证请求3.进行查询4.用户存在5.验证成功6.成功登录图1:用户登录系统时序图图2:添加客房基本信息时序图顾客前台系统管理员银联1.刷卡2。
问口令3.输口令4。
口令验证5.检查顾客资料6。
口令正确7.口令正确8.输入金额9。
进行处理10。
银行处理11。
完成12。
处理完成13。
打印清单图3:用客结账时序图三、协作图6: 1:用户登录酒店管理系统5:2:3:验证服数据库验务证4:图4:用户登录系统协作图【用户登录系统协作图说明】:)输入用户名密码 2)发送验证请求 3)进行查询 1 4)用户存在 5)验证成功 6)成功登录1:3:顾客前台2:8:13:7:12:4:9:5:10:系统管理银联员6:11:图5:顾客用信用卡结账协作图【顾客用信用卡结账协作图说明】:1)刷卡 2)问口令 3)输口令 4)口令验证5)检查客户资料 6)口令正确 7)口令正确8)输入金额 9)进行处理 10)银行处理11)完成 12)处理完成 13)打印清单四、包图宾馆管理系统主要分为两层:界面层和实体层。
酒店管理信息系统功能结构图课件
(a)
(b)
(c) (d)
酒店管理信息系统功能结构图
SC中的选择调用
A根据内
A按另一判
部判断决 定是否调
A
定结果选择 调用C或D
用B
BCD
酒店管理信息系统功能结构图
SC中的循环调用
A
BC
A根据内在的循环重 复调用B、C等模块
酒店管理信息系统功能结构图
结构图(SC)举例
处方 挂号 费
总计
医院管理系统
酒店管理信息系统功能结构图
4.4.1结构图(SC Structure Chart)
SD方法在概要设计中的主要表达工具
约定:
不加区分的数据 数据信息
编辑学生记录
学号
学生数据 无此学生
控制信息
读学生记录 酒店管理信息系统功能结构图
SC中的四种模块
A
传入模块
A
B
传出模块
B
CD
变换模块
协调模块
EE F F
变换分析
变换型DFD
初始SC
事务分析
事务型DFD
初始SC
酒店管理信息系统功能结构图
初始的SC
主模块
由变换分
析产生 输入模块 主加工模块 输入模块
事务控制模块
由事务分 接受模块 动作发送模块 析产生
动作1模块 动作2模块 动作3模块 酒店管理信息系统功能结构图
(1) 变换分析设计方法 步骤:
(1)区分传入、变换中心、 传出部分,在 DFD 上 标明分界线
门诊 管理
挂挂
号号
单
费 总
计
挂号 病历 处理 管理
处方 管理
药库 药房 病房 管理 管理 管理
(完整版)软件工程毕业课程设计 酒店管理系统
软件工程课程设计报告班级:软件09-10姓名:学号:指导教师:目录1设计内容 (1)1.1系统的主要功能 (1)2概要设计 (1)2.1数据库设计 (1)2.1.1数据分析 (1)2.1.2酒店管理系统的E--R图 (2)2.2功能需求与程序的关系 (6)3详细设计 (7)3.1用户登录验证设计说明 (7)3.2添加客户信息设计说明 (8)3.2.1 功能 (8)3.2.2流程逻辑 (8)3.3显示设计说明 (8)3.3.1 功能 (8)3.3.2流程逻辑 (8)3.4查询信息设计说明 (9)3.4.1功能 (9)3.4.2流程逻辑 (9)3.5结账功能设计说明 (10)3.5.1 功能 (10)3.5.2流程逻辑 (11)3.6删除信息设计说明 (11)3.6.1 功能 (11)3.6.2流程逻辑 (12)4程序源码 (12)5程序运行与调试 (17)5.1登陆界面 (17)5.2成功登陆界面 (18)5.3添加新客人 (18)5.4订房操作 (20)5.5订餐操作 (22)5.6查询操作 (23)5.7结账操作 (24)5.8删除操作 (25)5.9显示操作 (26)6总结 (27)7参考文献 (29)成绩评定 (29)1设计内容酒店管理系统是酒店宾馆管理中必不可少的软件工具,随着现代化都市发展,酒店的功能也随着逐步扩充,来方便、满足旅客们的需求,因此酒店管理越来越需要电子计算机的帮助,通过管理系统它可以方便工作人员的操作,省去了大量的人力开销。
同时,计算机的管理也大大的提高了管理时的可靠性。
如今,随着我国经济的高速发展,现代化酒店如雨后春笋般涌出,所以,酒店管理系统有着巨大的市场和发展空间。
1.1 系统的主要功能本酒店管理系统具有酒店的基本功能,是为酒店的服务人员开发的一款简单的系统,其具体功能如下:可对酒店的所有客人进行登记、录入、查看、删除。
可查看酒店的所有服务项目和收费情况。
用户可查看账单和自己的消费情况。
酒店管理系统详细设计
酒店管理系统详细设计1.引言1.1 编写目的编写本说明书的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、功能分配、模块化粉、接口设计、运行设计、数据结构设计和出错设计等,比概要设计更为详细,为编码的实现打下基础。
预期读者为:软件开发的人员,项目评审人员,及软件测试人员。
1.2 背影说明:①待开发的软件系统的名称:酒店管理系统;②本项目的任务提出者:酒店管理人员;③本项目的任务开发者:酒店管理系统软件开发小组;④用户及实现该软件的计算中心:酒店计算机;1.3 定义顾客就餐管理:对就餐的顾客进行管理,并存储顾客消费记录。
顾客住宿管理:对就餐的住宿进行管理,并存储顾客住宿记录。
顾客信息:存放顾客的姓名,证件类型,证件号,性别,年龄,籍贯,工作单位等各项基本信息,还有就餐住宿信息,管理员负责管理顾客基本信息。
房间信息:包括房间编号,房间等级,房间价格,房间类型等信息菜肴信息:包括菜肴编号,菜肴名称,菜肴价格,菜肴类型等信息1.4 参考资料①《现代软件工程》北京希望电子出版社孙涌等编著②详细设计说明书(GB8567——88).doc2. 程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
3. 用户输入模块(USERINPUT)设计说明3.1 程序描述该程序是用户登录时所必须要用到的,登陆之前需要验证用户身份的合法性,故而需要用户输入程序,输入用户名及密码来进行身份验证。
本程序为非常驻内存,是子程序、可重用、是顺序处理,在输入之后方能进行验证3.2 功能3.3 性能精度要求精确到整型的个位、字符型完全正确,不支持部分匹配;时间特性要求:要求等待时间<0.5s3.4 输入项输入项名称:用户名类型:字符串型输入方式:手工输入数据来源:系统自带的数据库中的信息输入项名称:密码类型:字符串型输入方式:手工输入数据来源:系统的数据库中的信息安全保密条件:在输入密码时用户界面上显示为******3.5 输出项输出项:用户名错误输出数据类型:字符串型输出以信息对话框的形式输出输出内容是用户名错误,请重新输入输出项:密码错误输出数据类型:字符串型输出信息也是以信息对话框的形式输出输出内容是密码错误,请重新输入输出项:正确登陆数据类型:字符串型输出内容是根据用户权限而得到的用户界面的输出3.6 算法本程序需要对数据库进行操作,即对数据库进行查询Select 用户名From USER_PSDWhere 用户名=输入内容如果结果为空,则输出:用户名错误,请重新输入;三次输入错误则关闭系统Select 密码Form USER_PSDWhere 用户名=输入内容and 密码=输入内容如果结果为空,则输出:用户密码错误,请重新输入;三次输入错误则关闭系统查询到一条记录后,进行权限判断,以决定让该用户使用相应的功能。
酒店信息管理系统软件工程设计说明(有图)
附件2 xxx大学软件详细设计说明书项目名称:酒店信息管理系统实验课程:年级:专业:班级:学号:姓名:指导教师:页脚内容附件2目录一、绪论 (3)1.1开发背景 (3)1.2系统调查 (3)1.3 项目开发的意义 (3)二、系统需求分析 (4)2.1 需求问题模块划分 (4)2.1.1系统维护模块 (4)2.1.2用户需求模块 (4)2.1.3系统功能需求模块 (5)2.2 酒店管理系统主要数据流图及数据字典 (5)2.2.1酒店管理系统的主要数据流图 (5)三、数据库设计 (6)3.1 数据库管理系统的选择 (6)3.2 数据库系统设计 (7)四、系统设计与实现 (13)4.1 三层架构在系统设计过程中的应用 (13)4.2 主要运行界面及功能代码 (14)4.2.1 顾客入驻信息登记实现界面 (14)4.2.2 顾客入驻信息登记实现界面 (14)4.2.3 顾客信息查询实现界面 (15)4.2.2房间信息管理实现界面 (15)五、系统测试 (16)5.1 程序调试 (16)5.2 程序的测试 (16)页脚内容附件25.2.1 测试的重要性及目的 (16)5.2.2 测试的步骤 (16)5.2.3 测试的主要内容 (17)六、总结 (17)页脚内容附件2一、绪论1.1开发背景随着物质水平逐步提高,精神生活也开始趋向丰富多彩。
作为旅游服务的重要组成部分——酒店业也得到了迅猛的发展。
要提高整体竞争能力必须变革酒店的管理模式,要提高管理水平,实施信息化建设无疑是实现这一目的的必由之路和明智之举。
在信息时代,重要的是必须要有一个完善的管理信息系统,在总体上实现酒店管理的自动化、规范化和人性化,使酒店管理由经验管理转为科学管理。
随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理系统的发展到了一个新的时期,新的系统平台、新的系统特点及发展方向不断涌现,本系统采用客户机/服务器模式,功能更加细致完善,系统更加稳定可靠。
软件工程-宾馆管理系统
软件工程课程设计报告设计题目:宾馆管理系统专业班级:姓名:学号:指导老师:摘要:“宾馆管理管理系统”是较为典型的管理信息系统,将先进的计算机技术与现代宾馆服务管理结合起来,以实现宾馆管理的自动化、信息化、网络化。
本系统基于PHP+MYSQL开发,系统采用了B/S结构,主要实现宾馆后台管理系统,主要包括客房信息、订房信息、结算信息等功能模块。
本报告主要阐述了该系统的需求分析、功能模块划分、数据库设计及主要功能的具体设计与实现,并就系统中用到的技术进行介绍关键词:宾馆管理,PHP,MYSQL一、系统的简要说明书系统名称:宾馆管理系统开发及运行环境:PHP+Appche+MySql、B/S要求有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。
客房标准信息的修改、查询等。
客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。
客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。
剩余客房信息的查询等。
订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。
订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。
结算信息的输入,包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。
结算信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等系统功能性:系统操作员:客房信息制定、查询、修改、删除等;订房信息的输入、修改、查询等;结算信息的输入、修改、查询等系统完成情况:详细设计(N-S)、数据结构设计、测试文档、USE CASE 模型、宾馆管理系统流程图、各种动态图,完整的代码测试等二、系统分析2.1.系统需求分析根据宾馆的具体情况,系统主要功能包括:⏹客房信息管理⏹订房管理⏹退房管理⏹会员管理⏹财务管理2.2可行性分析随着信息技术的发展和人们对宾馆酒店的要求越来越高,许多宾馆已明显觉得手工管理已不能适应当前宾馆告诉发展的需要,宾馆已意识到使用使用计算机网络和计算机管理的重要性,决定首先在客房部采用宾馆管理系统。
《软件工程》酒店管理系统
酒店管理系统1 系统概述【目的与意义】随着人们商务或休闲娱乐出行的频率上升,酒店的市场需求也增高。
然而酒店管理系统的引入能使酒店内部集中管理,集中控制,快速反应各个部门的经营状况,大大降低工作人员的劳动强度,提高工作效率,给客户带来极大的便利,同时也带来良好的经济效益和社会效益。
酒店管理系统的主要目的是:实现对酒店管理内部各种管理的电子化和自动化,提高酒店的办公效率,为高质量的酒店服务提供保证。
2 系统规划(一).系统功能概述酒店管理系统包括前台管理和后台管理两个模块。
前台负责客户入住登记,以及确认信息等相关操作。
后台执行相关查询操作,并录入统计以供后期查询、核实。
(二).业务流程分析N图:客人入住登记流程图:客人退房流程(三)层次图:N(四)酒店管理的功能客户1.预定房间:客户根据自己的需求预定房间。
2.入住登记:填写相关信息,确认客房。
3.客房调整:客户根据自己的需求申请续房、换房等调整操作。
4.餐饮选择:客户根据自己的情况选择餐饮。
5.退房结帐:客户用自己的信息去结帐。
前台1. 客户入住登记:入住前预定登记、输入客户相关信息,确认客户入住房间类型、押金收取、确认入住信息。
2. 客户消费管理:统计客户相关消费信息(住房、订餐)、消费信息核实、产生相关记录。
3. 按客户需求对客房进行调整:包括续房,换房;核实客户信息、手续办理并产生相关记录。
4. 退房管理:核实客户信息、退房手续办理、退房记录。
5. 结账管理:查询消费记录、核实、统计、产生消费票据。
后台1. 根据前台来查询客户信息:包括客户类型(VIP客户、普通客户、黑名单),入住时间。
2. 按客户查询、统计客房和餐厅信息:数量、类型、费用等等,及时了解相关信息。
3. 按时间来查询、统计酒店的金额:及时知道资金和利润情况。
【UML用例图】:后台查询记录,客房餐厅管理,统计金额StatisticalAccounts客户预定,入住登记,调整客房,餐饮消费,退房结帐Book前台对客户的入住登记,客房调整,消费管理,退房结帐Settle Accounts2.1 日程安排【甘特图】3 系统分析3.1 数据建模E—R图:功能建模【数据流程图DFD】【数据字典DD】3.2 行为建模【UML顺序图】客户订房,入住登记,客房调整,结帐的顺序图:客户餐饮消费的顺序图:前台对客房入住管理,客房调整管理,退房结帐管理Pet前台对餐厅的管理后台的查询统计4 系统设计4.1 概要设计【SC图】4.2 详细设计【程序流程图】参考文献[1] 殷人昆,郑人杰,马给霞,白晓颖.实用软件工程.北京:清华大学出版社,2010.11。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xxx大学软件详细设计说明书项目名称:酒店信息管理系统实验课程:年级:专业:班级:学号:姓名:指导教师:目录一、绪论 (3)1.1开发背景 (3)1.2系统调查 (3)1.3 项目开发的意义 (4)二、系统需求分析 (4)2.1 需求问题模块划分 (4)2.1.1系统维护模块 (5)2.1.2用户需求模块 (5)2.1.3系统功能需求模块 (5)2.2 酒店管理系统主要数据流图及数据字典 (6)2.2.1酒店管理系统的主要数据流图 (6)三、数据库设计 (7)3.1 数据库管理系统的选择 (7)3.2 数据库系统设计 (8)四、系统设计与实现 (14)4.1 三层架构在系统设计过程中的应用 (15)4.2 主要运行界面及功能代码 (16)4.2.1 顾客入驻信息登记实现界面 (16)4.2.2 顾客入驻信息登记实现界面 (17)4.2.3 顾客信息查询实现界面 (18)4.2.2房间信息管理实现界面 (18)五、系统测试 (19)5.1 程序调试 (19)5.2 程序的测试 (19)5.2.1 测试的重要性及目的 (19)5.2.2 测试的步骤 (20)5.2.3 测试的主要内容 (20)六、总结 (21)一、绪论1.1开发背景随着物质水平逐步提高,精神生活也开始趋向丰富多彩。
作为旅游服务的重要组成部分——酒店业也得到了迅猛的发展。
要提高整体竞争能力必须变革酒店的管理模式,要提高管理水平,实施信息化建设无疑是实现这一目的的必由之路和明智之举。
在信息时代,重要的是必须要有一个完善的管理信息系统,在总体上实现酒店管理的自动化、规范化和人性化,使酒店管理由经验管理转为科学管理。
随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理系统的发展到了一个新的时期,新的系统平台、新的系统特点及发展方向不断涌现,本系统采用客户机/服务器模式,功能更加细致完善,系统更加稳定可靠。
并在预订、入住和退房等流程上简捷、方便,信息明朗,及时响应客户的需求创造更多的经济效益及利润。
1.2系统调查随着入住旅客人数的增加,顾客的各种信息也成倍增长。
给酒店客房部的日常管理造成了一定的压力,有必要开发新的酒店管理系统来提高酒店客房的管理工作效率。
通过这样的系统,可以做到入住顾客规范管理、科学统计和快速查询,从而降低工作人员的工作压力,把更多的时间可以运用到提高服务质量上来,复杂重复的工作很多都可以用MIS管理系统来完成。
本系统通过应用Microsoft Visual Studio 2010、SQLServer2012技术开发了本系统。
winform应用程序和其他---windows应用程序一样,也是由两大部分组成的:一是用户界面,二是应用于处理逻辑。
用户是通过窗口、菜单和窗口上的各种控件等界面元素来操作应用程序的,而应用处理逻辑是通过事件和函数中的程序代码来实现的。
它可以实现各种入住客户信息的管理操作。
本酒店客房管理系统具有较强的应用性和实用性。
1.3 项目开发的意义酒店客房信息的管理在整个酒店客房运作过程中起着非常重要的作用。
通过信息的管理,酒店客房的管理人员能够随时了解客房的预订、入住等情况,可以在宏观上分配基础设施的使用。
利用数据库管理资料可以方便地管理会员客户的资料以利于业务上的往来和客服调查,同时功能强大的新增、修改、删除及查询操作和钟点计费的功能使酒店客房管理系统成为管理人员的得力助手,基于手工操作的种种缺点,为了实现管理自动化,将酒店客房管理的流程与规则与现代的计算机技术相结合,建立起酒店客房管理系统。
酒店客房管理系统还可以全程监管客户在客房的消费活动,并对收入情况进行统计,从而实现酒店客房管理流程全过程的电子化操作。
二、系统需求分析2.1 需求问题模块划分酒店管理系统主要分为两个模块:用户需求模块、系统功能需求模块。
这两个模块设计主要是因为有了这两个模块管理者更容易发现该酒店的不足,还有就是容易看到酒店的入住情况。
---2.1.1系统维护模块(1)密码设置:每个用户均有自己的密码,可以防止非本系统人员进入本系统;又因每个用户的权限不一致,故可防止用户越权操作。
(2)登陆设置:设置每个用户的登陆,只有能进入管理系统的用户,可对系统进行操作。
(3)数据查询:要求可以分别按房间编号,房间类型等进行数据查询。
2.1.2用户需求模块用户希望通过使用酒店客房管理系统得到所需信息,达到提高管理水平的目的,希望新系统具有以下功能:(1)数据记录:使用计算机快速处理日常的业务及相关数据,实现实时查询各种入住信息。
(2)数据录入:可以实时的录入住宿单和退宿单等的情况。
(3)数据查询:可以实时查询客房信息、客人账单信息等的具体情况。
2.1.3系统功能需求模块(1)预订功能需求:其主要目的是提高酒店的开房率,为客人预留房间,并提供良好的预订服务。
其功能需求包括预订查询,可用房确认,预订记录建立,预订确认,预订记录维护等;(2)接待功能需求:其主要目的是以最快的速度为客人开房。
其功能需求包括宾客登记、可用房确认、修改宾客信息、删除宾客信息和查询宾客---信息等;(3)结账功能需求:其功能需求包括客人结账、打印报表和客人挂账等;(4)客房管理功能需求:其主要目的是对客房的信息化管理,提高客房管理的精度和准确度,同时减轻酒店客房中心员工的工作负担,从而提高客房管理的效率和服务质量。
其主要功能是房态维护,费用记录和客人查询等。
2.2 酒店管理系统主要数据流图及数据字典在为系统确定最终的需求分析时,主要采用的是软件工程需求分析方法中面向数据流的分析方法,在面向数据流的分析方法中使用的是结构化(SA)分析方法,它是由美国Yourdon 公司在上世纪70年代提出的,其基本思想是将系统分析看成工程项目,有计划、有步骤地进行工作。
这是一种特别适用于分析大型信息系统的开发方法。
虽然就酒店管理系统规模不大,但也使用了SA方法进行分析。
下面列出了系统需求分析阶段完成的数据流图和数据字典。
2.2.1酒店管理系统的主要数据流图酒店管理系统的数据流图如图所示酒店管理系统的顶层数据流图---客户P1住宿管理P2结账管理酒店客户入住信息结账信息D1 预定信息表D5消费信息D3 入住信息及消费清单酒店管理系统的零层数据流图酒店管理系统的一层数据流图三、数据库设计3.1 数据库管理系统的选择本系统在数据库管理系统的选择上,对多种数据库管理系统(Access、Informix、Orcale、DB2、SQL Server、Foxpro)的优缺点进行了对比,最终确定使用Microsoft的SQL Server2008。
SQL Server数据库管理系统是美国Microsoft公司推出的一种关系型数据库系统。
它是一个可扩展的、高性能的、为分---布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
其主要特点如下:(1)高性能设计,可充分利用Windows的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。
SQL Server以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
选用SQL Server2008数据库管理系统可以说是一个明智的选择,它是面向中型企业的关系型数据库。
3.2 数据库系统设计数据库设计是建立数据库及其应用系统的关键技术,是信息系统开发和建设的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据模式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
它是整个数据库设计的关键。
描述概念模型的有力工具是E-R(Entity-Relationship,实体-联系)模型,本系统就是采用这种工具进行的概念模型设计。
设计概念结构通常有四种方法:自顶向下、自底向上、逐步扩张和混合策略(即将自顶向下和自底向上相结合)。
本系统采用的是自底向上的方法,即自顶向下进行需求分析,然后再自底向上的设计概念结构(逐一设计分E-R图,然后再组合成---完整的系统E-R图)。
总体E-R图---系统功能模块图从(图3-2)中可以看出,系统总共分为8个模块。
客房类型模块:可以对房型、房价等情况等进行查询、修改等操作。
客房查询模块:实现对所有房间的基本情况进行查询。
客户预定模块:实现对客户预定情况进行全面管理。
客户入住模块:可以查询所有客户入住情况。
客房更改模块:实现客户换房的一些相关操作。
客房状态模块:可以对客房空房、预定、入住等情况等进行修改等操作。
客户结算模块:实现酒店客房账务结算。
注册帐号模块:实现用户注册的功能。
本软件的数据库名称为:Hotel ,包含6个数据表,分别是:BookIn、CheckIn、CheckOut、Room、RoomType、UserInfo。
具体表结构如下:表3-1用户表 [UserInfo]表3-2客户入住表 [CheckIn]表3-3客户结算表 [CheckOut]表3-4客房预定表 [BookIn]表3-5房间状态表 [Room]表3-6房间类型表 [RoomType]四、系统设计与实现酒店管理系统的设计使用C#,采用微软一贯提倡的三层体系结构模式(用户层、业务逻辑层、数据层),在设计上体现为MVC(Model—View—Controller)设计模式。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。
这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有C/S应用才是三层体系结构,三层是指逻辑上的三层,这三个层可以放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。
通常情况下,客户端不直接与数据库进行交互,而是经由中间层与数据库进行交互。
三个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
三层体系结构具有以下明显的优点:逻辑结构清晰——程序结构清晰,代码易于维护;资源优化——由于一个应用程序的功能被子分为三个部分,不同的项目组处理不同的组件,在执行时,能够生成更加优化的代码。
4.1 三层架构在系统设计过程中的应用如何将应用程序的业务逻辑和表示逻辑分离,以便我们能够在不影响业务逻辑的情况下修改用户界面,或者反之,在不影响表示逻辑的情况下修改业务实现,三层架构开发正是这样的模式。