软件开发论文范文

时间:2022-07-15 03:24:56

引言:寻求写作上的突破?我们特意为您精选了12篇软件开发论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

软件开发论文

篇1

摘要:动调式陀螺测斜仪是一种新型精密陀螺测斜系统,适用于有磁性干扰的丛式井、加密井的钻探测量及在完井后的套管内或钻杆内进行测量。该仪器漂移很小,有效地提高了井眼轨迹测量结果的准确性。为了匹配仪器测量精度,测试数据处理采用空间曲线积分法,实现井眼轨迹空间展布的精细描述,开发出对应测斜资料分析方法与解释平台,为老井轨迹复测、侧钻井等提供实施依据。

关键词:动调式陀螺;井眼轨迹;空间曲线积分法;陀螺测斜解释平台

0引言

为提高油气井利用率和开发效果,地质部门在开发过程中,经常在原井眼基础上进行开窗侧钻,对井眼轨迹的准确性提出了更高的要求。以往由于受仪器精度及设备技术条件限制,井眼轨迹的测量结果往往存在较大偏差,从而影响了对地层的正确评估。所以,为了提高侧钻井的成功率,就需对某些老井复测井眼轨迹[1-2]。本文采用动调式陀螺仪进行井眼轨迹测量,为匹配仪器测量精度,测试数据处理采用空间曲线积分法,实现井眼轨迹空间展布的精细描述,开发出对应测斜资料分析方法与解释平台,为老井轨迹复测、侧钻井等提供实施依据。

1陀螺测斜仪

常用2种陀螺测斜仪测量井眼轨迹。一种是框架式陀螺测斜仪[3],其原理是利用高速旋转的物体具有定轴性的原则实现方位测量,由于高速旋转的运动存在摩擦力,容易产生漂移,而且这种因漂移而产生的偏差会随着时间而增大。另外,框架式陀螺无法直接测量方位,需要在开始测量前用人工确定正北作为基准,这样容易带来人为误差。由于框架式陀螺测斜仪的漂移偏差无法预测和克服,导致井眼轨迹测量结果不稳定。而动调式陀螺仪采用了更为先进的挠性支撑,因而漂移很小,有效地提高了井眼轨迹测量结果的准确性。动调式陀螺测斜仪是一种精密陀螺测斜系统,采用惯性导航原理,利用挠性陀螺仪和石英挠性加速度计作为主要测量元件,通过定点测量仪器各轴的地球自转角速度和加速度分量,经过系统解算后得到当前位置的井斜度、方位角。然后,根据各测量点的方位、倾斜角确定井眼轴线的空间位置,同时为了与钻具配合,必须随时得到工具面角[4]。特别适用于有磁性干扰的丛式井、加密井的钻探测量及在完井后的套管内或钻杆内进行测量。

2井眼轨迹曲线算法优化

井眼轨迹算法有很多种,常用方法有平均角法、圆柱螺线法、最小曲率法和曲率半径法[5-6]。这些计算方法大多是将测量段内的井眼轨迹假设为直线、折线、圆柱螺线和斜面圆弧曲线等简单曲线模型[8]。井眼轨迹计算是通过测量井眼的斜深、井斜角和方位角,然后,再用一定的计算方法将这些测量数据解释为XYZ空间坐标数据[9]。

井眼轨迹计算的积分法是一种基于空间曲线的方法,它将相邻的2个井斜测点的连线视为一渐变空间曲线[5-8],这更符合钻井工作的实际,其精度高于常用的井眼轨迹计算方法。在实际井眼轨迹测试时,通过优化工艺方案,制定合理资料录取方案,采取连续测斜或加密测点方案,可以最大程度地逼近轨迹空间曲线形态。

3处理解释系统设计

陀螺测斜解释平台采用C#开发完成,充分利用人工智能,与上游基础数据库紧密衔接,用户仅需进行简单输入工作便可完成井眼轨迹评价,大大提高了单井处理效率。软件设计3个功能模块,主要实现数据处理、图表绘制、报告生成(见图1)。

3.1数据处理

动调式陀螺测井仪主要采取点测方式进行,在开窗侧钻位置或最大井斜位置采取加密测点或重复测试某深度点的工艺提高测试数据精度。在数据处理上实现数据质量自动检查,如果相邻测点测深增量ΔL=0,说明这2点为重复测试数据,需要计算其平均井斜角和方位角。再采用空间曲线积分法依次计算相邻测点垂深增量ΔH、水平位移增量ΔS、东西位移增量ΔE、南北位移增量ΔN,并对n个测点位移累积求和就是某点的垂深、水平位移、东西位移和南北位移。

3.2图表绘制

对井眼轨迹的描述主要采用水平投影图、垂直剖面图和三维轨迹图方式。绘制水平投影图和垂直剖面图时,需要考虑实现新老井眼轨迹对比功能。因为早期的陀螺测井测量和分析误差相对较大,在开展动调式陀螺仪对老井数据进行普查,落实真正的井眼轨迹时,进行新老井眼轨迹对比绘图(见图2)。

三维轨迹图主要利用计算机图形化计算,采用OPENGL绘图方式,实现井眼轨迹的三维缩放、旋转等功能,使用户对井眼轨迹走向更能直观准确地观察和掌握(见图3)。

3.3报告生成

陀螺测试井眼轨迹报告内容包括井基础数据、现场测试情况、井的三维轨迹图、垂直剖面图、水平投影图、解释结论表等。井基础数据或轨迹对比所需老井井眼数据直接通过油田上游信息系统A2数据库中获取,只需输入正确的井号,便可连接A2系统。

报告形式以Word格式表现,利用MicrosoftOffice系统中word模板编辑功能,可以预先对报告内容进行整体编辑排版。系统以word标签查找方式,完成计算结果、各种表格、图件等内容对应添加到Word文档中,实现一键自动生成报告的功能,满足不同用户、不同地质需求,大大降低了单井处理解释时间。

4陀螺测井技术应用

4.1克服磁性干扰,指导加密井钻进

油田开发后期,依靠打定向井、加密井或老井侧钻稳产增效[8]。动调式陀螺测井仪由于其不受磁性干扰的特点,可以在井距较小:磁性干扰强烈的环境下,准确测取井筒的倾斜角、方位角、工具面角等参数,进一步计算可得出垂深、南北偏移、东西偏移、闭合方位等参数,指导新井钻进。

TJH油田计划在的G71井附近打1口水平井,由于该区块为低渗透区块,井距普遍较小。为了保证侧钻顺利完成,该井在侧钻过程中,对本井及邻井均分别进行了陀螺定向及测斜,发现水平井设计井眼轨迹存在问题,该井与水平井的最小距离只有18.58m,存在安全隐患,随后根据计算结果及时调整钻井方案,保证了水平井顺利施工,投入正常生产后初期日产油近50t。

4.2应用陀螺定向,提高侧钻中靶成功率

在剩余油富集区实施侧钻井是老井产能建设的重要手段,陀螺定向在油田广泛用于老井开窗侧钻,减少定向时间,提高了侧钻中靶率[9-10]。

BQ油田B19-1断块计划在高部位部署BS24-7K井,实施前对BS24-7井进行陀螺测试,总水平位移与原来的认识相差204.2m(见图4、图5),根据结果及时进行调整钻井方案,避免井位落空。该井投产后,初期日产油9.8t。

5结论

(1)动调式陀螺测斜仪不受铁磁物质的影响,适用于有磁性干扰的丛式井、加密井的钻探测量及在完井后的套管内或钻杆内进行测量。无需人工校北并且采用先进的挠性支撑,更有效地提高了井眼轨迹测量结果的准确性。

(2)开发了井眼轨迹分析平台,采用与动调式陀螺测斜仪测量精度相匹配的空间曲线积分法,能够更加精细描述井眼曲线空间展布。

(3)动调式陀螺测井技术在油田落实井眼轨迹、判断油水井在油层中具置、指导加密井部署、提高侧钻中靶率等方面提供可靠了依据,能够取得很好的地质应用效果。

软件开发毕业论文范文模板(二):随采地震监测数据采集控制软件开发论文

摘要:随采地震能够对工作面前方地质异常体进行连续探测和实时预报,成为近几年的研究热点,但是目前还没有能够在煤矿井下开展随采地震长期连续监测的装备及配套软件。为了解决这个问题,基于MicrosoftFoundationClasses(MFC)开发框架,开发了一套随采地震监测数据采集软件,在室内、野外进行了为期3个月的联调测试,并且在贵州岩脚煤矿与井下随采地震监测设备开展了为期3个月的全面试运行。测试表明,软件实现了随采地震信号的高效采集、完全存储和处理软件的实时通信功能,具有运行稳定、操作便捷、处理高效、便于维护、无人值守等优点。

