网络订餐系统的设计与实现软件工程课程设计.docx

上传人:b****8 文档编号:28725197 上传时间:2023-07-19 格式:DOCX 页数:52 大小:692.23KB
下载 相关 举报
网络订餐系统的设计与实现软件工程课程设计.docx_第1页
第1页 / 共52页
网络订餐系统的设计与实现软件工程课程设计.docx_第2页
第2页 / 共52页
网络订餐系统的设计与实现软件工程课程设计.docx_第3页
第3页 / 共52页
网络订餐系统的设计与实现软件工程课程设计.docx_第4页
第4页 / 共52页
网络订餐系统的设计与实现软件工程课程设计.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

网络订餐系统的设计与实现软件工程课程设计.docx

《网络订餐系统的设计与实现软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《网络订餐系统的设计与实现软件工程课程设计.docx(52页珍藏版)》请在冰豆网上搜索。

网络订餐系统的设计与实现软件工程课程设计.docx

网络订餐系统的设计与实现软件工程课程设计

《软件工程课程设计》报告

题目:

网络订餐系统的设计与实现

说明

一、设计题目:

网络订餐系统的设计与实现

二、小组成员及任务分配情况

姓名

学号

任务分配

梁潇琳

2012331118

可行性分析文档、课程设计报告?

部分

申姣姣

2012331123

需求分析文档

史耀花

2012331127

系统详细设计文档

吕晓婧

2012331121

系统测试文档

 

1.开发目的和意义

1.1开发目的和意义

随着网络技术的不断发展,人们对于网络有了越来越多的要求。

Ebay、阿里巴巴、淘宝的出现,让电子商务重现曙光,Google、XX的出现,让人们通过网络检索信息,获得有效信息的途径更加丰富。

当学生们忙碌了整个上午后,享用丰富的午餐成了基本的要求,而网上订餐系统正是为了帮助人们寻找和发现新的菜种,品尝不同风格和不同种类的菜品。

因此,面向大学生的网上订餐系统的设计有着良好的现实意义,网上订餐业务在校园也有极大的发展空间和良好的发展前景。

1.2完成情况

本项目实现了用户注册与登录、餐厅管理、用户订餐、系统管理、评价等功能,已经进行到了了系统的设计以及测试阶段。

 

2.开发环境及相关技术方法

2.1开发环境

(1)硬件环境

 

(2)软件环境

JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网页开发语言。

  

Java的特点:

 

(1)简单 Java语言简单是指这门语言既易学又好用。

简单并不代表干瘪,Java是一门很丰富的语言。

 

(2)面向对象 基于对象的编程更符合人们的思维模式,使人更容易编写程序。

 

(3)跨平台 Java是基于虚拟机运行的程序,它可以实现一处编译多处运行。

 

(4)多线程 Java实现了内置多线程支持。

多线程允许同时完成多个任务。

 

(5)安全 Java小应用程序被限制在只允许访问Java运行环境中 ,不允许访问计算机其他资源。

Java提供了强类型检查机制,使得程序在开发期间更安全。

 

(6)动态 Java程序的基本组成单位就是类,有些类是自己编写的,有些类是从类库 引用的,而类又是运行时动态绑定的,这就使得Java可以在分布式环境中动态的维护程序和类。

本系统选择SQLServer2008(StandardQueryLanguage,SQL结构化查询语言)作为数据管理系统。

SQLServer2008是有Microsoft开发和推广的关系数据库管理系统(DBMS),是一个全面的数据库平台,使用集成的商业智能(BI)工具,提供了企业级的数据管理。

2.2相关技术及方法

系统采用?

技术、?

法?

,具体如下几个方面:

(1)JAVA

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

.

(2)?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

.

(3)JAVA

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

.

随着互联网技术的不断发展,基于浏览器/服务器(Browser/Server 简称B/S)体系结构的应用程序得到了空前广泛的应用。

但是服务器之间的通讯,尤其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。

因为大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。

 

