《2021-2022年收藏的精品资料软件工程导论报告订餐信息管理系统.doc》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料软件工程导论报告订餐信息管理系统.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 大连理工大学城市学院软件工程导论大作业 摘 要管理员可以通过本系统,对本餐厅的用户,会员,菜品,订单进行管理,注册会员通过电话与本餐厅取得联系,说明所定菜品与本人所在地址,管理员生成订单,配送员持订单进行送餐.订餐信息管理系统是餐饮行业日常运作的一个重要环节,学习制作订餐信息管理系统是很有必要的,同时,订餐信息管理系统也是服务行业管理软件的一个综合性代表,很具有实践的意义。本订餐信息管理系统主要包括要实现客户,会员,菜品的基本信息管理,以及订单的生成与管理。本系统具有的特点是:界面清晰,简单实用,功能较为完善;优点是:易于上手、便于维护。关键词:订餐信息管理系统任务分配目录第一章 前 言01
2、.1背景01.2编写目的01.3定义0第二章 可行性分析02.1技术的可行性0第三章 需求分析13.1具体需求13.1.1功能需求13.2数据流图23.3数据字典33.4实体关系模型图33.4.1实体图33.4.2总体E-R图43.5性能需求53.6数据管理能力需求53.7故障处理需求53.9运行环境需求5第四章 总体设计64.1系统分析64.2系统设计64.2.1软件组织结构64.3功能说明6第五章 详细设计75.1数据库的详细设计75.2数据库的实现75.3系统详细设计95.3.1 系统功能实现小组分工描述95.3.2 管理员登录模块95.3.3 系统主界面模块105.3.4用户管理模块1
3、05.3.5会员管理模块135.3.6菜品管理模块155.3.7订餐模块175.3.8服务器端处理过程19第六章 系统测试设计196.1.1测试过程描述196.1.2 测试结果分析27第七章 结论2728第一章 前 言1.1背景现代社会,科技飞速发展,电脑不断普及。现代化餐饮组织庞大,服务项目多、信息量大,要想提高劳动生产、降低成本。提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化信息是。订餐管理系统正是为此设计开发的。1.2编写目的可行性研究的目的是研究问题,花费最小的代价,以最快的速度提出解决问题的方法。经过对此项目的详细准确的研究,初拟系统实现报告,对软件开发中将要面
4、临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。1.3定义订餐管理系统:系统登陆模块:主要负责用户和管理员进入系统的一个身份验证。用户管理模块:主要负责管理用户的个人信息。会员管理模块:主要负责管理会员的个人信息。菜单管理模块:主要负责菜品的信息管理。订单管理模块:主要负责订单的信息管理。第二章 可行性分析2.1技术的可行性现代计算机硬件与软件技术的飞速发展,为系统的建设提供了技术条件。由于网上订餐系统这一类的系统进行开发已有一定的时期,有很多成功的实例上,技术基础也已经非常雄厚,因而技术上的是可行的。由于本项目的特殊性,无需投入额
5、外的设备购买及人员培训费用,所以在经济上本系统的开发是可行的。此外系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,有很高的经济可行性。网上订餐系统比较完善的规章制度和管理方法为系统的建设提供了保障,一个软件设计的好坏,关键在于产品的可靠,稳定,便于维护,系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员进行补充、维护。由于缺乏专业人士的帮助,并且缺少实际经验,该订餐系统可能做的不太健全,远不是真正意义上的软件、工业产品,只能算作坊生产的产物。可能还存在缺陷,不足之处有待
6、改进。 前景根据以上分析,我们认为开发此系统的条件已经具备,可以开始进行开发。并且我们相信此软件经济实惠,肯定具有良好的前景。我们将会逐步完善该软件,尽可能地让满足客户的需求。因此我们开发的网上订餐系统可行!第三章 需求分析3.1具体需求3.1.1功能需求(1)用户信息管理简述:用户信息管理,包括信息存入,信息查询,信息修改,信息删除。输入:用户信息处理过程描述:用户信息存服务器。输出:操作成功或失败的提示信息。(2)会员信息管理简述:会员信息管理,包括信息存入,信息查询,信息修改,信息删除。输入:会员信息。处理过程描述:用户信息存服务器。输出:操作成功或失败的提示信息。(3)菜品信息管理简述
7、:用户对菜品信息的增删改查。输入:菜品信息。处理过程描述:菜品信息服务器。输出:操作成功或失败的提示信息。(4)订单信息管理简述:对会员用户订购的菜品进行订单的生成,以及对订单的修改输入:会员基本信息,所定菜品。处理过程描述:菜品信息查询,会员信息查询。输出:消费清单或者操作失败提示信息或订单的修改3.2数据流图绘制数据流图的目的是为了方便开发人员与用户的交流,以及为系统的设计提供依据。数据流图的绘制过程通常是采用自顶向下,逐层分解,直到功能细化为止,形成若干层次的数据流图。订餐管理系统的数据流图如下所示:图3-1 基本系统模型图3-2顶层数据流图3.3数据字典名称:用户档案别名:描述:记录用
8、户的基本信息定义:菜品档案菜品名+菜品号+单价位置:输出到主窗体名称:会员档案别名:描述:记录会员的基本信息定义:会员档案会员号+姓名位置:输出到个人订单档案名称:菜品档案别名:描述:记录菜品的基本信息定义:菜品档案菜品名+菜品号+单价位置:输出到个人订单档案名称:个人订单档案别名:描述:会员在本餐厅所订购的菜品订单以及个人相关信息定义:个人订单档案会员档案+菜品档案位置:输出到个人订单档案3.4实体关系模型图3.4.1实体图 用户档案实体会员档案实体菜品档案实体图3-7 订单档案实体3.4.2总体E-R图3.5性能需求1、精度软件主要用于管理,不是科学计算,要求计算的精度不是很苛刻,所以输入
9、、输出数据精度的要求不是很高,可以用浮点数。2、时间特征要求软件运行的响应时间要求不超过1-2秒。3、灵活性软件具有升级功能,以满足用户的需求。3.6数据管理能力需求本软件管理的数据大都以服务器的形式储存 3.7故障处理需求本软件具有错误和异常的处理能力,基本不会有软件故障,保证软件能正在运行,这样才能使用户满意。3.9运行环境需求内存:512M;硬盘:80G;操作系统为Windows系列。第四章 总体设计4.1系统分析根据用户的要求以及对需求分析阶段对功能的分析,要实现客户,会员,菜品的基本信息管理,以及订单的生成与管理.4.2系统设计由问题分析我们确定了本系统需要哪些确切的功能模块和组织结
10、构。4.2.1软件组织结构本系统的总体结构采用菜单来调用窗体,利用窗体来进行管理、数据加工、信息查询等工作,系统的功能模块图如图4-1所示:图4-1 系统功能结构图4.3功能说明订餐信息管理系统各模块功能要求分析如下:1. 用户登录要求实现对管理员用户登录的验证、标识,为用户对系统的操作提供授权依据,在这一模块中,首先要求管理员输入自己的登录用户名和登录密码,然后系统对用户名和密码进行验证,判断用户的身份。2. 用户管理要求由于用户较多,为了方便管理员进行专门操作,该系统需要存储每个用户的基本信息,以便管理员使用的时候通过用户名从数据库中快速调出用户信息,用户的基本信息包括用户名、密码、权限,
11、管理员可以添加新用户、查询用户、修改用户和删除用户。3. 会员管理要求为了方便对会员的管理,需要会员的相关信息添加到数据库中,以便通过会员号从数据库中快速调出会员信息,会员基本信息包括会员号、姓名、会员等级权限,管理员可以添加会员、查询会员、修改会员和删除会员。4. 菜品管理要求通过本系统,管理员可以进行菜品的添加、删除、修改与查询。1. 订单管理要求 通过本系统,管理员可以对订单进行添加与修改。第五章 详细设计 在此阶段将对系统进行更详细的分析和设计,目的是确定如何具体地实现所要求的系统。5.1数据库的详细设计订餐信息管理系统不仅要求数据库功能强大,而且要有很好的安全保障机制。SQL Ser
12、ver数据库是当前应用最为广泛的数据库,它可以很好第支持各种信息,而且具有较高的数据安全保障,是一般公司、企业首选的数据库之一,本系统采用SQL Server数据库进行创建。5.2数据库的实现根据系统的设计要求和模块功能,进行数据库的分析和设计。由图2-4到图2-7可以知道,系统拥有管理员、用户(服务人员)、菜品等实体。在数据库中,可以使用表描述这些实体。这些表的名称以及表的说明如下:1. 管理员表usertable用来保存管理员用户信息,结构如表2-1所示。2. 表2-1管理员表usertable字段名称数据类型说明Id文本管理员序号,主键password文本管理员密码2. 会员用户表mem
13、bertable用来保存会员信息,结构如表2-2所示。表2-2 会员用户表membertable字段名称数据类型说明member_id文本会员序号,主键member_name文本会员名member_level文本会员级别member_discount文本会员折扣度3. .菜品表menutable用来保存菜品信息,结构如表2-3所示。表2-3 .菜品表menutable字段名称数据类型说明menu_id文本菜品序号,主键menu_name文本菜品名menu_price文本售价4. 订单表ordertable用来保存读者借阅信息,结构如表2-4所示。表2-4订单表ordertable字段名称数据类
14、型说明order_id文本订单号,主键member_id文本会员号discount文本折扣order_adress文本地址order_price文本价格order_data文本订单数据order_state文本还书时间5.临时表temptable 表2-5 .临时表temptable字段名称数据类型说明temp_id自动编号号,主键order_id文本订单号menu_id文本菜单号temp_price文本价格temp_count文本统计temp_total文本总计5.3系统详细设计5.3.1 系统功能实现小组分工描述序号姓名实现模块及功能备注5.3.2 管理员登录模块为保证系统的完全性,只有管
15、理员才可以对系统进行操作,因此,需要对用户登录信息进行验证,管理员的用户名和密码存放在数据库中,通过文本框获得用户输入的用户名和密码,然后与数据库中的用户名和密码进行比较,如果匹配,则进入系统,否则提示用户名和密码不正确。2. 管理员登录界面3. 技术实现主要代码(详见源程序) 3. 开发说明管理员登录由Login类继承了Jframe类,首先声明了标签、按钮、文本框、密码框和一个Jframe窗口,然后通过构造方法创建标签、按钮、文本框、密码框,并添加到窗口容器中,最后设置窗口的大小和可见行; 然后为按钮增加事件监听,实现AciontListener接口完成用户名、密码的检测并登录。5.3.3
16、系统主界面模块系统主界面也就是登录后进入的第一个浏览界面,这也是订餐信息管理系统的主要模块,在主页面中应该包括系统各模块的连接,通过主页面可以打开如何一个功能模块,实现各种不同的功能。4. 系统主界面 5. 技术实现主要代码(详见源程序) 3. 开发说明ManageWindow类继承了Jframe类,定义了一个菜单栏、4个菜单和12个菜单项,然后定义了一个方法go(),通过该方法设置窗口的布局、窗口的大小和标题,将菜单项加入到各自的菜单中,把菜单加入到菜单栏中,并将菜单栏加入到窗口中;当单击菜单项时候产生单击事件,传递给监听者,实现接口并处理监听到的事件。5.3.4用户管理模块管理员可以对用户
17、进行管理,包括增加新用户、删除用户、修改用户和查询用户信息。1. 用户信息增加模块(1)用户信息增加界面(2)技术实现主要代码(详见源程序) (3)开发说明 在系统主界面中,单击“用户管理”-“添加用户”菜单命令,打开添加用户界面,该界面包含3个标签、1个文本框、1个密码框、1个下拉菜单和两个按钮,在文本框中输入用户信息,单击“添加”按钮就可以把数据信息添加到数据库中; 单击按钮进行用户添加,添加用户信息要求每项信息都不能为空,如果某一项为空则弹出消息提示对话框,否则调用方法ServerDemo()把数据流信息传输到服务器端。2. 用户信息删除模块(1)用户信息删除界面(2)技术实现主要代码(
18、详见源代码) (3)开发说明 在系统主界面中,单击“用户管理”-“删除用户”菜单命令,打开删除用户信息界面,界面包含1个标签、1个文本框和两个按钮,在最上面的文本框中输入用户名,单击“确定”按钮用于查询用户是否存在,如果存在,则把用户信息显示,单击“删除”按钮就可以删除数据库中的信息;如果用户不存在,则显示“用户名不存在,请重新输入!”为两个按钮分别添加事件监听,并对监听到的事件进行处理。3. 用户信息修改模块(1)用户信息修改界面(2)技术实现主要代码(详见源代码) (3)开发说明在系统主界面中,单击“用户管理”-“修改用户”菜单命令,打开修改用户信息界面,界面包含1个标签、1个文本框和两个
19、按钮,在最上面的文本框中输入用户名,单击“确定”按钮用于查询用户是否存在,如果存在,则把用户信息显示在对应的文本框中,修改用户信息后,单击“修改”按钮就可以修改数据库中的信息;为两个按钮分别增加事件监听,并对监听到的事件进行处理。4. 用户信息查询模块(1)用户信息查询界面 (2)技术实现主要代码(详见源代码) (3)开发说明在系统主界面中,单击“用户管理”-“查询用户”菜单命令,打开查询用户信息界面,界面包含一个标签、一个文本框、一个下拉菜单和一个查询按钮,在文本框中输入查询条件,并通过下拉菜单选择按用户名或按权限查询,单击“查询”按钮就可以把查询结果显示出来; 通过actionPerfor
20、med()处理监听到的事件,首先获得查询条件,如果查询条件不为空,接着调用方法ServerDemo()将数据传递到服务器端。5.3.5会员管理模块管理员可以对会员进行管理,包括增加、删除、修改和查询会员信息。1. 会员信息增加模块(1)会员信息增加界面(2)技术实现主要代码(详见源程序) (3)开发说明 在系统主界面中,单击“会员管理”-“添加会员”菜单命令,打开添加会员界面,该界面包含3个标签、2个文本框、1个下拉菜单和两个按钮,在文本框中输入会员信息,单击“添加”按钮就可以把数据信息添加到数据库中; 单击按钮进行用户添加,添加用户信息要求每项信息都不能为空,如果某一项为空则弹出消息提示对话
21、框,否则调用方法addvip()把数据流信息传输到服务器端。2. 会员信息删除模块(1)会员信息删除界面(2)技术实现主要代码(详见源代码) (3)开发说明 在系统主界面中,单击“会员管理”-“删除会员”菜单命令,打开删除会员信息界面,界面包含1个标签、1个文本框和两个按钮,在最上面的文本框中输入用户名,单击“确定”按钮用于查询用户是否存在,如果存在,则把用户信息显示,单击“删除”按钮就可以删除数据库中的信息;如果用户不存在,则显示“用户名不存在,请重新输入!”为两个按钮分别添加事件监听,并对监听到的事件进行处理。3. 用户信息修改模块(1)用户信息修改界面(2)技术实现主要代码(详见源代码)
22、 (3)开发说明在系统主界面中,单击“用户管理”-“修改用户”菜单命令,打开修改用户信息界面,界面包含1个标签、1个文本框和两个按钮,在最上面的文本框中输入会员名,单击“确定”按钮用于查询会员是否存在,如果存在,则把会员信息显示在对应的文本框中,修改会员信息后,单击“修改”按钮就可以修改数据库中的信息;为两个按钮分别增加事件监听,并对监听到的事件进行处理。4. 会员信息查询模块(1)会员信息查询界面(2)技术实现主要代码(详见源代码) (3)开发说明在系统主界面中,单击“会员管理”-“查询会员”菜单命令,打开查询会员信息界面,界面包含一个标签、一个文本框、一个下拉菜单和一个查询按钮,在文本框中
23、输入查询条件,并通过下拉菜单选择按会员号或按等级查询,单击“查询”按钮就可以把查询结果显示出来; 通过actionPerformed()处理监听到的事件,首先获得查询条件,如果查询条件不为空,接着调用方法findvip()将数据传递到服务器端。 5.3.6菜品管理模块 管理员可以对进行菜品管理,包括增加、删除、修改和查询菜品信息。1. 菜品信息增加模块(1)菜品信息增加界面(2)技术实现主要代码(详见源代码) (3)开发说明在系统主界面中,单击“菜单管理管理”-“添加菜单”菜单命令,打开添加菜品信息界面,界面包含3个标签、3个文本框和两个按钮,在文本框中输入菜品信息;为按钮添加事件监听,添加菜
24、品信息要求每项信息都不能为空,如果某一项为空则弹出消息提示对话框,否则调用方法connect()把数据流信息传输到服务器端。2. 菜品信息删除模块(1)菜品信息删除界面(2)技术实现主要代码(详见源代码) (3)开发说明在系统主界面中,单击“菜单管理”-“删除菜品”菜单命令,打开删除菜品信息界面,界面包含1个标签、1个文本框和两个按钮,在最上面的文本框中输入编号,单击“查询”按钮用于查询该是否存在,如果存在,则把信息显示在对应的文本框中,单击“删除”按钮就可以删除数据库中的信息;为按钮添加事件监听,并对监听到的事件进行处理。3. 菜品信息修改模块(1)菜品信息修改界面(2)技术实现主要代码(详
25、见源代码) (3)开发说明在系统主界面中,单击“菜单管理”-“修改菜单”菜单命令,打开修改信息界面,界面包含1个标签、1个文本框和两个按钮,在最上面的文本框中输入编号,单击“查询”按钮查询该是否存在,如果存在,则把信息显示在对应的文本框中,修改信息后,单击“修改”按钮就可以修改数据库中的信息了;为按钮增加事件监听,并对监听到的事件进行处理。4. 菜品信息查询模块(1)菜品信息查询界面 (2)技术实现主要代码(详见源代码) (3)开发说明在系统主界面中,单击“菜单管理”-“查询菜品”菜单命令,打开查询信息界面,界面包含一个标签,一个文本框、一个下拉菜单和一个查询按钮,在文本框中输入查询条件,并通
26、过下拉菜单选择按编号或按书名查询,单击“查询”按钮就可以把查询结果显示出来;通过方法actionPerformed()处理监听到的事件,首先获得查询条件,如果查询条件不为空,然后就调用方法connect()将数据传输到服务器端。5.3.7订餐模块管理员对订单的生成与修改,1. 菜品订购模块(1)菜品订购界面(2)技术实现主要代码(详见源代码) (3)开发说明 在系统主界面中,单击“生成订单”,打开菜品订购界面,界面包含5个标签、5个文本框和3个按钮,一个表格框,在文本框中输入相关内容,单击“添加”按钮就可以生成订单;在这里为按钮添加事件监听,如果文本框为空,则弹出消息提示,否则调用方法conn
27、ect()把数据流传输到服务器端。2. 订单修改模块(1)订单修改界面 (2)技术实现主要代码(详见源代码) (3)开发说明在系统主界面中,单击“修改订单”菜单命令,界面包含3个按钮,单击“修改订单”按钮就可以修改订单。5.3.8服务器端处理过程在系统设计过程中采用的是C/S模式,具体操作时候需要把要处理的数据发送到服务器端进行处理,然后把处理的结果返回给客户端。服务器端处理的操作过程如下:6. 创建ServerSocket对象和Socket对象,用于接收来自客户端的数据流,并输出数据流到客户端;7. 创建线程;8. 读取来自客户端的数据流,并进行相应的处理;9. 把处理的结果返回给客户端。其
28、中在用户管理模块、管理模块和借阅模块都有相应的服务器端,它们的实现过程类似,具体编程过程如下所示(代码详见源代码)。10. 导入程序所使用的包;11. 创建图形用户界面为更清楚第显示客户机与服务器之间的连接情况,客户端与服务器端之间传输的数据流以及在程序运行过程中出现的异常情况,可以创建一个图形用户界面,用于显示系统的信息;12. 定义connect()方法来接收来自客户端的数据流,启动线程处理,最后关闭数据库连接;13. 创建线程由于可能同事有多个客户端对信息进行操作,因此要创建线程处理来自客户端的数据流;第六章 系统测试设计6.1.1测试过程描述各模块运行效果的描述和截图:1,登陆界面测试
29、:2,用户管理测试:(1)用户的增加界面:注册用户名:lgd,密码:111,提示成功,出现预期结果(2)用户修改界面:将密码修改为112,提示修改成功,出现预期结果(3)用户查询界面:查询:lgd,出现预期结果(4)用户删除界面:删除用户名为lgd,的用户,出现预期结果3,会员管理模块测试:(1)会员增加模块:添加会员号:007,姓名:hjf,出现预期结果(2)会员修改模块:修改编号007 的会员,将用户名修改为hjj,提示成功,出现预期结果(3)会员查询模块:查询会员号为007的用户,出现预期结果(4)会员删除模块:删除会员号为007的会员,出现预期结果4,菜品管理模块测试:(1)菜品添加管
30、理模块:按图提示添加回锅肉相关信息,出现预期效果(2)菜品修改管理模块:将回锅肉价格进行修改,出现预期效果(3)菜品查询管理模块:查询编号110的菜品,出现预期效果(4)菜品删除管理模块:删除110好菜品,出现预期效果4,订单管理模块测试:(1)订单管理模块测试:输入以下表格中相关信息,可以得到预期结果6.1.2 测试结果分析根据以上实际测试结果,该系统基本满足需求分析中的全部要求,并且可以正确的完成客户所需要求,该系统较为可靠,但也存在一些技术上的不足。达到了对各个模块的功能的期望,实现个管理模块功能的目的。 第七章 结论根据以上实际测试结果,证实本订餐信息管理系统稳定有效,是可运行的系统,
31、达到了对各个模块的功能的期望,实现个管理模块功能的目的。该系统的题目是:订餐信息管理,经过测试能够正确地实现了所要求的功能:管理员对会员、服务员、配送员、菜品的增删改查,以及网上订餐订单的生成。开发过程中采用的工具和环是:eclipse,系统主要功能是:实现对用户、会员、订单、菜品信息的管理,具有易于上手,便于维护的优点。当然此系统仍存在一些不足之处:占用系统内存较大,造成运行时的卡顿,代码还没有达到足够的简略。通过本次实践项目的设计、开发和实现过程,深深体会到:听老师讲课与自己实际动手操作之间存在着很大的不同。同时,通过本次项目开发,也深了了解到了团队合作的巨大能量,本次项目的成功,无不得益于组员们的齐心合作。作业报告成绩: 教师评语 教师签字:年 月 日