关键词:随采地震监测;数据采集;软件设计

我国的煤矿以井下开采为主,与国外相比,我国煤炭行业的信息化水平较低,矿山空间信息仍然以图表和文字作为主要的存储介质,信息基础设施未能跟上时代变化的脚步,使得煤矿企业的竞争力受到严重的制约[1]。煤矿井下危险具有多变性、隐蔽性,导致安全问题成为威胁煤矿工人生命的核心问题[2]。而采掘工作面更是矿井水害、顶板、火灾以及瓦斯等多种灾害事故的多发区,同时也是工作人员聚集区,因此,也是导致重大生命财产损失的高危区域[3-7]。随采地震勘探[8]是利用采掘活动激发的震动作为震源,探测工作面内部或者掘进面前方一定区域内地质构造的一种地震勘探技术,可以摆脱放炮的安全隐患及对正常采掘生产的影响,实现了采掘的同时进行超前探测[9-11]。随采地震所用震源信号是连续、非可控的,只有进行连续、长期监测,记录远场信号,将其与远场信号作互相关,得到清晰的相关峰值,才能将其转化为脉冲子波,代替炸药震源进行地震勘探[12]。

因此,研制随采地震监测装备及控制软件成为当务之急。本文针对随采地震监测装备的特点,充分分析其观测系统和监测数据的特点,利用数据库和文件系统的优点,设计了软件的数据结构;考虑处理软件的特点,设计了与处理软件之间的接口;最后基于MicrosoftFoundationClasses(简称MFC)开发框架,开发了数据采集软件,联合测试成功后,并在贵州岩脚煤矿进行了3个月的野外采集工作。

1随采地震观测系统及其特点

为了能够获得工作面内部煤层剧烈变化情况、断层和陷落柱位置与规模以及应力集中区等信息,目前的随采地震观测系统采用复杂部署模式。如图1所示,采用H形布局,共72道,其中孔中部署24道,分4个深孔,每个钻孔内部署6道,由一个孔中多级检波器串承担;其余的48道部署于工作面两侧巷道的锚杆上,图1中绿色圆点为巷道检波器。

数据采集分站为6通道,整个观测系统共需12台分站,数据处理时主要使用煤层中的槽波,而槽波的频率较高,可以达到500Hz,为了采集高质量的数据,采样间隔为250μs,这就对数据采集系统提出了新的要求,不仅仅数据道数多,采样率较高,而且是长期连续实时监测。

观测系统随着工作面的推进而移动,当工作面推进到检波器测点附近时,要依次将检波器拆卸,避免被埋入采空区中,当工作面推进到距离图2中黄色深孔检波器10~20m时,要将全部的黄色测点移动到蓝色测点位置,以此类推直到工作面回采结束。

2随采地震监测数据采集软件设计

2.1软件架构设计

针对分站多、数据量大、观测系统多变化、实时性要求高以及需要与数据处理分析软件进行通信的特点,采集软件利用多线程技术分别进行数据采集和存储,软件框架设计见图3。

2.2软件数据结构设计

采集软件中的数据可以分为两类,一类为数据量不大,变化周期较长的数据,比如:监测分站信息、观测系统信息等;另一类为数据量较大,而且变化周期很短的数据,比如:监测数据。根据数据特点,采集软件采用数据库与文件系统相结合的方式保存数据,以提高数据存储效率。监测数据采用文件系统保存,其他数据采用数据库方式保存。

a.数据库设计

数据库主要保存测区信息、采样率、每个文件的采样时长、采集分站信息、传感器信息、观测系统以及监测数据的保存路径等信息,其E-R模型见图4。

b.文件结构设计

监测数据的辅助信息,如采样率、观测系统、道数等信息全部保存在数据库中的监测数据表datafile_info中,按照采样顺序将每道数据作为一块写入文件,块的顺序与道号一致,样点值采用有符号的浮点型数据类型保存,详见图5。文件名为第一个样点的采样时间,格式为:YYYY-MM-DD_HH_MM-SS,不足两位数的补零。

2.3软件交互接口设计

本软件需要分别与井下采集分站和随采地震数据处理软件进行交互,主要涉及到两个接口。

a.与采集分站接口

为了便于和井下采集分站通信,采用UDP与TCP协议相结合的通信模式,采集软件的查询指令通过UDP协议与采集分站通信,通知指令和数据传输则采用TCP协议传输,其通信流程见图6。

b.与数据处理软件接口

为了提高数据存储效率,采集软件采用数据库与文件系统相结合的方式存储监测数据,大量的监测数据保存在文件中,但是文件的相关信息,如:道数、采集时间、采样率、观测系统等信息保存在数据库表datafile_info,与数据处理软件的通信也通过数据库来完成,数据记录表中专门设计一个字段为数据状态标志,数据采集时状态为0,采集结束后为1,数据处理软件不断查询该表中数据状态标志为1的记录,一旦有这样的记录,则根据数据库中的信息读取监测数据进行处理,处理结束后将该标志改为2,具体处理流程见图7。

3随采地震监测数据采集软件实现

3.1开发环境

软件基于VisualStudio的微软基础库类(micro­softfoundationclasses,MFC)开发框架,采用C++语言编写,充分利用其图形用户界面(graphicaluserinterface,GUI),大大提高软件的开发效率。在功能开发方面,为了满足随采地震监测的需要,提供数据采集和数据保存功能,采用菜单栏和对话框方式来实现软件与用户之间的人机交互。在整个应用框架的基础上进行功能性、界面性的填充。将软件开发分成若干部分,有效地提高软件研发效率和可读性,同时也便于后期维护升级。

3.2软件的实现

为了提高软件的运行效率,将软件操作界面、数据采集、保存和整理以及设备状态监测与恢复功能分别由单独的线程来完成。

a.数据库实现

数据库中最主要的两张表为传感器信息表和监测数据表,传感器信息表为观测系统表的基础,而且随着工作面的回采传感器移动后,传感器的位置信息就会发生变化,观测系统随之变化;监测数据表是数据采集软件与处理软件通信的基础,表中需要包含大数据文件路径、观测系统、采样率、采样时间和时长等重要信息,具体见表1和表2。

传感器信息表中(表1)以Station_ID、Channel和Modify_Time为联合主键,这样表中可以把同一个传感器在不同时间的坐标都保存起来,随时可以获取任何时间段的观测系统。

监测数据表中(表2)由File_Index为主键,该值为根据时间自动生成一个与时间有关的数,确保唯一性,同时将大数据文件的相关数据信息全部存入该表中,以方便数据处理软件随时查询。

b.软件操作界面

随采地震监测软件属于监测类软件,具有自动化程度高、人工干预少等特点,因此,需要用户的操作很少,主要是一些参数设置和监测分站运行状态的显示:系统中监测分站的数量、每台分站的传感器数量及其工作状态。

传感器参数设置功能主要包括传感器的安装位置及其坐标、所属监测分站号、通道号、测点号等信息的增加、删除和修改,由修改传感器的时间为主键,即可获得该时刻的观测系统。

c.数据采集功能

数据采集功能主要包括数据采集软件与监测分站之间的通信、监测分站状态查询与控制、数据采集等。为了达到随时能够与监测分站通信的目的,与监测分站的通信通过UDP和TCP协议两种方式来实现,其中监测分站的信息和状态查询由UDP协议实现,指令的发送、参数设置和数据采集通过TCP协议实现。TCP协议中采集软件为服务器端,监测分站为客户端,服务器端采用完成端口技术来接收多个监测分站上传的数据,为了便于数据保存,每个通道的数据分别存放在独立的缓存区中,缓存区采用循环数组的设计,当数据写入缓存区中后,循环数组的数据采集下标iColDataIndex+1,数据采集详细流程见图8。

d.数据保存

为了提高数据存储的效率,将数据存储分为数据保存和整理两个步骤,分别由两个线程执行。数据保存线程监测缓存区中数据采集下标iColData­Index与已保存数据下标iSaveDataIndex之差,当该差值达到预设值时,从数据缓存区中读取数据并保存成数据文件(采用异步模式将每道单独存储为一个文件)。数据保存完成后,循环数组的已保存数据下标iSaveDataIndex+1,其数据保存详细流程见图9。

e.数据整理

为方便数据处理需要把同一时段的各道检波器的数据保存为一个文件,当由于检波器或者采集分站故障导致数据缺失时做填零处理。因而增加一个专门进行数据整理的子模块,由一个单独的线程来处理,其数据整理详细流程见图10。

f.系统自恢复

