软件开发论文实用13篇

软件开发论文

篇1

1)需要交叉开发工具和环境。由于嵌入式软件本身不具备自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发。这些工具和环境一般基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机交叉开发的概念,主机用于程序的开发、调试,目标机作为最后的执行机构。开发时主机和目标机需要交替结合进行。

2)软硬件协同设计。软硬件协同设计涉及以下方面:嵌入式软件设计、实时系统设计、硬件设计和软件设计。软硬件协同设计强调硬件与软件的协同性与整合性、软件与硬件的可裁减,以满足系统对功能、成本、体积和功耗等要求。

3)嵌入式软件开发人员以应用专家为主。通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式软件则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。

4)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。

5)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高,片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度,提高执行速度。嵌入式软件的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。

6)系统软件的高实时性。在多任务嵌入式软件中,对重要性各不相同的任务进行统筹兼顾和合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。嵌入式软件应用程序虽然可以没有操作系统直接在芯片上运行,但是为了合理地调度多任务,利用系统资源,系统一般以成熟的实时操作系统作为开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

2软硬件协同设计概念

嵌入式软件设计是使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件、软件或者两者的结合来构成的功能设备。由于嵌入式软件是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的发展中的设计理论——软硬件协同设计。这种方法的特点是,在设计时从系统功能的实现角度考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。既可最大限度地利用有效资源,缩短开发周期,又能取得更好的设计效果。

系统协同设计的整个流程从确定系统要求开始,包含系统要求的功能、性能、功耗、成本、可靠性和开发时间等。这些要求形成了由项目开发小组和市场专家共同制定的初步说明文档。系统设计首先确定所需的功能。复杂系统设计最常用的方法是将整个系统划分为较简单的子系统及这些子系统的模块组合,然后以一种选定的语言对各个对象子系统加以描述,产生设计说明文档。其次,是把系统功能转换成组织结构,将抽象的功能描述模型转换成组织结构模型。由于针对一个系统可建立多种模型,因此应根据系统的仿真和先前的经验米选择模型。

3嵌入式软件开发的方法论

在建立一个完整的嵌入式软件或是产品时,大部分系统都很复杂,不但功能规格很多,还必须考虑例如价格、性能等其他因素,否则很容易做出一个失败的系统或是产品。因此,在进行系统开发之前,必须先了解一些系统设计技术,使得在开发过程中更为顺利。一般来说,产品设计的过程会经历几个步骤,为了确保这些步骤的合理性,我们需要一个设计方法论来面对整个设计过程。采用方法论有以下三个重要理由。

确认所做的每一件事情都是必须要做的,不做无谓的工作,也不漏掉关键性的重要工作,其中包含性能最佳化或是功能测试。

根据设计方法论可以发展出计算机辅助工具或是设计经验累积,汲取每一次产品开发的经验。再经过量化之后,可以发展出一套工具或是方法,让往后的产品设计步入自动化。

开发团队遵循同一套方法论,可以让团队成员更容易彼此沟通。每个人都能在短时间内了解整体过程中将经历哪些过程,需要何种支持与接收到何种结果。此外,也容易通过一套已经定义好的方法论,彼此相互合作协调。设计过程的目标是做出有一定用途且具有创新点的产品。产品的典型规格包含功能性、制造成本、性能表现、省电考虑和其他特性。

篇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

0引言

随着信息技术的飞速发展,软件产品的规模和复杂度随之增加,传统作坊式的开发方式逐步被以项目组为单位的协作式开发方式所取代,这就必然涉及到对软件项目的管理.实践表明,一个软件项目的成败,不在于其项目组的技术人员的技术水平,而在于是否采用的合适的管理:.好的管理方式不一定能使项目完全成功,但是一个不合适的管理模式往往会导致软件项目的失败.

1软件项目管理的特殊性

所谓项目,就是在特定条t"ae下,具有特定目标的一次性任务,是在一定时间内,满足一系列特定目标的多项相关工作的总称.项目具有一次性、独特性、目标的确定性、组织的临时性和开放性以及成果的不可挽回性等基本属性.

项目管理是指“在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期望.”这一定义不仅仅是强调使用专门的知识和技能,还强调项目管理中各参与人的重要性.项目经理不仅仅要努力实现项目的范围、时间、成功和质量等目标,还必须协调整个项目过程,满足项目参与者及其他利益相关者的需要和期望.

软件项目管理和其他的项目管理相比有相当的特殊性.首先,软件的整个过程都是设计过程,不需要大量的物质资源,而主要是人力资源,软件开发的产品以程序代码和技术文档为主,并没有其他的物质成果;其次,软件是纯知识产品,其开发进度和质量很难估H-和度量,生产效率也难以预测和保证.软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制.因此,软件项目管理和其他项目管理相比,有很大的独特性.

2软件项目管理的内容

软件项目管理是一种科学的管理手段,它是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、~x-2,险等进行分析和管理的活动.管理的范围涉及人员的组织与管理、软件度量、项目计划、风险管理、质量保证、过程能力配置管理等几个方面,这几个方面都是贯穿、交织于整个软件开发过程中的.从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段.不论是作坊式开发,还是团队协作式开发,这六阶段都是不可缺少的.从用户的角度来看,软件项目的生命周期应该包括项目前期的论证工作、项目计划、软件开发、运行、维护及项目评价.由此可见,软件项目管理的范围不包括传统的软件开发过程,还应该包括开发前的准备工作以及运行中的维护工作和对项目的总结工作.根据PMBOK(项目管理知识体系ProjectManagementBodyofKnowledge,简称PMBOK)中的定义,软件项目管理可以分为以下几个方面:

2.1集成管理:项目计划制定、项目计划实施、集成变更控制等.

2.2范围管理:制定范围计划编制、范围定义核实、变更控制、任务协调等.

2.3时间管理:项目任务分解、进度计划编制、任务持续时间估算、进度计划控制等.

2.4成本管理:资源计划编制、成本估算、成本预算和控制等.

2.5质量管理:项目质量计划编制、软件质量保证、软件质量控制、软件过程改进等.

2.6人力资源管理:组织的计划编制、人员职责的分配、团队合作发展等.

2.7沟通管理:建立沟通渠道、信息交换管理等.

2.8风险管理:项目风险识别、项目风险分析、项目风险优先分析、项目风险控制等.

2.9采购管理:采购计划编制、合同管理、合同收尾等.

在面的软件项目管理中,有几个关键因素,它影响着软件项目的成败,下面就这几4-关键因素进行一下探讨.

3软件项目管理的关键因素

3.1合理配置人力资源

众所周知,人是决定组织和项目成败的关键,也是影响软件93:发质量的最关键的因素,因此软件项目管理应该以人为本,有效管理人力资源,合理配置人力资源.应该根据项目组成员的组成结构情况,合理搭配,充分发挥每位成员的技术专长,做到人尽其能;组织组建好项目团队,培养团结一致的团队精神,规范良好的职业道德;建立健全完备的奖惩制度,落实权利责任制度,做到权责明确,并在项目进程能及时化解各种人事冲突,营造良好的团队协作环境.

3.2顺畅有效的沟通管理

开发软件项目是一项知识性极强的工作,对人的依赖性比其它行业更为突出,因此加强人员之间的有效沟通,实现顺畅有效的沟通管理是软件项目成功的另一个关键因素.沟通管理是一个收集、存储、配置和项目生命周期内所形成的各种信息的过程.它把成功所必须的因素——人、想法和信息之间提供了一个关键连接.对于项目来说,要科学地组织、指挥、协调和控制项目的实施过程,就必须进行信息沟通.这里的沟通包括两个方面,一个方面是软件项目组开发人员与用户的沟通,另一方面则是软件项目组内人员的沟通.前者是做好软件需求分析所必须的;而后者则有助于组内成员的彼此交流,减少理解错位,实现信息畅通,改善人际关系,化解可能的冲突,加快项目的进度.沟通的方式是多样的,可以采用常用的项目组例会方式,可以通过面谈彼此交换意见;也可以利用方便快捷的通讯工具如电话、EMAIL、传真等方式加强信息的沟通;总之,顺畅有效的信息沟通,可以取得彼此的理解,剔除项目进度中的“BUG”,有利于项目按计划顺利开展.

3.3正确可靠的软件需求

软件需求是软件项目的根本所在,需求不明确,软件项目开发范围不确定,项目开发就会失去方向,容易造成开发的产品和用户实际的需求“南辕北辙“,最终导致项目的失败.一个可靠的需求,也是项目管理的关键因素之一.软件需求应当是项目有关的人员一致同意的、清楚的、完整的、详细的、可实现的和可测试的需求的确定,开发人员应该反复和用户进行沟通,认真听取用户的意见,及时归档记录,并适时发掘用户的潜在需求,最大限度地满足用户的目标,开发出用户最理想的产品.最后应拿出开发人员和用户一致认可的软件需求说明书,并加以确认.在项目开始以后,应该尽最大可能不更改需求,要与用户进行很好地沟通,以确保开发212作能按照需求进行,减少需求变更带来的风险!因此,正确可靠的软件需求也是项目成功的重要保障.

