农业物联网应用软件设计-物联网软件工程基础_第1页
农业物联网应用软件设计-物联网软件工程基础_第2页
农业物联网应用软件设计-物联网软件工程基础_第3页
农业物联网应用软件设计-物联网软件工程基础_第4页
农业物联网应用软件设计-物联网软件工程基础_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

农业物联网工程设计与实施项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计感知层核心技术与软件设计物联网感知层计算机系统连接现实物理世界的触手,完成物理世界在逻辑世界中的映像,并通过控制与伺服机构对物理世界产生影响。

项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计1.感知层的主要功能实现对物理设备的访问与控制完成物理对象的识别物品编码的采集与数字化编码校对、数据过滤和完整性检查对象识别与参数查询完成情境参数的测量将物理与化学参量转换为电信号连续的模拟电信号离散化,生成计算机可以识别的数字参量整合环境参量,生成具有实际意义的时空矢量[t,s,v]项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计2.感知层软件的类型按照软件实现的主要功能,IOT感知层软件可以分为三大主要类型对象侦测软件:解决“有什么”的问题情境感知软件:解决“什么样”的问题伺服控制软件:解决“做什么”的问题项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术对象侦测软件对象侦测软件可以看做一个工具包,实现三方面的功能:物理对象标记、物理对象探测、物理对象识别。前两者可以由感知层软件独立完成,后者需要服务层软件的支持。项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.1编码技术编码:依据一定的规则产生一个数字序列,唯一地标识某个或某类物体对象;物品编码的发展:1973美国UPC体系,1977欧洲EAN体系,1981年合并为EAN.UCCIOT中广泛采用EPC(ElectronicProductCode)是与EAN.UCC的GTIN兼容的编码体系,目标是为物理对象提供唯一的标识代码。项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计EAN.UCC系统的编码体系EAN.UCC系统的编码体系主要包括:2.1全球贸易项目代码(GlobalTradeItemNumber,GTIN)2.2系列货运包装箱代码(SerialShippingComntainerCode,SSCC)2.3全球可回收利用资产标识代码(GlobalReturnableAssetIdentifier,GRAI)全球单个资产标识代码(GlobalIndividualAssetIdentifier,GIAI)2.4全球位置代码(GlobalLocationNumber,GLN)2.5全球服务关系代码(GlobalServiceRelationNumber,GSRN)。2.6特殊应用代码项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.1编码技术1)EPC编码技术概述ECP采用一组编号来代表制造商及其产品,并使用另外一组数字来唯一地标识单品;EPC编码由EAN.UCC下属EPC-Globe统一管理,各国各地分立次级管理机构;EPC编码必须经过认证;EPC编码是RFID的核心技术之一;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.1编码技术2)EPC编码系统及其特点EPC提供物体对象的唯一标识,编码容量巨大,并可扩充;一个EPC编码可以分配给一个且仅一个物品使用,可以消除物流课题在信息系统中逻辑位置或属性状态表达的二义性;EPC编码体系可以通过兼容现有编码方案和定义新的编码方案来满足不同行业的需求;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.1编码技术3)EPC编码规则EPC编码具有唯一性,并具有使用周期:对一般实体对象,使用周期和其生命周期一致;对特殊产品,EPC代码的使用周期是永久的;EPC的产品代码(不包含单品序列号)具有永久性:产品代码一经分配就不再更改;即使产品生命周期结束不再生产,也不得回收重新分配;EPC编码留有备用空间,具备可扩展性,且编码结构简单,易于使用;EPC编码具有高度的保密和安全性;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.1编码技术4)EPC编码结构EPC编码由头字段、域标记、对象分类、物品序列号组成。EPC标头字段(EPCHeader):标识EPC版本(具有不同的编码长度),识别类型和编码结构。早期只有2位,目前多采用8位结构;EPC域标识(EPCManager):也称为EPC管理者,描述与此EPC相关的生产厂商信息;EPC对象分类(ObjectClass):记录产品精确类型的信息;其集合表明了管理者所拥有的产品名录;EPC序列号(SerialNumber):序列号唯一地标识货品;在头字段和域标记之间留有填充段,涵义无定义,通常填充0,可用于EPC编码扩展;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计EPC头字段2位的头字段多用于64位长度的EPC编码;共有3个有效值,00B用于进行头字段扩展;8位长度的头字段可用于96位、128位EPC编码;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.2识别技术识别技术包括两方面的含义:一方面采用适当的形式将物品编码具象化,并与物品绑定;另一方面需要能够对编码表象进行采样,并自动识别出物品编码;自动标识技术是信息数据自动读取、自动数据计算机的重要方法,是解决逻辑世界数据导入瓶颈的重要手段;目前常用的自动标识技术包括:条码技术、RFID技术、磁条/IC卡技术,光学字符识别(OCR)技术、生物特征识别技术;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.3解析技术通过识别技术获取的物品编码只是一个数字序列,需要经过解析技术获取其中的含义;解析过程的实现,同时需要感知层软件和服务层中间件的支持;目前常用的对象名称解析服务(ObjectNameService,ONS)是RFID公共信息网络体系的核心和基础;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.3解析技术(以EPC-ONS为例说明)1)解析技术概述当感知层节点获取物品EPC编码后,需要通过ONS服务和EPCIS服务获取物品真实名称和属性参数;这一过程分为通过ONS获取EPCIS的URL阶段,和通过EPCIS查询物品详细信息的阶段;其中ONS服务是联系前台软件和后台EPCIS服务的网络枢纽;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.3解析技术(以EPC-ONS为例说明)2)对象名称解析服务工作流程ONS服务结构:映射信息:(EPC,URL)值对,ONS服务返回值;根ONS服务器:EPC溯源查询的起点;本地ONS缓存;本地ONS解算器:对完整的EPC编码进行拆分解析,生成URI,并产生查询语句;ONS服务工作流程:项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计ONS系统的工作流程项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.3解析技术(以EPC-ONS为例说明)3)ONS服务协议对象名称解析服务(ONS)解析协议通过使用标准DNS解析协议和扩展的DNS安全解析协议,位对象名称解析提供标准解析服务和扩展的安全解析服务;与标准服务相比,扩展服务需要对ONS请求进行安全认证。项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计ONS解析服务器内部数据流程图项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计3.对象侦测软件核心技术3.3解析技术(以EPC-ONS为例说明)4)EPCIS信息服务EPCIS服务器中存储着EPC相关数据,同事配有响应的接口为EPC网络中的其他组件提供查询和访问服务;面向IOT感知层,EPCIS提供对实例层次上物体属性数据的存储和查询;并提供AUTO-ID事件的记录接口;面向高层应用,EPCIS提供时标数据、属性数据、交易数据的查询服务;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计4.情境感知软件核心技术情境(Context)一词来源于语言学,指上下文所构造的语义环境。在pervasivecomputing/ubiquitouscomputing中用于描述计算系统所关注的物理环境参数集合,是一个带有时间-空间维度的概念。情境感知(context-aware)是指计算机系统借助传感器获取周边物理环境的各项参数,并根据一定的规则进行推导,判别环境中发生的事件。情境感知需要三方面的技术支持:传感器技术、传感器组网技术和情境推理技术。前两者属于感知层核心技术,后者一般在服务层实现。项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计4.情境感知核心技术4.1传感器技术1)传感器是一种能把物理或化学量转变成便于利用的电信号的器件,是测量系统中的一种前置部件。2)传感器的类型按被测参量,传感器可以分为机械量传感器、热工量传感器、和物性传感器;按输出信号分类,传感器可以分为模拟传感器和数字传感器;