JSP无疑可以轻松地实现这类功能,在动态内容的解决问题中,还存在其他的解决方法,但是开发人员要掌握这些技术很难。

例如,Java Servlets这样的技术就可以使得用Java语言编写交互式的应用程序的服务器端的代码变得更加简单。

Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。

开发人员编写出Servlet程序,用来接收来自Web浏览器的HTTP请求,动态地生成响应,然后发送包含HTML或XML文档到浏览器。

 

但是使用这种方法,整个网页必须都在Java Servlet中制作。

如果开发人员或者Web管理人员想要调整页面的显示,就不得不从新编辑并编译Java Servlet程序。

采用这种方法,编写带有动态内容的页面需要有很熟练的应用程序开发技巧和经验。

很显然,一个简单的创建动态页面的解决方案要能解决以下的问题:

  

1. 能够在任何Web或应用程序服务器上运行 2. 将应用程序逻辑和页面显示分离 3. 能够快速地开发和测试 

4. 简化开发基于Web的交互式应用程序的过程 

JavaServer Pages (JSP)满足这些要求,它整合了存在的Java编程环境提供支持的技术和工具,产生了一种新的、开发基于Web应用程序的方法,这个方法给予使用基于组件应用的逻辑页面的设计者提供了强大的功能。

 

SQLServer2008数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。

3.系统分析

3.1可行性分析

随着互联网的日益普及,网上订餐也开始慢慢风靡于我们的生活。

网上订餐业务的出现,能够帮助人们寻找和发现新的菜种,品尝不同风格和不同种类的菜品。

当代大学生作为社会中的重要群体,饮食在他们生活中起着重要作用。

因此,面向大学生的网上订餐系统的设计有着良好的现实意义,网上订餐业务在校园也有极大的发展空间和良好的发展前景。

网上订餐系统无论是在应用的深度还是广度上都是一个逐步发展的过程。

开发一个局部系统时要充分考虑到局部系统和整个目标系统之前的相容性和完整性,以利于今后整个系统的建立。

从订单处理流程上总体把握系统的设计,在具体的设计实现上围绕三个方面进行展开,即用户、管理者、系统维护者。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

具体如下几个方面:

(1)技术可行性分析

此次开发基于C语言作为开发语言,它具有语言简洁、语言自由、支持跨平台、与XML相融合等多个特点。

我们以SQLSever技术作为后台支撑,它能够实现数据库镜像、在线恢复、在线检索操作、快速恢复,安全性能高等多个功能。

所以从现有的技术水平来说,完全能够建立一个以消费者服务和内部管理为目的的信息平台。

可行性。

●经济可行性分析

该系统无需额外的设备购买和人员培训费,所以在经济上是可行的。

而且该系统可以做到用户足不出户就能吃到美味的食物,同时增加餐馆的营业额的效果。

通过以上的分析,开发网络订餐系统是完全可行的。

●社会可行性

1 网络订餐系统作为一种全新的商务模式,但也存在一些潜在的问题。

该系统为独立开发,在技术上没有使用任何现有的软件与方法,所以在法律方面不会存在侵犯专利权,侵犯版权等问题。

2 随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。

随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。

总之,本系统在?

可行的。

3.2需求分析

3.2.1性能分析

(1)操作简单,界面友好:

完全空间式的页面布局,使得菜品、咨询等信息录入的工作更简单。

另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

对常见类似的网站的管理的各个方面:

基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式。

2、即时可见:

对客户预定餐饮信息的处理(包括录入、删除)将立即在首页的对应栏目显示出来,达到“即时发布,即时见效”的功能。

3、系统运行应该快速、稳定、高效和可靠。

4、在结构上具有很好的可扩展性,便于将来功能的扩展和维护。

5、对数据的安全性、完整性要求:

用户信息保密,只有管理员能任意修改。

确保网上支付安全。

菜品信息、用户信息必须保证其完整性。

防止恶意删改。

3.2.2功能分析(DFD、用例图)