井下的供电系统或者网络经常检修或者故障,导致随采地震监测设备出现故障,当故障解决后,系统应该能够自动恢复,但是该系统是由多个监测分站组成的,分站之间需要不断进行时间同步,当一台分站出现故障后,该分站停止采集,其他分站仍然正常采集,当该分站故障解决后,要想恢复采集,必须要把系统中所有的分站进行重启。图11所示流程,就是用来检测网络是否出现故障,如果出现故障,则一直检测,直到故障修复,然后重新启动系统。

4随采地震监测数据采集软件联调与测试

4.1运行环境

数据采集软对运行环境的要求如下:

操作系统:windows7及其以上;CPU:2.5GHz,4核;内存:8GB;硬盘:500GB。

4.2联调与测试

该软件与井下监测分站以及数据处理系统在实验室进行为期1个月的联调测试,联调过程中对采集软件与监测分站和数据处理软件的接口进行了修改和完善,并在野外进行了为期2个月的稳定运行后,各项性能指标都达到了设计要求,软件实时波形界面见图12所示。最后在贵州岩脚煤矿进行为期3个月全面试运行,无论是采集数据还是与数据处理软件的通信都正常工作。

5结论

篇2

嵌入式软件的开发具有如下几方面的特点:

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

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

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

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

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

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

2软硬件协同设计概念

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

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

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

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

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

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

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

篇3

关键词计算机软件版权保护判例

1980年,美国国会通过了版权法修正案,将计算机软件正式纳入版权法的保护对象。由于美国计算机软件在全球的主导地位以及其在全球经济技术等方面重要影响,八十年代开始,世界各国纷纷也以版权法作为计算机软件知识产权保护的主要形式,从而形成了国际主流。但是,由于计算机软件的版权问题同计算机软件的技术及其发展是紧密相连的,法律界在具体处理软件的版权问题时遇到许多前所未有的新问题,并不断地引发出争论。为此,国际计算机法律界进行了大量的研究和探索,其中,世界上软件产业最发达的美国计算机法律界所遇到的问题最早也最多。因此,可以说美国在这方面已走在前面,特别是,美国法院在近十几年中对一系列软件版权案判处而形成的判例,不但丰富和发展了美国软件版权的法律体系,而且在很大程度上左右了世界软件版权保护的进一步发展。因此,了解和分析美国软件版权判例的发展,对于我们把握国际软件保护的发展趋势,不断完善我国软件版权保护是很有借鉴意义的。

一、美国前期软件版权判例简单回顾

美国虽然于1980年通过立法对计算机程序正式予以版权保护,但在法中没有作出很多具体规定,实际上是留给美国法院根据立法原则,已有的判例和具体案情进行处理,通过案例不断地丰富发展其法律体系。

美国前期的计算机程序案例主要是涉及计算机程序能否享有版权保护,什么形式或什么类型的计算机程序能够享有版权保护。现在这些案例被称为计算机程序版权纠纷的第一代案例。例如:Tandy公司诉Pesonal微计算机公司案(1981年)、Apple公司诉Franklin公司案(1983年)、Apple公司诉Formula公司案(1984年)等。其中影响最大、最具代表性的是Apple公司诉Franklin案(该案可详见电子工业出版社《计算机软件著作权保护手册》第129页,案件2)。通过这一系列案例解决了计算机程序作为版权保护对象的基本问题,具体地讲,主要包括以下一些结论:

1.计算机程序的源代码形式和目标代码形式都具有版权;

2.系统程序(包括操作系统、编译程序等)和应用程序一样都具有版权;

3.固化在ROM电路等载体上的程序具有版权;

4.微程序也可享有版权(详见《计算机软件著作权工作手册》第136页,案例4:NEC诉Intel案(1989年))。

以上这些通过美国第一代案例所总结出的结论已逐步被美国乃至世界计算机法律界所接受,有的甚至已纳入立法的法律内容。例如:有关计算机程序的源代码形式和目标代码形式都享有版权保护的内容在《欧洲共同体关于计算机程序保护的指令》、我国《计算机软件保护条例》以及关贸总协定关于知识产权的协定(Trips)中都有相应的规定。

二、计算机软件版权保护向深入发展

随着软件版权保护的发展,法律界面临着从简单的、逐字逐句的复制行为发展到带有伪装的拷贝行为的问题。再加上计算机软件作为一项智力劳动成果,它同一切人类文化科技成果一样,不可能凭空而降,它总是在不断继承、借鉴他人成果基础上不断改进、创新、发展而成的。根据版权法的基本原理,只要是利用原有软件的思想,则是合法的。因此,正确合理地区分计算机软件的思想概念与表现的界限,不但涉及对某个软件是否侵权的判定,而且直接涉及在软件开发过程中如何做到既能吸收他人软件中的先进技术,又不致陷入版权纠纷,同时还能享有自主的版权。从更深的角度来讲,正确合理区分软件的思想与表现,关系到版权法保护的基本宗旨,即通过保护软件版权所有者的合法权益,鼓励创作开发更多更先进的软件,促进技术和产业的健康发展。

上述第一代判例得到的结论从一定角度上讲,就是认定各类各种形式计算机程序的编码(包括源代码和目标代码)——美国法律界将其称为程序的文字性(Literal)部分,都是作品的表现,理应受版权法保护。而程序的功能目标,法律界也一致公认为属于作品的思想范畴,不受版权法保护。但是,在上述编码与功能目标两个“极端”之间存在着一个中间地带,例如程序的总体结构、接口设计、屏幕显示等等——美国法律界往往将这部分内容称为程序的非文字性部分,而这部分中间地带中哪些属于程序作品的思想概念,哪些属于程序的表现,这些有关软件开发中的版权问题,成为了计算机软件版权保护深入发展中的关键问题。

美国处理上述问题的案例出现在八十年代中期,例如:SAS公司诉S&H公司案(1985年)、Whelan诉Jaslow公司案(1986年)和Plains合作社诉Goodpasture公司案(1987年)。这些案例又称为第二代案例。其中最著名的也是影响最大的是联邦第三巡回法院二审判决的Whelan公司诉Jaslow公司案(该案可详见《计算机软件著作权工作手册第155页,案例12》)。

美国法院在处理计算机程序版权纠纷,采用了一些判断准则,其中最普遍的是所谓“接触加实质相似性”准则(Access&SubstantialSimilarity)。也就是说,法院在判定一个软件是否侵权时,首先要考虑被告是否曾经接触过原告的版权作品,如果被告有可能“看到或得到原告的程序”,则满足了“接触”条件。其次,法院要将两个程序进行相似性比较,比较包括文字成分(编程代码等)和非文字成分的相似性比较。如果出现相似或实质相似,就有可能判定侵权。这对于文字成分出现相似的情况,问题不大。而对非文字性成分相似的情况,相似的非文字成分必须是属于程序作品的表现时才有可能侵权。如果该相似的非文字成分是属于程序作品的思想概念范畴,就不应该认定为侵权,因为这是版权法原理所允许的。因此,问题又归结为程序作品,特别是其非文字性成分的思想和表现的区分。

美国第三巡回法院在审理Whelan诉Jaslow案中,提出:被告程序作品的思想就是该作品总的功能目的,除此之外,任何对该功能和目标不是必要的成分都应该视为表现。该法院认为,被告的程序虽然与原告程序编码完全不同,但两者的结构、顺序和组织(SSO)相同或相似,故构成了侵权,将计算机程序的版权保护一下子从文字性编码扩展到它的结构、顺序和组织。

除了计算机程序的结构、顺序和组织之外,八十年代中期开始,美国出现了许多涉及所谓计算机程序的“外观与感觉”(Look&feel),即程序的屏幕显示和用户接口版权纠纷的案件。例如:Broderbund公司诉Unison案(1986年)、Digital公司诉Softklone公司案(1987年)和Lotus公司诉Paperback公司与Stephenson公司(1990年)等(以上案例可参见《计算机软件著作权工作手册P168-178》)。这阶段的“外观与感受”案例与“SSO”版权案例都表现出明显的深入扩大版权保护范围的趋向。它们明确地提出,计算机程序中的非文字性成份,包括程序的SSO和用户界面中选单及其结构和组织、应答词及其显示形式和图象、命令和语法、功能键按击顺序和编排等,只要具有原创性和非显见性均可能享有版权……

从八十年代中期到九十年代初,这种将计算机软件的思想范围缩小,扩大受保护的表现的作法,虽然也有不同的作法(例如:1987年美国第五巡回法院判决的Plains合作社诉Goodpasture公司案),但是总的来讲,在美国法律界占了主导地位,同时也影响到了其他的国家,有些欧洲国家也开始采取了类似的扩大版权保护的作法。

