教职工食堂订餐系统的需求和总体设计前台子系统.docx

上传人:b****5 文档编号:14929892 上传时间:2023-06-28 格式:DOCX 页数:17 大小:199.61KB
下载 相关 举报
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第1页
第1页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第2页
第2页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第3页
第3页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第4页
第4页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第5页
第5页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第6页
第6页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第7页
第7页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第8页
第8页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第9页
第9页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第10页
第10页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第11页
第11页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第12页
第12页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第13页
第13页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第14页
第14页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第15页
第15页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第16页
第16页 / 共17页
教职工食堂订餐系统的需求和总体设计前台子系统.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

教职工食堂订餐系统的需求和总体设计前台子系统.docx

《教职工食堂订餐系统的需求和总体设计前台子系统.docx》由会员分享,可在线阅读,更多相关《教职工食堂订餐系统的需求和总体设计前台子系统.docx(17页珍藏版)》请在冰点文库上搜索。

教职工食堂订餐系统的需求和总体设计前台子系统.docx

教职工食堂订餐系统的需求和总体设计前台子系统

教职工食堂订餐系统需求和总体设计——前台子系统

 

1系统需求分析

1.1系统总体业务流程

图1教职工订餐系统客户端流程图

从图1来看,前台子系统主要分为五大模块:

查询今日菜单模块、留言板模块、购物车模块、注册登录模块、用户中心模块。

 

图2教职工订餐系统管理端流程图

从图2来看,后台子系统主要分为七个模块:

审查注册员工资格、菜单管理、今日菜单管理、推荐菜管理、信用度管理、订单打印和账单打印。

1.2系统功能需求

这里只对订餐系统的前台子系统五个模块即查询今日菜单模块、留言板模块、购物车模块、注册登录模块、用户中心模块和后台子系统部分的审查注册员工资格模块进行分析,其具体如下:

1.2.1查询今日菜单

1)任何用户登录网站即可以直接查询今日菜单,但是登录之后才能购买各种食物。

2)饮料订购快速窗口,直接查看饮料信息.

3)炒菜订购快速窗口,直接查看炒菜信息

表1:

查询今日菜单模块功能表

序号

功能列表

功能明细

1

查询今日菜单

查看今日菜单全部,点击单个食物可以查看详细信息

2

饮料速订

查看今日菜单后,可以只查看饮料信息

3

炒菜速订

查看今日菜单后,可以只查看炒菜信息

1.2.2留言板

1)任何人登录网站都能查看,回复全部留言和签写新留言。

2)管理员登陆时可以删除留言。

表2留言板模块功能表

序号

功能列表

功能明细

1

查阅留言

可以查看所有留言内容,留言者,留言时间,点击GO按钮可以查看指定页的留言

2

回复留言

点击回复,填写回复内容即可回复该条留言

3

签写新留言

输入昵称,邮箱,留言内容,点击提交即可留言

4

删除留言

当管理员登陆时点击删除留言才能操作成功

1.2.3购物车模块

1)将选中的食物放入购物车。

2)浏览购物车。

3)取消购物车中的某一件食物。

4)继续购买。

5)清空购物车。

6)订餐。

表3购物车模块功能表

序号

功能列表

功能明细

1

将事物放入购物车

在浏览今日菜单,饮料,炒菜或者查看单件事物的详细信息时,单击购买标识,就可以把事物加到购物车中

2

浏览购物车

显示购买的食物名称,购买的食物数量,食物单位价格,每种食物的总价,所有食物总价

3

取消购物车中的食物

从购物车中取消某一种食物,单该事物数量大于一时,则减少该食物数量1

4

继续购买

继续往购物车里添加食物

5

清空购物车

把购物车中的商品全部拿出

6

订餐

正确的填写送餐时间和送餐地址后点提交订单即可订餐,晚上7点后不允许订餐,当天只能订当天的餐

1.2.4注册登录

1)新用户注册,填写正确的注册信息,等待管理员审查。

2)通过审查的用户登录。

表4注册登录模块功能表

序号

功能列表

功能明细

1

用户注册

用户填写正确的信息申请注册,待账号通过管理员的审核以后才能使用该注册账号进行登录

