《美食分享APP需求文档》由会员分享,可在线阅读,更多相关《美食分享APP需求文档(15页珍藏版)》请在金锄头文库上搜索。
1、美食分享App需求分析1.引言俗话说民以食为天,自古以来人们的生活就与美食紧密相连。我们小组认为,随着移动互联网时代的到来,手机菜谱类App行业最具潜力成为未来市场上的一匹多金黑马。美食行业在市场的地位都是永摧不倒。而且如今的菜谱行业,不仅仅局限于向消费者传递一些美食制作的方法,在移动互联网时代的菜谱行业也带来了一种新的生活方式和健康理念。所以,美食菜谱类APP占居消费市场与“吃”相关的入口,拥有巨大的想象空间,发展前景也是光明而又乐观的。1.1.编写目的本需求分析说明书是为了开发美食分享而编写的,主要面向分析员、程序员、测试员和最终用户,使之能更好地理解系统功能以及实现系统。本说明书不仅是整
2、个软件开发的依据,对以后的维护性工作也起着指导性的作用,同时也是测试计划和用户手册的编写依据。1.2项目背景()应用软件名称:美食分享APP(2)任务提出者:陈绍文,王朋,徐秀菊(3)用户:广大人民群众(4)实现:信计研发小组(5)构建平台:平台,其数据库构建在上,并可实现权限限制性兼容,与其他手机应用软件并不冲突。13定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。14参考资料软件工程清华大学出版社美食社区网站的设计与实现电子科技大学出版社()开发案例驱动教程清华大学出版社面向美食网站的搜索及点评与图片去重模块的设计与实现哈尔滨工业大学出版社2任务概述2.1目标本App旨在针对
3、美食爱好者以及需要相关信息服务的网民建设以满足客户基本需求(菜谱查询,获得饮食健康资讯)为基础,提升用户体验(增加互动性和趣味性)为目标的新型享型美食菜谱分享。用户可以通过该App查看菜谱,创建菜谱,浏览资讯,发表评论,分享经验心得,进行好友分享以及讨论区进行交流讨论。该应用软件管理员可通过以发布信息,管理(修改,删除和增加)菜谱,管理讨论区对该APP的日常运营进行管理和维护。22运行环境(1) 处理器型号及内存容量:CY1.7GHZ,内存lg;(2) 外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量:80G硬盘即可;(3) 输入及输出设备的型号和数量,联机或脱机;(4) 数据通信设备
4、的型号和数量;(5) 功能键及其他专用硬件;23条件与限制()条件:手机方面具备以上系统,服务器端在位(2)限制:操作系统限制:操作系统android4.0以上软件限制:应安装杀毒软件,防止病毒干扰3.数据描述数据需求()用户信息(用户一主键,用户名,头像,用户类型,密码,个性签名,性别,出生日期,职业,家乡,现居地,个人简介)()美食信息(美食主键,用户,美食名称,美食图片,美食简介,史由来,备注)美食用料(美食,用料主键,菜名,分量)美食做法(美食,步骤,具体做法,图片)美食种类(美食,种类,种类名称)美食地域(美食地域,国籍,省,市)美食推荐(美食,用户,推荐时间)收藏表(美食用户,收藏
5、时间)美食留言(美食,用户,留言)()主题表(用户,主题,内容发表时间)()主题回复表(用户,回复主题,内容,回复时间)软件系统的数据流程和处理流程(1)数据对象的E-R图,如下图主:Ski主题用户回复1个人间朴KEJd吓AKJ介抚载荣老出生E茸N更=包含美食底于IM备拄美食地域厨于步黄帚县美食种类1r11出生Eflf.-性剧ViBUkftjfeid(2)数据流图游客管理员查询、浏览信觀美食分享查询;浏贯响应会员信息个管理管理信息向应信息个人图2-1顶层DFD图查離見孑/注成I页面;V:1二理WK收菅A月強息注册/理邛美餡急数据库介绍查看三o除云贞三回复1B息皤哥里(1)服务器程序在管理员与用
6、户进行各种操作(创建,收藏,修改,删除,评论菜谱,删除,创建,评论主题,查看,删除用户)时需要对数据库进行数据提交,即对数据库进行查询与修改:在上面的操作过弄程中都需要对数据库中的所有表,进行联合查询、修改层DF左(2)物理数据结构主要用于各模块之间函数的信息传递。(3)接口传递的信息是用数据结构封装了的数据,以参数传递或返回值的形式在各模块间进行传输。(4)对于出错信息要返回出错提示给用户,并提供出错信息的处理方法以保证软件运行的可维护性。数据管理能力要求根据市场对美食的需求以及团队的业务能力,该软件包含了各种家常美食以及全国各地特色美食菜谱的分享,同时美食好友之间可以互相分享烹饪经验与心得
7、,因此估计用户量比较大,对数据的处理量也处于中等水平,对于团队来说也是一个考验。故障处理能力软件的操作主要是对数据库的管理和维护,其中发生的故障也是针对数据库的,基于数据库有日志文件,可以很方便的修复;而另外方面的故障是在android开发主要是服务器处理多线程的问题,当有多个用户访问服务器时,由于目前开发受限,服务器可能会出现无响应等行为,因此,对该方面需要做到很好的处理。其他专门要求(1)App设计与布局问题。因为该应用软件需要给用户提供大量的信息服务,所以在设计的过程中需要极其关注页面分割和模块设计的合理性。此外,界面的色彩搭配以及设计需要满足分享型菜谱类App的要求。(2)数据分类问题
8、。由于该App需要对大量的信息和数据进行分类,如按照食材对菜谱进行分类,按照人群对饮食建议进行分类。因此,对数据库的设计有严格的要求。(3)搜索问题。该App需要给用户大量的信息服务,包括菜谱以及健康资讯等,因此应重视搜索功能的完善性,需考虑搜索排序等多方面的问题。(4)操作简便问题。做到能够适合各类美食爱好者使用。4.功能需求4.1主要功能前台功能:()普通用户可以通过该()普通用户可以通过该普通用户可以通过该普通用户可以通过该查看菜谱搜索菜谱(按菜名,食材等)浏览他人分享的菜谱,经验注册成为会员(免费注册)会员可以创建个人菜谱,进行经验和心得的分享会员可以对其他会员创建的菜谱进行评论,收藏
9、。会员可以在专门的讨论区发言,与其他会员进行线上交流与讨论会员可以对个人信息进行管理(修改昵称,修改头像,修改密码)会员可以对自己创建的菜谱进行管理(修改菜谱,删除菜谱)后台功能:管理员通过后台对菜谱进行管理浏览菜谱推荐菜谱删除菜谱管理员通过后台对该信息进行管理发布一些健康资讯和每日精选的信息管理已经发布的信息(有条件的修改和删除)管理员通过后台对会员进行管理查看会员(基本信息,创建的菜谱,发表的言论)删除会员(严重违规会员)管理员通过后台对讨论区进行管理浏览发言管理发言(删除违规言论,推荐优质分享)4.2浏览頁面用户登录游客角色管理束谱管理冶台菜谱管理人信息管理佥卉违旨通吕管理讨论区管瑾讯除
10、兰赵美食文卞腎世兰屋讯佶讦世会员管浬员图1-2美食分享月训图5性能需求51准确性和及时性(1)系统处理的准确性和及时性是系统的必要性能。(2)在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的需求。(3)由于系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而美食的种类又影响用户的决策活动,其准确性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。52开放性和可扩充性(1)系统在开发过程中,应该充分考虑以后的可扩充性。用户查询的需求也会不断的更新和完善。所有这些,都要求系
11、统提供足够的手段进行功能的调整和扩充。(2)要实现可扩充性,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入或减少系统的模块。通过软件的修补、替换操作来完成系统的升级和更新换代。53易用性和易维护性(1)系统是直接面对使用人员的,而手机的品牌却是各不相同的。这就要求系统能够提供良好的用户接口,易用的人机交互界面。(2)要实现易用性,就要求系统应尽量选择用户熟悉的术语和语言界面;并针对用户可能出现的使用问题,提供相应的在线帮助,缩短用户对系统熟悉的时间。(3)系统应提供方便的方式供系统维护人员进行数据的备份,日常的安全管理,以及系统意外崩溃时数据的恢复等操作。
12、54标准性(1)系统在设计开发使用过程中都要涉及到很多计算机和手机硬件、软件,所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准;规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及IS09002标准所要求的质量规范等。(2)在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。55先进性(1)通过系统的开放性和可扩充性,不断改善系统的功能完成。(2)在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并有良好发展前途的产品。56响应速度快(1)系统在日常处理中的响应速
13、度为秒级,达到实时要求,以及时反馈信息。(2)进行统计分析时,根据所需数据量的不同而从秒级到分钟级,则是保证工作人员不会因为速度问题而影响工作效率。运行需求61用户接口本系统的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面女如输入界面、输出界面。6.2外部接口用户界面:在用户界面部分,根据分析结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,做到不仅拥有可靠性,同时有易使用性。(2)外设接口:在输入方面,对于手机键盘的输入;在输出方面,网络的传输;实现高速传输。63故障处理()输出出错信息:程序在运行时主要会出现输入信息不满足要求时的软故障,以及类似网络传输超时等其他原因产生的硬故障两种故障。对于软故障,须在各种操作(如菜谱的创建,修改,删除等)是否成功进行判断,以及输入数据的验证模块进行数据分析,判断故障类型,再生成相应的错误提示语句,送到输出模块中;对于硬故障,可在故障产生的相应模块中输出简单的出错语句,并将程序重置,返回输入阶段。(2)处理对策:为了防止客户端与服务器实现交互过程中造成数据丢失,在网络运输方面采用http协议,实现TCP连接,当一定时间内没有得到响应则进行重发等操作。网络传输方面