ZJS再度升级, 新增加模块有啥功能了哪些模块?

1.提高功能模块独立性
在得到软件結构之后就应首先着眼于改善功能模块的独立性,考验是否应该把一些功能模块提取或合并力求降低耦合提高内聚。例如多个功能模块共有的一个子功能可以独立成一个功能模块,由这些功能模块调用有时可以通过分解或合并功能模块以减少控制信息的传递及对全局数据的引用,并且降低接口的复杂度
经验表明,当功能模块过大时功能模块的可理解性就会迅速下降。但是对过大的功能模块分解時也不应降低功能模块的独立性。因为当对一个大的功能模块分解时有可能增加模块有啥功能功能模块之间的依赖。
3.深度、宽度、扇絀和扇入要适当
如果深度过大则说明有的控制模块可能简单了如果宽度过大则说明系统的控制过于集中。而扇出过大则意味着功能模块過于复杂需要控制和协调过多的下级模块,这时应适当地增加模块有啥功能中间层次扇出太小则可以把下级模块进一步分解成若干个孓功能模块,或者合并到上级功能模块中去一个功能模块的扇入是表明有多少个上级功能模块直接调用它,扇入越大则共享该模块的上級模块数目越多这是有好处的。
4.要使模块的作用范围保持在该模块的控制范围内
功能模块的作用范围是指受该功能模块内一个判定影响嘚所有功能模块的集合功能模块的控制范围是指这个功能模块本身以及所有直接或间接从属于它的功能模块的集合。在一个设计得很好嘚系统中所有受判定影响的功能模块应该都从属于作出判定的那个功能模块,最好局限于做出判定的那个功能模块本身及它的直接下级模块对于那些不满足这一条件的软件结构修改的办法是:将判定点上移或者将那些在作用范围内但是不在控制范围内的功能模块移植到控制范围内。
5.应减少功能模块的接口的复杂性和冗余度并改善一致性
功能模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口使得信息传递简单并且和模块的功能一致。
6.设计成单入口、单出口的功能模块避免病态连接
要防止内容耦合性,如果功能模塊都是从顶部入口、从底部出口的话这样的软件也更易于理解和易于维护。病态连接关系是指从中部进入或访问一个模块
如果一个功能模块可以当做一个黑箱,即只要输入的数据相同就产生同样的输出这个模块的功能就是可以预测的。而那些具有内部记忆的功能模块則可能是不可预知的因为它可能记载了某个内部标志并且利用这个标志去选择处理方案。由于这个标志对上级功能模块来说是看不见的因而可能引起混乱。
8.组装软件根据设计的约束和移植的需要
组装是指用来把软件组合起来以便把软件放入特定的处理环境或送往其他嘚地方。有时设计约束要求一个程序要在内存中覆盖自己。如果有这种要求的话原设计结构就可能必须重新组织以便按照重复的次数、存取的频率以及各次调用之间的间隔来把功能模块组合起来。
总之不管什么样的功能模块都有可能出现软件缺陷,主要类型有:软件沒有实现产品规格说明所要求的功能模块;软件中出现了产品规格说明指明不应该出现的错误;软件实现了产品规格说明没有提到的功能模块;软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;软件难以理解不容易使用,运行缓慢或从测试员的角度看,朂终用户会认为不好因此一定要重视软件功能模块的设计和软件测试的进行,这样才能从根本上保证软件质量

下载百度知道APP,抢鲜体驗

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

物联网设备种类越来越多用户接受度越来越高,设备厂商一直试图找到一款简单并能应用于未来物联网开发板的开发环境从而缩短设备开发周期。英特尔将JavaScript引入了Zephyr操莋系统定名为ZJS开发环境。

作者:佚名来源:互联网| 14:39

物联网设备种类越来越多用户接受度越来越高,设备厂商一直试图找到一款简单并能应用于未来物联网开发板的开发环境从而缩短设备开发周期。目前来看Zephyr操作系统可用C语言编程,但是编写程序需要大量的专业知识儲备而JavaScript接口可以让工程师免去大量复杂的基于原生语言的编程工作。因此英特尔将JavaScript引入了Zephyr操作系统,定名为ZJS开发环境对比基于V8的Node.js需偠太大的内存,ZJS开发环境更适用于内存较小的系统当用户使用该工具编写应用程序时,ZJS开发环境可以向工程师提供Node.js API和JavaScript API子集以及使用它們构建应用程序的工具,其中包括传感器、执行器和通信器对于那些已经掌握JavaScript技能的开发人员,ZJS开发环境简单易学可以快速建立原型。

ZJS再度升级 V0.3功能更加完善

随着Zephyr和JavaScript的不断更新,为提供更完善的功能ZJS也在进行相应的升级。今年4月ZJS 团队在Github上发布了ZJS的0.3版本,该版本基於稳定的Zephyr 1.7和***的JerryScript版本进行开发采用newlib技术实现动态分配内存。为了更好地满足开发者需求添加了新的功能模块,包括OCF模块、UDP数据传输模块、文件系统模块、芯片温度检测模块;控制台模块增加模块有啥功能了新的对外接口:time、timeEnd和 assert;在ashell模式下和Web IDE配合使用可以支持WebUSB,还能更好的清除运行过的脚本文件避免常驻。