2

用户登录

用户输入用户名和密码进行验证

1.2.5用户中心

1)用户信息修改。

2)用户密码修改。

3)订单管理。

4)用户注销。

表5用户中心模块功能表

序号

功能列表

功能明细

1

用户信息修改

编辑并保存用户的注册信息

2

用户密码修改

修改登录密码

3

订单管理

查看当前拥有订单信息和状态,在送餐之前可以取消不想要的订单,距离订餐时间30分钟内取消订单则会扣除该用户信用度一分

4

用户注销

用户注销

1.2.6管理员审查注册员工资格

1)查看待审查注册员工信息。

2)通过该员工注册。

3)放弃该注册员工。

表6管理员审查模块功能表

序号

功能列表

功能明细

1

查看待审查注册员工信息

查看待审查注册员工详细信息

2

通过注册员工

通过电话或者邮件的方式确认注册员工的信息是否属实,信息正确则通过注册,该系统不对外开放

3

放弃注册员工

放弃该注册人员

1.3系统其它需求

1.3.1系统扩展性要求

系统的运行将为以后的学生食堂在网上运行提供宝贵的经验,所以,对于系统功能的扩充要求比较高,系统后期的升级才能顺利方便,这就要求在建立系统的构架和设计系统时,一定要注意系统的可扩展性,而且现在很多项目开发是分期进行的。

暂时准备的扩展有一些比较高级的功能,比如系统向用户提供收藏夹模块功能,用户可以把喜欢吃的食物收藏起来,下次购买时可以直接生成订单,还有网上充值和结账模块,使订餐的全程除了送餐外,全部实现在网上,达到真正的网络化。

1.3.2时间特性要求

1)在用户执行添加删除食物,取消订单等操作的时候,在运行环境规定的条件下,单次操作的响应时间要求在3秒钟之内。

2)系统同时上线人数不超过数据库承受能力时,相应速度不应超过3秒。

1.3.3错误处理要求

1)在用户输入一些不合理的数据的时候,能够进行合理的提示信息,并且正确处理跳转逻辑,不能因为输入错误而导致系统的错误,或者程序停止运行。

2)程序运行时,对服务器和网络通信故障能够识别并提示,当故障排除后,程序恢复正常运行。

3)数据库要求有备份机制,以防止数据在意外情况下丢失。

1.3.4安全需求

数据库安全:

数据库级备份和恢复。

数据库级用户进行角色和权限授权。

使得在异常情况发生时,系统可以得以快速恢复,避免数据的丢失或将其影响降到最低限度。

同样,要保证存储过程中数据不被非法访问和篡改。

应用系统的安全:

通过对用户的身份鉴别,并实施相应的访问控制策略后,系统之分普通教职工用户和管理员,特殊操作如更改或删除数据库的操作必须受到严格的权限限制,以保证系统的正常运行。

2前台子系统的总体设计

2.1MVC设计方法介绍

图3MVC组件类型的关系和功能[8]

MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。

随着应用的复杂性和规模性,界面的处理也变得具有挑战性。

一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。

业务流程的处理交予模型(Model)处理。

比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

  模型(Model):

就是业务流程/状态的处理以及业务规则的制定。

业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。

业务模型的设计可以说是MVC最主要的核心。

目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。

它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。

对一个开发者来说,就可以专注于业务模型的设计。

MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。

抽象与具体不能隔得太远,也不能太近。

MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。

我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。

这点对编程的开发人员非常重要。

  业务模型还有一个很重要的模型那就是数据模型。

数据模型主要指实体对象的数据保存(持续化)。

比如将一张订单保存到数据库,从数据库获取订单。

我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。

划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。

控制层并不做任何的数据处理。

例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。

因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

图4MVC的分工与协作

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。

如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。

因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。

这实际上是一种模型的变化-传播机制。

模型、视图、控制器三者之间的关系和各自的主要功能,如图3所示。

2.2系统整体架构

通过对系统的需求分析,确定了整个系统为一个WEB系统,采用的是MVC模式进行网站的开发,在这个系统中使用的WebServer是Tomcat6.0,DBMS(数据库管理软件)是SQLServer2000,并且使用Microsoft提供的JDBC驱动程序。

