1、系统分析与设计课程设计题 目:网上外卖系统学生姓名:学 号:班 级:指导教师:36目 录第一章 关于软件性质、规模、目标的报告书11.1 软件性质11.2 软件规模11.3 开发该软件要实现的目标。11.4 题目来源、选题背景1第二章 可行性研究报告22.1 技术可行性22.2 经济可行性22.3 法律可行性32.4 操作可行性32.5 结论3第三章 项目开发计划43.1 系统概述43.2 系统资源43.3 进度安排5第四章 需求规格说明书64.1 业务分析64.1.1 业务描述64.2 功能分析,建立系统功能模型84.2.1 需求结构84.2.2 功能模型84.3 对象分析,建立系统初步的对
2、象模型134.4 用例分析,建立用例分析模型144.5 扩充和完善,建立系统完整的对象模型19第五章 面向对象的总体设计225.1 软件运行环境225.2 软件架构模型225.2.1 软件逻辑架构225.3 用例设计,建立用例设计模型235.4 扩充和完善对象模型,建立平台相关对象模型295.5 数据库设计模型325.5.1 实体类表3NF325.5.2 数据库表间的关系355.6 界面设计模型365.6.1 界面结构模型365.6.2 屏幕界面模型(伪界面)375.7 组件图415.8 部署图模型41 第一章 关于软件性质、规模、目标的报告书1.1 软件性质本软件是网上外卖系统,提供菜单,菜
3、式等信息。主要服务对象是附近一个大学的学生和周边公司的工作人员,便于就餐。1.2 软件规模因为服务对象比较有针对性,数量不是很庞大,而且提供的服务只是订餐一方面,用户订餐时间集中,所以选择中小型的网上外卖系统。1.3 开发该软件要实现的目标。本系统是针对于快餐店附近一个大学的学生和周边公司的工作人员而开发的一个网上外卖系统。该系统可以让客户进行快餐的网上浏览,并且进行订购,从而实现“宅”宿舍里就可以打饭。实现以下功能:1、方便客户了解各种菜式、有更多的选择,能够更好的选择自己喜爱的菜。2、拓展快餐店的贩卖渠道,增加收入。3、便于对菜式的销量信息和日销售额进行统计。4、可以电话订餐。1.4 题目
4、来源、选题背景题目来源:是从老师给的题目中选择的。选题背景:随着社会消费水平的提高和科技的发展,大学生生活质量和生活方式都发生的巨大的变化,“宅”生活已经深入人心,外卖也成为了越来越多的商家利润的来源,所以开发一个网上外卖系统刻不容缓。第二章 可行性研究报告2.1 技术可行性网上外卖系统是一项复杂的系统工程,为了保证系统成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。这I些方法旨在指导开发者进行工程化的系统开发,从而加快开发的速度,保证质量以及降低开发成本。工程化的系统开发确实在开发实践中取得了一定成果。此次开发使用Java作为开发语言,Java是一种全新、且简单、安
5、全、面向对象的程序设计语言是专门为Java的应用开发的语言。SQL Server 是有Microsoft 开发和推广的关系数据库管理系统(DBMS),是一个全面的数据库平台,提供了企业级的数据管理。SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。通过以上的分析,开发网上外卖系统是在技术上是可行的2.2 经济可行性虽然在系统开发期间会有软件开发所需的软、硬件资源及人力资源的费用,但是因为是小中型系统的开发,费用在可接受范围内,软件投入使用后会带来的效益,因为网上订餐系统给人们带来了方便,成为一种全新的商务模
6、式。不用出门就可以订餐的新时尚已经到来,构建一个网上订餐系统一定是效益大于成本的,所以在经济上是完全可行的。2.3 法律可行性该系统为独立开发,在技术上没有使用任何现有的软件与方法,所以在法律方面不会存在侵犯专利权,侵犯版权等问题。2.4 操作可行性该系统的开发的操作方式开发前期单机方式,在后期的测试阶段需要网络方式,较容易实现,用户可使用手机网络,电脑网络进行使用完全符合用户要求,操作方式也易被接受,所以可行。2.5 结论综合技术可行性、经济可行性、法律可行性、操作可行性的分析,网上外卖系统可以在有效的人力物力资源下得到良好的开发。第三章 项目开发计划3.1 系统概述项目目标:开发一个快餐店
7、网上订餐系统主要功能:1、方便客户了解各种菜式、有更多的选择,能够更好的选择自己喜爱的菜。2、拓展快餐店的贩卖渠道,增加收入。3、便于对菜式的销量信息和日销售额进行统计。4、可以电话订餐。系统特点:送餐的范围在快餐店的周围1公里内。3.2 系统资源开发和运行该软件所需要的硬件资源:电脑开发和运行该软件所需要的软件资源:MyEclipse、MySQL数据库开发和运行该软件人力资源:小组人数2人;小组成员的技术特长及责任小组成员负责需求其他购买功能详细见文档批注菜单管理3.3 进度安排时间进度周一关于软件性质、规模、目标的报告书可行性研究报告 项目开发计划周二、周三需求规格说明书周四总体设计说明书
8、周五完善论文 答辩第四章 需求规格说明书4.1 业务分析4.1.1 业务描述网上外卖系统提供当天的菜单、购买、登录/注册、个人修改、快餐店介绍等功能;同时为店主提供相对相应信息的维护及管理的功能,包括客户管理、菜单管理、订单管理、外卖情况统计、个人修改等功能。网络前台:(1)、当天菜单:在进入网上外卖系统首页后,单击“菜单浏览”,转入菜单浏览页面,显示给客户的是该快餐店的所有菜式。客户可以选择自己喜欢的菜式,单击某菜式标题进入查看菜式页面查看该菜式的主料、口味、图片、价格等详细信息。(2)、购买:登录后的客户可以在“菜单浏览页面”选择一个菜式,浏览菜式的详细的信息,客户把菜式添加到购物车,也可
9、以查看购物车的内容,就是返回购物车内容、每个条目的价格小计和购物车中所有条目的总价。客户可以更改要购买的菜式数量,也可以删除购物车里菜式。客户购买购物车里的菜式,将显示订单详细信息。(3)、快餐店介绍:已登录客户在进入外卖系统首页后,单击“关于我们”按钮,显示快餐店的地址、电话等简单介绍。(4)、登录/注册:客户在进入外卖系统首页后,单击“注册”按钮,进入注册页面。在注册页面,客户可填写注册信息(提供邮购和管理所必须的有效信息,如姓名,地址,电话等)进行注册。已注册的客户进入系统后单击“登录”按钮,进入登录页面,在登录页面,填写用户名、密码,经系统验证后登录系统。(5)、个人修改:客户进入外卖
10、系统首页并登录后,进入普通用户登录后的页面,单击“个人修改”按钮,进入个人修改页面,在该页面中,系统显示该用户的基本信息,用户可以修改这些基本信息。后台管理:(1)、客户管理:店主登录后,进入管理员登录后页面。店主在该页面中点击“客户”进入客户管理页面,店主可以在该页面中分页浏览客户信息、查看某客户的详细信息、删除某客户、添加客户。(2)、菜单管理:店主登录后,进入管理员登录后页面。店主在该页面中点击“菜单”进入菜单管理页面,店主可以在该页面中分页浏览菜单信息、查看某菜式的详细信息、删除某菜式、添加菜式、修改菜式。(3)、外卖情况:店主登录后,进入管理员登录后页面。店主在该页面中点击“外卖情况
11、”进入外卖情况查看页面,店主可以在该页面中对每天的外卖情况(比如,每种菜的销量,日销售额)进行统计,也可以清空一段时间内的外卖情况。(4)、订单管理:店主登录后,进入管理员登录后页面。店主在该页面中点击“订单”进入订单管理页面,店主可以在该页面中分页浏览订单信息、查看某订单详细信息、配送订单、删除订单、修改订单、添加电话订单。(5)、个人修改:店主登录后,进入管理员登录后页面。店主在该页面中点击“个人修改”进入个人修改页面,该页面显示店主个人信息,店主可以对其进行修改。4.2 功能分析,建立系统功能模型4.2.1 需求结构图4.2.1 网上外卖系统需求结构图 4.2.2 功能模型将网上外卖系统
12、所有需求合理归类,主要可以分为购买、订单、客户、菜单、外卖情况五个方面,主要为购买需求建立功能模型。一、购买(1)、描述:登录客户可以浏览菜式详细信息、添加菜式购物车,查看购物车、修改购物车里的菜式数量、删除购物车里的菜式,查看订单详细信息。(2)、用例图图4.2.2 购买用例图(3)、用例叙述(一)、“浏览菜式详细信息”用例的用例叙述用例名:浏览菜式详细信息参与者:客户事件流程:1、客户在菜单浏览页中,单击某菜式名,系统查询该菜式详细信息,将查到的菜式详细信息显示在查看菜式页面。2、客户在查看菜式页面中,单击“返回”,则返回菜单浏览页面。 (二)、“添加菜式到购物车”用例的用例叙述用例名:添
13、加菜式到购物车参与者:客户事件流程:1、客户在查看菜式页时,单击“添加”按钮,添加菜式到购物车,并转入购物车管理页面,单击“返回查看”按钮,就返回查看菜式页中。2、客户在查看菜式页中,单击“返回”按钮,则返回菜单浏览页。(三)、“查看购物车”用例的用例叙述用例名:查看购物车参与者:客户事件流程:1、客户在客户登录后的首页,单击“购物车”按钮进入购物车管理页面。2、系统从数据库中取出购物车里所有菜式信息,显示在购物车管理页面。2、客户在购物车管理页面,点“返回”,则返回客户登录后的首页。(四)、“修改购物车中菜式的数量”用例的用例叙述用例名:修改购物车中菜式的数量参与者:客户事件流程:1、客户在
14、购物车管理页中,单击某条菜式信息后的“修改”,系统从数据库中取出该菜式的详细信息,显示在“修改菜式数量”页中。2、客户在“修改菜式数量”页,修改的菜式的数量,点击“提交”,则转3,;点“取消”,则返回购物车管理页。3、系统将菜式信息更新到数据库中,若更新成功,则返回购物车管理页,否则转信息页,显示失败信息。(五)、“购买购物车里的菜式”用例的用例叙述用例名:购买购物车里的菜式参与者:客户事件流程:1、客户在购物车管理页中,选择要买的菜式,单击页面中的“购买”按钮。2、系统自动提交订单并且审阅是否符合送餐的范围在快餐店的周围1公里内。若符合则成功,进入订单详细信息页面,显示订单详细信息。否转信息
15、页,显示失败信息。(六)、“显示订单详细信息”用例的用例叙述用例名:显示订单详细信息参与者:客户事件流程:1、客户在购物车管理页面,单击“已购买”进入订单信息页面,显示已购买订单详细信息。2、客户单击“返回”,返回购物车管理页面。(七)、“删除购物车里菜式”用例的用例叙述参与者:客户事件流程:1、客户在购物车管理页面,单击某菜式信息后的“删除”按钮。2、系统从数据库的购物车表中删除,若删除成功,则返回购物车管理页。否则,转信息页,显示失败。4.3 对象分析,建立系统初步的对象模型图4.3.1 系统初步对象模型4.4 用例分析,建立用例分析模型用顺序图对用例进行分析,用BCE模式画“购买”需求的
16、顺序图。图4.4.1 浏览菜式详细信息用例的顺序图4.4.2 添加菜式到购物车用例的顺序图4.4.3 “查看购物车”用例的顺序图4.4.4 “修改菜式数量”用例的顺序图4.4.5 “购买购物车中的菜式”用例顺序图4.4.6 “显示订单详细信息”用例图4.4.7 “删除购物车里的菜式”用例的顺序图4.5 扩充和完善,建立系统完整的对象模型一、实体类图4.5.1 实体类图二、控制类图4.5.2 控制类图三、边界类购买相关:客户登陆页面、客户登录后的页面、菜单浏览页面、查看菜式页面、购物车管理页面、修改购物车里菜式数量页面、订单详细信息页面四、用状态图分析“购买”需求时用到的类的状态变迁图4.5.3
17、 购物车的状态图第五章 面向对象的总体设计5.1 软件运行环境浏览器:IE应用服务器:Tomcat 6.0数据库服务器:MySQL集成服务器:MyEclipse开发语言:Java开发技术:JSP+Servlet+JavaBean+JDBC5.2 软件架构模型5.2.1 软件逻辑架构图5.2.1 软件逻辑架构图5.3 用例设计,建立用例设计模型用顺序图对“购买”用例进行分析。图5.3.1浏览菜式详细信息顺序图图5.3.2 查看购物车顺序图图5.3.3 添加菜式到购物车顺序图图5.3.4修改购物车菜式数量顺序图图5.3.5购买购物车里的菜式顺序图图5.3.6 显示菜单详细信息顺序图图5.3.7删除
18、菜式到购物车顺序图5.4 扩充和完善对象模型,建立平台相关对象模型一、实体类图5.4.1 实体类图二、业务逻辑类图图5.4.2业务逻辑类图三、数据访问类图5.4.3 数据访问类图四、控制类图5.4.4控制类图五、边界类购买相关:user/login.jsp、user/userafterlogin.jsp、menu/browse.jsp、menu/show.jsp、car/carManager.jsp、car/OrderList.jsp、car/updateMenuCar.jsp 5.5 数据库设计模型5.5.1 实体类表3NF表5.1 订单表(OpOrder)名称描述数据类型大小约束默认值or
19、derId订单号Varchar100PKorderTime下单时间DateNN当前时间orderStatu订单状态Varchar100NNaddress订单地址Varchar200NNtelephone联系方式Varchar100NNmenuId菜名Int100NN FKnum数量IntNNuserId用户编号Varchar100NN FKprice单价Float100NNmoney总计Float100NN表5.2 电话订单表(OpTorder)名称描述数据类型大小约束默认值telephone用户电话Varchar100PKstatu用户状态Varchar100表5.3 客户表(OpUser)
20、名称描述数据类型大小约束默认值userId用户编号Varchar100PKuserName用户名Varchar100NNuserPwd密码Varchar100NNuserRname用户姓名Varchar100telephone电话Varchar100NNaddress地址Varchar200NN表5.4 购物车表(OpCar)名称描述数据类型大小约束默认值userId用户编号Varchar100NN FKmenuId菜式编号IntNN PK FKnum数量Int1price单价Floatmoney总价Float表5.5 菜单表(OpMenu)名称描述数据类型大小约束默认值menuId菜式编号I
21、ntAI PKmenuName菜名Varchar100NNmenuType菜式类型Varchar100NNprice菜式价格FloatNNmenuMain菜式主料Varchar100NNtaste菜式口味Varchar100NNpicture菜式图片Varchar100NN表5.6 外卖情况表(OpInfor)名称描述数据类型大小约束默认值Id外卖序号IntAI PKmenuId菜单号IntNN FKnum销售数量Intmoney销售金额Float5.5.2 数据库表间的关系图5.5.1 数据库表之间的关系5.6 界面设计模型5.6.1 界面结构模型图5.6.1 页面跳转关系5.7 组件图图5.7.1 组件图5.8 部署图模型图5.8.1部署图