时间:2023-10-24 10:35:58
导语:在计算机软件开发方法的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
关键词:输电线路 架线施工 计算软件开发
中图分类号:TM752 文献标识码:A 文章编号:1674-098X(2016)09(b)-0035-03
1 软件结构概述
根据工程需要将软件实现过程分为工程管理、文件处理模块、张力参数计算模块和动态仿真模块。工程管理模块实现对整个工程项目的管理,要求能新建工程和打开工程;文件处理功能主要针对DWG型文件,实现工程DWG文件中绘图比例设定,完成标注的DWG文件可进行校正及能够实现计算结果的标注;数据提取功能主要是实现计算模块中一些初始数据的提取,其中实现的必需功能包含从DWG文件中提取杆塔坐标和在DWG文件中选取危险点并能够设定相对净空距离;张力计算功能包含整个放线计算过程的相关计算(包含数据读取、曲线绘制和表格生成等);连续上下山的放线过程的动态显示。
2 开发工具
输电线路张力放线计算机仿真软件是基于AutoCAD二次开发平台产生的,利用VC++与ObjectARX编译软件相互配合、相互调用,从而完成仿真和受力分析。ObjectARX作为AutoCAD面向对象提供的二次开发工具。它在C++环境下设计应用程序接口,扩展AutoCAD的功能。同时兼备AutoCAD应用程序开发、创立以及内置AutoCAD命令模式相同的新命令、扩展AutoCAD类和方法及协议的使用等特点。
3 张力放线动态仿真实现
张力放线动态仿真主要类有如下几方面。
(1)tlModel类,用于维护牵放文档模型的管理类,它又具备如下功能:①是系统运行的枢纽,实现模块内部类的实例之间的数据传递,如,维护放线档列表、提供信息列表、调用求解引擎、设置图形的颜色、调用数据库等;②与视图进行对接,组织起各种具体的各项功能操作任务,如,初始化、计算、校核、绘制和动画各帧计算等;③实现对模型的存取,导出Excel结果工程表单。
(2)tlEngine类,求解引擎接口类,用抽象类实现,定义了初始化、非线性方程组的steffensen数值求解方法、根据危险点求解张力机制张力、连续上下山的计算、水平张力与挂点张力之间的换算、弧垂计算、张力机到各档张力的计算、滑车的3种校核(上场校核、垂直载荷校核、包角校核等)。tlEngine类由两个派生类实现不同的求解,tlCatenaryEngine类是基于悬链方程的求解类,因此求解精度更高。但当系统模型复杂、规模庞大时,会影响求解运行的速度。tlParabolaEngine类是基于抛物线方程的求解类,求解精度相对较低,但已经能够满足绝大多数工程应用。
(3)tlSegment类,放线档类,维护由用户交互输入的放线档数据,包括档号、两侧挂点、档距、档高差、挂点张力和水平张力等,并包含了一个危险点类的实例。危险点可以是无定义、危险点定义和水平线定义3种类型。危险点和水平线共用point数据描述,加上clearance描述净空距离。
(4)tlBalloon类,为提示信息类,用于显示滑车的校核结果、放线档计算结果信息(如弧垂、水平张力)、挂具差等信息。
(5)tlLibrary类,为数据库接口类,它访问数据库,并实现对导引线、牵引绳、导线、地线、光缆、滑车等数据表内各条数据记录的增加/删除/修改/查询等操作。
(6)tlPalette类,主要实现两个功能:①各个实现的图形对象和文字对象的颜色数据的维护;②辅助信息图层的数据。
4 软件界面实现
软件实现的主界面,工具栏中含有【文件】、【放线计算】、【连续上下山】、【弧垂观测】、【计算成果】、【数据库】、【视图】、【帮助】等选项。在菜单栏下面提供了几种典型操作的快捷方式,如,项目新建、文件打开、文件保存、放线计算等。
文件菜单下包含常见的文件操作,实现对已有的张力放线计算进行保存、查看、修改和牵放过程的动画演示。基本的张力放线过程分为3个步骤,如图1所示:(1)张力放线向导;(2)放线档数据采集;(3)计算参数设定并计算。
在软件启动后,选择“放线计算”,系统出现张力放线的设置向导。通过设置向导完成对数据源、牵放参数和牵放对象的设置。
(1)数据源设置。
数据源设置如图2所示。数据源有两种:一种是放线档表格,使用者可以指定用Excel记录的放线档档距、高差等数据来实现数据的自动录入;另一种是完成向导后,系统自动启动AutoCAD,使用者在AutoCAD环境中采集已有DWG文件中的挂点和危险点,来实现数据的录入。对于DWG文件,除了指定放线档数据的来源之外,用户还可以指定DWG文件中断面图的X和Y轴的缩放比例。
(2)牵放参数设置。
牵放参数设置如图3所示。牵放参数包括牵放方向和牵引的对象选择。虽然大多数情况下,都是张力机在左侧,牵引机在右侧进行牵放的。但也有少数场合是牵引机在左侧,张力机在右侧。软件提供了两种方式。
软件提供了4种牵引方式,包括导引绳牵牵引绳、牵引绳牵导线、牵引绳牵地线、牵引绳牵光缆。每一次张力放线的模型只针对一种牵引方式。
(3)牵放对象设置。
在设定了牵放方式后,系统将针对牵放方式的类型,设置对应的牵放对象参数。以图4所示槔,在上一步选择了“牵引绳牵导线”的方式后,在这一步,将出现牵引绳和导线的参数对话框。
牵引绳的参数包括名称、截面积、单位长度自重、许用张力等。导线包括名称、截面积、单位长度自重、弹性模量及导线根数等。光缆、地线的参数和牵绳的参数基本相同。使用者可选择采取新参数,也可点击“型号库”按键,进入数据库中选择已有的线绳型号,这样就大大简化了录入过程。图5所示为连续上下山计算的过程,通过选择开始段和结束段及导线类型和水平安装应力要求值,实现对上下山放线过程的计算。
弧垂观测提供了3种计算方式,即档端法、档内法和档外法。通过点击对应方法名称,则进入相应的观测计算,输入对应的参数,计算弧垂观测值。
计算结果分为两类,为方便操作,软件提供了直接通过点击计算成果菜单下面的“Excel文件”查阅计算结果和“动画”观看动态仿真结果的方式。
5 结语
该文主要介绍了软件的开发原则及开发工具,并给出了数据库的选择,给出了张力放线动态仿真的实现数据类。软件实现后,几个主要界面分别实现不同的操作,软件界面具有Windows风格,并且每一步都做了输入向导,简化了输入的步骤,提高了软件的可用性。
参考文献
[1] 陈锐锋.±800kV超高压直流输电线路特殊跨越张力架线施工技术[J].中国高新技术企业,2013(36):101-102.
[2] 石国政.基于AutoCAD的船舶静力学计算系统的开发[D].华中科技大学,2006.
关键词:计算机软件;开发;应用
近年来,科学技术得到了快速发展,其中,计算机软件技术的发展在一定程度上促进了人生生活质量和方式的改变。随着信息化时代的到来,计算机软件技术的应用更为广泛,并成为社会经济发展的重要推动力量之一。
1计算机软件技术概述
在计算机的使用过程中,人们除了要掌握计算机操作系统的使用技巧,还要学会相关专业计算机软件的使用方法。计算机软件包括两种类型:系统软件和应用软件。其中,系统软件实现的是计算机系统管理、维护、监控功能;而应用软件则是用来解决用户需求,例如办公软件、社交软件、设计软件等。人们在计算机的使用过程中,主要是通过软件来实现各种操作,在计算机软件技术发展初期,由于技术水平限制,软件的工作效率较低,无法实现大规模的应用。随着计算机软件技术发展的不断深入,不仅实现了基于计算机平台的软件种类、功能的丰富,其设计也更加趋于人性化。
2计算机软件技术开发现状
基于工业生产发展的需要,以及产业化结构改革的必然结果,以计算机软件技术开发为核心的现代化发展模式将逐渐取代传统产业结构类型,成为未来世界生产力发展的主导力量。在生产实践中,计算机软件技术开发的应用效果得到了肯定,并开始在社会诸多领域得到较为广泛的应用。然而,即便计算机软件技术开发在生产应用领域的优势较为明显,但是,相对于计算机软件技术开发相对落后的中国来说,计算机软件技术开发依然有待进一步的在计算机软件开发中所暴露出来的问题也不容忽视。(1)中国在计算机软件技术开发方面起步较晚,技术积累明显不足,在计算机软件技术开发方面的创新意识和能力依然有待提高。不仅如此,欧美发达国家在计算机软件技术开发领域对中国进行严密的技术封锁,在计算软件技术开发的核心领域,中国依然处于自主摸索状态,尤其是对于计算机系统软件方面的技术开发所存在的问题,对中国社会主义现代化建设产生了一定程度的影响。(2)计算机软件技术开发人才体系有待完善,尤其是高端技术人才领域的人才缺失,造成了计算机软件技术开发的周期的延长,还影响了软件质量。目前,高新技术企业在高端计算机软件技术开发人才建设方面投入了大量精力,却依然收效甚微,这已经严重影响了企业的发展。(3)中国在计算机软件技术开发过程中,由于受多种因素的共同影响,导致自主品牌的数量明显偏低,相关软件技术开发环境无法满足要求,硬件成本过高,在计算机软件市场领域无法与欧美发达国家抗衡。
3计算机软件技术的开发方法
基于计算机网络技术的不断进步,软件种类与功能得到了极大丰富,并且,随着社会发展过程中对计算机软件的需求不断提高,以及计算机软件行业的竞争日趋激烈,计算机软件技术开发方法的创新就显得尤为重要。当前,计算机软件技术开发的方法主要包括软件原型方法、生命周期软件开发方法两种类型,基于开发思想上的不同,软件开发人员可以根据实际需要选择与之相适应的方法。
3.1软件原型方法
在软件技术开发过程中,软件原型设计是其中需要完成的关键内容,在明确用户需求之后,计算机软件技术开发人员根据该需求进行软件的模型设计,并通过市场调查,对最初的模型进行修改,以提高其适应性,并最终确定软件模型。在软件原型法中,所使用的方法包括递增式、抛弃式、演化式等,设计人员与用户共同参与,从而使软件的设计更加符合用户的需求。与此同时,通过与市场同类型软件产品的对比研究进行分析,提出科学的修改建议,对软件性能进行完善,由此可以看出,借助软件模型设计,能够有效提高软件技术开发的效率。
3.2生命周期软件开发方法
在计算机软件技术开发领域,生命周期软件开发方法也被称为瀑布模型,通过对计算机软件设计开发的不同阶段,将软件开发进行项目化的管理,分为需求分析、软件设计、项目编码及测试等阶段,按照流程化的设计开发理念,逐项进行。在生命周期软件开发方法中,软件的设计开发有着明确的框架结构要求,这对于计算机软件技术的开发有着一定的指导性作用,能够提高软件设计开发效率。不仅如此,在软件后期使用过程中,也有利于软件技术维护工作的开展。
4计算机软件技术的应用
目前,计算机软件技术的应用已经覆盖到人们工作、生活和学习等方面的多个领域,随着计算机软件的不断优化,其实际应用效果将得到不断提高。在社会发展的过程中,人们对于计算机软件的要求也在不断提高,其应用领域也在随之扩大。目前,计算机软件的应用正在向着大数据处理的方向发展,基于硬件的支持,计算机软件将不仅在民用领域得到广泛应用,在军事领域的应用也不容忽视。例如,民用领域的视觉识别软件,经过软件设计人员在算法方面的调整,可实现低空飞行的地形匹配技术,从而取代传统的惯性导航和GPS制导方式。计算机软件技术的广泛应用,从另一方面也为计算机软件技术的发展提供了更多的反馈信息,基于应用领域的不同,在计算机软件设计方法与模块化设计方面均有着特定的需求。通过总结实际应用中所出现的问题,进一步调整计算机软件设计思路与方法,从而提高计算机软件的适用性,为计算机软件技术的开发积累经验。
5总结
计算机软件技术的开发水平,是一个国家综合实力的重要体现,随着计算机软件技术在生产力发展方面的作用日益明显,各国开始逐渐关注这一新的技术领域。通过专业化的开发方法,以及针对性的设计思路,计算机软件技术将得到更为广泛的应用。
参考文献
[1]袁志远.计算机软件开发的规范化探析[J].现代工业经济和信息化,2017(14).
2]王韵涵.计算机软件开发中存在的问题及对策[J].电脑迷,2017(07).
关键词:计算机技术;软件;软件开发;应用技术研究
中图分类号:TP311.52
二十一世纪是网络时代,计算机在网络时代扮演着重要的角色。随着计算机技术的发展,带动着社会的进步,也在悄然改变着人们的生活习惯以及生产习惯。在计算机的不断发展的时代,计算机的更新速度非常之快,这都源于计算机软件技术的高速发展。计算机软件技术的发展推动计算机的发展,带动新时代的发展,满足社会发展的需要。由于网络时代的发展使得计算机在工作和生活中被应用广泛并起到不可替代的作用,因此就需要不断加强计算机软件技术的开发,重视计算机软件开发技术,提高计算机软件技术开发的价值性、有效性以及服务性。这样可以更好的以推动社会发展。
1 软件的定义
在二十世纪五十年代左右,程序员就是计算机的生命。计算机的软件开发全部都是依靠程序员的手动进行。在当时,科技发展还处于萌芽阶段,发展还不全面。因此人们普遍的认为计算机开发的应用程序就是软件。随着科技的发展、网络时代的到来,计算机在飞速发展。从复杂化到简便化,从专业化到普遍化,从巨型化到微小化。软件的开发人员才真正的意识到软件必须有一个明确的定义,而不是简简单单的遵循以前的定义,所以软件需要被重新定义。而新的定义是要保证程序员对软件的认识不会随着时间而有太大的差距,要保证程序能够依照新的定义可以继续运行,要保证软件可以在新的定义下继续开发研制。在二十世纪八十年代,软件在时代的迫切需要下,被重新定义。所谓计算机软件就是计算机的程序以及为了实现这个程序所能达到的目的,编程人员所能采用的方法、规则以及能够和其相应的关联文档在计算机上进行运行时的所需数据。
2 计算机软件开发技术的应用
2.1 常用计算机软件开发技术
现在常用的计算机开发技术是多种多样的,不同的技术应用于不同方面的计算机工作。比如:(1)Web技术。Web技术全称是Web Services技术,该技术可以描述对象和记录数据并且保证文档的有效性。该技术一般被应用于跨平台服务标准基本的格式中。(2)XML技术。该技术可以在文件中储存结构数据和非结构数据,并且它的格式简单可以很容易被处理,该技术是在软件开发中普遍应用的技术。除了以上两种技术,还有很多编程技术。比如:JAVA、C++、flash、window、SQL等。这些技术都有其应用的主要领域。应用时要根据需要进行选择,保证达到更好的软件开发效果。
2.2 计算机软件开发嵌入式技术
嵌入式技术是一种将软件进行数字函数化然后再进行函数处理的技术。嵌入式技术的将函数本身所包含意义转变成软件的核心,这样软件就具备了实时性和持续性的属性,可以更好的满足软件开发的需要。嵌入式软件开发方法包括面向组件开发方法、面向过程开发方法以及面向对象开发方法。嵌入式技术开发的软件具有良好的性能,体积娇小,应用灵活。这类软件具有很大的潜能,可以进行大范围的推广。
2.3 面向对象和构件化的软件技术
在日益激烈的计算机技术开发竞争中,软件开发面临着复杂的竞争环境。因此软件的开发就面对着很大的困难,随着社会应用要求的变高,对应用软件的要求也随之变高。应用软件要求具备跨越平台的能力,具有开放的系统结构。传统的应用软件开发技术过于繁琐,最终导致系统的复杂化。而经过创新的应用软件开发技术就可以很好的解决这个问题。新的技术提升了应用软件的相互操作性、结构开放性以及可扩展性,更加利于工作应用。
2.4 新一代网络通信技术
网络通信技术是随着网络的发展产生的。其主要是以局域网和无线网的形式出现,具有数字化和信息化的特征。网络通信技术将世界连为一个整体,全世界可以依靠网络通信技术进行信息的沟通与交换。在网络通信技术出现前,整个世界是一个一个的信息孤岛,消息闭塞难以与外界交流,随着网络通信技术的应用,世界通信广泛,而这一发展对计算机软件开发技术有着不可磨灭的影响。
3 软件开发方法
在现在软件开发方法有三种,分别是:软件生命周期法、原型化方法和自动形式的系统开发方法。
3.1 软件开发的生命周期法
生命周期方法是从时间的角度对开发方法进行命名的。这种开发软件的方法就是将软件的开发和维护按照周期的形式进行分解,分为几个阶段。每一个阶段都有严格的开始和结束的标准。而这个标准就是按照每个阶段的工作质量为准。大部分的软件的周期是六,所以被分为六个阶段。
3.2 原型化方法
传统的生命周期法是建立在严密的理论基础上的,而通常用户无法给软件的输出、应用状况做出详细的描述,程序员也不能确定处理的方法以及操作效果。这样就导致对软件的情况没有详细的了解,因此就出现了原型化方法。原型化方法是弥补生命周期法的。
3.3 原型的三种形态
(1)纸上原型。在图纸上对软件进行模拟,并解释一些软件特征;(2)工作原型。简单制作一部分软件的功能,在计算机的执行过程中进行对软件的了解和创新的开发;(3)现有原型。可以利用一个现有的软件原型,在此基础上进行创新,并加以改善缺点。
3.4 原型法开发过程
一般原型法的开发过程包括可行性研究阶段、确定系统的基本要求阶段、建造原始系统阶段、用户和开发人员的评审阶段、开发人员修改系统阶段。而可行性研究阶段是一个软件开发的关键。
3.5 自动形式的系统开发方法
自动形式的系统开发方法的特点就是采用4GT技术(第四代技术)。而其中包含着大量的软件开发工具,只需要开发者进行简单的说明软件的内容以及功能就可以自动进行开发,自动进行软件分析,设计和编程。
随着时代的快速发展,计算机应用的方面越来越广泛。计算机软件作为计算机的重要做成部分,影响着计算机的应用。计算机软件作为计算机的灵魂影响着计算机的应用范围。而计算机软件的开发对国家的经济和科技发展有着积极的影响,因此就要重视计算机软件的开发和应用。作为计算机软件的开发人员就需要为开发新的软件付出大量的努力,为软件的创新做出贡献。
参考文献:
[1]范中平.计算机软件的深度开发应用[J].才智,2012(12).
[2]白昕.计算机软件的深度开发应用探讨[J].计算机光盘软件与应用,2013(20).
[3]于大弘.浅谈计算机软件测试技术与深度开发模式[J].中国新技术新产品,2013(21).
[4]胡玲芳.新时期计算机软件开发技术的应用研究[J].信息与电脑(理论版),2013(08).
1 计算机软件开发技术分析
1.1 计算机软件开发技术的主要特点
计算机软件主要包括系统软件和应用软件,计算软件开发技术具有很多突出的特点,一方面,计算机软件开发技术具有很高的社会使用价值,计算机软件开发技术在各个领域各个行业的广泛应用,极大地推动了社会的发展和进步,产生了多元化的社会效益。另一方面,计算机软件开发需要耗费大量的财力、物力和人力,是一项细致而又复杂的设计工作,在社会各个领域各个行业中发挥着中重要的作用。计算机软件具有多种多样的开发种类,主要的软件开发是系统软件和应用软件的开发,主要用于控制和管理计算机的运行,为用户良好的计算机应用界面,或者结合实际的社会需求而进行的软件开发,如游戏软件、人事管理软件、财务管理软件等。
1.2 计算机软件开发技术的原则
计算机软件开发首先使用规范的开发技术,保障计算机软件开发的质量和安全性。其次,计算机软件开发应该按照不同阶段的设计要求完成设计模型。最后,利用科学合理的方法,正确评估计算机开发软件,验证计算机开发软件的使用效果和质量。
2 计算机软件开发的常用方法
2.1 软件生命周期法
软件生命周期法主要是从软件开发的时间角度考虑,将计算机软件的设计、开发、评估、运行、维护等开发环节分成不同的阶段,每一个阶段都制定严格的标准,软件生命周期法可以帮助软件开发者制定科学合理的计划,逐渐完成所有阶段软件开发的过程。
2.2 原型化法
软件生命周期需要对计算机软件进行预说明和定义,需要软件开发人员全面了解用户的需求,深刻、准确、全面的认定计算机软件系统的主要需求和功能。如果在软件开发初期,用户没有给出详细的软件设计要求,开发人员不能全面确定软件的算法效果和实用性,可以采用原型化的设计方法,在原型化的计算机系统基础上,后期再进行修改,完善软件使用要求。
2.3 自动形式的系统开发法
这种软件开发方法主要应用了第四代软件开发技术,需要软件使用者明确的说明软件想要实现的主要内容和目标,然后结合计算机软件系统的要求自动地完成编码设计。
3 计算机软件开发技术的应用
计算机软件开发的主要目的在于不断开发创新新软件,不断优化现有的计算机软件,为人们提供更多元化的服务,推动社会的快速发展。因此,对于某一种计算机软件开发技术来说,只有充分体现出计算机软件开发的真正价值,才算是成功。
利用计算机软件开发技术开发出两个重要计算机产品,第一个软件开发产品利用VB6.0+Acess的单机版计算机运行模型,第二个软件开发产品应用Web+Xml+ActiveX的数据库服务模式。将这两个产品分别安装在客户端的计算机上。第一个软件开发产品采用了微软历史版的VB虚拟机和Acess驱动,在安装操作时,可以直接运行安装,计算机可以实现自动化的系统兼容,为用户提供了极大的便利。第二个软件开发产品由于应用了ActiveX组件,在安装过程中需要更改相关浏览器的参数设置,然后再进行安装设置,和第一个软件开发产品相比,第二个软件开发产品的安装过程比较复杂。两个软件开发产品安装完成后,经过一段时间的运行,第一个软件开发产品的运行过程中比较稳定,并且软件的安装维护修复都在独立的模块中,用户通过简单的操作,就可以单独完成。但是这个软件也有一定的缺陷,软件的运行时间越长,运行速度和效率越低,能量损耗严重。第二个软件开发产品在安装运行过程中,容易受到计算机运行系统版本的限制,并且需要修改浏览器的参数设置,软件的更新维护比较复杂,给计算机用户带了很多的不便。
计算机作为人们生活、工作和学习中使用的重要工具,只有不断提高计算机软件开发技术,才能更好地改善人们的生活,更好地服务社会,随着计算机的广泛普及,计算机软件开发技术人员需要按照用户的实际情况和使用要求进行开发设计,坚持以人为本的计算机软件开发原则,突出计算机软件的有效性和实用性,推动社会的快速发展。
4 计算机软件开发技术的重要性
计算机软件开发技术是支撑计算机软件工程的重要技术,使计算机逐渐实现网络支持和远程控制,充分体现出了计算机的使用价值。同时计算机软件开发技术将计算机的开发性和共存性合为一体形成计算机网络模式,促进了计算机网络的发展。在计算机的实际运行过程中,软件开发技术从根本上解决了用户软件需求和软件开发之间的偏差,极大地满足了用户的多种个性化需求,提高了计算机软件的便捷性、可靠性、安全性和高效性,为计算机软件开发技术提供了广阔的应用空间。新时期,计算机软件开发技术需要与时俱进,为人们提供更加多元化的服务,充分发挥计算机软件的价值,推动计算机快速发展。
(1)加强项目管理系统性的培训,建立和完善软件工程管理体系。建立一个有效和完善的管理体系,首先应该加强项目组成员尤其是项目经理在工程项目管理方面的系统性培训,避免在项目管理中单纯依靠个人现有的知识经验,使管理工作存在较大的盲目性和随意性。其次,应该加强对项目相关业务人员的培训,让项目业务工作人员也能从思想上认识到软件工程管理的重要性,使其既能理解和接受管理理论,又能熟练掌握软件工程的专业知识,从而提高计算机软件工程项目的执行力。另外,要建立和完善软件工程管理的制度建设,落实奖惩制度,激发项目组人员的工作积极性和工作热情,从而更好地实现计算机软件工程管理的目标。
(2)提高对项目计划的认识,进行合理的项目计划和控制。虽然项目实施过程中有很多不确定的因素,但是项目总体计划和阶段性计划的作用非常关键,科学的项目计划可以有效地降低软件工程项目的实施风险,可以有效地对项目进度进行管理和控制。项目计划在项目实施中具有承上启下的作用,在项目管理的重要阶段,在制定项目计划的过程中,需要着重考虑项目计划的系统性、动态性、经济性、相关性等方面的内容。
(3)加强软件工程的团队建设,建立完善的项目沟通机制。有效的团队合作是软件项目工程得以顺利开展的前提保障,有效的团队合作需要有效地界定各团队成员工作职责,使每个团队成员发挥各自的长处,并且使团队成员之间互补互助,从而达到整个团队最大的工作效率。同时,要建立和不断完善软件工程项目的沟通机制,项目中的重要信息需要进行有效的传递和反馈,避免因在制定计划、技术问题、项目成果、情况通报等方面的沟通不足,造成重复劳动和团队成员间的互相推诿,甚至造成不必要的经济损失。
(4)增强风险意识,加强计算机软件工程的风险管理。与普通的管理工作相比,计算机软件工程管理的风险较高,需要深入学习项目风险管理知识,掌握风险识别、量化、控制工具和方法,并在日常的工作实践中加强对于风险防范知识的累积,从而能够在项目实施过程中及时、精确地辨认风险,发现潜在的威胁与隐患,采取有效的措施进行风险避免、转移、减缓、消除等控制措施。
2软件工程的应用
1.软件工程的概念
1.1软件工程概念提出
20世纪50、60年代开发大型系统软件用手工方式进行,其生产效率低、出错率高。这种状态不能满足日益增长的软件生产的需要,产生以下四个方面的问题。a.软件复杂性飞速增长;b.软件成本高;c.开发周期长;d.维护工作量大。即出现了软件危机现象。为了摆脱软件生产的这种局面,在1968年北大西洋公约组织的学术会议上,第一次提出了软件工程这个概念。
软件工程是开发和维护软件的规范化方法,它的指导思想是以处理工程问题(如建筑工程、机械工程等)一样的方法处理软件生产的全过程。为了指导这种软件生产的整个过程,产生了软件工程学。
1.2什么是软件工程学
软件工程学是研究和探讨如何利用当代的科学理论和技术指导软件的开发,以达到利用较少的投资获得高质量软件产品的目的科学。软件工程学既是边缘学科,又是一种综合性学科。它包括计算机科学、系统工程学、管理学、经济学、人体工程学和心理学等。
2.软件工程的发展
软件工程的发展,大体经历了三个时代,即程序设计时代、软件时代、软件工程时代。
2.1软件开发的三个阶段
前面讲过用软件工程的方式生产软件的过程类似于机械、建筑工程生产产品的过程。如一个建筑工程(如立交桥、宾馆大厦等)从开始到结束,经历设计、施工和验收三个阶段。软件产品的生产也要经过定义、开发、维护的软件开发三个阶段。
2.2软件工程与其他工程科学不同之处
从上面建筑工程与软件二种产品开发阶段比较,可以看出:a.建筑工程流程图中,设计蓝图产生之后,往下的每一步没有回溯问题。
但在软件开发工程中,每一步都可能经历不只一次的修改和适应的回溯问题。b.软件交付使用后,还有一个运行维护问题,如运行后发现有隐藏错误、运行环境有变化、用户要求的变更等。
3.应用软件开发方法
一个大型的应用软件、如计算机辅助设计软件,大型仿真训练软件等,需要多人共同完成。为保证大型应用软件系统的开发质量,必须严格按照软件工程的思路和原则,采用软件的开发方法,使用软件工程提供的图示工具,组织软件人员协调一致地完成设计与开发任务。
现应用的软件开发方法主要有三种:软件生命周期法、原型化方法、自动形式的系统开发方法。
3.1软件开发的生命周期法
生命周期方法是从时间角度对软件的定义、开发和维护的复杂问题进行分解,分成若干个阶段。每个阶段的开始和结束都有严格的标准(前一阶段的结束就是后一阶段的开始。标准就是每个阶段都应该交出高质量的文档。软件生命周期一般分为六个时期,即六个阶段。
3.2原型化方法
传统的生命周期法的理论基础较为严密。一般说来,在软件开发过程中,首先要经过严格的定义或预先说明,并要求软件开发人员和用户在系统的开发初期就要对整个的功能和信息需求做出全面、准确而深刻地认定。通常用户给出概括性的软件目标而无法描述详细的输入、处理或输出需求。而软件开发人员也可能尚未确定处理算法的效果、操作系统的适用性及即将使用的人机界面形态。在这种情况下,对事务只有边干边认识,原型化方法就是基于这一主导思想。
3.3原型的三种形态
(1)纸上原型。这种纸张和墨水的模型解释了软件上的一些特征。
(2)工作原型。制作所需软件中的一部分功能,让其在计算机上执行,可使用户和开发者在一定程度上了解即将被开发的程序。
(3)现有原型。利用一个可运行的现成程序,完成所需功能的部分或全部,但是有一部分必须在新开发的基础上加以改善。
3.4原型法开发过程
利用原型法开发软件大致经过可行性研究阶段、确定系统的基本要求阶段、建造原始系统阶段、用户和开发人员的评审阶段、开发人员修改系统阶段。
关键词 计算机 软件 可维护性 一般方法
中图分类号:TP307 文献标识码:A
软件是计算机系统设计的重要根据,是计算机用户和硬件之间的接口界面,计算机用户可以通过软件和计算机实行有效沟通。在软件生命周期中,用户要对硬件和软件相结合的全局进行考虑,应用软件保护技术,防止破解合法软件,提升软件的可维护性。
1 对计算机软件可维护性的认识
计算机软件的生命周期涵盖两个重要阶段——开发期和运营期,运行期是系统有效发展的阶段。尽管在软件开发时,开发者投入了大量的人力和物力,以求尽可能地延长软件的运行周期,使软件发挥出更优异的性能。但事实上,在软件运行时,不修改软件是不可能的。计算机使用者总是希望使现有软件的功能得到扩张或移植。所以,在操作过程中,软件人员的任务是继续进行修改软件,这项工作就是所说的软件维护。软件维护一般包括三方面的内容:一是纠正性维护。这类工作主要是纠正软件存在的错误;二是适应性维护。这类工作主要是为能适应变化的外部环境,对软件应用程序做出修改;三是完善性维护。这类工作是为能提升系统性能或扩大其功能,也对软件进行更改。可见,该软件的运行过程也是开发商的维修过程,维护软件的价值也是不用多说的。根据调查表明,软件维护成本已占到整个软件生命周期成本的70%以上,软件的可维护性居于首位。随着软件开发的日趋深入,软件维护的难度越来越大,并已成为目前所面临的最大问题。
2 计算机软件可维护性的一般方法
在计算机软件的日常应用中,提高软件可维护性的措施是一项值得深入研究的课题,其一般方法包括以下几点:
2.1 提升软件工具模块化和质量技术
在软件开发过程,有效方法之一是提高软件质量和降低成本,其有效技术也是提高可维护性。它的优点是,如果需要改变一个功能模块,只需要改变这个模块,不会影响到其他模块;如果程序需要添加一些功能,只需完成这些功能,增加一个新的模块或模块层;程序测试和重复测量更容易,序列错误很容易发现和改正,以提高程序的运行效率。采用结构化程序设计技术,以提高现有系统的可维护性。这种办法需要掌握更换模块的外部特征,不需要把握其内部运作的状态。它可以帮助其减少新的错误,并有机会提供一个结构化的模块,并逐步取代非结构化的模块,运用自动重建结构和重新格式化的工具。
2.2 创建精密的软件品质目标和优先级
程序的维护性应该是可以理解的、可靠的、可修改和测试的、可移植的、可以使用和效率高的。为了实现这些目标,要付出的代价很大,也未必是可行的。一些质量特性存在互补性,如可理解性和可测试性、可理解性和可修改性等。然而,其他一些质量特性互相矛盾,如效率和可移植性、效率和可变性。因此,各品质特性的维护性要求可以得到满足,但它们相对重要性应遵循程序使用作用和计算环境变化而变化。
2.3 选择有可维护的程序设计语言
根据程序可维护性,选择程序设计语言,其影响是极大的。低层次的语言就是机器语言和汇编语言,这非常难以理解和掌握,也更难以对其进行维护。高级语言更容易理解,具有更好的可维护性,而低层次语言相对要差,但作为高层次语言,难易程度不一样也是可以理解的。一些第四代语言是过程化语言,而有些是非程序语言。不管是什么语言,程序编制出来都很容易理解和修改,但存在指令数量可能会少一个数量级,而语言编制数量级要多一个,其开发速度会快多倍。执行软件设计上,自我维护功能定义的引入,使软件更具生命力。系统自维护功能给系统设计带来了一定难度,需要采取一些额外系统资源占用,但随着计算机技术的发展,到今天为止,它的资源不被认为是一个重要因素,考虑到对系统维护性影响,达到自我维护功能是值得的。对于其他软件系统的开发,如在开发中能够充分考虑系统的共性和个性,添加到系统自我维护功能的观念,体现技术应用,且实现更好的发展。
2.4 加强计算机软件可维护性方法的研究
在软件维护过程,经常遇到一些问题,如频繁的员工流失率,已离开的原有开发商;缺乏文档资料,很难了解其他人的开发体系;不符合程序或文档的文件不适当,并很难理解,软件结构不合理,难以修改或修改后容易出现错误。该软件易于开发,但其难以维持,通用性较差,这是以前设计软件比较常见的通病问题,也是在同一个系统或重复开发的原由。重复开发会加强其系统功能,但单位人力、物力和财力资源会被浪费,而且还影响系统的正常使用。在软件开发过程,应充分和适当地思索,其系统通用性和自我维护能力,以避免系统开发重复是十分必要的,而且软件开发过程是需要重点留意的地方。如果要设计多功能易于维护的软件,就必须有以灵活、通用和易维护为主旨的设计方法和思路。体系共性和个性方法分析,实现了对系统自维护功能的具体保证。在实际应用进程中使用此系统,并且得到用户的好评。在该系统自维护功能概念基础上,调整其参数,其实可以做一个小的开发工具,进而可以开发类似的系统管理。这至少表明,引入该系统自维护功能定义,为系统使用和维护管理带来了极大方便。
在人们的日常生活中,计算机技术可以说是无处不在,以软件技术作为其内在灵魂的计算机信息系统,正在对系统高度集成化、结构广泛分布化、信息多元化和功能智能化等一系列新型发展方向越来越重视,并逐步在实践中得以实现。因此,必须在软件开发、应用的各个方面提高软件的可维护性,提升软件工作效率,满足用户的各种需求。
参考文献
[1] 徐涛.基于度量的软件维护过程管理.计算机光盘技术,2012(11).
软件作为计算机的灵魂,从计算机应用诞生之日起就主宰着计算机产业的发展。从二进制的指令到最先进的语音及图像识别系统,勾勒出了软件发展的趋势,即面向用户,方便用户,赢得用户。微软公司的成功有力地说明了这一指导思想在软件开发中的重要性。
1 软件工程的概念
1.1 “软件工程”概念提出
20世纪50、60年代开发大型系统软件用手工方式进行,其生产效率低、出错率高。这种状态不能满足日益增长的软件生产的需要,产生以下四个方面的问题。(1)软件复杂性飞速增长;(2)软件成本高;(3)开发周期长;(4)维护工作量大。
即出现了“软件危机”现象。为了摆脱软件生产的这种局面,在1968年北大西洋公约组织的学术会议上,第一次提出了“软件工程”这个概念。
1.2 软件工程学概念
软件工程学是研究和探讨如何利用当代的科学理论和技术指导软件的开发,以达到利用较少的投资获得高质量软件产品的目的科学。
软件工程学既是边缘学科,又是一种综合性学科。它包括计算机科学、系统工程学、管理学、经济学、人体工程学和心理学等。
2 软件工程的发展
软件工程的发展,大体经历了三个时代,即程序设计时代、软件时代、软件工程时代。
2.1 软件开发的三个阶段
前面讲过用软件工程的方式生产软件的过程类似于机械、建筑工程生产产品的过程。如一个建筑工程从开始到结束,经历设计、施工和验收三个阶段。软件产品的生产也要经过定义、开发、维护的软件开发三个阶段。
2.2 软件工程与其他工程科学不同之处
从上面建筑工程与软件二种产品开发阶段比较,可以看出:(1)建筑工程流程图中,设计蓝图产生之后,往下的每一步没有回溯问题。但在软件开发工程中,每一步都可能经历不只一次的修改和适应的回溯问题。(2)软件交付使用后,还有一个运行维护问题,如运行后发现有隐藏错误、运行环境有变化、用户要求的变更等。
3 应用软件开发方法
一个大型的应用软件、如计算机辅助设计软件,大型仿真训练软件等,需要多人共同完成。为保证大型应用软件系统的开发质量,必须严格按照软件工程的思路和原则,采用软件的开发方法,使用软件工程提供的图示工具,组织软件人员协调一致地完成设计与开发任务。
现应用的软件开发方法主要有三种:软件生命周期法、原型化方法、自动形式的系统开发方法。
3.1 软件开发的生命周期法
生命周期方法是从时间角度对软件的定义、开发和维护的复杂问题进行分解,分成若干个阶段。每个阶段的开始和结束都有严格的标准(前一阶段的结束就是后一阶段的开始。标准就是每个阶段都应该交出高质量的文档。软件生命周期一般分为六个时期,即六个阶段。
3.2 原型化方法
传统的生命周期法的理论基础较为严密。一般说来,在软件开发过程中,首先要经过严格的定义或预先说明,并要求软件开发人员和用户在系统的开发初期就要对整个的功能和信息需求做出全面、准确而深刻地认定。
通常用户给出概括性的软件目标而无法描述详细的输入、处理或输出需求。而软件开发人员也可能尚未确定处理算法的效果、操作系统的适用性及即将使用的人机界面形态。在这种情况下,对事务只有边干边认识,原型化方法就是基于这一主导思想。
4 软件工程开发的目标
4.1 可修改性
容许对系统进行修改而不增加原系统的复杂性。它支持软件的调试与维护,是一个难以达到的目标。
4.2 有效性
软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。
4.3 可靠性
对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。因为软件要实时地控制一个物理过程,一旦出现问题可能是灾难性的,后果将不堪设想。因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。
4.4 可理解性
系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
4.5 可维护性
软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。
4.6 可重用性
可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。
4.7 可适应性
软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。适应性强的软件较容易推广使用。
4.8 可移植性
软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。
4.9 可追踪性
根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软件开发各个阶段文档和程序的完整性、一致性和可理解性。
4.10 可互操作性
多个软件元素相互通信并协同完成任务的能力。为了实现可互操作性,软件开发通常要遵循某种标准,支持折衷标准的环境将为软件元素之间的可互操作提供便利。可互操作性在分布计算环境下尤为重要。
结束语
应用软件必须采用开发者易懂的程序设计语言的格式进行编写。最低级的编程语言是目标机直接理解的机器代码;与之相反,高级编程语言是指具有自然结构和数据抽象结构的“类英语语言”。高级编程语言的目的是使编程人员摆脱对计算机硬件知识的依赖性,从面向机器编程的方式转向面向高级语言。
摘要:伴随计算机技术快速发展,不断产生各种应用软件,并面向各应用领域满足需求,对软件进行维护和保护已成为软件行业所面临的一个现实问题。伴随软件工程的不断完善,使软件开发越来越复杂,并具有一整套科学方法,进而提升了软件系统的可靠性、可理解性和可维护性,提升了软件生产率,降低了开发成本。该文对计算机软件可维护性方法进行了探索和研究,并作出应有的贡献,希望为今后软件可维护性的发展做出一些应有的贡献。
关键词:计算机软件 可维护性 方法研究
计算机软件是用户和硬件之间的接口界面。计算机用户可以通过软件和计算机实行沟通,软件是计算机系统设计的重要根据。为能方便用户,让计算机体系极具较高的整体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并满足用户的需求。软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。在软件生命周期中,每个阶段均采取了科学和优秀的管理方法和技术,并在每个阶段结束前,从技术和管理方面实行严格审查,只有合格了才能进行下一阶段的工作,这使得软件开发工程项目全过程通过有条有序的方式进行,以确保软件的质量,尤其是提升了软件的可维护性。
一、计算机软件维护性概述
在软件生命周期,涵盖了两个重要阶段,包括开发期和运营期,运行期是系统有效发展的阶段,在系统开发时,出于花了很多大量人力和物力资源,所以,大家总是希望能看到,可以尽可能地延长系统的运行周期,使软件发挥更大的性能,与其他相对比,软件成本也较低。然而,这却尚未出现以确认该软件不存在错误的技术。事实上,该软件运行时,它是不可能不修改软件的,开发是一项大投资,可以提高生产效率,降低成本,并保证软件的品质,人们总是希望使用现有的软件,对其扩张或移植。所以,在操作过程中,软件人员的任务是继续进行修改软件,这项工作就是所说的系统维护。
二、计算机软件可维护性一般方法
1.提升软件工具模块化和质量技术
在软件开发过程,有效方法之一是提高软件质量和降低成本,其有效技术也是提高可维护性。它的优点是,如果需要改变一个功能模块,只需要改变这个模块,不会影响到其他模块;如果程序需要添加一些功能,只需完成这些功能,增加一个新的模块或模块层;程序测试和重复测量更容易,序列错误很容易发现和改正,以提高程序的运行效率。采用结构化程序设计技术,以提高现有系统的可维护性。这种办法需要掌握更换模块的外部特征,不需要把握其内部运作的状态。它可以帮助其减少新的错误,并有机会提供一个结构化的模块,并逐步取代非结构化的模块,运用自动重建结构和重新格式化的工具。
2.创建精密的软件品质目标和优先级
程序的维护性应该是可以理解的、可靠的、可修改和测试的、可移植的、可以使用和效率高的。为了实现这些目标,要求付出的代价很大,也未必是可行的。一些质量特性存在互补性,如可理解性和可测试性、可理解性和可修改性等。然而,其他一些质量特性互相矛盾,如效率和可移植性、效率和可变性。因此,各品质特性的维护性要求可以得到满足,但它们相对重要性应遵循程序使用作用和计算环境变化而变化。
3.选有可维护的程序设计语言
根据程序可维护性,选择程序设计语言,其影响是极大的。低层次的语言就是机器语言和汇编语言,这非常难以理解和掌握,也更难以对其进行维护。高级语言更容易理解,具有更好的可维护性,而低层次语言相对要差,但作为高层次语言,难易程度不一样也是可以理解的。一些第四代语言是过程化语言,而有些是非程序语言。不管是什么语言,程序编制出来都很容易理解和修改,但存在指令数量可能会少一个数量级,而语言编制数量级要多一个,其开发速度会快多倍。
三、加强计算机软件可维护性方法发展与研究
在软件维护过程,经常遇到一些问题,如频繁的员工流失率,已离开的原有开发商;缺乏文档资料,很难了解其他人开发体系;不符合程序或文档的文件不适当,并很难理解,软件结构不合理,难以修改或修改后容易出现错误。该软件易于开发,但其难以维持,通用性较差,这是以前设计软件比较常见的通病问题,也是在同一个系统或重复开发的原由。重复开发会加强其系统功能,但单位人力、物力和财力资源会被浪费,而且还影响系统的正常使用。在软件开发过程,应充分和适当地思索,其系统通用性和自我维护能力,以避免系统开发重复是十分必要的,而且软件开发过程是需要重点留意的地方。
如果要设计多功能易于维护的软件,就必须有以灵活、通用和易维护为主旨的设计方法和思路。体系共性和个性方法分析,实现了对系统自维护功能的具体保证。在实际应用进程中使用此系统,并且得到用户的好评。在该系统自维护功能概念基础上,调整其参数,其实可以做一个小的开发工具,进而可以开发类似的系统管理。这至少表明,引入该系统自维护功能定义,为系统使用和维护管理带来了极大方便。
领域计算机管理在企业中的应用范围更为广泛,程序更加深入。计算机管理应用程序可大致分为两个主要方面,即工业控制和信息化管理。信息化管理水平,即使市场上有很多的软件支持,但考虑到企业的实际情况,要能更好地适应自己的管理模式,并更有效地管理自己的信息,一些核心应用系统主要由企业自主开发达成。在大多数的软件管理上,报表类软件为大部分,它们处理的报表主要是计算总的检查验证等。
执行软件设计上,自我维护功能定义的引入,使软件更具生命力。系统自维护功能给系统设计带来了一定难度,需要采取一些额外系统资源占用,但随着计算机技术的发展,到今天为止,它的资源不被认为是一个重要因素,考虑到对系统维护性影响,达到自我维护功能是值得的。对于其他软件系统的开发,如在开发中能够充分考虑系统的共性和个性,添加到系统自我维护功能的观念,体现技术应用,且实现更好的发展。
总之,当前计算机技术在整个国民经济当中具有相当广泛的领域,在人们的日常生活中,计算机技术可以说是无处不在,以软件技术作为其内在灵魂的计算机信息系统,正在对系统高度集成化、结构广泛分布化、信息多元化和功能智能化等一系列新型发展方向越来越重视,并逐步在实践中得以实现。在软件开发各个阶段,软件的可维护性是在这一阶段形成的,因此,必须在整个软件开发的各个方面上,以提高软件的可维护性进行贯穿。学习和掌握软件生命周期的各个阶段,对软件的可维护性会产生一定影响,对软件开发和一般软件维护人员的实际工作具有极大裨益。
参考文献:
[1]丁剑洁.基于度量的软件维护过程管理的研究[D].西北大学,2006.