软件081-04T-宾馆管理信息系统项目开发计划

合集下载

软件工程课程设计-宾馆信息管理系统-参考模板

软件工程课程设计-宾馆信息管理系统-参考模板

分类号编号华北水利水电大学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四、测试结果分析:经过测试,数据在储存和使用过程中不会丢失,但是数据的安全性不是很高。

酒店管理系统项目开发计划(实验二)

酒店管理系统项目开发计划(实验二)

编号:HMS022密级:限制酒店管理系统软件项目开发计划V1.00部门: 软件工程项目实践项目: 酒店管理系统编写:审核:计算机系酒店管理系统开发小组2010年10月15日1.引言1.1.编写目的本文档是酒店管理系统的项目开发计划书,对酒店管理系统的发展进行简要回顾,总结出了此类管理系统的基本特点以及总体功能,尽可能完整的概括出委托方的全部想法。

本文档对项目开发人员具有很重要的指导意义。

1.2.项目背景项目名称:酒店管理系统;本项目是《软件工程项目管理》课程的实验项目,通过该项目应该达到让项目组成员了解并熟悉RUP开发过程,对软件工程这门课程有更加全面和深入的认识。

1.3.术语定义参见《词汇表》。

1.4.参考资料《酒店管理》、《酒店管理VCR》、《酒店前厅管理实务(修订版)》《软件工程》2.项目要求2.1.产品功能结构酒店管理系统中,分为6个下属模块,模块分解如下图所示:2.1.1.客房预订系统客房预订系统包括客房预订、预售查询、预订未到处理三个子功能模块,实现了快速处理预定客房的目的,同时可以自动处理预定到时间没有入住的情况。

客房预订系统的功能分解图如下:2.1.2.前台接待系统前台接待系统的主要功能是在客户入住的时候进行入住登记,同时还可以在客人入住之后按照客人的需求给客人调换房间。

功能分解如下:2.1.3.前台收银系统前台收银系统主要包括退房、查帐、埋单、限制客人消费、转帐、押金加入等功能。

功能分解如下:2.1.4.管家系统管家系统的主要功能模块式查询房间状态以及设置房间状态,使一个管理系统,实现对客房的实时管理。

功能分解如下:2.1.5.密码管理系统密码管理系统主要是针对使用该酒店管理系统的员工设计的,登陆酒店管理系统需要有帐户和密码,防止闲杂人员胡乱操作系统、更改数据库内数据,实现系统的安全性。

功能模块分解如下:2.1.6.夜审系统夜审系统是在每天结束对当天的营业进行汇总,主要模块包括过房租、当天收入分类统计、产生客人余额表和客人明细账目。

宾馆管理信息系统信息系统分析与设计

宾馆管理信息系统信息系统分析与设计

宾馆管理信息系统信息系统分析与设计宾馆管理信息系统(Hotel Management Information System)是指为了方便宾馆管理和提升服务质量而开发的一套计算机系统。

它主要包括前台管理、客房管理、财务管理、人力资源管理等模块,能够实现宾馆的日常运营管理和业务处理。

本文将对宾馆管理信息系统进行信息系统分析与设计。

1.业务流程分析
宾馆的日常业务流程主要包括客房预订、入住登记、客房管理、财务管理等。

我们需要通过深入了解宾馆的业务流程,确定宾馆管理信息系统所需的功能和模块。

2.数据需求分析
3.功能需求分析
4.系统架构设计
5.数据库设计
6.系统界面设计
7.系统测试与优化
在系统开发完成后,我们需要进行系统的测试和优化,确保系统的功能和性能能够满足宾馆的需求。

测试可以包括功能测试、性能测试和安全性测试等,通过不断地优化和改进,使系统达到预期的效果。

总之,宾馆管理信息系统的分析与设计是一个复杂而细致的过程。

我们需要充分了解宾馆的业务流程和需求,进行数据和功能需求分析,设计
系统架构和数据库,最后进行系统测试和优化。

只有这样,才能开发出一套满足宾馆管理需求的高效、稳定的信息系统。

宾馆管理信息系统-软件工程课程设计

宾馆管理信息系统-软件工程课程设计