项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计4.情境感知核心技术4.1传感器技术3)IOT中重要的传感器:时标传感器:独立时钟源,网络对时服务;空间坐标传感器:全球定位系统提供绝对空间坐标;区域(室内)定位系统提供精确的区域位置,可以根据确定坐标的GPS系统换算成绝对坐标;参量传感器:传统意义上的传感器;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计4.情境感知核心技术4.1传感器技术4)传感器控制软件:传感器控制软件需要控制传感器完成环境参量的采集,然后将采集到的电信号离散化,生成计算机可以理解的数字量;如果区域内大量布设传感器,控制软件还需要维护传感器网络;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计4.情境感知软件核心技术4.3情境推理技术情景推理技术主要在服务层以中间件的形式实现;情景推理需要有推理规则的支持,规则通常反映了一个应用领域内的行业行为模式;规则通常有人工输入,或以机器学习方式通过对大样本集的学习获得;情景推理中间件将来自感知层的AUTO-ID事件、Context事件结合起来,根据规则推导高层情景、根据规则检测”事件”,并提出事件响应服务请求;项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计5.伺服控制技术计算机系统通过伺服/控制单元发出动作,对物理环境产生反作用,以达成计算目的。伺服控制技术与实际应用领域结合紧密,无法进行一般概念性的抽象描述。项目六物联网应用软件设计6.2IOT感知层核心技术与软件设计农业物联网工程设计与实施项目六物联网应用软件设计6.2IOT感知层软件设计实例感知层核心技术与软件设计感知层的主要功能实现对物理设备的访问与控制完成物理对象的识别物品编码的采集与数字化编码校对、数据过滤和完整性检查对象识别与参数查询完成情境参数的测量将物理与化学参量转换为电信号连续的模拟电信号离散化,生成计算机可以识别的数字参量整合环境参量,生成具有实际意义的时空矢量[t,s,v]项目六物联网应用软件设计6.2IOT感知层软件设计实例RFID应用案例分析—移库点仓应用系统 某超市仓库货品采用RFID标签记录商品信息。现需为已有的进销存系统补充开发一套移库点仓应用,在移库过程中自动识别商品名称,检测临近保质期商品,并核对商品库存。 已知RFID标签贴在商品包装箱侧面,标签型号为PhillipMifareOne型,编码信息记录在1#扇区无加密,数量信息和出厂日期记录在2#扇区有加密。

项目六物联网应用软件设计6.2IOT感知层软件设计实例方案设计RFID卡为标准MifareOne卡,可以采用市售读卡器读取;RFID卡贴在包装箱外侧,可以在仓库通道上设置读写器天线进行读取,在移库过程中完成盘点;商品信息需要通过EPCIS服务查询,箱内商品总量、出厂日期需要通过RFID卡字段获取;系统具备数据库接口,与现有进销存系统合并,核对库存;项目六物联网应用软件设计6.2IOT感知层软件设计实例软件流程查询商品信息:通过互联网查询商品EPC编码;消减库存:调用进销存系统的数据库存储过程;更改库存位置:调用进销存系统的数据库存储过程;项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析1:RFID卡信息读取项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析1MF1卡分为16个扇区,每区有4块(块0~块3)共64块,按块号绝对地址编号为0~63。第0扇区的块0(即绝对地址块0)用于存放芯片商、卡商相关代码,已经固化不可更改。其他各扇区的块0、块1、块2为数据块,用于存贮用户数据;块3为各扇区控制块,用于存放密码A、存取控制条件设置、密码B。项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析1RFID卡读取流程首先探测读写器天线感知范围内是否有卡其次根据卡片本身的序列号选定读写对象然后读取指定数据块加密块首先需要进行秘钥验证秘钥验证在卡内进行待验秘钥需传入卡内项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析1SDK函数(C语言版)YLE280_Request寻卡YLE280_GetSerialNo取得当前M1卡的序列号YLE280_SelectCard选择指定序列号的卡片YLE280_TransKey向卡传送密钥YLE280_Authentication卡验证YLE280_ReadBlock读取指定块数据YLE280_WriteBlock写入指定块数据项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析2使用ONS服务复习:ONS解析流程项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析2ONS解析操作Step1:获取EPC编码如011100)=84Step2:将EPC编码转换成ONS服务请求URI格式(加入urn:epc:头); 84