3.4周密可行的项目计划.

“凡事预则立,不预则废.”软件项目实施过程中,还必须有一个周密可行的项目计划.软件项目计划的目的是为完成软件工程和管理软件项目而制定的合理的计划,它包括以下步骤:估计软件产品规模及所需的资源,制定表,鉴别和评估软件风险和协商约定,而且要标志出几个阶段性的里程碑,这些都是极为关键的.软件项目开发组来说,一个可行的计划的重要性是不言而喻的.在实际发中,:计划的重视程度不够,计划过于笼统、粗糙导致可执行性差,再加上一些人为因素的影响,必然会产生一些反面的影响,或者有了周密可行的计划不严格遵守计划执行,任意变更,都将产生严重的负面影响,有时甚至是灾难性的影响.因此,要想成功进行项目管理,就要对高度重视、周密制定、严格执行.只有严格进行计划才能使成功项目管理得以实施.

3.5健全完备的文档资料

软件项目的文档作为软件产品的主要形式之一,集中体现了软件人员的劳动成果,在整个软件生存周期中占据重要位置.特别是在开发过程中需求发生了变更的情况下,健全完备的文档资料的重要作用就充yJ-~:现出来,开发人员可以及时在文档中回溯,快速锁定问题所在,及时解决问题避免软件项目延期,减少项目.此外,健全完备的档资料在项目接近尾声时也便于软件的测试与后期的维护工作,在项目结尾时,健全完备的文档资料也为人员的培训和项目的再开发发挥重要作用,因健全完备的文档资料也是软件项目成功的重要因素,在项目管理过程中应该高度重视.

3.6严格的风险管理

篇4

3.软件开发方法的创新发展过程研究

4.基于Java语言的安卓手机软件开发

5.软件开发的风险分析与控制

6.软件开发过程模型的发展

7.需求工程对于软件开发的重要性

8.软件复用技术及其在软件开发中的应用

9.试论VB编程语言在软件开发中的应用

10.软件开发的风险分析与控制

11.分析软件开发中数据库设计理论的实践

12.基于WBS-RBS的软件开发风险识别与控制

13.敏捷软件开发的双迭代模型

14.基于MATLAB的汽车制动系统设计与分析软件开发

15.软件开发劳动计量方法与软件成本估算

16.基于计算机软件开发的JAVA编程语言分析

17.一种以软件体系结构为中心的网构软件开发方法

18.基于构件的软件开发的方法与实践

19.ABC:基于体系结构、面向构件的软件开发方法

20.面向软件开发信息库的数据挖掘综述

21.浅谈三层架构在软件开发中的应用

22.使用开源软件进行软件开发的风险分析

23.汽车电子控制单元软件开发模式研究

24.软件开发与层次化思维方式

25.SQA规范对于教育软件开发的启示

26.基于证据理论的软件开发风险评估方法

27.软件开发人员绩效管理中的问题及对策

28.敏捷型软件开发方法与极限编程概述

29.信息化软件开发项目经理绩效考评研究

30.基于“众包”的软件开发模式

31.软件开发模型研究综述

32.支持第四代语言的并行进化式软件开发模型CESD

33.光滑粒子动力学核心算法与软件开发中的关键问题

34.面向重用的软件开发价值链

35.基于MVC模式的应用软件开发框架研究

36.支持模型驱动式软件开发的建模语言框架研究

37.3G智能终端软件开发实验教学改革的思考

38.软件开发国际合作模式研究

39.地理信息系统专业学生GIS软件开发能力的培养

40.有色Petri网在软件开发中的应用

41.浅谈软件开发的成本核算

42.一种高效率的软件开发方法——以用户为中心的软件开发方法(UCD)

43.软件开发成本估算技术综述

44.基坑双排桩支护结构设计计算软件开发及应用

45.软件构架设计在软件开发中的意义

46.面向软件开发信息库的数据挖掘综述

47.谈软件开发中的需求分析

48.浅谈插件化软件开发

49.计算机软件技术在植保软件开发中的应用

50.Onboard:以数据驱动的敏捷软件开发协同工具  

51.软件开发综合能力培养的案例教学

52.软件配置管理在软件开发平台中的应用

53.软件开发成本估算模型的研究

54.软件开发绩效评价指标体系的构建

55.浅谈计算机软件开发技术的应用研究与趋势

56.军用软件开发工程化质量管理研究

57.计算机软件开发中的分层技术探讨

58.基于学生软件开发团队的沟通机制研究

59.项目管理在软件开发中的应用

60.面向农业软件开发的构件库研究与实现

61.搭建式GIS软件开发及其对软件工程的影响

62.软件开发过程中的质量管理探析

63.软件开发本体构建与模块化的应用研究

64.基于CDIO的高职软件开发专业课程体系设计

65.典型建筑火灾风险评估体系及其软件开发

66.有效的软件开发项目风险管理模型

67.框架技术在软件开发中的研究与实践

68.浅论新时期计算机软件开发技术的应用及发展趋势

69.基于软构件的软件开发框架研究

70.面向软件开发信息库的数据挖掘综述

71.模型驱动的软件开发模式研究

72.以《数据结构》为核心的软件开发课程群建设

73.护理信息网络化管理的研究与软件开发

74.分层技术在计算机软件开发中的应用

75.软件开发生命周期法比较之敏捷与传统

76.基于虚拟硬件在环的控制软件开发

77.项目管理在软件开发中的应用分析

78.项目管理在软件开发中的应用研究

79.软件开发中的设计原则

80.基于学习遗忘作用的人员调度实验设计及其软件开发

81.基于网络的可信软件大规模协同开发与演化

82.华池油田结垢预测及软件开发

83.探析计算机软件开发的规范化

84.软件开发自动化平台的研究与应用

85.架构和面向对象技术在PLC软件开发中的应用

86.国外XBRL软件开发技术比较及启示

87.企业软件开发标准化探讨

88.智能手机操作系统及其Google Android上的软件开发

89.浅析软件测试在软件开发中的重要意义——从软件功能测试的作用谈起

90.软件开发方法及其应用

91.使用嵌入式Linux操作系统进行软件开发的特点及优势

92.基于VB中MSComm控件的通信软件开发与实现

93.软件开发管理中的沟通与协调问题研究

94.基于Java语言的安卓软件开发的研究

95.关于计算机软件开发语言的研究

96.新时期计算机软件开发技术的应用研究

97.培养大学生软件开发创新能力的探索与实践

篇5

1)管理端软件功能。管理端软件设计有“校验任务管理”、“文档管理”、“校验历史调阅”与“相关信息配置”四大类功能,下图3所示为管理端软件的功能设置图。管理端软件界面从左到右分别为基本信息录入栏、功能按钮区和待检验任务列表栏三个区域,界面简洁,功能按钮作用一目了然,软件的使用非常简便。下图4为管理端软件主界面设计。2)测试端软件功能设计。测试端软件整合了接收待检验任务、检验测试、数据上传、服务器数据库配置、检验仪器设置等功能,软件的核心是实现检测数据的自动识别与保存,并将测试数据与检验结论上传至服务器上的SQLServer数据库中。测试端软件界面风格和特点与管理端基本一致,其主界面见下图6所示。选中即将要实施的检验任务,其参数将显示在左面的基本信息栏中,如果信息中有差错,检验人员可以现场进行修改。在对基本信息核对无误后,点击“开始校验”按钮,将进入下图7所示的测试界面。测试数据与结论将自动保存到本机后台的Accesss数据库中,在网络环境下,点击“数据上传”(见图6),所有检验结束任务的测试数据与检验结论将通过网络写入服务器上的SQLServer数据库中。点击管理端软件上“文档管理”(见图4)按钮,将弹出下图8所示界面。在文档管理功能模块中,可以预览限速器检验报告与检验原始记录,并能够直接输出打印。检验报告可以通过网络进入审核和签发流程,检验报告中的检验员、报告审核与审批人员均使用电子签名签署检验报告。

篇6

<一>什么是计算科学和它的来历

计算科学主要是对描述和变换信息的算法过程,包括其理论、分析、设计、效率分析、实现和应用的系统研究。全部计算科学的基本问题是,什么能(有效的)自动运行,什么不能(有效的)自动运行。本科学来源于对数理逻辑、计算模型、算法理论、自动计算机器的研究,形成于20世纪30年代的后期。

随着存储程序式通用电子计算机在上世纪40年代的诞生,人类使用自动计算装置代替人的人工计算和手工劳动的梦想成为现实。计算科学的快速发展以也取得大量成果,计算科学这一学科也也应运而生。

<二>计算科学的发展

a、首先先介绍图灵机

图灵机的发明打开了现代计算机的大门和发展之路。图灵机通过一条两端可无限延长的袋子,一个读写头和一组控制读写头的(控制器)组成它有一个状态集和符号集,而此符号集一般只使用0和1两个符号。而就是这个简洁的结构和运行原理隐含了存储程序的原始思想,深刻的揭示了现代通用电子数字计算机的核心内容。现在通用的计算机是电子数字计算机,而电子数字计算机的发展是建立在图灵机的基础之上。他的二进制思想使计算机的制作的简化成只需两个稳定态的元器件。这在今后的计算机制作上无论是二极管或集成电路上都显示了明显的优越性。