内蒙古师范大学计算机与信息工程学院管理信息系统课程设计宾馆管理信息系统系别:信息管理与信息系统专业班级:导师:日期:小组成员:目录1开发背景说明 (2)2系统分析 (2)2.1 可行性分析 (2)2.2 需求分析 (3)3系统概要设计 (4)3.1 功能需求 (4)3.2 主要功能 (4)3.3 系统开发目的 (5)3.4 运行环境 (5)3.5 项目意义 (6)4 系统详细设计 (6)4.1 组织结构图 (6)4.2 宾馆的业务流程图 (6)4.3 宾馆的功能结构图 (7)4.4 系统功能设计 (8)4.5 模块功能设计 (8)4.5.1. 系统登录模块 (8)4.5.2. 系统管理模块 (9)4.5.3. 客房管理模块 (10)4.5.4. 入住管理模块 (10)4.5.5. 订房管理模块 (11)4.5.6、换房管理模块 (12)4.5.7、宾馆结算模块 (13)4.6 UML系统建模部分 (14)4.6.1用例图 (14)4.6.2 活动图 (17)4.6.3 时序图 (19)5 部门职能及岗位职责 (27)5.1 前台职能 (27)5.2 前台工作人员的职责 (28)5.3 系统管理员的职责 (28)一、开发背景说明:进入21世纪后我国的经济增长在全球的突影而出,人们的生活质量也在不断的提高,从而带来旅游业的高速发展,宾馆行业的服务档次迫切需要提高。

在宾馆竞争日趋激烈的今天,要想在竞争中生存发展,就必须与高新技术紧密结合。

硬件设施落后、管理水平滞后、服务质量低下的宾馆将被逐步淘汰。

传统的纯手工或简单的计算工具,已经不适应现代经济高速发展和信息快速增长的要求,因此必须运用现代化管理手段,配备完善的自动化设备,采用全新的计算机网络和宾馆管理系统,来提高宾馆自身的服务水平与质量,最大限度地发挥准确、快捷、高效等作用,从而赢得宾馆的高信誉、强实力、好效益!二、系统分析2.1 可行性分析2.1.1 目标方案可行性(1) 计算机设备处理繁杂的宾馆日常事务,大幅度减少人力、物力,极大地提高宾馆的管理水平和管理效率。

宾馆管理系统的设计和开发

宾馆管理系统的设计和开发

宾馆管理系统的设计和开发第一章前言宾馆管理系统是一种增强宾馆管理效率和顾客体验的工具,它将不同的功能模块整合在一起,从而提供给员工和管理者一种方便快捷的管理方式。

本文将介绍宾馆管理系统的设计和开发过程,希望能够为有需要的企业提供信息和建议。

第二章功能需求分析宾馆管理系统应具备以下基本功能:1.预订房间:提供在线预订服务,方便顾客进行预订。

2.入住管理:管理客房入住记录和客人信息。

3.房间查询:提供查询空房间的功能。

4.财务管理:管理宾馆的财务记录和统计分析。

5.客户服务:提供在线客服咨询,支持顾客投诉和建议。

6.员工管理:管理宾馆员工信息和工作排班。

7.报表生成:根据需要生成各类报表,如财务报表、客房预订报表等。

8.安全管理:确保系统的安全性和灵活性,尤其是在管理客户信息方面。

第三章系统设计宾馆管理系统的设计应考虑到多种因素,主要包括以下几个方面:1.系统架构的选择:选择合适的架构可以提高系统的性能、灵活性和可维护性。

2.用户界面的设计:通过简洁、清晰的用户界面提供用户友好的操作体验,提高用户满意度。

3.数据库设计:选择合适的数据库结构和标准化数据模型可以提高数据的存储和访问效率。

4.系统安全性设计:保证系统对不同类型的攻击的防范,保护用户信息的安全。

5.系统可维护性设计:设计系统的架构和代码结构,以便于维护和升级。

第四章技术实现宾馆管理系统可以使用多种技术实现,包括以下几个方面:1.后端技术:可以利用 Java、PHP、Python、C# 等多种语言实现后端功能。

2.数据库技术:可以选择 MySQL、Oracle、SQL Server 等多个数据库管理系统。

3.前端开发技术:可以使用 HTML、CSS、JavaScript 等技术实现界面设计。

4.服务器环境:可以选择 Windows、Linux、Unix 等服务器环境。

5.框架和中间件:可以使用 Spring、Hibernate、Struts、MyBatis 等框架和中间件来简化开发。

酒店管理信息系统的规划与开发

酒店管理信息系统的规划与开发

