网上订餐系统分析_第1页
网上订餐系统分析_第2页
网上订餐系统分析_第3页
网上订餐系统分析_第4页
网上订餐系统分析_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、题目网上订餐系统二、课程设计目的1、熟悉软件工程过程及软件开发的各种方法和生存周期模型。2、进一步熟练运用Rational Rose 建模软件。三、课程设计内容该系统实现网上订餐,客户下单,订单查询,订单修改,管理员修改菜单等功能。四、可行性研究订餐服务是餐饮企业的一项日常工作, 完成餐饮企业订餐服务的订餐系统,作为餐饮管理系统的一部分,为餐饮企业提高工作效率和质量,提高企业经济效益起到了重要的作用。目前,大部分餐饮业采用的订餐工作方式是客户通过电话与餐厅联系, 由餐厅工作人员通过餐饮企业内部的餐饮管理系统实施订餐工作。 这种工作方式有很多弊端,它没有完全脱离手工式工作, 工作效率低。同时, 从客户订餐需求角度考虑,客户希望能在订餐前了解更多的有关信息, 如餐厅能提供的菜的品种, 各种菜的风味, 菜的直观图片等, 而这些信息仅仅从餐厅工作人员的电话中是不可能有全面的了解的, 这无疑会给客户的订餐带来不便,同时也影响了餐厅的工作效益。开发基于网络C/S模式的订餐系统,能有效地解决上述问题, 实现真正意义上的订餐自动化。4.1技术可行性网络订餐系统属于计算机在数据通信和信息处理方面的应用, 属于典型的网络数据库应用系统( 客户/服务器数据库应用) ,其关键问题是数据的存储与检索, 系统开发的实质是数据库的建立、 连接和数据库编程。综上所述系统开发所依赖的软件技术已很成熟,并具有巨大优势;本系统在技术上可行。4.2经济可行性通过本系统,餐厅可以提高服务效率,降低餐厅的成本,减少不必要的浪费;在网上长期发布,进行宣传,是一种很好的营销方式,可以扩大餐厅影响,提高知名度,增加营业额,给餐饮企业带来巨大的利润;而项目开发的成本、开发费用和今后的运行、维护费用与其带来的经济效益相比却很小,因此,本系统在经济效益上可行。五、需求分析5.1引言餐饮业一直是服务行业最重要的组成部分之一。薄利多销一直是餐饮业的营销理念。如何在当前餐饮行业日趋激烈的竞争环境中脱颖而出并吸引更多的顾客,已成为每位餐饮业经营者所追求的目标。经过多年发展,餐馆管理已经逐渐由简单而繁琐的人工管理,进入科学系统管理的阶段。如何有效的节约人力成本是餐饮业致力于解决的首要问题。当前最有效的手段就是采用系统的自动化管理取代过去的人工方式。5.1.1编写目的本需求规格说明书是通过分析,结合UML理论后得出的对于一个基本的餐馆订餐系统的需求和功能分析,其主要目的是为系统的设计开发提供前期的准备工作。本系统的用户对象可以分为两部分:本系统的主要用户订餐者和餐厅管理者。5.1.2项目背景A.项目委托单位:*美食餐厅 开发单位:*软件开发组主管部门:信息学院B:与其它系统关系:传统的餐厅内部订餐系统属于单机版,面向餐厅管理人员;而本系统属于网络版C/S模式的,面向广大用户;本系统在互联网上及时发布菜品信息,用户快速方便的实现订餐,餐厅管理人员高效的管理餐厅。5.1.3定义UML:统一建模语言,英文全称为Unified Modeling Language。C/S:Client/Server,一种网络连接模式,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。5.1.4参考资料 1张海藩.软件工程导论.第五版.清华大学出版社2刘辉,杨克勤等. 基于Web 的网上订餐点菜系统. 商业科技.2007,505:405.2项目概述5.2.1项目目标、内容、现行系统的调查情况本系统是一个餐馆订餐系统,本系统是网络版C/S模式,优势在于面向大众,能够实现用户网上订餐和餐馆的数字化经营。系统数据安全性好,使数据库安全有保障。系统开放性好,采用标准的开发工具和技术,后台数据库采用微软mysql。目前运行的订餐系统主要是单机版的,面向餐厅管理人员,且功能少,不能满足竞争日益激烈的餐饮业的需求。5.2.2开发环境操作系统: Microsoft Windows NT 2003/ Windows 2000/ XP/win7 浏览器:IEIDE:php5.2+apache2.2数据库:mysql5.1测试工具:php5.2+apache运行环境客户机:IE6/IE7/firefox2.05.3功能需求5.3.1功能划分本系统主要分为两个功能模块:普通用户模块和管理员模块,如下图5.3.2功能描述1.用户模块设计。用户模块分为2个主要功能:(1) 定菜下单模块。 在首页有餐厅的菜单(有图片显示)和价格,查看好之后,点击“我要下单”按钮进行下单。下单时要填写菜名、数量、是否要米饭(几份米饭)、附加说明(例如多加饭,不辣等)、联系电话、送餐地址。填写好之后,单击“提交订单”或者单击“重新填写”进行重新填写。(2)订单查询模块。订单成功后可以返回查询订单数据。以上功能的用例图,及顺序图如下: 用户用例图用户订单顺序图用户订单活动图2.管理员模块(1) 登录模块。管理员在登陆界面通过用户名和密码登录,直至用户名和密码都正确才能登陆成功。登陆成功之后才能进行修改密码、删除订单、添加菜单、删除菜单等功能。(2) 修改密码模块。在登陆成功之后可以输入原密码和新密码来修改密码。(3) 删除订单模块。客户下订单之后想反悔或者餐厅确认的时候联系不上客户,管理员就会删除相应的订单。(4) 添加菜单模块。餐厅推出新菜色时,管理员就可以上传菜名、价格、图片来添加菜单。(5) 删除菜单模块。对于餐厅没有的菜或者下架的菜,管理员可以在主页中删除菜单。管理员用例图六、总体设计6.1网络订餐系统架构网络订餐系统结构图6.2 类设计类图 6.3数据库设计管理员数据表:bs_admin字段id:管理员排序字段user:管理员用户名字段pwd:管理员密码,明文密码,未做md5加密处理菜单数据表:bs_candancid菜单累加编号cname菜名cprice价格cspic(未启用,保留做缩略图地址)cpicpath菜单菜名对应大图路径订单数据表bs_formoid订单累加序号user下单人昵称canlei所定餐类型name菜名price价格num下单数量rice是否需要米饭call下单人联系电话address下单人联系地址ip下单的ipbtime下单的时间addons附加说明state订单状态6.4接口设计本系统采用三层体系结构,即表示层、功能层、数据层。在表示层中包含系统的显示逻辑,位于客户端,也就是WEB浏览层。它主要实现系统与用户的接口,提供各种界面。同时负责将各个界面提交的请求提交给功能层的对应数据库接口,由客户机接收各个功能接口返回的信息,并把它显示在WEB浏览器上。在功能层中包含系统的事务处理逻辑,主要包括数据加工模块和接口,数据库检索接口等。数据加工模块和接口负责由餐厅管理人员根据订餐用户的请求,将从后台数据库中的信息返回给用户。数据库添加模块接口负责根据订餐用户的请求,将用户订餐信息加入订餐表。6.5界面设计6.5.1主要界面设计主页设计在主页有菜单和“下单”、“管理员登陆”功能的链接。下菜界面设计选择“我要下单”,即进入订菜页面。用户填写需要的菜名、数量,联系电话和送餐地址等信息,填写成功之后提交订单。订餐信息查询界面设计订单提交成功之后可以查询订单,里面有订单号、用户昵称、下单时间、菜名、价格、联系电话、送餐地址等信息。 管理员登陆界面管理员通过用户名和密码登陆。管理员密码修改登陆成功之后,管理员可以修改自己的密码,修改之后必须重新登陆。添加菜单管理员添加菜单。七、详细设计网络订餐系统体系结构图(框架)本系统采用了传统的3层架构实现。 在网络订餐系统多层体系结构框架下,为网络订餐系统设计了如下的体系结构模型,并利用php加以实现。1.用户模块设计。用户模块分为2个主要功能:(1) 定菜下单模块。 在首页有餐厅的菜单(有图片显示)和价格,查看好之后,点击“我要下单”按钮进行下单。下单时要填写菜名、数量、是否要米饭(几份米饭)、附加说明(例如多加饭,不辣等)、联系电话、送餐地址。填写好之后,单击“提交订单”或者单击“重新填写”进行重新填写。(2)订单查询模块。订单成功后可以返回查询订单数据。程序流程盒图模块1盒图2.管理员模块(1)登录模块。管理员在登陆界面通过用户名和密码登录,直至用户名和密码都正确才能登陆成功。登陆成功之后才能进行修改密码、删除订单、添加菜单、删除菜单等功能。(2) 修改密码模块。在登陆成功之后可以输入原密码和新密码来修改密码。(3)删除订单模块。客户下订单之后想反悔或者餐厅确认的时候联系不上客户,管理员就会删除相应的订单。(4)添加菜单模块。餐厅推出新菜色时,管理员就可以上传菜名、价格、图片来添加菜单。(5)删除菜单模块。对于餐厅没有的菜或者下架的菜,管理员可以在主页中删除菜单。程序流程图模块2盒图八、测试计划及测试分析报告8.1编写目的目的: 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误。 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 软件测试是为了在软件投入生产性运行之前,尽可能多地发现软件的错误读者对象:该文档的读者对象是软件测试者,以指导软件测试过程8.2定义系统测试:功能测试完成,方可进行系统测试,通过参照系统需求和设计文档,进一步确认系统功能的正确性和完整性。其中包括功能确认测试、性能测试、安装测试和加密检测。采用黑盒测试法。黑盒测试:也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。白盒测试:也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行单元测试:是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。集成测试:也叫组装测试,联合测试是单元测试的逻辑扩展。8.3参考资料1可行性分析报告;2需求规格说明书;3概要设计说明书;4详细设计说明书;5软件工程原理,方法与应用 吴钦藩 编着 人民交通出版社出版6软件工程任胜兵邢琳编着北京邮电大学出版社7软件测试入门 包晓露 王小娟 朱国平 人民邮电出版社 8软件质量和软件测试 马博 赵云龙 清华大学出版社9软件工程导论 张海藩 清华大学出版社8.4测试概要用表格的形式列出每一项测试的标识符及其测试内容。a) 系统安装与卸载序号测试内容测试方法预期测试结果备注1系统安装按照“使用说明书”中的描述进行软件安装。显示安装成功,可以运行该软件。2系统卸载执行系统的卸载命令或软件本身提供的卸载命令卸载该软件。此系统可成功卸载。b)软件功能测试序号测试内容(功能模块)测试方法预期测试结果备注1用户预定餐位用户点击“搜索可用餐为按钮”显示可用餐位2用户预定菜品用户点击菜品下的“预定”按钮菜品放入菜单篮,并显示已订菜品信息3用户登陆注册用户在定菜页面点击“确认”转入登录注册页面,输入用户的基本信息,点击“登陆”或“注册”按按钮。显示“登录成功”或“注册成功”并转入“确认订单页面”4用户下订单在确认订单页面点击“点击下订单按钮”显示“网上订餐成功”5管理员登陆输入管理员信息显示登陆成功6管理员菜品管理添加菜品或删除菜品添加时能够将菜品信息添加到数据库并在网页中显示,删除时在数据库中删除,在网页中删除c) 安全可靠序号测试内容测试方法预期测试结果备注1软件容错性在软件的测试运行中进行判定。软件发现错误时,有错误提示,可以回复到正常状态。对关键输入数据的有效性检查比较完备。2运行稳定性在软件的测试运行中进行判定。没有发生由于软件错误而导致的系统崩溃和丢失数据现象。d) 用户界面序号测试内容测试方法预期测试结果备注1界面输入在软件的测试运行中检查界面输入是否正常。光标可以正确定位到输入域,输入数据有效,输入顺序合理。2界面显示在软件的测试运行中检查界面显示是否正常。在1024*768分辨率下,界面显示正常。3界面文字与提示在软件的测试运行中检查界面文字与提示的表达是否清晰,有无错误和模糊语义。界面文字与提示表达清晰,无错误和模糊语义。e) 中文符合性序号测试内容测试方法预期测试结果备注1界面中文符合性检查软件界面是否使用简体中文。界面使用统一的简体中文。 2字库中文符合性软件无自带中文字库。免测。f) 用户文档序号测试内容测试方法预期测试结果备注1用户文档完整性检查用户文档的描述是否包含产品使用所需的所有必要信息。用户文档的描述包含产品使用所需的所有必要信息。2用户文档正确性检查用户文档中的所有信息是否正确,有无歧义和错误的表达。用户文档的信息描述正确,无歧义。3用户文档一致性检查用户文档的内容是否一致,与程序及数据是否一致。用户文档的内容一致,与程序及数据一致。8.5测试项目8.5.1单元测试单元测试是对一个可执行的程序单元进行测试。这样的程序单元可以是一个构件、模块、类或类的一个方法。单元测试是在实现阶段进行的,通过单元测试来确定程序员完成的程序单元是否正确。在这里,我们把单元测试分成以下几种方法进行。黑盒测试黑盒测试主要验证程序单元的外观行为是否正确。黑盒测试注重于测试软件的功能性需求,它主要用于测试以下几类错误:功能不对或遗漏。界面错误。数据结构或外部数据库访问错误。性能错误。初始化和终止错误。 未测单元测试项类Admin的aduser()方法类user的lookOrder()方法Seat类的getstate()方法Order类的gettotalNum()方法测试用例管理员添加一个用户到数据库中用户查询一个刚刚生成的订单在某个seat对象中实用getseat()方法对某个order对象使用gettotalNum()方法期望输出数据库中用户并能够显示在查询订单页面显示订单输出“可用”或“不可用”输出订单总的菜品数测试数据用户信息:“001”“张三”“123456”“男”“1366060600”在查询页面订单查询条件中输入“001”“2009-6-18”Seat1:seatSeat1.getstate()Order1:orderOrder. gettotalNum()测试结果数据库显示添加新用户成功显示001用户在2009-6-18的订单显示可用或不可用显示order1菜单总的菜品数如果测试结果与期望的输出不相同,则可以确定未测单元中存在缺陷,把测试中发现的问题放到缺陷表中,等待下一步修复。白盒测试白盒测试是一种测试用例设计的方法,可以使用白盒测试来验证构件的代码实现是否正确。白盒测试使用程序设计的控制结构导出测试用例,这种测试方法需要对程序代码进行分析。可以从代码的执行路径分析,开始假定测试用例,循着路径一步步执行下去,如果出口的期望结果与执行结果相同,则说明代码实现至少在现阶段是正确的。多用几组测试用例技能型测试,可能发现一些特殊情况,如果测试出现异常,则要具体分析出错情况并进一步的改正。8.5.2集成测试集成测试描述如图1所示。在集成测试中需要使用实现模型、测试构件和测试用例,三者经过黑盒测试得到测试结果在实现模型中测试构件存在的缺陷,并根据这些缺陷给出一张缺陷单。集成测试测试用例缺陷单图1 集成测试 实现模型是经过集成后可以运行的子系统。测试构件是实现模型中需要测试的构件或子系统。测试用例用来描述每一项测试的具体内容和过程。缺陷单是集成测试的结果,用来记录测试过程中发现的缺陷。8.5.3系统测试系统测试过程系统测试用于测试整个系统的整体功能是否正确,是否与当初用户提出的用例要求相同。系统测试主要使用用例模型来验证系统的功能,系统测试过程如图2所示。测试报告测试用例集成测试图2 系统测试过程系统测试使用用例模型和测试用例来对实现模型进行测试,符合用例模型功能的就是正确的功能,否则就是错误。最终把测试的结果放在测试报告中。性能测试性能测试就是用来测试软件的运行性能。性能测试可以发生在测试过程的所有步骤中,即使是在单元测试中,一个单独模块的性能也可以使用白盒测试来进行评估。但是一般情况下,只有当整个系统集成完成后才开始进行真正的性能测试,因为此时的性能测试才真正反映了系统的性能。在网络订餐系统中,主要进行了多用户并发测试。由于网络订餐系统是通过互联网发布信息,面向广大用户的;在同一时间可能有多位用户访问网络,如果用户过多,系统就有瘫痪的可能。8.6限制数据精确度限制:在进行向数据库文件提取数据时,需求数据记录定位精确,在往数据库文件数组中添加数时,要求输入数准确。时间特性限制程序响应时间:在人的感觉和视觉事物范围内;信息交换时间:要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用时间。适应性限制:要求数据库局用很好的更新能力,本系统对磁盘和内存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。磁盘容量限制:由于要存贮大量的数据和信息,所以要求要有足够的磁盘容量。主存容量限制:为了满足用户的要求,系统必须要有高的运作速度,用户填写的表单输入到系统,系统必须能快速及时作出响应,迅速处理各项数据、信息,显示出所有必需信息,所以要求很高的信息量速度和大的主存容量。九、程序维护手册及用户操作手册9.1. 引言编写目的: 软件维护是软件生命周期的最后一个阶段,它处于系统投入生产性运行以后的时期中,因此不属于系统开发过程。 软件维护需要的工作量非常大,虽然在不同应用领域维护成本差别很大,但是,平均说来,大型软件的维护成本高达开发成本的四倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。 软件维护就是在软件已经交付使用之后,为了改正错误或者满足新的需要而修改软件 的过程。它有如下几种性质的维护: 改正性维护 因为软件测试不可能暴露出一个大型软件系统中所有潜藏的错误,所以在使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。我们把诊断和改正错误的过程称为改正性维护。适应性维护 计算机科学技术领域的各方面都在迅速进步,需要经常地修改版本。为了和变化了的环境适当地配合而进行的修改软件的活动称为适应性维护。 完善性维护 在软件编写完成之后,投入实践,在使用软件的过程中,用户往往提出增加新功能或修改已有的功能的建议,这就需要进行完善性维护。 预防性维护 为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,就需要进行预防性维护。维护的过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。 鉴于以上各点,编写维护软件的文档十分重要。它给软件维护人员提供了一份完整,清晰的说明文档,便于其快速有效地进行维护工作。9.2定义和缩写a. 数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,它表示了数据和处理过程的关系。数据流图有四种基本符号:正方形(或立方体)表示数据的源点或终点。圆角矩形(或圆形)代表变换数据的处理。处理不一定是一个程序。一个处理框可以代表一系列程序,单个程序或者程序的一个模块;它甚至可以代表一种人工处理过程。开口矩形(或两条平行横线)代表数据存储。数据存储可以表示一个文件,文件的一部分,数据库的元素或纪录的一部分等等。数据存储是处于静止状态的数据。 箭头代表数据流,即特定数据的流动方向。数据流是处于运动中的数据。还有几种附加符号:星号表示数据流之间是“与”关系,加号表示“或”关系,异或符号表示只能从中选一个b. 数据字典(Data Dictionary,简称DD)是对系统中各类数据描述的集合,是各类数据属性清单,是进行详细的数据收集和数据分析所获得的主要结果。它通常包括以下五个部分:数据项,是数据的最小的单位。数据结构,是若干数据项有意义的集合。数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。数据存储,处理过程中存取的数据。常常是手工凭证,手工文档,计算机文件。处理过程。它们的描述内容如下:数据项描述=数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系取值范围,与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据。数据结构描述=数据结构名,含义说明,组成:数据结构或数据项数据流=数据流名,说明,流出过程,流入过程,组成:数据结构或数据项流出过程,说明该数据流由什么过程来。流入过程,说明该数据流到什么过程去。数据存储=数据存储名,说明,输入数据流 ,输出数据流,组成:数据结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论