b、计算机带动的计算学科

1946年随着现代意义上的电子数字计算机ENIAC的诞生。掀起了社会快速发展的崭新一页。计算机工作和运行就摆在了人们的面前。

1、计算机语言

我们要用计算机求解一个问题,必须事先编好程序。因此就出现了最早的机器指令和汇编语言。20世纪50年代后,计算机的发展步入了实用化的阶段。然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的程序设计语言。1952年,第一个程序设计语言ShortCode出现。两年后,Fortran问世。作为一种面向科学计算的高级程序设计语言,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。Algol60的诞生是计算机语言的研究成为一门科学的标志。该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。还有用于支持结构化程序设计的PASCAL语言,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的LISP语言,支持面积对象程序变换的SMALLTALK、C等。

2、计算机系统和软件开发方法

现代意义上的计算机绝不是一个简单的计算机了而也包括了软件(系统软件、应用软件)。各种各样的软件使得计算机的用途大大增强。而软件开发也成为了一个重要课题和发展方向。软件开发的理论基础即是计算模型。随着计算机网络、分布式处理和多媒体的发展。在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持计算机图形学程序设计在程序设计语言中已非常的流行。之后,在模数/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。进入20世纪90年代之后,并行计算机和分布式大规模异质计算机网络的发展又将并行程序设计语言、并行编译程序、并行操作系统、并行与分布式数据库系统等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础----计算模型

3、计算机图形学

在计算机的硬件的迅速发展中。随着它的存储容量的增大,也掀起了计算机的巨大改革。计算机图形学、图像处理技术的发展,促使图形化界面的出现。计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。图形化界面的出现,彻底改变了在一个黑色的DOS窗口前敲代码输入控制命令的时代。同时也成就了一个伟大的公司Microsoft。

4、计算机网络

随着用户迫切需要实现不同计算机上的软硬件和信息资源共享。网络就在我们的需求中诞生了。网络的发展和信息资源的交换使每台计算都变成了网络计算机。这也促进计算机的发展和广泛应用。

<三>计算机学科的主线及发展方向

围绕着学科基本问题而展开的大量具体研究,形成学科发展的主流方向与学科发展主线和学科自身的知识组织结构。计算学科内容按照基础理论、基本开发技术、应用以及他们与硬件设备联系的紧密程度分成三个层面:

1、计算科学应用层

它包括人工智能应用与系统,信息、管理与决策系统,移动计算,计划可视化,科学计算机等计算机应用的各个方向。

2、计算科学的专业基础层

它是为应用层提供技术和环境的一个层面,包括软件开发方法学,计算机网络与通信技术,程序设计科学,计算机体系结构、电子计算机系统基础。

3、计算科学的基础层

它包括计算科学的数学理论,高等逻辑等内容。其中计算的数学理论涵盖可计算性与计算复杂性理论形式语言与计算机理论等。

<四>计算机的网络的发展及网络安全

(1)计算机网络与病毒

一个现代计算机被定义为包含存储器、处理器、功能部件、互联网络、汇编程序、编译程序、操作系统、外部设备、通信通道等内容的系统。

通过上面定义,我们发现互联网络也被加入到计算机当中。说明了网络的重要以及普及性。21世纪是信息时代。信息已成为一种重要的战略资。信息科学成为最活跃的领域之一,信息技术改变着人们的生活方式。现在互联网络已经广泛应用于科研、教育、企业生产、与经营管理、信息服务等各个方面。全世界的互联网Internet正在爆炸性的扩大,已经成为覆盖全球的信息基础设施之一。

因为互联网的快速发展与应用,我们各行各业都在使用计算机。信息安全也显得格外重要。而随着计算机网络的发展,计算机网络系统的安全受到严重的挑战,来自计算机病毒和黑客的攻击及其他方面的威胁也越来越大。其中计算机病毒更是很难根治的主要威胁之一。计算机病毒给我们带来的负面影响和损失是刻骨铭心的,譬如1999年爆发的CIH病毒以及2003年元月的蠕虫王病毒等都给广大用户带来巨大的损失。

我们想更好的让计算机为我们服务,我们就必须很好的利用它,利用网络。同时我们也应该建立起自己的防护措施,以抵抗外来信息的侵入,保护我们的信息不受攻击和破坏。

(2)计算机病毒及它的防范措施:

计算机病毒是一组通过复制自身来感染其它软件的程序。当程序运行时,嵌入的病毒也随之运行并感染其它程序。一些病毒不带有恶意攻击性编码,但更多的病毒携带毒码,一旦被事先设定好的环境激发,即可感染和破坏。

<一>、病毒的入侵方式

1.无线电方式。主要是通过无线电把病毒码发射到对方电子系统中。此方式是计算机病毒注入的最佳方式,同时技术难度也最大。可能的途径有:①直接向对方电子系统的无线电接收器或设备发射,使接收器对其进行处理并把病毒传染到目标机上。②冒充合法无线传输数据。根据得到的或使用标准的无线电传输协议和数据格式,发射病毒码,使之能够混在合法传输信号中,进入接收器,进而进人信息网络。③寻找对方信息系统保护最差的地方进行病毒注放。通过对方未保护的数据链路,将病毒传染到被保护的链路或目标中。

2.“固化”式方法。即把病毒事先存放在硬件(如芯片)和软件中,然后把此硬件和软件直接或间接交付给对方,使病毒直接传染给对方电子系统,在需要时将其激活,达到攻击目的。这种攻击方法十分隐蔽,即使芯片或组件被彻底检查,也很难保证其没有其他特殊功能。目前,我国很多计算机组件依赖进口,困此,很容易受到芯片的攻击。

3.后门攻击方式。后门,是计算机安全系统中的一个小洞,由软件设计师或维护人发明,允许知道其存在的人绕过正常安全防护措施进入系统。攻击后门的形式有许多种,如控制电磁脉冲可将病毒注入目标系统。计算机入侵者就常通过后门进行攻击,如目前普遍使用的WINDOWS98,就存在这样的后门。

4.数据控制链侵入方式。随着因特网技术的广泛应用,使计算机病毒通过计算机系统的数据控制链侵入成为可能。使用远程修改技术,可以很容易地改变数据控制链的正常路径。

<二>病毒攻击的防范的对策

1.建立有效的计算机病毒防护体系。有效的计算机病毒防护体系应包括多个防护层。一是访问控制层;二是病毒检测层;三是病毒遏制层;四是病毒清除层;五是系统恢复层;六是应急计划层。上述六层计算机防护体系,须有有效的硬件和软件技术的支持,如安全设计及规范操作。

2.严把收硬件安全关。国家的机密信息系统所用设备和系列产品,应建立自己的生产企业,实现计算机的国产化、系列化;对引进的计算机系统要在进行安全性检查后才能启用,以预防和限制计算机病毒伺机入侵。

3.防止电磁辐射和电磁泄露。采取电磁屏蔽的方法,阻断电磁波辐射,这样,不仅可以达到防止计算机信息泄露的目的,而且可以防止“电磁辐射式”病毒的攻击。

4.加强计算机应急反应分队建设。应成立自动化系统安全支援分队,以解决计算机防御性的有关问题。

很多公司都有因为电脑被入侵而遭受严重经济损失的惨痛经历,不少普通用户也未能避免电脑被破坏的厄运,造成如此大损失的并不一定都是技术高超的入侵者所为,小小的字符串带给我们的损失已经太多。因此,如果你是数据库程序开发人员、如果你是系统级应用程序开发人员、如果你是高级计算机用户、如果你是论坛管理人员......请密切注意有关字符漏洞以及其他各类漏洞的最新消息及其补丁,及时在你的程序中写入防范最新字符漏洞攻击的安全检查代码并为你的系统安装最新的补丁会让你远离字符带来的危险。经常杀毒,注意外来设备在计算机上的使用和计算机对外网的链接。也可以大大有效的避免计算机被攻击。

<五>总结

在学了计算科学导论之后,让我更深入的了解了我将来要从事的学科。计算科学导论指导着我们该怎么学习计算机。让我更清楚的知道我们信息安全专业的方向。正如计算科学这座大楼一样,在不断的成长。信息安全也必将随着网络的进一步发展而更多的被人们重视。总之学习了这门课之后让我受益匪浅,也知道自己应该好好努力,争取在自己的专业领域上有所成就。

参考文献:

1、《计算科学导论》(第三版),赵志琢著,科学出版社2004版

篇7

2.1各过程域的完善