三、当前软件版权保护向合理方向的新发展

从上述八十年代中期到九十年代初的美国第二代软件判例来看,美国对计算机软件的版权保护已经逐步背离了版权保护的基本原则,已经从保护“表现”深入到保护“思想”。其原因主要是,计算机软件的技术性较强,其思想和表现往往混合在一起,难以区分,而美国司法界对技术又不太熟悉。此外,美国计算机界,特别是大企业希望能给予软件的保护越强越好,以维护其优势地位也是一个重要因素。对这种做法,美国法律界乃至国际法律界是有不同意见的,尤其在日本,一些法学界人士对之提出了强烈的批评。同时,产业界的反应也是强烈的。持反对观点人士认为,目前,开发新软件总是要借鉴他人的思想的,没有人会一切从头做起。按照上述案例的作法,只是对资金雄厚的大公司有利,加强了大型软件公司的垄断地位,不利于竞争,并将遏制可兼容性产品的开发,使软件开发者如履薄冰,同时也使用户在软件的品种、价格方面失去选择机会,这将窒息软件产品的创新,不利于软件技术和产业的发展,有悖于版权法的宗旨。

随着争论的深入,九十年代初,形势出现转机。以1992年美国第二巡回法院判决的ComputerAssociatesInternational公司诉Altai公司案(简称Altai案)为标志的所谓第三代判例表明,美国软件保护又出现了逐步回归到版权基本原则上的趋势。

美国Altai案从根本上否定了Whelan案判决中建立起来的SSO等判断规则,同时又在版权基本理论和准则的基础上,结合软件的特点,提出了较为科学、合理的判断规则。

美国第二巡回法院在判决Altai案中认为:

(1)“一个程序仅含有一个思想”的观点不能成立,每个子程序至少有一个“思想”。在计算机领域,许多子程序已被标准化和规范化,以致于它们几乎在无意中就被写入计算机程序中,从而否定了Whelan案的“计算机程序思想唯一性”原则;

(2)一个程序中并不是只有一个结构;程序分解后的各个层次都存在一个结构,认为程序的“结构、顺序和组织”必然构成作品的“表现”的观点毫无根据。从而否定了Whelan案的SSO准则。

该法院在Altai案中提出了一套新的判断规则——“抽象、过滤和比较”三步判断法。具体内容为:

第一步对计算机程序进行抽象(Abstraction)。首先对指控他人侵权的原告程序分解为各级构成层次,从代码、子模块、模块……直到最高层次的功能设计,对程序分层次逐级抽象,将思想抽象出来。随着抽象层次的上升,被抽象出来的思想就越多,而剩下的“表现”就越少。

第二步过滤,即将抽象掉思想的各层次的表现,逐层次进行“过滤”。根据硬件环境、兼容性条件、效率因素、公有领域因素等外部因素过滤出不受保护的内容。

第三步比较,把过滤后剩余的部分与被指控侵权的程序在逐个抽象层次进行比较,以确定被告是否复制了过滤后剩下的“表现”。为确有复制,还需进一步评价被复制部分在程序中所占的重要性。

第二巡回法院在Altai案中提出并采用的合理界定计算机程序版权保护的范围的基本规则及其判断法则,较好地解决了版权基本原理在计算机软件方面的运用问题,体现了司法解释要与立法最终目的保持一致,既有效地保护权利人的合法权益,又有利于鼓励创新、鼓励合法竞争的公共利益。因此,引起了美国乃至各国计算机法律界的高度重视。在随后直至当前,从美国发生的众多计算机软件纠纷案来看,Altai案的法则已经普遍地为美国法律界所接受,并且在此基础上,有了进一步的发展和丰富。总的来说,有以下几方面特点:

1.分层抽象思想,Whelan案的SSO等法则已被实际否定

从近五年的美国案例来看,尽管美国各法院在判断计算机程序的版权保护范围的作法各有差别,但几乎所有的法院都拒绝采用Whelan案中提出的判别法则。人们越来越清楚一个程序包含许多层次的思想。Whelan案判决的法则普遍被认为过于简单化和保护过宽,所谓SSO法则实际已被否定。许多法院广泛地对计算机程序应用抽象法则(第九巡回法院称之为“内部”法则,而“过滤”则称为“外部”法则),确定不受保护各层次的思想,将其排除于侵权考虑之外。从而缩小了自Whelan案以来的受保护范围。

至于层次的划分一般都是自代码到功能目标设计逐层进行,但其中具体划分为几个层次,则根据具体案情,各有特色。例如:Altail案中法院是假设了目标码、源代码、参数表、服务要求和整体轮廓5个层次,进行抽象的。

又如:美国第十巡回法院在GatesRubber案中(1993年),是“按照与程序创作过程平行的方式”分成目标代码、源代码、算法及数据结构、模块、程序结构或构造、主要目标6层进行抽象的。

2.过滤作为判别法则的重要步骤,考虑了更多的因素

“过滤”是“三步判断法”中极重要的一个步骤,通过“过滤”将计算机程序中不受保护的成分剔除出去,显然将直接影响版权保护的范围。如果过滤得越多,则受保护的范围越小,侵权的可能性也越小。对于软件开发来说,其回旋的空间也越大。近年来,美国法院普遍接受“三步判断法”的法则,其关键在于广泛地采取了过滤法(或称外部法则等,实质差不多)来确认不受保护成分。而且总的趋势是过滤中考虑了更多的因素,也就是合理地缩小了版权保护范围。

过滤一般首先将根据版权法的基本原理进行。例如:第十巡回法院在Autoskill案中(1992年),首先根据如下原理进行过滤:

(1)根据思想——表达两分法原则程序的主要目的和功能总是不受保护的思想,类似地,每一典型模块也具有各自的目标和功能,而模块的基本功能和目标也是不受保护的思想或过程。

(2)根据过程(属于思想)和表现的两分法原则版权保护不能延及程序所体现的过程,而“通常,过程是作为部分系统构造、模块内部操作或算法出现的。”

(3)事实“计算机程序中,事实常常在很多抽象层次中出现,而且常常是作为部分数据结构或代码中的文字表达。”

(4)公有领域必须过滤出程序中所有非原创的成分,包括处有公有领域的成分。

(5)同一性原则版权必须拒绝保护那些“与思想、过程、发现等不可分离或紧密结合的表达。”

(6)精彩场景原则(Scenesafaire)第十巡回法院在该案中还应用了文学戏剧等作品中的精彩场景原则,对软件中某一特定主题的标准的或一般性的表现,也予以过滤,认为不应受保护。

最新的案例表明,美国法院在处理软件版权纠纷进行过滤时,还充分考虑计算机软件的特点:鉴于计算机软件是一个实用性很强的作品,其开发过程与一般文字作品不同,必然受到诸多因素的限制。如果将由于这些限制因素而造成的表现相似也视为侵权,显然也是不合理的。这就是所谓“外部因素”限制了表现的观点和作法。即将由于“外部因素”限制而产生的表现的相似不作为侵权论处。

其实,“外部因素”限制了表观的观点,在1987年美国联邦第五巡回法院审理Plains案中就已提出。当时,第五巡回法院就以棉花市场规律等作为外部因素限制了被告程序的表现为理由,否定了对被告侵权的指控。近年来,美国法院对“外部因素”的认识更加深入,在运用过滤法则中,确认了更多的“外部因素”,要求在相似性分析中过滤相关成分,从而限制或缩小版权的保护范围,近年来,一些判决中提到的外部因素有:

(1)硬件限制(Altai案、GatesRubber案和Cams案)即排斥对那些由于计算机硬件或其他硬件环境特征、标准等限制而产生的软件相似成分的保护;

(2)功用性(如Apple诉Microsoft案,第9巡回法院(1994年)、Capcom诉DataEast案,1994年等)即为功能目的纯粹的功能项或其编排将予以过滤掉。例如:著名的Apple公司诉Microsoft案中,法院指出:“纯功能性的项目或这些项目为了功能性目的”编排,完全不受版权保护所限。

(3)产业标准和用户要求产业标准和用户要求作为外部因素,即将那些由于符合产业标准而出现的相似部分排除于版权保护之外,是近年来美国法院的新提法(也有不同观点)。这个观点在GatesRubber案、Apple诉微软案、BrownBag案(第9巡回法院,1992年)和Capcom诉DataEast等案中均有反映。例如:美国法院在Apple诉Microsoft案中指出:“用户接口的功能元素或它们在产品中同类的编排的相似性并不暗含非法复制,但是标准化却跨越了竞争产品的功能性考虑”。“过度地扩大版权保护可能产生反作用,不利于固定的兼容标准的利用。”该法院又提出:“一些视觉显示和作品的功能目标紧密相关,都形成了标准,如果计算机程序的‘市场因素在决定顺序和组织时起了重要的作用’,那么这些模式可能会成为思想概念,而不为任何个人所用。”