urn:epc:84Step3:本地ONS解算器将此URI转换为域名形式,并发出对这个域名的NAPTR(名称权威指针)查询;

urn:epc:84

67.3.1.Step4:ONS服务器返回一个应答列表,包含一个或多个相关服务的URI,如:

(00uEPC+pml!^.*$!/pml.xml!.); (00uEPC+html!^.*$!/good.asp!.);Step5:本地ONS解算器从返回的NAPTR记录中提取需要的EPCIS服务器(PML服务器)URI,返回给本地服务器, (/pml.xml)Step6:本地服务器获取对应的pml.xml文件,启用XML工具包进行解析,提取所需信息。项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析2ONS数据格式和操作算法目前的ONS标准中还不是把整个EPC作为查询条件它停止在对象分类编码级别上也就是将EPC中的版本号、域名管理者、和对象分类这三个部分作为查询条件。ONS查询格式(将EPC编码转换为ONS查询请求字符串):将EPC字段转化为IP地址格式字符串,如:84在串的头部加上URI协议头“urn:epc:”,如:urn:epc:84本地ONS解算器将ONS的URI转换为域名形式,通过DNS协议提交查询请求去除协议头,如:84去除序列号字段,仅保留版本号、域名管理者和对象分类字段:如1.3.67逆序,生成域名头,如:67.3.1在底层域名后加上ONS根域名,如67.3.1.通过标准DNS服务,进行NAPTR查询项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析2ONS应答格式:

ONS的查询回答是一个或者多个NAPTR记录,典型的字段格式如下表所示顺序优先级标记服务正则表达式代替者00uEPC+pml!^.*$!http://www.pmlexample.cn/pml.xml!.00uEPC+html!^.*$!http://www.pmlexample.cn/good.asp!.项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析2//ONS查询发送函数importjavax.naming.*;publicStringLookupONS(StringDomainInput)throwsNamingException{ Stringresult=""; DomainInput="67.3.1."; Hashtableenv=newHashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.dns.DnsContextFactory"); env.put(Context.PROVIDER_RUL,"dns://21:53"); //注意区域ONS服务器布设在21:53 DirContextdirContext=newInitialDirContext(env); Attributesattrs=dirContext.getAttributes(DomainInput,newString[]{"NAPTR"}); for(NamingEnumerationae=attrs.getAll();ae!=null&&ae.hasMoreElements();){ Attributeattr=(Attribute)ae.next(); NamingEnumeeratione=attr.getAll(); while(e.hasMoreElements()){ Stringelement=e.nextElement().toString(); result+=element; } } returnresult;}项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析3与现有系统接口新增的移库点仓应用需要访问已有的进销存系统的数据库。接口形式与进销存系统的规模与实现模式有关。在系统规模较小时,数据库通常以关系数据库的形式构建。可以使用ADO技术,以client/server形式直接进行操作。建议使用数据库内建存储过程完成数据更改和插入,以保证数据库完整性和数据正确性;在系统规模较大时,数据库往往以网络数据库的形式发布访问接口。此时需要通过CGI接口完成数据库操作。项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析4多平台编程数据交换Question:读写器只提供了C语言动态链接库,Java提供完备的网络Beans、并可增补ONS服务Beans.如何将读取到的EPC编码传递给Java语言实现的ONS查询服务?Answer:异构进程间通信与数据共享“命名管道”通信操作系统需要支持管道服务;需要解决数据格式问题;项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析4网络通信数据共享通过简单的Socket编程,完成数据传递Java语言Socket编程;建立SocketServer;C语言Socket编程;在读取EPC编码后启动SocketClient,向ONS查询进程传递EPC编码;可以直接查询IP地址格式的字符串;传递的字符串需要组织成自定义的Socket消息格式:消息头分割符消息数据(cmd):(data)项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析4本地键盘缓冲区数据传递项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析4可用FindWindow()函数找到ONS查询服务程序窗口在查询窗口中设置EDIT组件,用于接收发送来的字符EDIT组件响应“On-RETURN”按键事件;项目六物联网应用软件设计6.2IOT感知层软件设计实例技术要点解析4#include<WinUser.h>#include<Windows.h>voidmain(){ Sleep(3000); keybd_event('1',0,0,0);//按下1键

keybd_event('1',0,KEYEVENTF_KEYUP,0);//松开1键