软件过程成熟度直接影响到软件开发质量,基于CMMI的软件开发质量管理体系的构建,其首要环节就是要对各过程域进行改进和完善,针对需求管理过程域存在的需求分析难以实现双向追朔而引发的缺陷难以显露的问题,应对需求的记录方式做出改进,设定改进的幅度和目标,通过建立多层分级的需求体系,使所有的需求都使用一个编号,使用专门的需求管理工具来实现,提高需求满意度,使质量开发风险得到有效控制;针对过程域存在的评审质量不高、文档缺陷密度较低的问题,应保证缺陷密度能够在基线控制范围内正常波动,不应低于中值,可在正式评审前增设预审流程,再有就是通过邮件讨论或直接使用工具,在此推荐使用DOORS工具的CPS功能,有助于保证信息数据的完整性,提高文档评审质量;针对确认过程域存在的UT不充分的CR所占比例过高、缺陷排除率较低的问题,应通过可持续集成将零散的测试用例整合起来,改进用例编写,对产品代码实施持续测试,提高用例覆盖率和检查标准的可靠性;此外,还应将定量管理过程域引入质量管理体系中,建立组织级度量模式,对所有过程建立相应的度量方式,明确度量指标,确保整个体系处于一个循环改进的过程中[3]。

2.2体系的实施策略

基于CMMI的软件开发质量管理体系,将活动及相关资源作为过程进行管理,能够有效实现预期效果,该体系主要包括三项内容,即以客户为中心、领导作用、全员参与、管理系统方法、过程处理方法、决策方法、持续改进和供方互利。在实施过程中,软件开发能力成熟度集中体现在软件项目开发和执行人员的整体能力上,除了团队能力外,软件开发过程中的控制能力和改进能力,软件开发质量管理的核心内容就是对这些能力进行改善,任一阶段、任一环节的优化都是在既有目标基础上做出的改进,进而使绩效得以提高,因此应对目标进行有效管理,具体来讲,可通过领导的决策支持、确认质量改进目的、选择最佳执行方案和重视员工培训等四个方面来保证质量管理体系的有效实施。

篇8

(一)低碳治理与碳审计的关系

构建全面综合的碳审计机制,首先分析碳审计在整个低碳治理系统中发挥的关键作用,作为机制构建的理论来源。低碳治理是一个复杂的系统,碳审计作为该治理系统中的免疫子系统,具有建设性、预防性和抵御性三大功能。政府、市场和企业在低碳治理系统中发挥着各自的作用:政府通过碳配额和碳税等宏观治理方式,调控低碳经济的运行;碳市场通过碳交易、碳定价和碳中和等市场治理方式,实现低碳资源的优化配置;企业通过对其碳交易或事项进行碳核算和碳信息披露等公司治理方式,公允反映其碳交易的实质。碳定价、碳中和是否真实、公允和有效率,需要内外部审计评价和鉴证,企业的碳核算和碳披露是否公允和充分,需要外部审计的鉴证。碳审计是集财政财务审计、法纪和绩效审计、制度符合性审计于一体的综合性审计,同时,碳审计也是会计核算审计和社会责任审计[7]。基于审计的国家治理和审计免疫系统理论,碳排放治理需要审计的监督与支持,而碳审计起着预防、抵御的作用,有助于低碳排放的顺利实现。

(二)碳审计机制的构建机理

基于上述对低碳治理与碳审计关系的理论分析,构建碳审计机制为F={S,T,U},如图1所示。其中,S———基于碳排放治理的审计目标,T———基于碳排放治理的审计路径,U———基于碳排放治理的审计信息与传递。审计的基本职能是监督、评价和鉴证,低碳治理中的审计机制,是一个由多元审计主体、多层次审计体系构成的审计制度安排。该审计机制从低碳治理主体需求角度出发,把碳审计目标及其实现机制、审计信息作为一个系统进行研究[8]。1.碳审计机制的目标。碳审计机制的目标(S)是通过审计监督,促进低碳政策、低碳经济杠杆、低碳技术的合理、有效应用。2.碳审计路径及其信息化。碳审计路径(T)是在已有审计机制的基础上实现审计目标的具体措施,是审计主体采取的审计程序和行为,涉及治理主体的审计权与审计能力、外部审计的独立性、治理主体与内部审计之间的沟通渠道等(叶陈刚、程新生,2006)[9]。碳审计路径的具体内容是:①低碳政策执行情况审计。②低碳资金去向的审计监督。③低碳经济行为和产品的审计认证。④碳社会责任审计。⑤碳绩效审计。结合现代信息技术,如开发专门的碳审计软件,是保障审计路径畅通的一个有效方式。低碳政策执行过程审计,首先是审查政策的目标在执行中是否存在偏差,其次是评价执行政策的方法是否可行和合理,最后是检查和评价执行政策的效果。对于低碳政策执行情况审计的信息化实现路径体现在后文的碳审计软件的“项目管理子系统”中的法律法规模块,加入了世界性组织有关碳审计的环境政策,运用该软件的审计师能查询到客户企业应遵循的对应的政策;同时,在“审计准备子系统”中的内控调查和内控测试部分都相应的涉及了有关低碳政策的执行情况与效果评价。低碳资金去向审计,从两个维度进行分析,首先是企业总的低碳资金(包括政府专项扶持资金和企业自身留用的低碳资金)在整体企业使用的不同方向,包括节能设备采购,节能技术改造,节能新产品推广,节能减排管理的能力建设等,审计相关数据的真实性,同时也包括了低碳经济行为和产品的审计认证。然后是企业开展各项目的碳资金分配,例如建筑企业的一般公共建筑项目,住宅小区项目,地下工程项目等,各项目还可具体到大型、中型、小型,审计各项目分配的碳资金使用的真实合理性。低碳资金去向审计的信息化实现路径体现在后文软件中的“审计实施子系统”中的“碳资金利用分析”部分。碳社会责任审计,其重点是审计企业是否设置低碳责任评价指标以及领导人的考评情况,是否落实碳社会责任的履行等。碳社会责任审计的信息化实现路径体现在后文软件中“审计准备子系统”的内控调查和内控测试部分,同时,在“审计实施子系统”中的“碳社会责任分析”部分也做出详细阐释,碳社会责任具体分为环保减排和低碳节能两大类,通过评分赋值体系审计企业碳社会责任的履行情况,进而审计领导人碳社会责任的履行力度。碳绩效审计,绩效审计是对被审计单位经营和管理活动的经济性、效率性、效果性、公平性和环境性(5E)进行监督、评价和鉴证,碳绩效审计重点关注经济性、效率性与环境性。碳绩效审计的信息化实现路径体现在后文软件中的“审计实施子系统”中的“碳成本效益分析”部分,再具体到经济效益指标和环境效益指标,评价被审计单位的碳成本效益水平。3.碳审计信息传递。低碳审计机制中的低碳审计信息传递(U)包括审计报告书、审计意见书、审计决定书等。信息是所有控制的前提,基于碳排放治理的审计信息主要是对碳会计信息的真实性、低碳治理效率等进行评估。碳审计目标(S)、碳审计路径(T)与碳审计信息传递(U)构成一个紧密联系的逻辑循环系统,首先制定碳审计目标,由目标导向具体的审计路径,信息传递又对主体进行反馈,以指导其修改完善目标。碳审计目标(S)明确、碳审计路径(T)通畅、审计信息传递(U)及时,对于公司低碳治理和公司管理具有重要意义。

三、碳审计软件的开发

在碳审计机制中,碳审计路径(T)是该机制的核心组成部分,将现代信息技术引入碳审计具体路径中,既有效保障该审计路径的畅通,又提高碳审计的效率,因此开发碳审计软件是碳审计信息化的关键。根据软件开发的基本思想以及开发的具体流程,对碳审计软件进行具体的开发。首先分析碳审计所需的特殊功能,再对软件进行需求分析,得出软件所需的基本功能。该软件的需求分析不仅包括了通用审计软件所要求的财务真实性方面的审计,还新增了碳合规性方面的审计,碳绩效性方面的审计。进而对软件进行总体设计,设计出软件所需的功能模块;分析软件各功能模块要完成的任务,制定出功能实现的算法或实现方案;依据详细设计的结果,使用开发工具进行编程和界面设计;制定有效的测试计划,进行测试,保障设计的有效性。本软件采用MicrosoftVisualStudio2010下VisualC#工具中.netframework4.0框架下的Windows应用程序进行设计,数据库采用MicrosoftSQLsever2008R2。先建立C/S三层架构:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。采用WinForm作为UI界面,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面;业务逻辑层是对数据层的操作,对数据业务逻辑处理;数据访问层主要是对原始数据的操作,具体为业务逻辑层或表示层提供数据服务。以及采用Windows应用程序中的类库以及自定义类实现具体的功能,如数据的读入,数据显示,编写代码完成数据处理等。通过对软件的需求分析、概要设计、总体设计后,对软件进行具体的实现。软件的界面如图2所示:碳审计软件系统主要包括项目管理、审计准备、审计实施、审计终结4个子系统。其中项目管理系统与通用审计软件无异,该子系统的法律法规模块部分,归纳整理了具有代表性的20余项世界性组织和各个国家出台的一系列有关低碳经济及碳审计的环境政策,用户可根据具体需要下载使用。本文就审计准备子系统,审计实施子系统,审计终结子系统中涉及到碳审计功能的部分(即相比于通用审计软件特殊功能的部分)作出具体的说明。

(一)审计准备系统