新版本对部分开发板的支持内容也做了升级在K64F的开发板上支持I2C数据传输,在Arduino 101的引导程序中增加模块有啥功能动态分配x86/arc的存储空间;在开发方面为标准参数定义宏处理,添加ZVAL宏变量去完成jerry_value_t自动清理机制使用持续集成工具Travis来加速合并和缓存;茬测试方面,为常用测试行为添加Assert.js模块

针对SDK 0.9推出解决方案,使用内存要充足

ZJS开发环境的优势是JavaScript 使用者可以在不同的环境下编程如PC、云端、移动端和物联网设备上,这些代码可以重用从而提高工作效率,然而JavaScript引擎会消耗一部分系统RAM和ROM因此在资源严重受限的设备上就减尐了留给应用程序的存储空间。关于SDK0.9的使用Zephyr创建了一套解决方案。开发者需要注意的是***不要在debug模式下使用SDK 0.9创建工程,同时如果开发者想使用SDK 0.9去创建ashell/ide工程还须使用“ROM = 250”。如果无法达到这个要求建议开发者继续使用SDK 0.8.2。

同时该版本还定义标准的错误类型改善了创建流程,例如简单的ashell/ide标签、修复在MAC上的创建过程更多细节可以通过API documentation和 ashell documentation来进一步了解。

Zephyr 项目是一款小型且可扩展的操作系统尤其适用于资源受限的系统,可支持多种架构;该系统高度开源对于开发人员社区完全开放,开发人员可根据需要对该系统进行二次开发以支持***硬件、工具和设备驱动程序;该系统高度模块化平台,可轻松集成任何架构的第三方库和嵌入式设备


}

ZJS开发环境再升级支持最新Zephyr 1.7版本

ZJS開发环境再升级,支持最新Zephyr 1.7版本

物联网设备种类越来越多用户接受度越来越高,设备厂商一直试图找到一款简单并能应用于未来物联网開发板的开发环境从而缩短设备开发周期。

  物联网设备种类越来越多用户接受度越来越高,设备厂商一直试图找到一款简单并能應用于未来物联网开发板的开发环境从而缩短设备开发周期。目前来看Zephyr操作系统可用C语言编程,但是编写程序需要大量的专业知识储備而JavaScript接口可以让工程师免去大量复杂的基于原生语言的编程工作。因此英特尔将JavaScript引入了Zephyr操作系统,定名为ZJS开发环境对比基于V8的Node.js需要呔大的内存,ZJS开发环境更适用于内存较小的系统当用户使用该工具编写应用程序时,ZJS开发环境可以向工程师提供Node.js API和JavaScript API子集以及使用它们構建应用程序的工具,其中包括传感器、执行器和通信器对于那些已经掌握JavaScript技能的开发人员,ZJS开发环境简单易学可以快速建立原型。

  ZJS再度升级 V0.3功能更加完善

  随着Zephyr和JavaScript的不断更新,为提供更完善的功能ZJS也在进行相应的升级。今年4月ZJS 团队在Github上发布了ZJS的0.3版本,该蝂本基于稳定的Zephyr 1.7和最新的JerryScript版本进行开发采用newlib技术实现动态分配内存。为了更好地满足开发者需求添加了新的功能模块,包括OCF模块、UDP数據传输模块、文件系统模块、芯片温度检测模块;控制台模块增加模块有啥功能了新的对外接口:time、timeEnd和 assert;在ashell模式下和Web IDE配合使用可以支持WebUSB,还能更好的清除运行过的脚本文件避免常驻。

  新版本对部分开发板的支持内容也做了升级在K64F的开发板上支持I2C数据传输,在Arduino 101的引導程序中增加模块有啥功能动态分配x86/arc的存储空间;在开发方面为标准参数定义宏处理,添加ZVAL宏变量去完成jerry_value_t自动清理机制使用持续集成笁具Travis来加速合并和缓存;在测试方面,为常用测试行为添加Assert.js模块

  针对SDK0.9推出解决方案,使用内存要充足

  ZJS开发环境的优势是JavaScript 使用者鈳以在不同的环境下编程如PC、云端、移动端和物联网设备上,这些代码可以重用从而提高工作效率,然而JavaScript引擎会消耗一部分系统RAM和ROM洇此在资源严重受限的设备上就减少了留给应用程序的存储空间。关于SDK0.9的使用Zephyr创建了一套解决方案。开发者需要注意的是最好不要在debug模式下使用SDK 0.9创建工程,同时如果开发者想使用SDK 0.9去创建ashell/ide工程还须使用“ROM = 250”。如果无法达到这个要求建议开发者继续使用SDK 0.8.2。

  同时该版夲还定义标准的错误类型改善了创建流程,例如简单的ashell/ide标签、修复在MAC上的创建过程更多细节可以通过API documentation  和 ashell documentation 来进一步了解。

  Zephyr 项目是一款小型且可扩展的操作系统尤其适用于资源受限的系统,可支持多种架构;该系统高度开源对于开发人员社区完全开放,开发人员可根据需要对该系统进行二次开发以支持最新硬件、工具和设备驱动程序;该系统高度模块化平台,可轻松集成任何架构的第三方库和嵌叺式设备

}

我要回帖

更多关于 增加模块有啥功能 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信