(4)兼容性要求允许开发兼容软件一向是产业界的共识,在法律界也是没有很多疑义的。但在具体的司法案例中,将兼容性作为外部因素以限制版权保护范围则是近年来才出现。例如在Altai案中,法院提出,与其他程序共同运行的兼容性要求作为“外在考虑”因素,将限制程序员编写程序时的自由选择,从而限制了计算机程序中受保护的表现的范围。在第二巡回法院审理的GatesRubber案中,也提出软件兼容性要求所决定的程序部分应予以排除、过滤。

(5)除了上述之外,另外一些“外部因素”也被提出来作为“过滤”的条件如效率性,即设计编程中要求具有较高或最佳效率,进入公有领域可以自由使用的成分,广泛接受的编程方式等。

3.比较

比较是三步判断法则的第三步。通过比较,确定被指控侵权的程序与原告程序是否相似或实质相似,是原先美国法院一贯采用的方法。引入三步判断法则后,美国法院对如何进行比较以及判定侵权进一步进行了探索,并提出一些新的观点和做法。

(1)比较只对抽象——过滤后的成分进行从Altai案、GatesRubber案和Autoskill案来看,部分法院认为,被过滤的成分应该完全不予考虑。相似性比较只能根据过滤之后剩下的成分,然后才作出判断。

(2)在Apple诉Microsoft案、BrownBag等案中,法院提出,程序中某些过滤的成分,虽然就其本身来说,单独是不受保护的,但这些成分可以组成一个比其总和更强的作为整体的可能构成可版权的表现这种观点源自于汇编作品(或编辑作品)的版权,对于那些本身不享有版权的材料,如果在将其进行编排、挑选等工作,构成一个汇编作品,并体现一定独创性的话,则该汇编作品也是可以享有版权的。显然这种观点也是合理的。值得注意的是,这些法院在提出整体可能有版权的同时,又强调了,在这种情况下的比较,应该要求更高的相似性。

(3)新的更高的相似性比较标准

美国判例法在处理软件版权纠纷中发展了判定侵权的相似性标准,其中最突出的是,提出了“实质相同(或完全相同)”标准。例如:第九巡回法院在Apple诉Microsoft案中提出,对单个元素的复制。侵权的认定标准是采取“实质相似性”还是“实质相同性”标准,要根据这些元素是否受制于限定原则,如外部因素等来决定。如果受制于限定原则,则应该使用“实质相同”标准。第五巡回法院在EngineeringDynamiss案中(1994年)也提出,如果技术和思想概念约束限制了表达思想的可行的方式,那么只有“完全相同”的复制才可提讼。

“实质相同”标准也被提出来应用于对程序作品的整体分析比较之中,第九巡回法院认为:对于那些大多数由可受保护的元素组成的作品,将在实质相似的标准下,提供“宽”的保护;而对于那些大部分由本身不受保护的元素所组成的作品,其保护范围只限于其所构成的作品的原创性的节选和编排,将在严格的实质相同的标准下比较分析,以提供“窄”的保护。

4.其他一些新作法

(1)“不计琐细”准则的最后删选

目前,美国有的法院在进行侵权比较分析后,即使发现“相似”或“相同”的部分或元素,还要将此部分与整个程序进一步比较,看其在产品中所处的地位和作用。如果此部分内容对整个作品的作用影响不大,就仍可能按照“不计琐细”原则,不能构成侵权的基础。例如:第十一巡回法院在审理Mitek案时,经过抽象——过滤——比较三步检测分析后,进一步使用“实质相同”标准,对程序作品进行整体比较,最后判定原告程序中5个非文字成分是可受保护的且与被告程序中的成分相似。但是,法院最终仍判决不存在侵权,其理由是这5个相似成分在程序作品作为整体中,缺乏重要性,属于原告程序中的“不计锁细”部分。

(2)一些标准的用户接口成分不受保护

近年来,美国出现了一系列所谓软件的“外观与感受”的版权纠纷案例。“外观与感受”不是一个版权术语,它被用来标识软件的各种非文字成分。例如:“外观”往往是指计算机程序的外在各种视听成分,屏幕显示用户接口的可见部分和其他可视的和可听的输出部分。“感觉”则往往包括程序中的动态的操作流程、键盘设计和其他能产生各种功能的方法等。从表面上看,“外观与感受”只涉及用户界面及其开发的版权问题。实际上,它必然与整个软件开发过程中的版权问题有关,特别是,这些案例的处理将影响到对软件开发中接口界面(不仅仅是用户接口)的版权处理。近年来美国“外观与感受”案例的处理结果虽然各不相同,但有一点是趋同的,即一些标准用户接口成分不受保护。例如:图形接口的基本特征,除了特别有其特色,与功能无特殊关系等成分之外,一般不受保护。这种处理方法,对于兼容性软件开发商来说,在处理难以回避的接口版权问题方面,将是有利的。

(3)判断侵权时更多地使用专家证据

现在,美国法院无论在抽象——过滤阶段,还是在比较和整体判断相似性方面,都更广泛地采用专家论证以判断是否侵权。早期,由于计算机软件的技术复杂性,专家的论证在案件判定方面占较重要的地位。以后,随着Whelan案侵权准则的简化,在“外观和感受”案件中,法院往往提出以普通观察者的观察和印象作为判决时的参考。如今,随着三步判断法则的使用,无论是抽象层次的划分,外部因素及其他限制原则的选取和使用,还是实质性相似的分析……都缺少不了专家的论证,这也是一般普通观察者难以胜任的。这是计算机软件本身技术特征所决定的。在软件版权纠纷处理方面,专家的论证已显示出越来越重要的作用。

四、结束语

篇4

一、引言

软件开发团队是软件研发企业中最常见的项目团队,一个软件从构想到真正出现在市场上,需要大量的从事不同工作的人共同努力,因此,软件研发企业目前的产品生产管理主要是以“项目”为主而进行运作。软件开发作为一项知识密集型的智力劳动,客观上要求必须对团队内部的知识进行系统的挖掘与利用,从而不断产生新的知识,才能保证高质量地完成开发任务。同时,软件开发团队是以特定客户为中心的任务导向团队,开发任务目标完全以用户需求为中心,开发任务的约束条件以客户要求为准,不能完全参考以往的任何模式,因此软件开发团队对知识创新的需求十分明显。本文对软件开发团队的知识创新进行分析,提出促进软件开发团队知识创新的措施。

二、基于SECI模型的软件开发团队知识创新

日本学者野中郁次郎在1991年提出了经典的知识创造模型——SECI模型,描述了在一个组织内部隐性知识和显性知识相互转化从而实现组织知识创新的过程。本文运用SECI模型,对软件开发团队的知识创新分析如下:

1.软件开发团队在社会化知识活动中的知识创新

软件开发团队中每个成员都有自己的隐性知识,而这些知识需要在与他人的交流中观察、感觉才能进行分享。由此,社会化模式通常是从设立一个互动的“范围”开始,在这个范围内促进成员经验和心智模式的分享。在软件开发团队中,社会化主要通过团队领导者积极的示范和指导、合理调整团队的结构,以及交叉培训等方式进行,以促进知识共享与创新。

2.软件开发团队在外化知识活动中的知识创新

外化(Externalization)过程是从个体的隐性知识到群体的显性知识的过程。由于外化从隐性知识创造出新的显性知识,所以它对知识创新至关重要。在软件开发团队中,外化过程一般由“对话或集体思考”开始,通过各种技术手段,将团队成员个人的隐性知识显性化,并融入到团队显性知识库中,以供整个团队利用。

3.软件开发团队在联结化知识活动中的知识创新

联结化(Combination)是从分离的显性知识到系统的显性知识的过程。软件开发团队中的管理者经常会收集不同来源的显性知识,并使用这些经过编辑的显性知识来创造新概念,另外,在开发工作中,也贯穿着知识的联结化活动。这个过程要求对团队内部的显性知识进行整合,在团队内部建立独特的知识系统,以便更好地整理团队内部的显性知识。4.软件开发团队在内化知识活动中的知识创新

内化(Internalization)过程是从显性知识到成员个人的隐性知识的过程。在软件开发团队中,项目计划,以及开发过程中的错误、经验,都记录在各种各样的文档中,这些构成了团队的显性知识,但要想让团队成员合理地利用这些知识,只有成员们真正地消化、吸收,使其转化为自身的隐性知识。这一过程可以通过组织培训,使团队成员通过学习各种手册、文件,以及他人的经验,扩充自己的隐性知识,促进知识创新。