审计准备子系统添加的特殊的碳审计功能主要体现在内控调查部分,如图2所示。内控调查包括:控制环境低碳重视度、低碳目标实现风险、低碳控制活动(设备采购是否积极落实节能产品采购实施意见、是否落实碳社会责任的履行等)、低碳信息披露(碳账户是否定期计算并披露和碳账户的披露是否全面)和对内控的监督(内部审计部门是否重视碳账户的审计)。调查结果按下面的计算方式评估(“是”———5分,“弱”———3分,“否”———1分,适用个数n):[调查结果分数和/(n×5)]≥0.6,则“可进行进一步内控测试”;[调查结果分数和/(n×5)]<0.6,则“不建议进行内控测试,而直接进入实质性测试”。若进行内控测试,测试目标包括:必须遵循低碳政策、只有经管理层批准的碳账户预算才能执行、定期做碳成本预算、只有合法的低碳资金使用申请才能够被执行、已发生的碳资金使用均已记录、碳资金的使用已记录于适当期间、碳资金的使用已准确记录、碳成本已经记录于适当期间、碳成本已经准确记录、定期披露低碳信息、全面披露低碳信息、在产品或服务中体现低碳价值以实现其碳社会责任的履行、认真落实节能产品采购实施意见与内部审计部门重视碳账户的审计。对于每一项测试目标,首先看该企业是否适用;若适用,再看运行效果(有效、较弱和无效);最后是风险评估(高、中和低)。测试结果按下面的计算方式评估(“风险评估”,“高”———5分,“中”———3分,“低”———1分,适用个数n):[调查结果分数和/(n×5)]≥0.6,则“综合风险高”;[调查结果分数和/(n×5)]<0.6,则“综合风险低”。如果“综合风险高”,即重大错报风险大,需要的审计证据多,注册会计师越要通过实施审计程序降低检查风险,以确保已审计的碳信息出现错报和漏报的可能性不超过预先确定的审计风险。反之同理。

(二)审计实施系统

审计实施子系统包含三个部分“账证查询”、“财务报表”和“碳账户核算与分析”。其中“账证查询”包括“科目余额表”、“分类明细账”、“凭证快速查询”等功能;“财务报表”包括“资产负债表”、“利润表”和“碳披露附注表”;“碳账户核算与分析”包括“碳账户核算”(主要是CO2当量的计算)、“碳资金利用分析”、“碳成本效益分析”和“碳社会责任分析”。碳账户核算,采用由英国标准协会2008年10月的《PAS2050∶2008商品和服务在生命周期内的温室气体排放评价规范》的规定,首先将初级和次级活动水平数据换算为GHG排放量,即活动水平数据乘以其排放因子;再将GHG排放量换算为CO2当量,即CO2当量=GHG排放量×相应的GWP值(全球变暖潜能值)。运用该方法核定企业CO2当量的核算是否准确,作为后续的“碳成本效益分析”和“碳社会责任分析”中涉及到的CO2排放数据的基础。“碳资金利用分析”、“碳成本效益分析”和“碳社会责任分析”是该碳审计软件的核心组成部分,也是区别于通用审计软件的关键,结合上述碳审计机制中的碳审计路径的阐述,分属于低碳资金去向的审计监督与低碳经济行为和产品的审计认证、碳绩效审计和碳社会责任审计。1.碳资金利用分析运用饼状图的分析工具呈现总的低碳资金在整体企业使用的不同方向,包括节能设备采购,节能技术改造,节能新产品推广,节能减排管理的能力建设等,审计相关数据的真实性。运用条形图的形式呈现企业开展各项目的碳资金分配,例如建筑企业的一般公共建筑项目,住宅小区项目,地下工程项目等,各项目还可具体到大型、中型、小型,审计各项目分配的碳资金使用的真实合理性。2.碳成本效益分析首先从财务报表中采集“经济效益指标”和“环境效益指标”的相关数据,如表1所示。再使用二级模糊综合评价法,得出企业的碳成本效益综合得分(李卉,2010)[10]。二级模糊综合评价法评价包括以下五个步骤:(1)确定评价指标因素集;(2)确定评价指标的评价集;(3)确定各指标层权重;(4)一级模糊综合评判;(5)二级模糊综合评判。3.碳社会责任分析依据杭州市企业社会责任评价体系中关于环境责任的评分部分,环保减排和低碳节能两大类,各占150分,如表2所示。其中最后一项的分数为后文JZ案例的评分。

(三)审计终结系统

审计终结子系统分为“审计工作底稿”和“审计报告”两部分。对于审计发现的问题,生成审计工作底稿,形成初步的审计结论。底稿编制涵盖了从审计准备,审计实施到审计终结的全过程。其中,审计实施中的“内部控制测试”和“实质性测试”涉及到碳审计的相关内容。“内部控制测试”直接生成上述“审计准备”系统中的内部控制测试表。“实质性测试”直接生成相应的表格,分为四个层面:①碳排放权交易(包含企业碳排放量层面和碳排放权层面,其中企业碳排放量层面包括企业碳排放量明细表、企业碳排放量审定表和企业碳排放量公允价值复核表;碳排放权层面包括碳排放权交易明细表、碳排放权交易审定表和碳排放权交易公允价值复核表);②碳排放成本(包含碳排放成本明细表、碳排放成本审定表、碳排放成本与上年度比较分析表、主要项目碳排放成本分析表、碳排放成本抽查表和碳排放成本重大调整事项核查表);③碳税(包含碳税测算表、碳税审定表和碳税检查情况表);④超额排放罚款(包含超额排放罚款明细表、超额排放罚款情况表和超额排放罚款审定表)。“审计报告”具有标准无保留意见、保留意见、无法表示意见和否定意见四种类型的模板,根据被审计单位的具体情况,直接生成相应的碳审计报告。

四、案例分析

我们将开发的上述软件在杭州市JZ企业进行实际的碳审计实践,我们只针对碳审计过程进行详细的说明。该公司碳审计相关的原始数据(2013年)为:固定资产205720.40万元(其中环境资产119.07万元),营业成本6002198.35万元(其中环境成本167251.26万元),环境收益2558.94万元,低碳专项资金264.60万元(其中节能设备采购119.07万元,节能技术改造79.38万元,节能新产品推广39.69万元,节能减排管理能力建设26.46万元),销售额6810479.90万元,净利润293334.65万元,原料耗用总量4501648.76万元,产品绿色原料耗用量244889.69万元,二氧化碳排放量1498.00吨,物料总消耗量28618.70吨,循环利用物料量16238.25吨,工业增加值582352.94万元,综合能耗990000.00吨标准煤,单位增加值能耗1.70吨标准煤/万元。

(一)审计准备阶段

低碳相关的内控调查得分0.92,可进行内控测试,控制测试得分0.57,综合风险低。说明内控有效,控制风险低,导致重大错报风险减小,错报风险越小,可接受的检查风险水平增大,审计程序可以适当减少,降低审计成本。

(二)审计实施阶段

1.碳资金利用分析软件运用饼状图的形式呈现总的低碳资金在企业使用的不同方向所占比例,包括节能设备采购(45%),节能技术改造(30%),节能新产品推广(15%),节能减排管理的能力建设(10%)。运用条形图的形式呈现企业开展各项目的碳资金分配,包括建筑企业的一般公共建筑项目(大型38.10万元、中型29.64万元、小型16.93万元),住宅小区项目(大型47.63万元、中型37.04万元、小型21.17万元),地下工程项目(大型33.34万元、中型25.93万元、小型14.82万元)。2.碳成本效益分析根据案例的原始数据,得出经济效益指标和环境效益指标相关数据,见表1。运用二级模糊综合评价法(本案例由5个专家进行评价),其原理与应用如表3所示。3.碳社会责任分析参照具体赋值标准,对环境责任的每一项进行评分,具体见上述表2碳社会责任评价体系中的最后一项,求和得出该企业的得分为190分,再根据社会责任等级分组:优[270,300],良[220,270),合格[180,220),基本合格[150,180),不合格[0,150)得出该企业的碳社会责任处于合格水平。

(三)审计终结阶段

工作底稿的“实质性测试”阶段填制“碳排放权交易”、“碳排放成本”、“碳税”和“超额排放罚款”的相应表格,编制整个审计过程的工作底稿,最终生成标准无保留意见的审计报告。我们认为该企业出具的可持续发展报告在所有重大方面按照环境法规规定编制,公允反映了该企业2013年12月31日的碳账户状况,以及碳资金利用、碳成本效益和管理层的碳社会责任的履行情况。对于碳审计机制在该企业中的具体运用如下:碳审计的目标是通过审计监督,促进该企业低碳治理;碳审计的路径是运用碳审计软件;审计信息传递以审计报告书的形式呈现,向社会公众传达出该企业低碳治理的情况及低碳社会责任的履行情况,同时也促进企业管理层及董事会进一步修改完善低碳治理的目标。

篇9

随着计算机技术的发展及广泛应用,暖通行业中计算机的使用也越来越广泛。计算机的使用不仅可以解决原来人工很难完成的任务,如精确的数值计算,环境参数模拟等,更重要的是它加快了设计者的工作效率,可以使工程师高效率高质量的完成设计工作。

