《软件工程课程设计报告--Fly外卖系统的分析与设计.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告--Fly外卖系统的分析与设计.docx(49页珍藏版)》请在优知文库上搜索。
1、软件工程课程设计报告Fly外卖系统的分析与设计1、项目可行性研究1.1 文档编写目的随着互联网时代的发展,大学生作为这个时代的青年军,对于新鲜事物的尝试是最踊跃的,鉴于这一块我们从大学生的饮食入手,打算做一个外卖软件,因为现在的人们都喜欢用着手机,不爱出门了,这样可以满足大多数人不用出门就能吃到心仪的食物,所以外卖软件有着巨大的潜力和发展。1.2 项目背景2016年,中国高校大学生数量有3500万人,而且还在以每年15.6%的速度在增长,这一庞大的大学生群体有着巨大的消费潜力。据中华全国学生联合会及相关检测机构的调查大学生每学期人均消费5519元,其中饮食消费占了大家花钱总体的74.8%,所以
2、外卖行业有着巨大的潜力。从下图这张图片可以知道,现在大学生用于吃饭的钱占了生活费的大头,所以在这个时代外卖行业的兴起是必然的图Ll大学生消费情况通过上面的俩个表我们可以看出,大家在乎的是饭菜的质量,价格,所以我们在挑选商家时候也会精心挑选一些大家好评较多的商家,并且会推出一些特色菜品供给大家选择,在食材上我们也打算采取食材全部曝光在网上,让大家吃的放心吃的舒心。1.3 项目设计工具MicroSoftofficeVisio2007SybasePowerDesigner1.4 项目可行性分析1.4.1 市场分析现在外卖行业也处于新兴行业,由于互联网和大数据处于一个蓬勃发展的阶段,而且人们也越来越依
3、赖互联网,所以这一块行业有着巨大的潜力和发展前途,现在外卖行业也刚刚处于一个起步状态,所以我们有着很好的机会和机遇。现在这个外卖行业刚刚开始有俩家公司已经占据了绝大市场,分别是:饿了么,美团外卖。作为一个顾客我能切身的体会到外卖行业比较大的俩个核心竞争力:1.物美价廉2.配送时间。所以我们觉得食物的价格和味道我们开发人员所能做的并不多,所以想从节约配送时间方面作为我们产品的核心竞争了,想想看即使你的味道差别人一些但是你能半小时内送到和那种味道很好一个多小时还没到的顾客的体会也是不一样的。所以我们从我们产品名字就能体现出我们产品的核心理念Fly飞,就是要体现出我们比别人送的快。1.4.2 技术可
4、行性技术背景:我们的FIy外卖APP基于谷歌安卓技术开发IinX内核技术,支持安卓4.O以上系统,我们考虑到会出现几种安全问题,比如用户的密码安全防护,还有支付功能的保护,还有管理员和用户之间的权限关系,并且还有一些App经常发生的并发性的解决,最后我们在内存数据保护上也会做一些安全机制,最后我们这次Fly外卖App主要提供以下几种安全机制: 登录密码短信发送机制 商家,客户网上交易安全交易机制 权限声明机制 访问控制机制 进程通信机制 内存管理机制因为每一个App都会有并发问题,所以我们Fly外卖APP打算对于Android,即LinUX系统来说,一个用户即一个文件目录,用户目录之间的互访是
5、受权限控制的,在没有指定权限的情况下,用户间是不能有互相控制的能力的,除非用户获取了系统权限,即我们常说的root权限。在系统内存储,如果获取了rt权限,把文件写到系统目录下会是一种方式,root权限不容易获取并存在安全隐患,不推荐这么做。可以绕个思路,内存储不行但还有外置存储,这个是多用户公用的,可以把相关数据放在外置存储器上,达到共享的目的。1.4.3经济可行性我们这个产品主要面对重邮,所以学生是我们客户的主力军,但是也不乏一些公司订餐和私人订餐,所以对于这些用户来说外卖的口碑很重要,目前外卖市场需要完善的地方是对于菜品的质量和搭配,这是影响外卖口碑的关键性部分,因此要做到丰富菜品。第二个
6、就是配送速度。我们会先去考察一些口碑很好的商家,然后进行一些食材的拍摄,对于拍摄很重要,毕竟客户第一次只能从图片中看到实物。而且我们要需要去各个不懂种类的商家进行考察,保证品种的多样性,满足各个客户的需求。最后我们要从配送入手,要自己建立一个配送团队,分拨给各个商家,需要对校园熟悉的同学。结论:以上就是我对我们Fly外卖项目的可行性分析,可行性涉及的当前背景下的条件及其解决方案,我们从市场需求,行业发展角度,和技术可行性的角度出发深入研究决定可以开始这个app的开发。1.5项目角色分工表1.1项目角色与分工表姓名承担角色备注陶文祥开发人员组长刘敏开发人员可行性分析、管理员详细设计袁野开发人员测
7、试功能用例设计廖津开发人员测试计划、总结及协助测试用例夏心怡测试人员概要设计欧银川测试人员详细设计2、项目需求分析2.1项目功能图图2.1项目功能图本网站分为两个模块:1、买家用户;2、商家用户;3、前台用户(未登录用户)。2.2.1前台用户查看商铺列表:在用户进入外卖页面是展示店铺列表,全部的店铺列表,根据店铺创立的先后进行排序。用户都可以查看查看某商铺:用户可以点击商铺列表进入某商铺列表,可以看到店铺的名称、地址、订单量等信息,还可以看到该商铺的菜品列表。查看菜品:菜品将在商铺详情列表中,以列表形式完全显示。有菜品图片、菜品名称、定该菜品的订单量、金额和下单按钮(当点击触发的时候,系统判断
8、是否是买家己登录用户,如果不是跳转到登录界面)2.2.2买家用户登录功能:买家用户需要登录时,跳转到登录界面。登录只有验证码登录的方式(当用户是第一次用验证码登录是及表示注册)用户信息管理:用户信息主要包括用户收货地址和用户手机号(手机号不能修改)(只有一个收货地址可以修改)购物车管理:用户在查看菜品时,可以加入菜品到购物车,购物车可以添加可以取消下单功能:用户可以提交购物车(一次下单只能在一个店家中进行),然后去确认订单信息。主要包括用户地址、用户手机号、店家名称(不可相同)、选购菜品、金额等信息。订单支付功能:订单支付主要调用第三方支付平台,(支付宝、微信)。支付成功后回调成功代码,后跳转
9、到订单详情页面订单详情页面:订单详情页面和下单页面基本相同,多加入了下单时间,和付款状态(未支付、己支付)查看自己的订单列表:用户可以查看自己的订单列表,订单列表显示自己的订单列表信息包括订单时间,订单状态(未支付、已支付),按照时间倒序排序登录功能:买家用户需要登录时,跳转到登录界面。登录只有验证码登录的方式(当用户是第一次用验证码登录是及表示注册),如果没有数据记录跳转到创建商铺界面(一个商家只能创建一个商铺)商铺创建界面:填入商铺名称、商铺地址、商铺图片(只有一张)。进入商铺管理:商铺管理界面中主要是做菜品列表(名称,图片)管理,可以直接下架,添加菜品和修改商铺信息按钮。添加菜品功能:主
10、要信息有菜品名称、菜品图片修改商铺信息:填入商铺名称、商铺地址、商铺图片(只有一张)。查看订单列表:商家收到的用户订单数据主要有(用户手机号,订单时间,订单金额),可以点击进入订单详情,订单状态(未付款,已付款,已送达)。订单详情列表:和用户看到的订单详情界面是相同的(如果是已付款,就有已送达按钮。)2.2.4管理员管理员可以审批数据商家请求数据和管理商铺的展示和隐藏。2.3项目参与者描述项目参与者包括管理员用户、买家用户、商家用户,关于如下图:商家买家图2.2参与者图2.4项目用例图菜品管理图2.4商家用例图图2.5管理员用例图图2.6公共用户用例图2.5项目软、硬件环境硬件环境:centO
11、S服务器、安卓机。软件环境:JaVa运行环境、MySqI数据库。2.6项目性能需求(1)在系统中执行的操作,95%的都必须在5秒针内响应.(2)系统必须支持100并发用户.(3)首页打开速度3秒以下;(4)接口返回在300亳秒以下;(5)系统在200%的压力下可以稳定运行12小时;(6)用户并发,接口处理能力至少达到50TPS;3、项目概要设计3.1 模块功能详细描述3.1.1 注册模块所有用户第一次使用都会进入注册模块。点击我是商家或者我是顾客进行注册。用户注册是输入手机号接收验证码,商家注册需要填写商家地址,上传实体店图片,之后等待管理员用户审核。3.1.2 登录模块打开APP自动登录,顾
12、客,商家用户各自进入不同首页。商家首页是自己的商铺页面内,顾客首页是附近的商家推荐。3.1.3 查看商铺列表模块根据用户填写的地理信息,自动显示出周围的商家。点击进入商家用户的店铺。点击菜品后菜品加入购物车。3.1.4 用户信息管理模块此模块中用户可以自己填写自己的收货手机号,收货地址,或者对手机号,收货地址进行更改。每次更改后结果写入数据库保存。3.1.5 购物车管理模块购物车保存顾客用户选中的菜品。可以对选中的菜品进行增加一份或者减少一分的操作。有支付按钮,点击调用第三方接口就行付款。3.1.6 订单列表模块点击后进入顾客的订单列表,可以查看正在配送中的订单状态,可以查看己购买订单。点击己
13、购买订单会快速跳转到商家店铺。3.1.7 进入商铺管理模块可以设置店铺地址,让顾客用户能查看到。可以对商铺内菜进行增删改价。3.1.8 查看订单列表模块查看顾客用户的在本商家已付款订单。能查看到顾客的手机号,地址,支付金额,配送菜品。3.1.9 查看商家详情模块按地区分,查看所有商家的店铺。点击后如买家的查看商家模块一样,进入商家店铺。3.1.10 审核列表模块显示所有待审核商家用户与其填写的信息。若审核通过,则用户成为商家,下次登录生效。若审核不用过,调用第三方接口,以短信的形式通知用户。3.2 模块功能所有用户图此图是所有用户图,包括有商家用户、顾客用户、管理员用户顾客用户的注册仅仅只是通
14、过验证码,无门槛的注册;商家用户的审核会非常严格;管理员用户需要提前设计好。图3.1模块所有功能用户图O图3.3顾客用户用例图图3.1.1模块所有功能用例图4、 项目详细设计4.1 注册模块详细设计4.1.1 注册模块活动流程图图4.1注册模块活动流程图4.1.2 注册模块事件流程描述4.1.3 1.2.1基本事件流描述用户通过系统登录界面注册。在注册界面中可以选择成为用户或者是成为商家。填写手机号并接收验证码。如果通过验证,那么就注册成功。如果验证失败,提示失败信息。4.1.4 注册模块类图设计图4.2注册模块类图4.2 商家或者用户登录模块详细设计4.2.1商家或者用户登录模块活动流程图图4.3登陆模块活动流程图4.2.2商家或者用户登录模块事件流程描述4. 2.2.1基本事件流描述商家或者用户通过用户填写本机号码,接受验证码。如果正确填写验证码,正常登陆到主界面。如果验证码填写错误,系统反馈错误信息。如果提示该号码并没有注册跳转至系统注册页面。4.2.3登陆模块类图设计图4.4登陆模块类图4.3用户下单模块详细设计4.3.1用户下单模块活动流程图图4.5用户下单模块活动流程图4.3.2用户下单模块事件流程描述4.3.2.1基本事件流描述顾客登陆系统登录成功进入系统主界面,登陆失败提示失败信息。用户选择商品下单。下单失败,