基于web的订餐系统的设计与实现

基于web的订餐系统的设计与实现[java毕业论文下载]

基于web的订餐系统的设计与实现

摘要

随着市场、经济的全球化,越来越多的企业认识到:提高企业的竞争力,选择信息化是必由之路。本文论述的订餐系统是针对餐饮娱乐业而设计的一种商务服务网站。其主要功能是完成外卖的前期和辅助工作,即通过网络进行定餐和对服务进行评价。而餐饮工作流程的其他部分如送外卖、付款等后期工作依旧采用传统方式。

微软的. NET平台作为新一代的互联网平台,提供了支持未来计算的高效的Web服务开发工具。利用.NET平台进行订餐系统的开发是此类系统未来开发的趋势之一。本文所设计的系统在.NET平台上进行开发,采用了最新的ASP.NET技术,用VB.NET进行了编码,并使用SQL server进行数据库设计,基本实现了预定的目标,建立起一个比较完整的外卖系统。其特点是方便快捷的操作方式,简单易懂的管理方法,因此对于企业和用户来说,都是一种新型的、节约型的系统。

 

关键词:企业信息化;订餐系统;.NET;ASP.NET;SQL server

 

The Design and Implementation of Bespeak Meal System Based on Web

Abstract

With the globalization of market and economy, more and more enterprises realize that informatization is the only way to elevate their competence. Management Information System (MIS) is a critical component of Enterprise informatization。

When diversified electronic business affairs web setup, service vocations have to come up with. Bespeak Meal System mostly used to accomplish accessorial work, namely order dish and grad the service. The evening as distribute and gathering we are still using traditional methods.

As a new age Internet platform, MS's .NET provides efficiency Web service Development tools which supports future computation. The development of take-away online system by .NET is necessarily the trend of this kind of system development in the coming years. The system development bases on the .NET platform, while adopts the most recent ASP.NET tech. The coding part is finished by VB.NET. Finally, a comparatively entire Bespeak Meal system is completed, which satisfies the general requirements. As a new, conservation-oriented system, it is simple operation for user and manager.

 

Key Words: Enterprise Informatization; Bespeak Meal System; .NET; ASP.NET; SQL server


目   录

论文总页数:24页

1引言 1

1.1 课题背景 1

1.2 本课题的研究内容 1

1.3 本课题研究的意义 1

2 开发环境和相关技术 2

2.1 .NET开发平台及VB.NET开发语言 2

2.2 信息安全性 2

3 数据库设计 3

3.1 关于SQL语言 3

3.2 数据库设计结构 3

4 系统设计 5

4.1系统总体流程 5

4.1 系统模块设计 6

4.1.1 用户模块 6

4.1.2 管理员模块 8

5 系统实现 8

5.1 用户功能模块实现 8

5.1.1 新用户注册 8

5.1.2 登录 11

5.1.3 订餐 12

5.1.4 留言 16

5.2 管理员模块 17

5.2.1 订单管理 17

5.2.2 留言管理 19

5.2.3 菜单管理 20

5.2.4 用户管理 21

    21

参考文献 22

     23

     24

 

 

1引言

  • 课题背景

随着21世纪网络信息时代的到来,现代社会都是利用快速高效率的Internet来传播大量信息资源。人们通过IE浏览信息,当然这种方式也是最常用的,这种方式的需求形成了电子商务。它的是指利用简单、快捷、低成本的电子通讯方式,买卖双方不出面也可以进行各种商贸活动。电子商务真正的发展将是建立在Internet技术上。

现代化企业越来越明白,为了提高产品的销量,赢得更多的客户,不仅要在产品生产制造这一前方战场上增加实力,还必须在服务和效率上投入更多的力量。在产品质量相差不大的情况下,谁的服务好,效率高,谁就能赢得更多的顾客。这也是当今市场经济竞争机制下对企业的客观要求。

近年来,由于互联网技术的飞速发展及其逐步普及,企业对信息进行网络化管理的条件已经日趋成熟,而传统的通过电话和传真来处理信息的传统方式已经越来越难以满足企业的需求。建立基于网络的管理和销售信息系统,成为企业提高效率、降低成本、完善服务的有力保证。而对于餐饮业,由于一个行业本身的特性,它的流通性是非常高的,所以更对企业的效率提出了更高的要求。