目前计算机在暖通领域的应用主要有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中也有包含,如孤立一个层、显示所有层等。这些辅助操作使绘图过程更佳合理化,高效化。基本的暖通绘图命令应该包括风管绘制、风阀风口插入、水管绘制、管径标注、标号插入等。这其中包含的一些具体连接的处理方式一定要和现场施工保持一致。二次开发的初期一般不把风管,水管生成块,以追求修改的方便。辅助命令中的快速标注,可以方便地标出管道种类、标高、管径等。一些辅助绘图命令以可以是常用符号(即块)的插入等,如水管上下翻标记等图例符号的插入。

篇10

随着当今网络规模和性能迅速增长,Internet主干网络流量的指数性增长及新业务接连的出现,这就要求网络设备具有线速和智能的处理能力。网络处理器NP(NetworkProcessor)便是一种新兴、有效的统一解决方案。它适用于各层网络处理,具有ASIC高速处理性能和可编程特性,既能保证系统灵活性,又能完成线速处理数据包所要求的高性能硬件功能。目前,网络处理器已经涌现出了一些成功的应用范例。这些应用主要包括:基于网络处理器的路由交换设备、智能安全设备和入侵检测设备等。比如,北京联想使用IBM的PowerNP构成了电信级的防火墙设备。与此同时,围绕着网络处理器应用展开的相关研究也得到了飞速发展,一些企业和科研机构也给予了足够重视。例如,Intel专门投资支持全球100所大学进行网络处理器及其相关应用的研究。

由于网络处理器特殊的体系结构,它的软件编程模型与传统网络应用/嵌入式应用开发有较大不同,更为复杂。本文将以IntelIXP2400网络处理器为例,对网络处理器软件开发模型进行较为详细地探讨。

1网络处理器硬件架构

在一般程序设计中,可以不考虑操作系统和编译程序、线程调度的细节、寄存器的数量和容量,而在网络处理器的程序设计中,忽略这些因素就不能编写出优化的程序。在对网络处理器,尤其是微引擎编程之前,需要仔细了解网络处理器的系统结构和硬件平台。下面以Intel的IXP2400为例来说明。

IXP2400网络处理器是Intel在2002年推出的第二代互联网交换架构(IXA)网络处理器。其中,IXP2400是面向中高端应用的网络处理器,可用于实现OC-48的网络路由交换设备。

Intel的IXP2400网络处理器结构允分体现了SoC(SystemonChip)的思想。如图1所示,它的内部主要包括8个完全可编程的4线程微引擎(Mev2)和1个XScale核。此外,还有用于连接外部MAC设备的MSF单元、连接各种存储器和总线的接口单元等。这些单元通过内部的高速数据总线和控制总线彼些协作。

XScale核(core)是ARM系列处理器的一种,它在IXP2400中起控制和管理作用。具体包括:对系统初始化;提供系统的时钟;建立并管理路由表;提供一个对应于IXP2400各寄存器、存储器和外部存储器的地址映射表等。XScale核在系统启动时,从BootROM开始执行引导程序,对整个IXP2400系统进行初始化。

IXP2400中的每一个微引擎其它就是一个32位RISC处理器,可以由4个并行硬件线程共享。数据包的接收、处理和发送等任务,均由微引擎中的各线程并行执行微引擎指令存储区中的微代码程序来完成。网络处理器数据的高速转发正是因为充分利用了硬件的并行性,来弥补线速转发中的内存访问的延迟。

IXP2400嵌在开发板的中心,周围通过数据线连接着各种设备,如SRAM,SDRAM等。SDRMA主要用来存放需要处理和转发的数据包等,也作为XScale核的内存;SRAM主要存放对数据包包头进行处理所需的重要信息和数据包的队列描述等内容。通过IXP2400的数据单元是一个64字节的MAC包(MPKT),在每收到一个包的时候,MAC将一个数据分成若干个MPKT,MPKT就是网络处理器处理数据的单位。

综上所述,IXP2400拥有网络处理的一般特点,从系统角度看,IXP2400属于一个并行式的多算是器共享总线的计算机系统。对于网络处理器的程序设计和一般计算机的程序设计有很大不同。

2网络处理器软件开发模型

网络设备性能和可编程能力最终由运行在网络处理器平台上的软件决定,其中,选择何种编程模式是关键。评价网络处理器编程模式有两个基本准则:一个是编程模式所能涉及的层,即哪些功能能够编程以及编程能达到的层;另一个重要方面就是处理器衬淫的编程模型。由于网络处理器平台服务于软件功能需要,所以编程方法的关键是在不牺牲设备性能的前提下,使用成熟技术和现有软件模式,保证产品的可靠性,加快开发速度。

基于运行在核心处理器和协处理器的不同硬件之上,网络处理器可分成数据平面与控制平台。

数据平面主要运行在微引擎处理之上,是实现输入端口和输出端口间高速转发数据包的处理功能,具有线速执行特点,并充分利用数据包的无关性,采取并行处理方式。控制平面一般运行在网络处理器核上,处理路由表更新、管理数据平面任务与状态、完成高层的QoS控制等。这些操作的性能要求低于数据层面,因此通常采用高性能通用处理器硬件平台。为了有效支持网络处理功能,控制平面与数据平面之间存在复杂的信息交互与依赖关系。

IXP2400的软件开发也分为内核程序和微代码两部分。XScale内核的开发通常可以使用基于ARM平台嵌入式操作系统开发工具链,如WindRiver公司的Tornado或基于GNU的Linux工具链等;另一部分是对微引擎的编程,这部分使用Intel公司提供的DeveloperWorkbench开发环境,主要使用微代码来进行编程。DeveloperWorkbench提供了完善的编译、链接、仿真和调试功能。为了方便开发人员开发,消除平面之间通信等一些细节,Intel提供了它的网络处理器开发模型,称为IXA可移植框架(portabilityframework)如图2所示。

IntelIXA可移植框架中最重要的组成部分就是在微引擎上和XScale核上开发的代码模型。基于不同硬件上开发的代码模块分别为微模块(microblock)和核心组件(corecomponent)。每一个模块都代表了一个进行包处理的代码单元。这里实际上引入了构件的思想,开发人员将各种模块以一定的顺序组织在一起,组成一个特定的应用。下面分别对框架中的各个层次进行讨论。

(1)微模块

数据平面的微引擎在逻辑上分成一个或多个微模块(microblock)。每一个微模块都是一个宏或者一个微引擎或由Intel提供的一些底层库写成的函数。微模块之间彼此独立,这些就提高了代码的可重用性,同时也简化了微引擎手代码的编写。微引擎与IntelXScale核共享一部分内存,大部分网络包的处理都通过微引擎来进行,一些例外的包将传递给IntelXScale核心组件来处理。微模块从功能上一般包括与一些高层协议相关包的处理微模块和与硬件紧密相关的微模块。前者包括IPv4转发、网桥、网络地址转换(NAT)等;后者包括包的接收和发送模块及分组队列管理模块等。

(2)核心组件

核心组件(CoreComponent)运行在XScale核上,实现了相关微模块的配置、管理和例外处理等工作。一个核心组件可能管理着多于一个微模块。具体来讲,核心组件主要完成以下一些功能:配置微模块(通过引入变量的静态配置和控制模块的动态配置);初始化维护一些可能被其它应用程序修改的数据结构;提供了一个例外处理和控制消息处理机制来处理微模块发送过来的包和消息。

(3)微引擎数据平面优化库

微引擎数据平面优化库(optimizedmicroenginedataplanelibrary)包括一些底层的微引擎宏指令和用微引擎的特殊C语言写的函数库,用来编写微模块和一些微引擎的代码。这些为是经过Intel优化的,非常高效,代码的占用小,同时也是非常底层的。库主要包含三信方面:对处理器硬件单元的操作,比如对微引擎内部的本地内存(localmemory)、临界区(criticalsections)操作等;协议头的解析函数,如IPv4、IPv6协议等;哈希单元的查找,CRC等。

(4)微模块基本设施库

微模块基本设施库(microblocksinfrastructurelibrary)提供了访问暂存包描述符的API,DispatchLoop的实现是通过它来完成的。一个DispatchLoop将运行在一个微引擎内部线程之间的多个微模块组成一个microblock组。关键的地方是,DispatchLoop提供了一种多个微模块之间高效共享包的描述符、包头信息等重要数据结构的方式,实现了多个微模块间的数据传递。DispatchLoop也提供了向其它DispatchLoop也提供了向其它DispatchLoop和XScale核之间发送和接收包的接口。

(5)资源管理库

资源管理库(resourcemanagementlibrary)是XScale核的一个软件组件,它向内核提供了微引擎的API,比如硬件的资源管理接口,大大简化了硬件初始化的任务,配置和资源的共享;微模块与核心组件之间的通信API,开发者屏蔽了微引擎与XScale核之间通道的一些细节。

(6)核心组件基本设施库