首先对现有系统进行分析,现有系统是信息的重要来源。

分析已有系统的功能和实现,从而确定新系统的设计目标和模型。

由于条件有限,调研主要是在网上进行。

即通过在网上已有的订餐网站注册成会员来了解其具备的功能。

3.2.3系统数据流图

该系统的数据流程图分三层来描述,分别是顶层数据流图、一级分解、二级分解,具体数据流程图如下图所示:

1、顶层数据流图

系统的顶层数据流图如图?

所示:

2、第0层数据流图

3、第一层数据流图

(1)用户管理数据流图

(2)订餐管理数据流图

(3)

系统管理数据流图

3.2.3系统需求分析

本系统使用UML中的用例图对需求建模。

用例图通过描述“系统”和“活动者”之间的交互活动来描述系统的行为。

网上订餐系统主要有一下几个方面需求:

1、用户

用户首先需要注册一个账号用于系统登录,登录后可以查看店铺信息,并选中某一店铺后进入其餐饮信息界面,最终选中所需餐饮,下订单。

当然用餐后还可以对此餐饮进行评价。

2、订餐管理员

当用户下订单后,订单管理员需及时生成订单,如果订餐者对订单有所更改时,订单管理员也要及时对数据进行更新。

3、系统管理员

系统管理员主要完成对商家和订餐者信息的管理、以及系统的维护。

本系统的用户用例图如下图所示。

用户登陆后可以订餐、选择店铺、选择餐饮。

下单以及付款,可以对餐饮及系统进行评价留言。

餐厅管理员用例图如下图所示。

餐厅管理员登录系统后对订单进行核实并安排配送,然后更新店铺的相关信息。

系统管理员用例图如下图所示。

系统管理员登录系统后,可以对订餐管理者和用户进行管理(增加、删除、修改、查询),以及对系统进行维护。

3.2.4行为分析

状态图通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。

状态图提供了行为建模机制。

本文用状态图进行行为需求分析。

根据前面的分析和设计可以发现,每个参与者在使用系统前都需要进行登录,登陆后就可以进行各自相应的操作,操作完后退出系统。

创建的系统状态图如下:

 

4.系统设计

4.1总体设计

本系统主要包括?

、?

、?

系统功能模块结构图如图?

所示:

网上订餐服务系统

 

后台

前台

 

系统管理

订餐管理

用户管理

 

更新菜单

调整价格

前台

信息

浏览

添加

删除

修改

处理订单

审核注册用户

回复留言

查询订单明细

信息反馈和评分

订餐

查看历史订单

留言板

信息浏览

填写

、修改个人信息

用户登录或游客注册

 

图3.1系统整体框架图

(1)用户注册与登录模块:

不同的用户在注册自己账号后,即将信息保存于数据库,用户在输入用户名和密码之后,与数据库的校验信息匹配,方可登录自己的用户界面。

(2)餐厅管理模块:

餐厅登录成功,即可对自身信息进行查看并修改,也可发布新的菜品以及报价,待管理员审批通过方可发布,使用户看到餐厅的信息。

(3)用户订餐模块:

用户选定自己喜欢的餐厅和菜品,付款等待餐厅接单,接单后等待餐厅配送。

(4)系统管理模块:

负责审核注册用户,对数据库的信息及留言板中的内容进行浏览、添加、删除、修改等操作。

(5)评价系统模块:

在用户对餐厅的菜品品尝之后,可根据情况对餐厅进行评价,评价也对其他用户选择餐厅起到了参考的作用。

同时,评价低于标准值的餐厅将进入黑名单。

4.2详细设计

4.2.1添加菜品模块的设计

此模块?

,?

,添加菜品模块的设计流程如图?

所示:

4.2.1主界面设计

系统界面作为系统的脸面,是用户评定该系统的第一印象。

因此,系统主页面的设计要足够吸引用户,同时满足操作方式大众化的原则,让用户能够自如地运用该系统。

4.2.2模块设计

 