微软的NET平台作为新一代的互联网平台,提供了支持未来计算的高效的Web服务开发工具。利用.NET平台进行管理和销售系统的开发成为此类系统未来开发的趋势。

  • 本课题的研究内容

本系统采用B/S(Browser/Server)结构进行设计,使用SQL Server 2000构建数据库,并在.NET环境下使用Visual Basic.net语言开发的一个功能较为完善的订餐系统。其具有一定的实用性,用户可以在网上浏览菜单,浏览留言和评分,订餐,留言和评分;同时,管理员也可以对整个系统的信息和数据进行管理,可以管理菜单信息、会员信息、留言信息和订单信息。

  • 本课题研究的意义

本课题的目标是将传统的通过电话和面对面的销售的方式,转换到基于网络这样一个更方便快捷的方式。为企业节约了很多的时间和精力。时间就是金钱,对企业来说,节约时间就是节约成本,就是盈利。对用户来说,足不出户,就可以购买到自己想要吃的东西,对于所有的上班族来说,无疑是好之又好的事情。而且现在的网络发展速度相当的惊人,那么基于网络的订餐也会越来越流行,必定是一个趋势。

  • 开发环境和相关技术
    • .NET开发平台及VB.NET开发语言

.NET框架是Microsoft公司推出的一种全新的开发平台,提供了统一的、面向对象并且可以扩展的编程类库和完善的集成开发环境,大大简化了应用程序的开发过程,并且具有良好的移植性和安全性。ASP.NET是建立在公共语言运行库上的Web编程框架,相对于ASP而言,ASP.NET提供了更强的性能、更方便的工具支持、更好的平台支持和灵活性。其一大革命性进步是可以将应用程序逻辑与表示代码清楚地分开,这样一来Web应用程序的开发人员可以使用和Windows桌面程序开发类似的编程模型,从而大大降低了开发难度。

同时,ASP.NET在进行用户界面开发和基础程序结构生成时具有很多优势。首先,ASP.NET是一个已编译的、基于.NET的开发环境,利用整个.NET框架,开发人员可以方便的进行程序开发;其次,ASP.NET可以无缝地与其它HTML编辑器及其编程工具一起工作,使得Web开发更加方便;再次,在ASP.NET中利用.NET框架中的ADO.NET的强大功能,可以高效便捷的访问数据库,ASP.NET提供了简单的模型,该模型使开发人员能够编写应用程序的运行逻辑,并且保留了会话状态功能;最后,.NET框架和ASP.NET中提供了默认授权和验证方案,可以根据需要方便地移除、添加或者替换这些方案。

Visual Basic.NET语言是Visual Basic 6.0的后继版本,但它除了在语法上还保留Visual Basic原有的踪影外,在其他的很多方面都和Visual Basic截然不同。

Visual Basic.NET是一种完全面向对象的BASIC语言,它能够继承,重载,共享成员,结构化异常处理。它有强壮的语言,严格的类型检查,变量声明时候初始化,支持垃圾收集。功能强大,支持委托,Freethreading、Variant数据类型被Object代替。VB.NET还提供了很多的类型转换函数型运算符,如果不是标准类型,就要用函数型运算符CType来实现。在本次课题中也有一定的使用。

  • 信息安全性

在大多数系统中,用户的密码信息在数据库中是以明文的方式存放的,数据库管理员稍有疏忽就有可能导致用户的隐私泄漏,尤其是对于一些涉及金融、商业领域的网络应用,这一点漏洞将会导致十分严重的后果。所以,为了加强本系统信息的安全性,在用户登录模块中,对密码这样的敏感信息进行加密是十分必要的。本课题使用了一种常见的哈希加密算法——MD5加密算法。MD5加密算法是不可逆的,经过哈希加密的数据是没有相应的解密算法回到原状的,在应用中是通过比较两个数据的哈希值是否相等,从而达到校验的目的。本课题中,在新客户注册的时候,对客户设置的登录密码用MD5加密算法进行加密,那么存入数据库的将是客户登录密码的MD5哈希值,在登录验证时根据用户输入的密码计算响应的MD5哈希值进行比较。

可见,通过MD5算法实现了数据的加密存储和验证,同时,MD5加密是不可逆的,即使恶意攻击者获得了数据库的访问权限,也仍然无法得知用户的密码信息,从而提高了系统的安全性!

  • 数据库设计
    • 关于SQL语言