酒店管理信息系统的规划与开发引言随着旅游业的快速发展和人们生活水平的提高,酒店作为旅游行业重要的组成部分,其管理效率和服务质量的需求也日益增大。

为了满足酒店行业的管理需求,酒店管理信息系统成为了一种关键的工具。

本文将介绍酒店管理信息系统的规划与开发过程,旨在帮助酒店管理者或相关从业人员了解如何有效地开发一个高效的酒店管理信息系统。

1. 酒店管理信息系统规划1.1 目标与需求分析在规划一个酒店管理信息系统之前,我们首先需要明确系统的目标和需求。

这些需求可以包括: - 前台接待 - 预订管理 - 客户关系管理 -财务管理 - 酒店设备管理 - 人员管理等1.2 系统架构设计酒店管理信息系统应该具备可扩展性、可靠性和安全性。

为了实现这些特性,我们需要考虑系统的架构设计。

一种常见的架构设计是三层架构,将系统分为表示层、业务逻辑层和数据访问层。

表示层负责与用户进行交互,收集用户输入并展示数据给用户。

业务逻辑层负责处理用户的请求,如查询客房信息、预订房间等。

数据访问层负责与数据库进行交互,完成数据的读取和写入操作。

这种架构设计可以有效地实现系统的模块化和易维护。

1.3 数据库设计酒店管理信息系统的数据库设计是一个重要的环节。

我们要根据系统的需求,设计出适合存储和管理酒店相关数据的表结构。

一些常见的表包括客户表、客房表、预订表、财务表等。

在设计表结构时,需要考虑数据的一致性和完整性,以确保系统的稳定性。

2. 酒店管理信息系统开发2.1 技术选择在开发酒店管理信息系统时,我们需要选择适合的开发技术和工具。

常用的开发技术包括前端技术如HTML、CSS、JavaScript,后端技术如Java、Python、PHP等。

对于数据库的选择,可以考虑使用关系型数据库如MySQL、Oracle,或者NoSQL数据库如MongoDB。

2.2 前端开发前端开发是酒店管理信息系统开发过程中的一个关键环节。

在前端开发中,我们需要根据系统的需求,设计出用户友好的界面,并实现与用户的交互逻辑。

软件工程 项目开发计划书

软件工程 项目开发计划书

文档编号:HHIT-SECD-S101-01T-01版本号:酒店宾馆客房管理系统项目开发计划项目名称酒店宾馆客房管理系统的设计与实现项目负责人项目开发单位项目人员项目起止时间2013年6月18日70软件工程课程设计项目组任务分派单(组长用)酒店宾馆客房管理系统 项目名称: 阶段名称: 项目开发计划、本表由组长为其组员每次上机实践分派任务使用,应认真填写相关任务名称、内容、完成标准 等信息;2、本表在每次任务完成后,由组长按照完成标准验收,并给出每个组员成绩评定(每人平均 分制),除组长保留一份外,应及时上报任课老师(电子和纸质文档同时上报)班级: 软件组别:2组长姓名:时间:2013年6月18 日1 引言编写目的背景定义参考资料2 项目概述工作内容主要参加人员产品及成果程序文件服务非移交产品验收标准完成项目的最迟期限本计划的审查者与批准者3 实施总计划工作任务的分解接口人员进度预算关键问题4 支持条件计算机系统支持需要用户承担的工作需由外单位提供的条件5 专题计划要点错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

1引言编写目的想要做一个好的客房管理系统,首先必须知道用户的需求,这样我们才会开发出真正满足用户的软件产品,在系统的需求分析阶段,开发者应该明确一个好的客房管理系统必须要做什么。

背景宾馆客房管理系统是宾馆客房管理不可缺少的,对于宾馆的管理者和使用者来说都是非常重要的,在以往,人们使用手工登记来记录管理宾馆的日常事务,操作流程虽然简单,但随着宾馆的数量越来越多,宾馆的规模越来越大,宾馆的入住率越来越高。

信息系统开发技术课程设计,JSP,宾馆管理系统

信息系统开发技术课程设计,JSP,宾馆管理系统

信息系统开发技术课程设计一、引言随着信息技术的不断发展,信息系统在各行各业中扮演着愈发重要的角色。

本文旨在探讨信息系统开发技术中的一种关键技术——JSP(JavaServer Pages),并结合实际情景展开宾馆管理系统的课程设计。