keybd_event(13,0,0,0); //按下回车键}在读卡器程序中,获取到EPC编码后,分段转换为10进制数据,在组合成IP地址格式的字符串;通过键盘缓冲区,逐个字符的发送到ONS查询服务进程中;最后发送一个“回车”按键,激活ONS查询服务;项目六物联网应用软件设计6.2IOT感知层软件设计实例农业物联网工程设计与实施项目六物联网应用软件设计6.2物联网应用层软件设计方法1物联网应用软件架构设计体系结构:体系架构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以及指导上述内容设计与演化的原理”。也叫软件架构。实际上,软件体系架构设计就是面向对象软件系统的总体设计。一般地,软件架构设计必须遵循的原则包括:满足功能性需求和非功能需求;实用性原则;满足复用的要求,最大程度地提高开发人员的工作效率。项目六物联网应用软件设计6.2物联网应用层软件设计方法物联网应用软件架构设计详细地讲,软件架构设计的原则可从以下四个方面提出指导:1、设计总纲。包括领域视角原则、系统视角原则、重用原则、商业目标原则、一致性原则、够用/简单原则、变化点分离原则、逻辑与物理分离原则、支持分阶段交付原则等九个方面。2、子系统/模块划分原则。包括高内聚、低耦合原则、数据冗余最小原则、通用的平面划分原则、数据一致性原则、通用的层次划分原则、分层的单向依赖原则、无循环依赖原则、避免跨层通讯原则、解耦原则、实现无关性原则、灵活部署原则等十一个方面。3、接口设计原则。包括标准化原则、扩展性原则、兼容性原则、抽象性原则等四个方面。4、质量属性设计原则。包括可重用性、可扩展性、可修改性、可移植性、兼容性、可伸缩性、可裁减性、性能原则、可用性/可靠性原则、安全性、可测试性/可调试性、可安装性、可生产性/可制造型、可配置性、成本、易懂性、可维护性等十七个方面。项目六物联网应用软件设计6.2物联网应用层软件设计方法1物联网应用软件架构设计根据我们关注的角度不同,可以将软件架构分成三种:逻辑架构:指软件系统中元件之间的关系,比如用户界面,数据库,外部系统接口,商业逻辑元件等等。物理架构:指软件元件是怎样放到硬件上的。系统架构:指的是系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。系统架构的设计,要求架构师具备软件和硬件的功能和性能的过硬知识,这一工作是架构设计工作中最困难的工作。项目六物联网应用软件设计6.2物联网应用层软件设计方法一个应用服务的逻辑架构示意图项目六物联网应用软件设计6.2物联网应用层软件设计方法一个应用服务的物理架构示意图项目六物联网应用软件设计6.2物联网应用层软件设计方法物联网应用软件架构设计介绍常用的软件架构之前,先来给出框架、模式的定义及他们之间的区别和联系。框架(Framework)是某种应用的半成品,是完成特定系统的一组供选用构件。简单说就是使用别人搭好的舞台,你来做表演。框架与架构的区别并无明确的定义,但一般从分层的观点看,认为框架是底层的,接近系统的,软件开发者在框架上构建自己的软件架构,开发自己的应用程序。按照目前主流的设计环境,常见的框架包括JAVA框架、.Net框架和基于C++的框架三种。项目六物联网应用软件设计6.2物联网应用层软件设计方法1物联网应用软件架构设计介绍常用的软件架构之前,先来给出框架、模式的定义及他们之间的区别和联系。模式(Pattern),Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作。通俗地说,模式其实就是解决某一类问题的方法论,即把解决某类问题的方法总结归纳到理论高度。按照解决问题的类型不同,模式可分为架构模式(ArchitecturalPattern)、设计模式(DesignPattern)和代码模式(CodingPattern)。三者的区别在于各自抽象层次的不同。项目六物联网应用软件设计6.2物联网应用层软件设计方法1物联网应用软件架构设计根据经验法则,按照软件类型不同,在进行软件架构选择和设定时,可以通过下述经验法则作为指导来选择典型的软件架构:如果要开发系统类型软件,可选择分层(Layer)架构、管道和过滤器(PipesandFilters)或黑板(Blackboard)架构;如果开发分布式软件,可选择代理(Broker)架构、客户/服务器(Client/Server)架构或点对点(PeertoPeer)架构;如果开发交互式软件,可以选择模型-视图-控制器(Model-View-Controller)架构或显示-抽象-控制(Presentation-Abstraction-Control)架构;其他典型的架构还包括:面向对象风格(ADT)风格、基于消息广播且面向图形用户界面的Chiron2风格(或简称C2风格)、基于事件的隐式调用风格(Event-basedImplicitInvocation)、面向服务的架构等。项目六物联网应用软件设计6.2物联网应用层软件设计方法1物联网应用软件架构设计分层架构是软件分析和设计的基本的、具有普遍适应性的思想方法。分层架构最典型的例子应该是计算机网络的体系结构。国际标准化组织ISO的开放系统互联OSI将网络体系结构划分为七层协议的模型,包括:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。严格的分层系统在不相邻的层之间不发生直接的联系。但在某些层次系统中处于某一层的构件可以调用所在层之下的服务,不仅限于相邻的下一层。项目六物联网应用软件设计6.2物联网应用层软件设计方法1物联网应用软件架构设计使用分层架构的好处:不需要去了解每一层的实现细节;可以使用不同的技术来改变基础层,而不会影响其上面层的应用;任何一层的变化都不会影响到其他各层;容易制定出每一层的标准;处于较低位置的分层可以用来建立较高位置分层的多项服务;分层架构本身的特点决定了该架构更容易容纳新的技术和变化。分层架构的弱点:每一个分层不可能封装所有的功能,一旦系统有功能变动,势必要波及所有的层;因为各分层之间相对独立,所以效率降低;分层最难的问题是要定义各个层的内容,以及要承担的责任。项目六物联网应用软件设计6.2物联网应用层软件设计方法项目六物联网应用软件设计6.2物联网应用层软件设计方法项目六物联网应用软件设计6.2物联网应用层软件设计方法物联网应用软件架构设计万维物联网(WebofThings)是随着物联网的兴起,将Web技术与物联网技术相结合而产生的一个新概念,具有以下特性:(1)使用HTTP作为应用协议,HTTP不仅是用来连接传感器和网络的传输协议;(2)通过REST接口将智能设备的同步功能开放出来。(3)智能设备的异步功能开放采用广为接受的Web聚合标准。(4)前端利用Web的呈现方式,提供直观、友好的用户体验。(5)开放平台。项目六物联网应用软件设计6.2物联网应用层软件设计方法1物联网应用软件架构设计万维物联网(WebofThings)的基本框架由3部分构成:网络节点集成接口(IntegrationInterfaceofNetworkNode)基于REST风格终端节点(TerminalNodesBasedonRESTStyle):对智能设备可进行移动和临时安装;网络Mashup功能(WebMashupFunction):增强可视化、可预见、可预报和维护日程的能力。项目六物联网应用软件设计6.2物联网应用层软件设计方法2物联网应用软件功能模块的划分物联网应用软件功能模块的划分是对前期架构设计工作的细化,主要是从功能角度给出架构的设计,相当于面向对象软件方法学中的详细设计。物联网应用软件的设计也是按照体系结构分为感知、传输和应用3层进行,因此,功能模块的划分也可以按照3层结构划分。如果针对特定需求的描述,也可以按照传统的结构化方法进行结构化的设计,由数据流图描述的功能需求转换得到对应的软件结构图。另外,在软件体系架构设计基础上,也可以按照基于构件或基于服务的方式设计应用软件模块。关于基于构件与基于服务的软件设计部分,参看本章7.6节部分介绍。项目六物联网应用软件设计6.2物联网应用层软件设计方法农业物联网工程设计与实施项目六物联网应用软件设计6.2物联网软件工程概述物联网的发展不是先建立网络,再开展独立的行业应用,而是基于各个行业应用网络整合而成的开放体系架构。因此,实际上是先有独立架构的应用网络,再出现的整体物联网网络。物联网工程软件的运行一般遵循这样的指导思想:应用软件与硬件分离、设备驱动与操作系统内核分离,参见图7-1所示。项目六物联网应用软件设计6.2物联网软件工程概述图中实线表示永久的逻辑连接,虚线表示临时的逻辑交互。各逻辑块之间的交互过程如下:1、物联网终端(大到汽车、冰箱,小到门锁、追踪卡、手环等)上运行物联网操作系统,以及基于物联网操作系统的应用(APP)。APP从“IoTAPP商店”下载;2、物联网终端上运行的应用程序,由用户通过智能设备(如手机、iPad等)进行控制。智能设备通过本地通道(比如蓝牙、WiFi、Zigbee等)连接到物联网终端,控制终端上的APP的安装和卸载,以及IoT终端的相关配置(安全信息等);3、如果物联网终端运行了一个APP,且该APP是基于Client-Server模式(比如智能手机上的微信),则物联网终端需要跟APP的“应用程序后台”进行交互,实现业务逻辑;项目六物联网应用软件设计6.2物联网软件工程概述各逻辑块之间的交互过程如下(续):4、物联网终端跟“终端管理后台”建立持久的通信连接,用于实时更新物联网操作系统内核版本、实时更新物联网终端的硬件驱动程序等。5、物联网终端运行的APP,由第三方开发者或者ICP/ISP开发,并上传到IoTAPP商店,供用户按照需求下载;6、物联网终端之间能够通过本地通信通道(蓝牙、WiFi、Zigbee等)进行通信,这种通信无需借助后台。比如,汽车到达路口后,可以跟信号灯通信,向信号灯注册。这样信号灯就能够掌握各个方向的排队汽车数量,然后根据数量来决定信号的变换,达到优化交通的目的。物联网终端之间的直接通信(端端通信)是物联网关键能力之一,也是物联网区别于移动互联网的关键地方之一。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(一)物联网软件具有下述特征:

