- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 7.4 物联网应用层软件设计方法 7.4.1 物联网应用软件架构设计 7.4.2 物联网应用软件功能模块的划分 * 7.4 物联网应用层软件设计方法 7.4.1 物联网应用软件架构设计 体系结构:体系架构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以及指导上述内容设计与演化的原理”。也叫软件架构。 实际上,软件体系架构设计就是面向对象软件系统的总体设计。 一般地,软件架构设计必须遵循的原则包括: 满足功能性需求和非功能需求; 实用性原则; 满足复用的要求,最大程度地提高开发人员的工作效率。 * 7.4 物联网应用层软件设计方法 7.4.1 物联网应用软件架构设计(续) 详细地讲,软件架构设计的原则可从以下四个方面提出指导: 1、设计总纲。包括领域视角原则、系统视角原则、重用原则、商业目标原则、一致性原则、够用/简单原则、变化点分离原则、逻辑与物理分离原则、支持分阶段交付原则等九个方面。 2、子系统/模块划分原则。包括高内聚、低耦合原则、数据冗余最小原则、通用的平面划分原则、数据一致性原则、通用的层次划分原则、分层的单向依赖原则、无循环依赖原则、避免跨层通讯原则、解耦原则、实现无关性原则、灵活部署原则等十一个方面。 3、接口设计原则。包括标准化原则、扩展性原则、兼容性原则、抽象性原则等四个方面。 4、质量属性设计原则。包括可重用性、可扩展性、可修改性、可移植性、兼容性、可伸缩性、可裁减性、性能原则、可用性/可靠性原则、安全性、可测试性/可调试性、可安装性、可生产性/可制造型、可配置性、成本、易懂性、可维护性等十七个方面。 * 7.4 物联网应用层软件设计方法 7.4.1 物联网应用软件架构设计(续) 根据我们关注的角度不同,可以将软件架构分成三种: 逻辑架构:指软件系统中元件之间的关系,比如用户界面,数据库,外部系统接口,商业逻辑元件等等。 物理架构:指软件元件是怎样放到硬件上的。 系统架构:指的是系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。系统架构的设计,要求架构师具备软件和硬件的功能和性能的过硬知识,这一工作是架构设计工作中最困难的工作。 * 一个应用服务的逻辑架构示意图 一个应用服务的物理架构示意图 7.4 物联网应用层软件设计方法 7.4.1 物联网应用软件架构设计(续) 介绍常用的软件架构之前,先来给出框架、模式的定义及他们之间的区别和联系。 框架(Framework)是某种应用的半成品,是完成特定系统的一组供选用构件。简单说就是使用别人搭好的舞台,你来做表演。框架与架构的区别并无明确的定义,但一般从分层的观点看,认为框架是底层的,接近系统的,软件开发者在框架上构建自己的软件架构,开发自己的应用程序。 按照目前主流的设计环境,常见的框架包括JAVA框架、.Net框架和基于C++的框架三种。 * 7.4 物联网应用层软件设计方法 7.4.1 物联网应用软件架构设计(续) 介绍常用的软件架构之前,先来给出框架、模式的定义及他们之间的区别和联系。 模式(Pattern),Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作。 通俗地说,模式其实就是解决某一类问题的方法论,即把解决某类问题的方法总结归纳到理论高度。按照解决问题的类型不同,模式可分为架构模式(Architectural Pattern)、设计模式(Design Pattern)和代码模式(Coding Pattern)。三者的区别在于各自抽象层次的不同。 * 7.4 物联网应用层软件设计方法 7.4.1 物联网应用软件架构设计(续) 根据经验法则,按照软件类型不同,在进行软件架构选择和设定时,可以通过下述经验法则作为指导来选择典型的软件架构: 如果要开发系统类型软件,可选择分层(Layer)架构、管道和过滤器(Pipes and Filters)或黑板(Blackboard)架构; 如果开发分布式软件,可选择代理(Broker)架构、客户/服务器(Client/Server)架构或点对点(Peer to Peer)架构; 如果开发交互式软件,可以选择模型-视图-控制器(Model-View-Controller)架构或显示-抽象-控制(Presentation-Abstraction-Control)架构; 其他典型的架构还包括:面向对象风格(ADT)风格、基于消息广播且面向图
您可能关注的文档
最近下载
- 2025年监理取费标准(670号文件)-zs文档.pdf VIP
- Al Brooks 价格行为交易趋势篇.pdf VIP
- 广药集团市场分析.pptx VIP
- 人教版七年级上册数学期中试卷及答案【完整版】.pdf VIP
- 抹灰技术交底大全.doc VIP
- 大型游乐设施质量安全风险管控清单〔大型游乐设施制造(含安装、修理、改造)单位〕.pdf VIP
- 2025年西安铁路职业技术学院单招考试文化素质数学考试历年机考真题集含完整答案详解【考点梳理】.docx VIP
- 废渣委托处理协议-范本5篇.docx VIP
- 20以内加减法之凑十法、破十法、平十法图解练习题.doc VIP
- 无烟学校倡议书.docx VIP
原创力文档


文档评论(0)