SQL语言作为关系数据库管理系统中的一种通用的结构化查询语言,已经被众多的数据库管理系统所采用。使用Visual Basic.NET开发数据库应用程序时,用户可以使 SQL语言编程,这是Visual Basic.NET作为一个强大的数据库应用开发工具的一个重要标志。

SQL语言被广泛采用是因为它有很多的优点:它是一个非过程化的语言,一次处理一个记录,对数据提供自动导航;SQL允许用户在高层的数据结构上工作,而部队单个记录进行操作,可操作记录集;接受集合作为输入,返回集合作为输出;允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法,是用户更易集中精力于要得到的记过。SQL可用于所有的用户,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其他类型的中断用户。由于所有的主要的关系数据库管理系统都支持SQL语言,用户可以将使用SQL的技能从一个关系数据库管理系统转到另一个;所有用SQL编写的程序都是可以移植的。

  • 数据库设计结构

本设计主要由6个数据表组成:菜单表(dish),用户表(shopper),管理员表(manager),新订单表(neworder),添加订单表(orderadd)存储用户的订餐信息,留言信息表(message)存储留言,这些表都集中在一个数据库里面。

数据表:

与用户相关的数据表有:菜单表(dish),用户表(shopper),新订单表(neworder),添加订单表(orderadd),留言信息表(message)。分别如表1,表2,表3,表4所示。

 

 

表1 菜单表(dish)

主键和外键均为(cdishid)

列名

中文名称

数据类型

长度

是否允许空

Cdishid

菜品编号

Char

10

Not null

Vdishname

菜名

Varchar

60

Not null

Vdishdescription

简介

Varchar

300

Not null

Cdishrate

价格

Char

10

Not null

 

表2 用户表(shopper)

主键和外键均为(cshopperid)

列名

中文名称

数据类型

长度

是否允许空

Cshopperid

用户名

Char

10

Not null

Cpassword

密码

Char

50

Not null

Vemail

电子邮箱

Varchar

50

Not null

Cphone

电话

Char

15

Null

Vmemo

备注

Varchar

200

Null

Csex

性别

Char

10

Not null

Cage

年龄

Char

10

Null

Dregistertime

注册时间

Datatime

8

Not null

Dlastlandtime

最后登录时间

Datatime

8

Null

Vaddress

地址

Varchar

50

null

 

表3 新订单表(neworder)

主键为(oid) 外键为(dishid和userid)

列名

中文名称

数据类型

长度

是否允许空

oid

订单序号

numeric

9

Not null

Orderid

订单号

Char

10

Not null

Dishnumber

数量

Int

4

Not null

Userid

用户名

Char

10

Not null

Status

是否确认

Int

4

Not null

dedate

处理日期

varChar

20

Null

Birdate

订餐时间

Varchat

20

Not null

 

表4添加订单表(orderadd)

列名

中文名称

数据类型

长度

是否允许空

 

Orderid

订单号

Char

10

Not null

Orderaddress

送餐地址

Varchar

50

Not null

表5 留言信息表(message)

主键为(cmessageid)外键为(cshopperid)

列名

中文名称

数据类型

长度

是否允许空

Cmessageid

留言编号

Char

10

Not null

Cshopperid

用户

Char

10

Not null

Dmessagetime

留言时间

Datatime

8

Not null

Vmessage

留言内容

Varchar

500

Not null

Cscore

评分

Char

10

Not null

 

与管理员相关的数据表有:管理员表(manager),如表6。

表6 管理员表(manager)

主键为和外键均为(cmanagerid)

列名

中文名称

数据类型

长度

是否允许空

Cmanagerid

管理员ID

Char

20

Not null

Cpassword

密码

Char

50

Not null

cpurview

权限

Char

10

Not null

 
  • 系统设计

4.1系统总体流程

系统的总体流程如图1所示,注册用户可以进行订餐和留言、评分;管理员可以进行订单管理,留言和评分管理,用户管理,菜单管理等操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

图1 系统总体流程图

 

  • 系统模块设计

总体分为用户和管理员两个模块

  • 用户模块

 

 
 

图2 用户模块流程图

 

1.新用户注册:填写注册信息。

2.注册用户登录:只有登录才能查看留言和订餐。

3.订餐:记录用户的订餐信息。

4.留言:记录用户的留言和评分信息。


  • 管理员模块

 

 

 

 

 

 

 

 

 

 

图3 管理员模块流程图

