精华内容
下载资源
问答
  • 最近接触到了一些比较有意思的app设计思想。总的来说是为了,app更小,更方便用户模块化更新。 商城里面,有个叫shopnc的商城。它的app的主界面设计的比较有意思,可以通过后台进行设置主界面的显示内容,问了些...

    最近接触到了一些比较有意思的app设计思想。总的来说是为了,让app更小,更方便用户模块化更新。

    商城里面,有个叫shopnc的商城。它的app的主界面设计的比较有意思,可以通过后台进行设置主界面的显示内容,问了些朋友和自己反编译其代码以后,对其有个猜测(因为,我也没源码)。然后,猜测可能是对相关的界面做封装,然后,在通过Json的解析,实现了相对自由化的主界面布局,以及无需更新就能设置自己的app主页的功能。

    还有个有意思的app,关于创维的一个app,它安装以后,可以通过安装扩展app,进行功能的扩展(并且有意思的是,扩展app没有显示图标)。然后,我对它的扩展安装包进行了下反编译以后,发现它没有写入口,但是相关的service什么的还存在,因为它没有启动入口所以,就没有图标了(真心对想出这个办法的人数一个大拇指,赞!)。然后,app如果想启动相关的界面的话,只需要调用相关的界面即可。但是这种问题存在一个比较严重的bug。卸载的时候,只能把主app卸载了,然后那些安装的扩展app,就无法卸载了,另外,用户如果更新了主app以后,扩展的app的界面什么的可能存在对应不上的问题。(所以存在不合理性)

    还有一种用html5做app的方法现在出现在网络上,它可以实现一些相对简单的功能(可能有大神能实现复杂的)。

    关于增量包的设计,我暂时还没接触。

    展开全文
  • 常见非功能性需求的描述案例

    万次阅读 多人点赞 2018-01-31 14:05:34
    功能性需求是需求的一个重要组成部分,它影响了系统的架构设计,需要开发人员重点关注。但是在工程实践中,往往客户不会提出非功能性需求,需求人员在描述需求时不知道如何描述,在国际的各种标准中,对非功能性...

     非功能性需求是需求的一个重要组成部分,它影响了系统的架构设计,需要开发人员重点关注。但是在工程实践中,往往客户不会提出非功能性需求,需求人员在描述需求时不知道如何描述,在国际的各种标准中,对非功能性需求有定义,但是比较抽象。因此我整理如下常见的非功能性需求的描述案例,供需求人员进行参考。


    1、性能需求描述案例:

    响应时间:

    在95%的情况下,一般时段响应时间不超过1.5秒,高峰时段不超过4秒。

    定位系统从点击到第一个界面显示出来所需要的时间不得超过300毫秒。

    在网络畅通时,拨号连接GPRS网络所需时间不得超过5秒。

    在网络畅通时,电子地图刷新时间不超过10秒。

    在推荐配置环境下:登录响应时间在2秒内,刷新栏目响应时间在2秒内,刷新条目分页列表响应时间2秒内,打开信息条目响应时间1秒内,刷新部门、人员列表响应时间2秒内。

    在非高峰时间根据编号和名称特定条件进行搜索,可以在3秒内得到搜索结果。

    业务量:

    每日最大成交数3000笔业务。

    平均交易并发数为20,最大交易并发数为50。

    估计用户数为1万人,每天登录用户数为3000左右,网络的带宽为100M带宽。

    系统可以同时满足10,000个用户请求,并为25,000个并发用户提供浏览功能。

    系统容量:

    支持3万用户,支持GB级数据。

    数据库表行数不超过100万行,数据库最大容量不超过1000GB,磁盘空间至少需要40G以上。

    精度:

    定位精度误差不超过80米。

    当通过互联网接入系统的时候,期望在编号和名称搜索时最长查询时间<15秒。

    计算的精确性到小数点后7位。

    资源使用率:

    CPU占用率<=50%。

    内存占用率<=50%。


    2、安全需求描述案例:

    严格权限访问控制,用户在经过身份认证后,只能访问其权限范围内的数据,只能进行其权限范围内的操作。

    不同的用户具有不同的身份和权限,需要在用户身份真实可信的前提下,提供可信的授权管理服务,保护数据不被非法/越权访问和篡改,要确保数据的机密性和完整性。

    提供运行日志管理及安全审计功能,可追踪系统的历史使用情况。

    能经受来自互联网的一般性恶意攻击。如病毒(包括木马)攻击、口令猜测攻击、黑客入侵等。

    至少99%的攻击需要在10秒内检测到。


    3、可靠性需求描述案例:

    对输入有提示,数据有检查,防止数据异常。

    系统健壮性强,应该能处理系统运行过程中出现的各种异常情况,如:人为操作错误、输入非法数据、硬件设备失败等,系统应该能正确的处理,恰当的回避。

    因软件系统的失效而造成不能完成业务的概率要小于5‰。

    要求系统7x24小时运行,全年持续运行故障停运时间累计不能超过10小时。

    系统缺陷率每1,000小时最多发生1次故障。

    在1,000,000次交易中,最多出现1次需要重新启动系统的情况。


    4、兼容性需求描述案例:

    系统应支持IOS,Android , windows操作系统;

    系统应支持Oracle, DB2 数据库系统;

    最多只有5%的系统实现需要具体到特定的操作系统。

    替换关系数据库系统的平均时间不超过2小时,并且保证没有数据丢失。


    5、数据保密需求描述案例:

    网络传递数据应经过加密。需要保证数据在采集、传输和处理过程中不被偷窥、窃取、篡改。业务数据需要在存储时进行加密,确保不可破解。


    6、环境需求描述案例:

     

    硬件

    操作系统及其版本

    应用服务器软件及其版本

    应用软件及其部件

    服务器

    IBM RS6000

    AIX 4.3.3

    IBM HTTP Server、Apache、MS IIS5.0等;

    DB2(7.2 EE以上版本)

    WAS(4.0以上版本)、Web Logic(7.0以上版本)等;

    Oracle EE(9i EE以上版本)

    浏览客户端

    PII 800/64M/2G

    Win98及以上

    IE 5.0以上或Netscape同等版本以上

     

    特殊客户端

    PII 2G/64M/2G

    建议配置Win2000及以上

    IE 5.0以上或Netscape同等版本以上

    MicroStrategy7i客户端


    7、易用性需求描述案例:

    在引入该产品的3个月内,60%的用户应该可以在45秒内用它来完成转账的任务,失败率控制在万分之一以内。

    60%的用户在第一次看见该产品的5秒内,就会意识到这是**银行的网银。

    80%的用户在接受一个2小时的系统介绍培训后,可以在5分钟之内成功预订房间。


    8、可用性需求描述案例:

    有些农村地区网络质量差,带宽小。在网络环境差的条件下保证系统的可用性等。

    在95%的故障中,系统最多需要20秒重启。

    提供数据备份和恢复功能,使得在由于系统的错误或其他原因引起系统的数据丢失或系统的数据被破坏时,能够及时恢复和还原数据(由硬件及第三方软件提供此功能)。


    9 、可测试性需求描述案例:

    一个模块的最大圈复杂度不能超过15。

    交付的系统必须通过单元测试,并且是100%覆盖。

    开发活动必须使用回归测试,并允许在12小时内重新进行完整的测试。


    10、可维护性需求描述案例:

    从接到修改请求后,对于普通修改应在1~2天内完成;对于评估后为重大需求或设计修改应在1周内完成。

    90%的BUG修改时间不超过1个工作日,其他不超过2个工作日。

    代码的圈复杂度必须在10以内。

    任何对象的任何方法都不允许超过200行代码。

    安装新版本必须保持所有的数据库内容和所有个人设置不变。

    产品必须提供可跟踪任何数据库字段的工具。





    展开全文
  • Zookeeper - 一致系统

    千次阅读 2019-01-09 17:51:47
    Zookeeper - 一致系统zookeeper的分布式锁原理概述zookeeper的核心思想与读写机制作为服务发现zookeeper的劣势 zookeeper的分布式锁原理概述 zookeeper 由它的数据结构(Znode),操作原语 和watcher 构成,提供...

    zookeeper的分布式锁原理概述

    zookeeper 由它的数据结构(Znode),操作原语 和watcher 构成,提供了分布式锁的功能,基于这个基本的功能还发展了服务发现(劣势),配置维护,分布式消息队列等功能。
    我们可以简单的把他理解成一个key:value存储系统,将分布式环境的一致性集中在zookeeper中。单个的zookeeper存在单点故障的问题,所以zookeeper需要集群。集群后,zookeeper就需要维护集群的一致性问题,即每个节点的数据需要同步。zookeeper通过zab协议来维持集群的数据的同步,从而来实现分布式锁。

    zookeeper的核心思想与读写机制

    zookeeper的核心思想是使用非锁机制,提供wait free(无等待并发级别)的读写。不加互斥的锁,而是通过版本控制。
    集群中zookeeper通过全局串行化写操作和保证同个客户端的操作FIFO来保证一致性
    当写请求到达任意集群中的follwer时,会转发给leader,leader再执行广播,当超过一半follwer持久化到硬盘。leader才返回成功.
    因为上面所描述的强一致性,显然读任意一个节点都是没有问题的。

    作为服务发现zookeeper的劣势

    在CAP原理的条件下,当集群出现了分区,即部分节点网络不通了,那么这部分“健康”的节点就没有用了。也就是选择C,放弃了A。这是zookeeper强一致性的表现,但是服务发现的可用性更重要。

    展开全文
  • Linux实现实时的需求与方法

    千次阅读 2016-09-09 11:25:39
    现有的一些商业实时操作系统,尽管提供了很小的核心和多任务开发环境,但性能并不理想,也不符合现在实时嵌入式市场的需求。    因此,人们把目光投向了通用操作系统(例如Windows、Solaris、linux),希望把它们...

      过去很多嵌入式系统不是一个操作系统,或者是提供商的专有核心,或者是DOS操作系统的扩展。显然这些方法并不能适应今天嵌入式系统开发的要求!现有的一些商业实时操作系统,尽管提供了很小的核心和多任务开发环境,但性能并不理想,也不符合现在实时嵌入式市场的需求。
      
      因此,人们把目光投向了通用操作系统(例如Windows、Solaris、linux),希望把它们“改造”为实时操作系统。通常这些操作系统功能强大,结构复杂,易于软件的二次开发,实用性强,并且提供编程人员熟悉的标准API。此外,这些操作系统也提供了一些对实时软件开发的支持。然而,这些操作系统用于嵌入式系统的开发还存在不足。嵌入式系统要求具备高可靠性,满足应用需求的可剪裁性,以及比通用操作系统要求更高的实时性。
      
      做为嵌入式系统开发的解决方案,linux在众多通用操作系统中具有独一无二的优势。
      
      首先,Windows和Solaris等专有商业操作系统的剪裁受到商家的严格控制。这大大限制了开发者的剪裁深度。而linux遵循GPL协议,开放所有系统源代码,非常易于剪裁。
      其次,同其它开放源码的通用操作系统(如FreeBSD)相比,linux在多种处理器、开发板支持和软件开发工具支持上有很强的优势。
      linux最初也是作为通用操作系统而设计开发的,但提供了一些实时处理的支持。这包括支持大部分POSIX标准中的实时功能,支持多任务、多线程,具有丰富的通信机制等。
      
      linux还提供符合了POSIX标准的调度策略,包括FIFO调度策略、时间片轮转调度策略和静态优先级抢占式调度策略。其默认的调度策略是第三种。Linux还提供了内存锁定功能,以避免在实时处理中存储页被换出,也提供了符合POSIX 标准的实时信号机制。

      一个致命问题是,linux在用户态支持可抢占调度策略,而在核心态却不支持抢占式调度策略。这样运行在Linux核心态的任务(或系统调用)是不能被其它优先级更高的任务所抢占的,这样就会引起优先级逆转问题。另外,Linux操作系统的中断处理句柄是不可调度的,不能依优先级高低。

      此外,我们还关心和任务响应时间相关的时钟精度,以及由于资源共享而带来的优先级逆转问题。linux中硬件时钟中断的默认时间间隔是10ms,所有的软件时钟都是靠硬件来触发的。而简单同步机制(互斥)不支持优先级继承又很可能导致优先级逆转。

    独立核方法

      linux作为实时系统的独立核方法是指设计一种完全独立的实时核心,但其API 与Linux核心相兼容。这种方法的理论基础是一款优秀的实时操作系统必须在其设计之初就充分考虑到系统实时性的要求,并能够提供符合标准的API。这种实现方法对很多与POSIX兼容的专有实时系统提供商很有吸引力。

      这种方法的局限性是由于设计了一个完全独立的实时核心而没有使用原有linux核心,导致Linux系统的一些优势难以继承,尤其是与Linux核心相关的一些优势无法获得。比如Linux核心对大量硬件的广泛支持,Linux核心超群的可靠性、稳定性等。另外,由于这种方法并没有通过修改Linux核心代码来开发实时核心,而是在Linux系统之上重新设计了一个实时核心,这样的开发并不要求源代码开放。因此,Linux一些基于开放源代码的优势也势必受损。最后一点,任何基于Linux核心的开发成果也无法方便地应用到实时核心中。

      当然这种实现方法也从linux系统中得到了很多好处。由于Linux系统的支撑,实时核心就并不需要“真”的去实现。而且熟悉Linux系统的开发人员也可以很快地熟悉这种方法开发出的实时系统。人们也会自然地想到用Linux系统做嵌入式系统的开发平台。此外,如果这种实时系统的API是Linux系统API子集的话,我们还可以只在Linux主机上仿真,进行应用程序的开发和调试,免去了远程调试之苦!

      与linux API的兼容程度是评估这类实时系统的一个重要指标。如果一个实时系统兼容了所有Linux API,那么就允许所有Linux上的应用程序和库在其上运行使用。因此,这将会带来一个巨大的好处,所有在Linux上可用的第三方软件均可以在其上使用。当然,开发一款这样兼容所有Linux API的实时系统决不是件容易的事,尤其是对于单个开发商来说。

      所以,大量的第三方软件并不能很容易地移植到实时系统中来,这点不足,也使linux的优势大打折扣!

    双核方法

      这种方法在同一硬件平台上采用了两个相互配合,共同工作的系统核心,一个核心提供精确的实时多任务管理,另一个核心提供复杂的非实时通用功能。

      这种方法是通过在linux操作系统的最底层增加一层实时核心层来实现的。实时核心负责硬件管理并提供实时任务管理。实时核心还用软件“模拟”常规Linux系统对底层硬件的使用/禁止中断,而不是真正的操作中断控制寄存器。Linux核心被看做实时核心中优先级最低的任务来调度,只有当没有可运行的实时任务时Linux核心才被调度。

      这种方法的一个关键所在是运行在常规linux核心上的所有非实时任务必须是支持可抢占式调度的。这样才能做到对实时核心提供精确实时保证没有任何影响。由于实时核心非常小,并不会增加整个系统的负载,所有这些对开发实时性要求严格的实时软件都提供了有力保障。

      这种方法的弊端在于实时任务的开发是直接面向提供精确实时服务的小实时核心的,而不是功能强大的常规linux核心。因此,实时任务是运行在系统核心层的,这就意味着这些实时任务可以运行在没有内存保护的级别之上。所以,一个实时任务的错误可能会导致整个系统的瘫痪!更要命。

      这种开发模式暗示我们必须要对应用进行静态分解。把它分解成实时部分和非实时部分。在大多情况下,这是件好事情。它迫使开发人员将应用系统分解成实时子系统和非实时子系统两部分。但很显然,使用这种开发模式也限制了应用的类型!因为,这种用二元论观点看待实时系统的方法并不适合所有的应用。在一些应用中,实时部分和非实时部分的界线并不是十分分明,期间可能存在着不同程度的软实时部分。

      这种方法的另一个不足之处是,开发模式混合了实时应用的两个不相干维度——功能需求和实时需求。它要求应用的实时需求必须限制于由实时核心提供的功能需求限度以内。而实时核心提供的功能支持非常有限。当然我们也可以扩展实时核心的功能,比如增加实时网络功能等。然而,新增加的部分很有可能会重叠linux核心已有功能,而导致了不必要的系统“膨胀”,并折损这种方法的价值。

    修改核方法

      这种方法是基于已有linux系统对实时软件开发的支持,进行源代码级修改而使Linux变成一个真正的实时操作系统。这种方法也是和Linux哲学相吻合的。任何基于Linux核心源代码修改的产品,都要遵循GPL协议,对所有软件人员开放源代码。一旦很多人认为它是有用的,就会有人对它进行维护,或者是混合在通用Linux核心中,或者是单独分出一个实时Linux分支。

      这种方法的中心原则是精心选择部分改动,就可以满足一系列相关linux实时开发。此外,由于这些改动都是相对局部的,不会从根本上改变Linux的核心。而且一些改动还可以通过常规Linux的可加载模块方式完成。在需要时系统可以动态加载该功能模块,在不需要时还可以动态卸载该模块比如,修改之一是核心抢占式调度。把核心从非抢占式变成抢占式是结构上的大变动,并可能引起很多问题,但很多问题已经在linux支持SMP 的时候解决了。因此,核心的抢占式修改就可以简单地利用SMP挂钩。另一个修改点是前面提到过的使中断处理句柄可调度。还有一些修改是全局的,例如修改系统时钟服务来提供更高精度的“心跳”,而不增加不必要的系统负载,或者是提供在核心实现互斥机制来支持优先级继承。

    资源核方法

      这种方法是为解决传统实时操作系统中固定优先级抢占式调度策略的局限性而产生的。固定优先级抢占式调度算法没有任务间的临时保护。因此,可预见的任务响应时间依赖于对所有更高优先级任务执行时间的预测。在这样的系统中,可预见性是与全局相关的,并且可能被一个糟糕任务而影响的。此外,这种用静态观点看待实时系统也是不妥的。在很多实时应用中,更希望实时系统可以根据应用程序获得资源动态地调整任务属性,以求得到最优效果。

      资源核方法是一种以资源为中心来指导实时核心提供精确的、有保证的、可抢占的获取系统资源的方法。只要实时应用所需资源可以由核心后台资源管理程序调配满足,实时核心是允许实时应用可配置的。因此,实时核心其实是提供了实时应用可构建的基础——从配置简单的实时系统到复杂的实时系统,都可以通过动态地改变实时任务属性和它们在整个系统中的优先级来满足。

      这种方法的最大优点是系统具有很好的健壮性、可精确预见的实时性。另一个优点是允许应用程序根据实际情况动态调整自身属性。此外,这种方法非常适合嵌入式系统的开发。

    展开全文
  • Java 16 虽然是 2021 年 3 月 16 号发布的最新正式版本,但 6 个月后也要停止更新了,虽然这个版本带来了很多漂亮的新特性,但生命周期有限,对 Java 8 的伤害有限。 自从 JDK 1.0 发布以来,Java 已经发布了数次...
  • 优秀的程序员是没有生活的

    万次阅读 多人点赞 2018-03-07 23:46:17
    第二天——「我觉得 A 这个功能性,你可以考虑一下把 A 整合到 B 去」 第三天——「B 这个功能做得挺好的,但是太单薄」 …… …… 第 N 天——「其实我觉得最开始那个设计就特别好」 无论​遇到...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 程序员不能说自己不行啊

    万次阅读 多人点赞 2020-06-25 14:47:33
    最近进公司,给安排了工作,今天第一次没人带,自己上手搞代码,搞不出,明明挺简单的功能自己还是做不出,不知道从哪里学习,想赶快熟悉工作,可是自己的能力不行,在地铁上常看二哥原创的作品,平常积极在看,...
  • 目录写在最前一、 实体与弱实体的定义1. 实体2. 弱实体百度百科中的解释《数据库...我一直深受实体、弱实体概念的困扰,百度百科中的定义不能很好地解决我的困惑,一路学习过来,自己实体、弱实体的理解越...
  • 口令策略

    千次阅读 2017-05-26 20:01:55
    口令策略
  • 研究:武功与性欲的关系

    千次阅读 2009-11-05 11:02:00
    读罢金庸先生的小说,我们会发现一个很有趣的现象:但凡醉心于武学者,性欲都不是太,而武功越高者,性欲则越弱。这使得我很是好奇,不是说习武可以强身健体么,怎的越练越不济事呢,枉自有了一副好身板,真是银样...
  • 5分钟你了解 ZooKeeper 的功能和原理

    万次阅读 多人点赞 2018-04-01 14:35:06
    目录  一 .Zookeeper功能简介  二 . ZooKeeper基本概念 2.1 集群角色 2.2 集群节点分工 2.3 session 2.4 数据节点 2.5 状态信息 2.6 事物操作 2.7 Wa...
  • 沉淀、分享、成长,让自己和他人都能有所收获!???? 一、前言 20万行代码写完,毕业了找一份工作不是问题! 刚一毕业因为找不到工作,就得报名去参加Java培训的大有人在。并不是说参加培训就不好,只不过以你现在这...
  • 尽量避免bug的一些手法

    千次阅读 多人点赞 2018-12-28 11:43:32
    流程比较,最好用 //1、 //2、 //3、 标注一下,这样会更加清晰。 必须做开发联调 当你的业务接口开发完成后,一定要做开发者之间的联调。联调是端对端的,就算其中一方做的再好,没有联调,还是会出...
  • NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(一个或多个硬盘驱动器的网络设备,这些硬盘驱动器通常安排为逻辑的、冗余的存储容器或者RAID阵列)和内嵌系统软件,可提供跨平台文件共享功能。NAS通常
  • 国产FPGA那家

    万次阅读 2019-05-22 11:23:12
    国产FPGA那家 写了这么多FPGA的文章却从来没有涉及过国产FPGA,很多网友甚至不知道还有国产FPGA。下面列举一些国产FPGA,排名不分先后,标题只是噱头。内容如有侵权,请联系小编进行删除。 1 西安智多晶微电子...
  • 弱联网与联网之间的区别

    千次阅读 2017-10-13 20:31:56
    弱联网游戏是游戏行业给出的一个特定称呼,指代的是那种联网仅仅只为了数据存盘、计费功能,而核心玩法(包括主要逻辑)大多通过客户端完成的游戏,这是从技术上定义的。这个类型的游戏最优表现为离开网络一样可以玩...
  • 最近调试STM32 UDP功能一些心得

    万次阅读 2016-07-17 23:34:30
    最近调试STM32 UDP功能一些心得最近在研究STM32F107VC,由于某个任务需要用到UDP,就准备利用开发板结合LWip来实现该功能,但是在调试UDP的过程中,遇到了一些问题,在网上查找了半天,终于将基本的功能调通了。...
  • 软件设计之耦合与内聚的区别

    千次阅读 多人点赞 2018-10-28 15:09:29
    模块之间联系越紧密,其耦合就越,模块的独立则越差,模块间耦合的高低取决于模块间接口的复杂,调用的方式以及传递的信息。 内聚 内聚也叫块内联系,指模块的功能强度的度量,即一个模块内部各个元素...
  • Git 工作流的一些经验分享

    万次阅读 2017-02-15 23:52:57
    Git 工作流的一些经验分享 笔者使用git有一段时间了,踩过不少坑,这里分享下我在git工作流方面的一些经验。...下面针对说下每个工作流可能使用到的场景和适用:集中式工作流集中式工作流 | c
  • 如何在面试中介绍自己的项目经验

    万次阅读 多人点赞 2019-07-04 21:48:20
    但回答里能证明出他对框架等技术确实是做过,我会在评语里些“对框架了解一般,不知道一些深层次的知识(我都问了多次了你都回答很简答,那么对不起了,我只能这么写,或许你确实技术很,那也没办法,谁你不肯说...
  • 而目前第三方的ROM,像CM与MIUI都有自己的ROOT权限管理,这是一个从需求转向实现的一个人性化功能,带来的好处是必然的,对权限更深入的控制可以大大的加强系统的安全与可操作,但相应的弊端也可能存在,针对...
  • 如何自己开发软件测试工具

    万次阅读 多人点赞 2018-07-24 01:34:02
    序言:一说到自动化测试工具,大家很多人都会想到的是QTP、LR或者selenium之类的工具,要大家一开始设计一个这样的工具,其实确实很有难度,因为其包含的功能细节太过庞大。当年的我,开始设计开发工具的过程中,走...
  • 什么是耦合

    万次阅读 2020-05-03 18:28:19
    耦合(Coupling) 耦合(Coupling),也叫耦合度,是对...模块间联系越多,其耦合,同时表明其独立越差( 降低耦合,可以提高其独立)。 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。...
  • 什么是功能安全

    万次阅读 2018-07-06 09:15:33
    什么是功能安全(FS)?在现代工业控制领域中,可编程电子硬件、软件系统的大量使用,大大提升了自动化程度。但由于设备设计中的缺失,以及开发制造中风险管理意识的不足,这些存在设计缺陷的产品大量流入相关行业的...
  • 内聚与松耦合

    千次阅读 2012-05-12 23:50:25
    他也了解了这句口号的含义:我们的程序要模块化,模块要完成明确的一组关联的服务功能,要求它的各部分是相关的、有机组合起来是完整体(外部程序来看黑盒子),模块的内部各成分之间相关联程度要尽可能高(内聚)...
  • 但是,有力的价值主张不仅仅可以作为一个内部工具,更是一种「不公平的竞争优势」。 本篇内容为你描述了强大精准价值主张的两个要素,以及如何你带来好处。 有几种概念与价值主张的通用定义相似,可以辅助...
  • B/S架构是互联网的开拓者,但是由于早期硬件性能不足,浏览器功能单一,所以B/S架构没有十分突出的发展势头,也从另一方面拖慢了前端技术的发展。而C/S架构的系统在互联网发展的这前几十年里应该是出尽了风头。因

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 846,809
精华内容 338,723
关键字:

怎么让自己的性功能强一些