EDA技术培训

OrCad原理图设计中模块化的调用

时间:2023-07-12 11:43:08 赛赛 EDA技术培训 我要投稿
  • 相关推荐

关于OrCad原理图设计中模块化的调用

  模块化设计,可能通常我们的工程师还用的不多,但它在某些场合下还是很有用的,一个是它能减少我们重复性的工作。以下是小编整理的关于OrCad原理图设计中模块化的调用,希望对大家有所帮助。

  关于OrCad原理图设计中模块化的调用

  在进行原理图设计的时候,有些功能模块要重复调用多次,这时候可以采取模块设计原理图,然后在顶层多次调用此功能模块。在实际操作过程中发现这个方法很好用,只是由于长期不画原理图的时候有些技巧性的东西会忘记,记录在此以备查阅。

  我所说的“技巧”性的东西,有点忽悠色彩,主要是自己记性不好,经常忘记该如何操作,每次都需要摸索很长时间,实在是浪费时间。主要问题有下面两个:

  第一个:是每个模块里的器件编号要重新编号,如果单独修改某一个模块,那么剩余模块的器件编号会同时变化成同一编号;

  第二个:是页的编号;实际模块原理图只有一页,但是通过多次调用以后工程会为每一次调用重新分配一个页号,只是在原理图设计过程中由于其他原因导致页号需要修改的时候,会发生类似第一个问题的情绪,即修改某次调用的页号其他调用的页号会同时修改成一样的页号。

  其实出现上述问题的原因,是在修改的时候只是简单的双击了图1的模块(或者说简单Syncronize Down),然后就进行修改,这样是不行的。

  选择“Edit Object Properties”命令。默认进入Parts页,该页可以修改功能模块里的part属性,特别是编号,所有模块的parts编号可以同时修改,这样就不会上述第一个问题。同理,进入“Title Blocks”页面里,也可以同时修改所有调用页的页号修改,这样也不会出现上述第二个问题了。

  什么是模块化设计?

  这两年来,产品模块化设计逐渐受到大家的推崇,那么什么是产品模块化设计呢?

  产品模块化设计就是将产品分成几个部分,每一部分都具有独立功能,具有一致的几何连接接口和一致的输入、输出接口的单元,相同种类的模块在产品族中可以重用和互换,相关模块的排列组合就可以形成最终的产品。

  通过模块的组合配置,就可以创建不同需求的产品,满足客户的定制需求;相似性的重用,可以使整个产品生命周期中的采购、物流、制造和服务资源简化。

  模块化或者说接口式开发,让产品在功能使用过程中,灵活性更高,下面是我在今年平台成长体系搭建过程中,进行了任务体系产品设计时,运用模块化设计思路,将功设计成模块接口形式,提高运用效率的过程。

  模块化设计思维的转变

  在了解到模块化设计方法后,我对任务体系的设计有了一个新的想法:将任务和奖励进行分离。

  任务模块进行功能拆解,将用户属性,时间维度,行为等变成可编辑式, 生成后随时调控,灵活运营。

  奖励模块作为工具化产品开发,以接口形式对外进行组合搭配,不仅仅适用于任务,还可以对接至活动,从而实现一个模块多处使用,真正实现随时调用,随时上线。

  此时,产品开发前期需要梳理的内容就只剩下平台行为,其他的工作,例如运营方案、运营效果的预估均可以在开发过程中同步完成,而不必占用项目的开发时间。

  数据效果

  在这样的设计思路下,每一次的运营活动只需要进行活动逻辑设计,不再需要重复进行奖品模块和任务模块的开发。

  同时运用模块化的思路,每一次的活动都做成模版工具,和任务模块,奖励模块做好功能接口对接,直接调用,在后续的运营过程中,活动的复用性也得到了保证。

  经过这套模块化工具设计方法,活动运营的前置开发时长减少了85%,运营人员只需要准备好活动方案,就可以在后台进行活动的设置,奖品的设置以及任务关联。

  模块化设计思维的好处

  也许你会说上面的经历仅仅是某次需求设计时的思路变化,但当真正掌握模块化设计思维方式,并应用在其他方面时,你就会发现模块化设计思维的强大。

  1. 输出的统一性

  举个例子,当有两个设计师负责同个项目,列表模块在多个页面都会出现,这时两个设计师就会设计出两个不同样式的列表在APP中出现,这样子是极其不合理的。

  这个时候,采用模块化设计思维,针对复用性高的模块形成设计规范,保证最终成品输出的统一性,就像微信小程序的设计规范一般:

  统一的页面体验和有延续性的界面元素都将帮助用最少的学习成本达成使用目标,减轻页面跳动所造成的不适感。

  2. 便于维护

  每当系统出现bug的时候,查找问题总会是一个大难题,错综复杂的接口代码关系总会让错误查找也变成一个难题,如上文的例子如采用第一种设计思路,功能设计的高耦合度会让任务体系出现问题时,问题查找极其麻烦,无法定位问题究竟是在任务模块出现的还是在奖励模块出现的,只能全部代码所有流程跑一次。

  而当你采用模块化设计时,bug的初始就能很快定位是哪个模块出现了问题,你只需要在对应模块查找问题,将模块内的问题解决就可以了;

  3. 提高效率

  以最近遇到的web端头部UI修改举例,前端人员根据设计师重新设计好的页面头部进行修改时发现,web端的部分页面采用的是同一套js代码,修改后即可直接替换,而部分页面却是独立设计,无法进行复用,如果要进行头部修改,只能一个页面一个页面的修改,修改工作繁重。

  如果在网站建立的初期,我们就采用模块化设计思路,复用性高的模块抽取出来共用,将来需要修改时,也只需要修改对应模块,而不需要每个使用到的页面都进行修改。

  4. 低耦合高内聚的程序思维

  在产品功能设计的过程中,我们现在经常采用的是敏捷开发,快速迭代的方式。

  在这个过程中,若设计思路不明确,就会在功能设计中出现功能之间交互复杂,联系过于紧密,开发的时候也会因为功能设计的缺陷,而造成功能模块之间耦合性加强,即使是敏捷开发,在迭代过程中也要不断地为前面的功能进行修补,对后续的功能迭代和拓展造成影响。

  当采用模块化设计思维时,我们其实就进入了程序开发中经常讲到的低耦合高内聚设计思维降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行,使得模块的可重用性、移植性大大增强。