物联网个人项目报告

上传人:今*** 文档编号:108101411 上传时间:2019-10-22 格式:DOCX 页数:16 大小:937.90KB
返回 下载 相关 举报
物联网个人项目报告_第1页
第1页 / 共16页
物联网个人项目报告_第2页
第2页 / 共16页
物联网个人项目报告_第3页
第3页 / 共16页
物联网个人项目报告_第4页
第4页 / 共16页
物联网个人项目报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《物联网个人项目报告》由会员分享,可在线阅读,更多相关《物联网个人项目报告(16页珍藏版)》请在金锄头文库上搜索。

1、物联网个人项目报告我们组的物联网大作业是“食享”APP,它是一款基于位置的轻量级美食分享交流应用。在项目中我主要负责Android端后台开发,以及小组报告的撰写。 1绪论1.1课题研究背景本小组从物联网的定义出发,觉得从全球定位系统这个点出发,相对于我们的整体水平,更容易实现。随着全球经济的飞速发展,传统的商务模式已经不能满足企业生存发展的需要.于是电子商务这一新兴产业便应运而生。从近几年电子商务的发展速度和规模来看,足以显示其带来的巨大的商业价值。互联网和宽带上网的普及使电子商务在中国异军突起,并日益渗透到人们的日常生活中。电子商务是运用现代通信技术、计算机和网络技术进行的一种社会经济形态,

2、其目的是通过降低社会经营成本、提高社会生产效率、优化社会资源配置,从而实现社会财富的最大化利用。电子商务按照经济活动的类别可分为两大类别:第一,企业间的电子商务,即企业与企业之间,通过网络进行产品或服务的经营活动“第二企业与消费者之间的电子商务,即企业通过网络为消费者提供一个产品或者服务的经营活动。本课题所研究的美食网站主要是为个人消费者提供产品和服务等,从事的是第二类电子商务活动。1.2课题主要内容注册与登陆界面;美食拍照与定位;地图显示与分享位置;用户聊天与互动(美食微博);(互动包括:聊天,关注,点赞,评论等)用户个性化添加标签;1.3主要内容介绍美食分享软件系统包括了一般用户、系统管理

3、员两种用户,根据其不同的角色对系统有不同的需求。1.3.1 一般用户需求 一般用户可以通过安装在Android系统上的应用程序来访问美食分享软件。在手机端,用户可以注册或者登录系统,登录之后能够进行搜索美食,查看美食,收藏美食,上传美食等操作。这些功能已经全部实现了。1.3.2 管理员需求 当管理员登录美食分享系统时,可以对整个系统进行管理,包括添加美食种类,删除美食种类,更改每日推荐等等。这些功能都已经实现,而且直接登录数据库图形化管理工具Navicat,操作数据库更为方便。性能方面,就下面数据精确度几个指标进行展开:我们的系统能够做到:用户在进行美食搜索时要保证查全率、查准率,所有符合条件

4、的美食都能被找到,这达到了预期的目标。1.3.3 时间特性 1. 打开一个新的链接的时间不能超过3秒。2. 系统处理美食搜索操作响应时间不能超过10秒。3. 我们的系统,打开一个新链接需要时间不到1秒,在毫秒的量级; 4. 进行美食搜索操作同样也不到1秒,当然,这与我们的数据库里能够搜索的内容偏少有关。(2)适应性 本软件系统应能在Android 2.2及其以上手机操作系统上良好运行,Web端应能使用IE6.0以上内核的浏览器,Chrome浏览器,FireFox浏览器进行访问,完全达到预期目标。(3)安全性我们的系统具有一定程度的权限管理,逻辑分析以及检测数据完整性功能,各个功能模块需要相应的

5、权限才能访问。例如:非注册用户(游客)只具备浏览美食,搜索美食的权限,只有登录用户才可以对美食进行收藏、上传等操作。这一部分在Web端和Android端已经实现,但是还有一些本地验证等还需要进一步的完善。(4)可靠性只要服务器不宕机(充当服务器的PC不关机),系统可以保证一直正常运行。2模块搭建2.4.2 系统主要功能接口设计众所周知,接口是提供给其他模块或者系统使用的一种约定或者规范。因此接口必须要保证足够的稳定性和易用性。这是设计接口的基本要求。在Android端,各个Activity模块之间的数据交互主要是利用Bundle类对数据进行封装,然后通过Intent机制在各个模块之间进行传输。

6、Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器的Activity来浏览网页。要在不同的activity之间传递数据,就要在intent中包含相应的内容,