二、JSP简介JSP(JavaServer Pages)是一种基于Java的服务器端技术,它使得开发人员能够在HTML页面中嵌入Java代码。

通过JSP,开发者可以生成动态网页内容,与客户端进行交互,以实现更加灵活和动态的网站应用。

三、宾馆管理系统设计宾馆是一个需要精准管理的场所,因此开发一个高效的宾馆管理系统至关重要。

通过JSP技术,我们可以实现一个功能丰富、便捷高效的宾馆管理系统,让宾馆管理更加便捷。

1. 系统功能•预订管理:包括客房预订、取消预订等功能。

•入住管理:记录客人个人信息、入住时间等。

•消费管理:记录客人在宾馆的消费情况,如餐饮、洗衣等。

•退房管理:结算客人账单,完成退房手续。

2. 技术实现•前端界面:使用HTML、CSS构建宾馆管理系统的用户界面,通过JSP嵌入Java后端逻辑。

•后端逻辑:通过Java语言编写后端逻辑,处理前端页面传来的请求,完成数据库的查询、更新等操作。

•数据库设计:设计数据库表结构,存储宾馆管理系统所需的各类数据。

3. 系统流程1.用户访问宾馆管理系统网站;2.进行登录验证,若验证通过则进入系统主界面;3.根据需求操作预订、入住、消费或退房等功能;4.系统处理用户请求,更新数据库中对应数据;5.用户可随时查看宾馆数据,实现便捷高效的宾馆管理。

四、总结本课程设计结合JSP技术,实现了一个功能完善的宾馆管理系统。

JSP的灵活性和Java的强大功能为系统开发带来便利,使得宾馆管理更加高效、便捷。

希望通过本文的介绍,能够对信息系统开发技术有更深入的了解,为系统开发工作提供参考和帮助。

以上为信息系统开发技术课程设计的文档,谢谢阅读!。

宾馆管理信息系统设计与开发

宾馆管理信息系统设计与开发
”的项目背景和意义,着重 阐述了该系统开发实现过程,对系统的需求分析、方案论证、模 块设计、数据库设计等各个环节进行了详尽的分析和描述。论 文最大的特点在于理论与实践相结合。
本文所做的工作和创新之处是比较客观准确地分析识别了宾馆 信息管理系统的需求问题,宾馆在正常的运营中需要对客房资源、 顾客信息、结算信息以及餐饮信息和订票信息进行管理,利用宾 馆管理信息系统及时了解各个环节中信息的变更,有利于提高管 理效率。值得同行业参考借鉴,在调查分析的基础上,得到了宾 馆服务业务流程,提出了一套有效的数据处理方案。
对于前者要求建立起数据一致性和完整性强、数据安全性好的 数据库。而对于后者则要求应用程序功能完备,具有易使用等特 点。
经过分析,本系统的开发使用MICROSOFT公司的VISUAL BASIC作 前台开发工具,利用其提供的各种面向对象的开发工具,尤其是 ActiveX Data Object这一功能强大而简洁操纵数据库的智能化 对象,首先在短时间内建立系统应用原型,然后,对初始原型系统 进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 另外,选择SQL Server2000作后台数据库平台,运用所学的数据 库原理,软件工程,VB6.0程序语言,高级语言程序设计等各方面 的知识完成的一个中小型的宾馆性质的管理信息系统。
宾馆管理信息系统设计与开发
随着社会的的不断进步,信息化建设的发展,宾馆行业的竞争也 愈来愈激烈,要想在竞争中取得优势,就必须提高整体竞争能力, 变革宾馆的管理模式,提高管理水平。如何利用先进的管理手段, 提高客房、餐饮、票务综合信息处理的管理水平,是每一个宾馆 管理者所面临的重大问题。
实施信息化建设无疑是实现这一目的的必由之路和明智之举。 宾馆管理信息系统是典型的信息管理系统(MIS),其开发主要包 括后台数据库的建立和维护以及前端应用程序的开发两个方面。

项目开发计划(酒店管理务系统)

项目开发计划(酒店管理务系统)