三、促进软件开发团队知识创新的措施

软件开发团队可采取以下措施促进知识创新:

1.构建学习型的软件开发团队

其中首先是要建设有利于知识分享与创新的团队文化,其次是通过各种信息技术手段为团队成员学习提供便利。文化从意识形态层面对知识型员工的行为产生影响,在组织中营造浓厚的尊重知识和共享知识的氛围,为知识创新提供了无形的拉力。一方面,要保证团队内部畅通的沟通渠道,另一方面,通过建立各种激励机制,促使作为知识发送方的团队成员在已形成的“Ba”中自愿地贡献出自己的知识。这样就达到全体成员都乐于参与知识共享,最终发展成知识共享型组织文化(即学习型团队)的目的,从而促进了团队知识社会化及外化活动。

2.建立团队知识库系统

这涉及到知识的外化和联结化活动,并且为内化提供了有利条件,主要可以借助以下信息技术:①文档管理技术。利用文档管理技术,坚强团队知识分享,促进团队知识创新。②数据仓库与数据挖掘技术。这一技术通过将团队成员个人的隐性知识显性化,并融入到团队显性知识库中,为团队内部成员提供更多显性知识。

3.构建实践社区

在团队中构建实践社区,使团队成员在日常实践活动中相互影响,交流经验,就共同关注的问题进行探讨,共同解决问题,以便更好地挖掘隐性知识的价值。可借助信息技术,如知识协作技术,进行协同管理,通过建立内部网络,提供知识积累、交流的基本平台,其中对软件开发团队影响最大的是基于因特网这样的协作技术,包括电子邮件、短信服务、即时通信等网络交流工具,使各层级的成员都可以及时、方便地交流。

参考文献:

篇5

2软件工程中面向对象方法具有较强的可重用性

运用传统的方法开发出的软件,受到其开发方法、功能等因素的影响,软件只能接受、识别一些特定的数据,对于一些日常生活、工作中的问题难以进行灵活的应对,这就使得软件的应用领域及作用受到了极大的限制。而用户想要让软件能够解决更多的问题,就必须依靠软件开发者来对于软件进行升级更新。软件的可重用性差,不但用户要花费时间来对软件进行更新,甚至是更换其他软件,软件开发者也要花费更多的时间来保证软件的可用性,不利于更多创造性工作的持续进行。而运用面向对象方法所开发出的软件,则具有更强的可重用性,用户能够将这一类的问题都交给该软件来处理,而不必担心软件的功能受到限制,只要找到正确的软件使用方法,就能够解决所遇到的问题。而软件开发者也不必花费大量的时间来对于软件进行更新升级,这就为自己节约了更多的时间和精力,能够致力于开发更多具有创新性的软件。从而提高软件的可重用性,增强软件在市场中的竞争力,可见,面向对象方法是我国开发出更多可复用软件的一种重要手段。

3软件工程中面向对象方法具有较强的系统稳定性

运用传统方法开发出来的软件,由于其主要是通过数据的处理和特定的算法来解决问题,对于计算机系统的要求较高,当软件的某些功能改变或是系统大环境发生变化时,软件难以与系统兼容,就导致了软件无法使用。而软件要进行更新或优化时,由于要改变某些结构,就需要软件所运行的系统也随之变化,为软件的升级优化造成了困难。有时甚至会为了使系统能够运行软件,而进行系统的改变,导致了其他软件无法再正常运行。而运用面向对象方法开发出的软件,其解决问题的方式是依据实际解决问题的思路而展开,并且是通过对象来模拟实体,而实体相对于数据与算法来说具有更强的稳定性。其软件结构主要是依赖于自身的功能,对于系统的依赖性相对较弱。这就使得软件在运行时,不容易受到系统的影响,及时用户对于软件的需求发生改变,也不会影响到系统整体结构的变化,也就是说不必为了软件的升级优化而对系统进行改变。系统的稳定性强,也保证了软件能够正常运行,解决问题更为顺利,不会在解决问题的过程中出现差错而为用户输出错误的结果。

4软件工程中面向对象方法具有较强的系统可维护性

运用传统方法开发的软件,由于受到各个方面的限制,其系统可维护性较差,当软件与系统功能不相符的时候,只是修改软件难以解决问题,而要同时对软件和系统进行修改不但费时费力,成本费用也很高,软件对于用户的实用性不高,且难以维护,为用户长久的使用带来了更大的困难。而运用面向对象方法开发出的软件,则很好地解决了系统维护的问题。一是面向对象方法开发出的软件稳定性好。即使用户对于软件解决问题的功能发生改变,也只需要对于软件的某一部分设计进行修改就可以,而不需要对软件或系统进行大幅度的改动。二是面向对象发开发出的软件,具有较强独立性的类。这也就意味着,在软件内部对于其功能等方面进行改动,只要不涉及到与对外接口相关的改变,就不会影响其使用。三是具有极强的多态性及继承性。方便于用户根据自己的需求来对软件进行简单的修改和扩展。四是软件的功能及使用方法、输出结果容易被理解,用户能够及时地发现问题解决问题。另外,软件很容易进行测试,方便于用户对于软件进行调整。这些特点就决定了软件具有极强的系统稳定性。

篇6

一是JAVA编程语言的DatabaseConnectivity技术:该技术是对多重数据库进行统一,并且将数据库连接的方式给提供过来,将JA-VA编程语言应用到计算机软件编程过程中,并且调试编译这些语言,就可以连接相关数据库,更容易实现后台数据库管理体系。另外一个方面,将本种技术给应用过来,还可以帮助程序员来统一接口和类。对此,将DatabaseConnectivity技术给应用过来,就可以构建更加高端的数据连接工具,进而支撑后台数据。二是JAVA编程语言的Annotation技术:该技术是通过对JAVA编程语言内参数、变量、属性及类等内容予以联系并加以整合,在应用过程中与元素特点及属性相结合,可为使用人员提供相应的类别划分依据,科学分类,以便改变其行为。在这个方面,非常重要的一项技术是Beans,它作为一种安全高效控件体系,与开发平台是互相独立的,在编写程序的过程中,发挥着比较大的作用。三是JAVA编程语言的RemoteMethodInvocation技术:该技术所用程序可分布式就可以得到实现,另外一个方面,经过调用JAVA编程语言中对象和类,并且运行客户机和服务器间的程序,将这种技术应用到程序开发中,可以有效整合资源信息,并且可以分布式运用调试不同的小程序,促使程序的完整性和安全性得到保证。

2、计算机软件开发的JAVA编程语言在生活中的具体应用

根据本文论述内容可以看出,JAVA编程语言存在相应的优势,如今,已经被广泛应用到日常生活中,在不断发展的过程中,也在不断扩大它的应用范围,除了小型智能卡,在大型企业中,相关任务的完成,也需要借助JAVA编程语言的应用程序来完成,不同的应用平台,就会采用差异化的应用程序。在实际应用过程中,我们比较熟知的就是借助于JAVA编程语言应用程序来对动态的画面进行设计。在设计交互操作中也有很多的应用,如定向交互、选择交互、控制流程等,同时,还可以实现计算机软件开发中的可视化和可操作化,比较显著的体现在了网页管理和动态设计中。如今,我们从JAVA运行的环境角度上来进行分析,版本包括三个,它们有着不同的功能,有着差异化的服务领域,这样就可以灵活应对各个不同的网络服务。

3、JAVA语言未来前景

因为JAVA语言具有诸多优点,故其具有美好的应用前景,其未来发展定会和互联网需求相互绑定。笔者认为,JAVA语言应用前景包括以下几方面内容:面向对象(全部)应用的开发;在软件工程中用于开发实现、系统设计、需求分析及维护;中型及小型多媒体系统的设计过程和实现;用于消息传输系统的实现;在分布计算交易的管理应用,Internet系统管理功能模块设计过程,主要包含Web页面动态设计、网站信息管理及交互操作等内容的设计;WEB服务器后端和各种数据可连接管理器;Internet系统管理功能模块设计、Internet上基于WEB及JAVA的应用开发。数据库、用户及网络的安全扫描等诸多系统;应用及网络管理系统;其他应用类型程序设计之中。

篇7

