网上旅馆信息管理系统实验三类图
酒店管理用例图和活动图
房间预订用况:用况名称:房间预订参与的执行者:酒店工作人员,客户前置条件:一个合法的酒店工作人员已登录到该酒店系统事件流:1、当客户通过网上或者电话咨询该酒店并选择酒店房间预订时用况开始2、查询客户需要的房间情况,确认房间可用3、有空房则往下执行,否则结束预订4、输入客户姓名、身份证号,查询是否合法客户5、是则往下执行,否则结束预订6、登记客户入住时间7、用况结束后置条件:在管家系统中更新房间信息Check in 用况:用况名称:check in参与的执行者:酒店工作人员,客户前置条件:一个合法的酒店工作人员已登录到该酒店系统事件流:1、当客户到前台要求入住时用况开始2、输入客户身份证号询问客户姓名,确认为已预订客户3、是则跳到第六步,否则往下执行4、登记客户姓名及身份证号,查询是否合法客户5、是则往下执行,否则结束6、允许入住7、用况结束后置条件:在管家系统中更新房间信息,并跳转到账务系统建立客户账户用况:用况名称:建立客户账户参与的执行者:酒店工作人员前置条件:一个合法的酒店工作人员已登录到该酒店系统事件流:1、当允许客户入住后事件流开始2、系统自动生成一个新账号3、查询客户是否为合约客户,是则往下执行,否则跳到第5步4、输入客户房间号,姓名,身份证号,生成该客户消费账号,自动累计其消费情况并加入优惠措施5、询问客户是否愿意加入合约客户,是则往下执行,否则跳到7步6、跳到合约客户系统,新建合约客户,跳到第3步7、生成普通账户,输入客户房间号,姓名,身份证号,生成该客户消费账号,自动累计其消费情况8、用况结束后置条件:更新收银系统数据账务查询用况:用况名称:账务查询参与的执行者:酒店工作人员,客户前置条件:一个合法的酒店工作人员已登录到该酒店系统事件流:1、当客户提出check out时用况开始2、进入收银系统查询客户消费金额,查询需交金额3、收取金额4、查询需交余额是否为0,是则往下执行,否则跳到第2步5、允许check out下面是余秋雨经典励志语录,欢迎阅读。
uml 餐馆管理信息系统
用例 建模
参与者与涉众的关系
用例 建模
涉众也称干系人,是与要建设的这个 系统有利益相关的一切人和事,涉众 的利益要求会影响系统的建设。 涉众不等于用户。 涉众建议并界定了系统必须要做的 工作。用例应该满足包含所有涉众 关注点的事物。
前置条件和后置条件
前置和后置条件表示用例开始状态 和结束会发生什么
用例建模 领域建模 系统顺序图 系统契约 对象交互图 设计类图
用例建模
用例 建模
用例视图应该包含一组定义了该系统 完整功能的用例,或者至少定义了当 前迭代所规定功能的用例 用例视图应该是客户、最终用户、领 域专家、测试人员和任何其他涉及系 统的人员,不需要详细了解系统结构 和实现就容易理解的
餐馆预约系统的初始用例图
“预约日期可以选择” “顾客姓名可以选择” “可以用条码扫描器或键盘输入商品 id”
领域建模( 领域建模(概念模型)
建立一个领域模型 领域模型——添加关联 领域模型——添加属性
领域 建模
简介
领域 建模
领域模型:显示最重要的业务概 念和它们之间的关系的类图 领域模型用关联和泛化显示了这 些概念之间的关系。领域模型通 领域模型通 常不包含操作
用例 建模
在大型平板显示器上的触摸屏界面。 在大型平板显示器上的触摸屏界面。文本信 息要能够在1 息要能够在1米之外看清 90%的信用卡授权机构的响应应该在30秒收到 的信用卡授权机构的响应应该在30 90%的信用卡授权机构的响应应该在30秒收到 ……
技术和数据的变化列表
用例 建模
技术和数据的变化列表:系统通常 有一些技术上的变化是关于“应该 怎么做”,而不是“应该做什么”, 需要在用例中将这种变化记录下来。
用例 建模
酒店信息管理系统软件工程设计说明(有图)
酒店信息管理系统软件工程设计说明(有图)xxx大学软件详细设计说明书项目名称:酒店信息管理系统实验课程:年级:专业:班级:学号:姓名:指导教师:目录一、绪论···································································错误!未定义书签。
1.1开发背景·······················································错误!未定义书签。
UML旅店管理系统用例图、用例规约
一.旅店管理系统用例图
二.用例规约
1.预定房间
1 .1简要说明
本用例允许客户预订旅店的未被预订的房间,系统提供未被预订的房间的信息列表。
1.2 先置条件
客户进入旅店管理系统,并选择预订房间功能。
1.3 事件流
(1)基本事件流
A 客户选择要预订的房间的类型,双人间或单人间。
B 根据客户选择的房间类型,从所有该类型房间中,筛选未被预定的房间,将这些房间的信息列表显示,供客户查询。
C 客户选定房间,并输入要预订的天数。
(2)备选事件流
A 客户所需要类型的房间已全部被预订,则提示客户,该类型房间已全部被预订,询问客户是否选择另一类型的房间。
B 用户选择预订的房间的时间段与已经预订了该房间的其他客户的时间
段发生冲突,则系统提示,该房间在哪些日期里已被预订,并询问当前客户是更换房间还是修改预订天数。
1.4 后置条件
A 客户选择房间和预订天数并确认后,系统要求客户输入客户信息,包括客户的姓名、地址、联系电话、有效证件号。
另外,系统将计算出客户需要缴纳的定金和总费用,并显示出来。
B 客户重新选择房间类型,或修改天数,则刷新用户界面。
酒店收银系统的用况图、类图及顺序图文档
收银系统用况图1.图形文档2.文字说明1)用况图综述目的:使前台收款人能够快速的帮助客人结账或收退押金。
功能:登录、结账管理、收退押金处理、打印账单、查询收款情况、交接班管理、维护账单2)参与者描述前台收款人:主要负责操作该系统来实现收款的目的顾客:主要是付款报表管理:实现打印功能各类信息查询管理:实现查询收款情况的功能系统维护管理:维护系统3)用况描述用况名:登录简述:登录系统参与者:前台收款人细节:输入帐号和密码If 帐号或密码不正确弹出提示框Then 重新输入帐号或密码并确定End for;转到收银系统首页。
前置条件:帐号和密码要正确收银系统类图1、图形文档2、文字说明1)类图综述目的:实现整个收银系统的操作功能:登录、结账、收押金、查询收款情况、打印账单、交接班2)类描述类的整体说明:包括前台收款人类、顾客类、信息查询系统类、账单类、报表管理系统类,其中前台收款人类和顾客类有主动性,而信息查询系统类和账单类无主动性。
类名属性名属性含义数据类型前台收款人类姓名表示收人人的名字字符类工作号码收款人的代号字符类顾客类姓名顾客的名字字符类电话号码顾客的联系方式字符类信息查询系统类账单类账单号账单的代号字符类报表管理系统类操作说明:3)关联描述前台收款人与顾客之间是二元关联,顾客和信息查询系统之间是多元关联,账单和信息查询系统之间是多元关联,账单和报表管理系统是多元关联,账单和前台收款人是多元关联。
收银顺序图1、图形文档2、文字说明1)顺序图综述目的:实现对顾客的收款,并记录信息。
2)顺序图中的对象描述对象名是否为主动对象顾客是钱台收款人是钱台否收款界面否客人信息管理否3)对象接收/发送信息的描述信息查询系统用况图1.图形文档2.文字说明1)用况图说明目的:使管理人员能够查询各类信息功能:房态图查询、各种列表查询、公共信息查询、公共信息查询、导航器查询、系统维护2)参与者描述管理人员:登录系统查询各类信息客人预定管理:管理客人预定房间收银管理:使前台收款人能够快速的帮助客人结账或收退押金系统维护管理:维护系统3)用况图描述用况名:登录简述:登录信息查询系统参与者:管理人员细节:管理人员输入帐号、密码按登录,然后登录系统前置条件:帐号和密码要正确用况名:登录简述:登录信息查询系统参与者:管理人员细节:管理人员输入帐号、密码按登录,然后登录系统前置条件:帐号和密码要正确。
软件工程课程设计-宾馆信息管理系统-参考模板
分类号编号华北水利水电大学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
软件工程酒店管理系统时序图协作图
软件工程酒店管理系统时序图协作图软件工程实验二:系统架构分析与设计院系:软件学院专业:软件工程II班级:软工11级.net1班梅荣霞(组名姓:长)、尹德金、刘强、李国峰、王钢1115115373长号(组):学:教指导师王娟项目名称:宾馆管理系统一、识别分析类宾馆管理系统的边界类边界类职责边界类名称登陆后检验用户身份,允许用户输入有效的用户名和密码,用户登录界面才能进行自己权限内的项目进行操允许(有此权限的)人员进入进行添加操添加入住信息界修改入住信息界允许(有此权限的)人员进入进行修改操删除入住信息界允许(有此权限的)人员进入进行删除操用户查询界允许用户进行查询操用户结账界用户进行结账操作宾馆管理系统的实体类实体类职责实体类名称人员信息姓名、密码、职工编号、职务、用户类别房间类型、房牌号、单价房间信息客户名称、入住时间、预交定金入住信息宾馆管理系统的控制类控制类职责控制类名称用户登录根据不同的用户和不同的登录信息转到不同的界面添加信息到数据库添加信息修改信息修改信息到数据库删除信息删除信息到数据库用户查询对用户提交的查看请求进行处理结账信息用户对宾馆的服务进行处理2二、时序图(至少个)用户登录酒店管验证服务数据库验证理系统输入用户1.发出验2.名和密码证请求3.进行查询4.用户存在5.验证成功成功登录6.图1:用户登录系统时序图图2:添加客房基本信息时序图顾客前台系统管理员银联1.刷卡2.问口令3.输口令4.口令验证5.检查顾客资6口令正7口令正8输入金9进行处10银行处11完处理完1213打印清单:用客结账时序图图3三、协作图6: 1:登录酒店管理用户系统5:2:3:数据库验验证服证务4::用户登录系统协作图4图【用户登录系统协作图说明】:1)输入用户名密码2)发送验证请求3)进行查询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)打印清单四、包图宾馆管理系统主要分为两层:界面层和实体层。
UML实验报告
一、实验目的熟悉软件建模工具PowerDesigner的安装和使用,使用PowerDesigner绘制用例图,熟悉用例文档的编写,掌握系统需求模型的构造过程;学习使用PowerDesigner绘制类图。
二、实验内容1. 根据如下场景构造需求模型,使用PowerDesigner绘制用例图,撰写用例“在线预订客房”和“前台预订客房”的用例描述文档,并进行模型检查。
某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时交相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
2. 某电话公司决定开发一个客户信息管理系统,系统功能如下:(1) 浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。
(2) 登录:电话公司授予每个客户一个账号。
拥有授权账号的客户可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。
公司管理人员也可以通过登录对客户信息进行管理。
(3) 修改个人信息:客户在系统中注册后,可以发送电子邮件或者使用系统提供的页面对个人信息进行修改。
(4) 删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。
绘制该系统的用例图。
3. 根据如下描述绘制类图:某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
管理信息系统实训报告 -绘制数据流程图
2
酒店散客预订流程图:
D1 协议
预定要求
P1
客
人
获取预定信息
预定要求
房价
P2
确定房价
P3
收据 客
人 收取订
金
D2 预定客人记录
D3 房态表
P4
修改要求
客
修改预
人
定
确认单
P5
确认预 定
房间要求
P6
预分房 间
二、 酒店团体接待业务流程图的绘制过程:
(1) 找出哪些是外部实体,外部实体有团体接待单位; (2) 找出需要进行处理逻辑加工的有几个,这些是 P1:获取信息,P2:确定房价,P3:
价,P3:收取定金,P4:修改预订,P5:确认预订,P6:预分房间; (3) 数据存储有哪些,这些是 D1:客人协议,D2:预订客人纪录,D3:房态表; (4) 分析前面三者的关系,数据的流向; (5) 在纸上绘制出酒店散客预订业务流程图; (6) 在 word 文档中绘制出酒店散客预订业务流程图。
3
酒店团体接待流程图:
D1 团队预订文件
团体
房号
团体
团体信息
P1
信息
分配房 间
总机班
团体成员
D2 团体记录文件
成
D3 客人记录文件
员
信
息
P3
开设团体 凭证
P4
开设 客人 凭证
成员名
P5
获取成 员信息
实训心得(可附页):
其一,管理信息系统是一门融管理科学、信息科学和计算机技术等为一体的综合性科学。 而我们作为旅游管理专业的学生,此次实训融合了酒店接待流程的内容,加深了我们对酒店 接待的理解,特别是对散客和团队的预订的异同点有了清醒的认识。其二,酒店流程图对于 改善酒店服务和优化业务过程非常有帮助,但对于酒店接待一些专业性较强的细节问题缺乏 足够的表现手段。其三,绘制流程图是一项相当麻烦的差事,需要反复改进和足够的细心,
UML酒店管理系统
组内角色
组内分工
王萌
组长
分配任务,完成用例图、类图、顺序图、协作图、状态图、活动图、撰写文档
罗旋
组员
完成用例图、类图、顺序图、状态图、对象图
杨笑
组员
完成用例描述、构件图、部署图、制作PPT
杨其一
组员
完成用例描述、构件图、部署图、撰写文档、制作PPT
2项目进度安排
本系统开发流程如表2所示
表2系统开发流程表
图9酒店管理系统顺序图---入住
图10酒店管理系统协作图---入住
图11酒店管理系统活动图---入住
4.1.3退房模块
该部分描述的是系统的退房模块,以下图12、图13、图14,为入住的顺序图、协作图、活动图。
图12酒店管理系统顺序图---退房
图13酒店管理系统协作图---退房
图14酒店管理系统活动图---退房
酒店经理:登录系统,系统对其编号进行识别,确认经理身份后,可实现比前台人员高一些的权限,比如查看报表、对员工进行人事管理等。
4.1.1系统整体
针对本系统,我们做出系统整体的类图、对象图和活动图,如图6、图7、图8。
图6酒店管理系统类图
图7对象图
图8酒店管理系统活动图
4.1.2入住模块
该部分描述的是系统的入住模块,以下图9、图10、图11,为入住的顺序图、协作图、活动图。
若有改动必须保存
基本操作流程
1.用户登录
2.根据用户请求,进行响应操作
3.提交操作结果
可选操作流程
bookRoom(预定)、checkIn(入住)、checkOut(退房)、continueToLive(续住)、changeRoom(换房)
被泛化的用例
软件工程实验报告——需求分析
《软件工程》实验报告酒店管理系统需求分析目录1.系统需求概述01.1背景说明01.2部门划分01.3各子系统的功能02.用例建模02.1参与者列表12.2用例列表12.3用例图12.4用例规格说明22.5辅助需求23.对象建模23.1确定类与对象23.2确定关联23.3确定属性33.4确定服务33.5系统类图44.动态建模44.1顺序图44.2状态图65. 总结71.系统需求概述1.1背景说明酒店管理系统是一个面向酒店用来进行酒店日常管理的系统。
该系统能能够为酒店的管理者对酒店进行比较精确的管理。
酒店管理系统的功能包括以下内容:支持用户进行酒店客房的预定、酒店客房的退订以及退房付款等操作;支持客房部门对用户的预定、退订、退房等进行操作;当客户订房时进行客房查询:如查询客房是否可以预定;当客户退订或退房时:如进行客房状态修改等。
酒店管理系统能够支持财务部门对整个酒店财务进行正常管理。
如客房部在用户退房时的付款管理等。
并整理某一时间段内酒店的整体收益以及员工的薪水管理1.2部门划分⑴管理者用于整体的统计操作,它的主要职责有:①.管理员工。
给员工编号登记其基本信息,及其所在部门,职位等。
②.客房管理。
对客房的信息进行录入。
⑵客房服务部门对客房的管理,主要职责:①.登记旅客信息,确认其身份,登记其入住、退房时间。
②统计各类房间的客满程度。
1.3各子系统的功能系统划分为三个小部分:管理者子系统、财务子系统、住宿子系统。
①管理者子系统Ⅰ、对新来的员工进行基本信息录入。
{员工号、姓名、性别、年龄、部门号、职务、工资}Ⅱ、对于离职的员工信息进行删除②住宿子系统Ⅰ、来客登记:客人信息{房间号、房间类别、客人名字、证件号码、入住时间、退房时间时间}Ⅱ、房间管理:旅客入住,对用户信息进行登记并对相应房间数量进行修改;退房时,删除所有信息2.用例建模⑴员工信息管理用例描述:员工信息管理包含的用例有添加员工、查询员工信息、修改员工信息以及删除员工信息。
UML建模案例——酒店预订系统
案例:酒店预订系统一、需求分析酒店订餐管理系统是中小型酒店餐饮企业用来对客人的订餐活动进行管理的信息管理系统(MIS)。
该信息系统不仅能够为客人提供方便的订餐功能,同时也能够达到提高酒店餐饮企业管理效率的目的。
订餐系统的功能性需求包括以下内容:(1)酒店的接待员使用电话为客人提供订餐服务,根据客人的订餐要求,在指定的时间和桌位安排好客人的就餐事宜;按客人的要求执行修改订单的操作;在客人临时取消预订时删除订餐信息;在客人订餐时间到达前,及时提供电话提醒服务。
(2)酒店领班在订餐客人到店用餐时和用餐离店后分别在系统做好记录并保存;能够为客人注册成为会员;可以查询、修改和删除会员信息;可以为客人提供换桌服务。
二、创建系统用例模型接待员用例能够通过该系统进行如下活动:(1)记录订餐信息。
接待员将客人的订餐要求输入到系统中予以保存。
(2)订餐定时提醒。
接待员在客人的预定的订餐时间之前给客人一个提醒,同时再次加以确认。
(3)取消订餐记录。
客人因临时原因取消订餐,接待员将系统中原来的订餐信息予以取消。
领班用例能够通过该系统进行如下活动:(1)记录订餐客人到店。
领班在有预订的客人前来酒店就餐时,在系统中记录预订客人已到店的信息并保存。
(2)记录订餐客人离店。
领班在预订的客人用餐离店后,在系统中记录预订客人用餐完毕的信息并保存,表示整个订餐过程结束。
(3)注册新会员。
领班在用餐客人同意加入成为本酒店会员时,有为客人注册成为新会员的权力。
(4)修改会员信息。
领班有权对酒店会员信息进行修改。
(5)删除会员信息。
当客人不再要保留会员资格时,领班将该会员的信息从系统中删除。
(6)换桌服务。
当客人对就餐位置不满意时,领班可为客人提供更换餐位的服务并在系统中做好记录。
三、创建系统静态模型根据系统需求,创建静态系统类图。
我们可以识别系统中存在的主要实体类:接待员类(Receptionist)、领班类(Captain)、客人类(Customer)和会员类(Member)。
软件工程UML,旅店管理系统,用例图建模,用例分析,设计过程
: 服务员 : ReservationForm
作业三 设计过程
一 作业要求
总分�20 分 在作业 2 用例分分�
用例实现-交互图设计 类设计�VOPC 和类的详细定义� 可选�子系统设计�设计子系统的接口� 2 由于费用支付方式未定�因此�在第一版的系统设计时�应充分考虑支付方式 的可扩展性�请结合面向对象的设计原则和模式�设计系统中的“支付类” �Payment��以使得系统能够适应多种不同的支付方式�注意在图中添加适当的 注释阐明相关的设计原则或模式��5 分� 3 完成系统的数据库设计�5 分�
: ReservationFlow
:
: Reservation
FindBusinessFlow
1. //查询可预定房间信息
1.1. findAvailRoom(string) 1.1.1. //available room list
: Customer
: Payment
: Room
1.2. displayRoomList(list)
二 作业内容�
第一个迭代周期的用例图�
Time
Count Total Fee
Reservation Database
Client
Book Room
Record Client Information Client Database
系统为 MVC 构架�如下图�
酒店管理信息系统功能结构图课件
(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 上 标明分界线
门诊 管理
挂挂
号号
单
费 总
计
挂号 病历 处理 管理
处方 管理
药库 药房 病房 管理 管理 管理
管理信息系统课程设计旅店信息管理系统
辽宁工业大学《管理信息系统设计专题》报告题目:旅店信息管理系统院(系): 软件学院专业班级:软件技术0000班学号:000000000学生姓名:00000指导教师:000000教师职称:副教授起止时间:2010.06.28-2010.07.09实用文档设计任务及评语院(系):软件学院教研室:软件教研室实用文档实用文档辽宁工业大学设计专题说明书(论文)实用文档目录第1章设计目的与要求 (1)1.1设计目的 (1)1.2设计环境 (1)1.3主要参考资料 (2)1. 4设计内容及要求 (2)第2章设设计内容 (3)2.1数据库设计 (3)2.1.1需求分析 (3)2.1.2概念设计 (10)2.1.3逻辑设计 (12)2.1.4物理设计 (12)2.1.5 数据库实现 (14)2.2程序设计 (18)2.2.1概要设计 (18)2.2.2程序实现 (20)第3章设计总结 (23)参考文献 (24)第1章设计目的与要求1.1设计目的本实践课的主要目的是:(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。
1.2设计环境在设备CPU:T1400 @ 1.73GHZ ;硬盘:250 G;分辨率:最佳效果1024*768的情实用文档况下,运用VB6.0为前台工具,采用VB语言,以SQL Server 2000作为后台数据库,在Windows XP环境下编写并测试运行的。
1.3主要参考资料1.《管理信息系统》黄梯云高等教育出版社2.《数据库系统概论》萨师煊高等教育出版社3.《SQL Server 2000 数据库应用系统开发技术》朱如龙编,机械工业出版社。
4.《SQL Server 2000 数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社1.4设计内容及要求一、内容1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
酒店订房系统-类图
uml和ooad快速入门
9
1.2.2 关联关系
实体关联图(关系型数据库) 数据表(table) 记录(record) 字段(field) 无
关系(relationship)
类图(面向对象) 类(class)
对象(object) 属性(attribute) 操作(operation) 关联(association)
图1-14:删掉“入住明细”
uml和ooad快速入门
25
1.3.4 参与者与涉众
最后,我们回过头来看 事务模式中的涉众的概 念。 仔细探究起来,涉众其 实是一种身份、一种角 色,在这个角色背后有 一个真正的“参与者( actor) ” 。 “参与者-涉众”之间 的关系就像是“演员- 角色”一样,如图 1-15 所示。
• 具体来说,开发人员可以通过类图的设计, 来将数以万行的程序代码分门别类,构成了 系统内部的静态结构。
uml和ooad快速入门
3
1.1 类图
• 新术语—模块变类(class)、功能变操作(operation)、 变量变属性(attribute)。新术语并不是旧酒换新瓶,而 是在分类、定操作、定义属性基础之上,有新的划分方 法。
图1-8:物品与特定物品
uml和ooad快速入门
19
1.3.2 物品与特定物品
注
释
(comment)
图1-9:应用“物品-特定物品”
uml和ooad快速入门
20
1.3.2 物品与特定物品
图1-10:多对多的复杂状况
uml和ooad快速入门
21
1.3.3 后续事务
图1-11:后续事务-后续事务明细
• 以前的做法—从功能的角度,把大功能、大流程分成数 个模块 ;再把功能模块分成小功能、小流程,定出功能 ; 然后在编写功能时,定义所需的变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象建模UML设计试验报告
齐鲁工业大学
信息学院
王雪梅
201203014015
实验三类图
一、实验目的
1.理解类的基本概念。
2.掌握如何从需求分析中抽象出类的方法。
3.掌握在Rational Rose中绘制类的操作方法。
4.理解类间关系的基本概念。
5.掌握描绘类间关系的方法。
6.掌握在Rational Rose中绘制类关系的操作方法。
二、实验要求
寻找和抽象出书籍管理功能中的类。
对书籍管理功能中的类的关系建模。
三、实验步骤
1 顾客预定时需提供给前台其入住时间,结束时间,姓名,身份证号,电话,性别,等信息,并且前台要提供给顾客为其预留的房间房号。
2 前台接受这些信息并作备份,
3 顾客可根据客房类型进行自己选择,包括房号,床数,价格,空调,电视。
4 顾客结帐时,根据客房类型,入住时间进行结帐。
四.实验总结
通过这次作业,我感觉,需求分析、把分析结果转化为结构化的思想这两点比较难。
需求分析,刚做的时候,以为要面面俱到,把酒店的各方面都要表现出来,后来才明白这个系统重点是“管理”,以后这个要注意,要抓重点进行分析。
还有就是把分析结果转化为结构化的思想比较难,我指的是画类图这一步,我一开始不是很理解,后来想了好长时间,才把需求分析的那种思想转化为编程的那种设计思想,个人感觉这个转化有一定的难度。
现在看来,有难度的事情,只要
一步一步地仔细想、仔细做,终会完成,只要想去完成
五、思考问题
1.类图在系统分析过程中有什么作用?
(1)为开发人员提供这种模仿现实世界的表达方式
(2)让分析员使用客户所采用的术语和客户交流,促使客户说出所要解决的的问题的重要细节。
2.绘制类图的一般步骤是什么?
(1)创建类图
(2)加入类
(3)增加类的属性
(4)增加类的方法
3.如何识别系统的分析类?
边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。
通过用例图可以确定需要的边界类,每个Actor/Use Case对至少要一个边界类,但并非每个Actor/Use Case对要唯一的边界类。
实体类保存要放进持久存储体的信息。
持久存储体就是数据库、文件等可以永久存储数据的介质。
实体类可以通过事件流和交互图发现。
通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。
控制类是控制其他类工作的类。
每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。
其他类并不向控制类发送很多消息,而是由控制类发出很多消息。
4.分析阶段的类图和设计阶段的类图有何区别?
在软件开发不同阶段都使用类图,但这些类图表示了不同层次的抽象,在需求分析阶段,类图是研究领域的概念;在设计阶段,类图重点描述类与类之间的接口;分析类图中的类是从需求中获取的,设计类图通常是在分析类图的基础上进行细化和改进的。