餐厅管理系统分析与设计SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组第一步:获取需求(场景分析技术)设想场景场景一、若干顾客进入餐厅,服务员为他们安排座位,然后拿出菜单给顾客,顾客点菜,服务员填写点菜单,完成后交给服务台,服务台将点菜单交给后厨,后厨按单做菜并上菜,顾客就餐完成后,服务台打印出实际消费清单并计算费用,顾客结帐。场景二、顾客提前预定(电话或口头表达),餐厅根据人数安排餐桌。SWPU软件工程课程组第一步:获取需求(场景分析技术)分析场景获取需求场景一、若干顾客进入餐厅,服务员为他们安排座位,然后拿出菜单给顾客,顾客点菜,服务员填写点菜单,完成后交给服务台,服务台将点菜单交给后厨,后厨按单做菜并上菜,顾客就餐完成后,服务台给出实际消费清单并计算费用,顾客结帐。场景二、顾客提前预定(电话或口头表达),餐厅根据人数安排餐桌。SWPU软件工程课程组第一步:获取需求(场景分析技术)初步需求1、记录顾客及点菜信息2、记录顾客实际消费菜品信息3、计算顾客账单并记录结帐情况4、安排预定餐桌并记录SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组第二步:建立功能模型(数据流图)确定数据的源点和终点服务员顾客确定处理记录顾客及点菜信息(就餐准备)记录顾客实际消费菜品信息(修改菜品)计算顾客账单并记录结帐情况(结帐处理)安排预定餐桌并记录(订餐处理)SWPU软件工程课程组第二步:建立功能模型(数据流图确定数据流顾客及点菜信息菜品增删信息结帐申请消费清单订餐信息确定数据存储顾客就餐信息顾客订餐信息结帐信息SWPU软件工程课程组第二步:建立功能模型(数据流图顶层数据流图第1层数据流图数据流图细化SWPU软件工程课程组顶层数据流图服务员顾客餐厅管理系统输入信息输出信息名称不好!SWPU软件工程课程组修改后的顶层数据流图服务员餐厅管理系统顾客增删菜品信息顾客及点菜信息结帐申请顾客定桌信息定桌安排通知帐单SWPU软件工程课程组第1层数据流图服务员1就餐准备D1就餐信息2修改菜品D2菜单信息3结帐处理4订餐处理顾客顾客及点菜信息增删菜品信息结帐申请顾客定桌信息就餐信息就餐信息帐单定桌安排通知菜单信息SWPU软件工程课程组数据流图细化--结帐处理D2菜单信息D1就餐信息3.1计算用餐费用3.2打印账单3.3结帐记录结帐申请菜单信息就餐信息结帐信息结帐信息账单结帐信息SWPU软件工程课程组数据流图细化--结帐处理(方案二)D2菜单信息D1就餐信息3.1计算用餐费用3.2打印账单3.3结帐记录结帐申请菜单信息就餐信息结帐信息结帐信息账单结帐信息D3账目清单SWPU软件工程课程组数据流图细化--订餐处理顾客定桌信息餐桌状态安排结果修改餐桌状态D5预定记录预定记录定桌安排通知4.1安排餐桌4.2订餐记录及通知D4餐桌状态SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组第三步:建立数据字典定义数据流顾客及点菜信息描述:描述顾客(多人)的特征及点菜情况定义:顾客及点菜信息=顾客人数+桌号+入座时间+点菜情况入座时间=年+月份+日+时+分点菜情况=1{菜品编号}nn=1菜品编号=3{数字}3就餐信息描述:定义:就餐信息=顾客编号+顾客及点菜信息顾客编号=系统自动生成,唯一SWPU软件工程课程组定义数据流(续)增删菜品信息描述:顾客可要求修改已点菜单表,包括增加或删除某菜品定义:增删菜品信息=顾客编号+菜品编号+增删标志增删标志=[0|1]0-表示增加1-表示增删结帐申请描述:顾客就餐完成后要求结帐。定义:结帐申请=顾客编号+打折要求打折要求=1{数字}2例如:85表示8.5折SWPU软件工程课程组定义数据流(续)顾客定桌信息菜单信息帐单定桌安排通知请同学们自己完成SWPU软件工程课程组定义存储D1就餐信息(同数据流)D2菜单信息(同数据流)D3账目清单描述:记录每组顾客结帐情况定义:账目清单=顾客编号+结帐时间+折扣要求+应付金额+实际付款金额D4餐桌状态D5预定记录请同学们自己完成SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组第四步:描述处理逻辑1就餐准备(1)服务员输入“顾客及点菜信息”(2)系统自动产生顾客编码(3)组织成“就餐信息”,写入存储(4)结束2修改菜品3结帐处理3.1计算用餐费用(1)服务员输入“结帐申请”(=顾客编号+打折要求)(2)根据“顾客编号”从就餐信息中查询“点菜信息”清单(3)从“菜单信息”中查询每种菜品的单价(4)计算总的应付金额(5)根据打折要求及应付金额计算实际付款金额(6)输出“结帐信息”到“3.2打印账单”和“3.3结帐记录”(7)结束3.2打印账单(1)从“3.1计算用餐费用”中输入“结帐信息”(2)将“结帐信息”组织成合适形式显示在屏幕上并打印出来3.3结帐记录4订餐处理4.1安排餐桌4.2订餐记录及通知SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组第五步:建立数据模型(E-R图)确定实体顾客菜品餐桌确定联系顾客与菜品多对多顾客与餐桌多对多确定属性顾客:人数、入座时间、菜品:名称、单价餐桌:桌号、房间、座位数SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组第六步:建立行为模型(状态转换图)并不是所有软件项目都有必要建立行为模型通常软硬件结合的系统可以建立其行为模型电梯控制系统ATM机控制系统游戏机。。。大多数纯软件类项目,特别是信息管理类软件可以不必建立行为模型SWPU软件工程课程组需求分析第一步:获取需求第二步:建立功能模型顶层数据流图第一层数据流图数据流图细化第三步:建立数据字典第四步:描述处理逻辑第五步:建立数据模型(E-R图)第六步:建立行为模型(状态转换图)第七步:编写软件需求规格说明书SWPU软件工程课程组第七步:编写软件需求规格说明书参照模版SWPU软件工程课程组需求分析综合练习参照需求分析的前六步,分别完成以下系统的分析工作图书管理系统教务管理系统要求提交PPT文件,格式参照本PPT,文件名格式“学号姓名.ppt”主要内容场景描述初步需求顶层数据流图、第一层及细化后数据流图(必须用Visio)数据字典处理逻辑描述时间:1周独立完成,禁止互相拷贝或抄袭SWPU软件工程课程组概要设计第一步:细化数据流图第二步:设计软件结构第三步:用IPO图描述模块第四步:设计数据库第五步:编写软件概要设计说明书