网上订餐系统软件架构课设.docx
- 文档编号:26508673
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:38
- 大小:1.23MB
网上订餐系统软件架构课设.docx
《网上订餐系统软件架构课设.docx》由会员分享,可在线阅读,更多相关《网上订餐系统软件架构课设.docx(38页珍藏版)》请在冰豆网上搜索。
网上订餐系统软件架构课设
应用软件架构课程设计报告
课题名称:
网上订餐系统
姓名:
xx
学号:
xx
班级:
xx
指导老师:
完成日期:
2013.6.15
第一章需求分析
1引言
1.1项目背景
俗话说:
“民以食为天”,随着人们生活质量的提高,对饮食的要求已不仅是解决温饱需求,很多人在进行紧张工作之余会选择享受美食来享受生活,进而进行放松。
餐饮业是一种个性化、多样化的服务产业,随着网络技术的发展和普及,将餐饮服务与个性化、多样化服务的电子商务相结合,形成了方便、快捷、个性化的网上订餐系统,通过网上订餐系统,顾客不必亲临现场,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。
其最大的优势是:
图文并茂,信息能够及时在线更新与查看,并有效地解决了传统就餐过程出现的排队,拥挤,信息变更不能及时等现象。
这样既节省了时间,又为广大用户提供更多选择。
1.2编写目的
通过调查分析,现在的很多消费者都喜欢在网上订餐。
网上订餐系统是针对网上订餐的消费者设计开发的系统。
编写该需求分析说明书,是为了让用户能够更好地了解网上订餐系统的功能需求及其他一些相关信息;便于用户、分析人员和软件设计人员进行理解和交流;支持目标软件系统的确认;控制系统进化过程。
1.3项目名称
网上订餐系统。
1.4系统的使用范围
适合联网的在线顾客。
1.5需求来源
项目启动之前,我们小组成员与本学院的的部分学生进行沟通交流,向她们进行问答式的调研。
例如,我们问:
现在,你们一般选择网上订餐还是去饭店就餐?
为什么?
她们回答:
现在一般会选择在网上订餐,因为网上订餐比较方便,而且菜品较多种类多;通过调查了解到好多学生都喜欢在网上订餐,其原因之一是价格合理,原因之二是选择范围广。
所以开发这个系统为消费者网上订餐提供了一种很好的渠道。
1.6术语定义与缩写
顾客:
“网上订餐系统”的消费人员
系统管理员:
“网上订餐系统”的使用维护人员
数据库:
SQLServer2005数据库
1.7参考文献
【1】齐治昌谭庆平宁洪.软件工程(第二版).高等教育出版社
【2】刘竹林白振林卢润彩.软件工程与项目管理.北京师范大学出版社
【3】吴晨孙少波叶莞.ASP.NET数据库项目案例导航.清华大学出版社
2本系统的一般性描述
2.1运行环境与资源
(1)硬件环境:
CPU:
Pentium(R)
内存:
2GB
硬盘:
50G以上
(2)软件环境:
操作系统:
WindowsXPProfessional.
数据库:
SQLServer2005数据库
编程工具:
VisualStudio2008
2.2用户特征
用户角色:
顾客、系统管理员、系统主管、送餐人员、厨师
顾客可以通过登录网上点菜系统对自己所需的菜品进行搜索和浏览,可以在系统中填写相应的信息注册为该系统的会员,会员可以对自己的个人信息进行更改,比如送餐地址和联系电话.以及帐户密码;订餐客户可以对已选的菜单进行更改(如增加菜品数量,,减少菜品数量,修改菜品种类)或者取消所定菜单。
当订餐客户确定点菜完毕后,即可提交菜单,系统会发出是否确认提交菜单的提示,顾客只要点击确定,服务器即可生成订单。
系统管理员可以登录系统并创建新的管理员。
可以对服务器上的菜单进行更改如添加、删除和修改(比如修改菜单的图片、价格、菜单描述等等);管理员可以对所生成订单进行相应的管理,比如确定和打印订单,以及查询客户订单等。
管理员可根据订单的不同属性(比如订单生成日期、订单编号、订单额度)来查询订单。
管理员可根据不同的时间段统计出餐厅营业额、成本,同时还能统计出每道菜的销售量以及每一个会员顾客的消费情况和餐厅相应的收益。
系统主管相应的功能分析:
主管可以通过输入用户名、密码登录系统。
主管可以查看交费情况(即当前生成的订单客户是否已经付款)。
主管可以查看销售情况,(即销售额,销售利润等),然后做相应的数据统计,即统计出哪些菜品净赚比较多,哪些菜品出现了供不应求的情况等等,然后对菜单信息做相应的调整。
主管可以查看用户订单已经备注(比如:
不吃葱,辣椒等)。
主管根据销售情况以及菜单信息做材料采购的统计。
送餐人员可以通过自己的用户名和密码登陆网上订餐系统。
送餐人员可以查看客户订单获取送餐地址。
厨师可以通过输入自己的用户名和密码登陆到网上订餐系统。
厨师通过查看已经生成的客户订单来获取菜名。
厨师可以通过登陆系统在系统中添加菜单。
2.3系统功能
用户管理功能:
系统管理员可以添加、删除、修改以及查询所有用户信息,而顾客只能对自己私有的信息进行维护。
菜品管理功能:
系统管理员可以添加、删除、修改以及查询菜品信息,而顾客只能查询菜品信息。
菜品查询功能:
系统管理员或顾客可按菜品名、菜价等内容或任意几项内容来查询。
菜品浏览功能:
顾客可以查看某些菜品的详细信息,以便决定是否购买或者放入购物车以供将来选择参考。
购物车管理功能:
顾客选择自己需要的菜品,可以将它们添加到自己的购物车中即可。
菜品购买功能:
顾客可对购物车的菜品进行购买,也可以选中一些菜品后直接购买。
2.4限制与约束
用户的权限受到一定限制,只能维护和修改自己的私有信息。
3特殊需求
3.1功能需求
3.1.1功能需求划分
网上订餐系统的功能需求可以划分为顾客对功能的需求和管理员对功能的需求这两部分。
3.1.2功能需求描述
网上订餐系统是一个电子商务系统,从较高层次上讲,我们的目标是赋予站点基本的电子商务功能,以尽量吸引在线顾客,而且使用起来也很容易。
本系统除了基本的店面功能以及网站系统的必备功能外,还提供购物车,顾客可以对购物车信息进行修改,以给顾客提供最大余地的选择空间,并且提供快速查找以及组合查找功能,方便顾客了解并能快速购买所需菜品。
对于系统管理员来讲,也力求尽最大可能方便进行相关操作。
3.2运行需求
3.2.1用户界面
界面需求:
界面友好、简单。
3.2.2硬件接口
硬设备:
PC机,内存容量:
2G,外存容量:
50G联机
3.2.3软件接口
SQLServer2005数据库、WindowsXP/7操作系统
3.3性能需求
性能需求:
消息传递顺利、协议分析正确、界面友好、运行时间满足使用需要、安全性得到保证。
3.4属性
3.4.1可用性
可用性强
3.4.2安全性
安全性保密性好,不会轻易泄漏信息。
3.4.3可维护性
可维护性强,开发人员对本系统始终保持维护工作。
第二章系统架构
1系统总体架构图
本系统采用java语言及SQLSERVER2005,实现了在线订餐系统应具备的主要功能,包括用户注册登录、餐品展示、餐品预订以及餐品管理、订单管理、用户管理、积分管理等后台管理功能,此外,系统还实现了新闻公告、客户留言等辅助功能。
系统总体架构图如图1所示。
图2-1网上订餐系统总体架构图
2系统流程图
为了更清楚的说明系统框架使用户对本系统有一个整体上的初步认识,我们给出系统数据流程图,如图2-2所示。
图2-2网上订餐系统数据流程图
用户首先打开网上订餐系统首页,在首页,用户可以选择登录系统,系统给出各类最新菜品的信息,提供高级查询的链接,供用户浏览。
如果登录为管理员,将被系统引导至菜品维护页面,该页用于维护菜品信息(当前为所售菜品),包括设置菜品打折情况等,系统也设置了方便菜品查找的高级查找功能。
菜品维护页设置了指向用户管理页的链接,以及查看网站销售情况的销售统计页面。
如果用户被确认为会员,他将有权查看自己的购物车情况.。
高级搜索所需的菜品,以及决定购买的菜品。
如果用户为新用户,系统将给用户提供注册为合法顾客的功能。
在被系统确认为合法会员之前,用户只能浏览,不能订餐。
3系统功能模块分析
网上订餐系统主要包括两大模块:
一为系统管理模块,二为系统销售模块。
在大模块下又划分出若干小模块,其功能结构图设计如图2-3所示。
图2-3系统模块划分图
1.用户管理模块
该模块负责管理菜品销售管理系统的所有用户信息。
主要功能包括添加、删除、修改以及查找用户信息。
用户将被分为两类:
管理员和客户。
用户类型的转换也将在用户管理中实现,管理员可以管理所有用户信息,而客户只能对自己私有的信息进行维护。
2.菜品管理模块
该模块负责管理本系统所销售的所有菜品信息。
主要功能包括添加、删除、修改以及查找用户信息,并且包括图书高级查询子模块,该模块将在下面介绍。
只有管理员才具有对菜品信息进行修改的权利,菜品管理是网上订餐系统的核心。
3.销售统计模块
为了查看餐厅的销售业绩,我们必须对所有菜品的销售情况进行汇总,销售统计模块将完成此项功能,系统可按时间、销售日期等内容或任意几项内容的组合来对所售菜品情况进行统计,包括销售数量、销售额等。
该统计模块是一个相当完整的模块。
4.菜品查询模块
管理模块和销售模块中都提供了菜品查询模块。
在管理模块中,菜品查询是出于维护的目的,也就是说紧接着查询的下一个功能就是菜品维护功能。
而在销售模块中,菜品查询是出于购买的目的,紧接着查询的下一个功能应是对菜品的购买操作或是个人的购物车添加功能,对于菜品查询我们提供多条件组合查询,包括按菜品名、价格等内容或任意几项内容的查询,这与统计的方式相当类似。
只是统计结果是一个总体,而查询结果是各项各类的逐条信息。
5.菜品浏览模块
为了让顾客进行网上订餐,我们必须先让其了解菜品信息,然后再作出购买的决定。
在首页我们提供有限的最新菜品销售信息,如果客户需要分类了解菜品信息,系统为每个分类都提供了详细的分类菜品信息提供页,顾客可以选择分类扩展链接,并且顾客可以针对某项具体的菜品名查看更详细的信息,以便决定是否购买或者放入购物车以供将来选择参考.
6.订餐篮管理模块
电子商务站点的核心就是购物车。
用户可在这个区域内建立他们的订单,只要选择各种自己需要的菜品,并将它们添加到自己的预购信息栏中即可。
通常,该过程被形象地称为“向车子中添加项目”,这就像在食品杂货店购物一样。
当然,他随时有权将餐品从篮中取出,或者将订餐篮提往前台结账。
7.菜品购买模块
尽管购物车是电子商务应用程序的核心,但是如果用户不能结账的话,那就起不了什么作用。
和商品存储相似,如果客户只将项目放在他们的购物车中,但是不通过结账程序的话,那么商店将不会有利润,这里的结账处理是电子商务应用程序的一个极端重要的部分。
许多商业规则都将在这个处理部分被应用到订单中,可应用到订单中的商业规则的典型例子就是运输费、税费、核算和付款的接收。
但在本系统中出于系统复杂度和通用性的考虑,对购买功能没有做详细的细化,只是提供简单的购买途径。
第三章系统设计
1数据库设计
“数据库”就是为了实现一定的目的按某种规则组织起来的“数据”的“集合”。
它由一个称为数据库管理系统的软件进行管理。
数据的存取方式独立于使用它的应用程序。
数据库的主要特征:
(1)数据共享
(2)数据具有最小冗余度
(3)数据的完整性
(4)数据的安全性
(5)数据的独立性
数据库结构的设计是软件开发的首要条件,设计较好、全面的数据库结构,对于软件开发来说是成功的基石,数据库结构设计不全面,会严重影响软件系统的开发利用率与进程。
1.1数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
通过系统功能分析,针对一般的网络订餐系统,总结出如下的需求信息:
(1)用户分一般用户、注册用户和管理员用户。
(2)一般用户和注册用户无需要登录就可以查看餐饮信息和资讯
(3)注册用户登录后可以进行预订餐饮。
(4)管理员可进行所有后台操作权限。
关于定单列表与定单详细信息可以这样理解:
因为用户一次可以购买多种产品。
则对每种产品(即每一款型号的商品)生成一条定单详细信息记录。
然后多个这样的定单详细信息组成一个定单列表。
每一个定单列表才与一个用户对应,在发货时以定单列表为单位,也即用户在操作时所看到的“定单”。
经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:
(1)管理员信息,包括数据项:
帐号,密码,权限,注册时间。
(2)订餐客户信息,包括数据项:
用户编号,用户名,密码,姓名,邮箱,注册时间等。
(3)菜品信息,包括数据项:
菜品编号,菜品名称,菜品价格,内容,类别,添加时间等。
(4)定单列表,包括数据项:
定单列表编号,用户名,菜品编号,下单时间等。
1.2数据库概念设计
设计规划出的实体有:
管理员信息实体、会员顾客信息实体、菜单信息实体、订单信息实体。
实体之间关系的E-R图如图3-1所示。
图3-1实体之间的联系图
管理员信息实体E-R图,如下图3-2所示。
图3-2管理员信息实体E-R图
会员顾客信息实体E-R图,如下图3-3所示。
图3-3会员顾客实体E-R图
菜单实体信息E-R图,如下图3-4所示。
图3-4菜单实体E-R图
订单实体信息E-R图,如下图3-4所示。
图3-5订单实体E-R图
本小组使用PowerDesigner12.5设计网上订餐系统的概念数据模型如图3-6所示。
图3-6网上订餐系统的概念数据模型
2数据库逻辑结构设计
数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。
本系统数据库中各个表的设计结果如表所示。
每个表格表示在数据库中的一个表。
表1为管理员信息表,存储系统中的管理员信息。
表1管理员信息表
表2为权限信息表,存储系统中的权限信息。
表2权限信息表
表3为留言板信息表,存储留言板中的信息。
表5-3留言板信息表
表4为商品类别信息表,记录系统中的商品类别信息。
表4商品类别信息表
表5为商品信息表,记录系统中的商品类别信息。
表5商品类别信息表
表6为新闻信息表,记录系统中的商品类别信息。
表6新闻信息表
表7为用户注册信息表,记录系统中的商品类别信息。
表7用户注册信息表
表8为友情链接信息表,记录系统中的商品类别信息。
表8友情链接信息表
3系统设计模式
3.1用例视图
图3-7系统用例图
3.2逻辑视图
经过分析,了解到网上订餐系统中的类有:
顾客、员工、主管、菜单、材料、系统管理员、账单、订单。
参与者相关的类
(1)顾客类是参与者的类,它的属性包括订餐号、送餐地址、电话号码、身份证号码、VIP标记、VIP号码。
其主要的操作是订餐、取消订餐、办理VIP、付款、提建议等。
(2)主管是参与者类,它的属性包括姓名、姓别、年龄、身份证号码、工号。
其对应的操作主要有查看订单信息、输入材料信息、查看建议、管理菜单等。
(3)系统管理员是管理员类,他的属性包括密码、账号。
其对应的操作主要是进行系统的维护。
系统中的其它类
(1)材料类是记录仓库中材料信息的类,包括菜名,数量,单价,进货渠道。
(2)菜单类是记录餐馆中出售菜种的类,包括菜名、价格、简介。
(3)账单类是记录顾客花费的类,包括账单余额、日期、本次价格、总共花去。
(4)订单类是记录顾客所订菜品的类,包括订单号、顾客名、订餐时间、菜单列表、送餐地址以及总价,该类对应的操作是提交订单和取消订单。
通过对网上订餐系统各个类以及类与类之间的关系进行分析,可以得到该网上订餐系统的整体类图如下图3-8所示。
图3-8系统类图
3.3顺序视图
订餐系统的时序图主要有:
1.用户添加充值时序图;
2.客户订餐时序图;
3.主管对餐馆的相关信息查询时序图;
4.菜单更新时序图;
对用户添加充值的过程进行分析,可知用户充值的整个过程共有以下四个步骤。
(1)前台服务员添加用户。
(2)对用户账户进行分类。
(3)添加新用户。
(4)前台服务员对用户账户充值。
用户充值时序图,如下图3-9所示。
图3-9用户充值时序图
对客户订餐的过程进行分析,可知客户订餐的过程共有以下三个步骤。
(1)用户登录系统。
(2)用户添加需订菜单。
(3)用户填写用户信息。
客户订餐时序图,如下图3-10所示。
图3-10客户订餐时序图
对主管查询的过程进行分析,可知主管查询的过程共有以下一个步骤。
即登录。
主管查询时序图,如下图3-11所示。
图3-11主管查询时序图
对菜单更新的过程进行分析,可知菜单更新的整个过程可分为以下九个步骤。
(1)管理员登录系统。
(2)系统自动更新。
(3)菜谱数据库查询原材料。
(4)原料数据库返回原材料数据。
(5)菜谱数据库查询用户已订菜单数据库。
(6)订单数据库返回经常订菜菜单数据。
(7)系统管理员查询用户意见数据库。
(8)意见数据库返回需添加的菜单信息。
菜单更新时序图,如下图3-12所示。
图3-12菜单更新时序图
3.4状态视图
客户提交订单状态图,在该状态图中客户首先通过输入用户名和密码登陆网上订餐系统进入客户登陆系统的状态,然后客户通过打开菜单浏览界面进入菜单查看的状态,后来通过生成菜单进入菜单生成状态,然后通过生成订单的动作进入订单生成状态,后来提交订单,进入订单提交状态,最后,客户退出系统。
其状态图,如下图3-13所示。
图3-13客户提交订单状态图
3.5活动视图
1.客户的活动图,如下图3-14所示。
图3-14客户的活动图
客户登录订餐系统后可以进行以下的操作:
a.可以先查看自己帐号上的余额,然后再查看菜单,如果想订餐就创建订单,也可以直接退出系统;b.如果对自己的余额、和菜单都了解的情况下也可以直接创建订单,然后再退出系统;c.也可以先查看菜单、余额再创建订单或查看菜单后直接创建订单,然后退出系统。
2.送餐人员活动图,如下图3-15所示。
图3-15送餐人员活动图
送餐人员登录系统后,查看客户订单获得菜名和送餐的地址。
3.厨师的活动图,如下图3-16所示。
图3-16厨师的活动图
厨师登录系统后可以进行以下的操作:
a.厨师可以根据自己的手艺(能炒的菜)、和库存中原料的数量来创建菜单;b.厨师查看客户订单获得菜名。
4.主管的活动图,如下图3-17所示。
图3-17主管的活动图
主管登录系统后可以进行以下的操作:
a.查看一天的销售情况;b.查看客户对餐馆的一些建议;c.查看客户的订单;d.查看库存的数量;e.添加或修改材料数据。
4用户界面设计
1.系统首页
此界面为所有用户的操作主页面,包括非注册用户、注册会员、管理员,都可在此界面进行信息浏览、查询。
信息分类清晰,界面设计时尚。
界面可分为三部分,最上方为系统名称、联系网站等相关功能实现区块;左上侧为会员登陆界面(订餐用户可在此进行登陆,只有输入正确的用户名、密码后方可进行登陆。
)及推荐服务列表;右侧是站内新闻以及最新菜品的相关信息。
2.会员注册界面
会员注册时需填写用户名、密码、真实姓名、邮箱等信息,当用户填写了正确的信息并点击“注册”按钮后,系统自动将此信息输入到后台数据库中的用户表(users)内,以供用户登陆核对及订单表的数据提取。
3.餐饮信息查看界面
界面中,除了左侧的常用功能外,右侧以图片链接的形式详细列出菜品信息,当用户点击其中某一菜品“详细”按钮时,系统自动跳转到相关菜品的详细信息界面。
4.我的订单界面
该界面即为用户选购的所有商品的清单,包括商品编号、商品名称、每类商品的价格及总价格,以及进行删除操作。
提供了翻页显示功能,可分页进行浏览。
5.管理员登陆界面设计
此页面为管理员登陆界面,整体设计时尚清雅。
当拥有合法身份的管理员在输入正确的帐号及密码,并点击右侧的“登陆”按钮后,进入后台管理系统。
由于后台操作是对系统数据库的直接操作,关系到系统的正常运作,而系统管理员登陆界面是后台登陆的唯一入口,所以在此页面要做好信息核对过程的设计。
6.菜品信息管理界面设计
在此系列界面中,可以进行关于菜品信息的添加管理操作。
系统设计秉承“功能齐全化、操作简便化”的界面设计理念和“信息无冗余、功能无遗漏”的内容信息设置思路,所以在此系统界面中也很好的得到了体现。
7.订单管理界面设计
此界面的执行结果,是列出所有的订单记录,包括:
序号、(订餐)用户名、餐饮名称、餐饮编号、价格、展示图片、下单时间及删除操作功能实现。
第四章系统测试与调试
1概述
1.1编写目的
该测试报告主要是对测试项目给出具体结果,它是软件测试的说明书。
1.2定义
静态检测:
主要方法有审阅、监察
动态检测:
组装测试、系统测试
参考资料:
[1]赵池龙.软件工程实践教程(第3版).电子工业出版社.2011年1月
[2]齐治昌谭庆平宁洪软件工程(第二版).高等教育出版社.2010年1月
2目标系统功能需求
表4-1
编号
功能名称
使用者
功能描述
输入
系统响应
输出
1
用户注册
用户
添加新用户信息
输入用户的密码、用户名、用户权限、电子邮件
将新添加用户的基本信息存入“用户信息”实体中
在“用户信息”实体中插入新用户的基本信息
2
用户管理
管理员、用户
添加或删除用户信息
用户信息中要修改的部分
修改“用户信息”实体中的信息
更新“用户信息”实体中的信息
3
用户信息维护
用户、管理员
维护用户信息
用户需要修改的信息
修改“用户信息”实体中的信息
更新“用户信息”实体中的信息
4
菜品管理
管理员
添加、删除、修改以及查询菜品信息
输入菜品名称、价格、菜品类型、菜品描述
修改“菜品信息”实体中的信息
更新“菜品信息”实体中的信息
5
销售统计
管理员
按时间、菜品种类、菜品价格进行统计
对时间、价格、菜名、销售日期几项内容组合输入统计
计算销售数量、销售额
销售数量、销售额的显示
6
菜品查询
管理员、用户
按菜名、菜价、等内容进行菜品查询
菜名、菜价等内容的组合或单独一个内容的输入
“菜品信息”实体中的全部信息和“价格信息”实体中的信息
显示“菜品信息”实体和“价格信息”实体中的各种信息
7
菜品浏览
用户
查看某些菜品的详细信息
菜品的名称、价格信息的输入
“菜品信息”实体中的全部信息
显示菜品的详细信息
8
订餐篮管理
用户
可以修改或删除订餐篮中的图书
修改订餐篮中要修改的图书信息
将订餐篮中的信息进行修改
更新订餐篮中的图书信息
9
菜品购买
用户
对菜单篮的菜品进行购买,也可以选中一样菜后直接购买
要购买的菜品
计算出用户所购买的菜品总价
显示所购买的菜品的价格、数量及订单号
3目标系统性能需求
表4-2
编号
性能名称
使用者
性能描述
输入
系统响应
输出
1
信息的添加,修改、删除数据库
管理员
在数据库中添加、修改、删除对应信息
输入添加、修改、删除对应信息
在1秒内对数据进行添加、修改、删除,并输出提示信息
输出提示信息
2
信息查询
管理员、用户
在数据库中查找需要的内容
输入需要检索的信息
在3秒内列出所有符合要求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统软件 架构