1、装备自动化工程设计与实践装备自动化工程设计与实践第四章第四章 装备自动化的模块化设计装备自动化的模块化设计软件的模块化设计软件的模块化设计软件的模块化设计软件的模块化设计n装备自动化软件设计步骤:软件模块化软件模块化n把程序划分为多个模块,可以单独或并行开发,每个模块都是有着明确定义的输入输出及特性的程序实体,把这些模块汇集在一起为一个整体,可以完成指定的功能软件模块化设计的特点软件模块化设计的特点n 模块功能单一、相对独立。编写相对简单,可以独立编写调试;n 可集体并行开发,缩短开发周期。不同的模块可以由不同的人员开发,最终合成完整的系统程序软件模块化设计的特点软件模块化设计的特点n 开发出
2、的模块,可在不同的应用程序中多次使用,减少重复劳动,提高开发效率;n 测试、更新以模块为单位进行,不会影响其他模块以管材挤出生产线为以管材挤出生产线为案案例例n从功能视角,按高内聚低耦合原则对控制化软件进行模块化设计以管材挤出生产线为以管材挤出生产线为案案例例挤出机软件模块完成的功能挤出机软件模块完成的功能n温度控制、主机控制、熔体压力、挤出机逻辑、用户管理、配方管理、趋势曲线、故障处理、EuroMap27、长度统计、屏幕校正等牵引机软件模块完成的功能牵引机软件模块完成的功能n牵引驱动控制、牵引逻辑、用户管理、故障处理、EuroMap27、长度统计、屏幕校正等切割机软件模块完成的功能切割机软件
3、模块完成的功能n切割驱动控制、切割逻辑、用户管理、故障处理、EuroMap27、切割统计、屏幕校正等管材挤出生产线的软件模块化结构设计管材挤出生产线的软件模块化结构设计n由于用户管理、故障处理、屏幕校正的需求是一样的,因此只需要一次设计后为多模块共用管材挤出生产线的软件模块化结构设计管材挤出生产线的软件模块化结构设计n由于长度统计在牵引机和挤出机中的大部分需求一致,因此只需要综合两者需求进行一次性开发管材挤出生产线的软件模块化结构设计管材挤出生产线的软件模块化结构设计模块化结构设计模块化结构设计n模块化设计使得这些开发的代码实现重用,提高了开发效率软件分层式结构的优势软件分层式结构的优势n 个
4、体开发人员可以只关注整个结构中的其中某一层;n 可以很容易的用新的实现来替换原有层次的实现;软件分层式结构的优势软件分层式结构的优势n 可以降低层与层之间的依赖;n 有利于标准化;n 利于各层逻辑的复用。分层式设计的目的分层式设计的目的n分散关注n松散耦合n逻辑复用n标准定义n降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上优势明显分层式设计的目的分层式设计的目的管材挤出生产线主机控制软件分层模块化结构管材挤出生产线主机控制软件分层模块化结构模块化软件编程的分层操作要点模块化软件编程的分层操作要点n每一层直接对下一层操作,尽量避免交叉调用或越级调用,这样的软件架构更易于维护、扩展
5、控制软件的设计规范控制软件的设计规范n(1)易于使用n(2)易于维护n(3)易于移植高质量软件实现的注意事项高质量软件实现的注意事项n(1)清晰的结构设计n(2)良好的命名习惯n(3)更国际化的语言n(4)编程格式表达思路n(5)合理的排版n(6)清晰的结构定义模块测试与整合模块测试与整合n未经过测试的软件模块组成的系统能够正常工作的可能性是很小的,更多的情况是充满了各式各样的Bug软件模块在测试前审查软件模块在测试前审查n架构是否简洁、易于维护、易于移植,数据流向是否完整、有效,是否遵循规定编程规范软件测试软件测试n测试计划、测试文档,要测试什么?n详细记录测试过程n检查测试完后,提出修改、优化建议,给出总体评价需要软件测试软件测试分类分类n单元测试n综合测试n系统测试n使用性测试单元(模块)测试单元(模块)测试nBug发现的越晚,修改它所需的费用就越高,因此从经济角度来看,应该尽可能早地查找和修改Bug,单元(模块)测试是一个在早期抓住Bug的机会模块整合模块整合n一个装备是多个模块的集合,模块整合在一起才是一台完整的装备n模块整合后,要测试各种事件对状态切换的准确性,确保没有故障状态发生