1.软件完整性

物联网软件产品涉及基础软件、支撑软件和应用软件,物联网软件服务包括咨询规划、系统集成、系统运维等各种业态,物联网软件构成了一个完整的产业生态链条,对软件服务业具有很强的带动作用。

2.数据海量性物联网的目标是地球上每个物体都成为智能物体,都有自己的数据。随着时间的推移和物联网的完善,整个物联网系统所具有的数据更呈现出海量特性,物联网系统不仅要考虑海量数据的存储、传送、查询等常规处理,还需要应对海量数据下操作的效率、准确、等独特特征。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(一)物联网软件具有下述特征(续):

3.能效敏感性物联网系统中大量设备需要依靠电池供电,对能效非常敏感,因此,物联网系统中如何在确保正确进行信息传送与处理的前提下,尽可能降低能效就成为软、硬件设计的一个重要指导思想。4.信息实时性物联网系统的自主控制和智能特性使得系统要求大量非常严格的信息获取和反馈的时间限制,对系统中众多智能物体的实时性要求较高,这样系统中相关软件就需要具有较快的运行速度、准确的时间控制和实时限制,以满足信息的实时处理特性要求。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(一)物联网软件具有下述特征(续):

5.安全重要性物联网系统中大量物品、设备都暴露在公开场合,设备本身的信息以及设备所在网络中传送的信息很容易被人获取和利用,物联网系统本身的安全和隐私特性受到极大挑战,物联网系统需要专门处理整个系统及各设备本身的安全和隐私特性。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类:物联网产业链分为上中下游,三者存在一定的竞争和合作关系,具体体现在时间和空间两个维度。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

产业链的上游由基础设施供应商构成,着眼于解决虚拟世界对现实的物理世界的感知问题,上游供应商是物联网产业的最先受益者;产业链的中游由部分系统设备供应商、系统集成商、平台和软件集成商构成,着眼于解决物联网硬件平台的建设和维护问题,是物联网产业的中间环节的受益者;产业链的下游是电信运营商和物联网运营商,着眼于信息传输平台建设与运营,物联网应用部署与运营,是物联网产业结构中排位最末的受益人。71项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

物联网软件是将物联网体系结构中设施与服务有机结合起来的粘结剂,完成数据的汇聚、处理和分发任务,完成事件的检测、派遣和响应事务,并为物联网的运营商、管理者和终端用户提供进入网络的接口。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

1、从供应商的角度,结合物联网的分层特性和软件本身的分类特点,物联网软件可以按照层次分类为以下几种类型:感知层和网络层包括:微操作系统、嵌入式操作系统、实时数据库管理系统、感知和标识系统、视频监控系统、物联网系统运行集成环境、感知数据处理中间件(包括感知数据压缩处理软件)、信息安全软件、传感网组网通信软件等。应用处理层包括:网络操作系统、大型数据库管理系统、信息预处理中间件、信息安全软件、各类应用(如智能家居、远程医疗、城市管理、公共安全、精细农业、生态农林等)领域的用户接口软件等。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

