时间:2022-07-23 07:49:37
序论:好文章的创作是一个不断探索和完善的过程,我们为您推荐十篇软件开发论文范例,希望它们能助您一臂之力,提升您的阅读品质,带来更深刻的阅读感受。
论文是在导师***教授的悉心指导和关心下完成的,值此论文工作结束之际,学生谨向*教授致以崇高的敬意和衷心的感谢。
在攻读硕士学位期间,*教授在学业、生活上给予我许多的关怀与鼓励。特别是在科研项目中给了我莫大的信任和支持,使我得到了全方位的锻炼和提高。*教授敬业爱业的精神、敏锐的科学思维、诲人不倦的师者风范和理论联系实际的思想方法,使我终身受益。授业恩情,永生难忘。
感谢西北工业大学系统集成与工程管理研究所的全体工作人员。在这个充满朝气、勇于迎接挑战的团队的不懈努力下,顺利完成了多项企业信息化推广应用项目。作者在与课题组成员的合作中延伸和拓宽了自己的知识面,同时也锻炼和提高了自身的综合能力。
另外还要感谢本组的***博士、**博士——以及研究所的其他同学,在课题研究的过程中,他们在技术上及其他方面给了我许多建议、帮助、支持和鼓励。此外,航天四院兰凌厂的相关工作人员在课题调研、开发及实施过程中给了我极大的支持,配合课题完成了许多工作,在此也要感谢他们的帮助。
最后,感谢父母和家人对我自始至终的支持和关心,在我遇到困难和挫折的时候始终给我鼓励和信心。衷心感谢大家!
致谢二:
在三年的研究生学习期间,我得到了很多老师、同学、同事的指导和帮助。
首先我要衷心感谢我的导师**教授的悉心指导和关心。在研究生的学习过程中,导师对我的课程学习和毕业设计进行了细致和全面的指导,不仅及时解决我在研究中遇到的问题,而且为我提供许多宝贵的科研资料,为我的学业和研究付出了大量的心血。同时,*老师以渊博的知识和深厚的专业素养深深感染了我,他在解决实际问题时敏锐的洞察力、高效的作风以及在治学上的严谨也使我受益非浅。
嵌入式软件的开发具有如下几方面的特点:
1)需要交叉开发工具和环境。由于嵌入式软件本身不具备自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发。这些工具和环境一般基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机交叉开发的概念,主机用于程序的开发、调试,目标机作为最后的执行机构。开发时主机和目标机需要交替结合进行。
2)软硬件协同设计。软硬件协同设计涉及以下方面:嵌入式软件设计、实时系统设计、硬件设计和软件设计。软硬件协同设计强调硬件与软件的协同性与整合性、软件与硬件的可裁减,以满足系统对功能、成本、体积和功耗等要求。
3)嵌入式软件开发人员以应用专家为主。通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式软件则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。
4)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。
5)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高,片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度,提高执行速度。嵌入式软件的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。
6)系统软件的高实时性。在多任务嵌入式软件中,对重要性各不相同的任务进行统筹兼顾和合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。嵌入式软件应用程序虽然可以没有操作系统直接在芯片上运行,但是为了合理地调度多任务,利用系统资源,系统一般以成熟的实时操作系统作为开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
2软硬件协同设计概念
嵌入式软件设计是使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件、软件或者两者的结合来构成的功能设备。由于嵌入式软件是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的发展中的设计理论——软硬件协同设计。这种方法的特点是,在设计时从系统功能的实现角度考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。既可最大限度地利用有效资源,缩短开发周期,又能取得更好的设计效果。
系统协同设计的整个流程从确定系统要求开始,包含系统要求的功能、性能、功耗、成本、可靠性和开发时间等。这些要求形成了由项目开发小组和市场专家共同制定的初步说明文档。系统设计首先确定所需的功能。复杂系统设计最常用的方法是将整个系统划分为较简单的子系统及这些子系统的模块组合,然后以一种选定的语言对各个对象子系统加以描述,产生设计说明文档。其次,是把系统功能转换成组织结构,将抽象的功能描述模型转换成组织结构模型。由于针对一个系统可建立多种模型,因此应根据系统的仿真和先前的经验米选择模型。
3嵌入式软件开发的方法论
在建立一个完整的嵌入式软件或是产品时,大部分系统都很复杂,不但功能规格很多,还必须考虑例如价格、性能等其他因素,否则很容易做出一个失败的系统或是产品。因此,在进行系统开发之前,必须先了解一些系统设计技术,使得在开发过程中更为顺利。一般来说,产品设计的过程会经历几个步骤,为了确保这些步骤的合理性,我们需要一个设计方法论来面对整个设计过程。采用方法论有以下三个重要理由。
确认所做的每一件事情都是必须要做的,不做无谓的工作,也不漏掉关键性的重要工作,其中包含性能最佳化或是功能测试。
根据设计方法论可以发展出计算机辅助工具或是设计经验累积,汲取每一次产品开发的经验。再经过量化之后,可以发展出一套工具或是方法,让往后的产品设计步入自动化。
开发团队遵循同一套方法论,可以让团队成员更容易彼此沟通。每个人都能在短时间内了解整体过程中将经历哪些过程,需要何种支持与接收到何种结果。此外,也容易通过一套已经定义好的方法论,彼此相互合作协调。设计过程的目标是做出有一定用途且具有创新点的产品。产品的典型规格包含功能性、制造成本、性能表现、省电考虑和其他特性。
2C++程序设计语言跨平台开发的策略
我们在编写程序代码的时候,总是要把编辑策略放在首位,针对于不同的OS,在其上创建和编辑文本文件,就要遵循不同的规则。比如行结束符,在Windows操作系统和DOS操作系统中普遍采用回车键,而在Unix中却使用的是换行符号。这种细微的差别就是跨平台软件开发必须考虑的问题。那么当我们要想把其中一个平台上编写的代码放在另一个操作系统上运行,极有可能出现不被正确解释的现象。另外,对于不同的操作平台其tab键的功能也有很大的区别,主要体现在间距上。那么我们在编程的时候要注重这些差别,保证代码的书写和阅读对于不同的操作平台都是一致的,增加程序的可读性,进而也就实现了跨平台的思想。所以在每次开发之前都需要针对开发策略制定相应的规则:统一使用四个空格键来代替tab,也就是\t格式。Windows下的源文件代码需要存储在UNIX的文件格式,或者说是在Windows下的文件编写完成之后,通过DOS2UNIX命令实现文本格式的转换。
3处理器差异的控制
鉴于C++语言自身语言的特点,建立了一个跨平台的抽象代码库,在不同的平台和编译器上进行合理的规划代码。C++语言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost标准类在不断的发展和改进过程中,完全能够帮助跨平台操作中的软件和程序来适应OS系统库的内部接口的不同,可惜这些不足以解决全部问题,主要是因为目前Boost没有包含所有的库函数的类库,又会出现不确定的情况,那么关于C++语言的部分也应该及时的维护和更新。在平台上,利用库封装代码,又在不同的平台下调用已达到统一代码的目的。
4利用wxWidgets开发跨平台软件
wxWidgets是一种跨平台开发的软件包,目前使得在跨平台的图像设计方面使用自身的程序。因为其兼容性相当的好,对于Windows,Linux,Unix等都兼容。而且,wxWidgets的底层是用C++程序设计语言实现的。下面用一个实例将说明wxWidgets的跨平台问题。首先创造一个wxFrame的实例,并制定长宽和屏幕上的位置。然后,新建一个垂直的sizewidget和顶层窗口的子sizer。然后,再创建一个垂直sizerwidget和一个水平子sizer。最后创建wxStatic实例以及为这个敞口应用中添加事件响应。以下将展示一部分核心代码。在设置完这个窗口之后,还需要新建一个类实现一写功能。
2基于组件技术的实时测控软件开发
2.1软件架构设计
在组件技术中,一个组件就是一个接口集,它通过接口对功能进行封装。因此,对于同一个应用程序架构,只要其使用的接口集合不变,即可通过更换支持同样接口集的组件来获得不同应用,也可重复利用同一个组件或对组件进行二次开发。而基于组件建立的软件架构和应用开发,其最大优点在于可以复用的应用结构和软件单元。实时测控软件主要是对实时测控数据的处理、评估和显示,而测控数据主要包括光测、雷测、遥测及GPS测量等类型,其处理过程通常包括数据采集、数据解析、数据处理和结果评估等四个部分,针对以上4种数据类型,在基于组件技术思想下,其处理架构可统一进行设计,如图1所示。针对靶场测控系统中光测、雷测、遥测及GPS测量等数据处理应用,通过将数据采集组件、数据解析组件、数据处理组件、结果评估组件替换成相应功能的组件,即可实现在保持软件架构不变的前提下开发出不同的应用系统。
2.2基于组件技术的软件升级维护
组件接口是对某一功能的一套抽象描述,具有封装性,它通过接口与其功能实现分离开了,并以接口作为客户与组件(或组件之间)交互的唯一方式,因此,只要保持接口不变,就可以将系统中的组件用新的组件替换,以随时进行系统升级维护。下面以实时测控数据处理软件中的雷测数据处理应用为例,其软件的架构如图2所示。当需要对系统进行升级维护时,在软件架构完全保持不变的前提下,对具体的组件进行替换,只要保持接口不变,程序无需重新编译链接,系统即可通过使用更新后组件中的新接口来获得新特性,从而实现系统的升级维护。
2.3利用组件复用技术实现软件功能扩展
组件复用是利用已有组件创建新组件,即通过第三方产品来构建自己产品。组件复用是通过包容和聚合来实现的,包容时外部组件包含内部组件的接口,它由外部组件接收此调用请求再交由内部组件来处理,聚合时外部组件直接调用内部组件的接口,它让内部组件直接处理该调用请求。在C++语言,通过在外部组件中增加内部组件接口,并把调用请求转发给内部组件即可实现包容,对于聚合,在内部组件中维护一个外部组件接口指针(如m_pUnknownOuter),通过委托机制,让内部组件接口提出的查询接口请求由一个委托接口转发至外部组件,再由外部组件接口查询内部组件。这样就可以实现一致的访问,即不管是通过外部组件的接口,还是内部组件的接口,都可以查询到内外组件所支持的接口集合。在实际应用中,软件开发不仅有大量的、功能强大的商业化组件可以使用,而且有应用广泛的、成熟的靶场测控系统专用组件可以使用,如组件化的数据接收、量纲复用、坐标转换、滤波平滑、精度评估等功能模块。因此,利用好组件复用技术可以有效扩展靶场测控数据处理系统的软件功能,对于靶场测控系统建设具有重要的现实意义。
2软件工程中面向对象方法具有较强的可重用性
运用传统的方法开发出的软件,受到其开发方法、功能等因素的影响,软件只能接受、识别一些特定的数据,对于一些日常生活、工作中的问题难以进行灵活的应对,这就使得软件的应用领域及作用受到了极大的限制。而用户想要让软件能够解决更多的问题,就必须依靠软件开发者来对于软件进行升级更新。软件的可重用性差,不但用户要花费时间来对软件进行更新,甚至是更换其他软件,软件开发者也要花费更多的时间来保证软件的可用性,不利于更多创造性工作的持续进行。而运用面向对象方法所开发出的软件,则具有更强的可重用性,用户能够将这一类的问题都交给该软件来处理,而不必担心软件的功能受到限制,只要找到正确的软件使用方法,就能够解决所遇到的问题。而软件开发者也不必花费大量的时间来对于软件进行更新升级,这就为自己节约了更多的时间和精力,能够致力于开发更多具有创新性的软件。从而提高软件的可重用性,增强软件在市场中的竞争力,可见,面向对象方法是我国开发出更多可复用软件的一种重要手段。
3软件工程中面向对象方法具有较强的系统稳定性
运用传统方法开发出来的软件,由于其主要是通过数据的处理和特定的算法来解决问题,对于计算机系统的要求较高,当软件的某些功能改变或是系统大环境发生变化时,软件难以与系统兼容,就导致了软件无法使用。而软件要进行更新或优化时,由于要改变某些结构,就需要软件所运行的系统也随之变化,为软件的升级优化造成了困难。有时甚至会为了使系统能够运行软件,而进行系统的改变,导致了其他软件无法再正常运行。而运用面向对象方法开发出的软件,其解决问题的方式是依据实际解决问题的思路而展开,并且是通过对象来模拟实体,而实体相对于数据与算法来说具有更强的稳定性。其软件结构主要是依赖于自身的功能,对于系统的依赖性相对较弱。这就使得软件在运行时,不容易受到系统的影响,及时用户对于软件的需求发生改变,也不会影响到系统整体结构的变化,也就是说不必为了软件的升级优化而对系统进行改变。系统的稳定性强,也保证了软件能够正常运行,解决问题更为顺利,不会在解决问题的过程中出现差错而为用户输出错误的结果。
4软件工程中面向对象方法具有较强的系统可维护性
运用传统方法开发的软件,由于受到各个方面的限制,其系统可维护性较差,当软件与系统功能不相符的时候,只是修改软件难以解决问题,而要同时对软件和系统进行修改不但费时费力,成本费用也很高,软件对于用户的实用性不高,且难以维护,为用户长久的使用带来了更大的困难。而运用面向对象方法开发出的软件,则很好地解决了系统维护的问题。一是面向对象方法开发出的软件稳定性好。即使用户对于软件解决问题的功能发生改变,也只需要对于软件的某一部分设计进行修改就可以,而不需要对软件或系统进行大幅度的改动。二是面向对象发开发出的软件,具有较强独立性的类。这也就意味着,在软件内部对于其功能等方面进行改动,只要不涉及到与对外接口相关的改变,就不会影响其使用。三是具有极强的多态性及继承性。方便于用户根据自己的需求来对软件进行简单的修改和扩展。四是软件的功能及使用方法、输出结果容易被理解,用户能够及时地发现问题解决问题。另外,软件很容易进行测试,方便于用户对于软件进行调整。这些特点就决定了软件具有极强的系统稳定性。
软件开发论文参考文献:
[1]胡迎锋,基于嵌入式Linux系统的应用程序开发[J].商场现代化,2010,(11):6.
[2]何先波,嵌入式软件开发平台中的文件系统封装机制[J].计算机应用,2010,(1):118-120,123.
[3]高晶、王建华,JNI技术在嵌入式软件开发中的应用[J].哈尔滨师范大学自然科学学报,2007,(6):62-65.
[4]周淳、邓中亮,嵌入式组件技术的研究及应用[J].现代电子技术,2009,32(6):50-52.
[5]HenrikKniberg.ScrumandXPfromtheTrenches[M].C4MediaInc,2007
[6]商惠华.计划驱动下敏捷开发过程的软件质量管理[J].汕头大学学报(自然科学版),2011(4)
[7]陈国栋,罗省贤.Scrum敏捷软件开发方法实践中的改进和应用[J].计算机技术与发展,2011(12)
软件开发论文参考文献
[1]李郁峰,陈念平.建设计算机实验教学中心培养应用型人才[J].实验科学与技术,2008,6:172-174,230.
[2]吴徽,刘陠升.VMware在Linux实验教学中的应用[J].沈阳教育学院学报,2009,10:99-101.
[3]董良,宁方明.Linux系统管理[M].北京:人民邮电出版社
[4]矫文成,张冬丽.应用软件项目管理研究[J].软件导刊,2006,13:172-174
[5]吴晓琴.浅析面向对象程序设计特点[J].安徽大学学报(自然科学版),2006,3:267-269
[6]杨鸿雁,耿新青.数据库系统原理课程群建设与实践[J].鞍山师范学院学报,2010,6:375-376
[7]何方,马武刚.面向对象设计UML技术在考试系统设计中的实践[J].安阳师范学院学报,2006,5:125-128
软件开发论文参考文献:
[1]于世文,丽.敏捷软件开发方法在软件维护中的应用研究[J].计算机仿真技术,2012(15):13-16.
[2]高宇,冯向忠.敏捷软件开发方法在软件维护中的应用研究[J].科学学研究,2013(10):11-12.
[3]谢东强.敏捷软件开发方法在软件维护中的应用研究[J].计算机应用与软件,2014(13):22-24.
[4]李晓鹏,等.软件功能测试[M].清华大学出版社,2015.
2数控软件与ACS控制器的通讯建立
软件通过调用ACS控制器自带的ACSCL.dll动态链接库或ACSCL_x86.LIB静态链接库,来完成PC机和ACS控制器之间的数据交换,链接库中包含了与ACS设备相关的变量内存地址定义以及函数定义。首先,在主程序目录中加入ACS.h函数定义头文件;其次,通过工程—>设置—>连接—>对象/库模块添加动态或静态链接库,完成程序链接;最后编写连接设备的程序,其主要设备连接程序如下(省略变量定义):当软件系统通过Ethernet总线方式连接上主站控制器之后,还需要对其接入的其他硬件设备进行地址分配,并写入主站控制器,使其了解系统中所接入的各种硬件设备,才能利用主站控制器对硬件设备进行控制。
3软件模块功能
数控砂轮修形软件主要功能为根据砂轮参数对成形砂轮进行参数化设计或根据零件参数反求出成形砂轮轮廓,优化刀具的加工路径,自动生成NC程序,向机床发出指令,控制机床运动,对毛坯进行加工,得到所需的成形砂轮。同时,也可以自行输入已经人工编写好NC程序或者调用数据库中已有的程序进行加工。因此,数控砂轮修形软件包括参数化设计模块、基于零件特征加工模块、NC代码编辑模块、数据库模块以及加工控制模块。
3.1参数化设计模块
该模块的主要功能是根据提供的砂轮参数对成形砂轮进行参数化设计,并自动生成NC程序。在该模块中,用户输入毛坯参数,砂轮尺寸参数、加工工艺参数,软件能够自动生成所需的NC程序,同时可显示刀具的加工路径以及砂轮模型模拟图,可根据显示的刀具路径及砂轮模型模拟图确认NC程序是否无误,确认后即可进行加工生产。加工完成后,可以将此次生成的NC程序保存到数据库中以便下次调用。
3.2基于零件特征加工模块
该模块的主要功能是根据提供的零件参数反求出成形砂轮的轮廓参数,并自动生成NC程序。由于在生产中,我们首先得到的是零件的参数而不是成形砂轮的参数,对于一些特殊零件如齿轮棘轮等,砂轮的设计也较为复杂。在该模块中,用户只需输入零件的尺寸参数、毛坯参数及加工工艺参数,软件能够自动在后台计算出砂轮的截面参数,并生成NC程序,同时可显示刀具的加工路径及砂轮模型模拟图。软件从零件直接加工出成形砂轮,省去了中间设计成形砂轮的步骤,可以大大地缩短生产周期,提高生产效率。
该模块的主要功能是对用户人工编写的NC程序进行编辑修改及运行。用户可以直接输入已手工编好的NC程序,或直接导入已有的NC程序文件,对NC程序进行编辑修改,并对程序进行试运行。此时软件中会显示刀具加工路径,通过观察刀具加工路径可以判断我们手工输入的NC程序是否正确,程序检验无误后可进行实际加工。加工完成后,用户可以将程序保存到数据库中以便下次调用。
3.4数据库模块
该模块的主要功能是保存参数化设计模块中生成的NC程序和NC代码编辑模块中用户自己手工输入的NC程序。在该模块中,所有程序统一编号,用户通过查询编号来查看程序。用户可以直接调用NC程序进行加工,也可以对已有的程序进行管理、添加、编辑、删除。
4实验模拟
由于该软件涉及的模块功能较多,无法在本文中一一呈现。因此本文选取了其中的基于零件特征加工模块下的圆弧母线加工模块进行实验。在该模块中,我们需要输入零件的各种参数以及加工参数。在实验中,我们选取的零件的参数分别为:圆弧半径R=30mm,零件厚度B=30mm,砂轮断面直径D=100mm,切削余量为2mm,主轴转速为800r/min,背吃刀量为0.2mm,进给量为0.1mm/r。另外,需要注意的是关于零件端面直径以及零件外形的选择,在本实验中,我们选择左右端面直径相同,零件外形为外凸。输入所需零件参数后,点击“确定输入”按钮,表示参数输入步骤完成,接下来可以选择其他功能按钮进行其他操作。点击“磨削该零件砂轮的NC代码”按钮,软件即在交互界面上显示加工砂轮的NC程序。通过实验可以看出,该软件能够正常运行,基本实现所需的功能。只需要输入砂轮或零件的相关参数,即可生成NC程序,为生产提供了方便。
0引言
随着计算机技术的发展及广泛应用,暖通行业中计算机的使用也越来越广泛。计算机的使用不仅可以解决原来人工很难完成的任务,如精确的数值计算,环境参数模拟等,更重要的是它加快了设计者的工作效率,可以使工程师高效率高质量的完成设计工作。
目前计算机在暖通领域的应用主要有CFD(计算流体力学)技术,CAD(计算机辅助设计)技术等。前者主要是一些科研机构做流体仿真的研究,用来模拟建筑环境参数的分布状况。而后者正是广大设计单位日常使用频率最高的实用性技术。本文主要讨论后者的发展概况和国内存在的问题,最后笔者根据自己的CAD实践经历提出一种面向实用的CAD软件开发思路。
CAD技术在设计院中的应用主要体现在两个方面。一方面为计算机辅助计算,这主要是解决在设计中的负荷计算,水力计算,湿空气分析等问题。另一方面为计算机辅助绘图,这主要是代替过去费时、费力的手工绘图。方案阶段可以手工示意,初步设计和施工图及最后的竣工图一般单位都要求计算机出图。
1发展概况
在我国,计算机应用于暖通领域起步于80年代。当时主要精中在辅助计算上,主要包括冷热负荷计算,水力平衡计算等。主要使用的语言为FORTRAN,BASIC等高级语言。由于计算工作的基础和规律性很强,有固定的计算公式,与计算机特征相吻合,到80年代末暖通的计算程序已基本定型。在以后的发展过程中这些程序只做了进一步的完善和语言上的调整,没有本质变化。本阶段的代表人物为陈在康,武建勋,施鉴诺及他们合著的<<暖通计算机方法>>,该书曾在一些高校被列为暖通专业规定的选修课。
在80年代后期国内出现了美国AutoDesk公司的AutoCAD绘图软件,它以普通的PC为平台,拥有强大的绘图功能和稳定的系统结构。基于以上的特点AutoCAD开始在国内一些机构被学习和使用。AutoCAD的使用可以说是暖通CAD历史上的一次飞跃。至今为止,AutoCAD已成为世界上使用率最高的CAD软件。
国内暖通绘图CAD的应用是随着建筑CAD的发展而发展起来的,80年代末,由于国家有关部门的重视,许多单位开始进行建筑CAD的研制与开发,并且很快形成了一定的规模,在此基础上暖通计算机绘图也迅速崛起,并渐渐和建筑CAD脱离,至90年代初形成了多套相对完整、独立的暖通软件包。这些软件包主要功能包括:建筑条件图的绘制、冷热负荷计算、供暖空调平面图与系统图的绘制和自动生成,在一定程度上满足了设计人员的需要。这时期的软件基本上有两种平台。一是自己独立的软件平台,但是与AutoCAD的数据共享比较困难。而更多的是在AutoCAD基础做出的二次开发。这时期比较著名的软件有国家机械委北方设计研究院开发的暖通CAD系统,北京华远公司开发的HOUSE软件包及铁道部6个设计院联合开发的HVAC-CAD软件包。
随着计算机硬件技术的不断进步,硬件已不再是计算机在暖通领域上应用的障碍。人们研究的重点都精中在了应用于暖通的计算机软件开发上。到了90年代,由于有多种方便又快捷的计算机高级语言的出现,编写面向暖通方面应用的计算程序已相对简单,并且可以方便的制作出友好的人机交互界面。甚至一些普通的编程爱好者就都可以独自完成焓湿图分析,负荷计算,水力计算等软件。这时一些科研机构就把精力转到了CFD这项国外一直比较领先的技术上,开始学习和研究一些国外的流体分析软件。
在进入21世纪的同时,我们经历了整个世界信息化和网络化带来的变革。整个世界的信息交流变的比从前任何时期都方便,这时如何实现数据的共享和快速的得到软件更新的问题又摆在了开发者的面前。国内一些高校又开始了CAD应用集成及网络化的研究。由于国家对建设的投入,工程建设中工作量的日益增加,加快了对绘图速度的要求。国内出现了更多的CAD辅助绘图软件,而在暖通方面,发展完善和应用较多的基本上都是在AutoCAD平台上二次开发的软件。上世纪开发出的软件又进一步得到了完善,而其中一些则是从其它软件中脱影而出,以其高度的集成性和一体化程度在国内的市场上杀出了自己的一片天空。目前国内常用的软件我们看到的有建研院的ABD软件包、北京(洛阳)鸿业公司的ACS软件包、北京天正公司的THvac软件包等。
相比之下,国内的CAD技术要比国外一些发达国家落后,这主要还是体现在自动化程度不高和图纸深度不够两方面。国外的暖通设计工作相对建筑设计比较独立,如在英国和日本专门从事建筑设备设计的设计院很多。这些单位往往只做建筑工程中除土建方面的设计工作,这些工作又分为空调、给排水(日本称卫生)、电气的设计。由于发达国家强调建筑以人为本宗旨,建筑的室内标准要求又偏高,整个建筑在设计过程中的投入就会很大。这就使得暖通设计更加独立和分工,相对的暖通软件也比较独立。这些软件很多都是在施工单位对图纸作进行深化时使用,图面表达非常接近施工。在英国的CAD软件很多,面向建筑设备的有400多种,其中面向暖通空调的有100多种。它们当中多数是辅助完成某种计算的独立软件。而辅助绘图用的也是独立平台的集成软件,它可以先前将建筑的AutoCAD的图纸输入作为条件图,再进行设备图的绘制。其中应用较广的是Hevacomp和Cymap公司的CADlink软件。日本对暖通设计图纸深度要求很高,施工图一般都出到1:50的比例甚至更高。使用的软件也多是独立平台的2.5维的设计软件。当前应用较广的绘图软件有CADWe''''llCAPE、CADWAEvolution等。总而言之,以上两个国家在暖通CAD方面,由于有功能强大的软件支持,施工图纸深度和国内图纸都有质的差别。
2国内存在的问题
虽然国内一些科研机构在很早就开始了计算机辅助设计的研发,但是就目前的市场应用来看,国产软件正在困惑中求生存。国内钻研CAD的多数都面向机械行业,要不就是面向建筑行业的。所以迄今为止,国内还没有一家真正独立平台的暖通CAD软件能够占有一定的市场。暖通行业中几乎都是AutoCAD的天下,从工作效率到出图的质量我国的CAD水平明显和国外存在着一定的差距。即使是二次开发的软件,一些单位往往刚拿到手时的争相学习,然后不过多久,人们就又回到了最原始的AutoCAD。分析其中的原因,应该说是多方面的。笔者根据自己的CAD应用和工程设计实践总结出以下几点,以供参考。
2.1标准有待普及和完善
标准化是实现暖通空调CAD系统集成化,并提高开发效率的关键问题之一。国际标准化组织(ISO)和国内一些机构已经对CAD的标准化工作做过很多的深入,但是针对暖通行业方面的CAD标准化工作近几年才开始有人探讨,离步入应用阶段还相距甚远。由于标准相对落后,从事设计的相关人员很难做到一些软件的数据共享,造成重复的数据输入工作。由于相关的图纸深度及表达方式没有统一要求,造成一些软件不适合有自主样式的设计单位使用。软件开发者也不知用什么样的数据输出方式和绘图样式才能得到用户的认可。
目前国内也存在暖通CAD软件与设计相关的技术规程接合不紧密的问题,例如没有使用技术规程指定的负荷计算方法,计算书样式等。一些软件的计算结果也没有经过可信度的认证。在制图方面,相关的制图标准也有待完善,如现行GB/T50114-2001暖通空调制图标准也只是针对当时手绘时期中一些主要的表达方式作了规范。目前还没有一本专门针对计算机制图,且能充分发挥计算机绘图特长的制图标准面世。如GB50114-2001中对制图时的线宽要求是b、0.25b、0.5b,这很难实现计算机和手绘的通用,特别是对日常打印机绘图很难适用。再如双线风管是否画中心线,各种设备在图面上如何表达,标号如何制定,图层名如何设置都没有明确的说明,这就造成了各单位的图面格式不统一,图层和图元样式相对杂乱的局面。
2.2体制完善和重视程度不够
国内的暖通设计工程师多数都是在建筑设计院工作,制定标准的单位一般也是建筑的科研单位或主管部门。这就给一些人造成了一个误解,他们总以为暖通只是一个与建筑配套的工种。有的人会说“人家建筑的图纸也没有那么多讲就,就甭说我们暖通了。制定绘图标准也是他们建筑的带头,不用我们暖通掺和了”。实际上这种看法是很不理智的。虽然暖通没有建筑专业的出图量多,但暖通专业必竟在图纸特点和计算机的应用上有比较接近机械的特点,所以我们更应该以自己的专业职责去对待自己的成果。特别是暖通CAD涉及到的参数之间关系众多,相对其它专业,暖通专业更应该注重各系统之间的关系和具体的实现形式。
现实中一些人还认为:“计算书只是一个形式,我有那么多年设计经验了,估的比你算的都准。”还有些人认为:“设计院画的太细了没用,到了现场可能改的面目全非,还要有多年安装经验的人才能施工。”还有人甚至认为:“一个简单的系统,根本不要计算机画图,找个老师傅比划两下都能做的出。年轻人把电脑摆弄的再好,也不如老师傅两句话”。由于专业本身的特点,以上的观点在一定程度上有其合理的一面。但我们更应该看到,随着我们现代化建设的加速发展,仅仅几个老师傅怎能满足大量工程建设工作的需要。从另一方面讲,经验和技术是相辅相成的,如果我们通过优秀的软件在图纸上解决了所有的问题,问题不再会压到施工安装上去了,那时施工单位也就不再去急需寻找老师傅了。所以在现阶段,优秀的CAD绘图软件还是必不可少的,这应该引起更多人对它的重新认识。
在其它一些国家,设计院出图只出到设计阶段,不出施工图。这里的设计阶段不代表国内的扩初设计或初步设计,这一阶段如果和国内的施工图阶段相比,只是没有给出定位和标高,管道的具体连接方法和施工也有一定的距离,可是设备表和系统图都很详尽。他们所谓的施工图一般是指施工单位(国内的安装公司)另外进行深化后的图纸。这里的施工图纸就应该和实际非常接近了,它一般只包括平面图和机房详细图。由于是在设备施工前期出图,建筑和结构和资料也相对比较完善。日本的施工图上都会把梁精确的表示出来,建筑资料中也会有明确的吊顶高度及灯的布置资料。以上这些资料,就使得对施工图纸的绘制有了更确切地把撑。正是有了国外这种体制的存在,很大程度上给绘制精确施工图的软件带来了发展空间,并且软件也能够真正地满足施工统一、拍图完整的要求。我们从国外的一些经验可以看出,对于国内的一些安装公司,如果单凭设计院出的图纸无法完成安装的话,就必须进行再深化。综上所述,这也是我国建筑和设备安装行业的一些体制问题,我们也期待着这种体制更进一步的完善。
2.3开发导向有误区
软件开发者应该从暖通工程师实际要求出发,并且最好有一定的设计经验再去从事开发工作,就会对开发方向有更大的把握。在笔者接触到过的一些国产软件当中,发现很多软件经常会犯一个通病。那就是往往在操作上追求华丽,以能一瞬间自动完成某些连接,或绘出三维图型而自豪,恕不知某些连接或样式在现场根本无法安装实现。这就造成了软件中看不中用的后果。
开发暖通软件不同于开发建筑软件,建筑软件多数只是图面表达上追求快捷和华丽。而暖通专业中的每个图形元素(我们或将其称作管道及部件)都具有一定的扩展实体参数。如记载管道材质,重量,用途,风量等参数。相连接的部件参数的如何交换、套用、合算都存在着很深的专业性。这要求软件开发者要同设计院、科研单位、施工单位进行广泛和深入的交流。由于这些原因,有时一些以建筑辅助设计软件开发为主的公司的是很困难完成上述要求的。
对于以上存在的问题,就希望开发者在开发前期多作论证,作好方案,提出合理可行的现实手段和预期目标。避免不假思索地去写代码,否则到最后就会得到费了很多力却没有得到别人认可的后果。
3面向实用的软件开发
对于发展国内的暖通CAD技术,笔者认为应该从两方面入手。一方面小规模的设计单位可以聘用专门的CAD技术人员,制定适合自己的出图样式,根据自己的标准来做二次开发的技术支持。只有这样做,最后的出图质量才能得到根本性的提高。另一方面大规模的设计院和国家有关部门也应投入资源去开发有我国自主知识产权的独立平台CAD软件,特别是对CAD出图的标准和深度应该有更明确的规范。下面笔者就以上述两种CAD类型软件的开发作为立足点,提出面向实用的软件开发思路及开发过程中应注意的事项。
3.1二次开发和样式制定
二次开发主要是指开发应用于AutoCAD基础上的插件,用户必须先在计算机上安装Autodesk公司的AutoCAD,之后再运行开发出的暖通工具包,最终加强AutoCAD的功能,使AutoCAD适合暖通绘图,以及符合自己公司制定的绘图样式。AutoCAD在R14版本之后就有很强的开放性和扩展性,允许用户方便的进行自定义和二次开发。并且在AutoCADHelp文档中有详细的参考和教程,便于用户查阅和学习。
目前面向AutoCAD二次开发的主要工具有AutoLISP/VisualLISP、VB/VBA的ActiveX及C/C++的ObjectARX。其中前两种比较适合个人开发和短期开发,后一种适合软件公司的长期开发项目。这里主要推荐前两种语言,部分原因是因为在AutoCAD中集成了两种语言的开发环境,并且有详细的帮助文件。LISP语言是人工智能学科领域中广泛采用的一种程序设计符号语言。这种语言在参数化绘图中有很大的灵活性,并且可以实现一定的人工智能。LISP开发出的程序可以象运行CAD普通命令一样在命令行中直接键入自己定义的命令运行,保持了用户的绘图习惯。VisualBasic(简称VB)是Microsoft公司开发的面向对象的Basic程序设计环境。它沿用了大家熟悉的Basic语言的语法和习惯,又引入了面向对象的程序设计理念和功能强大的调试环境,使编程效率和操作智能化程度有了明显的提高。特别是它引入的ActiveX技术,使的很多其它的应用程序与之有了相应的接口,且通过面向对象的操作,使程序有了更高效、更明确的实现途径,以及更容易完成各种其它应用程序之间的交互。VB本身简单易学,可以很快的制作出对话框和用户界面,是很多编程爱好者的首选。
二次开发的首要步骤是制定暖通绘图环境,就是指在绘图初期对新建图形中的一些参数进行初始化设置,这很像AutoCAD中模板的概念。类似建立一个暖通绘图的模板,当然这里的模板比AutoCAD中模板包含的数据要多。加载绘图环境也不像是在AutoCAD中打开模板,而是通过命令来实现的。加载好的环境有自己的操作界面,同时按要求新建一个空文档,再在其中绘出必要的图形元素。绘图环境可以根据绘图的比例和种类进行分类命名。当用户开始作图时,按作图要求加载既可,如可以建立像“风管平面图1/100”、“配管平面图1/100”、“水系统流程图”一样的绘图环境。
绘图环境中可以按自己的暖通设计特点定义菜单和工具栏的布置,如绘制平面图时出现平面图用工具栏,绘制详细图时出现详细图用工具栏。绘图环境设定好后,即绘出图框、设定好了图层、文字样式、标注样式、打印样式等。同时进行建筑设计的设计单位图框需要和建筑专业保持一致。专门的暖通设计单位可以自己编制,介意使用包含公司标志且占图面整边的标题栏。图层应该根据图面元素的种类进行分类,分层也不易太多,一般按定位轴线、建筑底图、房间名称、机器、风管、水管、标注等分层即可,层名一般按英文简写编制。文字、标注等样式一般按房屋建筑制图统一标准(GB/T50001-2001)、暖通空调制图标准(GB/T50114-2001)选取。
二次开发当中最核心的工作之一就是辅助绘图命令的开发。怎样让用户通过软件的应用使绘图更标准化,高效化是衡量软件成败的关键。当然做这些工作的前提是统一公司内部的图面样式,这里包括图面中一些细节因素表示方法的统一。如风管法兰要画几根线,中心线超出边界的长度,隐线处理的方法、常用图例的尺寸等。
辅助绘图命令中的一部分可以称为辅助操作命令,如对图层的快速操作、对象的过滤和编辑等。这些命令有时在Autodesk的Express中也有包含,如孤立一个层、显示所有层等。这些辅助操作使绘图过程更佳合理化,高效化。基本的暖通绘图命令应该包括风管绘制、风阀风口插入、水管绘制、管径标注、标号插入等。这其中包含的一些具体连接的处理方式一定要和现场施工保持一致。二次开发的初期一般不把风管,水管生成块,以追求修改的方便。辅助命令中的快速标注,可以方便地标出管道种类、标高、管径等。一些辅助绘图命令以可以是常用符号(即块)的插入等,如水管上下翻标记等图例符号的插入。
2软件功能设计
1)管理端软件功能。管理端软件设计有“校验任务管理”、“文档管理”、“校验历史调阅”与“相关信息配置”四大类功能,下图3所示为管理端软件的功能设置图。管理端软件界面从左到右分别为基本信息录入栏、功能按钮区和待检验任务列表栏三个区域,界面简洁,功能按钮作用一目了然,软件的使用非常简便。下图4为管理端软件主界面设计。2)测试端软件功能设计。测试端软件整合了接收待检验任务、检验测试、数据上传、服务器数据库配置、检验仪器设置等功能,软件的核心是实现检测数据的自动识别与保存,并将测试数据与检验结论上传至服务器上的SQLServer数据库中。测试端软件界面风格和特点与管理端基本一致,其主界面见下图6所示。选中即将要实施的检验任务,其参数将显示在左面的基本信息栏中,如果信息中有差错,检验人员可以现场进行修改。在对基本信息核对无误后,点击“开始校验”按钮,将进入下图7所示的测试界面。测试数据与结论将自动保存到本机后台的Accesss数据库中,在网络环境下,点击“数据上传”(见图6),所有检验结束任务的测试数据与检验结论将通过网络写入服务器上的SQLServer数据库中。点击管理端软件上“文档管理”(见图4)按钮,将弹出下图8所示界面。在文档管理功能模块中,可以预览限速器检验报告与检验原始记录,并能够直接输出打印。检验报告可以通过网络进入审核和签发流程,检验报告中的检验员、报告审核与审批人员均使用电子签名签署检验报告。
2项目管理在软件开发中的应用现状
在二十世纪六十年代中期,人们发现了在开发软件过程中存在着很多问题,具体的问题表现在以下两个方面:一方面,不规范的生产过程;另一方面,不重视管理工作。为了能够有效解决软件开发过程中存在的问题,人们开始尝试利用过程管理方法。但是到了二十世纪八十年代,还是没有制定管理软件开发过程相关标准。近几年来,在信息技术快速发展的背景下,人们采取项目管理来控制软件开发的质量、软件开发的成本等,以此确保软件开发的质量和成本等因素,符合当时的既定标准。在软件开发过程中,每一个项目组的不同成员都应该承担不同的任务,并且企业管理者应该要求他们要在规定的时间内完成自身的任务,这种明确分工制度,有助于提高员工的工作效率。
3项目管理在软件开发中的应用
每一个软件开发项目都要经过以下几个阶段:提出问题、研究可行性、分析需求、测试等。因此项目管理工作应该贯穿于软件开发的整个过程。
3.1可行性研究
无法开发哪一个项目,都需要进行可行性分析与研究。通过利用项目管理来研究软件开发项目可行性的目的在于:在最短的时间内确定软件开发项目是否具有开发的价值。其中可行性研究的内容包括:
1)、研究技术的可行性。其主要是指:要合理地分析开发项目的功能与性能,分析其中所隐藏的技术风险。
2)、研究经济的可行性。其主要是指:估计所开发的项目给企业带来的经济效益,然后依据所估算的经济效益,确定该项目是否具有投资的价值。
3)、研究社会的可行性。其主要是指:分析此项目的运行方式是否正确,分析当前的人员技术水平以及管理制度是否具有可行性。
3.2软件项目估算
在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。在估算资源、成本以及进度的时候,要依据自身丰富的经验以及相关的数据。但是当前所使用的估算方法较为单一,此种估算方法容易增加估算风险。对此,研究人员应该努力研究出更多科学、有效的估算方法。
3.3软件项目开发人员的管理
在开展软件项目开发人员管理工作的时候,首先要合理安排人员。通常情况下,是由多个小组成员共同完成软件开发项目。在具体安排人员任务的时候,要依据每位人员的优势进行,并且要明确小组内每一位成员的工作任务以及工作目标。在软件开发过程中,要确定不同的责任人,比如:项目经理、开发经理,并且为每一个小组安排一名组长,如此有助于确保软件开发项目的顺利完成,同时保证所开发出来的软件属于高质量产品。