时间:2022-08-23 16:41:52
引言:易发表网凭借丰富的文秘实践,为您精心挑选了九篇软件开发论文范例。如需获取更多原创内容,可随时联系我们的客服老师。
1制定详尽的开发和交付流程
将软件开发周期从几年缩短到一个月甚至两个星期,这需要制定详尽的软件开发和交付流程。而详尽的软件开发和交付流程也是实现Scrum所必须遵守的。在Scrum中一个交付周期被称为一个Sprint。在每个Sprint开始之前,要有一个Sprint的计划会议(Sprintplanmeeting)。Sprint计划会议是在业务分析师和用户确定好当前阶段的需求分析之后,将可以进行开发的部分按照需求的优先级顺序排列好开发任务(Story),再由开发人员对任务进行难度评分,最后团队根据可变因素如团队成员情况,开发环境状态等确定下一个Sprint的任务。为了加强团队内部的沟通和及时掌握开发交付情况,Scrum要求团队每日开站立会议(Standupmeeting),站立会议通常1到2分钟每人,主要说明前一天的工作内容,存在什么问题,以及今天的工作计划。当然在每个Sprint快结束的前一天,要开评审会议,来报告进度,通常情况下是软件会议制定软件当前Sprint的软件计划。中国有句古话叫做“吾日三省吾身”,每个Sprint结束还有一个最为重要的会议就是回顾会议(Retrospectivemeeting)。回顾会议主要是总结上一个Sprint,保持优点,克服缺点。确保每个会议的有效性是Scrum实现的基础。
2结对编程,提高软件开发效率
1嵌入式软件开发的特点
嵌入式软件的开发具有如下几方面的特点:
1)需要交叉开发工具和环境。由于嵌入式软件本身不具备自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发。这些工具和环境一般基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机交叉开发的概念,主机用于程序的开发、调试,目标机作为最后的执行机构。开发时主机和目标机需要交替结合进行。
2)软硬件协同设计。软硬件协同设计涉及以下方面:嵌入式软件设计、实时系统设计、硬件设计和软件设计。软硬件协同设计强调硬件与软件的协同性与整合性、软件与硬件的可裁减,以满足系统对功能、成本、体积和功耗等要求。
3)嵌入式软件开发人员以应用专家为主。通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式软件则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。
4)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。
5)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高,片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度,提高执行速度。嵌入式软件的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。
6)系统软件的高实时性。在多任务嵌入式软件中,对重要性各不相同的任务进行统筹兼顾和合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。嵌入式软件应用程序虽然可以没有操作系统直接在芯片上运行,但是为了合理地调度多任务,利用系统资源,系统一般以成熟的实时操作系统作为开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
2软硬件协同设计概念
嵌入式软件设计是使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件、软件或者两者的结合来构成的功能设备。由于嵌入式软件是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的发展中的设计理论——软硬件协同设计。这种方法的特点是,在设计时从系统功能的实现角度考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。既可最大限度地利用有效资源,缩短开发周期,又能取得更好的设计效果。
系统协同设计的整个流程从确定系统要求开始,包含系统要求的功能、性能、功耗、成本、可靠性和开发时间等。这些要求形成了由项目开发小组和市场专家共同制定的初步说明文档。系统设计首先确定所需的功能。复杂系统设计最常用的方法是将整个系统划分为较简单的子系统及这些子系统的模块组合,然后以一种选定的语言对各个对象子系统加以描述,产生设计说明文档。其次,是把系统功能转换成组织结构,将抽象的功能描述模型转换成组织结构模型。由于针对一个系统可建立多种模型,因此应根据系统的仿真和先前的经验米选择模型。
3嵌入式软件开发的方法论
在建立一个完整的嵌入式软件或是产品时,大部分系统都很复杂,不但功能规格很多,还必须考虑例如价格、性能等其他因素,否则很容易做出一个失败的系统或是产品。因此,在进行系统开发之前,必须先了解一些系统设计技术,使得在开发过程中更为顺利。一般来说,产品设计的过程会经历几个步骤,为了确保这些步骤的合理性,我们需要一个设计方法论来面对整个设计过程。采用方法论有以下三个重要理由。
确认所做的每一件事情都是必须要做的,不做无谓的工作,也不漏掉关键性的重要工作,其中包含性能最佳化或是功能测试。
根据设计方法论可以发展出计算机辅助工具或是设计经验累积,汲取每一次产品开发的经验。再经过量化之后,可以发展出一套工具或是方法,让往后的产品设计步入自动化。
开发团队遵循同一套方法论,可以让团队成员更容易彼此沟通。每个人都能在短时间内了解整体过程中将经历哪些过程,需要何种支持与接收到何种结果。此外,也容易通过一套已经定义好的方法论,彼此相互合作协调。设计过程的目标是做出有一定用途且具有创新点的产品。产品的典型规格包含功能性、制造成本、性能表现、省电考虑和其他特性。
4结束语
调试也是软件开发不可或缺的一个环节。在常见软件开发中,调试器与被调试的程序往往运行在同一台机器上,通过操作系统的调试接口来控制被调试的进程。而在嵌入式软件开发中,采用的是交叉调试,即调试器运行在宿主机上,但被调试的程序运行在基于特定平台的目标机上,调试器与被调试进程通过串口或网络进行通信。不管是交叉编译还是交叉调试,都需要把文件从宿主机传送到目标机。如果考虑团队合作开发、开发环境不完全一致等因素,开发者经常也需要把文件在不同系统之间或通过网络进行传输。所以在嵌入式软件开发中搭建一个良好的文件传输环境是提高嵌入式软件开发效率的一个关键因素。
2文件传输环境的搭建
在嵌入式软件开发中,必须结合开发的具体项目和具体开发环境来选择搭建一个好的文件传输系统。虽然各类传输技术可以在不同平台(Windows、Linux等)上实现,但在嵌入式软件开发中更适合搭建基于Linux的文件传输系统,下面就嵌入式Linux环境下文件传输技术方法进行讨论。
2.1FTP(文件传输协议)服务设计与实现
FTP是网络传输文件的一种常见服务。在嵌入式Linux中,vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,是一款完全免费的软件。它的最大的特点是安全性非常高,但嵌入式系统一般是在局域网内进行合作开发,所以在搭建为嵌入式开发服务的FTP时一般不需要太多地考虑文件传输的安全性,搭建一个用户登录访问的FTP服务器就可以。下文是Ubuntu12.04下实现用户登录访问FTP配置文件(/etc/vs-ftpd.conf)的主要内容:
2.2TFTP(简单文件传输协议)服务设计与实现
TFTP是一个传输文件的简单协议,它基于UDP协议而实现,适合于小文件传输。嵌入式系统开发的代码文件一般不会很大,同时对文件传输的安全性要求也不高,所以在嵌入式软件开发中也经常使用TFTP服务来传输文件。下文是Ubuntu12.04下实现TFTP配置文件(/etc/default/tftpd-hpa)的主要内容:2.3NFS(网络文件系统)服务设计与实现嵌入式系统开发时,还可以使用NFS实现宿主机和开发板共享文件,这样也可以免去文件上传或下载的麻烦,直接把存放文件的目录挂载在目标机上或其他系统中,用户可以像访问本地文件一样访问远端系统上的文件。下文是Ubuntu12.04下实现NFS配置文件(/etc/exports)的主要内容:其中,*:允许所有的网段访问,也可以设置成某一个ip段,如192.168.0.*;rw:读写权限;sync:资料同步写入内存和硬盘;no_root_squash:允许客户端共享目录所有者权限。用户可以根据自己需要设置相关参数,还有一些参数说明没列出来,需要时可查阅相关资料。
2.4Samba服务设计与实现
在嵌入式系统开发过程中,宿主机上一般会安装Windows系统,同时安装虚拟机软件,在虚拟机上安装Linux,这样就存在Windows系统和Linux系统共享文件的问题。通过Linux提供的Samba服务可以轻松实现文件共享,可以有两种方法加以实现:一是由Windows系统访问Linux系统中的共享文件夹;二是由Linux系统访问Windows系统中的共享文件夹。(1)Windows系统访问Linux系统中的共享文件夹。由于嵌入式系统开发一般在局域网内或单机上进行,对网络安全性要求不高,这里就以配置一最易实现的Samba服务(来宾都可访问)为例来加以说明。主要是通过修改/etc/samba/smb.conf配置文件:上面用户名是所访问的Windows计算机中的用户账户,验证口令是Windows计算机中的用户账户的口令。
2.5使用串口软件传输文件
在一些应急场合,没能很好地配置好上述服务的情况下,如果需要传输一些文件到目标板,可以选择使用串口软件传输文件。用串口电缆把宿主机和目标机连好,然后运行串口软件,最常用的是Windows自带的超级终端。超级终端程序通常位于“开始”“程序”“附件”“通讯”中,运行超级终端一般要求用户为新的连接取一个名字,然后选择所使用的串口,最重要的一步是设置串口属性,一般针对开发板设置的属性如下图2所示。连接上目标板后,使用超级终端上的“传送”“传送文件”菜单实现文件传输。在ubuntu操作系统下,需要使用minicom来连接开发板,本文不再赘述。
3结束语
根据银行应用软件的开发现状以及银行系统对开发技术的需求,分析其中存在的问题,例举比较典型的问题并做如下分析:开发技术过于保守银行软件开发仍旧使用比较传统、保守的技术,整个开发的过程中暴露出诸多技术矛盾。例如:银行系统积极、全面的发展,而应用软件开发技术始终止步不前,延续以往infomixC技术框架,结合IBM小型机,无法在应用软件开发上实现技术突破,反而被银行系统陈旧的技术限制。银行应用软件开发技术越落后,表示软件开发项目的价值越多,开发技术过于保守成为银行软件开发的一大问题。
2软件开发的测试匮乏
银行在应用软件开发后,需要安排相关的测试技术,检测应用软件的安全及可用性,同时检测银行软件开发程序是否合理,测试属于银行应用软件开发的主要技术,能够保障银行软件的安全应用。实际银行软件开发后,测试技术出现严重的匮乏情况,例如:某银行开发的AS400,其中的应用软件是由开发人员监督测试的,本身不具备完整的测试系统和专业的测试人员,引发严重的技术问题,最主要的是整个测试过程中并未发现任何程序问题,与软件开发技术的实际不符,应用软件在AS400的开发过程中,需经多次测试技术监督后,才能达到安全的状态,表明软件开发测试技术的缺陷。
3开发文档不足
银行应用软件的开发文档是指软件设计、编程到开发所有的文档资料,跟随应用软件的开发而产生,其与应用软件的程序一致,属于一项不能缺失的资料。银行应用软件开发人员不重视开发文档,将软件开发的重点放在实践部分,忽略开发文档的存储,直接影响了银行软件的应用与维护,导致银行软件因缺乏维护根本而失效,降低软件开发使用的寿命,更重要的是科研知识得不到充分应用。
4银行应用软件开发问题的解决对策
4.1引进软件开发新技术
银行应用软件开发需要专业的技术支持,开发人员既要熟悉银行软件的业务知识,又要具备专业的技能,开发银行应用软件项目时,才能保障银行软件具备优质的实践性。银行在应用软件开发技术方面,可以采取引进的思想,推进新技术的发展,针对软件开发新技术的引进,提出两点技术性的原则,如:(1)引进更为精细化的大数据处理,比如Oracle、DB2等,应用在银行软件开发中,发挥此类技术精确、专业的能力,确定新技术后才能辅助于银行应用软件的开发技术。(2)通过软件开发新技术的引进,实现全能技术,银行软件开发系统内比较常见的是C语言、Java和vb,开发人员必须掌握所有语言基础,同时还要对其中一门语言做到精通,用于适应银行系统内繁琐的IT运行,有利于银行应用软件技术的精细化发展。
4.2完善软件测试技术
银行应用软件开发的测试技术,偏重于业务类的软件。结合银行应用软件开发的过程,分析软件测试技术的应用,其在应用软件开发测试中体现在三个方面,分析如:(1)界面测试。(2)容错性测试。(3)响应测试。
4.3强化文档管理
银行应用软件开发可以通过评审的方式,强化文档管理。因为文档管理在软件应用中发挥重要的作用,既可以做为通信工具,又可以指导软件操作,所以开发人员需要保障文档资料的完整性,确保文档资料符合标准。
5结束语
在传统的软件开发方法中,软件开发者往往是将要解决的问题转化为数据,然后将数据收录到程序中,再通过程序的设计,来设定一种算法,从而开发出解决问题的软件。利用这种方法所开发出来的软件,只能解决一些规定范围内的问题,并且处理问题的结果也往往是以数据的形式展示出来,用户要能够理解问题的解决结果,就必须具备一定的知识,才能够将结果中的数据自行转化为通俗的理解方式,这就为用户对于软件的作用、处理问题解决的理解带来了极大的困难。而运用面向对象方法所开发出的软件,所采用的不再只是数据的收录与输出以及算法的设计,它更为强调的是,以人类的思维方式来解决问题,也就是要依据大多数人通常的思考方式来设计软件,并且使软件能够分析人类的语言,并对问题进行分析、解决,同时,结果的输出也不再是生硬的数据,而是较为自然的、通俗易懂的语言,让用户能够直观地、清楚明白地看懂处理结果,从而增强了软件的可理解性。
2软件工程中面向对象方法具有较强的可重用性
运用传统的方法开发出的软件,受到其开发方法、功能等因素的影响,软件只能接受、识别一些特定的数据,对于一些日常生活、工作中的问题难以进行灵活的应对,这就使得软件的应用领域及作用受到了极大的限制。而用户想要让软件能够解决更多的问题,就必须依靠软件开发者来对于软件进行升级更新。软件的可重用性差,不但用户要花费时间来对软件进行更新,甚至是更换其他软件,软件开发者也要花费更多的时间来保证软件的可用性,不利于更多创造性工作的持续进行。而运用面向对象方法所开发出的软件,则具有更强的可重用性,用户能够将这一类的问题都交给该软件来处理,而不必担心软件的功能受到限制,只要找到正确的软件使用方法,就能够解决所遇到的问题。而软件开发者也不必花费大量的时间来对于软件进行更新升级,这就为自己节约了更多的时间和精力,能够致力于开发更多具有创新性的软件。从而提高软件的可重用性,增强软件在市场中的竞争力,可见,面向对象方法是我国开发出更多可复用软件的一种重要手段。
3软件工程中面向对象方法具有较强的系统稳定性
运用传统方法开发出来的软件,由于其主要是通过数据的处理和特定的算法来解决问题,对于计算机系统的要求较高,当软件的某些功能改变或是系统大环境发生变化时,软件难以与系统兼容,就导致了软件无法使用。而软件要进行更新或优化时,由于要改变某些结构,就需要软件所运行的系统也随之变化,为软件的升级优化造成了困难。有时甚至会为了使系统能够运行软件,而进行系统的改变,导致了其他软件无法再正常运行。而运用面向对象方法开发出的软件,其解决问题的方式是依据实际解决问题的思路而展开,并且是通过对象来模拟实体,而实体相对于数据与算法来说具有更强的稳定性。其软件结构主要是依赖于自身的功能,对于系统的依赖性相对较弱。这就使得软件在运行时,不容易受到系统的影响,及时用户对于软件的需求发生改变,也不会影响到系统整体结构的变化,也就是说不必为了软件的升级优化而对系统进行改变。系统的稳定性强,也保证了软件能够正常运行,解决问题更为顺利,不会在解决问题的过程中出现差错而为用户输出错误的结果。
4软件工程中面向对象方法具有较强的系统可维护性
运用传统方法开发的软件,由于受到各个方面的限制,其系统可维护性较差,当软件与系统功能不相符的时候,只是修改软件难以解决问题,而要同时对软件和系统进行修改不但费时费力,成本费用也很高,软件对于用户的实用性不高,且难以维护,为用户长久的使用带来了更大的困难。而运用面向对象方法开发出的软件,则很好地解决了系统维护的问题。一是面向对象方法开发出的软件稳定性好。即使用户对于软件解决问题的功能发生改变,也只需要对于软件的某一部分设计进行修改就可以,而不需要对软件或系统进行大幅度的改动。二是面向对象发开发出的软件,具有较强独立性的类。这也就意味着,在软件内部对于其功能等方面进行改动,只要不涉及到与对外接口相关的改变,就不会影响其使用。三是具有极强的多态性及继承性。方便于用户根据自己的需求来对软件进行简单的修改和扩展。四是软件的功能及使用方法、输出结果容易被理解,用户能够及时地发现问题解决问题。另外,软件很容易进行测试,方便于用户对于软件进行调整。这些特点就决定了软件具有极强的系统稳定性。
5软件工程中面向对象方法具有更高的总体效益
在工程设计行业,cad技术的应用大大提高了设计及绘图效率。cad应用软件的开发也越来越重要。
在给排水设计领域,cad开发应用起步较晚。有些设计院从八十年代末开始尝试进行cad开发,但进展比较慢,多数是图块和小型实用程序,在深度和广度上都存在着差距。从1993年以后给排水cad开发步伐开始加快。1994年底全国给排水学会和给排水技术情报网组织召开了“计算机技术在给排水专业应用研讨会”,对给排水软件开发起了积极的促进作用。
目前在给排水cad开发方面已经取得了可喜的成绩,尤其是建筑室内给排水方面涌现出一些比较优秀的给排水cad软件,如洛阳的一家软件和北京的几家软件。这些软件都具有计算机辅助设计建筑给排水平面图、自动生成系统图、自动统计材料表;进行室外给排水管网计算、自动生成图形等功能,其中个别软件已在室外设计和泵房设计等方面有了新的进展。
现有软件都偏重于民用建筑给排水方面,而且也有待于继续完善、发展。在给排水的其它领域,由于难度大,投资回报较低,软件公司还不愿涉足,所以进展缓慢。应用cad进行给排水及水处理系统的优化设计更是少有人涉足。此外,目前还没有专业设计cad软件的标准和规范。商业化软件多数都不经过权威部门严谨的技术测试和鉴定,所以其数据库、计算方法、设计方法和生成图形的准确性还没有严格保障,这一点还可能成为工程设计质量的隐患。
现在设计部门的给排水cad应用水平也参差不齐。有的购买或自行开发了给排水专业软件,提高了设计绘图效率。有的只是在用autocad的简单命令绘图,虽提高了cad出图率,却根本谈不上利用cad提高效率。给排水专业cad应用水平还有待于进一步提高。关键词:软件开发,给排水,CAD,给排水设计软件来自
目前许多有精力的设计院及研究部门都在研究开发本单位适用的专业软件及应用程序,但由于开发经验不足,成绩不明显。本文将结合笔者的工作经验,着重论述有关给排水软件开发的原则、思路、方法及步骤,旨在抛砖引玉,促进给排水cad软件开发工作。
二、给排水软件包开发思路及原则
由于现有建筑给排水软件已经比较成熟,且仍在继续开发、升级。一般开发者在水平和起点上均与这些软件开发有一定差距,所以应该购买此类软件,而着重开发适合本单位使用的实用程序、应用软件或优化设计软件。高起点开发者则应在深度及广度上向更高层次冲击。
1.给排水cad软件开发依据及原则
(1)设计依据为有关设计规范、制图标准以及设计手册等;保证数据库、计算方法和设计方法的准确性。
(2)软件包开发设计首先要突出专业水平,把专业设计思想转化为计算机语言是专业软件包的关键所在。
(3)符合设计人员思维习惯及设计习惯,人机界面友好,操作简单,易掌握。
(4)适用性强,容易修改,容易扩充,容易发展。
(5)尽量使用效率高、功能强的计算机语言及开发工具。
(6)严格执行标准化及规范化。
(7)通过自动绘图以及建立标准图库,提高图纸复用率等途径,提高设计绘图速度,真正发挥计算机的优势,把设计人员从图板上解脱出来。
2.设计开发步骤
(1)开发适合于给排水专业应用的cad软件环境,包括autocad的优化配置及常用专业图块及绘图工具。
(2)开发一些独立的专业绘图软件,发展标准图形库,由浅到深,从易到难,逐步提高自动成图及图纸复用比例,使软件包成为覆盖面广,功能齐全的专业绘图软件包。
(3)开发给排水专业高阶段设计方案优化软件,以及设计、绘图一体化软件,逐步成为智能化、自动化程度较高的专家系统软件包。
3.开发人员配备软件开发是一项较复杂的脑力劳动,对开发人员要求也较高,专业软件开发人员大致可分为以下几个档次:
(1)初级水平:专业人员掌握一些基本计算机知识及开发工具可以进行一些专业图块制作,简单的实用程序开发。
(2)中等水平:较高专业水平加上较高计算机水平。熟悉专业设计习惯,有较丰富的设计经验的专业人员,如果掌握先进的cad开发技术,可以开发出较高水平的cad应用软件,可以提高设计效率,特别是可以大大提高绘图效率。
(3)高级水平:高深的专业水平加上先进的计算机开发技术。在专业方面应该熟练掌握专业基础知识,有丰富的工程设计经验,善于总结专业设计思路,发现规律,具有较强的系统工程及方案优化水平。在计算机方面要掌握LSP、ADS、DCL等开发工具(或其它高级开发工具)。这类人员开发专业CAD软件是最理想的。 
由于给排水专业涉及面广,而且不同行业给排水设计习惯也不尽相同,不可能有软件可以覆盖所有给排水领域,适用于所有设计院,所以目前仍然需要分行业、分类进行开发。前述的个别建筑给排水软件包及开发人员属于较高水平,其开发设计思路非常值得向给排水其它领域延伸。 ^#tZu;?l`2[yoV=Q8u€OjyE0aqn&E€|7微电子学论文yKVqB^t(€h?n1DqMGTd7J(
4.开发工具(软件方面) 
目前较常用的CAD开发工具主要有AUTOLISP语言、ADS、DCL语言以及数据库处理,也有的开发者使用BASIC、FORTRAN等高级语言与AUTOCAD的图形数据交换接口进行开发;还有用C++开发或用VB等在WINDOWS界面下开发的;此外,网络技术也越来越重要。 
开发CAD软件,需要非常熟悉AUTOCAD命令,以及其中的各参数、系统变量、图层、图块、线形等,这样才能方便灵活地在程序中执行各种命令,掌握CAD开发技巧,例如图块的属性可以带许多信息,一条LINE线的厚度可以存入管道的管径等。此外现在有些软件使用数据的后处理方式,使软件和AUTOCAD结合得更好,这些技术还需要对AUTOCAD图元数据库和数据图形交换等有更深的了解。 
论文给排水设计软件开发方法探讨来自免费
AUTOLISP是在AUTOCAD内部使用的语言,用AUTOLISP编辑的程序可以定义变量,对数据进行处理和作出图形,并可能自定义函数,比较适合搞人工智能工作,特别是它的表处理功能以及递归等功能比较独特,在CAD工作中它可以独立工作,也可能与DXF图形交换文件互相配合。其不足之处是速度慢,且程序代码几乎无法保护。 
ADS是AUTOCAD11.0版以后新增加的用来开发应用的一个C语言编程环境。它运行速度快,代码保护性好,能更有效地利用内存空间以及访问设备与系统,具有更强大的开发功能。但掌握ADS要比LISP困难,要求开发人员具备C语言编程经验并熟悉ADS库中各函数用法。一般商业软件应该用ADS。 
AUTOCAD还提供了可编程对话框(PDB)工具,使用户可以结合自身专业特点,用DCL语言构造自己的对话框,从而改善界面,提高CAD软件效率。 
目前最流行、最实用的专业CAD开发工具是ADS、DCL,加上少量AUTOLISP。 
三、开发过程
1.专业绘图环境的开发 
(1)AUTOCAD的配置及改善 
A.选择AUTOCAD版本。目前最常用的是汉化AUTOCAD12.0版。但其汉字输入不太方便,应配上较先进的汉字系统,或用12.0版FORWINDOWS(中文)。 
B.对AUTOCAD系统变量进行重新优化配置及设定,主要包括系统变量及尺寸变量设置,层、线形设置等,使ACAD.DWG成为理想的样板图。 
C.对ACAD.MNU进行优化,将许多常用命令放在最容易拾取的位置或固定位置。专业菜单部分可加入ACAD.MNU,也可以独立编写。 
D.利用ACAD.PGP做简化命令(10.0版以前的版本可在ACAD.LSP中用DEFUN函数设定),编写ACAD.LSP。 
(2)专业绘图功能 
A.专业图框绘制:可由菜单点取或用屏幕幻灯菜单点取,自动生成各种图框。 
B.专业常用图块:由菜单点取生成,自动插入断线。 
C.开发实用的专业绘图工具程序:如标注标高、管径、坐标、管道立管、代号、各种管件等的程序,绘制单、双线管道的程序,生成专业设计说明、图例、专业词组的程序,以及文字、线形、线宽编辑和表格操作等实用程序。
D.开发或引进建筑图绘图程序。 
专业CAD软件包都应具有高效的绘图环境,否则一旦自动生成等功能出现故障或不能适用时,用户就只能用AUTOCAD简单命令来画图了。 
2.专业绘图软件的开发 
在专业绘图环境的基础上逐步开发一些相对独立的专业绘图软件,逐步形成功能强,覆盖面广的给排水综合软件包。 
目前已开发的较成熟的软件有:民用建筑给排水CAD软件包、室外给排水管网计算软件、给排水管道纵断面图绘图软件、给排水外部管网设计软件等。 
正在开发,初见成效的软件有泵房设计软件、平流沉淀池软件、机械加速澄清池软件、和市政管网cad软件等。
尚未深入开发,开发难度大,但预期效果好的软件包括:辐射沉淀池、旋流沉淀池、水塔、综合管沟、架空管网、过滤间、软水站、污泥脱水间设计等项目。
给排水软件开发的另一条思路是发展给排水设备和构筑物的标准cad图形库,从而提高图纸复用率,这比编制自动成图的软件要容易得多。标准cad图形库还可以由权威部门编制后,作为标准图出版。此外,标准图还可作为软件包的一部分,即软件包可以交互式自动生成图形,也可以通过自动计算直接调用相应的标准图。
3.高阶段设计及方案优化设计软件的开发在
利用cad进行高阶段设计及方案优化设计方面,除在民用建筑给排水领域有个别公司研究外,在其它给排水领域中的研究国内还未见到报道。方案优化软件的难点在于系统化的设计思路和设计经验向计算机程序的转化,其中给排水及循环水流程的方案优化模型的建立本身就是给排水设计的一个难题。目前这方面进展缓慢的原因首先是它对开发人员要求高,这一领域的理想人选稀少;其次是给排水专业行业多,领域广,需开发的软件工作量巨大,具备这方面精力的研究部门或公司还很少。
总之,给排水专业绘图软件包开发是一项艰苦的工作,需要创造一个规模生产,流水线开发的环境,投入一大批高层次的人才。各部门的研究人员既要知难而进,又要避免重复劳动,在各行业、各领域开发出各有特色的实用专业软件。
四、给排水cad软件包开发实例———bywat
1.软件包结构
专业绘图环境-caautocad12.0汉化版
autocad配置及改-系统配置
参数设置
菜单优化
命令简化
专业绘图功能-
专业图框绘制
专业图块绘制
专业工具程序
绘建筑图程序
bywat-(2.0)b.
专业绘图软件-is泵及s泵基础绘图软件
水泵底座绘图软件
材料表等填充软件
给水管纵断面图绘图软件
排水管纵断面图绘图软件等多常
2.软件包主要技术特点
(1)符合设计人员设计习惯,简便易学。
(2)速度快,可提高设计绘图速度3到5倍。
(3)可由用户幻灯菜单自动点取专业图框。
(4)有丰富的专业图形符号,插入时管道自动断线。
(5)可方便地绘制建筑图。
(6)具有各种类型的标高、管径、坐标等标注功能以及一些方便实用的程序。
(7)绘材料表只需在屏幕菜单中点取材料名称即可将名称、材料、单位、标准图号等填入材料表中的合适位置,序号、数量也特别方便,速度快,辅助功能及提示功能强。如果需要,还可以自动填入单重,自动计算并填入总重。
(8)各型号水泵基础自动绘制,半自动生成水泵底座图形,自动计算和生成材料表。
(9)给排水管道纵断面图软件交互式、参数化绘图,可自动计算,并有辅助功能。
3.专业软件实例———排水纵断面图绘图软件
软件测试时一是为了发现软件在研发编写过程中存在的错误,从而及时对程序进行修改和完善,使软件的各项功能够顺利使用。二是为了根据用户要求,来对软件的各项功能和用户使用体验感受进行改善,使用户在使用软件时更具舒适感。而在当前的软件检测过程中,主要在两个方面不够规范:一是一些软件开发员缺乏责任心,在软件编写完成后,马马虎虎地进行检测,对一些影响使用体验的程序放任不管,不去做优化处理;二是软件开发者在检测时没有让用户参与进来,而自作主张的对软件功能进行了修改。这两方面问题不仅降低了用户在使用软件过程中的感受,还导致了用户在后续软件维护中的成本增加。
2软件维护不够规范化
任何产品在售出后,消费者都有享受产品的售后服务的权利,而商家也必须承担为消费者提供售后服务的义务。对于计算机软件,也同样有着“售后服务”,即软件开发者对于软件的后期维护和调试。在当前的软件维护过程中,主要存在着两方面问题:一是一些软件开发者将完成的软件交付后,就一走了之,面对软件使用者在软件使用过程中出现的问题也常常置之不理,推卸责任;二是有些软件开发者在处理软件使用者所遇到的问题时,超出市场的价值规律,漫天开价,索取高昂的维护和调试费用,有些使用者出于无奈也常常忍气吞声,吃了哑巴亏。可以说,以上这四方面的不规范问题不仅影响计算机开发人员的工作形象,还会形成计算机软件领域的同业恶性竞争,长久之,将会使充满信心的软件开发这一朝阳产业变得暗淡无光,最终使软件使用者和消费者蒙受损失。
3加强计算计软件开发规范化对策思考
3.1提高计算机软件开发规范化的认识
计算机软件开发是一项与人们学习、工作和生活有着密切联系的系统性工程,计算机软件只有在人们的认可和使用中才能发挥出自身的作用和价值。然而当前计算机软件过程中所存在的规范化问题,已经对计算机软件在市场中的推广和使用造成了很大的影响。要使这一问题得到根本解决,首先必须从思想观念上进行转变。为此,我们只有不断提高软件开发的准入门槛,提高软件开发者对于软件开发规划范的责任意识,使其从思想层面加强对自身的工作要求。同时,还应当不断完善计算机软件开发方面的相关法律和行业标准,使软件开发的各个过程受到制度监督和法律约束,保证软件开发者以诚信、敬业知心开展计算机软件开发工作。此外,我们还要认真思考,对计算机软件开发的设计、检测、维护等一系列的环节所存在的问题进行深入分析,提出切实可行的对策,最终推动计算机软件开发实现规范化发展。
3.2加强计算机软件设计规范化
计算机软件设计开发主要是依据用户要求设计研发的计算机系统软件或计算机系统中的某一部分应用软件,是一项涉及很多方面的系统工程。因此,软件开发者需要对市场的需求、客户的要求、设计人员的技术层次等方面进行综合的分析,而后开始设计软件。为此,在设计开发前要充分了解软件的运行环境,在深入调研后再进行设计开发。同时根据用户的不同需求,确定设计风格和内容,进而严格遵循计算机软件设计标准,进行概要设计和详细设计,把具体设计策略、软件内部构造和制作流程进行安排部署,并呈现给用户。1)软件概要设计的规范化。概要设计的标准就是按照用户的需求,根据产品的不同建立各个系统模块的目标软件系统,对这些模块的接口下达指令,使他们紧紧联系在一起并链接到下一个模块,做到层层相联系。为此,开发者要不断规范概要设计,有能力建立起能够管理整个软件系统的数据库,并使其中的每个模块都要形成相配套的管理方案,并在这一过程中,把各模块的接口尽可能的简单化处理。不仅各模块都能分工合作,还能紧密的联系,这样才能有效保证了系统持续稳定的运行,进而保障用户能够清晰地理解软件的设计。2)软件详细设计的规范化。所谓软件详细设计,就是对概要设计标准全面进行细化,把概要设计一项一项地分解开来,使概要设计的内容得到更加详尽的解释说明,然后把各个模块进行系统、精确、全面的阐述,最终使各个模块的概要设计功能进一步细化分解。为此,开发者要具体围绕算法和软件内部构造这两个方面,及时规范模块的输出输入以及它们的性能,把每一个模块进行细化,划分具体的功能。需要注意的是,开发者在进一步规范计算机软件设计研发中,必须要使软件的设计具有精确的算法和内部构造,这样不仅会对拟写的源代码有帮助作用,还会使软件设计更为的科学合理。最后软件开发者还要根据用户需求,在积极完善详细设计标准的基础之上,才可以进行系统规范的计算机软件设计研发。在研发过程中,仍需要对软件各个模块都进行程序上的划分,只有在准确评估了检测报告后,利用各个模块接口的精准性能,才能对计算机软件进行系统的、有程序的、循序渐进的设计研发,才能保证计算机软件的先进、合理和高效。
3.3计算机软件开发编码的规范化
在进行软件的设计与开发方面,要首先对软件进行的设计有一个相对清晰的标准,即对软件进行概要设计的标准以及软件详细设计的标准,在设计完成后,要对软件进行加工编码工作。为计算机软件进行编码,是开发设计计算机软件的重中之重,只有将计算机编码开发设计正确,才能够保证程序的完整无缺,进而保证软件的正常运行。计算机软件在编码过程中,要按照软件设计规范化的标准,并把用户需求的方方面面都考虑在内,然后根据软件的运行环境,进行软件编码,这样才能设计开发出适合用户特点、满足用户需求、操作简便的计算机软件。
3.4加强计算机软件检测规范化
我们在检测软件过程中,发生错误是在所难免的,如何避免和消除所犯的错误,使软件能够较长时间使用,是软件检测必须面对的实际问题。这样的问题存在于软件设计研发的各个阶段,软件检测的效果同样也决定了软件的使用寿命和软件设计研发的质量。因此,必须加强软件的检测工作,切实地解决好软件研发过程中存在的问题。目前,我们主要检测用户所要求的软件功能以及计划内容、性能需求等。所以,我们必须要保证在检测软件的过程中要有用户共同参与,专业人员要把软件设计思路和所想达到的目的进行系统了解,利用专业知识和规范化检测方法对所开发的软件进行详细认真的检测,从而发现设计漏洞和存在的问题,看是否达到了用户的要求。同时,要进一步规范检测过程,对软件系统的各个功能模块要进行全面完整的检测和测试,同时对检测的数据和检测结果进行存档,以备在修改时能够及时找到问题所在,通过对存在问题加以修改和完善,使软件性能得到进一步提高,反复修改检测后,把软件的性能调试到最好的使用效果。此外,还要组成独立的软件测试小组对软件进行反复验证和全方位测试,确认软件的各种性能达到良好的效果。在检测工作结束后,要撰写检测报告,对软件设计研发及检测结果进行全面分析总结,做出正确的评估。计算机软件设计研发是根据用户需求来实现的,是一种计算机系统或系统中的部分软件,计算机软件不是每一台计算机都相同的,它是根据用户的不同需求而添加的,它包括办公软件、商业软件、家庭应用软件等不同类型,软件的研发是由用户需求、专业人员设计、最后经过测试和用户认可的一种产品,软件的使用者要想得到合法的软件使用权,就必须得到软件研发机构的许可,这样,一个计算机软件才具有了真正的生命力。
3.5加强计算机软件维护规范化
计算机软件产品维护也是软件开发规范化的最后一道程序,它主要是把在运行过程中出现的问题进行及时维修,把在测试中遗漏的错误进行修改,不断完善软件的各种性能,让软件更好地适应运行环境。软件维护同样要具有规范化要求,我们必须要使软件开发者认真按照程序进行操作,不能出现旧的问题没有解决有出现了新的问题,要减少软件维修的所产生的负面影响,维护和维修过程要有详细记录,填写维修报告,做到软件维修正规化和标准化,从而实现软件功能的不断扩展和补充,使软件达到最好的运行和使用效果。此外,还要培养软件开发者在维护软件工作中的责任心意识,要从市场实际出发,遵循价值规律,诚信真实地开展软件维护,最终使软件开发行业的环境得到净化,促进整个行业向前发展。
4结束语
关键词:计算机CAD软件开发暖通行业软件
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中也有包含,如孤立一个层、显示所有层等。这些辅助操作使绘图过程更佳合理化,高效化。基本的暖通绘图命令应该包括风管绘制、风阀风口插入、水管绘制、管径标注、标号插入等。这其中包含的一些具体连接的处理方式一定要和现场施工保持一致。二次开发的初期一般不把风管,水管生成块,以追求修改的方便。辅助命令中的快速标注,可以方便地标出管道种类、标高、管径等。一些辅助绘图命令以可以是常用符号(即块)的插入等,如水管上下翻标记等图例符号的插入。
二次开发中一个长期的工作是常用图库的建立。常用图库可以按类别进行多级分类,如分为“风口”、“机器”这样的大类,“机器”又包含“风机”、“空调机”、“泵”这样的中类,“风机”中又包含“离心风机”、“轴流风机”这样的小类。这些图库应该对于用户具有一定的开放性,允许用户自己增加、改修图形。这些图形也可以通过厂家得到完全符合实际尺寸的样本来建立。图形单元插入时,图形应以块的形式插入,以追求修改的方便。
项目管理就是在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求,实际上就是通过项目各方干系人的合作,把各种资源应用于项目,以实现项目的目标,满足项目干系人的需求,其本质就是对时间、质量和成本的管理。
随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,项目开发的管理日益受到重视。
二、目前在软件项目管理中存在的误区
现在大多数企业都认识到了在项目中进行管理的重要性,但是仍然有许多企业在实施项目管理的过程中存在着这样那样的误区,主要表现在:
1.项目经理不够专业。在软件企业中,缺乏专业的项目管理人员来实施项目管理及担任项目经理,通常被任命的项目经理主要是因为他们能够在技术上独当一面,但是他们在管理方面特别是项目管理方面的知识比较缺乏。
2.项目计划缺乏纲领性。项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。
3.缺乏有效的管理意识。部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成人员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
4.缺乏有效的沟通制度和机制。在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。
5.风险管理意识淡泊。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。
6.项目干系人的不确定性。在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求;或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。
7.缺乏项目团队的合理分工。项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。
三、解决软件项目管理中存在的误区的有效策略
要想解决上面描述的误区,归根到底还是要从管理学的角度入手,即在软件项目的开发过程中加入过程管理的内容,这样我们可以在软件开发中对各个过程的质量加以控制,从而达到保证软件产品质量的目的。为了有效提高管理水平,我们应该努力做到:
1.项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。
2.计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
3.加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
4.制定有效的沟通制度和沟通机制,提高沟通意识;采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的(下转第198页)(上接第196页)内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
5.通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。
6.项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
7.项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。
实施有效的项目管理绝非易事,对于软件企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,同时,成熟有效的项目管理无疑将对企业起着至关重要的作用,项目管理的水平将是企业核心竞争力之一。
【参考文献】
[1]郭研.软件项目管理[J].物流科技,2005,(2).
[2]何国伟.论软件项目管理的质量(上)[J].质量与可靠性,2003,(6).
[3]何国伟.论软件项目管理的质量(下)[J].质量与可靠性,2004,(2).
[4]王仲涛,严俊,赵耀.对软件项目管理的初步探讨[J].船海工程,2001,(S2).