2、从功能的角度,物联网软件的主要类型包括:数据感知系统软件;中间件系统软件;网络操作系统与网络协议;物联网信息管理系统软件等。数据感知系统软件主要完成物品的标示和识别,由编码标签(包含物品编码)、读写器、传感器、控制器等设备的控制软件组成。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

2、从功能的角度,物联网软件的主要类型包括:中间件系统软件是位于数据感知实施与后台应用软件之间的一种应用系统软件,具有两个关键特征:动态部署在中间件平台中;能够对服务器请求进行响应。引入中间件的主要目的是屏蔽非标准的底层设备访问接口,向后台应用提供标准化的、开放的、可以互访的通信接口。物联网中的中间件系统通常包括:实施物品编码和传感器数据读写的读写器接口;实施数据过滤、汇集、检测网络事件并通告数据与外部系统相关联的内容的应用程序接口;向应用程序提供访问与控制底层设备编程及操作接口的应用程序接口;实施物品信息存储服务、信息检索复与查询服务的目标信息服务子系统;实施对象名解析功能的对象名解析服务子系统等。75项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

2、从功能的角度,物联网软件的主要类型包括:网络操作系统是使连到网络上的各种感知设备和计算机节点方便而高效地共享网络资源,为用户提供所需的各种服务的软件和有关规程的集合。网络协议即网络通信的语言,是通信的规则和约定,协议规定了通信双方相互交换的数据或控制信息的格式。网络操作系统的基本任务就是要屏蔽本地资源和网络资源的差异性,为用户提供各种网络服务功能,完成网络资源的管理,同时它还必须提供网络系统安全性的管理和维护。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

2、从功能的角度,物联网软件的主要类型包括:网络操作系统除了具有常规操作系统应具有的基本功能外,还具备以下功能:支持对称多处理器;支持网络负载平衡;支持多任务;支持多用户;支持大内存;通信交往能力;安全保护;支持远程管理和互联;提供实用管理工具;项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(二)物联网软件的分类(续):

2、从功能的角度,物联网软件的主要类型包括:物联网信息管理系统软件维护物联网服务的授权与调度,负责运营与计费,物联网信息管理系统大多数是基于简单的网络管理协议(SimpleNetworkManagementProtocol,SNMP)建设的管理系统。上述这些物联网系统软件并不都是需要从零开始研发,很多软件需要在原有软件的基础上针对物联网特性做一些修正性维护,这种维护有时只需要相关的软件服务商在集成过程中进行改进即可。项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(三)物联网产业链中的软件服务相关企业:

物联网产业链中与软件服务业相关的企业包括软件产品开发商、行业解决方案提供商、系统集成商、运营服务提供商。1.软件产品开发商

软件产品广泛应用到感知层和处理层中,软件产品开发商提供物联网系统中上述各种通用软件

。其中,中间件是物联网应用中的关键软件,特别是感知层中间件,是衔接相关硬件设备和业务应用的桥梁,主要是对传感层采集来的数据进行初步加工,使得众多采集设备得来的数据能够统一,便于信息表达与处理、使语义具有互操作性、实现共享,便于后续处理应用。目前这些研究机构和厂商有IBM、EPCglobal、Oracle、SAP等,其他中间件厂商也都加大了这方面的投入,成为竞争的焦点。

项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(三)物联网产业链中的软件服务相关企业(续):

物联网产业链中与软件服务业相关的企业包括软件产品开发商、行业解决方案提供商、系统集成商、运营服务提供商。2.行业解决方案提供商

应用和服务于各行业或各领域的系统软件企业,以及提供各种解决方案。目前,物联网的应用遍及智能电网、智能交通、智能物流、智能家具、环境保护、医疗卫生、金融服务业、公共安全、国防军事等领域,根据不同行业应用特点,需要提出个性化的解决方案。

项目六物联网应用软件设计6.2物联网软件工程概述1.1物联网软件的特点和分类(三)物联网产业链中的软件服务相关企业(续):

3.系统集成商

指根据客户需求,将实现物联网的硬件、软件和网络集成为一个完整解决方案提供给客户的厂商,系统集成商的主要业务集中在感知层和处理层。伴随系统集成商业务一体化、整合化发展,为提高核心竞争力和项目实施的效益,部分系统集成商提供自主开发的软件产品和行业解决方案。

4.运营服务提供商指行业的、领域的物联网应用系统的专业运营服务商,为客户提供统一的终端设备鉴权、计费等服务,实现终端接入控制、终端管理、行业应用管理、业务运营管理、平台管理等服务。项目六物联网应用软件设计6.2物联网软件工程概述1.2物联网软件的技术发展

1.物联网软件技术发展概述物联网、RFID、CPS、云计算、智慧地球,不仅是现状,也是未来的关注点。RFID是基础应用的关键技术,CPS是物理世界和信息世界的集成,云计算是用户和产业的愿景,智慧地球是物联网更高级的阶段。智慧地球通过基础设施上大量使用传感器,捕捉运行过程中的各种信息,然后通过传感网,进入互联网,通过计算机分析处理发出智慧指令,再反馈回去,到传感器,到基础设施和制造业上,这将极大提高生产效率。项目六物联网应用软件设计6.2物联网软件工程概述1.2物联网软件的技术发展2.发展趋势从产业发展阶段的角度预测,未来10年,中国物联网产业将经历应用创新、技术创新、服务创新3个发展阶段,形成公共管理和服务、企业应用、个人和家庭应用三大市场:(1)第一阶段:应用创新、产业形成期。(2)第二阶段:技术创新、标准形成期。(3)第三阶段:服务创新、产业成长期。项目六物联网应用软件设计6.2物联网软件工程概述1.2物联网软件的技术发展3.物联网软件技术重点物联网可划分成三个层面:感知层、网络层和应用层。其软件开发主要集中在这三个方面。然而,目前中国在传感器和芯片制造、集成、预处理等方面还很薄弱,同时海量信息处理的软件技术也很薄弱。因此,未来的物联网软件开发,主要集中在数据采集和信息处理方面。1)数据采集RFID中间件有待突破2)海量信息处理对商业智能提出了要求(1)要求实时商务智能。(2)要求分析速度更快。(3)要求数据质量更高。(4)要求数据挖掘更强。项目六物联网应用软件设计6.2物联网软件工程概述1.3物联网应用海量数据处理技术1.海量数据处理与商务智能概述1)海量数据处理的难题

