“软件构造”究竟是什么意思?
软件构造的一般原则(模块设计、代码重用、类设计等)软件构造的常用技巧(契约式设计、防御式编程、异常处理、配置式编程、基于状态转移和基于表的软件设计、基于语法分析的设计等)软件构造的形式化方法(规范说明语言及其应用、形式化构造工具),软件构造工作的执行要点(编码及其规范、工具使用、单元测试技巧、性能优化等)。
软件结构图怎么画
首选PKPM,其次是探索者与天正结构。
一、对于多高层结构的设计优先选择PKPM、ETABS和MTS;另外也可以选择SAP2000、MIDAS、STAAD PRO和ROBOT、3D3S;如果是计算分析,随便选一个通用有限元软件即可,强烈推荐ANSYS。
二、对于空间结构的设计优先选择SAP2000、MIDAS、STAAD PRO和ROBOT;纯计算分析强烈推荐ANSYS、MIDAS、SAP2000和NASTRAN;三、对于索膜结构可以选择ANSYS、EASY、FORTEN、3D3S。
鉴于EASY、FORTEN一定要用正版,所以还是用ANSYS和3D3S比较现实。
四、对于动力弹塑性分析建议采用ABAQUS和LS-DYNA;另外也可以选用ETABS(多高层)、SAP2000、MIDAS(最近推出Building专门做动力弹塑性)。
五、节点细部分析,建议采用ANSYS、ABSQUS;也可以选用NASTRAN和MARC。
另外,对于一些特殊结构,考虑到可能会使用到简单的二次开发,还是选ANSYS、ABAQUS等带有编程语言的通用软件。
在CNC系统中,控制软件的结构主要有
CNC系统是一个专用的实时多任务计算机系统,在它的控制软件中融合了当今计算机软件技术中的许多先进技术,其中最突出的是多任务并行处理和多重实时中断。
下面分别加以介绍。
1、多任务并行处理(1) CNC系统的多任务性。
CNC系统通常作为一个独立的过程控制单元用于工业自动化生产中,因此它的系统软件必须完成管理和控制两大任务。
系统的管理部分包括输入、I/O处理、显示和诊断。
系统的控制部分包括译码、刀具补偿、速度处理、插补和位置控制。
在许多情况下,管理和控制的某些工作必须同时进行。
例如,当CNC系统工作在加工控制状态时,为了使操作人员能及时地了解CNC系统的工作状态,管理软件中的显示模块必须与控制软件同时运行。
当CNC系统工作在NC加工方式时,管理软件中的零件程序输入模块必须与控制软件同时运行。
而当控制软件运行时,其本身的一些处理模块也必须同时运行。
例如,为了保证加工过程的连续性,即刀具在各程序段之间不停刀,译码、刀具补偿和速度处理模块必须与插补模块同时运行,而插补又必须与位置控制同时进行。
下面给出CNC系统的任务分解图(图3-10(a))和任务并行处理关系图(图3-10(b))。
在图3-10(b)中,双向箭头表示两个模块之间有并行处理关系。
(2) 并行处理的概念。
并行处理是指计算机在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不相同的工作。
并行处理最显著的优点是提高了运算速度。
拿n位串行运算和n位并行运算来比较,在元件处理速度相同的情况下,后者运算速度几乎提高为前者的n倍。
这是一种资源重复的并行处理方法,它是根据“以数量取胜”的原则大幅度提高运算速度的。
但是并行处理还不止于设备的简单重复,它还有更多的含义。
如时间重叠和资源共享。
所谓时间重叠是根据流水线处理技术,使多个处理过程在时间上相互错开,轮流使用同一套设备的几个部分。
而资源共享则是根据“分时共享”的原则,使多个用户按时间顺序使用同一套设备 目前在CNC系统的硬件设计中,已广泛使用资源重复的并行处理方法,如采用多CPU的系统体系结构来提高系统的速度。
而在CNC系统的软件设计中则主要采用资源分时共享和资源重叠的流水线处理技术。
(3) 资源分时共享。
在单CPU的CNC系统中,主要采用CPU分时共享的原则来解决多任务的同时运行。
一般来讲,在使用分时共享并行处理的计算机系统中,首先要解决的问题是各任务占用CPU时间的分配原则,这里面有两方面的含义:其一是各任务何时占用CPU;其二是允许各任务占用CPU的时间长短。
在CNC系统中,对各任务使用CPU是用循环轮流和中断优先相结合的方法来解决。
图3-10(c)是一个典型CNC系统各任务分时共享CPU的时间分配图。
系统在完成初始化以后自动进入时间分配环中,在环中依次轮流处理各任务。
而对于系统中一些实时性很强的任务则按优先级排队,分别放在不同中断优先级上,环外的任务可以随时中断环内各任务的执行。
每个任务允许占有CPU的时间受到一定限制,通常是这样处理的,对于某些占有CPU时间比较多的任务,如插补准备,可以在其中的某些地方设置断点,当程序运行到断点处时,自动让出CPU,待到下一个运行时间里自动跳到断点处继续执行。
(4) 资源重叠流水处理。
当CNC系统处在NC工作方式时,其数据的转换过程将由零件程序输入、插补准备(包括译码、刀具补偿和速度处理)、插补、位置控制4个子过程组成。
如果每个子过程的处理时间分别为 ,那么一个零件程序段的数据转换时间将是 如果以顺序方式处理每个零件程序段,即第一个零件程序段处理完以后再处理第二个程序段,依此类推,这种顺序处理时的时间空间关系如图3-11(a)所示。
从图上可以看出,如果等到第一个程序段处理完之后才开始对第二个程序段进行处理,那么在两个程序段的输出之间将有一个时间长度为t的间隔。
同样在第二个程序段与第三个程序段的输出之间也会有时间间隔,依此类推。
这种时间间隔反映在电机上就是电机的时转时停,反映在刀具上就是刀具的时走时停。
不管这种时间间隔多么小,这种时走时停在加工工艺上都是不允许的。
消除这种间隔的方法是用流水处理技术。
采用流水处理后的时间空间关系如图3-11(b)所示。
流水处理的关键是时间重叠,即在一段时间间隔内不是处理一个子过程,而是处理两个或更多的子过程。
从图3-11(b)可以看出,经过流水处理后从时间开始,每个程序段的输出之间不再有间隔,从而保证了电机转动和刀具移动的连续性。
从图3-11(b)中可以看出,流水处理要求没一个处理子程序的运算时间相等。
而在CNC系统中每一个子程序所需的处理时间都是不相等的,解决的办法是取最长的子程序处理时间为处理时间间隔。
这样当处理时间较短的子程序时,处理完成之后就进入等待状态。
(a) 顺序处理(b) 流水处理 图3-11 资源重叠流水处理 在单CPU的CNC装置中,流水处理的时间重叠只有宏观的意义,即在一段时间内,CPU处理多个子程序,但从微观上看,各子程序分时占用CPU时间。
2、实时中断处理 CNC系统控制软件的另一个重要特征是...
常见的软件结构设计工具
结构:程序功能实现的逻辑框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一方面也可以说框架是可被应用开发者定制的应用骨架。
框架亦可称为应用架构,在特定领域基于体系结构的可重用的设计。
也可以认为框架是体系结构在特定领域下的应用。
框架的例子如MVC。
设计模式 在一定的环境中解决某一问题的方案 构件通常是代码重用,而设计模式是设计重用,框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用. 构架是architecture:它是对软件系统的系统组织,是对构成系统的构件的接口,行为模式,协作关系等体系问题的决策总和。
它不仅涉及到结构与行为,而且还涉及到系统的使用,功能,性能,适应性,重用性,可理解性设计模式比框架更为抽象设计模式在碰到具体问题后,才能产生代码;框架已经可以用代码表示设计模式是比框架更小的体系结构元素:框架中可以包括多个设计模式简单点说:结构 <; 设计模式 <; 架构 <;框架 结构+算法=程序(功能代码块) 程序与程序之间进行调整=设计模式 多个设计模式相组合(组件)=架构(系统)