1.订单管理:对用户的订单进行处理或删除。

2.留言管理:对用户的留言进行查看或删除。

3.用户管理:对用户信息进行查看或删除。

4.菜单管理:对菜单进行修改或者删除,添加新菜品。

  • 系统实现
    • 用户功能模块实现

用户模块包括:新用户注册,注册用户登录,注册用户订餐,注册用户留言和评分。

 

  • 新用户注册

用户填写注册信息包括必填项:用户名,密码,验证密码,email;和可选填写的信息。注册成功后返回登录成功页面,可以选择进行订餐和留言、评分操作。

流程图如下:

 

 

 
 

 

 

图4 注册流程图

 

 
 

注册页面设计如图:

 

图5 注册页面

在提交的时候,检测用户名是否已经存在,若存在,则返回错误信息,重新填写注册信息。从工作流上看,只有注册成功后才可以进行订餐和留言。

代码如下:

        conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"‘链接数据库

        cmd.Connection = conn

        cmd.CommandType = CommandType.Text

 

        conn.Open()

        Dim strsql As String = "select * from shopper where cshopperid='" & Trim(txtName.Text) & "'"

        cmd = New SqlCommand(strsql, conn)

        Dim reader As SqlDataReader = cmd.ExecuteReader() 

        If reader.Read() = True Then

            namewrong.Text = "已有此用户名"

            conn.Close()

        Else

            conn.Close()

所有信息正确便将密码加密之后,将所有信息插入数据表shopper中。

代码如下:

              Dim conn1 As New System.Data.SqlClient.SqlConnection

                Dim cmd1 As New System.Data.SqlClient.SqlCommand

 

                Dim str1 As String

                Dim str2 As String

                str1 = Password1.Text

                str2 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str1, "MD5")

‘使用MD5加密算法加密密码文本框的值

                conn1.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"

                cmd1.Connection = conn1

                cmd1.CommandType = CommandType.Text

 

                conn1.Open()

                sqlstr = "insert shopper([cshopperid],[cpassword],[csex],[cage],[vaddress],[cphone],[vemail],[vmemo],[dregistertime],[dlastlandtime]) values('"

                sqlstr += txtName.Text & "','"

                sqlstr += str2 & "','"

                If man.Checked Then

                    sqlstr += "男','"

                ElseIf woman.Checked Then

                    sqlstr += "女','"

                End If

                sqlstr += txtAge.Text & "','"

                sqlstr += txtAddress.Text & "','"

                sqlstr += txtPhone.Text & "','"

                sqlstr += txtEmail.Text & "','"

                sqlstr += txtMemo.Text & "','"

                sqlstr += System.DateTime.Now & "','"

                sqlstr += System.DateTime.Now & "')"

                cmd1.CommandText = sqlstr  ‘将注册信息插入数据库

                cmd1.ExecuteNonQuery()

                conn1.Close() 

注册成功页面如下:

 

 
 

图6 注册成功

 

  • 登录

用户需要填写用户名和密码,对输入的用户名与数据库的进行比较,若没有则返回错误,对密码也进行判断,因为密码在保存时是经过MD5加密的,所以在判断的时候也把输入的密码先进行MD5加密,然后进行比较。登录成功进入登录成功页面。

 

 
 

流程图如下:

 

图7 登录流程图

 

 
 

登录页面设计如下:

 

图8 登录页面

 

代码如下:

  Dim cmd As New System.Data.SqlClient.SqlCommand

 

        conn.Open()Dim str As String

        str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txtPass.Text, "MD5")  ‘使用MD5加密密码文本框的值,用于下面跟数据库里面的值进行比较

        cmd.CommandText = "select * from shopper where cshopperid='" & Trim(txtName.Text) & "' and cpassword= '" & str & "' "

 

        cmd.Connection = conn

        Dim reader As SqlDataReader = cmd.ExecuteReader

 

        If reader.Read() Then

            Session("cshopperid") = Trim(reader("cshopperid"))   ‘检测用户名是否已经存在

                       Response.Redirect("login_suc.aspx")

        Else

            Session("cshopperid") = Nothing

            wrong.Text = "用户名或者密码错误!"

        End If

        conn.Close() 

 

 
 

登录成功后界面如下:

 

图9 登录成功

基于web的订餐系统的设计与实现[点击下载]
  • 上一篇:
  • 下一篇:

评论