1.2构建Android用户界面的问题在Android用户界面生成的过程中,可以分为直接使用代码生成与XML配置生成两种方式,以MVC原则着手,UI需要实现和程序逻辑相分离,所以可以在XML中对UI界面进行定义,从而使一个程序实现从一个界面到另一个界面的简单切换。Android应用程序的基本功能为Activity,但是并不直接显示在屏幕上,所以,要想实现这一基本功能在屏幕上的显示,就需要实现对UI的设计,需要通过对And-roid平台基本的用户界面进行利用来实现对元素的表达。在解决布局对象这一问题时,通常有线性布局、相对布局以及表格布局等。

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。

篇8

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

篇9

2软件复用技术应用于工业控制设备软件开发的必要性

随着我国的经济不断发展,我国工业发展规模逐渐扩大。为了适应日益激烈的市场竞争,许多大型企业都开始投入资金,建立起或者准备建立工业控制系统,实现工业生产管理信息化。工业控制系统的出现,可以加强技术人员对工业机器设备运行情况的监控,减少人员工作量,也可以降低工厂的人工成本,提高工厂的生产效率。建立工业控制系统需要开发工业控制设备软件。与其它软件相比,工业控制设备软件需要与多台设备接口相连接,运行环境较复杂,功能要求较高。由于软件要求比较高,所以工业控制设备软件开发的工作量较大。而随着我国工业生产管理信息化的深入和推广,对工业控制设备软件的需求量会越来越高。如果软件开发人员对每个软件进行单独开发,整个行业的工作量将很大,工作效率也非常低。如果可以开发出一个可复用的工业控制设备软件,软件开发人员在设计新软件时只需要在该工业控制设备软件上补充或修改内容,无需从头开始,从而大大减少软件开发的工作量。另外,运用软件复用技术可以实现行业内软件标准化,有利于统一行业标准,提高软件质量,减少软件运行时出现的问题。软件复用是提高软件开发效率和质量的有效方法。与传统工业相比,软件开发无法通过简单的复制来完成,这是由软件的物理性质和客户需求而决定。(1)软件的物理性质决定了软件无法通过简单的复制程序来完成开发工作。软件是一种数字化产品,包含了大量数据和函数,内在构造比较复杂。另外,不同的运行环境对软件的要求不同。目前,开发软件的编程语言种类非常多,软件开发平台也各不相同。软件编程师往往掌握一种以上的编程语言,根据运行环境选择合适的编程语言和开发平台。因此,每一个软件都具有其独特性,无法简单通过复制来完成开发工作。(2)软件的开发需求具有多样性特点。软件开发都是有针对性的,需要根据对象客户的需求进行开发。而不同客户的需求都不相同,因此无法像传统工业产业那样大量地复制和生产。在软件开发过程中,软件开发人员往往花费很多时间和精力去完成软件的框架和每一个组成部分。而通过观察可以发现,在需求相似的情况下,软件内容存在一定的共通性。随着软件的应用范围不断扩大,社会上对软件开发的需求急剧增加,传统的软件开发方式已不能满足软件产业发展的客观需求,因此有必要对软件开发方式进行改革。软件复用技术就是提高软件开发效率和质量目的的有效途径。

3工业控制设备软件开发中的软件复用技术应用

本文采用C++作为开发语言,使用MicrosoftVisualStudio2010作为软件开发平台,运用面向对象的方法,通过软件复用技术的应用来完成工业控制设备软件的开发,提高软件开发的质量和效率。

3.1工业控制设备软件设计

工业控制设备软件连接了需要控制的各项机器设备。在接通电源,采集系统通电后,系统自动完成初始化工作,软件进行初始化设置,用户登录信息验证无误后进入系统主界面。工业控制设备软件的程序模块主要包括用户管理、通信管理、信息记录管理和数据库信息设置管理等模块。用户的登录信息传到数据库后,与数据库的信息进行核对,数据库再将核对后的信息反馈到系统,系统根据数据库的反馈信息确定登录用户的权限。用户在权限范围内访问相关模块,进行操作。该工业控制设备软件连接到各台设备的串口,收集各串口的信息,及时反馈到软件的显示界面上。当设备运行情况超过软件设置数值时会向软件系统发出警告,系统可以及时反馈出现异常设备的运行情况,并将该情况进行记录并发送到数据库,形成历史记录。通过工业控制设备软件,可以实现技术人员对机器设备的实时监管,并且可以运用计算机处理并存储机器运行过程中的大量数据,避免人工处理数据时出现的失误,减少员工的工作量。

3.2软件复用技术应用

软件复用技术在工业控制设备软件开发中的应用主要体现在通过设计一个面向复用的工业控制设备软件,使得在以后的工业控制设备软件开发中,可以直接将复用软件中的构件用于软件中形成一个新的软件,减少工业控制设备软件开发的工作量。而要实现这一目的,就要运用分层次的体系结构模式,来搭建一个可重用的软件构架。软件分层次体系结构是软件设计的发展趋势[5]。在软件分层次体系结构中,每一层软件都建立在下层软件之上,下层对上层提供服务。软件分层次体系结构允许每一层软件用不同的方法来实现。每一层软件只会对上下两层软件产生影响,并且只对相邻层提供相同的接口。由于软件分层次体系结构的上述特点,运用分层次软件体系结构开发的软件可以支持扩充和重用。从软件开发的角度而言,简单地重复软件分层次结构中的下层软件并无意义。因此,在开发复用工业控制设备软件时应该考虑上层的服务接口设计[6]。具体设计为,在软件的数据抽象层上建立业务对象层,将业务逻辑编入业务对象层。业务逻辑层中一般包含有确认用户登录信息、记录系统日志和数据库存取权限等功能,与数据库引擎相分离。在进行其它相关软件设计时直接将这一层连入软件结构的相应位置就可发挥业务对象层的作用。根据软件分层次结构的有关原则,将工业控制设备软件的分层次结构设计为用户界面表示层、业务逻辑层和数据访问层的三层结构。为了保证分层次结构软件的可重用性,软件的层次功能传递是单向性的,即每一层软件可以命令下一层软件,但是每一层软件只能服务于上一层软件而不能调用上一层软件。因此,这三层软件由下到上的顺序为:用户界面表示层、业务逻辑层、数据访问层。用户界面表示层是最下层的软件层,负有连接用户与各接口之间数据来往的功能。当用户需要更改界面内容时,只需要修改相关数据,界面内容就会自动发生改变。用户界面表示层是最下层的软件层,其更改不会影响到上面两层软件的功能。业务逻辑层在用户界面表示层之上,负责对用户界面表示层传来的数据进行处理,具有确认登录信息、记录系统日志等业务功能。数据访问层是最高软件层,负责完成业务逻辑层传来数据后的数据库操作。这三层结构之间呈现单向依赖关系,即用户界面表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。根据该三层软件结构设计出的工业控制设备软件,在其它工业领域的控制设备软件设计工作中同样适用。该框架是由一系列的对象和对象之间的相互联系组成,程序设计人员只要将这些对象内的函数和大量数据进行补充,就可以得到一个复用的工业控制设备软件。而在后续开发类似软件时,程序员在该复用软件的基础上根据软件运行需要对内容进行扩充就可以设计开发出一个新的软件。

篇10

2基于Java语言设计手机短信加密软件实证分析

2.1利用的平台和技术

2.1.1Android系统

Android系统是美国谷歌公司在2007年推出的,依靠其强大的性能和开放性特点,瞬间成为了移动设备操作系统的佼佼者,从Android系统的架构上看,主要包括五个部分:LinuxKernel、AndroidRuntime、Libraries、ApplicationFramework和Applications。这五个部分构成了Android系统的整个系统,其Eclipse开发平台就是基于Java语言的扩展和开发平台,许多情况下Eclipse就作为Java集成开发环境下使用,但是其用途不仅仅局限在Java语言的开发中,是Java开发工具的延伸。

2.1.2DES加密算法

DES算法是1977年美国国家标准局采用的数据加密标准,主要是利用循环和迭代将简单的运算转变为非线性变换实现对于数据的加密和保护。在56位密钥和64位二进制信息加密成64位密文信息。其主要有三个具体的流程:首先,出事置换IP,将明文按照一定的逻辑和顺序进行顺序打乱;其次,乘积交换,进行16轮迭代;最后,逆初始置换IP,按照固定表顺序打乱,最终输出64位信息,此64位信息就是加密信息,从而完成整个明文信息的加密过程。由于DES在密钥位数和迭代数问题,导致DES存在明显的缺陷,而在实际操作过程中,3DES被普遍使用,其中包含了四中模式,分别是DES-EEE3;DES-EDE3;DES-EEE2;DES-EDE2四种使用模式。在操作过程中,手机短信的字符数较少,一般采用3DES加密处理。

2.2Android信息处理