基于MVC模式的WEB项目的优点在上一节中已经介绍过了,在知道了Jsp、Servlet、Javabean分别在MVC模式中的角色和功能后,这里对网站的整体构架做一个详细描述,工作流程为:

a)Web客户机向Web服务器发出请求;

b)Web服务器把这一请求转送给控制器Servlet;

c)Servlet对JavaBean进行必要的操作;

d)控制器把处理结果转发给JSP视图;

e)JSP视图对模型进行格式化以备显示,并把HTML结果回送给Web服务器;

f)Web服务器再把信息回送给Web客户机。

图5:

系统构架图

2.3前台子系统功能模块设计

前台子系统的功能模块图如下:

图6:

前台子系统功能模块图

1)登录注册:

教职工用户注册为系统用户,登录使用该系统;

2)查询今日菜单:

任何用户都可以查询今日菜单,点击按钮则显示今日菜单;

3)购物车:

用来临时保存登录用户所购买的物品,用户可以对购物车内的物品进行添加删除清空等操作,确认购买后,可以提交订单;

4)用户中心:

用户登录后可以修改自己的注册信息,密码,查看自己的订单状态和信息,并且可以退出系统;

5)留言板:

任何用户均可查看留言,并且允许签写新留言和回复留言,用于普通用户和其他用户交流、与管理员的交互和管理员用户进行答疑等,管理员用户可以删除任何留言。

2.4前台子系统总体页面设计

1).页面框架

开发一个网站,好的界面风格和页面框架是非常重要的,特别是对电子商务网站如本食堂订餐系统更需要有好的”门面”。

本系统采用的是比较传统的框架,如图7所示。

图7页面框架

可以看到,页面包含三个部分,最上面是菜单部分,下面的左边部分是一个固定页面,右边部分包好了根据不同的页面显示的内容,所有页面都直接套用该框架。

2).页面风格

对于本系统来说,网站的美观是用户订餐的一种胃口的保证,是吸引顾客的重要因素之一,所以一般需要在页面里面制作专业的图片和动画,本系统中的头部和左边都有一个精美而且实用的FLASH动画,分别为top.swf和menu.swf,增加了页面的美感。

同时在页面的整体风格上,定义了两个统一的式样单style.css和web.css。

2.5数据库设计

2.5.1数据库概念结构设计

前台子系统以及管理员审查模块的ER图如下:

图8前台子系统部分模块E-R图

教职工实体的主要属性:

教职工号,用户名,密码,性别,联系电话,办公室地址,单位,信用度。

待审查教职工名单实体的主要属性:

教职工号,用户名,密码,性别,联系电话,办公室地址,单位。

管理员实体的属性:

编号,用户名,密码,真实姓名,电话。

菜谱实体的属性:

食物编号,食物名,类型,描述,图片,价格,是否为今日菜。

购物车实体的属性:

食物名,食物数量,总价格,订餐人,送餐时间,送餐地址。

订单实体的属性:

订单号,食物名,单个食物价格,食物数量,订餐用户,送餐时间,送餐地址。

留言的属性:

留言编号,IP,留言者邮箱,留言时间,留言内容,回复内容,回复时间,昵称。

2.5.2数据库逻辑结构设计

以下仅对重要的表进行列举和分析。

表7:

教职工信息表userInfo

字段名称

中文描述

数据类型

非空

缺省值

备注

userId

用户编号

int(4)

Y

PK

userName

用户名

varchar(20)

Y

userSex

性别

char(8)

Y

userPwd

密码

varchar(16)

Y

userTel

电话

char(11)

Y

userAd

地址

Varchar(50)

Y

userDepartment

工作部门

Varchar(50)

Y

为送餐地址的默认值

Feedback

信用度

int(4)

Y

4

信用度小于1时注销账户

说明:

用户使用userName和userPwd进行登录,userTel将作为管理员与用户取得联系的重要方式,其他信息用于管理员进行身份审核时对照只用,信用度每个人初始为4,以后根据规则,信用度将会调整,当信用度小于1时,该用户将被取消订餐功能。