项目编号: S0202-JMCLWZ-BOS <酒店管理系统>分类:<模板>项目开发计划Version: 1.0项目承担部门:撰写人(签名):完成日期: 2008-9-4本文档使用部门:■主管领导■项目组□客户(市场)□维护人员□用户评审负责人(签名):评审日期:2008-9-6目录1.引言 (2)1.1编写目的 (2)1.2项目简介 (2)1.2.1项目名称 (2)1.2.2产品标识 (2)1.3定义 (2)1.4参考资料 (4)2.项目概述 (4)2.1工作内容 (4)2.2交付项 (5)2.3非交付项 (5)3.项目组织和资源 (5)3.1项目组织 (5)3.2项目资源 (6)3.2.1人力资源 (6)3.2.2已有开发设施 (6)3.2.3须获取的设施 (6)3.2.4可复用资源 (6)4.实施计划 (7)4.1项目选用的生命周期 (7)4.2项目开发过程阶段划分 (7)4.3项目工作任务分解 (9)4.4进度 (10)4.4.1进度安排 (10)4.4.2进度控制计划 (10)4.5接口人员 (10)4.6关键问题 (10)5.专题计划要点 (11)5.1基础技术积累计划 (11)5.2测试计划 (11)5.3配置计划(由配置经历完成 (11)5.3.1组织、职责和接口 (11)5.3.2工具、环境和基础设施 (11)5.3.3标识方法 (11)5.4评审计划 (11)5.5质量保证计划 (12)5.6培训计划 (12)5.7系统安装计划 (12)1.引言1.1编写目的目标一对于供计划和跟踪软件项目使用的软件估计(规模、工作量、时间、费用等)以建立文档。

目标二软件项目的活动和约定是有计划的并已建立文档。

目标三受影响的组和个人同意他们的关于软件项目的约定读者对象:星级酒店 ,系统开发人员、测试人员、评审专家等。

项目用户: XXX酒店1.2项目简介1.2.1项目名称项目编号:S0202-JMCLWZ-BOS项目中文简称:酒店管理系统1.2.2产品标识产品名称:酒店管理系统产品缩称:JMCLW-LLZ-BOS版本号:1.001.3定义SPP--Software Project PlanRUP--Rational Unified ProcessCMM--Capability Maturity Model1.4参考资料列出制定开发计划须依据的文件和项目开发过程中需要使用的参考资料,如:◆本项目的经核准的计划任务书或合同,上级机关的批文。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文档编号:HHIT-SECD-081-04T-01版本号:V1.0宾馆管理信息系统项目开发计划书项目名称宾馆管理信息系统项目负责人李俊峰项目开发单位淮海工学院计算机科学系软件081班第4项目组小组成员杨春冬,谢亚伟,李俊峰,盛小华,杨超起止日期 2011年6月13日至7月1日2011年6月15日软件工程课程设计项目组任务分派单(组长用)班级:软件081 组别: 4 组长姓名:李俊峰时间:2011 年 6 月13日项目名称:宾馆管理信息系统阶段名称:项目开发计划序号学号姓名任务名称具体任务内容完成标准起止日期验收成绩1 110831101 杨春冬编写引言编写引言部分,顶层数据流图的绘制内容符合项目要求2011/6/13-2011/6/15652 110831114 谢亚伟编写项目概述、功能点计算编写项目概述、功能点计算内容符合项目要求2011/6/13-2011/6/15693 110831118 李俊峰编写实施计划,项目安排项目工作量的估算,项目进度的安排,人员任务分配内容符合项目要求2011/6/13-2011/6/15794 110831128 盛小华编写支持条件、甘特图绘制项目进度的安排,依据项目进度安排甘特图,编写支持条件内容符合项目要求2011/6/13-2011/6/15725 110831131 杨超编写专题计划要点,成本预算项目进度的安排,绘制工程网络图和关键路径,依据工作量计算成本预算,编写专题计划要点内容符合项目要求2011/6/13-2011/6/157561、本表由组长为其组员每次上机实践分派任务使用,应认真填写相关任务名称、内容、完成标准等信息;2、本表在每次任务完成后,由组长按照完成标准验收,并给出每个组员成绩评定(每人平均70分制),除组长保留一份外,应及时上报任课老师(电子和纸质文档同时上报)。

目录1引言 (2)1.1编写目的 (2)1.2 背景 (2)1.3定义 (2)1.4参考资料 (3)2项目概述 (3)2.1工作内容 (3)2.2主要参加人员 (3)2.3产品 (3)2.3.1程序 (3)2.3.2文件 (4)2.3.3服务 (4)2.3.4非移交的产品 (4)2.4验收标准 (4)2.5完成项目的最迟期限 (4)2.6本计划的批准者和批准日期 (5)3实施计划 (5)3.1工作任务的分解与人员分工 (5)3.2接口人员 (5)3.3进度 (6)3.4预算 (9)4支持条件 (9)4.1计算机系统支持 (9)4.3由外单位提供的条件 (9)5专题计划要点 (10)项目开发计划1引言1.1编写目的为了能准确估算宾馆管理信息系统的开发时,和成本预算。

故编写此项目开发计划,估算项目复杂度,确定项目开发时间,协调人员,分配任务,集团队各人员之力,完成产品,成功交付给客户。

1.2 背景a.工程的名称:宾馆管理信息系统b.工程产品的名称:宾馆管理信息系统c.工程的组织者:李俊峰d.产品的生产者:杨春冬,谢亚伟,李俊峰,盛小华,杨超e.产品的设计者:杨春冬,谢亚伟,李俊峰,盛小华,杨超f.产品的所有权:杨春冬,谢亚伟,李俊峰,盛小华,杨超1.3定义需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。

需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。

白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

数据库:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

测试程序(testing program):为检测软件系统性能是否正常的一种程序。

它通过检测,可以对设备或系统的功能正确性进行测定,并在显示器上给出相应的信息。

1.4参考资料《软件工程导论》,张海藩,清华大学出版社。

《项目管理—计划、进度和控制的系统方法》(第7版)Harold Kerzner(电子工业出版社);《计算机软件工程规范国家标准汇编2003》中国标准出版社;2项目概述2.1工作内容a.做好需求分析、系统分析,确定好开发工具与数据库等b.做好界面的详细设计及其功能描述c.数据库的创建d.单元测试的进行e.软件测试(黑盒测试,白盒测试等)f.软件功能的升级及安全性维护2.2主要参加人员杨春冬,谢亚伟,李俊峰,盛小华,杨超应具备能力:具有较强的沟通能力和协调能力;a.掌握数据库系统概论,软件工程导论,计算机体系结构,数据结构,方面的专业知识b.具有较强的沟通能力和文档编写能力c.掌握java语言,AJAX技术,xml技术d.有较强的编程能力及一定的版面设计能力和测试能力e.有一定的软件测试能力2.3产品2.3.1程序程序名称:宾馆信息管理系统所用语言:java存储程序的媒体形式:磁盘存储程序功能:入住办理,换房办理,退房办理,客房管理,旅客管理。

2.3.2文件文件名称内容要点可行性分析报告对项目市场、技术、财务、工程、经济和环境等方面进行精确系统、完备无遗的分析需求说明书详细介绍系统如何完成现实中的工作流程,确定系统所需完成的功能项目开发计划对项目开发进行规划和整合详细设计说明书对系统功能进行详细的描述用户手册对系统的详细介绍,对系统中用户可进行的操作的详细说明源代码文件记录系统所有源代码2.3.3服务系统安装:将系统安装至用户单位电脑上,并且系统能成功运行。

培训:令用户单位工作人员能熟练使用系统,并了解系统功能维护和bug修复:对系统进行修复2.3.4非移交的产品a.《项目开发计划》b.《需求规格说明书》c.《概要设计说明书》d.《测试计划报告》e.《详细设计说明书》f.《测试分析报告》g.《项目开发总结报告》2.4验收标准a.确保测试阶段正常完成,并顺利完成客户交与的项目b.客户使用过程中,若遇到任何问题,都可以得到免费的维护c.产品各项指标符合需求分析中对产品功能等的描述情况2.5完成项目的最迟期限2011年6月27日星期一2.6本计划的批准者和批准日期批准者:李俊峰批准日期:2011-6-153实施计划3.1工作任务的分解与人员分工3.1.1 需求分析阶段参加人员:杨春冬,谢亚伟,李俊峰,盛小华,杨超;a.任务概述负责人:李俊峰;b.数据描述、功能需求负责人:杨春冬;c.性能需求负责人:谢亚伟;d.运行需求负责人:盛小华;e.需求负责人:杨超;3.1.2 可行性分析研究参加人员:杨春冬,谢亚伟,李俊峰,盛小华,杨超;a.项目背景、研究前提负责人:李俊峰;b.处理流程负责人:杨春冬;c.数据负责人:谢亚伟;d.出与收益负责人:盛小华;e.有系统分析、社会因素负责人:杨超;3.1.3 设计阶段参加人员:杨春冬,谢亚伟,李俊峰,盛小华,杨超;a.用户界面设计负责人:李俊峰;b.数据库设计负责人:杨春冬;c.详细模块设计负责人:盛小华、谢亚伟;d.其他设计:杨超;3.1.4 实现阶段参加人员:李俊峰、谢亚伟;3.1.5 测试阶段参加人员:杨春冬,谢亚伟,李俊峰,盛小华,杨超;3.1.6 维护阶段参加人员:谢亚伟;3.2接口人员a.负责本项目同用户的接口人员:李俊峰、杨春冬;b. 负责本项目同本单位各管理机构:合同计划管理部门、财务部门:盛小华。

质量管理部门:杨超;c. 负责本项目同个份合同负责单位的接口人员:谢亚伟。

3.3进度客房管理系统旅客姓名身份证编号性别联系电话支付金额管理员编号客户编号房间编号入住时间显示输出退房时间支付金额客房编号客房类型客房价格客房状态图1:顶层系统数据流图由上图可知:输入项数为11,即旅客编号,旅客姓名,旅客身份证,旅客性别,旅客联系电话入住编号,入住客户编号,入住房间编号,入住时间,退房金额,支付金额。

输出项数为5,即客房编号,客房类型,客房价格,客房状态。

用户查询数为3,即旅客信息,客房信息,入住信息。

主文件数为3,即旅客信息表,客房信息表和入住信息表。

外部接口数为3,即维护管理员信息,显示输出,和数据库接口。

信息域特性输入项数 11 输出项数 5 查询数 3 主文件数 3 外部接口数3表4:信息域特性假设产品信息域特性复杂级别为平均UFP = Inf a Maf a Inq a Out a Inp a ⨯+⨯+⨯+⨯+⨯54321= 731034355411⨯+⨯+⨯+⨯+⨯ = 132Fi 技术因素 数值 F1 数据通信 3 F2 分布式数据处理0 F3 性能标准 5 F4 高负荷的硬件 1 F5 高处理率 2 F6 联机数据输入 4 F7 终端用户效率 0 F8 联机更新 0 F9 复杂的计算 0 F10 可重用 1 F11 安装方便 3 F12 操作方便 3 F13 可移植性 1 F14可维护性 3表5:技术因素DI =∑=141i i F = 26调整因子:TCF = 0.65+0.01*DI = 0.91 最终调整后的功能点数量FP = UFP * TCF = 132 * 0.91 = 120.13 E=FP/5.5=21.84pm假设1个功能点需要47行源代码 120.13*47 = 5646.11假设个人最高生产率为450LOC/月,每条通信路径导致生产率下降10%(即l=45),项目组共有5名成员,r 即对通信路径的度量为1项目组的总生产率为:L tot =P(L-l(P-1)r )=5*(450-45(5-1))=1350LOC/月 估算开发时间为:5646.11÷1350 = 4.18(月) 生命周期各阶段工作量分布生命周期各阶段 工作量(人/月)项目开发计划分析阶段 3% 0.655 需求阶段 7% 1.528 概要设计阶段 17% 3.713 测试计划阶段 8% 1.747 详细设计阶段 18% 3.931 编码阶段15% 3.276 测试分析,调试阶段 22% 4.805 文档整理阶段 10%2.184进度安排生命周期各阶段 工时数(天) 参与人员 项目开发计划分析阶段 4 全体组员 需求阶段 10 全体组员 概要设计阶段 17 全体组员 测试计划阶段 10 全体组员 详细设计阶段 25 全体组员 编码阶段28 全体组员 测试分析,调试阶段 19 全体组员 文档整理阶段8全体组员011-6-1611-6-1311-6-1611-6-13项目开发计划分析411-6-3011-6-17411-6-3011-6-17需求分析1411-7-2511-7-11411-7-2511-7-1概要设计1011-7-1411-7-17411-7-1411-7-1测试计划3111-8-2211-7-263111-8-2211-7-26详细设计5611-9-2611-8-235611-9-2611-8-23编码8411-11-311-9-278411-11-311-9-27测试分析10311-11-311-10-1010311-11-311-10-10文档整理4101017102528198图2:工程网络图关键路径见图2,以粗线条表示。

相关文档
最新文档