了解Android信息处理机制对于信息加密软件的设计非常重要,只有了解了信息是如何处理的,才能更好的有针对性的对于信息进行加密处理。Android信息处理首先通过用户发出一条信息,发送到收件箱,调用收件箱的enqueueMessage函数,根据接收到的信息队列,将信息放入收件箱中。通过Loop从收件箱中从前往后取出信息,然后通过使用者的dispatchMessage函数进行信息的处理和加工,这个过程中,课件信息是由使用者进行处理和负责的。信息处理结束之后,使用者通过recycle函数再次将信息放入到收件箱中,从而为信息进行储存和方便下次信息的使用。这个过程中,由于信息的处理属于在开放环境下,信息很难实现加密处理,信息的安全性能也得不到相应的保障,所以在机遇Java语言下,针对信息加密问题,对于手机信息加密软件进行编程,从而获得更加安全的信息保护。

3基于Java语言的手机加密软件开发

3.13DES加密与解密

设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法,使用的密钥P代表明文,C代表密表。在结合之前我们所选择的代码,编写的算法是不存在问题的,那导致加密结果不同的原因在哪?针对此,主要原因出现在MODE和padding。所以在使用JAVA语言编码时,一定要主义采用相同的MODE和padding,只有这样才能够保证通信的正常使用。

3.2Java语言手机加密软件开发实现

在基于Java语言下利用DES加密算法实现手机信息加密软件的开发,在这个过程中,利用虚拟手机平台,进行加解密程序编写,模拟和实现加解密程序的运行效果,从而达到测试和使用加解密软件。(1)将手机连接到电脑中,在安卓虚拟平台下,对于加解密软件进行编程,为了更好的实现手机信息加密软件。(2)打开手机信息,进入到手机的短信收发界面。(3)在手机中运行J2MEMIDlet程序,点击手机的消息的便捷界面,从而进行手机信息的编写,编写完成之后,选择相应的联系人,从而完成整个短信内容的编写过程。(4)进入目标手机的接收界面,对于刚刚编写的接收信息进行编辑,从而达到解密的目的,解密完成后,此次加解密操作就算完成了。

4手机加密软件开发的难点

加解密软件利用的是JDK1.5,此次的实验主要是针对Android手机开发的应用软件,所以适用性上仅仅适用于安卓手机用户,不能够移植到其他系统中。在实际的软件开发过程中,DES加密密钥在Java库函数中是随机产生的,所以在操作的过程中用户没有输入相应的密钥操作,和普通手机发短信没有表面的区别。其中难点在于软件必须保证通信双方共同使用该软件,才能够正常的实现短信的收发功能,如果一方未安装加密软件,则加密软件就不能发挥相应的作用。

篇11

二、当前游戏软件开发在小学英语教学中所存在的不足

1.目前小学英语教学的游戏界面制作没有严谨性,没有给予其足够的重视。一般的游戏软件教学的过程中,界面所播放的画面与所要教授的单词、语法等内容能否一致,画面与情景介绍能否吸引孩子的注意力,文字内容与背景的融合是否合理等都没有进行严格的考虑与检查。2.游戏软件在小学英语教学的过程中在一定程度上忽略了学生对学习的主动性。游戏软件应用于英语教学,在软件界面上过于重复再现单词与语法,导致了学生在学习的过程中处于被动的地位,没有自主选择学习内容的空间。而教师在此软件中,无法调整完全适宜的软件进行英语教学,学生难以依据自身的基础水平选择恰当的游戏软件学习。3.游戏软件没有与教学方法相结合。当前小学英语的教学方法多没有与游戏软件相结合,这样既不利于小学生的英语学习,又使教学方法与游戏软件方向难以统一。教学上要求由浅入深,在教学中运用游戏化软件也应遵循这一理论,若教学方法没有与游戏软件相结合,根据英语的分级理论一步一步的进行教学设计,构建英语知识点的相关链接,学生则很难讲英语学习与游戏软件联系起来,增大了学生的学习难度。

三、游戏软件之于小学英语教学的实用性

游戏软件具有开放性。在融入小学英语教学的游戏软件的中英对白、情节介绍、人物形象都无形中训练了小学生的理解力与学习语言能力。还有,游戏软件的开发应用于小学英语教学,为小学生创造力类似真实的教学情景,其画面色彩、声音等都于人真实感,让小学生如身临其境,大大提高了小学生的表达能力。软件游戏中的曲调、节奏和韵律在英语教学的过程中不经意间开拓了小学生的音乐智能、辨别能力、记忆能力等。

篇12

目前,会计核算软件开发公司有300多家,经过财政部评审的会计核算软件已有40多个,加上各省市级评审的也达到200多个。这些商品化会计软件种类众多,但其功能却大同小异,通用性差,模块集成化程度不高,不能满足不同层次用户的需要。单机版会计软件中的会计数据的共享是通过传送数据文件的方式来实现,不是采用数据库服务器的方式,无法真正实现数据库资源的共享。会计信息化主要是通过网络技术支持的,信息化要求数据是高度共享与传输,会计数据不能实现共享或者共享有缺陷,都不是信息化所要求的会计软件。

1.2会计软件开发模式的局限性

软件公司开发会计软件,软件开发者往往并非专业的财务会计工作者,他们基本上没参与过企业财务需求与管理过程,对财会业务的特征和业务流程掌握不透,所知道的会计业务知识是企业共性的会计知识,所以各会计软件开发公司都特别强调各自的会计软件开发模式和优点,这样就造成大部分会计软件兼容性不好,使用方法上也存在差异,给用户使用带来了很大不便。软件商在开发软件时不采用标准,软件开发商为了突出自己软件的特色,会别出心裁地开发出各自软件的特色,致使会计软件多而杂乱,导致不同会计软件的数据接口没标准,使用方法不一致,造成报表汇总不统一、数据查询不方便。

1.3会计软件的业务数据处理流程不适应信息化的要求

会计电算化阶段的会计软件处理流程基本上是模拟手工会计的处理流程而设计的,不适应信息化的要求。目前市场上主流会计软件基本上是C/S模式,该模式通常应用于局域网中。该模式开发的软件基本上使用在用户固定的环境,客户端需要安装用户软件才可以使用,不适合面向一些不可知的用户。维护成本高,软件每一次升级,所有客户端的用户程序都需要升级,费时费力,很不适应信息化发展应用的要求,限制了企业信息化的步伐。国内目前大部分ERP(财务)软件产品即属于此类结构。

2会计信息化环境中的会计软件开发的研究

2.1会计软件的开发要适应社会信息化的大背景

社会信息化是信息化的高级阶段,社会一切活动领域都要全面实现信息化。随着互联网的诞生与发展,人类进入了信息化社会。会计信息化是在会计核算、会计监督、会计预测与决策等方面的全面信息化,要根据信息管理的原理和技术对会计流程和会计模型进行架构,使之符合信息化的要求。Internet技术环境的发展,为促进会计信息化的发展创造了良好的条件。会计软件是ERP的一部分,会计软件的发展要与ERP和企业信息化的发展相适应。

2.2适应移动互联网的发展,开发移动会计软件

移动互联网是信息化的关键环节,全球信息化又给移动互联网的发展提供了新环境和新机遇。企业要实现会计信息化,就要开发适合在移动平台上使用方便的会计软件。通过移动互联网,用户使用移动会计软件通过输入密码、指纹认证等安全环节登录会计数据服务器端,完成数据业务的办理,真正实现信息化的无缝连接。

2.3采用B/S模式开发会计软件,才会符合会计信息化的要求

B/S(Browser/Server)即浏览器/服务器,它是建立在广域网基础上的,是随着Internet技术的产生而发展的,是对C/S模式的一种变化或者改进的软件开发模式。B/S模式的使用,使得浏览器技术实现原来需要复杂专用软件才能实现的强大功能,节约了开发成本。B/S模式的程序和数据存放在服务器端,以浏览器作为软件客户端的统一界面。用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。该模式的软件面向不同层次的用户群,使用地域分散,C/S无法作到这点,运行环境与操作系统平台基本没有关系,这样有利于企业信息化的实现。3.4会计软件访问人员的普及,杜绝资金腐败问题腐败的本质归根到底是资金问题,会计软件如何做到监管作用。在软件中,可以考虑将所有的原始会计数据(票据)都以图片的形式存储,一旦输入,就不能改动,不再是冷冰冰的财务数据显示。软件开发商在开发网络会计软件时考虑利用软件进行会计职能监督,在软件中采用基于角色的访问控制(RBAC模型),设置不同用户角色。针对不同角色人员设置不同的权限,可以让单位不同角色的员工登录查询会计数据,其他部门的(政府监管部门)人也可以注册审核后登录软件系统,实施监督。

友情链接