欢迎来到优发表,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

SCI投稿辅导 SCI发表咨询

期刊大全 杂志订阅 SCI期刊 SCI发表 期刊投稿 出版社 公文范文 精品范文

软件开发论文(合集7篇)

时间:2023-03-22 17:44:50
软件开发论文

软件开发论文第1篇

1嵌入式软件开发的特点

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

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

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

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

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

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

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

2软硬件协同设计概念

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

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

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

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

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

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

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

4结束语

软件开发论文第2篇

软件开发论文2900字(一):动调式陀螺仪数据处理解释软件开发与应用论文

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

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

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结论

a.整个软件的设计契合了随采地震监测系统的特点,实现了随采地震信号的高效采集、完全存储和与处理软件的实时通信,软件具有运行稳定、操作便捷、处理高效、便于维护等优点。

软件开发论文第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篇

致谢一:

论文是在导师***教授的悉心指导和关心下完成的,值此论文工作结束之际,学生谨向*教授致以崇高的敬意和衷心的感谢。

在攻读硕士学位期间,*教授在学业、生活上给予我许多的关怀与鼓励。特别是在科研项目中给了我莫大的信任和支持,使我得到了全方位的锻炼和提高。*教授敬业爱业的精神、敏锐的科学思维、诲人不倦的师者风范和理论联系实际的思想方法,使我终身受益。授业恩情,永生难忘。

感谢西北工业大学系统集成与工程管理研究所的全体工作人员。在这个充满朝气、勇于迎接挑战的团队的不懈努力下,顺利完成了多项企业信息化推广应用项目。作者在与课题组成员的合作中延伸和拓宽了自己的知识面,同时也锻炼和提高了自身的综合能力。

另外还要感谢本组的***博士、**博士——以及研究所的其他同学,在课题研究的过程中,他们在技术上及其他方面给了我许多建议、帮助、支持和鼓励。此外,航天四院兰凌厂的相关工作人员在课题调研、开发及实施过程中给了我极大的支持,配合课题完成了许多工作,在此也要感谢他们的帮助。

最后,感谢父母和家人对我自始至终的支持和关心,在我遇到困难和挫折的时候始终给我鼓励和信心。衷心感谢大家!

致谢二:

在三年的研究生学习期间,我得到了很多老师、同学、同事的指导和帮助。

首先我要衷心感谢我的导师**教授的悉心指导和关心。在研究生的学习过程中,导师对我的课程学习和毕业设计进行了细致和全面的指导,不仅及时解决我在研究中遇到的问题,而且为我提供许多宝贵的科研资料,为我的学业和研究付出了大量的心血。同时,*老师以渊博的知识和深厚的专业素养深深感染了我,他在解决实际问题时敏锐的洞察力、高效的作风以及在治学上的严谨也使我受益非浅。

我还要特别感谢四川宜宾**光电玻璃制造有限公司,高级工程师**导师的悉心指导和建议。感谢宜宾学院的计算机系的*林教授、**中主任、**实验师,在课题过程中他们给了我宝贵的意见和指导,并帮助我一起在机房对软件进行测试。同时还要感谢经常和我一起研究、讨论的同学,以及宜宾学院计算机系全体同事们。

软件开发论文第5篇

调试也是软件开发不可或缺的一个环节。在常见软件开发中,调试器与被调试的程序往往运行在同一台机器上,通过操作系统的调试接口来控制被调试的进程。而在嵌入式软件开发中,采用的是交叉调试,即调试器运行在宿主机上,但被调试的程序运行在基于特定平台的目标机上,调试器与被调试进程通过串口或网络进行通信。不管是交叉编译还是交叉调试,都需要把文件从宿主机传送到目标机。如果考虑团队合作开发、开发环境不完全一致等因素,开发者经常也需要把文件在不同系统之间或通过网络进行传输。所以在嵌入式软件开发中搭建一个良好的文件传输环境是提高嵌入式软件开发效率的一个关键因素。

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结束语

软件开发论文第6篇

任何一个好的跨平台软件开发的实现,主要还是对整体设计的把握,跨平台程序设计要求实现与平台无关的代码,在设计和编写的过程中,还要对软件的架构和整体配置的合理性问题作出考虑。思路,我们可以结合自身学习和实践经验在程序设计方面充分利用开源的代码和程序,就可以让跨平台的设计更加地趋于成功。

2C++程序设计语言跨平台开发的策略

我们在编写程序代码的时候,总是要把编辑策略放在首位,针对于不同的OS,在其上创建和编辑文本文件,就要遵循不同的规则。比如行结束符,在Windows操作系统和DOS操作系统中普遍采用回车键,而在Unix中却使用的是换行符号。这种细微的差别就是跨平台软件开发必须考虑的问题。那么当我们要想把其中一个平台上编写的代码放在另一个操作系统上运行,极有可能出现不被正确解释的现象。另外,对于不同的操作平台其tab键的功能也有很大的区别,主要体现在间距上。那么我们在编程的时候要注重这些差别,保证代码的书写和阅读对于不同的操作平台都是一致的,增加程序的可读性,进而也就实现了跨平台的思想。所以在每次开发之前都需要针对开发策略制定相应的规则:统一使用四个空格键来代替tab,也就是\t格式。Windows下的源文件代码需要存储在UNIX的文件格式,或者说是在Windows下的文件编写完成之后,通过DOS2UNIX命令实现文本格式的转换。

3处理器差异的控制