(1)巨大的IT设备投入。

(2)无法应对海量数据的增长。

(3)无法实现海量数据分析的需求。2)商务智能技术

商务智能(BusinessIntelligence,又称商业智能)是指对商务信息的搜集、管理、分析整理、展现的过程,目的是管理与决策者获得知识或洞察力,提供他们进行管理的必要信息,支持他们快速决策。项目六物联网应用软件设计6.2物联网软件工程概述1.3物联网应用海量数据处理技术2.商务智能软件架构1)商务智能决策平台的架构

(1)数据转换与存储。

(2)信息整合与分析。

(3)知识管理与决策。2)数据转换与存储

(1)把非结构数据转换为结构数据。

(2)数据仓库是一个很好的存储工具,也是商务智能系统的技术基础。

项目六物联网应用软件设计6.2物联网软件工程概述1.3物联网应用海量数据处理技术2.商务智能软件架构(续)3)信息整合与分析

(1)内外信息整合。

(2)数据分析技术。4)知识管理与决策

(1)知识管理(KnowledgeManagement,KM)就是为企业实现显性知识和隐性知识共享提供新的途径,知识管理是利用集体的智慧提高企业的应变和创新能力。

(2)商务智能着眼将企业信息化管理后所产生的营运数据,予以转化增值为辅助决策的信息,进而累积成为企业的知识资产。项目六物联网应用软件设计6.2物联网软件工程概述1.3物联网应用海量数据处理技术3.商务智能软件分类

商务智能的过程是企业的决策人员以数据仓库为基础,经由联机分析处理(OLAP)工具、数据挖掘工具加上决策规划人员的专业知识,从数据中获得有用的信息和知识,帮助企业获取利润。OLAP在商务智能中扮演着重要角色,是数据仓库系统中重要的一项应用技术。在OLAP技术发展过程中,由OLAP准则派生了两种主要的OLAP流派,即以关系型数据库为基础的ROLAP技术和以多维数据库为基础的MOLAP技术。项目六物联网应用软件设计6.2物联网软件工程概述1.3物联网应用海量数据处理技术3.商务智能软件分类(续)1)基于ROLAP的商务智能软件特点ROLAP是依靠对传统关系数据库管理系统(RDBMS)进行扩展来提供OLAP。数据直接储存于RDBMS中,不事先作运算,相比于MOLAP预先汇总数据而带来的高效性,ROLAP以灵活性换来了效率上的有所差别。2)基于MOLAP的商务智能软件特点MOLAP使用一个n维立方体(n-cube)方法存储数据,这通常要求一系列预先计算好的立方体(Cube)或“超立方体”结构。Cube存放在多维度数据库Server端,事先做汇总运算并把结果写入Cube。项目六物联网应用软件设计6.2物联网软件工程概述农业物联网工程设计与实施项目六物联网应用软件设计6.2物联网软件工程概述1

物联网软件工程概述1.1物联网软件工程概念软件工程:研究指导大型软件开发和维护的技术、方法、工具和管理的工程学科。通俗地说,软件工程是研究和应用如何以系统性的、规范化的、可定量的工程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。物联网软件工程:研究如何将软件工程的理论、方法和技术应用于物联网系统的软件设计、开发与运维中,探讨用工程化的方法构建和维护有效的、高质量的物联网系统软件的一个学科分支。91项目六物联网应用软件设计6.2物联网软件工程概述1.2软件工程发展阶段和研究内容一、发展阶段在过去的近60年来,软件工程的发展主要经历了4个阶段。1.传统软件工程阶段:20世纪50-70年代20世纪60年代,软件生产主要采用“作坊”式生产,出现“软件危机”,提出“软件工程”;70年代以来,逐渐形成了以结构化方法、Jackson方法等为代表的大量研究成果,软件工程的基本概念、框架、技术和方法也在逐步完善中,形成第一代软件工程,称之为传统软件工程阶段921

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.2软件工程发展阶段和研究内容一、发展阶段在过去的近60年来,软件工程的发展主要经历了4个阶段。2.面向对象软件工程阶段:20世纪70-90年代20世纪80年代出现的Smalltalk-80标志着面向对象程序设计进入实用阶段。从80年代中期到90年代,研究重点转向面向对象分析与设计,从而演化成一种完整的软件开发方法和系统的技术体系。1997年1月,多种面向对象方法经过一段大战后,由OMG形成了统一建模语言,使得面向对象方法得到进一步的发展。931

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.2软件工程发展阶段和研究内容一、发展阶段在过去的近60年来,软件工程的发展主要经历了4个阶段。3.软件工程过程阶段:20世纪80年代中期-90年代1984年开始的“软件过程运动”将关键的“软件过程”加入到软件工程活动中,逐步形成了软件过程工程,成为软件工程的第三代。4.现代软件工程阶段:20世纪90年代至今从20世纪90年代起,软件复用技术的提出为软件工程提供了新的发展方向,而构件(Component)和服务概念的提出为软件复用提供了实施保障,逐渐形成软件工程的第四代。941

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.2软件工程发展阶段和研究内容一、发展阶段软件工程还在不断发展:构件工程、对象工程以及过程工程都有不少新的进展;传统软件工程中的一些基本概念、框架也随着技术的进步在发生演变。软件工程的四个阶段只是为了描述的方便人为给出的一种划分,代与代之间并没有鸿沟,它们不仅有交叉重叠,也有携手并进软件工程是一门处于前沿地位的重要学科,需要认真研究和细心学习,并在技术实践中不断创新和发展。951

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.2软件工程发展阶段和研究内容二、研究内容软件工程研究内容主要包括4个方面:方法与技术、工具与环境、管理技术、标准与规范1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述