userDepartment将为以后的送餐地址提供默认值。

表8:

菜单表Menu

字段名称

中文描述

数据类型

非空

缺省值

备注

menuId

食物编号

Int(4)

Y

PK

menuName

名称

varchar(20)

Y

menuType

类型

varchar(20)

menuDescribe

描述

varchar(50)

Y

menuPicture

图片

varchar(50)

Y

menuPrice

价格

varchar(50)

Y

istoday

是否今日菜

Int(4)

Y

0

0为非今日菜,1为今日菜

说明:

menuId作为一个菜的唯一标识,menuType只能是荤菜,素菜,凉菜,饮料,米饭,便于在今日菜单中进行菜品分类,menuPicture保存的是图片的路径,istoday作为一个标识,当管理员添加一个菜的时候,默认是没有在今日菜单上的,当管理员发布了之后,该属性值就为1。

表9:

留言信息表Messages

字段名称

中文描述

数据类型

非空

缺省值

备注

id

留言编号

int(4)

Y

PK

ip

IP地址

varchar(50)

Y

email

邮箱

varchar(50)

time

留言时间

varchar(50)

Y

content

留言内容

varchar(50)

Y

restores

回复内容

varchar(50)

restore_time

回复时间

varchar(50)

xm

姓名

varchar(50)

说明:

id为留言的唯一标识,ip记录了留言者的IP地址,time自动保存提交留言的时间,content为留言内容,而restores作为一个留言的属性,表示一条留言只能有一条回复,如果多次回复,回复内容将会覆盖,之保存最后一天回复内容,回复时间restore_time也是只保留最后一条回复的时间。

表10:

订单信息表Orders

字段名称

中文描述

数据类型

非空

缺省值

备注

Id

菜品标识

int(4)

Y

PK

orderId

个人订单编号

int(4)

Y

goodName

食物名

varchar(50)

Y

goodPrice

食物价格

varchar(50)

Y

goodNum

食物数量

int(4)

Y

username

订餐者

varchar(50)

Y

RoomAddress

送餐地址

varchar(50)

Y

orderTime

送餐时间

varchar(50)

Y

说明:

该表的设计为一个重点。

Id作为主键,标识订单上的某一个食物,以便控制以后扩展功能时对单个食物的控制。

orderId作为一个用户特有的订单号,从1开始,即每个用户都可以有从1开始的订单号,userName表示订餐人,所以一个订单由orderId和userName共同决定。

在一个表中,userName相同并且orderId相同的菜属于同一张订单,一个人可以有多张订单。

如图:

图9orders表图

用户liyanhui有orderId从2到6共5个订单,用户芳芳有2个订单,其中Id为10和11的两个菜都属于同一个订单ordered=2。

2.6开发运行平台选择与分析

系统采用了面向对象的设计方法,所以在开发语言上,理所当然选择了JAVA,凭借JAVA的跨平台性,使订餐系统对操作系统的选择多样化。

JavaWeb应用程序需要在支持Servlet和JSP的Web容器中运行。

现在,很多厂家都开发了支持Servlet和JSP的Web容器。

其中不乏一些优秀的、免费的、开放源代码的产品,比如Apache的JakartaTomcat,JakartaTomcat是ApacheJakarta项目组开发的机遇GPL自由软件协议的JSP引擎,配合JDK就可以搭建一个最简单的JSP试验平台。

Tomcat开发源代码,使用起来比较简单,Tomcat是Servlet和JSP1.1规范的官方参考实现。

Tomcat既可单独作为小型Servlet、JSP测试服务器,也可以继承到ApacheWeb服务器。

考虑到本系统的实际需要和Tomcat的诸多优点和特性,我们使用ApacheTomcat作为Web服务器。

开发环境:

硬件:

CPU:

AMDAthlon(tm)643000+

内存:

512M

操作系统:

MicrosoftWindowsXPProfessional+SP2

服务器:

HPProLiantML370G4

操作系统:

MicrosoftWindows2000Server+SP4

Web服务器:

ApacheTomcat6.0

开发工具:

EclipseV3.1,DreamweaverV8.0

数据库管理系统:

SQLServer2000

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2