编辑: ZCYTheFirst | 2016-03-02 |
1 发行日期: 2014/7/8 作者:林哲超、李佳、张鹏飞、王怀(havefun_studio) 修改情况一览表 版本 Version 出版日期 Issue Date 修订章节 Section Changed 修订原因 Reason for Issue 修订者 Modifier 1.0 2014-4-10 全部章节 首次发行 havefun_studio 1.1 2014-4-12 详细用例 小组讨论 havefun_studio 1.3 2014-4-21 全部章节 小组讨论 havefun_studio 2.0 2014-5-04 全部章节 小组讨论 havefun_studio 2.1 2014-5-16 4到5章节 添加 havefun_studio 2.2 2014-5-27 系统包图 添加 havefun_studio 3.0 2014-6-23 数据描述 添加 havefun_studio 3.1 2014-6-30 Vision 添加 havefun_studio 目录 1. 引言
4 1.1编写目的
4 1.2 项目背景
4 1.3 Vision
4 1.4 定义
4 1.5 参考资料
5 2. 任务概述
5 2.1 目标
5 2.1.1综述:
5 2.1.2用户级目标:
6 2.2 运行环境
6 2.3 条件与限制
7 3. 数据描述
7 3.1 数据流图
7 3.1.1顶层数据流图
7 3.2 数据字典
7 4. 功能需求
8 4.1 系统包图
8 4.2 用例总图
9 4.3 简单用例和模块用例图
9 4.4 详细用例
13 5. 性能需求
20 5.1 数据精确度
20 5.2 时间特性
20 5.3 适应性
20 6. 运行需求
20 6.1 用户界面
20 6.2 硬件接口
21 6.3 软件接口
21 6.4 故障处理
21 7. 其他需求
21 7.1 可使用性
21 7.2 安全性
21 7.3 可维护性
21 7.4 可移植性
21 引言 1.1编写目的 编写本《软件需求说明书》的目的在于详细地说明Have饭餐厅排队点菜系统的功能需求、性能指标和运行环境等特性,以利于本软件的设计、研发、测试和验收等. 本文档适合课程管理系统的开发人员、测试人员、验收人员等,并作为系统开发和测试的参考依据. 1.2 项目背景 Have饭餐厅排队点菜系统: 委托单位:史殿习、尹刚 开发单位:havefun_studio小组(林哲超,李佳,张鹏飞,王怀) 主管部门:国防科技大学计算机学院 用户:餐厅、顾客 实现软件的单位:国防科技大学计算机学院 其他配套软件和硬件:Windows
7、Windows Server
2003、数据库(MySQL)、网络 《分布式计算环境》是国防科技大学计算机学院开设在研究生一年级春季学期的专业课程.课程介绍分布计算模型,分布计算平台,分布式软件开发环境等分布计算方向的概念、技术和环境,并通过实验提高学生的技术视野和实践能力. 1.3 Vision 在去一些比较热门的餐厅吃饭时,我们经常需要领号在那里排队,我们为什么不把排队的这段时间利用起来去做点其他的事情呢?所以,基于生活中这样的一个问题,我们小组打算开发一套基于Android平台的餐厅排队点餐系统,可以通过手机端的App向餐厅领取排号,同时,在将要排到的时候,餐厅会给手机端发一个消息,通知顾客就餐.这样,我们只要随身带着手机,排队的这段时间就可以利用起来去做自己喜欢的事情,而不必担心叫过号.除此之外,还可以通过手机端向餐厅点菜,当排到我们的时候,就可以很快的吃到美味的饭菜. 1.4 定义 1.4.1 Android端:运行在用户手机上的程序,与PC端通过Server端进行数据的交流.用户可以通过Android端向PC端发出排队和定菜等请求. 1.4.2 PC端:运行在店家计算机上的程序,与Android端通过Server端进行数据的交流,接受来自Android端的排队和定菜请求,店家可以通过PC端向用户发出就餐通知. 1.4.3 Server端: 运行在服务器上的程序.Server端负责数据的处理(包括排队的算法,计算排队需要多少时间等等),而PC端与Android端只负责将相关的数据发送给服务器,由Server端对这些数据进行处理,并发送相关的数据给PC端或者Android端,这样做可以减轻PC端与Android端处理数据的压力. 1.4.4 JSON(JavaScript Object Notation):JSON是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. 1.4.5 顾客(Customer):Android端注册用户,可以向餐厅发出排队请求并点菜. 基本信息:包括基本信息:顾客ID,用户名,密码. 1.4.6 店家(Restaurant):PC端注册的店家,可以接受顾客的排队和定菜请求. 基本信息:包括基本信息:店家ID,店家名,密码,地址,坐标,简介,菜品,折扣消息,店家有的餐桌类型. 1.4.7 菜品(Food):店家中的菜单. 基本信息:包括基本信息:店家ID,菜品ID,菜名,价格,标签,备注. 1.5 参考资料 Carig Larman.《UML和模式应用》.北京:机械工业出版社,2008年Roger S. Pressman. 《软件工程――实践者的研究方法》.北京:机械工业出版社,2010年 王珊 萨师煊 著,数据库系统概论(第4版),北京:高教出版社,2006 Deitel 著,Java大学教程(第6版)(英文版),北京:电子工业出版社,2008 李刚 编著,疯狂Android讲义(第2版),北京:电子工业出版社,2013 Mark Lutz著,Python学习手册(第4版),北京:机械工业出版社,2011 任务概述 2.1 目标 2.1.1综述: 生活中我们可能经常会遇到这样的问题:在餐厅或者银行领号码排队的时候,由于排队时间的不确定性,我们经常得在原地等着,而等的这段时间有可能很长,这段时间我们可能除了干等着别无他事可做,那么我们可否将这段时间利用起来呢?基于这样一个现实生活中的问题,我们小组打算开发一个餐厅排队系统,这样我们只需要利用手机端可以向餐厅排队,并获知自己的排号,这样我们只需要随身带着手机(现在的环境下可能不随身带着手机才比较困难)便可以实时获知自己的排号,不必担心叫过号.而这段时间我们也可以利用起来去逛逛街或者做一些其他有意义的事,等到快叫到自己的时候,再回到餐厅.同时,我们还希望当排到我们用餐时,立马就可以有热腾腾,可口的饭菜可以享用,所以我们小组还打算给这个排队系统添加点菜的功能. 2.1.2用户级目标: Android端: 获取店家列表: 根据当前用户所在位置获取店家信息,列出当前在线的所有店家. 排队: 获取排队信息,取消排队,更新排队信息,确认就餐,完成就餐. 点菜: 获取菜品种类,获取相关菜品的菜单,下单订菜,修改已订菜品,删除已订菜品,查询已订菜品,查询已订菜的价格. 消息管理: 查看店家发给用户的消息,删除消息. 用户管理: 添加用户、修改用户信息、删除用户 PC端: 排队管理: 手动添加非手机端用户,自动添加来自手机端的用户,通知用户就餐,删除已就餐用户. 菜单管理: 添加菜单,修改菜单,删除菜单. 店家管理: 修改店家信息. 2.2 运行环境 Android端: 操作系统:Android2.3及以上 PC端: 操作系统:Microsoft Windows OS(如XP、Vista、