版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要:互联网的出现给了人们一个全新的、不受空间和时间限制的充满无限可能性的平台与媒介。在大学校园内,大学生也同样倾向于依赖互联网进行日常生活的方方面面。由于传统的校园餐厅运营方式存在例如排队麻烦、餐厅位置拥挤或其它原因。为了方便学生在校园内订餐,针对以上问题并结合利用网络的实时性、方便性、多样性、无空间限制等特点设计了校园网上订餐系统。本文以大学校园网上订餐系统为切入点,详细的分析了大学校园网上订餐系统的发展前景、功能用途等需求。大学校园网上订餐系统的设计与开发,是通过用户查看菜品,加入购物车,并将相关数据存入数据库的行为,是基于ASP.NET技术构建,采用Browser/Server架构,以SQLServer数据库为核心,并利用VisualStudio作为系统开发平台。该系统主要实现了查看菜品信息、订购菜品、查看订单信息、常点菜品、浏览校园资讯等功能,主要优势是有订餐的新模式,为在校学生提供了方便快捷的订餐方式和丰富的菜品选择,只需通过手机或电脑即可进行点餐,无需亲自前往餐厅或排队等候,大大节省了时间和精力。最后本文部署了平台的测试环境以及对所开发的平台进行了系统功能、数据等的测试。关键词:校园订餐,ASP.NET,B/S,SQLServer,网上订餐系统
Abstract:TheadventoftheInternethasgivenpeopleanewplatformandmediumfullofinfinitepossibilitiesthatarenotlimitedbyspaceandtime.Oncollegecampuses,collegestudentsalsotendtorelyontheInternetforallaspectsoftheirdailylives.Duetothetraditionalwayofoperatingacampuscafeteria,suchasqueues,crowdedrestaurantlocations,orotherreasons.Inordertofacilitatestudentstoordermealsoncampus,thecampusonlineorderingsystemwasdesignedinviewoftheaboveproblemsandcombinedwiththereal-time,convenient,diverse,andnon-spacerestrictionsofthenetwork.Thispapertakestheuniversitycampusonlineorderingsystemasthestartingpoint,andanalyzesthedevelopmentprospectandfunctionaluseoftheuniversitycampusonlineorderingsystemindetail.Thedesignanddevelopmentoftheonlineorderingsystemontheuniversitycampusisbasedonthebehaviorofusersviewingdishes,addingthemtotheshoppingcart,andstoringrelevantdatainthedatabase,whichisbasedonASP.NETtechnology,usingBrowser/Serverarchitecture,SQLServerdatabaseasthecore,andusingVisualStudioasthesystemdevelopmentplatform.Themainadvantageofthesystemistohaveanewmodeofordering,providingstudentswithaconvenientandfastwaytoordermealsandarichselectionofdishes,justthroughthemobilephoneorcomputercanbeordered,noneedtogototherestaurantorwaitinline,whichgreatlysavestimeandenergy.Finally,thispaperdeploysthetestenvironmentoftheplatformandteststhesystemfunctionsanddataofthedevelopedplatform.Keywords:CampusOrdering,ASP.NET,B/S,SQLServer,OnlineOrderingSystem
目录TOC\o"1-2"\h\z\u1绪论 11.1系统开发的背景 11.2国内外研究现状 11.3系统开发目的 11.4系统开发意义 22系统开发工具介绍 22.1B/S架构简介 22.2C#简介 32.3SQLServer2008简介 32.4ASP.NET技术简介 42.5系统开发环境 43系统分析与设计 43.1系统功能性分析 43.2系统功能结构图 63.3系统架构分析 63.4系统流程分析 73.5系统非功能性分析 104系统设计与实现 114.1数据库设计 114.2用户前端系统的主要模块设计与实现 184.3后台系统的主要模块设计与实现 265系统的测试 305.1系统测试概述 305.2测试环境与结果 31总结与展望 33参考文献 34致谢 351绪论1.1系统开发的背景21世纪的人类已经进入了高度信息化的社会,以计算机与现代通信技术结合的结合为标志的第五次信息技术革命,正在不断影响和改造人们的生活与工作方式。在信息技术飞速发展的今天,每个行业都在审视自身是否充分的利用了信息技术的优势来提升自身的业务能力。人们在选取信息获取的渠道上都开始倾向于主要依赖于互联网而逐渐摒弃传统的信息获取模式,因此,能否有效的利用互联网来提供自己的服务成为信息时代大家普遍关注的问题[1]。俗话说“民以食为天”,社会上的人们由于工作繁忙或其他原因,所以传统的堂食就餐方式已无法满足需求。现代的年轻消费者热衷于利用网络选择自己所需的食品,这也使得网上订餐服务发展迅速。虽然方便快捷,但很难保证食品安全,且由于高校的特殊性,外卖无法送进校园[2]。在大学校园内,也存在相似的问题。大学校园网上订餐系统将给学生为主体的消费者提供简洁便利的服务平台,不仅满足大学生的订餐需要,还可以提高校园餐厅的服务效率和推广手段。1.2国内外研究现状在我国,人们由于社会高度信息化,使社会节奏加快,进而导致了更高的工作压力和竞争。社会上的人们由于工作繁忙或其他原因,所以传统的堂食就餐方式已无法满足需求。特别是现代年轻消费者对于方便、快捷方式有着强烈的追求,这也使得网上订餐服务飞速发展。国内互联网巨头也充分利用了网络的实时性、方便性、多样性、无时间和空间限制等特点开发了诸如美团、饿了吗、大众点评、闪送等生活中常见的外卖平台。许多学校已经开始尝试引入线上订餐系统以改进传统的食堂就餐模式。这些系统通常采用成熟的编程语言进行开发,并结合相应的框架实现快速搭建和灵活扩展。同时,国内开发者还在不断探索新的技术手段和商业模式,以推动高校订餐系统的持续优化和创新发展。这些系统提供了丰富多样的菜品种类,满足了学生对不同口味的需求,并且提供了便捷的下单和支付方式,使学生可以随时随地选择自己喜欢的菜品下单并完成交易[3]。在国外,尤其是欧美地区的高校,线上订餐服务同样非常普及。许多学校通过与第三方外卖平台合作或自主研发线上订餐系统来满足学生的需求。这些系统更注重于自由化和专业化,并且在技术选型上倾向于使用特定的编程语言和框架。此外,国外的网上订餐系统还注重餐厅预订方面,例如OpenTable这样的系统,可以实时反映餐厅当前容量和座位使用情况,为用户提供便捷的预订服务。从最新统计的数据来看,美国的餐饮消费者对于通过因特网进行网上订餐的形式来购买自己所需的食品越来越热衷,尤其是新生代的年轻消费者。数据可以说明一切,想在未来竞争中立于不败之地的餐饮业务势必需要尽早将通过因特网进行食品销售作为扩大收入的一个有效途径[4]。1.3系统开发目的互联网的迅速发展在人们面前出现了一个全新的、不受空间和时间限制的充满无限可能性的领域[5]。21世纪的人类已经进入了高度信息化的社会,互联网技术的高速发展使得人们的生活方式发生了巨大的变化。特别是在大学校园内,大学生更倾向于依赖互联网进行日常生活的方方面面。由于传统的校园餐厅运营方式存在例如排队麻烦、餐厅位置拥挤或其它原因,所以大学校园网上订餐很有可能成为大学生一种常见的生活方式。1.4系统开发意义致力于开发一个大学校园内的网上订餐系统,一方面能给大学生提供一种相对于传统堂食来说更加方便、快捷的生活方式,另一方面也能够为校园餐厅提供良好的经济效益和运营效率。我设计的网上订餐系统,面向的客户主体为学生,学生可以在系统中注册账号,并登录进入系统就可以订餐了。学生可以在系统上查看餐厅提供的菜品,了解菜品的样式、口味、价格和评价等信息。在系统中选择自己想要订购的菜品,填写自己的相关信息并提交订单,完成订餐。2系统开发工具介绍2.1B/S架构简介B/S架构即浏览器和服务器架构,在Web技术迅速发展的今天,B/S架构也成为当下相当流行的系统架构之一[6]。在这种架构中,大部分事务逻辑集中在服务器端(Server)来处理,仅有少部分事务由前端(Browser)来实现,具有较强的集中性。与传统的客户端/服务器架构相比,浏览器和服务器架构不需要去专门为客户端设计复杂的程序,这样使得浏览器和服务器架构得客户端部署和维护的成本相对来说更加经济。此外,浏览器和服务器架构也展现出了很好的扩展性[7]。只要有一台能够上网得电脑,然后后台管理员再分配一个允许使用的权限,就可以直接使用浏览器在Web服务器上实现与数据库的交互。以本文的大学校园网上订餐系统为例,在前端界面,用户只需要使用Web浏览器即可进行访问,实现查看菜品信息、加入购物车、查看订单、修改个人信息等操作。而对菜品管理、订单管理、用户管理、用户评论管理、校园资讯管理等核心业务逻辑则在服务器端完成。B/S架构体系图如下图2-1所示。图2-1B/S架构图2.2C#简介C#是微软在2000年发布的一种编程语言,它在C和C++语言的基础上,融合了这两种语言的高操作效率。作为一种在.NET环境下开发的编程语言,C#更加稳定、可靠、简洁、强大且现代,它采用面向对象的编程范式[8]。尽管C#源于C和C++,继承了它们的语言风格和强大功能,但C#却实现了青胜于蓝的进化,通过去除前两者中令人困惑的语法元素(如指针和宏)。然而,C#依然保留了需要传递指针参数的API交互能力,通过Delegate或“代理”机制,模拟了类似C/C++语言的指针功能。C#采用虚拟机,无需手动清理存储空间,这使得它在内存管理上更加便捷[9]。在语法和代码编译执行过程上,C#与Java颇为相似,两者都是面向对象的编程语言。但C#在源文件命名上更加灵活,不受类名的限制,并提供了操作符重载功能。此外,C#的基本数据类型和包装类型之间可以自动转换,方法可以被隐藏,子类方法可以优先调用[10]。在继承方面,C#仅支持单继承(如需实现多继承需通过接口),即一个派生类不会有多个基类,这有效地避免了因类型定义混乱而可能引发的问题。2.3SQLServer2008简介数据库管理系统(DatabaseManagementSystem)顾名思义就是用来实现数据定义、数据操纵、数据库的管理与维护等功能的。数据库系统还包括能够面向一个或多个用户,能够在同一时间或不同时间处理数据库里的数据的数据库应用程序[11]。特别在如今数字信息急剧增长的时代,利用好数据库管理系统往往能达到事半功倍的效果。SQLServer2008是微软公司推出的一款关系型数据库管理系统——擅长于高效组织、保存和管理数据处理过程中积累的数据信息[12]。该系统具备直接存储结构化、半结构化和非结构化文档数据至数据库的能力,为数据管理提供了极大的便利。且由于其支持Windows和SQLServer的集成安全性,以及提供了如主键(PrimaryKey)、外键(ForeignKey)、检查约束(CheckConstraint)、唯一约束(UniqueConstraint)等多种机制,确保了数据的安全性和完整性[13]。SQLServer2008的用户界面(SSMS)也十分简洁直观,用户可以很方便的查看和了解数据库资源、服务器配置等信息[14]。以本文的大学校园网上订餐系统为例,正是将服务端代表不同信息的数据存储到由SQLServer2008创建的数据库中的多个数据表中,用户才可以使用Web浏览器与数据库进行交互。2.4ASP.NET技术简介ASP.NET(ActiveServerPage.NET)是微软公司开发的一种基于.NETFramework的网络编程技术。因其灵活的适用性和提供了大量功能强大的服务器控件,开发者可以在几乎所有的WEB应用程序中使用。而且只要开发者所使用的编程语言能够被编译成中间语言MSIL(MicrosoftIntermediateLanguage),在ASP.NET应用中均支持使用[15]。ASP.NET的基本工作原理为:用户在客户端向服务器端发送请求,服务器接收到请求并通过运行ASP.NET来处理,最后生成页面请求结果送出到客户端。以本文的大学校园网上订餐系统为例,本系统就是使用了由表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)组成的三层式软件体系架构,和使用ASP.NETMVC(ModelViewController)设计模式来细化表现层(UI)的相结合的技术。2.5系统开发环境硬件:GPU:Intel(R)Core(TM)i7-10750HCPU@2.60GHz(2592MHz)内存:16.00GB硬盘:516GB软件:操作系统:Windows10开发工具:MicrosoftVisualStudio数据库:SQLServer开发语言:ASP.NET架构:B/S架构3系统分析与设计3.1系统功能性分析本系统实现一个校园网上订餐网站,分为用户前端和后台系统两大模块。以下是详细的功能说明:在用户前端模块,主要功能有:首页展示功能:整个前端的显示,各个功能模块的导航链接。2.用户登录与注册:用户通过输入账号密码登录,没有也可以自行注册账号,就可以登入系统进行菜品的订购了。3.菜品浏览:根据个人喜好通过主界面的菜品分类选择自己喜欢的菜品,也可以通过搜索框搜索想要的菜品。4.购物车功能:在选择自己心仪的菜品后,可以添加至自己的购物车,既可以在确认个人信息无误后直接下单,也可以继续购物;未下单的菜品既可以单独删除也可以直接清空整个购物车。5.订单信息:可以在用户信息下面查看不同状态的订单,也可以对已经发货的订单进行评价。6.用户信息:可以查看和修改自己的信息,查看自己常点菜品,以便于订购菜品。7.关于我们:通过展示校园资讯,让用户了解餐厅的各种活动。以及后台系统的导航链接。用户前端的用户用例图如下图3-1所示:图3-1用户用例图在后台系统模块,主要功能有:1.用户管理:管理员可以在后台系统中对已有的用户前端的用户信息进行管理,可以对页面已有的用户信息进行删除、修改、查询操作,也可以通过编辑器新增用户。2.菜品管理:管理员可以查看已有的菜品类别和单个菜品的信息,可以对页面已有的菜品类别或单个菜品信息进行删除、修改、查询操作,也可以通过编辑器新增菜品内容。3.订单管理:管理员可以查看订单信息,并安排是否发货。4.评论管理:用于管理员对用户前端的菜品评论管理5.资讯管理:对餐厅上传的新闻信息进行更新或更改,可以通过编辑器新增新闻资讯相关的知识。6.系统设置:可以通过赋予角色不同的权限访问,来设置管理员和超级管理员。7.置顶消息管理:即对用户前端主页轮播图的管理,管理员既能查看已有的置顶消息,又能对页面已有的置顶消息进行删除、修改、查询操作,也可以通过编辑器新增置顶消息,来改变用户前端主界面轮播图的内容。以上功能均支持报表的生成、打印和输出功能。在后台系统的管理员用例图如下图3-2所示:图3-2管理员用例图3.2系统功能结构图通过对系统功能的分析,可以得出本系统的功能结构图,如下图3-3所示:图3-3系统功能结构图3.3系统架构分析大学校园网上订餐系统总共由五层组成:表现层主要负责与用户进行交互,展示界面信息并接受用户输入。在前端UI界面设计中,我们运用了JS/CSS样式和HTML等关键技术,确保界面呈现的美观与功能完善。同时,引入AJAX技术,有效实现了与业务层的通信,从而实现了数据的实时更新,提升了用户体验。业务层使用ASP.NETMVC(ModelViewController)设计模式,接收表现层中用户通过前端访问向服务器端发送的请求,调用数据层接口进行数据操作,并返回处理结果给表示层。实现用户管理、订单管理、用户管理、菜品管理、评价管理等核心功能;数据层主要作用一是向业务层提供接口以便于其进行数据操作,二是与数据库层进行交互,实现对数据的增删改查;数据库层存储了大学校园网上订餐系统的代表各类信息的数据;运行环境层主要分为服务端所依赖的IIS轻量级Web服务器和客户端所依赖的Web浏览器。本系统的架构图如下图3-4所示:图3-4系统架构图3.4系统流程分析3.4.1用户登录与注册主要设计思想是:用户要想进入本系统,必须登入自己的账号进行身份验证,系统会根据数据库里的数据判断是否相符。如果没有可以进行注册。在注册界面,可以根据系统给出的提示,填写自己的信息后完成注册,系统在发出提示后自动返回登入界面并将数据写入数据库。如果账号、密码或验证码其中有一个输入错误,系统会弹窗提示并要求用户重新填写;若登入成功,即可进入系统,可以选择进入菜品浏览、购物车、查看订单、个人信息等功能界面。具体流程如下图3-5所示:图3-5用户系统流程图3.4.2用户浏览与订购菜品用户在浏览系统主界面时,选择或者搜索自己想要的菜品,然后点击加入购物车,即可以直接计算也可以再返回系统主界面继续浏览菜品,最后合并。一起结算。用户浏览与订购菜品的活动图如下图3-6所示:图3-6用户浏览和订购菜品活动图3.4.3用户提交订单用户在主界面选购菜品后,可以将所选的单个或多个菜品加入到购物车中。提交订单后系统会自动弹出确认信息,再确认信息无误后即完成订购。在后台管理员会收到订单信息,处理发货。用户提交订单的活动图如下图3-7所示:图3-7用户提交订单活动图3.4.4后台系统后台系统的主要设计思想为:如果要想进入本系统,必须先登入自己的账号进行身份验证,系统会根据数据库里的数据判断是否相符。如果账号、密码或验证码其中有一个输入错误,系统会弹窗提示并要求用户重新填写;若登入成功,即可进入后台系统。后台系统的流程图如下图3-8所示:图3-8后台系统流程图3.4.5管理员对菜品的增加与删除在后台系统中,管理员可以对数据库中的菜品信息进行管理。当需要增加菜品时,需要先进入增加菜品界面;然后输入菜品的名称,选择菜品所属的类别,以及对菜品的介绍;最后点击提交,就完成对菜品的增加操作;当想要删除单个菜品时,可以在单个菜品信息右侧直接点击删除按钮,批量删除菜品时,可以通过复选框选择多个菜品再点击顶部删除按钮,最后再点击刷新。在查看菜品已删除并确认数据无误后即可完成删除操作。菜品增加与删除的时序图如图3-9所示:图3-9菜品的增加和删除时序图3.5系统非功能性分析3.5.1系统可行性分析可行性分析是基于项目的主要内容和围绕项目的诸多因素,通过采用大量的数据论证,在较短的时间内评估项目的可行性的一种复合性的系统分析手段。通过可行性分析,可以更早地发现并解决项目可能存在的潜在风险,并帮助决策者做出更好的选择[16]。因此,对可行性的研究也是项目研究的重要基础。以下是我就大学校园网上订餐系统的可行性展开的对技术、操作、经济方面的分析:1.技术可行性大学校园网上订餐系统通过ASP.NET技术构建,基于Browser/Server架构和SQLServer数据库,并使用VisualStudio作为系统开发平台。就软件方面来说,以现有使用的技术开发该系统是可行的。在硬件方面,基于B/S架构的特性,在对大学校园网上订餐系统网站的设计时并不需要极高的PC配置,只需要能够满足最基本的界面设计和编写代码并且保证它们能够正常运行就可以了。但在对服务器的选择上有较高的安全性要求,同时也要保障网络的稳定。2.经济可行性大学校园网上订餐系统开发的初衷就是为了提升餐厅的运营效率,来提升经济利益。而且仅需要一台计算机就可以实现对系统的开发以及后续的维护,所以不会产生额外的费用。从经济上看,我认为该系统是可行的。3.操作可行性大学校园网上订餐系统结合了当今大学生对于计算机丰富的使用经验,设计了美观简洁,功能明确直观的客户端界面,能够给以大学生为主体的用户较好的使用体验;通过设计前后台系统,也使得操作的更加高效;管理员可以在后台系统中实时的查看餐厅的具体数据。3.5.2系统性能分析大学校园网上订餐系统是由大学餐厅与Web技术组成的产物。大学校园网上订餐系统设计的初衷就是为了提升餐厅的运营效率,来提升经济利益,以及给校园内的大学生们一种更加方便快捷的订餐方式。以下是根据大学校园网上订餐系统的性能特点展开的分析:1.准确性:准确性的确保是大学校园网上订餐系统正常运行和提供良好服务的基础。系统可以正确地捕捉、存储和处理关键信息,以支持不同的操作需求。2.实效性:从大学校园网上订餐系统的设计、系统的功能分析、系统的流程分析、系统开发,最后到系统的整体实现,会根据实际情况及时的调整或更新系统的相关模块,以适应新的需求。3.安全性:大学校园网上订餐系统的服务器与数据库必须达到高安全标准,有效防御恶意攻击,保护信息不被泄露,确保系统免受非法入侵。4.易用性:大学校园网上订餐系统的前端界面设计美观简结,功能清晰。使用操作流畅,能够给予使用者良好的操作体验。后台系统功能强大,管理员可以针对性的对餐厅的各项数据进行操作。5.稳定性:大学校园网上订餐系统在运行过程中流畅稳定,没有发现Bug,系统的各个功能模块反应迅速。4系统设计与实现4.1数据库设计数据库管理系统,开发和设计的整个过程,一般而言概括为以下六个阶段。第一阶段的用户需求分析,主要目的是更精确地掌握应用的实际需要;二阶段是概念架构的设计,主要目的是如何利用E-R概念模型,独立于特定的DBMS模型来完成设计;第三个阶段是逻辑架构的设计,主要利用实体-联系的转换方式,来设计对一个DBMS逻辑模块的优化;第四部分是设计物理结构,主要是选择最合适的路径为数据库系统服务;第五阶段是实施阶段,主要包括对数据库进行创建、设计并运行测试应用程序、将数据组织入库等步骤;最后一个阶段是对数据库的最终运行以及维护,可以在正式运行过后进行部署,并在使用过程中,不断地对数据库进行修改、完善以及调整[17]。4.1.1数据库需求分析基于大学校园网上订餐系统的需求分析,本系统主要服务于校园内的学生群体。我们遵循以下原则进行数据库设计:1.用户和管理员分别通过独立系统登录,进入各自界面,互不干扰。2.用户具备修改自身个人信息的权限。3.用户能够浏览菜品详情。4.用户可查看个人的订单信息。5.管理员能够增加新菜品。6.管理员需登录后台管理系统才能对系统实施管理。7.管理员负责管理用户、菜品及订单等信息。本系统采用了SQLServer数据库作为数据存储和管理的基础。在数据库设计中,我定义了多个数据表,包括菜品类别表、评价表、菜品表、校园咨询表、置顶消息表、管理员表、系统项目表、订单表、系统用户表和管理员角色表。这些表相互关联,共同支撑系统结构和功能逻辑:1.菜品类别表用于管理菜品的分类,确保菜品能够有序地归类展示。2.评价表则用于存储用户对菜品的评价,反映了菜品的质量和服务水平。3.菜品表详细记录了每个菜品的属性,如名称、价格、描述等,方便用户浏览和选择。4.校园咨询表用于发布校园内的新闻和动态,为用户提供及时的信息更新。5.置顶消息表则用于发布实时的消息和活动,确保重要信息能够优先展示。6.管理员表用于存储管理员的登录信息和管理权限,确保系统的安全性。7.系统项目表则用于记录整个系统的项目信息和配置,方便系统维护和管理。8.订单表详细记录了用户的订单信息,包括订单号、下单时间等,为订单处理提供了数据支持。9.用户表则用于存储用户的个人信息和登录凭证,实现了用户的注册、登录后身份验证功能。10.管理员角色表用于定义和管理不同的管理员角色及其权限。4.1.2数据库概念结构设计E-R图中可以表明各类实体、实体的属性,以及实体间的各种联系[18]。根据大学校园网上订餐系统的数据库需求分析,可以规划出实体有、菜品、菜品类别、订单、购物车、管理员。一个宠物店会员可以由多个宠物店管理员进行管理;一个菜品可以被多个用户订购,一个用户也可以订购多个菜品;一个管理员可以管理多个菜品,一个菜品也可以由多个管理员管理;一个用户只能对应一个购物车,一个购物车可以包含多个菜品;一个用户可以发布多个订单,一个订单只能有一个订单明细;一个菜品有一个菜品分类,一个菜品分类可以有多个菜品;一个用户可以进行多次评价,一条评价也可以被多个管理员管理。关系图如图4-1-1、4-1-2所示:图4-1-1数据库E-R关系图图4-1-2数据库E-R关系图菜品实体包含的属性有菜品id、名称、图片、类别、菜品描述和价格。菜品实体属性图如下图4-1-3所示:图4-1-3菜品实体属性图评价实体包含的属性有用户id、用户名、菜品名称、菜品类别,评论内容和打分。评价实体属性图如下图4-1-5所示:图4-1-4评价实体属性图订单实体包含的属性有订单编号、用户id、菜品id、菜品图片、菜品名称、购买数量、价格、状态和下单时间。订单实体属性图如下图4-1-5所示:图4-1-5订单实体属性图用户实体包含的属性有用户ID、用户名、密码、姓名、性别、手机号码、和地址信息。评价实体属性图如下图4-1-6所示:图4-1-6用户实体属性图4.1.3数据库逻辑结构设计根据系统的需要建立出如下的数据结构表:1.如4-1菜品类别表(Category),表中的字段分别有Id(主键)、Name(菜品名称)、AddTime(添加日期)。表4-1菜品类别表(Category)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2Namenvarchar32菜品名称3Addtimedatetime/添加日期2.如表4-2评价表(Comment),表中的字段分别有Id(主键)、UserId(用户Id)、UserName(用户名)、FoodId(菜品Id)、Context(评价)、Stars(打分)、AddTime(添加日期)。表4-2评价表(Comment)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2UserIdint0用户Id3UserNamevarchar32用户名4FoodIdint0菜品Id5Contextvarchar256是评价6Starsint0是打分7AddTimedatetime/添加日期3.如表4-3菜品表(Food),表中字段分别有Id(主键)、Name(菜品名称)、Img(图片)、CategoryId(菜品类别Id)、Descriptions(描述)、Price(现价)、Originalprice(原价)、AddTime(添加日期)。表4-3菜品表(Food)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2Namevarchar64菜品名称3Imgvarchar64是图片4CategoryIdint0菜品类别Id5Descriptionsnvarchar256是描述6Pricedecimal/现价7Originalpricedecimal/是原价8AddTimedatetime/添加日期4..如表4-4校园资讯表(Infomation),表中字段分别有Id(主键)、Title(标题)、Author(作者)、Img(图片)、Summary(介绍)、SummaryContent(内容)、State(状态)、PubTime(发表日期)、AddTime(添加日期)。表4-4校园资讯表(Infomation)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2Titlenvarchar256标题3Authornvarchar64是作者4Imgvarchar64是图片5SummarynvarcharMax是介绍6SummaryContentnvarcharMax是内容7Statevarchar16状态8PubTimedatetime/是发表日期9AddTimedatetime/添加日期5.如表4-5置顶消息表(NewsImg),表中字段分别有Id(主键)、Title(标题)、Url(链接)、Img(图片)、State(状态)、Sort(顺序)、AddTime(添加日期)。表4-5置顶消息表(NewsImg)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2Titlevarchar64标题3Urlvarchar256是链接4Imgvarchar64图片5Statevarchar16状态6Sortint0顺序7AddTimedatetime/是添加日期6.如表4-6管理员表(SysAdmin),表中分别有Id(主键)、UserName(账号)、Pwd(密码)、AddTime(添加日期)。表4-6管理员表(SysAdmin)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2UserNamevarchar32账号3Pwdvarchar32密码4Addtimedatetime/添加日期7.如表4-7系统项目表(SysMenue),表中分别有Id(主键)、Name(名称)、Icon(按钮类型)、Url(导航链接)、Code(状态)、State(行为)、ParentId(父节点)[Level](等级)、Sort(类别)、Path(路径)。表4-7系统项目表(SysMenue)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2Namevarchar32名称3Iconvarchar64是按钮类型4Urlvarchar128是导航链接5Codevarchar64状态6Statetinyint0行为7ParentIdint0父节点8[Level]int0等级9Sortint0类别10Pathvarchar256是路径8.如表4-8用户表(SysUser),表中分别有Id(主键)、UserName(账号)、Pwd(密码)、TrueName(真实姓名)、Sex(性别)、Tel(电话)、Integral(积分)、State(状态)、Addr(地址)、AddTime(添加日期)。表4-8用户表(SysUser)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2UserNamevarchar32账号3Pwdvarchar32密码4TrueNamevarchar16是真实姓名5Sexnvarchar2性别6Telchar11电话7Integralint0积分8Statetinyint0状态9Addrnvarchar128是地址10AddTimeDatetime/是添加日期9.如表4-9管理员角色表(SysAdminRoles),表中分别有Id(主键)、UserId(用户Id)、RolesId(角色Id)、CreateTime(创建日期)。表4-9管理员角色表(SysAdminRoles)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2UserIdint0用户Id3RolesIdint0角色Id4CreateTimeint/创建日期10.如表4-10订单表(SysOrder),表中分别有Id(主键)、UserId(用户Id)、FoodId(菜品Id)、FoodName(菜品名称)、TotalPrice(总价)、Trade(订单号)、IsPay(支付状态)、IsDeliver(发货状态)、Count(数量)、Img(图片)、Descriptions(描述)、AddTime(添加日期)。表4-10订单表(SysOrder)序号字段名字段类型字段长度主键允许为空字段说明1Idint0是主键2UserIdint0用户Id3FoodIdint0菜品Id4FoodNamevarchar64菜品名称5TotalPricedemical/总价6Tradevarchar64订单号7IsPaytinyint0支付状态8IsDelivertinyint0发货状态9Countint0数量10Imgvarchar64是图片11Descriptionsnvarchar256是描述12AddTimeDatetime/添加日期4.2用户前端系统的主要模块设计与实现4.2.1用户前端系统首页设计用户前端系统首页模块,主要是用来说明并展现本系统的主要功能特色、优势以及创新点,让用户对平台有一个大致的认识了解,包括校园网上订餐系统优势、平台功能以及创新点。顶部为导航栏,导航栏包括:网站首页、购物车、校园资讯、关于我们、用户登录;最下方为版权。界面如下图4-2-1所示图4-2-1用户前端系统首页用户前端系统首页关键代码实现首页轮播图和菜品展示功能:用户访问系统可以直接查看商城购物系统首页展示菜品以及轮播图,首页轮播图和菜品展示功的核心代码如代码-1所示:代码-1首页轮播图和菜品展示功能核心代码foreach(variteminreply.dataasList<NewsImg>){stringBuilder.Append(string.Format("<div><ahref=\"javascript:;\"><imgstyle=\"width:100%;height:100%;background-repeat:no-repeat\"src=\"{0}\"/></a></div>",item.Img));}stringBuilder.Append("</div>");stringBuilder.Append("</div>");ViewData["MenuHtml"]=HttpUtility.HtmlDecode(stringBuilder.ToString());publicActionResultIndex(){returnView();}publicActionResultDetail(intid){ProductManageproduct=newProductManage();Foodfood=product.ProductInfo(id);returnView(food);}4.2.2用户登录与注册模块在用户登录模块,用户要想进入本系统,必须登入自己的账号进行身份验证,系统会根据数据库里的数据判断是否相符。若登入成功,才能进入本系统。 用户登录界面如下图4-2-2所示:图4-2-2用户登录界面用户登录界面关键代码实现登录界面的身份验证功能:用户输入账号和密码进行身份验证成功后才能进入系统,身份验证功能的核心代码如代码-2所示:代码-2身份验证功能核心代码publicclassCurrentManage{publicconststringSESSIONNAME="_current_manage";//Session名staticboolisLogin=false;//是否登录publicstaticboolIsLogin{get{varcurrent=HttpContext.Current.Session[SESSIONNAME];if(current!=null){SysUseruser=currentasSysUser;if(user.UserName!="")returntrue;}returnisLogin;}}在用户注册模块,可以根据系统给出的提示,填写自己的信息后完成注册,系统在发出提示后自动返回登入界面并将数据写入数据库。用户注册界面如下图4-2-3所示:图4-2-3用户注册界面用户注册界面关键代码实现用户注册界面写入数据功能:用户在注册完成后,系统自动将信息写入数据库,写入数据功能的核心代码如代码-3所示:代码-3写入数据功能核心代码publicJsonResultRegResult(RegUserregUser){ReplyModelreply=newReplyModel();If(ModelState.IsValid){SysUserManageuserManage=newSysUserManage();reply=userManage.Reg(regUser);}else{reply.msg=ModelErrorInfo.GetErrorInfo(ModelState.Values);}returnJson(reply,JsonRequestBehavior.AllowGet);}publicActionResultRegGetYZM(){ValidateCodeHelpervch=newValidateCodeHelper();stringcode=vch.GetRandomNumberString(4).ToLower();CookieHelper.SetCookie("RegCode",code,2);returnFile(vch.CreateImage(code),"image/jpeg");}4.2.3购物车与结算模块购物车与结算模块:在主界面选择自己心仪的菜品后,可以添加至自己的购物车,既可以在确认个人信息无误后点击“结算”按钮,也可以选择“继续购物”按钮;未下单的菜品既可以单独点击“删除”按钮,也可以选择“清空购物车”按钮;在确认信息无误后,就可以点击“结算”按钮即可完成下单。购物车界面如下图4-2-4所示:图4-2-4购物车界面购物车界面关键代码实现购物车界面的单/多个菜品加入购物车功能:系统根据用户选择点击的“加入购物车”按钮或“继续购物”按钮实现单/多个菜品加入购物车功能,单/多个菜品加入购物车功能的核心代码如代码-4所示:代码-4单/多个菜品加入购物车功能核心代码publicActionResultAddShopping(intid){if(Session["MyShopping"]==null){MyShoppingshop=newMyShopping();Session["MyShopping"]=shop;}MyShoppingmyShopping=(MyShopping)Session["MyShopping"];myShopping.Add(id);returnRedirectToAction("MyShopping","User");}结算界面如下图4-2-5所示:图4-2-5结算界面结算界面关键代码实现购物车单/多个菜品结算功能:系统根据用户选择点击的“结算”按钮或“继续购物”按钮实现单/多个菜品结算功能,单/多个菜品结算功能的核心代码如代码-5所示:代码-5单/多个菜品结算功能核心代码publicJsonResultPayOff(Orderorder){ReplyModelreply=newReplyModel();if(order.account==Card.account&&order.pwd==Card.pwd){SysOrderManageorderMange=newSysOrderManage();reply=orderMange.Add(order);}else{reply.msg="账号或密码错误";}returnJson(reply,JsonRequestBehavior.AllowGet);}4.2.4订单信息与菜品评价模块订单信息与菜品评价模块:选择导航栏中的“姓名”,在自动弹出的下拉框中选择“订单信息”。在“订单信息”中,既可以查看历史订单信息,也可以点击单个订单的“评价”按钮对已经标记为“已发货”的订单进行评价。查看订单信息界面如下图4-2-6所示:图4-2-6订单界面订单信息界面关键代码实现查看历史订单信息功能:用户选择“订单信息”后,系统根据用户的不同从数据库中调取订单信息数据以表格的形式呈现给用户。查看历史订单信息功能的核心代码如代码-6所示:代码-6查看历史订单信息功能核心代码publicActionResultMyOrder(){if(Session[CurrentManage.SESSIONNAME]==null){returnContent("<script>alert('您还未登录,请登录后查看订单');location.href='/Account/Index';</script>");}else{returnView();}}publicJsonResultMyOrderList(PageModlemsg){SysOrderManageorderManage=newSysOrderManage();ReplyModelreply=orderManage.MyOrderList(msg);returnJson(reply,JsonRequestBehavior.AllowGet);}菜品评价界面如下图4-2-7所示:图4-2-7菜品评价界面菜品评价功能:用户点击单个订单的“评价”按钮对已经标记为“已发货”的订单进行评价。菜品评价功能的核心代码如代码-7所示:代码-7菜品评价功能核心代码publicActionResultComment(intid){ProductManageproductManage=newProductManage();Foodfood=productManage.ProductInfo(id);returnView(food);}[ValidateInput(false)]publicJsonResultCommnetResult(UserCommentuserComment){SysUserManageuserManage=newSysUserManage();ReplyModelreply=userManage.Comment(userComment);returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultCommentList(PageModlemsg){SysUserManageuserManage=newSysUserManage();ReplyModelreply=userManage.CommnetList(msg);returnJson(reply,JsonRequestBehavior.AllowGet);}4.2.5用户信息模块用户信息模块:选择导航栏中的“姓名”,在自动弹出的下拉框中选择“个人信息”,在“个人信息”中,可以根据自己的需要修改个人信息,然后点击“提交”按钮,出现错误时可以点击“重置”按钮清空所有信息。用户信息界面如下图4-2-8所示:图4-2-8用户信息界面用户信息界面关键代码实现修改和存储个人信息功能:用户修改玩个人信息后点击“提交”按钮,系统自动将个人信息存储到数据库中。修改和存储个人信息功能的核心代码如代码-8所示:代码-8修改和存储个人信息功能核心代码publicActionResultIndex(){if(Session[CurrentManage.SESSIONNAME]!=null){SysUserManageuserMange=newSysUserManage();SysUseruser=userMange.GetUserInfo(CurrentManage.Id);returnView(user);}else{returnContent("<script>alert('您还未登录,请先登录');location.href='/Account/Index';</script>");}}publicJsonResultAletrInfo(SysUseruser){SysUserManageuserManage=newSysUserManage();ReplyModelreply=userManage.AlterUserInfo(user);returnJson(reply,JsonRequestBehavior.AllowGet);}4.2.6校园资讯模块校园资讯模块:选择导航栏中的“联系我们”,在自动弹出的下拉框中选择“校园资讯”,在出现的校园资讯中可以点击“详细”即可查看该条资讯的具体内容。校园资讯界面如下图4-2-9所示:图4-2-9校园资讯界面校园资讯界面关键代码实现查看单条咨讯功能:用户点击“详细”查看该条资讯时,系统要自动调用数据库的资讯内容,并呈现给用户。查看单条咨讯功能的核心代码如代码-9所示:代码-9查看单条咨讯功能核心代码publicActionResultDetail(intid){InfomationMangeinfo=newInfomationMange();Infomationinfomation=info.InfomationInfo(id);returnView(infomation);}publicJsonResultInfoList(PageModlemsg){infomationMangeinfo=newInfomationMange();ReplyModelreply=info.InfoMationtList(msg);returnJson(reply,JsonRequestBehavior.AllowGet);}4.3后台系统的主要模块设计与实现4.3.1用户管理模块用户管理模块:在本界面,管理员可以查看用户前端系统中的所有用户信息。可以通过表格顶部的搜索框输入用户名(UserName)或ID,点击“搜索”图标就可以搜索用户信息;想要在后台直接添加一名用户,只需要点击“加号”图标,填写个人信息即可,系统会自动将信息存储进数据库中;要删除单/多个用户时,可以选择各条用户前面的复选框,然后点击顶部的“删除”图标再点击“刷新”图标。或者,点击该条用户信息的操作栏下的“删除图标”。两种方法均可以删除单/多个用户的个人信息;点击“打印”图标能将用户信息以报表的形式生成。用户管理界面如下图4-2-10所示:图4-2-10用户管理界面用户管理界面关键代码实现添加用户功能:管理员点击“加号”图标,填写个人信息即可,系统会自动将信息存储进数据库中。删除单/多个用户信息功能:管理员选择各条用户信息前面的复选框,然后点击顶部的“删除”图标再点击“刷新”图标;或者点击该条用户信息的操作栏下的“删除”图标。核心代码如代码-10所示:代码-10用户管理界面核心代码publicJsonResultAddResult(Usersuser){SysUserManageuserManage=newSysUserManage();ReplyModelreply=userManage.Add(user);returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultUpdate(intid,stringfield,stringvalue){SysUserManageuserMange=newSysUserManage();ReplyModelreply=userMange.Update(id,field,value);returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultDelete(intId){SysUserManageuserMange=newSysUserManage();ReplyModelreply=userMange.Delete(Id);returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultBatchDelete(List<SysUser>userList){SysUserManageuserMange=newSysUserManage();ReplyModelreply=userMange.BatchDelte(userList);returnJson(reply,JsonRequestBehavior.AllowGet);}4.3.2菜品管理模块在菜品管理模块,管理员可以查看数据库中的所有菜品信息。通过表格顶部的搜索框输入菜品名称或菜品ID,点击“搜索”图标就可以搜索菜品信息;想要添加菜品,只需要点击“+”图标,填写菜品信息后系统会自动将信息存储进数据库中;要删除单/多个菜品时,可以选择各条信息前面的复选框,然后点击顶部的“删除”图标再点击“刷新”图标。或者点击该条菜品信息的操作栏中的“删除图标”。对菜品类别的管理与上同理。菜品管理界面如下图4-2-11、4-2-12所示:图4-2-11菜品管理界面图4-2-12菜品管理界面菜品管理界面关键代码实现查看、添加和删除单/多个菜品信息功能:管理员从数据库中调取所有菜品信息;点击“+”图标,填写菜品信息后系统会自动将信息存储进数据库中;选择各条信息前面的复选框,然后点击顶部的“删除”图标再点击“刷新”图标;或者点击该条信息的操作栏下的“删除”图标,都可以实现删除操作。菜品管理界面核心代码如代码-11所示:代码-11菜品管理界面核心代码publicJsonResultCategoryList(PageModlemsg){ProductCategoryManagecategoryMange=newProductCategoryManage();ReplyModelreply=categoryMange.CategoryList(msg);returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultAddResult(CategoryModelcategoryModel){ReplyModelreply=newReplyModel();if(ModelState.IsValid){ProductCategoryManagecategoryMange=newProductCategoryManage();reply=categoryMange.Add(categoryModel);}else{reply.msg=ModelErrorInfo.GetErrorInfo(ModelState.Values);}returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultCategoryList(PageModlemsg){ProductCategoryManagecategoryMange=newProductCategoryManage();ReplyModelreply=categoryMange.CategoryList(msg);returnJson(reply,JsonRequestBehavior.AllowGet);}4.3.3用户订单与评论管理模块在用户订单与管理模块,管理员可以查看数据库中的所有用户订单信息。通过表格顶部的搜索框输入订单号或用户订单ID,点击“搜索”图标就可以搜索用户订单信息;要删除单/多个用户订单时,可以选择各条用户订单前面的复选框,然后点击顶部的“删除”图标再点击“刷新”图标。或者,点击该条用户订单信息的操作栏下的“删除图标”。对用户订单评价的管理与上同理。用户订单与评论管理界面如下图4-2-13、4-2-14所示:图4-2-13用户订单管理界面图4-2-14用户评价管理界面用户订单与评论管理界面关键代码实现查看用户订单或评价信息功能:管理员从数据库中调取所有用户订单或评价信息;删除单/多个用户订单或评价信息功能:选择各条信息前面的复选框,然后点击顶部的“删除”图标再点击“刷新”图标;或者点击该条信息的操作栏下的“删除”图标。都可以实现删除操作。用户订单与评论管理界面核心代码如代码-12所示:代码-12用户订单与评论管理界面核心代码publicJsonResultGetOrderList(PageModlemsg){SysOrderManageorderManage=newSysOrderManage();ReplyModelreply=orderManage.OrderList(msg);returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultOrderDelete(intid){SysOrderManageorderManage=newSysOrderManage();ReplyModelreply=orderManage.Delete(id);returnJson(reply,JsonRequestBehavior.AllowGet);}publicJsonResultGetCommentList(PageModlemsg){CommentManagecommentManage=newCommentManage();ReplyModelreply=commentManage.CommentList(msg);returnJson(reply,JsonRequestBehavior.AllowGet);}4.3.4置顶消息与校园资讯管理模块在置顶消息与校园资讯管理模块,管理员可以查看数据库中的所有置顶消息信息。通过表格顶部的搜索框输入标题或置顶消息ID,点击“搜索”图标就可以搜索置顶消息信息;要删除单/多个置顶消息时,可以选择各条置顶消息前面的复选框,然后点击顶部的“删除”图标再点击“刷新”图标。或者,点击该条用户订单信息的操作栏下的“删除图标”。校园资讯功能与置顶消息功能同理。置顶消息与校园资讯管理界面如下图4-2-15、4-2-16所示:图4-2-15置顶消息管理界面图4-2-16校园资讯管理界面5系统的测试5.1系统测试概述系统测试作为项目开发环节中必不可少的一部分,对于确保系统能否稳定和高效的运行至关重要。它旨在模拟实际操作环境,并全面验证系统功能是否满足用户的期望,性能是否符合设定标准,安全性是否得到充分保证。通过这种连接,可以提供有效减少系统故障,为用户提供稳定可靠的服务[19]。大学校园网上订餐系统采用功能测试的方法,从客户的角度出发,通过模拟客户正常使用系统的操作,检查本系统的各项功能是否能达到原本设定的标准。该检测方法针对操作系统特性,也就是说,该方法只要知道系统的输入和输出,而不用知道系统的逻辑和代码是怎样的。在测试过程中,需要根据操作流程来推断出可能出现的各种错误情况、不同场景以及不常见的边界值,以避免正式运行时错误的发生[20]。5.2测试环境与结果1.测试环境测试环境:Windows10操作系统。测试项目:利用功能测试对本系统设计的功能模块进行测试,如测试用户订购菜品、加入购物车、修改个人信息等功能。2.测试项目(1)用户功能:测试用户的功能,如查看菜品信息、加入购物车、查看订单、购物车删除单/分多个菜品、修改个人信息,其中,测试用例设计、测试数据以及测试结果,如下表6-1所示。表6-1用户测试用例及测试结果测试对象测试项测试过程测试数据预期结果实际结果用户查看菜品1.输入账号、密码和验证码2.浏览首页的菜品信息账号:学生甲密码:123456验证码fjkx能够成功查看菜品信息通过加入购物车1.点击单/多个菜品2.点击加入购物车按钮账号:学生甲选择菜品:馒头、包子在加入购物车后能够在购物车页面查看到加入的单/多个菜品信息通过购物车删除单/分多个菜品点击移除菜品2.点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥梁盖梁支架预压施工工艺
- 广西壮族自治区钦州市2025~2026学年高二下册期末教学质量监测数学试卷【附解析】
- 湖南省邵阳市2027届高三上学期第一次考试数学试题(含答案)
- (正式版)DB13∕T 1230-2010 《有机化工产品色度测定方法》
- 2025-2026年考研计算机操作系统核心概念习题
- 2025-2026年浙江省部编版小学语文四年级上册第3单元作文写作专项练习卷
- 2025-2026年项目整合管理专项练习题
- 2025-2026年母婴保健护理操作技能考核题库
- 2026年学校校车安全管理培训考试试卷试题及答案
- 含氮杂环与氮杂羧酸配位聚合物:从设计合成到性能探索
- 《无人机导论与飞行法规》全套教学课件
- 2026年《父亲的病》名著测试题及答案
- MDT与肿瘤患者全程照护
- 电子病历共享协议(2025年医疗数据互通)
- 农村供水保障培训课件
- 2025版临床用血技术规范解读课件
- 老年人家属必学:基础照护知识快速入门
- 现代产业学院建设标准(定量指标)上位依据对照表、评价指标体系
- 安全生产个人述职报告范文
- 2025新疆亚新煤层气投资开发(集团)有限责任公司第三批选聘招聘考试参考题库及答案解析
- 驾驶员秋季行车安全培训课件
评论
0/150
提交评论