校园订餐系统的实现
2013届毕业设计
长春建筑学院校园订餐系统的实现
苏楠
长春建筑学院电气信息学院
2013年6月5日
毕 业 论 文
长春建筑学院校园订餐系统的实现
学 生:苏 楠
指导教师:刘舒婷
专 业:计算机科学与技术
所在单位:长春建筑学院
答辩日期:2013年6月5日
摘 要
网上订餐系统是针对二十一世纪高速发展的经济需求、人们日益加快的生活
节奏以及迎合饮食行业越来越便捷的服务趋势而设计的。 网上订餐系统是一个专门面向餐饮企业,包括中式正餐、西式正餐、快餐、各类咖啡酒吧茶楼等各类餐饮企业,对处于不同发展阶段的各种餐饮企业,全面提供餐饮信息化服务。互联网不仅仅是让餐馆经营者通过上网来推销餐馆,而且还可以让餐馆经营者广泛地获取服务信息。由于网络高新技术可以做到自动处理完成客户的下卖订单,所以通过网络提供的服务是高效快捷,为餐馆业主在预定时节省了大量的时间。
本次毕业设计任务采用了当前流行的Microsoft Visual Studio 2005快速开
发工具作前台,以及Microsoft SQL Server 2000数据库管理系统作后台,本论文主要介绍了本课题的开发背景,所要实现的功能和开发的过程。
关键词 : 订餐;ASP.NET ;管理;SQL SERVER 2000数据库
Abstract
As the economy is developing quickly and the space of life gradually
accelerate ,people need more convenient and faster service .Under this circumstance ,order meals online system has developed .This system is especially open to catering trade ,including Chinese food ,western food ,fast food ,kinds of coffee halls and bars and so on. And it also provides Comprehensive information services to catering businesses which are in different developing stages. Internet not only make it effective for operators to promote theirs ’ restaurants, but also make it easy to collect information .Meaning while, Internet serve customers effectively .quickly and help the owners of restaurants save time and resources just because net hi-tic can deal with customers ’ orders automatically.
The most important aspect of Internet application is exploring technology of
website. Moreover, Microsoft Visual Studio 2005 is the most advanced technology of WEB and the first best choice for developers of website .However ,the ordinary developers of web are not able to master and use the advanced technology due to high demands on web developers.
Keywords: HIS; ASP.NET; Management; SQL SERVER 2000
目录
摘 要 .......................................................................................................................... I Abstract......................................................................................................................... II
第1章 绪论 ................................................................................................................. 1
1.1 开发背景及目的 . ............................................................................................... 1
1.1.1 课题背景 ...................................................................................................... 1
1.1.2 主要实现功能 .............................................................................................. 1
1.1.3 课题研究的目的 .......................................................................................... 2
第2章 开发平台和技术简介 ..................................................................................... 3
2.1 系统结构 . ........................................................................................................... 3
2.2 系统开发工具与技术 . ....................................................................................... 3
2.2.1 Microsoft Visual Studio 2005概述 ...................................................... 3
2.2.2 SQL Server 2000概述 ................................................................................ 3
2.3 系统开发环境 . ................................................................................................... 4
第3章 系统分析 ......................................................................................................... 5
3.1 需求分析 . ........................................................................................................... 5
3.1.1 系统功能 ...................................................................................................... 5
3.1.2 用户特征 ...................................................................................................... 5
3.1.3 限制和约束 .................................................................................................. 5
3.2 可行性分析 . ....................................................................................................... 6
3.2.1 经济可行性 .................................................................................................. 6
3.2.2 操作可行性 .................................................................................................. 6
3.2.3 技术可行性 .................................................................................................. 6
3.3 系统流程分析 . ................................................................................................... 6
第4章 系统设计 ......................................................................................................... 8
4.1 系统概述 . ........................................................................................................... 8
4.1.1系统架构 ....................................................................................................... 8
4.1.2 系统功能模块设计 ...................................................................................... 9
4.1.3 系统总体结构模块设计 ............................................................................ 10
4.2 总体设计 . ......................................................................................................... 11
4.2.1 总体结构 .................................................................................................... 11
第5章 数据库设计 ................................................................................................... 13
5.1 数据库设计 . ..................................................................................................... 13
5.1.1 数据库选用 ................................................................................................ 13
5.1.2 数据源命名规则 ........................................................................................ 13
5.1.3 数据库的需求分析 .................................................................................... 13
5.1.4 概念结构设计 ............................................................................................ 14
5.1.5 逻辑结构设计 ............................................................................................ 15
5.1.6 数据库的运行及维护 ................................................................................ 19
5.2 公用模块 . ......................................................................................................... 19
5.2.1 数据库连接 ................................................................................................ 19
5.2.2 层叠样式表文件StyleSheet.css ................................................................ 19
5.3 各模块的详细设计 . ......................................................................................... 21
5.3.1 会员注册及登录模块 ................................................ 错误!未定义书签。
5.3.2 菜品信息展示模块 .................................................................................... 21
5.3.3 在线留言反馈模块 .................................................... 错误!未定义书签。
5.3.4 新闻动态管理模块 .................................................................................... 22
5.3.5 菜品管理模块 ............................................................ 错误!未定义书签。
5.3.6 会员管理模块 ............................................................ 错误!未定义书签。
5.3.7 订单管理模块 ............................................................ 错误!未定义书签。
第6章 系统的实现 ................................................................................................... 23
6.1. 窗口展示 ......................................................................... 错误!未定义书签。
6.1.1 用户登录窗口 ............................................................ 错误!未定义书签。
6.1.2 菜品信息查看窗口 .................................................................................... 21
6.1.3 新闻详细窗口 ............................................................ 错误!未定义书签。
6.1.4 用户注册窗口 ............................................................................................ 22
6.1.5 在线留言窗口 ............................................................ 错误!未定义书签。
6.1.6 后台用户管理窗口 .................................................... 错误!未定义书签。
6.1.7 后台留言管理窗口 .................................................... 错误!未定义书签。
6.1.8 后台菜品添加窗口 .................................................... 错误!未定义书签。
6.1.9 订餐记录查询窗口 .................................................... 错误!未定义书签。
6.2 编码 . ................................................................................................................. 27
6.2 测试 . ................................................................................................................. 27
6.2.1 单元测试 .................................................................................................... 27
6.2.2 集成测试 .................................................................................................... 27
6.2.3 系统测试 .................................................................................................... 28
6.3 测试过程 . ......................................................................................................... 28
6.4 测试结果 . ......................................................................................................... 28
第7章 系统的维护 ................................................................................................... 29
7.1 通过权限设置维护网站安全 . ......................................................................... 29
7.2 存在的安全漏洞 . ............................................................................................. 29
7.2.1 IIS漏洞 ....................................................................................................... 29
7.2.2 数据库可能被下载 .................................................................................... 30
7.2.3 来自FileSystemObject 的威胁 ................................................................. 30
7.2.4 ASP.NET应用程序可能面临的攻击 . ........................................................ 30
7.3 完善安全防范措施 ......................................................................................... 30
结 论 ......................................................................................................................... 32
设计体会 ..................................................................................................................... 33
致 谢 ......................................................................................................................... 34
参考文献 ..................................................................................................................... 35
附 录 ......................................................................................................................... 35
第1章 绪论
1.1 开发背景及目的
1.1.1 课题背景
20世纪90年代, 人类社会信息化进程的一个重大变化就是数字 ERENT的出现, 现在, 数字ERENT 已经从单纯学术科研网络向综合性商业网络发展, 运用数字ERENT 进行电子商贸活动风靡全球。我国从1999年下半年, 掀起了电子商务的热潮。要推行电子商务, 离不开电子商务网站这个媒介。
互联网商业的价值在于创新,在此基础上不断满足客户新的需求,甚至客户
的某种需求不是很显著,也能将这样的潜在需求发掘出来,进而用新技术去创造需求。仅仅把传统商业搬到网上是远远不够的,互联网也不只是用来减少中间环节、降低交易费用的工具,互联网给传统产业带来真正的变革体现在,它能够借助于许多新技术为人们创造许多新的需求。从本质上来说,任何市场需求都必须细分,用传统手段来进行这样的细分显然非常困难。网络的出现,使得这样的需求能够及时反馈到生产商那里。在这一意义上,新经济是在更好地细分市场,刺激和发现传统经济刺激不出来的需求,从而在细分市场,满足个性需求的同时,推动经济的发展,这正是新经济最大的魅力所在。
传统商业向电子商务方向发展已经成为了历史的大趋势,作为传统商业中的
餐饮业由于产品及其服务的特殊性,在信息化发展上严重滞后与其它产业。这个网上订餐系统就是针对我国的基本国情、二十一世纪高速发展的经济需求、人们日益加快的生活节奏及为迎合饮食行业越来越便捷的服务趋势而设计的。
网上订餐是一个专门面向餐饮企业,包括中式正餐、西式正餐、中式快餐、
西式快餐、各类休闲餐饮、咖啡酒吧茶楼、外送外卖餐饮、大型连锁餐饮集团等各类餐饮企业,对处于不同发展阶段的各种餐饮企业,全面提供餐饮信息化服务。互联网不仅仅是让餐馆经营者通过上网来推销餐馆产品,而且还可以让餐馆经营者广泛地获取供货商的信息与服务。在电子网络商家市场中,餐馆业主变成了一个通过网络预定食品原料或其他餐馆用品的预定消费者。由于网络高新技术可以做到自动处理完成客户的下卖订单,所以通过网络提供的服务是高效快捷的,为餐馆业主在预定时节省了大量的时间。
同时,网上订餐也要为注册用户提供比较人性化、方便快捷的订餐方式,以
适应当前高效率的工作生活需要,伴随着我国互联网的高速发展和普及,这种全新的订餐方式必将被越来越多的接受和运用,具有强大的发展潜力。
随着Web 技术的发展和电子商务时代的到来,人们不再满足于建立各种静态
地发布信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等服务的动态网站。
1.1.2 主要实现功能
系统主要有管理员、用户两类用户。
客户端主要功能包括用户登录、用户个人信息维护、用户提出注册申请、用
户选择菜品、查询菜品相关信息等。
服务器端功能包括用户管理、菜品管理、新闻管理以及确认申请等。
1.1.3 课题研究的目的
该系统的目的主要是实现用户选择菜品的多样性和方便性,让他们可以在订
餐网站内选择菜品,删除菜品,查询菜品;对于注册用户,可以通过WEB 页面提交菜品、修改菜品;对于超级管理者,能够实现用户信息数据的输入、菜品查询、修改菜品、菜品订单管理,会员信息管理。
第2章 开发平台和技术简介
2.1 系统结构
本系统应用Microsoft Visual Studio 2005编程工具,结合ASP.NET 技术进
行开发,使用SQL Server 2000作为数据库。
2.2 系统开发工具与技术
2.2.1 Visual Studio 2005概述
Visual Studio 2005是美国微软公司推出的开发工具,该版本具有的新功能体现在对ASP.NET 2.0、CLR 2.0、VB.NET 与C#.NET语言上的强化,提供更好的执行效能,并更加注重安全性等方面。
Visual Studio 2005是一套完整的开发工具集,用于生成ASP.NET 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C#和Visual J#全都使用相同的集成开发环境(IDE ),利用此IDE 可以共享工具且有助于使用混合语言创建解决方案。另外,这些语言利用了ASP.NET 的功能,通过此框架可使用简化ASP.NET 应用程序和XML Web Services 开发的关键技术。
Visual Studio 2005是一个完全的面向对象的开发平台,严格地讲是一个简化版的面向对象开发平台,它以可视化程序设计为主。在Visual Studio 2005中由于使用了统一的IDE 环境,使开发跨语言平台的应用程序称为可能,程序员可
根据自己的实际情况在同一应用程序中使用不同的语言(如VB 、C#等)编写代码。 Visual Studio 2005中提供了用于ASP.NET 应用程序开发的模板,程序员可以像在VB 中设计Windows 程序一样使用系统提供的大量ASP.NET 应用程序控件设计出功能强大的,可运行在IIS 服务器中的应用程序。
2.2.2 SQL Server 2000概述
SQL Server 2000是一个具备完全web 支持的数据库产品,提供了对可扩展
标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提
供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML格式轻松存储和检索数据。
SQL Server 2000提供开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如XML 数据库与Web Service 的支持将使您的应用实现Internet 数据互联,ASP.NET 集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL 扩展带来了诸多灵活性。C#、VB.Net 、Query 、XMLA 、ADO.Net 2.0、SMO 、AMO 等都将成为SQL Server 2000数据平台上开发数据相关应用的有力工具。
2.3 系统开发环境
一个稳定、功能齐全的系统必须得有良好的开发环境作为技术保障。在前面分析了本系统所采用的相关工具和技术的优势同时,也体现出了系统优良的配置。整个系统使用的语言能够动态完成网站的交互性工作。系统配置与开发测试环境如下:
表2-1 开发环境
第3章 系统分析
3.1 需求分析
网上订餐系统需求满足来自两方面的需求,这两个方面分别是用户和管理员。用户的需求是查询菜品的信息、用户订餐情况及用户信息的修改;管理员的功能包括对用户、菜品进行管理,及系统状态的查看、维护。用户可以直接查看菜品情况,用户可以根据其账号和密码登录系统,一般情况下,用户只应该查询和维护本人的订餐情况和个人信息,若查询其他用户的订餐信息,就要知道其他用户的账号和密码。这些是很难得到的,特别是密码,所以不但满足了用户的要求,还保护了用户的个人隐私。
超级管理员拥有最高权限,所以需对用户登录模块进行更多的考虑。在此系统中,给用户查看和菜品管理的信息量大,数据安全性和保密性要求最高。本功能实现对菜品信息、用户信息、订餐情况信息的查询及维护。本系统还主要实现用户信息管理、菜品信息管理,其中用户信息管理有用户姓名、用户账号和用户密码等。
3.1.1 系统功能
本系统的主要功能是完成用户选菜的功能。实现用户在网上进行独自的选菜,用户能根据自己的意愿来选择自己感兴趣的菜品。在超级用户管理的同时,能全面的管理用户的信息、菜品的信息等。
3.1.2 用户特征
本系统在开发出来后,直接用于订餐管理,校内的用户均可直接使用本系统。系统的界面友好,使用方便,简单明了,以帮助超级管理人员快速学习系统的操作方式,完成管理选菜工作。在管理选菜的方面,都采用了全部后台管理系统,使得在管理用户的过程中尽量人性化。
3.1.3 限制和约束
本系统是针对学校内设计的,只有被授权的用户才可以使用本系统的功能。在权限方面,用户只能查看自己的订餐情况,管理员能对所交的菜品进行审查,
以及菜品信息修改。而超级管理员是权限最高的,可以管理本系统的所有功能。
3.2 可行性分析
系统可行性研究是系统发展过程中的一项重要的工作,其目的就是订出一套选择标准,一套选择程序,及组成一个有效能的决策组织。如此,使用者便能依正确的顺序解决相关的问题。下面将从经济可行性、操作可行性、技术可行性、三个方面来对本系统进行分析。
3.2.1 经济可行性
由于本系统是为用户订餐管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以节约大量的人力、物力。所带来的效益远远大于系统软件的开发成本,在经济上完全可行。
3.2.2 操作可行性
基于web 的第三方网上订餐系统具有友好的界面和简单的操作过程,使平台的使用过程对于用户和管理员来说都一目了然,对于网上订餐和电子商务的推广具有很好的推动作用。由于平台简单易懂,易于使用 ,同时在构建构成中使用了MVC 三层结构,对数据库的操作进行封装,易于维护,所以平台在操作上也是具有可行性的。
3.2.3 技术可行性
本系统采用ASP.NET 技术,以Microsoft Visual Studio 2005及SQL Server 2000工具开发设计。ASP.NET 技术的诞生,开创了非专业人员开发高水平网站的历史。以其具备易用性,兼容性,安全性和可扩充性等特点,几乎不需要什么复杂的编程,就能完成其他专业开发工具所能达到的效果。Microsoft Visual Studio 2005作为强大网页设计工具,以其齐全的设计功能受到开发者们的青睐。而SQL Server 2000针对中小型数据库设计为主,以其操作简便,兼容性好等功能为大多数数据库设计开发人员所使用。三者在技术上完美的结合可以满足系统目标所要求实现的功能,故系统实现技术上是可行的。
3.3 系统流程分析
经过分析,在脑海中形成了一个初步的基本订餐流程:首先由用户登录系统进行订餐,浏览菜单列表选择自己所需菜品,并传送到超级管理员。接着超级管
理员汇总菜单,提交用户所选菜单进行菜品制作。通过对此订餐流程分析,可以更加明确的分析和设计相应所需功能模块。采用此流程可以使用户选菜过程更有条理和规范,管理员有条不紊的实施自己对用户选菜的权限,用户能更清晰的熟知选菜整个流程,使整个选菜过程更清晰明了。下图为分析的基础上设计的网上订餐流程图。
图3-1 订餐流程图
第4章 系统设计
4.1 系统概述
本系统根据不同的用户,可以分为以下三个功能区: ● 管理员功能区
根据系统需要,管理员可以进行如下操作:
管理员正常登录后,查看用户信息,用户订餐情况,审核用户。 管理员可以进行菜品管理,修改菜品信息,审核菜品。
4.1.1 系统架构
系统设计的基础是系统架构。 1) 基于B/S体系
系统采用的是基于Web 的三层B/S(Browser/Server,浏览器/服务器) 结构模型(如图4-1所示),它是有计算技术以来最稳定的技术平台。这种三层结构是在原二层B/S结构的基础上将服务器端进一步分解成一个应用服务器(Web 服务器)和一个数据库服务器:浏览器用于接收用户输入并显示从Web 服务器返回的信息;Web 服务器用于接收从浏览器传来的用户信息,向数据库服务器提出操作请求并将操作结果返回给浏览器;数据库服务器主要完成数据的定义、查询和更新等操作,并维护数据的安全性和完整性。
图4-1系统结构
Windows98/2000/xp/2003 Windows2000server IE 数据库
◆ 第一层为终端客户层,客户机为任何一台计算机,没有特殊要求,只需具
有网络浏览器即可。用户通过客户机上的浏览器查看相关的菜品信息,并进行选菜操作,通过TCP/IP协议将操作要求传给服务器,服务器对操作要求进行处理,并将处理结果通过网页告知客户机,完成一次操作交互。
◆ 第二层为Web 服务器层,操作系统安装Windows 2000 server与IIS ,利
用IIS 将订餐软件发布,实际运行时可以选择校园网内的服务器,或者教务部门的服务器,以利于网络流量的分配与系统的维护。Web 服务器利用ASP.NET 技术实现服务器上数据库中数据信息的动态使用,起到客户端与数据库的接口作用。
◆ 第三层为数据库服务器,数据库可以安装在Web 服务器上,也可设立单独
的服务器存放数据,由具体情况而定。` 选用这样的结构模型主要出于以下几方面的考虑:
(1)B/S构架采用Internet 上的标准通信协议(通常是TCP/IP协议)作为客户机同服务器的通信协议,可以使位于Internet 上任意位置的人都可以访问服务器。对于服务器来说,通过响应的Web 服务器和数据库服务可以对数据进行处理,对外则采用标准的通信协议,提供共享数据。
(2)在服务器上对数据进行处理并将处理结果生成网页,供客户直接下载,使得在客户机上对数据的处理进一步简化。客户机上以浏览器作为客户端的应用程序实现对数据的显示,而不用再为客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏览器的操作系统,如Windows 7或Windows XP 等,就可以实现对服务器上数据的访问。
(3)由于数据的处理、存储都是在服务器上完成,因此将来对系统的升级都只是对服务器进行。
4.1.1 系统功能模块设计
根据订餐的功能需求和数据库的设计,订餐系统设计了会员注册及登录模块、菜品分类展示模块、反馈留言模块、菜品管理模块、会员管理模块和订单管理模块。在总体功能设计方面,功能思想来自于用户、管理员。
在该系统设计的时候得考虑到两个不同权限的用户,权限从低到高分别为用户和管理员。但是在这不同的两个权限中,分别都有相互联系的和相互补充的。
在解决好权限问题之后,进而在各个模块中再去实现其功能,把用户模块和管理员模块分别设计出来,用管理员的最高权限来分别对系统配置、选菜、用户来进行管理。
用户模块:本模块包括用户登录、查询菜品信息、用户订餐、查询已选菜品
等功能。
管理员模块:订餐系统是系统的核心,因其功能复杂,又被划分为菜品管理(选菜/菜品信息的修改/增加/删除) 、用户管理(用户的账号修改/删除) 、数据库维护几个子模块,主要完成选菜的设置、用户选菜信息维护、用户信息维护等工作。本功能模块只对管理人员开放。
1) 用户类型
系统用户分为两类:用户和管理员。
用户是指当前系统中所有的用户。此类用户只能对自己的信息进行浏览核对,未经他人同意不能查看他人信息,也不能对自身和他人的信息进行管理。
管理员可以对用户的信息进行浏览、查询以及修改等管理。同时具有菜品信息的维护、菜品管理等功能。
4.1.2 系统总体结构模块设计
根据上述功能模块的分析后,设计出如下的总体模块结构图。总体模 块结构图如下。
图4-3总体模块结构图
4.2 总体设计
这一部分主要是画出系统功能模块的页面流程图。
4.2.1 总体结构
本系统,主要是通过页面来实现用户功能区、管理员功能区。各个页面之间的关系如下所示: 公用模块
数据库连接页面Web.Config 、层叠样式表页面StyleSheet.css ,用它们时直接调用即可。
● 用户选菜功能模块 用户选菜程序流程图。
图4-4用户选菜功能图
● 管理员管理功能模块
管理员后台管理程序流程图。
图4-5管理员管理功能图
第5章 数据库设计
5.1 数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求。数据库设计的好坏,对于一个数据库应用系统的效率、性能及功能等起着至关重要的作用。
5.1.1 数据库选用
此订餐系统是一个中型的数据库系统。在这里选择SQL Server 2000数据库进行开发。因本系统是在Windows 7系统下使用的,并且要支持访问,考虑SQL Server 2000数据库是由Microsoft 公司开发,与系统的兼容度较高。SQL Server 2000数据库容易操作,并且更容易移植,所以采用SQL Server 2000数据库开发。
5.1.2 数据源命名规则
数据库名称:db_wsdc.mdb
在使用SQL Server 2000做后台数据库的网站中,一但通过其他非法手段获取了服务器的SQL Server 2000数据库的路径和名称,输入数据库文件的地址就可以直接下载整个SQL Server 2000数据库文件,得到网站中的重要数据,从而给网站的安全带来了严重的威胁。为此,在考虑数据库命名的时候,之所以采用db_wsdc.mdb 为后缀是为了更好的做到保护数据库安全性。安全保密设置方面已经做了一系列的措施。
5.1.3 数据库的需求分析
首先必须准确详细分析系统的需求,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
通过对收集的基本数据、数据结构以及确定数据处理的流程分析,本数据库包括以下四方面:
● 用户信息数据:包括了姓名、密码、性别、电话、QQ 号等基础数据。 ● 管理员信息数据:包括管理员登陆账号、密码等数据。
● 菜品信息数据:包括菜名、价格、口味、类别、备注等基础数据。 ● 其他数据:包括用户分类、菜品分类等数据。
5.1.4 概念结构设计
E-R 模型的组成元素有:实体、属性、联系。E-R 模型用E-R 图表示。
图5-1系统用户E-R 图
图5-2 管理员E-R 图
图5-3 订菜记录E-R 图
5.1.5 逻辑结构设计
本系统将使用SQL Server 2000作为数据库管理系统。安装SQL Server 2000,打开并新建一个数据库,将其命名为db_wsdc。db_wsdc数据库中包含的数据表及其相应功能如下图所示。
表5-4 数据库包含的数据表及其功能
1. 管理员信息表
管理员信息表用于存储系统中的管理员信息。
2. 新闻动态表
新闻动态表主要用于网站新闻的详细信息。
3. 在线留言信息表
在线留言信息表主要用于记录用户留言的相关信息。
4. 菜品信息表
菜品信息表主要便于用户查看菜品情况。
5. 热卖推荐表
热卖推荐表主要便于用户查看热卖菜品相关信息。
6. 订餐记录表
订餐记录表主要用于已订餐用户查看相关信息。
7. 用户注册表
用户注册表主要记录注册用户相关基本信息。 yonghuzhuce 表:
8. 友情链接表
友情链接表主要记录链接网站相关基本信息。
5.1.6运行及维护
此阶段的任务是系统运行情况的收集和记录;数据库转出备份与维护;数据库完整性、安全性控制;数据库故障的处理与数据库恢复等工作。
该数据库系统的维护工作主要包括:数据结构维护,建立备份文件以及记录维护。数据库系统维护工作一般应谨慎,尤其是数据库结构的维护,要经过系统开发人员研究讨论方可进行。另外要定期系统备份,一旦出现问题,能够迅速恢复系统,保证整个网站系统正常运转。
5.2 公用模块
为了使选课系统的结构清晰、代码规范,这里把系统中重复使用的代码写在一个页面内,当需要的时候直接加载进来即可。本系统的公用模块包括以下页面:
5.2.1 数据库连接
本系统所有用户信息、菜品信息及新闻信息等均保存在同一个数据库“db_wsdc.mdb”中,在该数据库中创建了若干个表。另外,根据不同用户的特点,在该数据库中创建了管理员、用户2个用户身份,并分别设置了数据库连接口令和相应的访问权限。通过执行SQL 命令,让用户在浏览器界面中查询、插入、删除和更新站点服务器的数据库信息。数据库通过Web.Config 中的链接系统。
5.2.2 层叠样式表文件StyleSheet.css
为了使选课系统的界面统一、风格统一、修改方便,所以创建了一个层叠样式表文件StyleSheet.css ,对所有网页文件中所标记的属性实行统一控制。代码如下所示:
BODY {
font-size: 12px; color: #000000;
text-decoration: none; margin: 0px; }
a:link { }
.style1 {font-size: 24px} a {
font-size: 12px; color: #333333;
text-decoration: none; }
a:hover {
font-size: 12px;
text-decoration: underline; }
.unnamed1 {
font-size: 14px; font-weight: bold; }
.unnamed2_link {
border: 1px solid #C2F0A9; }
.unnamed2_51 {
border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #33AD16; border-right-color: #33AD16; border-bottom-color: #33AD16; border-left-color: #33AD16; }
.unnamed2_14 {
font-size: 14px; font-weight: bold; }
.unnamed1_rld {
border: 1px solid #E7E7E7; }
.unnamed2_ldr {
border: 1px solid #FF9900; }
.unnamed2 { }
.unnamed3_14write_b { font-size: 12px; font-weight: bold;
color: #FFFFFF;
text-decoration: none; } tr {
font-size: 12px; color: #000000;
text-decoration: none; }
tbody {
font-size: 12px; }
.unnamed_rld2 {
border: 1px solid #BCBCBC; }
.unnamed3write { font-size: 12px; color: #FFFFFF; }
.unnamed3write:hover { font-size: 12px; color: #FFFFFF;
text-decoration: underline;
}
5.3 各模块的详细设计
5.3.1 会员注册及登录模块
用户在此模块中可以进行注册,登录,用户登陆后,可以在订餐页面订餐,查看、修改个人资料,查看订单。遗忘密码的用户可以用找回密码功能来重新设计密码。此模块为所有用户的操作主页面,包括非注册用户、注册会员、管理员,都可在此界面进行信息浏览、查询。信息分类清晰,界面设计时尚。
5.3.2 菜品信息展示模块
菜品分门别类、分层次展示不仅方便浏览者迅速找到自己的目标菜品,同时增强了网站的亲和力。该模块是浏览者与网站接触最频繁的部分,要突出用户性和流程性。
模块中,除了左侧的常用功能外,右侧以图片链接的形式详细列出食品信息,当用户点击其中某一食品图片时,系统自动跳转到相关食品的详细信息界面。此
界面是食品详细信息的介绍页面,详细的列举了食品图片、食品名称、编号、价格及相关内容说明。
5.3.3 在线留言反馈模块
这是一个管理员与用户交流的平台,用户可以在这里把自己的一些意见留给管理员,完善客服功能,也可提出对菜品的建议、看法,以便及时更改和完善。
5.3.4 新闻动态管理模块
此模块是订餐网站中的新闻发布在系统首页,注册用户和非注册用户都可以查看新闻内容,而新闻的删除、修改、添加只有管理员才能这个权限。
5.3.5 菜品管理模块
管理员可以在后台维护系统的菜品信息,包括发布、修改、删除和查询。
5.3.6 会员管理模块
该模块负责前台注册会员的信息审核,对于有效信息,网站准许其成为会员并选购菜品,否则可以进行清理。同时该模块存储了会员的信息及购物纪录,是一个非常有价值的客户信息库。
5.3.7订单管理模块
跟踪并记录菜品订单情况,包括新菜品订单提醒、菜品订单处理纪录。
第6章 系统的实现
6.1窗口展示
6.1.1
用户登录窗口
6.1.2
菜品信息查看窗口
6.1.3
新闻详细窗口
6.1.4
用户注册窗口
6.1.5
在线留言窗口
6.1.6
后台用户管理窗口
6.1.8
后台菜品添加窗口
6.2 编码
本订餐系统采用C#语言和ASP.NET 技术实现,并在代码中嵌入了许多脚本代码。系统采用SQL Server 2000作为数据库后台。编码风格上,程序的文档中包含了适当的注释,以追求简明清晰、易读易懂。
6.3 测试
在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在网站投入生产性运行之前,尽可能多地发现其中的错误。
6.3.1 单元测试
单元测试集中检测软件设计的最小单元-模块。在测试中针对于每一个功能模块通过不断的实例测试进行错误挖掘,以使每个功能模块不断完善。
6.3.2 集成测试
集成测试就是把模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。在这一部分把各个模块集成起来,整合组成了前台系统功能模块和后台系统功能模块两个大模块,然后对这两个大模块进行实例测试,不断
的发现错误并纠正。
6.3.3 系统测试
系统测试过程是将整个系统模块进行整体测试,通过系统测试能够将需求分析时没有考虑到的问题暴露出来,以利于设计者对需求规格说明时的错误加以及时改正补充。
由于在系统的生命周期的各个阶段都有可能产生差错,所以对于系统的测试是贯穿于系统整个开发的全过程的。
由于本身能力的局限性,所做编写的代码,也请教有经验的同学帮助,即便通过反复检查也难免出错,所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。我在本系统的测试中请了一位不熟悉本系统的人来进行随意性的操作,打破习惯的操作顺序,从中发现错误,在此阶段系统的一些错误得到了改正。
对于系统全部模块进行测试,达到了系统起初的设计需求。全部功能要求和性能达到满足,文件与数据库正常。因为整个系统是基于院校的订餐系统,因此可以完成对于菜品管理,也可以进行扩展,将系统扩展到通用,能够适合一般的订餐管理。
6.4 测试过程
在网站运行时按照需求分析逐项进行测试系统各模块功能。先通过单元(单独模块)测试,再经过集成测试(各模块间联系与交叉测试)和边界数据的测试,最后整个系统的完全测试。通过系统的整体测试,及时发现设计过程中的错误和缺陷,对一般的模块错误进行修改,对结构性方面的问题及时调整。以使整个系统逐步走向规范和强壮。
6.5 测试结果
整个测试经过上面所述的单元测试、集成测试、系统测试三个步骤,逐步趋向完成。但由于时间方面的原因,还有可能存在的错误没有能被发现,因此只能说是所有功能模块工作基本正常,初步达到了预期设计的要求。
第7章 系统的维护
订餐系统建好后, 如果不能正确配置网站的安全设置, 不但无法保证数据和程序的安全, 而且也会影响网站的正常使用。所以, 系统网站的安全维护至关重要。
7.1 通过权限设置维护网站安全
可采用下面几种权限来维护网站安全:
1) 为提高网站安全性, 可以通过NTFS 访问ASP.NET 应用程序文件。NTFS 权限是
Web 服务器安全性的基础,它定义了一个或一组用户访问文件和目录的不同级别。
2) 可以通过配置Web 服务器的权限来限制所有用户查看、运行和操作页面的方
式。不同于NTFS 的权限控制方式,Web 服务器权限应用余所有用户,并且不区分用户账号的类型。
3) 可以设置有效的Windows NT 账号和密码,当用户试图访问被限制内容时,Web
服务器将进行身份验证,检查用户是否拥有有效的Windows NT账号。
4) 可以使用客户资格登录控制用户对ASP.NET 应用程序的访问。客户资格是包
含用户身份信息的数字身份证,它的作用与传统的诸如护照或驾驶执照等身份证明相同。
7.2 存在的安全漏洞
通过Web 服务器或程序的漏洞,可以入侵Web 服务器。为防止Web 服务器收到攻击,下面列举了一些和ASP 有关的安全漏洞和防范方法
7.2.1 IIS 漏洞
在IIS 环境下运行ASP 程序,有以下几种方法可以看到ASP.NET 的源代码。 ● 在浏览器地址栏内多加一个小数点。
● 在ASP.NET 的URL 后多架::$DATA、%81或%2e。
● 替换ASP.NET 文件的文件名和扩展名之间的点为%2e%。
● 使用IE 的查看源代码功能。
解决方法有如几种:
● 将目录设置为不可读。
● 安装Microsoft 提供的补丁程序。
● 在服务器上安装高版本的IIS 。
7.2.2 数据库可能被下载
如果ASP.NET 程序被下载,下载者很容易知道数据库的存放位置并下载它。一旦数据库中含有很重要的数据,就很危险了。通过下面几种方法可以保护网站数据库的安全。
◆ 在IIS 中设置允许下载文件的类型来保护数据库文件。
◆ 可以修改数据库文件名和文件类型。
◆ 将数据库文件存放在不容易被发现的多层文件夹中。
◆ 加密数据库和数据库中的数据。
◆ 修改数据库头文件。
7.2.3 来自FileSystemObject 的威胁
IIS 的ASP.NET 文件操作可以通过FileSystemObject 实现,但利用FileSystemObject 可以篡改和下载FAT 分区上的任何文件。管理员应该尽量讲Web 目录建在NTFS 分区上,Web 目录和非Web 目录设置只有管理员才可以完全控制。
7.2.4 ASP.NET 应用程序可能面临的攻击
如果网站的ASP.NET 程序没有把””标记过滤,则可以在ASP.NET 程序中写入一些可执行的ASP.NET 代码,通过这些程序可以删除服务器上的一些重要文件。
7.3 完善安全防范措施
为使WEB 服务器安全可靠的运行,下面给出完善网站安全的一些措施:
● 修补已知的Windows 安全漏洞,并及时安装补丁程序。使用最新版本的
Microsoft Internet Information Server,并安装操作系统最新本本的补丁程序。
● 如果服务器的文件系统是FAT 格式,应修改服务器的文件系统为NTFS 。
把IIS 中的 Sample、Scrips 、IISadmin 和MSAdc 等Web 目录设置为禁止匿名访问并限制IP 地址。
● 修改管理员的账号,账号和密码尽量设置的复杂一些,对账号建议使用特殊
字符。
● 如果网站使用数据库为SQL Server 2000,则应将数据库名称设置的复杂一些,
扩展名也应该为其他扩展名。
● 把FTP 、Telnet 的TCP 端口改为非标准端口,通常设置在10 000~65 000的
范围内。
● 重要目录要用NTFS 的特性设置详细的安全权限。
● 采用IIS 提供的SSL 安全通信机制来防止数据在网上被截获。
● 文件上传目录在IIS 设置为只读权限,无执行权限。
● 不要让服务器端的错误信息发送到客户端上。
● 删除可以删除的所有共享,包括打印机共享和隐藏的共享如:ICP$、Admin$等。 ● 将ASP.NET 的目录集中,对ASP.NET 的程序目录设置详尽的访问权限,一般
建议不要使用“读”权限。
● 及时备份数据,尤其是数据库数据。
● 只运行需要的服务,禁止搜游不应该打开的端口。
● 安装防火墙。
结 论
近几年来,随着高校计算机体系的发展,一些大学纷纷开始对订餐系统进行开发研究。用ASP.NET 和数据库技术相结合的方法实现网上订餐系统,可以方便快捷完成以往需要大量人力的繁杂工作,极大地方便了管理。系统设计和实现思路,可以借鉴到其他Web 应用中,甚至代码都可以通过小小的改动而完成其他功能。整个系统完全可以完善成为一套功能强大的网上订餐系统,实现菜品信息快速、及时的发布和管理。开发其他同类管理软件时也可以参考该系统软件的开发思想和方法。
虽然此订餐系统远不及其他的系统功能强大,但已能基本解决订餐系统所涉及的问题。而不同系统之间的差异还是很大,本系统只能着重解决一些选菜的基本问题,系统开发完成后在实际运行过程中需要的手工修改仍很大,但是对于网络通用性还比较强,只是在服务器上面采用的数据库是SQL Server 2000,可能在应用实际的时候服务器的负担会相应的重些。这样的话在用户同时选菜的时候,就经常会出现一些无法访问的页面。这些问题都是当前国内的订餐系统所面临的问题。由于时间、条件和个人技术能力局限的关系,我的订餐系统还需要大家的帮助补充,使之日臻完善起来,为各高校的校园订餐工作贡献一份力量。
设计体会
在本次设计的全过程中,我对大学四年所学的知识有了一个比较系统的认识和理解。涉及了各方面的知识,大大扩展了我的知识面,同时使我学会了如何使用所学的知识去解决一些实际的问题。
在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到实践中去,多做多练,才可以把理论的精华发挥出来。知识不是知道、了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。
通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,才能使工作做得更为出色。通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。即将毕业我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,仍然存在很多的不足之处,恳请老师多多指教!当今的社会是竞争的社会,而人才的竞争则是竞争的焦点,毕业设计对于我们即将离校的同学来说,是离校前很好的一次锻炼,使我们各方面的能力都有了很大的提高,为我们踏出校门,走上社会增强了能力与自信!
致 谢
首先非常感谢长春建筑学院给予我人生中最宝贵四年的培养,感谢授课的各位老师,老师们治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的学习氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,使我不仅接受了全新的思想观念,领会了基本的思考方式,掌握了灵活的学习方法,而且还明白了许多待人接物与为人处世的道理。我无法用准确的语言来表达感谢之情,只好将它化作一道虔诚的祝福:愿您们工作顺利,一生平安。
我特别感谢刘舒婷老师在设计过程中给予的悉心指导及在设计期间对我的严格要求。在设计期间刘舒婷老师帮我理清设计思路,指导操作方法,并对我所做的课题提出有效的改进方案。老师渊博的知识、严谨的作风、诲人不倦的态度和学术上精益求精的精神让我受益终生。
另外,还要感谢身边朋友的热心帮助,感谢他们对我的信任和支持,没有他们的支持与关心,就没有我今天的毕业设计。
最后,我要特别感谢我的家人。他们对我影响至深,一直默默地支持我的成长道路,对我的学习也给予了极大的鼓励与帮助。平凡而伟大的亲情如此执着,今后我将竭尽所能,加倍补偿这份一辈子也还不清的深情。
参考文献
[1] 陈卫卫编著,《C/C++程序设计教程》[M],北京希望电子出版社,2002年5月
[2] 张海藩编著,《软件工程导论》(第5版),清华大学出版社,2008年1月
[3] 段爱玲、杨丽华、于桂玲、陈沛强等编著,《数据库原理及应用》[M],北京邮电大学出版社,2010年8月
[4] 刘彦舫、褚建立等编著,《电子商务概论》,电子工业出版社,2007年
[5] 马俊主编著,《C#网络应用编程基础》[M],人民邮电出版社,2006年10月
[6] 刘强著编著,《清华大学计算机系网络课程-软件工程》,清华大学出版社,2009年6月
[7] 陈伟、卫琳、唐国良、周飞菲等编著,《ASP .NET 3.5 网站开发实例教程》[M],清华大学出版社,2009年3月
[8] 邝孔武、王晓敏等编著,《信息系统分析与设计(第三版) 》; 清华大学出版社,2006年5月
[9] 卫琳、周飞菲、王军委等编著,《SQL Server 2008数据库应用与开发教程》(第二版),清华大学出版社,2011年6月
附 录
各页面功能分配:
● W eb.Config :数据库连接的基本信息。
● S tyleSheet.css :层叠样式表文件,定义页面风格。 ● D efault.aspx: 系统首页,系统公告页面。
● c aipin_add.aspx:添加菜品页面。
● c aipin_detail.aspx:菜品详细页面。
● c aipin_list.aspx:所有菜品信息列表页面。
● c aipin_updt.aspx:修改菜品页面。
● c aipinlist.aspx :菜品展示页面。
● d ianjia_add.aspx:添加热卖推荐页面。
● d ianjia_list.aspx:所有热卖推荐信息列表页面。 ● d ianjia_updt.aspx:修改热卖推荐页面。
● d ianjialist.aspx :热卖推荐页面。
● d ingcaijilu_add.aspx:添加订餐记录页面。
● d ingcaijilu_list.aspx:所有订菜记录信息列表页面。 ● d ingcaijilu_list2.aspx:我的订菜记录信息列表页面。 ● d ingcaijilu_updt.aspx:修改订菜记录页面。
● d ingcaijiluadd.aspx :订菜菜品详细页面。
● e dituser.aspx :添加用户页面。
● g g_add.aspx:新闻内容添加页面。
● g g_list.aspx:站内新闻列表页面。
● g g_updt.aspx:修改新闻内容页面。
● g gdetail.aspx :新闻详细页面。
● h supfile.aspx :上传文件页面。
● l isuser.aspx :系统管理员用户页面。
● l ogin.aspx :后台登陆页面。
● l yb.aspx :在线留言页面。
● l yb_gl.aspx:在线留言详细页面。
● l yb_hf.aspx:回复留言页面。
● m od.aspx :修改密码页面。
● n ews.aspx :新闻列表页面。
● s y.aspx :标语页面。
● t op.aspx :后台信息框架页面。
● u serreg.aspx :用户注册页面。
● y onghuzhuce_add.aspx:添加用户注册页面。
● y onghuzhuce_list.aspx:所有用户注册信息列表页面。 ● y onghuzhuce_updt.aspx:修改用户注册页面。
● y onghuzhuce_updt2.aspx:用户修改个人资料页面。 ● y ouqinglianjie_add.aspx:添加友情链接页面。
● y ouqinglianjie_list.aspx:所有友情链接信息列表页面。 ● y ouqinglianjie_updt.aspx:修改友情链接页面。