版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、详细设计说明书文档编号: LMS-3版 本 号: V1.0 文档名称: 详细设计说明书 项目名称: 餐馆点菜系统 项目负责人: 王晓凤、曹春美 编写: 王晓凤、曹春美 2013年12月11日校对: 曹春美 2013年12月12 日审核: 王晓凤 2013年12月12日目 录1 引言41.1 编写目的41.2 项目背景41.3 定义41.4 参考资料42 总体设计43 程序描述73.1 主模块73.2 点菜模块8 3.2.1菜的编号查验模块9 3.2.2相关信息获取模块10 3.2.3点菜登记模块113.3 修改模块11 3.3.1 加菜模块13 3.3.2删菜模块14 3.3.3 查询模块14
2、3.4 删除菜单模块16 3.4.1 菜单查询模块17 3.4.2相关信息获取模块18 3.4.3 删菜模块193.5 菜单查询模块203.6 登陆模块(建立连接)233.7 退出模块243.8 结账模块243.9 系统操作模块24 3.9.1 系统操作权限查验24 3.9.2菜单库操作24 1 引言1.1 编写目的经过对该餐馆点菜系统项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行可行性分析。明确开发风险及其所带来的经济效益。本报告经审核后,交由软件经理审查。该需求规格说明书的采访对象是XXX餐馆点菜系统软件小组的研发工程师、测试工程师、销售工程师,版权归X
3、XX所有,严禁外传。1.2 项目背景项目名称:餐馆点菜系统 用户:××餐馆 说明:随着我国市场经济的快速发展,各行业都呈现出生机勃勃的发展景象。在餐饮业竞争越来越激烈的今天,酒店如何提高服务质量、管理能力显得越来越重要。如果单凭手工操作,不仅效率低下,而且会极大地影响到酒店的服务质量。酒店餐饮点菜系统作为餐饮管理规划的一部分,集点菜、结帐、查询、统计、设置等各种功能为一体,对于提高餐饮管理效率、增加收入发挥不可替代的作用。1.3 定义餐馆点菜系统是适用在餐馆,酒店等公共就餐场所的一款软件,该系统的开发可以加快客人的就餐速度,方便商家的运营,改变传统的点餐模式。本系统用ASP
4、开发,利用此系统,使得前台服务不再和以前一样使用纸笔记录,只是轻点键盘就能完成,减少错误地发生,避免不必要的损失。1.4参考资料1张海藩.软件工程导论(第3版) 人民邮电出版社2费贤举.Java面向对象程序设计 中国电力出版社2 总体设计主模块用户界面子模块系统操作删菜加菜输出用户输入点菜点菜模块 选择桌号菜单确认菜单记录选择菜系输入数量选择菜品数据库操作操作命令生成数据库查询 加菜模块输入菜名、单价菜单确认菜单记录查询到该菜添加进该顾客菜单数据库操作操作命令生成数据库查询系统操作模块子模块调用用户界面系统操作权限查验数据统计数据恢复数据备份系统设置菜单库操作输出输入 菜单库系统事务处理用户界
5、面获取记录数据库操作更新当前记录ID查验输入ID移动到指定的ID删除记录加入记录输出更新显示输入数据库查询3 程序描述3.1 主模块l 功能建立与数据库连接获取系统设置运行主对话框根据输入调用子模块退出系统时断开与数据库的连接l 输入项目用户鼠标点击输入l 程序逻辑见右图l 存储分配内部数据:数据库连接con = DriverManager.getConnection 数据库连接指针stmt = con.createStatement(); 数据库连接指示子对话框jiudian.diancai() 点菜对话框Jiudian.xiugai() 修改菜单对话框 Xiugai.chauxn() 查询
6、 Xiugai.tianjia() 添加 Xiugai.shanchu() 删除Jiudian.chaxun() 菜单查询对话框Jiudain.jiezhang() 系统操作对话框l 测试要点数据库连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。对用户输入的响应:合法输入,能够正常调用子模块; 非法输入,系统能否辨别,并作出响应(提出警告); 子模块的异常状况,系统能否及时做出响应。 初始化结账模块菜单查询模块 删菜模块 加菜模块 点菜模块3.2 点菜模块l 功能按键进行点菜,建立菜单 运行点菜对话框数据库的调用和更改、保存,以修改数据库中的汇
7、总菜单信息l 输入项目 菜的名字,桌号,菜系,或者是价格;l 输出项目顾客已点的菜的相关信息(单价,数量,菜的编号);l 程序逻辑初始化菜单点菜 noyes输入菜名(菜系,桌号) yes 输入数量 结束 加入菜单l 存储分配内部数据:数据库 Connection con 数据库连接指针用户界面 String name 欲点菜的名称内部参数String m 当前顾客的桌号l 测试要点模块正常运行流程用户输入数据检查(顾客的桌号),包括数据合理性检查,以及合法性检查数据库操作数据库连接异常时的响应情况 3.3 修改模块3.3.1加菜模块l 功能运行加菜对话框查验输入的菜的编号对合法输入登录加菜信息
8、显示相关信息(本次加菜操作信息,以点的菜的相关信息)l 输入项目菜的编号(用户输入)l 输出项目相关信息(本次加菜操作信息,以点的菜的相关信息)l 程序逻辑 连接数据库连接数据库 no yes 加菜 yes通过桌号在数据库中找到菜单no查询菜单并进行加菜操作 断开数据库 保存数据库 结束l 接口调用形式:xiugai()传入参量:con(数据库连接指针常量)提供数据库连接传出参量:无l 存储分配内部变量:数据库 Connection con 数据库连接指针Statement stmt 数据库查询结果集指针用户界面cname 欲加的菜的名称m 顾客的桌号显示l 测试要点模块正常工作流程对输入的查
9、验,包括输入值的合法性与合理性检验数据库连接异常能否做出适当处理数据库数据异常时能否判断并给予适当处理3.3.2删菜模块l 功能运行删菜对话框查验输入的菜的编号对合法输入登录点菜信息显示相关信息(本次删菜操作信息,尚未删除的菜单的相关信息)l 输入项目菜的编号(用户输入)l 输出项目相关信息(本次删菜操作信息,尚未删除的菜单信息)l 程序逻辑 连接数据库 删菜yesno yes通过桌号在数据库中找到菜单 查询菜单并进行删菜操作删除此项并释放空间保存数据库断开数据库 结束l 存储分配内部变量:数据库 Connection con 数据库连接指针Statement stmt 数据库查询结果集指针
10、用户界面 cname 欲加的菜的名称m 顾客的桌号显示l 测试要点模块正常工作流程对输入的查验,包括输入值的合法性与合理性检验数据库连接异常能否做出适当处理数据库数据异常时能否判断并给予适当处理3.3.2.1顾客输入查验模块l 功能查验输入的桌号是否合法(即是否存在与该桌号对应的菜单记录)l 输入项目顾客桌号(整型常数)l 输出项目查验结果(BOOL值)l 程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该桌号)返回”非法桌号”ELSE返回”合法桌号”l 测试要点数据库连接正常时输入合理合法参数输入参数不合理输入参数不合法数据库连接异常;数据库数据异常(读者姓名为空)3.
11、3.2.2菜名称查验模块l 功能查验输入的菜的编号是否合法l 输入项目菜的编号(整型常量)l 输出项目查验结果(BOOL值)l 程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在这种菜)返回”非法菜名”ELSE返回”合法菜名”l 存储分配局部变量:数据库menu Statement stmt 数据库查询结果集指针l 测试要点数据库连接正常数据库数据正常输入的编号合理合法输入的编号不合理输入的编号不合法数据库数据异常数据库连接异常3.3.2.2查询模块l 功能查询顾客是否有点该菜l 输入项目菜的名称(字符串)、桌号(字符型常量)输出项目该菜是否在该顾客的菜单中,对话框提示。如
12、存在,则显示该菜的信息。l 程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(菜单中不存在这种菜)返回”不存在该菜”ELSE返回”该菜信息”l 存储分配局部变量:数据库menu Statement stmt 数据库查询结果集指针l 测试要点数据库连接正常数据库数据正常输入的桌号合理合法输入的桌号不合理输入的桌号不合法数据库数据异常数据库连接异常3.5 菜单查询模块l 功能根据给定查询条件,查询数据库,获取菜单的信息l 输入项目该顾客的桌号(字符型常量)l 输出项目查询结果在对话框中显示(菜名、价格、数量)初始化对话框l 程序逻辑查询生成查询命令查询数据库显示结果列表退 出l 存储
13、分配内部变量:数据库内部数据:数据库 menu rr = con.createStatement(); ResultSet rr=stmt.executeQuery("select * from menu");数据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 数据库查询连接 con = DriverManager.getConnection("jdbc:odbc:menu","","") l 测试要点数据库连接正常数据库数据正常获得正确的
14、查询结果并显示数据库数据异常给出警告数据库连接异常给出警告3.5.1数据库查询模块l 功能根据输入的查询命令查询数据库l 输入项目查询命令(传入参数)l 输出项目数据库查询结果(返回值);数据库查询结果集(公共变量)l 程序逻辑查询数据库IF 操作成功返回”操作成功”ELSE返回”操作失败”l 存储分配 数据库:menu 查询参数stmt = con.createStatement(); stmt.executeUpdate(insert); 数据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") con = Driver
15、Manager.getConnection("jdbc:odbc:menu","","") 数据库查询连接l 测试要点数据库连接正常输入查询命令合法获取非空查询结果集返回“真”返回值,查询结果保存在查询结果集中获取空查询结果集返回“真”返回值,查询结果集为空输入查询命令不合法返回“假”返回值,查询结果集指针指向空,给出警告数据库连接异常3.5.2菜单显示模块l 功能按一定格式列表显示查询结果,并根据用户要求重排列l 输入项目查询结果集(传入参数);输出项名称(传入参数);查询结果表参数,包括行数、列数(传入参数)l 输出项目用户界面显
16、示l 程序逻辑初始化(设置行数、列数、列名称,载入输入的查询结果集内的数据)显示列表WHILE 用户未输入“返回”IF 用户拖动列的标题栏重新设置列的位置排序刷新显示返回l 存储分配内部数据:数据库 menu stmt = con.createStatement(); stmt.executeUpdate(insert);数据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") con = DriverManager.getConnection("jdbc:odbc:menu","",
17、"") 数据库查询连接l 测试要点查询结果正常查询结果集为空显示消息框提示查询结果集不为空正常显示结果列表,并根据用户输入调整输出查询结果异常显示警告3.6结账模块功能根据输入的要求统计数据库中各种信息,生成结果列表显示l 输入项目数据库连接(传入参数)l 输出项目无l 程序逻辑初始化(获取数据库连接,显示对话框)WHILE 用户未输入”返回”显示控制IF 用户输入”开始”禁止”开始”按钮生成数据库查询命令查询数据库显示查询结果使能”开始”按钮关闭对话框l 存储分配 内部数据:数据库 menu rr = con.createStatement(); ResultSet rr
18、=stmt.executeQuery("select * from menu");数据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 数据库查询连接 con = DriverManager.getConnection("jdbc:odbc:menu","","") l 测试要点数据库连接正常模块正常流程,对用户界面的控制,对子模块的调用数据库连接异常给出警告3.6.1 查询命令生成模块l 功能根据用户界面的输入生成查询命令,并提供一定的对输
19、入数据的检验l 输入项目用户界面的各个输入变量(公共变量)l 输出项目数据库查询命令(返回值)l 程序逻辑读入界面的设置生成查询条件生成输出项生成查询语句返回查询语句l 存储分配数据库 menu查询语句:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");con = DriverManager.getConnection("jdbc:odbc:menu","","");stmt = con.createStatement();ResultSet rs=stmt.execute
20、Query(select);l 测试要点用户输入数据合理合法生成正确的数据库查询语句用户输入数据不合理或不合法给出警告3.6.2数据查询模块l 功能根据输入的数据库查询命令,查询数据库数据,生成查询结果集l 输入项目查询命令(传入参数)l 输出项目查询成功/失败标志(返回值);查询结果集(公共变量)l 程序逻辑查询数据库IF 操作成功返回”操作成功”ELSE返回”操作失败”l 存储分配内部数据:数据库 menu rr = con.createStatement(); ResultSet rr=stmt.executeQuery("select * from menu");数
21、据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 数据库查询连接 con = DriverManager.getConnection("jdbc:odbc:menu","","") l 测试要点数据库连接正常查询命令合法获取的结果集为空返回“真”,结果集为空获取的结果集非空返回“假”,结果集记录相应结果查询命令非法返回“假”,给出警告数据库连接异常3.6.3删除菜单模块l 功能将已经结过账的菜单从数据库中删除l 输入项目查询结果集(传入参数);输出项名称(传入
22、参数);查询结果表参数,包括行数、列数(传入参数)l 输出项目用户界面显示l 程序逻辑初始化(设置行数、列数、列名称,载入输入的查询结果集内的数据)显示列表WHILE 用户未输入“返回”IF 用户拖动列的标题栏重新设置列的位置排序刷新显示返回l 接口调用形式:CListShowDlg:ShowList(const _RecordsetPtr pRecords,CString *strArray,const int cols,const int rows)传入参数:pRecords(数据库查询结果集指针)需要显示的查询结果 strArray(字符串数组头指针)显示项的名称(列名) cols(整型
23、常量)列表列数 rows(整型常量)列表行数传出参数:无l 存储分配内部数据:数据库 menu rr = con.createStatement(); ResultSet rr=stmt.executeQuery("select * from menu");数据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 数据库查询连接 con = DriverManager.getConnection("jdbc:odbc:menu","","") l
24、 测试要点查询结果正常查询结果集为空显示消息框提示查询结果集不为空正常显示结果列表,并根据用户输入调整输出查询结果异常显示警告3.7登陆模块(建立连接) l 功能进入点菜系统与数据库、服务器建立连接、检查登陆者信息并确定其操作权限l 输入项目用户按键输入 输入服务员编号、密码l 程序逻辑DO 输入服务员和餐桌编号 IF 编号正确且日期正确 THEN 与数据库和服务器连接 ELSE 发出“错误信息” ENDIF 开始输入桌号正确 no y
25、es与服务器、数据库建立连接输入错误信息 结束l 测试要点 数据库连接情况:正常情况,数据库文件缺少,外部系统异常。 系统设置获取:正常情况,外部系统异常。 对用户输入的响应:合法输入,能够正常调用子模块; 非法输入,系统能否辨别,并做出响应(提出警告); 子模块的异常状况,系统能否及时作出响应。3.8 退出模块l 功能断开点菜系统与数据库、服务器的连接l 输入项目退出标志l 输出项目数据库查询结果(返回值);数据库查询结果集(公共变量)l 程序逻辑结束标志 结束与服务器、数据库
26、断开连接l 测试要点对退出系统的响应:合法输入,能够正常退出;不合法输入,输出警告信息。3.9 系统操作模块l 功能验证输入的系统操作员账号以及口令,完成权限管理运行系统操作对话框,根据用户输入调用各子模块,完成:菜单库操作(浏览、修改、增加、删除);数据统计;更改口令;系统管理(修改系统设置,浏览、修改、增加、删除系统操作员);l 输入项目数据库连接(传入参数)l 输出项目无l 接口调用形式:CSysDlg:ManageSys(const _ConnectionPtr pConnection)传入参数:pConnection (数据库连接指针)传出参数:无l 存储分配内部数据:数据库 men
27、u rr = con.createStatement(); ResultSet rr=stmt.executeQuery("select * from menu");数据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 数据库查询连接 con = DriverManager.getConnection("jdbc:odbc:menu","","") l 测试要点数据库连接正常正常执行过程输入的账号口令合法根据权限进行显示控制,正常调用各子模块
28、输入的账号口令不合法警告数据库连接异常3.9.1系统操作权限查验模块l 功能查验输入的系统操作员账号以及口令是否合法,并返回合法操作员的权限级别l 输入项目系统操作员口令(传入参数)l 输出项目操作员权限级别(返回值)l 程序逻辑生成数据库查询命令查询数据库IF 操作成功IF 查询结果集非空返回权限级别ELSE显示警告”非法的账号或口令”返回 -1ELSE显示警告”不能查询数据库”返回 -1内部数据:数据库 menu rr = con.createStatement(); ResultSet rr=stmt.executeQuery("select * from menu");数据库查询命令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 数据库查询连接 con = DriverManager
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 04年O公司人工智能语音识别技术研发合同
- 《476例结肠癌临床病理特征及预后比较分析》
- 《融合通信系统中分布式存储引擎的设计与实现》
- 2024城市地铁建设设备采购及安装服务合同
- 2024年快递店业务外包合同
- 2024年度舞台设备安装合同
- 2024年银川客运车资格证考试题库及答案
- 2024年乌鲁木齐道路运输客货从业资格证考试题库
- 2024年绵阳客运从业资格证理论考试题
- 2024年克拉玛依客运上岗证模拟考试题答案
- 车间生产计划完成情况统计表
- 品管圈(QCC)降低ICU护士床头交接班缺陷率课件
- 《左道:中国宗教文化中的神与魔》读书笔记模板
- 2023年初级游泳救生员理论知识考试题库(浓缩400题)
- 施工现场临时用电安全技术规范
- 同仁堂药品目录
- 社会问题概论
- 高中语文-如何读懂古诗词教学设计学情分析教材分析课后反思
- 虚假诉讼刑事控告书(参考范文)
- 部编版道德与法治四年级上册第11课《变废为宝有妙招》优质课件
- 2018年考研英语一真题和答案完整版
评论
0/150
提交评论