下订单流程图:

订单管理流程图:

 

系统管理流程图:

 

评价系统流程图:

4.3数据库设计

4.3.2概念结构设计

对上述的总体设计和需求分析之后,我们已对各个模块及其功能进行了初步的分析。

在此阶段,我们可根据模块中各实体之间的相互联系和各数据表之间的相互关联,系统的E-R图如图?

所示:

包含

订单条目

菜品

MN

包含

NN

预定

管理

M1

留言板

留言

管理员

订单

生成

用户

N11NN1

其主要数据表E-R图如下:

Cid

Scid

菜名

介绍

价格

菜品

 

图片

销售量

推荐

 

订单ID

用户ID

菜名

送餐地址

联系电话

订单

 

订单时间

金额

备注

 

 

真实姓名

uName

用户ID

身份证号

uPwd

用户

state

QQ号码号码

联系电话

喜欢口味

 

菜名

订单ID

ID

 

数量

单价

订单条目

信息回馈

评分

 

类型

管理员

管理员ID

mPwd

mNameme

4.3.3逻辑结构设计

逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。

概念模型转换为关系模型的转换规则:

(1)一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。

(2)一个1:

1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

(3)一个1:

n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

(4)一个m:

n联系可以转换为一个独立的关系模式。

(5)一个多元联系可以转换为一个独立的关系模式。

(6)具有相同码的关系模式可以合并。

(7)有些1:

n的联系,将属性合并到n端后,该属性也作为主码的一部分。

由上述E-R图转换成关系模式如下所示:

用户(用户ID,uName,uPwd,真实姓名,联系电话,state,身份证号,喜欢口味,QQ号码);

菜品(cID,Scid,菜名,价格,介绍,图片,推荐,销售量);

预定(用户ID,cID);

订单条目(ID,订单ID,菜名,数量,单价,评分,信息回馈);

包含(cID,ID);

订单(订单ID,用户ID,菜名,订单时间,备注,金额,联系电话,送餐地址,管理员ID);

管理员(管理员ID,mName,mPwd,类型);

4.4数据库设计

(1)订单表

此表?

,订单表如表?

所示:

表4.2订单表

表4.3菜品表

表4.4用户表

 

表4.5订单条目表

用户注册登录界面表4.6管理员表

5.系统实现

5.1用户注册登录界面

用户注册登录界面,填写注册表中的信息,提交然后进行登录。

用户注册登录界面如图?

所示:

 

5.2订单处理

管理员查看订单信息时登录后台管理系统,查看订单,处理订单。

5.3点评模块实现

6.系统测试

6.3测试方法

测试任何产品都有两种方法:

黑盒测试和白盒测试。

本次系统测试主要采用黑盒测试。

白盒测试又称结构测试,它的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理工程。

这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作。

黑盒测试又称功能测试,是把程序看成一个黑盒子,完全不考虑程序等额内部结构和处理过程,也就是说它是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当的接收输入数据产生正确的输出信息,并且保持外部信息的完整性,还有性能是否能够满足要求,是否有初始化或者终止性错误。

综上所诉,针对这个网上订餐服务系统,我们已经知道了系统应该具有的功能,而内部结构和具体工作过程还待了解,所以我们可以通过黑盒测试来检验每个功能是否都能正常使用。

6.4测试用例及结果

6.4.1用户注册登录模块测试

具体操作:

填写注册表中的信息,提交然后进行登录。

 

 

测试项目

测试用例

测试结果

操作流程

用户登录

订餐服务模块

用户名:

yy

正确密码:

12

登陆成功

在网站首页的登录框

输入密码:

12

上登录

添加菜品模块的设计

用户名:

yy

正确密码:

12

输入密码:

12

登录失败或尚未通过审核

在网站首页的登录框上登录

添加菜品模块的设计

输入相关注册信息

注册成功,等待审核

在网站首页的登录框上点击“注册”

添加菜品模块的设计