核心组件基本设施库(corecomponentsinfrastructurelibrary)为XScale核心组件设计和构造提供了一些底层的API,同时也提供了组件之间传递包和消息的机制。其于核心组件基本设施库的一个核心组件一般都要包含以下函数:1个初始化函数;1个结束函数;1个或多个包的处理名句柄;1个或多个消息处理句柄。

(7)操作系统服务层

操作系统服务层(operatingsystemserviceslayer)对运行在XScale核上的代码提供了一个抽象层。开发人员编写的XScale核心运行代码包括资源管理库。应该利用这一层,而不是直接去利用操作系统提供的API,从而提高系统的可移植性。OSSL主要提供了以下几类接口:线程管理、同步原语、互斥操作、定时器、内存管理和消息日志。

(8)控制平面平台开发工具包

控制平面的PDK(PlatformDevelopmentKit)为XScale核心组件与运行控制平面的软件之间提供了接口。它所提供的API编程接口现在是符合国际网络处理器论坛(NPF)提出的标准的,各种控制平面的网络协议栈和用它可以很方便的集成进来。

3网络处理器应用实例

利用IntelIXA可移植框架来实现IntelIXP2400的一个简单路由转发系统。数据分组在IXP2400中的流动过程如下:以太网MAC器件接收数据,放入MSD单元的接收缓存当中,向微引擎发出信号,表示数据已经收到,微引擎将接收缓存中数据传输到SDRAM,微引擎通过对MSF总线单元的访问命令将前几个字节(分组头)传送到传输寄存器中,微引擎对分组的以太网头进行修改,而将数据分组写入发送队列,然后通知MSF单元将数据分组传送给适当的MAC器件。图3所示为典型路由器应用系统中的数据流。

在图3所示的处理转发结构中,每一个模块代表一个微模块。发送和接收模块和MSF硬件紧密相关。处理器芯片的MSF总线接口单元中有一对BUFFER,即输入BUFFER和输出BUFFER,分别用作接收和发送的缓冲区。开发者通过用这些相应的硬件寄存器,硬件设备可自动进行相应的转发处理。

图3

接收线程将自己的信息写入MSF的FREELIST单元控制豁口,其中包括了线程号、微引擎号与存放接收控制字(RSW)的寄存器地址,等待MSF的信号将数据从RBUFFER中移入SDRAM。发送微模块要选择并等待一个有效的TBUFFER,再将数据从SDRAM中移入TBUFFER,并写入相应的控制寄存器,标识分组要发送的端口,分组的发送由TSM硬件自动完成。

在中间处理包的各个模块中,代码首先从便存储器(SCRATCHPADMEMORY)中将接收线程放入的包信息取出,进行以太网头的有效性验证,根据IP头的信息查找路由表,将以太网头更新。其中每一个处理都是由一个微模块来实现的。各个模块合在一起构成了一个DispatchLoop,各个模块在便存储器中共享包描述符信息,其中dlNextBlock全局变量为下一个处理微模块的标识。DispatchLoop的部分代码如下(简略)。

while(1){

dl_source();//从接收线程取下包描述符

if(dlBufHandle==0){//dlBufHandle是Dispatch

//Loop维护的一个全局变量

continue;

}

Ethernet_validate();//验证这个包是一个有效的以太网头

Ethernet_strip_header();//去掉以太网头

Ipv4_five_tuple_class();//进行IPv4classifier的转发

If(dlNextBlock==IX_DROP){//clNextBlock也是全局变量,表示下一个

Gotodrop;//跳转到丢弃包的处理模块

}

Ethernet_add_header();//添加新的以太网头

D1_sink();//将处理后的包描述符放入发送缓冲区中

Drop:

Dl_BufDrop(dlBufHandle);//丢弃包的处理

}

IntelIXP2400开发平台中,微代码的源文件是*.uc格式的,经过预处理生成*.ucp的中间文件,进而进行汇编生成*.list汇编文件。微引擎程序的连接器将汇编程序的多个输出文件转变成一个可下载的微程序映像(image)。缺省情况下,连接器生成的微代码映像文件的扩展名为uof。连接器也可以生成C结构的程序格式,这样的输出文件与内核程序一起进行编译和连接。

Intel提供的资源管理库中,对微引擎部分的函数提供了接口,可以将uof文件当作Flash文件系统的一个普通文件进行处理。在内核代码初始化时,将uof文件读入内存,然后加载。但是如果要作成最终产品时,Intel推荐采用.c格式的文件,并直接链入到所开发的内核工程中。

4网络处理器软件开发的关键环节

基于网络处理器开发工作的重点是对数据平面代码的开发,开发者要在以下三个方面进行设计和代码优化:多线程的任务分配和调度策略;数据结构的定义和存储分配;分组队列的管理和调度。

(1)多线程的分配和调度策略

对微引擎和线程分配任务是否合理,是影响系统性能的一个很重要因素。开发人员需要根据具体的网络应用和硬件平台的特点来科学合理的分配任务。比如,对一个一般的网络应用来说,可以分为包的接收、处理、发送几个阶段。对于包的处理阶段来说,又可以分成多个阶段来执行,每一个阶段可以由一个微模块来执行。这多个微模块是如何在每个微引擎中分配,就是一个任务分配的问题。如果分配才能使负载尽可能的达到平衡,处理器的资源得到最大效率的利用,这些都要进行研究、分析和实验。

网络处理器微引擎基于硬件的静态多线程调度基础上,即在一个微引擎内部中的线程调度是由硬件来实现的,通常采用轮询的策略。不同策引擎的线程间存在多种通信方法,线程之间在数据包处理过程中的同步方式也有多种。因此,开发者根据具体不同应用功能特点,不同数据处理相关功能需求,对围绕处理器的多个微引擎的并行调度算法进行选择,以尽可能达到系统负载的平衡。

IntelIXP2400提出了三种网络处理器数据平面的多线程编程模型:流水模型(contextpipeline)、并行处理模型的顺序模式(orderedmode)和乱序的模式(unorderedmode)。在任务的分配方面,Intel正在考虑对现有的微引擎编程语言进行扩展,提出了新的微引擎自动分配任务的编程模型,以加快网络处理器软件开发的效率。

(2)数据结构的这义和存储分配

影响网络处理器线速转发的一个最关键问题是存储器的访问延迟。网络处理器中往往有多层不同的存储体(在IXP2400中,就存在寄存器、LocalMemory、ScratchpadMemory、SRAM、SDRAM等不同级别的存储器,它们的速度差别很大),不同层次的内存用于满足不同数据结构的需要。另一方面,定义在网络处理器中的数据结构是非常精密的,比如,一个包头的描述符(packetdescriptormetadata)。但同时也是非常庞大和复杂,比如包体的信息、路由表和队列管理的数据结构。举例来说,开发者在微引擎中定义多个线程共享的变量时,应最先考虑使用全局寄存器,但有时全局寄存器的容量有限,可以考虑LocalMemory。多微引擎共享的变量存放在SRAM中,而DispatchLoop变量存放在便(Scartchpad)中。不同数据结构定义和分配的不同策略都会对系统性能产生较大的影响。

(3)分组调度

网络处理器是典型的RISC内核的并行实时处理结构,同时存在着大量共享资源,比如内存、总线、SHAC等一些特殊硬件单元,这就必然需要系统对这些共享资源进行调度和仲裁。未来计算机网络的趋势是能够提供多种不同服务,支持多种不同应用需求。提高网络集成服务支持能力的一个很重要问题就是分组调度算法问题,分组队列的管理还是实现QoS的基础。

分组调度及处理算法的核心是链路层调度器的算法设计。在一般分组处理的存储-转发过程中,设计调度器必然要对分组处理时间进行预测,但处理器在调度器中要精确的获取并更新这些虚拟时间是十分困难的。这就要根据具体的应用,通过研究数据包的长度、数据类型、处理方式与处理时间之间的关系,提出合理的数据包处理时间预测方案,选择适当的分组调度算法,达到比较好的系统性能。

5网络处理器面临的挑战

当今的网络处理咕嘟仍面临着许多挑战,例如采用什么技术扩展,如何简化编程模式等问题都需要进一步研究。数据平面上运行的软件开发通常仅提供微代码汇编和低通读C语言技术,这大大限制了网络处理器技术的发展和应用。因为缺乏高效的软件开发支持,软件问题已经成为网络处理器应用的一大障碍,必须研究面向网络处理器系统的高效系统软件平台。

网络处理器微引擎指令的提供非常有限,仅有不足40条,这远远不能满足开发人员的需求,仅用它去构造一些复杂的网络处理任务不太现实。在Intel提出的网络处理器开发框架中,给出了一些非常底层的数据平面的函数库,还给开发者提供了一些面向特定应用的更优化的接口和宏指令集。

目前,开发环境主要由各NP生产厂商提供,微引擎上运行的数据平面只提供微代码汇编和C语言编译器支持,有代表性的产品是IntelWorkbench。控制平面上的处理器内核,普遍采用Linux或VxWorks作为操作系统。两个平面的开发相对独立,没有一种统一的开发手段,这给开发者带来了很大的不便。目前,也没有特别针对网络处理特点的操作系统,常见的RTOS由于并不是特别针对网络处理器的操作系统,因此并不能充分发挥网络处理器的潜能。