鉴于C++语言自身语言的特点,建立了一个跨平台的抽象代码库,在不同的平台和编译器上进行合理的规划代码。C++语言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost标准类在不断的发展和改进过程中,完全能够帮助跨平台操作中的软件和程序来适应OS系统库的内部接口的不同,可惜这些不足以解决全部问题,主要是因为目前Boost没有包含所有的库函数的类库,又会出现不确定的情况,那么关于C++语言的部分也应该及时的维护和更新。在平台上,利用库封装代码,又在不同的平台下调用已达到统一代码的目的。

4利用wxWidgets开发跨平台软件

wxWidgets是一种跨平台开发的软件包,目前使得在跨平台的图像设计方面使用自身的程序。因为其兼容性相当的好,对于Windows,Linux,Unix等都兼容。而且,wxWidgets的底层是用C++程序设计语言实现的。下面用一个实例将说明wxWidgets的跨平台问题。首先创造一个wxFrame的实例,并制定长宽和屏幕上的位置。然后,新建一个垂直的sizewidget和顶层窗口的子sizer。然后,再创建一个垂直sizerwidget和一个水平子sizer。最后创建wxStatic实例以及为这个敞口应用中添加事件响应。以下将展示一部分核心代码。在设置完这个窗口之后,还需要新建一个类实现一写功能。

5结论

软件开发论文第7篇

分层技术在计算机软件开发中的应用,大大提高了开发的速度和质量,是现阶段我国软件开发中最为重要的技术种类之一。为了能够更好地发挥其技术优势,下面针对其各部分重点内容进行分析研究:在计算机软件开发中,分层技术的应用需要严格按照一定的措施和规律和进行,首先必须要将分层技术的相关理论以及概念进行掌握和熟悉。分层技术包括了计算机以及物理学两个方面的含义,在这两个方面中,物理含义的内含较为复杂。具体来说,在计算机软件研发的时候,分层技术就是将不同过程的解决方案置于不同的概念领域中,然后这整个层面就会形成一个较为封闭的体系,而这个体系中包括的不同层面在级别上都是平等的。针对软件开发的构架方面,分层技术的优势得以有效凸显,在最初的时期,软件开发构架只是一种单层的构架,直到20世纪后期才得以快速发展,并在一些小型的数据库中得以应用。而单层结构向双层结构发展,则是从服务器与计算机之间的建立联系开始的,服务器与计算机得以联系,并快速发展,从而不断完善,形成了目前的计算机软件结构。由于计算机的双层结构中存在很多难以避免的缺陷,因此在不断发展的过程中,其弊端也更加凸显,在无法满足人们需求的情况下,分层技术的出现有效解决了上述问题,并逐渐发展成为我国计算机软件开发技术的主要发展趋势。

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

分层技术目前在我国已经成为了主流的技术种类,其在我国计算机软件开发中的应用也越发普及,下面进行具体分析:

2.1双层技术的应用

从种类方面来看,分层技术主要有三层、四层以及多层次之分,但是这些都是在双层技术的基础上发展起来的。在不断的发展过程中,软件的开发效率也得以提升。我们首先针对双层技术进行研究,这项技术在我国软件开发中的应用,主要就是针对两个端点进行,也就是客户端和服务器。客户端会依据不同用户的资料为其提供所需要的使用界面,处理其中所产生的各种逻辑关系,然后服务器是用来接受客户的各项信息,在经过数据库进行相关的计算和总结,最终向客户端传达并使用。这项技术的应用大大提高了计算机的运行效率,但是其必要的条件就是用户所使用的服务器,性能方面要有所保障,同时用户使用不适合太多。一旦这两个要素没有保障,就会导致服务器因为工作负荷过重而出现系统性错误、计算机反映慢等问题也会出现,这样一来成本就会不断增加,问题严重的话,还会导致人格数据的丢失,所以说在当今的研发中,这项技术已经逐渐被其他技术所取代。

2.2三层技术的应用

上文已经提到,三层技术的研发是建立在双层技术基础之上的,针对双层技术中不完善以及有缺陷的部分进行改进,并相应地增加了应用服务器,这种服务器在计算机使用方面发挥着巨大作用,能够针对用户的各种数据进行储存和整理,同时也大大提高了计算机信息访问的效率,最为关键的一点是实现了人与计算机之间的交互。这种三层技术实际就是将业务处理、界面层次以及数据层次相结合,建立一个有机整体,相互独立运行,共同为计算机服务。其中的界面层主要是进行科学的收集用户使用软件的需求,收集完成后需要将这些需求发送到之后进行工作的业务处理层,其次由业务处理层通过对这些用户的需求进行分析,做出相关的申请请求在数据层进行数据的提取与处理,最后在数据层进行相应的处理,对相关的各种信息进行查询,针对这一系列的分析之后,将结构反馈给业务层,最终是由业务层完成工作的处理,再回到最初的界面层。以上所阐述的整个过程就是对系统的建立过程,正是因为这样的处理,实现了系统工作效率的提升。

2.3四层技术的应用

在计算机软件的开发中,双层技术和三层技术都难以应对计算机使用复杂的环境,需要将三层次技术中的界面层、业务处理层和数据库层科学地分开,这样才能够不断降低这几个层次之间的相互影响,因此需要将三层技术逐渐向四层技术发展,其中四层技术主要包含有业务处理层、web层、数据库层以及存储层。

2.4中间件技术的应用

分层技术在计算机软件开发中的应用,可以针对不同部门进行优化,目的就是充分发挥其潜能,实现优势互补,提高计算机整体的运行效率。正是因为分层技术的合理应用,才使得软件开发的质量大大提升。另外,还有效地降低了各种复杂问题的发生,简化了计算机操作,只要利用单项操作就可以独立完成计算机软件的开发,进而实现我国计算机软件开发的高效性与高质性。

3结语