测试要点为用户名和密码,判断其是否为真,为真进入系统,为假弹出警告框提示密码或用户名错误。

6.4.2测试

可以从系统首页直接查找点击,也可以在搜索栏中搜索查找

测试项目

测试用例

测试结果

操作流程

菜单首页

点击各个店铺的

显示店铺的各种饭菜

点击页面店铺菜单

搜索查询

在搜索框中输入电名

显示所要店铺和菜单

在搜索框中输入关键字

6.4.3订单处理模块测试

管理员查看订单信息时登录后台管理系统,查看订单,处理订单。

 

测试项目

测试用例

测试结果

操作流程

登陆后台

用户名、密码

转入后台页面

进入后台登陆页面

查看订单

点击“订单详情”

转入订单详情页面

点击查看“订单详情”

处理订单

点击“处理订单”

订单状态以变为一“以送餐”

在订单详情中点击“处理订单”

6.4.4用户安全性测试

管理人员在登录系统后台查看用户信息时不能修改用户资料,只能浏览用户资料。

用户在登录系统页面时如果输入的用户名和密码格式错误或填写错误,也不能进入页面即登录失败。

6.5测试结果

本次采用了黑盒测试对该系统的基本功能进行了测试后,每个模块的基本功能都比较成功,但也发现了一些问题有的模块出现异常,对此我们及时进行了修改。

现在功能基本能正常使用,结果也能满足需求。

有可能还存在问题,这需要我们在以后运行过程中不断完善。

7.实践总结

7.1小结

本项目提出的网上订餐系统是在调研国内各大网上订餐管理软件和查阅资料了解国内外资料的基础上提出来的,同时查阅了大量相关文件做出系统分析,此文的系统分析和设计只是相对于一般的团体而言的。

如果要运用到实际企业、商店、大型超市,要根据实际情况进行完善和改进。

同时,本文着重介绍的是网上订餐管理系统的开发、Java语言和JSP语言部分,又由于系统的特殊性——更多地考虑Java、数据库和JSP语言的设计和实现。

7.2实践感想

在做本次课程设计时我们学习到:

当调试出现问题时,先从细节上入手,看看自己在细节上有没有由于粗心而发生的错误,然后再进行整体上分析,有没有严重的语法错误。

最终在团队成员的努力下解决了各种问题。

这次课程设计实验,积累了数据库编程和网站开发的基本经验和一些基本技巧。

对大型系统开发有了实质性、操作性的认识,同时对运用JSP技术有了很大的提高,对以前学到的书本知识也是个很好的巩固,同时这次设计让我意识到自己的许多的不足,锻炼了自己独立发现问题,思考问题,解决问题的能力,也掌握了一些编程的思想和技巧,使自己的编程能力也有了很大的提高。

具体如下几个方面:

(1)?

方面

(2)?

方面

(3)?

方面

总之,我在?

方面?

参考文献

[1]中国电子政务发展研究现状.[EB/OL].http:

//www.gygov.cn/jumpnews/bg050401.htm,2005-05-21.

[2]B/S结构应用开发秘笈陈卫国防工业出版社2001

[3]李春儒,守望互联网经济——电子商务发展现状与趋势.[EB/OL].http:

//

[4]龚炳铮,我国电子商务的发展现状与趋势[EB/OL].http:

//www.ec.O./2004-05/08/content_4138744.htm,2004-05-08.

[5]李飞,最新实用网络技术教程[M].西安:

西安电子科技大学出版社.69~70,124~126.最新实

[6]黄理,李积善,曹林有,张勇.用JSP轻松开发Web网站(第一版)[M].北京:

北京希望电子出版社.2001.100~152.

[7]飞思科技产品研发.JSP应用开发详解(第二版)[M].北京:

电子工业出版社,2004.23~28,259~316

[8]肖金秀,冯沃辉,施鸿翔.JSP程序设计教程[M].北京:

冶金工业出版社,2003.7:

110-139.【D】[J]

[

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

当前位置:首页 > 党团工作 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1