篇11

经营决策阶段成本是指公司经营方向的选择,这是成本管理的第一个也是最为核心的环节。不过对于大多数IT软件业公司而言,这个阶段往往是最大的问题之所在,有时经常凭一个觉得是灵感的想法或者对市场初步的直观层面的调研就进行的决策。而这样的结果是往往没有摸透市场的真实情况,轻率上马项目,造成方向性错误,以至于导致企业的危机。

该阶段的成本控制,关键在于经营决策前科学而深入的市场调研及准确分析,目前很多中小型IT软件企业,其经营部的职员大多都并不是社会调查专业的,因而他们做市场调查的过程中所采用的方法不太科学,如在样本选取及抽样过程不合理,没有按照严格的社会调查方法进行调查和数据分析,甚至问卷设计都存在倾向性导致调查数据信度偏低。此外,大量的公司自我宣传的各种形式的软文和竞争对手有意的攻击性文章夹杂在其中,并不是很容易的进行分辨,更何况数据的随意性,来源的不可追溯性各种情况,所以只能作为参考。

2需求整理及分析确认阶段的成本及其控制

需求整理指市场经营人员根据高管对于市场方向的决策,而提出的具体的产品或者项目的原始需求,需求分析是指技术员对市场部门的需求进行分析,评估其可实现性以及实现难度,大致工时等,提交相关需求分析报告,最后市场经营部门进行确认这个阶段。

该阶段的成本控制,首先需要搞清这种沟通过程中产生偏差的原因,最为主要的往往并不是技术语言和市场语言的差异,或者市场人员和技术人员之间的思维定势的差异,而在于两者缺乏确定的科学的流程和在交流之前的准备以及相关概念约定俗成的定义造成的问题,同时还由于沟通和确认环节由于其特殊性,经常难以被有效的纳入进度管理程序流程当中。而提高该阶段的成本控制效率,必须逐一针对性的解决以上问题,首先要清晰的确定并严格执行市场和技术沟通的流程,尤其是要明确每个环节的控制点,也就是双方交付给对方的关键交付物,一定要有清晰的共同确认的模板,同时每次沟通前必须对于一些概念有着清晰的界定,然后公布这些信息,并在沟通前做好充足的准备,明确每次沟通前要沟通什么,要解决哪些问题,沟通结束后要交付哪些文档让双方进行确认等,同时一定要通过线上或者线下的管理模式,讲所有沟通环节全盘把握,并纳入进度管理。

3规划阶段成本及其控制

规划阶段成本是指在需求已经得到确认后,进入技术规划阶段的相关成本控制,该阶段有些软件开发公司常常出现的问题是对于规划予以过度的期望和过于沉重的内涵,在实际项目操作过程中,这个规划实际上包含着技术规划和非技术规划两个部分,因为对这两个部分的混淆,导致一些技术层面和市场层面的东西不必要的纠缠在一起,并且直接导致项目进度的拖欠,而且会导致由于非技术规划的不清晰,直接影响技术规划层面的实施。

该阶段的成本控制,必须清晰的区分非技术规划和技术规划,尤其在公司内部技术部门和市场经营部门之间的职责,需要设立一个在提出需求到技术规划之间过渡的位置,即对于需求具体细节的整理,要对于交付物有着清晰的确定,尤其是在不同时期交付不同的关键文档,如除了上面说的那六个文档外,技术部项目组长在需求分析的时候,还应该明确提交功能模块分析,开发代价,功能流程图,功能关联性图,可维护性及可拓展性分析等六个文档,此外在项目开发规划阶段,还要对于控制点的一些要素进行详细的规划用来提交给市场部门,如详细页面元素,页面元素价值度分析,表现形式,页面结构,页面效果等。

4开发阶段的成本及其控制

开发阶段的成本指需求确定并且规划清晰后的具体开发过程的成本管理问题,该阶段相对其他阶段来说比较清晰,但这里笔者认为需要关注的是,如何使得人力资源得到最大程度的利用,它是指公司第一线技术人员的能力最大程度发挥的状态,包含几个层次,(1)全部时间利用,(2)最大效率利用,(3)最大潜力激励利用,这三步需要逐步递进实现。这个需要一种完善的内部管理制度,以及公平公正的价值认定模式和绩效制度,从而一方面促进员工本身的发展,一方面增加对人才的吸引力。

该阶段的成本控制,可以引入最大可控制成本的概念,这里是指人力资源最大程度发挥后所能控制的成本,是公司在一定投入前提下,最大的可能的减少因管理导致人力发挥不足够而造成的成本,该成本为人力资源的极致成本,无法再进一步降低,此成本状态下的仍然出现效益不佳情况,则可说明在经营定位和经营方向上的问题,而非内部问题。促使人力资源得到最大利用度和发挥度,在此基础上的成本,为最大可控制成本,以上可以通过内部的管理系统来很好的实现。5需求变更成本及其控制

需求变更成本指在开发过程中,由于市场部门的需求改变导致的成本增加而实施的控制,对于项目开发的过程中,需求的频繁变更就成本控制而言是致命的,很多项目由于需求的变更而导致破产。

该阶段的成本控制,最关键的是要对于需求变更过程进行严格的管理,要从需求变更的开始,对于整个变更的每个具体的步骤进行跟踪,并且严格核算每次变更所需要的工作时,从而做好评估。同时,务必要明晰需求变更的必要性和风险性,以及所带来的实际成本的增加,所以需求要尽量经过详细的论证。

6测试成本及其控制

测试成本指项目开发完成阶段,在交付验收前进行的测试过程中导致的成本及其控制,测试阶段对于一个项目的最终交付具有重大的意义,往往在测试阶段要才是使得项目真正完善的阶段,很多细节的修补都在测试阶段完成,正是测试使得一个项目成为一个可以交付,可以应用,可以产生效益的产品。但对于一些中小型软件开发公司而言,往往缺乏真正建制齐全的测试部门和专业测试人员,经常是技术人员进行兼任,这种方式相当普遍。但同时也导致了一些问题,主要是对于测试缺乏经验积累管理,或者说是错误管理,经常上次测试完出现的问题,过段时间又会出现,或者是开发下个项目的过程中又再次出现,增加不必要的成本。

该阶段的成本控制,笔者认为最关键的是对测试进行错误管理模式,采取“有错必改,凡错必究,错不再犯,预错于先”的管理办法,尽量在项目开发之前,就能整理出之前开发中出现过的所有问题,并用列表的方式进行技术会议,让所有开发人员进行错误共享,尽量把测试中可能出现的问题消灭再开发阶段,另外需要把测试过程化、即时化,每周甚至每天都要求每个开发人员在交付自己的子模块的之前就暗中预先准备的测试手册进行测试,通过后再提交,同时定时抽查某些核心功能模块,进行某个点的测试,这样全过程的控制,会最大程度的减少测试成本,同时要加快反应速度,一发现开发中,或者测试过程中的相关问题,必须跟进彻底解决,并纳入绩效考核中,杜绝再犯。

参考文献

篇12

中新网12月27日电 据日本共同社报道,为杜绝学生在写论文时随便从网络上拷贝他人文章,日本金泽工业大学研究院的教授杉光一成和东京一家软件公司共同开发了据说可以识破抄袭行为的软件,并已开始投入使用。

据悉,软件名取名为“不要拷贝粘贴”,可以用来检索论文中是否存在和网上相同的文章段落。完全重合的部分用红色表示,替换单词或者改变结尾的地方会根据重合程度用橙色或者黄色表示。这个软件还可以计算出抄袭部分占论文比例以及占被抄袭原文的比例。

杉光教授说,曾发现有学生在论文中直接转用了网上的文章,为了保护那些认真写论文的学生,所以决定开发这样的软件。

报道称,现在正值日本大学生提交毕业论文的时候,据说各地大学有关该软件的咨询已经接踵而至。

篇13

1.3资源获取与使用方面的问题这里的资源指的是外部文件,Android所支持的资源文件类型较为丰富,包括PNG、JPEG以及XML等,在And-roid程序运行过程中,资源文件被解析。Android资源系统可以实现对应用程序代码的相关内容进行跟踪,所以程序的开发者可以通过对资源类的利用来实现对应用程序资源的访问。

2、构建Android平台软件开发环境

因Eclipse是使用java语言来进行程序编写的,所以在安装Eclipse之前要保证系统已经完成对java环境的建设,如若不然就会致使这一工具无法启用,具体安装内容为:最新JDK以及对java环境变量进行设置[3];安装Eclipse。在实际安装的过程中,可以先在官网进行相应的软件下载,然后安装这一软件,最后要对其开发插入ADK进行安装;AndroidSDK的安装。主要是对Android软件开发过程中所要的函数库资源的集合包,是对Android程序进行开发的重要组件之一;进行AndroidAVD配置。AVD属于经过配置的模拟器,对于AVD来讲,需要进行target的制定。在SDK1.5中,主要的target类型为platform以及add-on。

在线咨询