7、一般来说数据中最基本的应该包括: Action:用来指明要实施的动作是什么,比如说ACTION_VIEW, ACTION_EDIT等。具体的可以查阅android SDK- reference中的Android.content.intent类,里面的constants中定义了所有的action。 Data: 要事实的具体的数据,一般由一个Uri变量来表示。 Category:一个字符串,包含了关于处理该intent的组件的种类的信息。一个intent对象可以有任意个category。 Type:显式指定Intent的数据类型(MIME)(多用途互联网邮件扩展,Multipurpose Inte

8、rnet Mail Extensions)。2.4.3 登录模块 (1)请求消息接口含义:客户端通过socket请求提交用户信息进行验证接口协议:TCP/IP协议命令字:dout.writeUTF参数描述约束uid系统给用户分配的id必须是注册成功的idpwd密码必须是对应的密码(2)接收消息接口含义:客户端接收来自服务器端发来的消息接口协议:TCP/IP协议命令字:din.writeUTF参数描述约束uid系统给用户分配的id必须是注册成功的idpwd密码必须是对应的密码这部分的核心代码实现如下:2.4.4 注册模块(1) 请求消息接口含义:客户端通过socket请求提交用户信息进行注册接口

9、协议:TCP/IP协议命令字:dout.writeUTF参数描述约束u_name用户名不能为空u_pwd1密码两次密码输入一致u_qqQQ数字u_Email邮箱地址不能为空u_dis个人描述无(2) 接收消息接口含义:客户端接收来自服务器端发来的消息接口协议:TCP/IP协议命令字:din.writeUTF参数描述约束uid系统给用户分配的id必须是注册成功的idu_name用户名提交的用户名这部分的核心代码实现如下:2.4.5 拍照模块这一部分调用了手机上的相机api,同时将得到的照片提交到上传模块中,与其他内容一起提交到服务器中。拍照的API函数:myCamera.takePicture调

10、用的过程:返回数据:接口含义:拍照模块向上传模块发送图片数据接口协议:TCP/IP协议命令字:onPictureTaken参数描述约束data图片二进制数据无主要实现代码:2.4.6 地图模块这一部分调用了Google地图的API,同时将得到的照片提交到上传模块中,与其他内容一起提交到服务器中。调用的Google地图API包括以下几个方面:返回数据:接口含义:地图模块向上传模块发送图片数据接口协议:TCP/IP协议命令字:setResult参数描述约束RESULT_OK标识符无lat经度浮点数lon纬度浮点数主要实现代码:其他模块的接口设计与上述几个模块的接口设计类似,在这不再赘述。2.5 系

11、统的设计模式应用2.5.1 MVC设计模式MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于 映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC结构如图2-5所示:图2-5 MVC结构图2.5.2 抽象工厂模式下面是系统封装的抽象工厂描述性说明(1) 创建抽象工厂类public class BeanFact

12、ory(2) 保存相关对象保存Service相关对象private Map serviceMap = new HashMap();保存Dao相关对象private Map daoMap = new HashMap();(3) 返回相关对象实例return serviceMap.get(c.getName();return daoMap.get(c.getName();(4) 将创建好多的对象放到Map中serviceMap.put(c.getName(), service); daoMap.put(c.getName(), dao);(5) 返回系列产品return service; retu

13、rn dao;抽象工厂模式示意图如图2-6所示。图2-62.5.3 Filter统一控制本系统采用Filter技术面向切面编程,实现了统一处理字符集;简单的webCache,统一控制缓存;只有经过登录页面登陆成功才能进入其他页面。体现了一个责任链模式,提供了一种声明式服务,具有可插拔的能力。采用Filter技术对Request和Response请求进行了拦截,这对系统后期的完善,权限的分配,病毒的拦截有至关重要的作用。采用Filter技术主要是调用下面的方法public void doFilter(ServletRequest request, ServletResponse response

14、,FilterChain chain) /完成相关的控制语句chain.doFilter(request, response);通过本系统中的用户维护说明Filter的基本原理如图2-7所示。图2-7 Filter统一控制流程图2.6系统的AOP 设计应用面向方面编程(Aspect Oriented Programming,简称AOP)是一种声明式编程(Declarative Programming)。声明式编程是和命令式编程(Imperative Programming)相对的概念。我们平时使用的编程语言,比如C+、Java、Ruby、Python等,都属命令式编程。命令式编程的意思是, 程

15、序员需要一步步写清楚程序需要如何做什么(How to do What)。声明式编程的意思是,程序员不需要一步步告诉程序如何做,只需要告诉程序在哪些地方做什么(Where to do What)。比起命令式编程来,声明式编程是在一个更高的层次上编程。声明式编程语言是更高级的语言。声明式编程通常处理一些总结性、总览性的工作,不适 合做顺序相关的细节相关的底层工作。本系统中能用到AOP的地方:1.统一字符编码处理2.打印出所有业务类的工作流程日志3.所有关键业务方法都加上事务管理功能2.7系统的非功能设计(如性能、安全性等)这一部分已经在第一节阐述,这里不再赘述。2.8系统的数据库设计本系统中的信息表主要有10张表:头像表、用户信息表、美食种类表、美食信息表、每日推荐表、我的收藏表、广告表、广告图片表和最大编号表。他们之间的关系可以用图2-8来表示。图 2-8 数据库设

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号