1.3软件工程方法通常把在软件生存周期全过程中使用的一整套技术方法的集合称为方法学(Methodology),也称为范型(Paradigm)。

软件开发方法学包括3个要素:方法、工具和过程。方法是完成软件开发过程中各项任务的技术方法,回答“怎样做”的问题,工具是为运用方法而提供的自动或半自动的软件支撑环境;过程是为获得高质量的软件所需完成的一系列任务的框架。软件工程方法支持软件工程活动,典型的有面向数据的方法、结构化方法、面向对象方法等。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.3软件工程方法面向数据结构的方法以Jackson方法为代表,主要解决早期以数据为中心的小型软件的开发,目前也可与其它方法结合,用于模块的详细设计。该方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,从而得到完整的程序结构图。这一方法对输入、输出数据结构明确的小型系统特别有效,如商业应用中的文件表格处理。Jackson方法的优点是:简单,建立问题的数据结构后,就可直接推导出相应的程序结构;局限性:不适合于大规模系统,当输入与输出数据结构不相同且没有对应关系时,难于应用。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述

1.3软件工程方法面向数据结构的方法一般通过以下五个步骤来完成设计:(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。(3)按以下的规则由输入、输出的数据结构导出程序结构。1)为每一对在输入数据结构和输出数据结构中有对应关系的单元画一个处理框。2)为输入和输出数据结构中剩余的数据单元画一个处理框。3)所有处理框在程序结构图上的位置,应与由它处理的数据单元在数据结构Jackson图上的位置一致。4)必要时,可以对映射导出的程序结构图进行进一步的细化。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.3软件工程方法面向数据结构的方法一般通过以下五个步骤来完成设计:(4)列出基本操作与条件,并把它们分配到程序结构图的适当位置(5)用伪码写出详细过程描述。例:一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述

1.3软件工程方法面向数据结构的方法1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.3软件工程方法面向数据的方法1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.3软件工程方法面向数据结构的方法1

物联网软件工程概述第4步,列出所有操作和条件,并将其分配到程序结构图适当位置⑴停止

⑵打开文件⑶关闭文件

⑷印出字符串⑸印出空格数目

⑹印出空格总数⑺sum:=sum+1⑻totalsum:=totalsum+sum⑼读入字符串

⑽sum:=O⑾totalsum:=0⑿pointer:=l⒀pointer:=pointer+1I⑴文件结束I⑵字符串结束S⑶字符是空格

其中,sum是保存空格个数的变量,totalsum是保存空格总数的变量,而pointer是用来指示当前分析的字符在字符串中的位置的变量。项目六物联网应用软件设计6.2物联网软件工程概述2.1.3软件工程方法面向数据结构的方法1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述2.1.3软件工程方法面向数据结构的方法1

物联网软件工程概述用伪码表示程序处理过程。统计空格seq

打开文件

读入字符串totalsum:=0

程序体iteruntil文件结束

处理字符串seq

印字符串seq

印出字符串

印字符串endsum:=0pointer:=1

项目六物联网应用软件设计6.2物联网软件工程概述1

物联网软件工程概述

分析字符串iteruntil字符串结束

分析字符select字符是空格

处理空格seq

sum:=sum+1pointer:=pointer+1

处理空格endor字符不是空格

处理非空格seqpointer:=pointer+1

处理非空格end

分析字符end

分析字符串end

印空格数seq

印出空格数目

印空格数endtotalsum:=totalsum+sum

读入字符串

处理字符串end

程序体end

印总数seq

印出空格总数

印总数end

关闭文件

停止统计空格end项目六物联网应用软件设计6.2物联网软件工程概述2.1.3软件工程方法2、结构化方法起源于20世纪60年代,是一种面向数据流的方法,主要包括结构化分析、结构化设计与结构化编程三部分内容,其主要思想是:自顶向下、逐步求精、模块化设计和语句结构化3、面向对象方法基于对象概念,以对象为中心,以类和继承性为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统符合人类认识客观世界的方式。把面向对象的思想应用于软件开发过程中,指导开发活动,强调最终建立的系统能够映射到问题域。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.4软件生存周期一般分为软件计划、软件开发和软件运行三个时期。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述2.1.5软件开发模型软件开发模型(也称为软件生存周期模型、软件过程模型)是指一种开发策略,这种策略针对软件工程的各个阶段提供一套泛型,使工程的进展达到预期的目的。瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、基于构件的开发模型等。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.5软件开发模型1、瀑布模型W·Royce于1970年首先提出来的,按照线性顺序连接软件生存周期的各个阶段,规定了由前至后、相互衔接的固定次序,20世纪80年代之前,一直是唯一被广泛采用的生存周期模型,现在仍然是软件工程中应用得最广泛的过程模型,而且是以文档为驱动,适合于需求很明确的软件项目开发的模型。1

物联网软件工程概述项目六物联网应用软件设计6.2物联网软件工程概述1.5软件开发模型1、瀑布模型1

物联网软件工程概述需求分析需求规格说明书概要设计软件结构图详细设计模块说明编码验收测试集成测试单元测试源程序清单项目六物联网应用软件设计6.2物联网软件工程概述2.1.5软件开发模型1、瀑布模型—特点(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论