远程控制软件

2022-03-24 版权声明 我要投稿

第1篇:远程控制软件

家用电器远程控制系统软件设计

【摘要】智能家居已成为了当今的热门研究课题。智能家居控制系统给越来越多的人带来了生活便利。本文将对通过单片机与红外遥控系统的结合来实现家用电器的远程控制家用电器的远程控制系统的软件设计系统进行设计。

【关键词】家用电器;远程控制;系统软件;设计

1主程序设计

软件的基本工作原理是:单片机串行口拓展为并行口时对移位寄存器数据的不断查询和单片机对查询所得的数据的不断处理。在固定定时的情况下,单片机每隔一定时间就读取锁存来的串行数据,再根据不同的数据查表对比,然后跳转到相对应的指令操作地址入口,最后才执行对应的操作(即对事先约好的I/O口输出逻辑电平)【20】。与此同时单片机会用一定的计时功能来辅助主体程序的运行。

当通电时程序开始对硬件初始化,单片机对定时器0置初值及开中断等。然后单片机根据红外接收器接收内容进行判断,当输入密码正确时硬件上绿色指示灯亮起,系统进入控制功能,根据已设置好的1,2,3来分别控制三个继电器的开关,从而达到控制电器开关的目的。

2 红外接收程序设计

(1)NEC和RC5编码介绍

目前市场上的编解码芯片有很多,其中有东芝公司、SONY公司、三菱公司、JVC公司的编解码芯片,很多厂家都制订了不同的编解码通信协议,下面介绍两种兼容性好的编码形式:日本的NEC编码和荷兰的菲利普(RC5)编码。

RC5编码:

RC5编码由非利浦公司推出,其编码芯片有SAA3010,SA3006等,是应用很广泛的一种编码方式。

RC5编码采用双相位编码方式,用不同相位代表“0”和“1”。传送每一位的时间为1.778ms。

图3.1RC5编码逻辑电平

NEC编码:

NEC编码由NEC公司推出,其典型芯片为uPD6121,uPD6122,除了NEC公司的产品,市场上还有大量与之相兼容的产品,如PT2221,PT2222,SC6121,SC6122,SC9012等等。是应用最广泛的一种编码方式。

该编码方式采用脉冲位置编码方式,利用脉冲间的时间间隔来区分“0”和“1”。

图3.2 NEC编码逻辑电平

(2)本设计通信协议

红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。通讯一般采用红外波段内的近红外线,波长在0.75um至25um之间。红外数据协会(IRDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通讯效果,红外通讯协议将红外数据通讯所采用的光波波长的范围限定在850nm至900nm之内。

本设计中遥控器在编码时出来的信号经过振荡器的作用调制载波在38KHz左右,将其从红外发光二极管发出,LT0038内的光敏元件在收到红外信号后送到后续的放大、滤波和整形等电路。然后输出TTL电平来送给MC145027解码,解码后经移位寄存器串行送入单片机处理。而红外通信的核心就是编解码芯片的协议问题。

由于MC145026/27中的五个地址引脚有高电平、低电平和悬空三个状态,其地址应该有243种状态。

3 程序实现

红外信号经过接收处理后它会并行输出给移位寄存器,单片机会以时钟信号控制移位寄存器串行读入信号。而软件处理首先就是如何接收串行信号。那么串行输入的程序就是软硬件的契合点。红外接收程序就是基于串行数据的读取来实现的。

(1)串行口介绍

本设计采用的是半双工异步通信串行口,移位寄存器将以数据帧的形式一帧一帧的发送给单片机。串行口有四种如下工作模式:

方式0:

为同步移位寄存器输入输出方式,常用于外接寄存器,以拓展并行I/O口,不适应于两个单片机间的串行通信。方式0以8位数据为一帧,不设立起始位和停止位,现发送或接收最低位,波特率为固定的fosc/12,本设计中就采用方式0的工作方式。

方式1:

SCON中SM0和SM1两位为01时,串行口以方式1工作。方式1真正用于数据的串行发送和接收。其接收的1帧数据为10位,一个起始位,8个数据位,1个停止位,先发送或先接收最低位【28】。此时串行口为8位异步通信接口,其波特率如下:

式中SMOD为PCON的最高位的值(0或1)。

方式2和3:

串行口被定义为2和3时,被定义为9为异步通信接口。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控为1或0的第9位数据和1位停止位【29】。两种方式基本波特率如下:

由此我们可以知道方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的。在用定时器T1作为波特率发生器时,其波特率计算如下:

由上几个公式知道,定时器T1可以随着晶振的不同而产生不同的波特率,这样它就可以适应不同的设计需求。这也是选择这款单片机的重要原因之一。

4、小结

在家电遥控越来越趋于智能化的情况下,红外遥控的技术也在日新月异的蓬勃发展中,本设计的遥控器就是新技术下应运而生的产物。其在通信中有比较强的信号穿透能力,一般10米范围内有效,可以控制3个家用电器(电饭煲、空调、热水器等)工作和复位,、并且还有很大的拓展空间。本人相信其未来发展会更有前景,同时也相信在目前电磁波应用存在不足的领域中红外通信会越来越起到举足轻重的作用。

作者:蒋小祥

第2篇:软件测试过程质量控制管理研究

摘要:随着信息技术的发展,软件已经渗透到人们生活的各个领域,成为人们生活中不可缺少的一部分。但就目前我国的软件行业来看,由于整体发展时间较晚,在短暂的发展进程中并未建立起一个完善的软件测试体系,尤其是在相关技术、标准的制定与普及上,相较于国外发达国家仍然存在一定的差距。这一情况的存在,导致我国软件质量风险等级的居高不下,不利于我国软件行业的发展。为此,如何在现有软件行业资源的基础上,尽快建立起一个完善的软件测试过程质量管控体系,就成为了众多软件行业从业者所关心的重点问题。

关键词:软件测试;质量控制;管理措施

1导言

伴随软件的广泛使用,人们对软件质量的要求越来越高;同时由于软件系统变得越来越复杂,如何提高软件质量成了广大计算机技术人员所关注的问题,这使企业软件的开发和测试面临着巨大挑战。软件质量对促进软件产业健康有序发展具有重要意义,软件测试是保证软件质量的可靠手段。标准化作为规范软件质量与软件测试的技术手段,可以提高软件产品质量、减少软件开发与测试费用,为公司的发展提供引领与支撑。

2软件测试的必要性

软件测试技术是伴随着计算机软件出现的一种专门测试软件性能以及安全性的技术,涉及到的内容比较多,不仅包括软件性能和功能的测试,同时也涉及到软件开发时的任务。简而言之,软件测试的周期比较长,含软件性能测试时间,软件开发及修复的时间。因此,软件工程对软件测试技术有很高的要求,需要通过软件测试技术能够快速准确的找到计算机软件中存在的各种问题,以帮助软件开发人员能够对这些问题进行集中处理和解决,保证交给用户使用的软件,都是性能、功能、安全达标的软件。总而言之,软件测试是软件开发的核心环节,贯彻计算机软件研发设计的整个过程。软件工程立项之初,软件测试也就正式开始,从计算机软件需求分析开始,一直到最终的投入使用,软件测试都具有无法代替的作用。

3软件测试过程中存在的主要问题

面对如此繁杂的软件测试工作,要想确保测试工作得以保质保量的完成,需要的不仅仅使测试人员细致、专业的工作态度,更需要软件设计人员、测试人员之间的共同协作,缺少任何一方的参与,都无法保障软件测试流程的顺利进行。但在实际工作中一般在软件研发完成之后才开始软件测试工作。这种做法,容易使得测试人员无法尽早的参与到软件设计当中,一旦在后期的成品测试中发现软件存在系统问题,将面临高额的修复成本,且还会因修复时间而导致软件产品的延期发布。此外,在实际工作中,可以发现个别企业软件测试人员基于自身急于求成的心理,在测试之前并不会划拨出足够的时间用于认真书写测试用例。片面的认为对于小软件的测试,书写测试用例会耽误时间,拖慢测试速度。虽然此种做法在软件测试之初,或许会显现出稍快的测试工作进度,而一旦进入到测试中后期,面对复杂的测试工作任务,由于缺少详实测试用例的指导,测试人员只能够依靠各自的经验、习惯开展工作,由此导致测試小组整体步伐、进度、目标、要求差异化情况的出现,最终拖慢了整体测试速度,造成了软件测试效率低下问题的发生。

4软件测试过程质量控制管理措施分析

4.1提高测试数据的准确

在软件测试工作中,测试数据是衡量测试工作效果的重要工具。因此在具体的测试过程中,需要保持数据的准确性。但是用户在使用过程时,往往会出现数据存储的模糊认识和发送重复无用请求的信息的情况,进而降低了数据信息的准确性,影响了软件测试的效果,并且存在于软件测试方和数据用户方两者间的不准确将会为用户带来一系列的方面体验,更不利于后台的正常地进行数据记录工作,为后续的软件测试造成方面影响并形成恶性循环。因此在数据库正式应用之前,相关工作人员必须要对数据库应用软件实施有效的检测,在检测的过程中,工作人员需要兼顾性能效率、容错性、可用性、扩展性、稳定性以及兼容性,要把错误信息出现频率尽可能调低。只有通过测试后,才能让数据用户进行使用,只有这样才能让类似的问题数据产生的可能性降到最低,从而保证数据信息的准确性,为数据维护提供更良好的使用体验。

4.2规范测试流程

软件测试流程一般都会涉及到软件测试活动、策略等相关内容,是在多因素的共同作用下所完成的一项活动,详实、规范的测试流程有助于确保软件测试结果的达标。虽然目前碍于各类软件在功能、体量等方面的不同,业内并未形成一个统一且固定的软件测试流程,但大体上来讲软件测试流程的制定主要包括软件系统文档评审、软件单元测试、敏捷测试、集成测试、验收测试等几个主要环节。在具体的软件测试工作中,只要在上述几个主要环节的基础上,依据软件产品测试需求,有针对性的进行细微的灵活调整就能够制定出规范化的软件测试流程。此外,考虑到软件测试工作作为一项协同性较高的工作,需要提出还需要对软件测试人员的参与工作的具体任务、时间段等进行优化调整的方式,来建立一个详实的软件测试工作流程。

4.3明确件功能测试技术的应用要点

首先,等价类划分软件功能测试技术是将软件程序的输入域划分成多个部分,再从各部分中选择少数具有代表性的数据作为测试用例。划分的每个部分中,输入数据对揭露程序中的错误都具有等效和等价特性,也就是每一类的代表性数据在软件程序测试中的作用都等价于这一类中的其他数据。通过此种软件测试方法,可大幅度缩小软件测试数据的范围,减轻软件测试人员的工作量,提升软件测试效率。

其次,边界值分析软件功能测试技术在应用中需要先确定软件程序的边界情况,再选择正好等于或者刚好大于、刚刚小于边界的临界值作为软件测试数据。但软件结构具有很强的复杂性,具体的边界很难进行清楚定义,这就需要能够找到适当的测试用例,对存在问题的输入域边界、输出域边界进行详细分析和测试。

最后,因果图软件测试技术和等价类划分技术以及边界值分析技术相比,不再注重对输入条件的测试,而且采取一种适合描述多种条件的组合,并形成多个动作的形式来进行测试用例的设计。因果图软件测试技术的主要机理是计算机软件中一些程序的功能可用判定表的形式进行表示,同时按照输入条件的组合情况来确定相应的操作方法,具体的应用步骤为先按照程序规格说明书进行描述,分析并确定因也就是输入条件,以及果也据说输出结构和程序状态的改变,画出因果图;然后通过一系列转变和分析,将因果图转变成判定表。

结束语

总之,随着软件测试工作的不断细化、要求的不断提升,当今软件测试已经形成了及其丰富且复杂的测试方法,能够借助其独特的测试功能,来对软件产品本身系统予以全方位检测,并对软件质量作出一个合理的判断。但在实际工作中,受各方面现实因素的影响和限制,软件测试工作过程中会出现各种各样的问题,从而对软件测试结果构成一定的负面影响。为此,在今后的工作中,我们需要在以往软件测试成果的基础上,继续加大对软件测试工作的重视,通过对软件测试模式、用例管理、测试流程等的优化,来不断提高软件测试工作效率。

参考文献:

[1]张赟.软件测试过程质量控制的有效策略[J].福建电脑,2020,36(11):96-97.

[2]尤艺,李志敏,谢鹏.软件测试过程质量保证管理系统的搭建及应用[J].计算机仿真,2014,31(10):44-47.

[3]杜以团,严彬宾,王今朝.软件测试在软件质量提升中的价值探讨[J].电子质量,2021(09):85-88.

[4]何敏飞.探索软件测试精细化质量管理之路[J].中国质量,2021(09):109-112.

作者:常建

第3篇:软件开发中的质量控制

摘要:质量是确保公司在激烈的市场竞争中不被打败的基础。本文着重于软件开发过程的质量管理和控制,从改进质量管理体系,加强质量区域和其他检查控制入手,讨论了在开发过程的每个阶段的项目进度和质量保证。并建立软件开发过程,有效提高软件开发质量和产品可靠性。

关键词:软件开发;质量控制

引言

如何提高软件竞争力是许多软件公司和供应商都在解决的问题。但是,许多软件开发人员没有软件开发管理模型,软件开发中的职责分工不明确,维护后系统不完善等,因此用户在使用后将面临长期服务。为了改善当前状况,有必要在软件开发过程中加强质量控制。

1、软件开发质量控制要求

如今,软件开发已成为推动科学技术进步的非常重要的元素。为了在软件开发过程中提高软件开发的质量和水平,通常必须满足以下要求:

1.1在开发软件之前,有必要了解客户的需求,然后根据客户的需求进行软件开发。软件开发旨在满足用户的使用需求,并为客户提供更好的软件体验。因此,有必要在软件开发过程中仔细考虑客户需求。

1.2在软件设计过程中需要适当的质量管理。在软件过程中有许多环节,每个环节都有一个紧密的连接。软件开发的时代可以反映“一招不慎满盘皆输”的本质。因此,有必要在软件开发的质量管理过程中加强质量控制。

1.3在软件开发期间,有必要创建一个和谐高效的团队环境,加大对开发人员团队精神的培训力度,并用优秀的团队精神来领导工作。由软件开发团队进行开发,以达到事半功倍地获得两倍结果的目标。

2、软件开发项目质量管理状况分析

2.1需求分析和管理过程分析

使用因果分析图来分析“绩效错误”,可以看出,在必要的收集关系中,市场上的市场人员与消费者之间的关系经常存在问题,导致模糊的定义。双方造成的误解未发现要求中的差异,并且在签署协议或技术协议的领域中未更正了这些问题。很少有用户可以参与确定软件需求,而分析软件功能需求的分析器不能完全满足用户的需求,从而导致用户需求的特定错误。在需求管理关系中,项目经理和开发团队经理对管理需求文档不感兴趣,通常导致下一份工作使用软件不断进行修改,不仅增加了人工成本和项目质量,而且耽误了项目进度。

2.2系统过程分析

“实施错误”,“对错误的容忍度不足”和“文档设计”与设计和实施过程紧密相关。使用因果分析图来分析“实现失败”问题,发现在设计和实现关系中,过程的定义是不完整的,并且标准和要求之间没有相似之处。同时,创作者通常不关注设计,而只是关注工作分配,缺乏创造力会导致实现错误。在设计和实施过程中,不充分的维护管理会导致性能错误。在质量保证和软件连接中,质量保证和软件检查通常由软件开发人员执行,导致缺乏独立性以及安全性和效率上的不平等。测试和``强调开发和实验''的思想最终将导致性能失败。由“缺乏容错系统”和“故障”引起的问题是相同的,并且与系统设计和实现,质量保证,软件测试等过程密切相关。就是说:在设计和实施人员的能力时,经验的缺乏与“容错系统的缺乏”有关。在软件质量保证和测试关系中,由于缺乏质量保证和软件测试活动的独立性和目的,无法验证和测试软件的容错性导致了问题。数据问题,设计文档问题与软件设计,质量保证和其他方法密切相关。该问题的分析如下:在软件设计过程中,对于发布文档的设计过程和标准并没有统一的定义,在大多数情况下,开发人员会利用自己的经验和理解来发布文档,这通常会导致文档冲突。人员短缺主要表现为缺乏专业知识和对辅助工具使用不力。

3、软件开发中改善质量控制的措施

3.1密切关注软件开发初期所需的分析过程

做好客户需求分析,可以安排专业人员和机构进行测试。审查包括内部和外部观察。管理和培训以及内部审查工作的质量直接影响后续项目的成功。监测过程应以书面形式记录观察点,并在必要时根据必要需要安排监测方法。外部审查是指公司中的外部专家或合格合作伙伴要求监视所有软件技术的质量。审查后,定义每个部门工作的质量标准,并将其翻译成尽可能多的内部规则书面记录,以便人们可以按照规则进行工作。经理将角色和职责分配给每个部门,以便每个负责人对自己想做的工作充满信心。根据项目的性质,采取适合任何潜在质量问题的预防措施,以及在开发软件时应采取预防措施,以减少损坏的程度。同时,客户关系仍在进行中,因此可以根据客户要求随时更改开发计划。

3.2提高管理质量

在软件开发过程中,需要高素质的人员来协调项目工作,了解项目路径并控制总体情况。例如,所需的分析过程必须设计和开发文档模型定义;软件开发过程必须定义要使用的代码的定义以及每个人的责任;在编写程序的过程中,还必须确保开发平台的正常运行和协调;软件测试是安装质量控制系统等。

3.3在软件过程中正确管理软件测试

软件测试通常包括以下步骤:批处理测试,集成测试,验证和系统测试。为了确保测试结果,必须设置测试过程的规范。软件测试是软件开发的最终环节。为避免启动软件后出现不必要的错误,一旦在测试过程中发现问题,应立即联系测试手册,以便软件开发人员可以及时纠正错误。

3.4改善软件技术

尽管我国的软件技术相对较晚,但由于近年来技术人员的无比努力,它也取得了长足的发展。如今,软件市场上出现了许多软件开发方法和兼容工具。例如,众所周知,软件创新的步伐非常快,各种新技术也在不断涌现。随着软件的发展,一些编程思想和编程软件也越来越广泛地被使用。例如,面向对象的软件开发和以用户为中心的软件开发技术是研究面向对象的软件开发的新指南。

4、结束语

全面贯彻执行标准,以各种方式改善质量管理,提高员工素质,质量管理技能在贯彻标准方面取得了重大進展。在软件开发过程中应用了管理软件标准,实践和体制安排,以便它们可以在激烈的市场竞争中更好地造福于公司的利益,并在适当的时候站在国际标准的前列。

参考文献:

[1]朱少民 . 软件质量保证和管理 [M].北京 : 清华大学出版社 ,2007.

[2]于波 , 姜艳 . 软件质量管理实践[M]. 北京 : 电子工业出版社 ,2008.

[3]周敏 . 软件开发质量控制研究 [J]. 企业导报 ,2011(19):261-262.

[4]王一帆 . 软件开发中软件质量控制和定量评估的研究 [J]. 电子世界 ,2019(5):5-6.

(作者单位:中国兵器工业集团第二〇七研究所)

作者:姚琪 张聪姗 冯小琴 李昊阳 姚佳萍

第4篇:开学不耽误,远程教学软件对比体验

参与体验的软件

●腾讯课堂:这是腾讯推出的专业/职业培训在线教育平台,聚合了大量优质教育机构和名师,下设职业培训、公务员考试、托福雅思、考证考级、英语口语、中小学教育等众多在线学习项目。

●QQ群:可以使用QQ群直播上课,全班QQ语音互动,可在线进行PPT讲课、修改作业。

●钉钉:这是阿里推出的一款综合办公软件,可以用于培训沟通、远程演示、在线课程等远程培训工作。

●向日葵:这是为教育机构高度定制的,符合个性化教育方式和学习模式的远程控制服务体系,它支持嵌入自主教学系统的软件或设备平台,异地师生可实现远程连接,进行实时双向互动。

●会议桌:这是一个在线白板与可视化协作平台,为远程教学和在线培训场景提供了一套基于白板互动、文档共享、屏幕共享和音视频通话的解决方案。

使用方便度对比

因为每个学校老师和学生的电脑水平参差不齐,为了让每位教师和学生都能熟练使用远程教育软件,这类软件的使用最好比较简单。从使用方便程度看,向日葵是基于远程控制功能实现,操作比较复杂。钉钉教育则脱胎于办公软件,功能比较丰富,老师和学生要快速上手有一定难度。腾讯课堂使用的是比较新颖的在线教学方式,老师和学生也需要一定时间适应。

相对来说,会议桌和QQ群的使用更简单。会议桌使用的是在线方式,老师们只要注册一个用户进入后新建课程即可使用,开始课程后可以将网址发送给学生,学生们打开即可看到老师讲课的内容了(图1)。

会议桌的新建课程功能

QQ群的使用也很简单,老师们只要将自己班级上的学生都集中在一个QQ群。老师进入群后,可选择使用“分享屏幕”、“演示白板”或“直播间”等服务进行远程授课。因为这些都是QQ群的普通功能,无论是老师还是学生都可以很方便地使用(图2)。

QQ群的使用比较简单

会议桌的使用也比较简单,所有操作只要老师在电脑端操作即可,学生不需要注册即可在线观看使用,不足的是目前仍不支持手机端的访问,比较适合农村学校使用。QQ群则借助现在老师和学生们都在使用的QQ作为载体,老师和学生们对使用操作都比较熟悉,适合普通学校使用。

课程直播对比

钉钉的视频会议功能

QQ的白版分享功能

腾讯课堂的直播方式比较丰富

对于老师来说,远程教学的关键是可以将自己的教学活动进行直播,让每个学生都可以通过网络实时看到自己的教学活动。

通过实际试用可以知道,参与这次测试的软件都有课程直播功能,不过每种软件的实际直播功能并不相同。比如会议桌主要使用共享屏幕的方式进行课程直播,具体效果类似实体教室里的黑板,老师们只要在白板中书写课程的内容,学生们打开相应的网址,即可在线观看教师的演示。

向日葵的演示功能类似,在教师和学生电脑上都安装向日葵远程控制软件。它的远程桌面模式分为全能模式、办公模式、娱乐模式、观看模式等四种,可应用在不同场合。比如教师电脑设置“观看模式”,这样每个学生都可以查看远程桌面的操作,老师们只要在自己电脑上进行正常的教学演示即可。

钉钉的远程演示则可以通过视频会议实现,先将所有学生加入同一个团队,启动视频会议后邀请所有学生加入会议。进入视频会议后,既可以直接使用摄像头和麦克风进行現场视频教学,也可以点击“共享窗口”,选择自己电脑上的程序(如预先制作好的PPT课件),让每个学生自行观看(图3)。

QQ群的分享功能类似,比如进入群后可以使用屏幕分享功能,这样群中的学生都可以看到老师电脑的屏幕演示,对于需要在线讲解的步骤则可以使用“共享白板”功能,这样在白板上的演示学生们都可以看到(图4)。

相比来说,腾讯课堂的在线演示功能更新颖、实用。它使用类似线下开课的模式,教师启动腾讯课堂后,点击“开始上课”进入电子教室,接着点击“上课”即可进入展示界面。这里可以借助“分享屏幕”(和学生共享自己的电脑桌面)、PPT(可以播放预先制作好的PPT课件)、播放视频(可以录制教学或各种辅导参考视频)、摄像头(开启摄像头进行视频直播)等组件进行在线直播教学(图5)。

比如分享屏幕,打开后是类似白板的界面,教师可以在这里书写教程或者布置题目,学生通过共享屏幕实时看到老师的教学。老师如果点击“答题卡”,学生在屏幕上就可以远程进行答题了(图6)。

腾讯课堂的远程桌面分享功能

可以看到,在课程直播功能方面,腾讯课堂借助多种方式进行直播,而且自带签到、画板、举手等常见教学工具,非常适合普通学校使用。

师生互动对比

老师给学生上课,少不了彼此的互动,比如老师让学生作答其中的题目,学生向老师咨询某些不理解的题目。因此在远程教学中,这类软件的互动功能是必不可少的。

通过实际试用可以知道,这次测试的软件都有互动功能。比如向日葵使用的是远程桌面功能,老师们在电脑上发起的讲解,学生们通过远程桌面都可以实时听到老师的语音,但是学生和老师的交流就只能依靠QQ、微信等工具。会议桌则可以在演示中随时点击“电话”或者“视频”图标,向全体学生发起语音/视频通话,方便在授课时随时发起交流(图7)。

会议桌的语音交流

腾讯课堂可以通过语音和文本的方式实现老师和学生的互动。老师提问后,学生点击“举手”按钮,老师选择某一个同学后,该同学即可发言,其他学生可以旁听。通过文本的方式全部的同学都可以进行交流,不过刷屏过多一般老师都会禁言(图8)。

腾讯课堂的文字交流方式

钉钉作为综合办公软件,互动交流的工具比较丰富,老师将学生们都加入一个班级团队后,既可以使用群直播功能向学生语音授课,也可以使用视频会议的方法进行语音视频交流,还可以使用邮件的方式和学生书面交流,进入工作台/协同效率下,就可以使用这些工具(图9)。

相对来说,QQ群的互动交流功能不仅使用简单,而且非常丰富,毕竟QQ群本身就是日常交流沟通工具。在实际教学中,老师和学生既可以在QQ群中通过文字交流,也可以直接利用群语音等功能进行实时互动交流。

对于平时就喜欢玩抖音、快手的教师,还可以使用“群视频”直播功能,通过开设直播室更好地和学生们交流(图10)。

钉钉的互动交流工具

QQ群的视频直播功能

可以看到,在互动交流功能上,钉钉和QQ群的功能比较丰富,建议已经在使用钉钉的学校老师使用钉钉,其他用户则建议使用QQ群或腾讯课堂。

支持终端对比

现在无论是老师还是学生都在大量使用电脑和手机,因此作为远程教学软件,最好能够同时支持这些设备的访问,这样才能方便老师和学生们随时随地教学和互动。

通過实际试用可以知道,会议桌使用在线网站的方式进行访问,目前只支持电脑端的访问和使用。对于腾讯课堂,其教师端只支持电脑端(Windows/MacOS),学生端则可以支持Windows/iOS/Android/MacOS设备,方便学生们使用。QQ群和向日葵则支持全平台系统,支持在电脑端和手机端使用,更方便老师和学生们的使用。比如老师如果有事外出,在手机QQ上也可以激活群语音、群视频功能和学生直接交流。

相对来说,向日葵支持的终端就更丰富了。老师们不仅可以在电脑上直接进行演示,还可以借助iPad、iPhone、安卓手机进行远程控制,比如老师拿着iPad或安卓手机远程控制培训电脑,即使走在会场下也能通过这些设备远程控制主机翻页PPT。下课后,如果有学生对之前的学习内容感到疑惑,还可以点击向日葵的远控功能,通过白板在页面上标注,老师就可以单独为他解答疑问,起到事半功倍的效果(如图11)。

向日葵的白板功能

可以看到,在支持终端上,向日葵的功能是最丰富的,而且借助远程控制功能,它可以非常方便地远程操控电脑,也方便学生留言、解答学生的问题。不过其操作比较复杂,更适合高中阶段的老师和学生使用。

课后管理功能对比

因为是远程教学,老师们无法像传统教育那样可以和学生面对面交流,因此这类软件最好能有更丰富的课后管理功能。比如方便向学生布置作业、修改作业,对学生考勤进行管理等。

通过实际试用可以知道,会议桌并没有课后管理功能。腾讯课堂偏重于教学,也没有相应的课后管理功能。向日葵可以使用白板功能在页面上标注,课后管理功能较弱。钉钉脱胎于综合办公软件,可以参照企业员工管理对学生进行各种综合管理,比如使用签到功能让学生们准时上课,通过工作分配实现作业的布置,通过群公共、消息来发布作业等。

QQ群则直接内置了作业布置组件,在完成教学活动后,老师可展开QQ群对话窗口下方的“作业菜单”,在打开的窗口中使用文字、拍照、语音、照片等方法发布作业,发布的作业群里的学生都可以看到。学生们可以直接通过QQ群提交作业,在完成作业后在群里点击“提交”即可,朗诵之类的语音作业则可以借助语音提交,老师可以在线修改学生提交的作业。

此外老师还可以将当前群升级为家校群,这样通过群方便和家长们进一步交流。可以看到QQ群课后管理功能更适合普通学校使用。

其他功能对比

当然,在实际使用中,远程教学还会涉及支持文件格式(越多越好,方便老师们展示)、资源占用(自然是在功能齐全的前提下占用资源越少越好)、第三方组件支持(为了满足一些特定需求,尽量支持第三方组件使用和开发,让老师使用更得心应手)、是否支持录制视频(支持录制视频可以方便课后回放)等。因此这里对这些远程办公软件的其他功能进行横向对比,对比结果如附表所示。

附表 几款远程教学软件的功能对比

总结 适合的才是最好的

上面为大家介绍了多款远程教学软件的特点和功能比较,每款教学软件都有自己的特色和不足。在这个特殊时期,教师们应该根据学校和学生的实际情况选择适合自己的软件。比如对于一些农村学校,由于学生们的电脑水平较低,会议桌因为使用在线网站的方式进行教学,学生们只要用电脑访问网址就可以使用,更适合这类学校使用。腾讯课堂则使用新颖的在线教学方式,界面参照传统课堂方式,更适合城里的学校使用。向日葵则有强大的远程控制功能,对学生的电脑水平要求较高,更适合高中老师和学生们使用。QQ群则借助了老师和学生都在使用的QQ,上手几乎都没有难度,适合普通中小学使用。钉钉的功能非常丰富,而且一些学校本身就在使用钉钉办公、考勤,这类学校的老师则建议使用钉钉,这样可以无缝转移到远程教学中使用。

第5篇:远程视频监控系统软件平台的构建

【摘 要】随着图像压缩编码技术以及无线通讯技术的发展,视频监控系统逐步迈入移动化,在特定场合下,如自然灾害地质查询,边防空中监控等,需要突破物理上的二维限制,借助小型无人飞行器和无线数字视频监控系统在低空进行远程实时监控。本文构建了基于Linux系统的软件开发平台,完成了基于无人飞行器的远程视频监控系统实现的初步工作。

【关键字】视频监控系统 嵌入式系统 Linux 软件开发平台

一、 嵌入式系统的定义及特点

嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统[1,2]。

嵌入式系统的特点可从功能和性能两个层面来衡量。

首先,在功能上,它是以应用为中心的专用系统,区别于个人计算机等通用计算机系统。嵌入式系统面向的是行业中的某项应用,因此嵌入式产品的个性化很强,软硬件结合非常紧密,软件开发过程中需要针对硬件做出移植或者优化。例如,本系统隶属于无线视频数字监控产品,并且以无人飞行器为载体,完成特定场合下的视频采集与实时传输等功能。在搭建本系统的软件平台时,需要根据需求选取合适的操作系统,并根据硬件方案进行驱动的移植和开发。开发应用程序时,需要考虑到底层硬件的性能和实际运行情况,如根据无线网络传输情况,动态调整视频压缩质量等。

其次,在性能上,嵌入式系统资源受限,软硬件必须是可裁剪的,另外嵌入式产品结构紧凑,用途固定,因此在成本、体积、功耗以及可靠性上也必须严格考究。以本系统为例,整个系统以小型的无人飞行器为载体,在硬件设计上须采用核心加扩展的方式,核心板的体积要做到尽可能的小,以安放在飞行器内部,而摄像头以及CDMA模块则通过扩展的方式,结合飞行器本身来进行整合。另外,虽然资源的受限使得核心板上自身所拥有的内存和Flash芯片容量不会太大,但可采用基于扩展的设计,如通过外接SD卡的方式来转储相关的数据(如用作存证的视频数据等)。在软件层面上,需要对移植的Linux内核做出剪裁,根据系统本身的需求量身配置,以使最后编译产品的内核映像体积最小。应用程序开发,如视频采集与编码模块,也需注意保证程序运行的稳定性,尽可能避免因为软件因素带来的断线,内存溢出,死循环等错误。

二、 嵌入式Linux系统的软件组成

一个嵌入式 Linux 系统从软件层次的角度看通常可以分为四个层次[3]:1. 引导加载程序:即Boot Loader程序。2. Linux 内核:特定于嵌入式开发板的定制内核以及内核的启动参数。3. 文件系统:包括根文件系统和建立于 Flash 内存设备之上的文件系统。4. 用户应用程序:特定于用户的应用程序。

典型的嵌入式Linux系统存储设备的空间分配如图1所示。

在本系统中,选用一块32MB的NOR Flash存储芯片,用于存放引导加载程序,Linux内核和包含应用程序的文件系统。其中,引导加载程序和内核的占用空间分别规划为256KB和2MB。下面各小节详细阐述了嵌入式视频服务器上软件平台的构建过程,这个基本的软件运行平台是系统开发和应用的基础。

三、 嵌入式视频服务器软件平台的构建

1 系统开发模型

嵌入式系统开发的两大特点是分布式开发以及交叉编译。鉴于嵌入式系统资源受限的特点,不能在嵌入式产品上直接进行开发,而是选择硬件和软件资源丰富的宿主机进行分布式开发,通常是PC机,而嵌入式产品作为目标机。由于两者的硬件体系结构一般不相同(如本系统,宿主机基于x86,而目标机基于ARM),因此在宿主机上开发的程序需要经由交叉工具链进行编译和链接,最后通过通信手段送至目标机上运行。本系统的开发模型如图2所示。

在本系统开发中,宿主机和目标机有三种通信手段:

1. 串口通信。用于两机的信息交互,在经过波特率等属性协商后,目标机上的信息经由串口输出到宿主机的串口客户端进行显示,反馈给用户,同时用户也可通过串口客户端输入相关的控制命令到目标机上,用以操纵目标机上的软件参数及流程。

2. JTAG通信。用于裸机上的程序烧写,宿主机可通过Multi-ICE仿真器与目标机上的JTAG调试接口相接,通过调试代理,将制作生成的引导加载程序映像串行烧写至目标机Flash芯片中;

3. 网络通信。制作好的内核以及文件系统映像一般体积较大,可先通过网络下载到目标机内存中,再通过已做好的烧写程序和驱动进行脱机烧写,这样可大举提高烧写速率。

因此,基于本系统的开发模型,在宿主机上需要首先搭建好开发环境。

2 主机环境的搭建

本系统开发中,宿主机上选用的开发环境为Fedora 19。主机环境搭建主要包括了三个方面的内容[4]:交叉工具链的安装,TFTP服务器的配置以及NFS服务器的配置。

1. 交叉工具链的安装。

嵌入式交叉工具链由一套用于编译、汇编、链接、二进制工具及库的组件组成。主要包括了编译器arm-linux-gcc,汇编器arm-linux-as,连接器arm-linux-ld,二进制工具如arm-linux-nm, arm-linux-strip等,基于交叉编译的库glibc等。

交叉工具链的选择上,一般需要根据编译目标的版本,选择既有的成熟工具链。工具链和被编译对象的版本匹配很重要,否則容易引起因为兼容性导致的编译问题。在本系统中,使用Freescale公司提供的成熟工具链,用于对3.10.1版本的内核进行编译。其中,编译器版本为4.1.1,GNUC库glibc版本为2.9。安装过程如下:

(1)建立工作目录

[root@localhost ~]#mkdir /root/MX27project/

作者:王建华 郭敬慧

第6篇:软件项目管理中风险控制策略研究

摘  要: 风险的发生在软件项目开发过程中是必然的,如何有效的降低在其过程中的风险,最大程度上减小风险对项目的影响是本文研究的重点所在。首先,根据实际情况,本文先对软件项目管理中风险进行分类,并阐明了影响,说明了风险识别、分析、应对以及控制的过程,提出了风险优化的策略,并指出了加强项目成员风险培训管理的重要性。

关键词: 软件;项目管理;风险管理;控制策略

本文著录格式:詹红艳. 软件项目管理中风险控制策略研究[J]. 软件,2019,40(6):230232

【Key words】: Software; Project management; Risk management; Control strategy

0  引言

隨着我国现代化脚步的不断推进,信息产业的发展蒸蒸日上,软件项目层出不穷,软件行业发展越来越快,软件行业为我国创造了巨大的财富。软件项目风险管理也随之变得十分重要,在软件项目开发过程当中往往会遇到一些风险,如何规避风险,如何降低风险影响率成为了项目管理的重点,也是软件项目成败的关键因素。

软件项目风险是由项目进行过程中的一些不确定的事件或条件所引起的,可能会引发软件开发过程中风险因素指的是可能对项目造成消极影响或积极作用条件,例如潜在的需求、假设条件、制约因素或某种状况等,所以软件开发过程中一旦有风险发生,就会使得项目受到影响,譬如成本增加、进度受到影响等等[1]。

1  软件项目风险分类及其影响

1.1  产品规模风险

项目风险与产品规模密切相关,产品规模越大项目风险也越大。并且在实际操作过程中,估算项目规模的方法、规模估算的精确度、用户数等因素也与产品风险有关。通常项目规模越大存在的问题越多,越复杂。

1.2  需求风险

项目需求是一个不可控因素,由于种种因素的影响导致项目在确定需求时都有不确定性,如果在项目进行前到项目前期仍未解决这些不确定性,项目就将会受到极大的威胁。因此团队需要在项目研发前尽早控制与需求相关的风险因素,避免影响产品的品质,使产品投入市场后达不到预期目标。在这个过程中如果客户对项目的没有足够的认同度,使得客户在项目研发过程中参与度不够,比如在项目需求分析的过程中客户参与度差甚至没有参与,从而导致客户不能清晰认识产品,亦或者是客户的需求不断发生变化等都属于与客户有关的需求风险因素。

1.3  相关性风险

在软件开发过程中有很多种风险,但是从本质上进行分析,风险都是由于内部或外部因素导致的,与之有关的因素有:团队成员之间的依赖性、项目复用性、客户供应信息、分包转包商的关系等。所以做风险应对预案的时候需要做可行性计划,在发生问题时及时的获取资源,解决问题[2]。

1.4  技术风险

在软件开发行业技术的更替速度快,工作人员缺乏从业经验都会对项目的开发造成影响。早期准确的风险识别是解决风险的关键,因此在项目技术团队组建前需要提前招聘培训师,顾问和适合的人才,尽早避免一些技术风险。与技术有关的风险有:员工缺乏培训、员工对技术的理解不到位、从业经验不足,对新技术不了解、不熟悉等。

1.5  管理风险

管理的问题有时会掣肘项目的发展,因为写风险管理的人有时会缺乏自检的品行,导致风险管理计划并未包含所有的管理活动,这个问题会对项目造成很大的影响。对于这个问题可以通过划分每个成员的任务和责任进行解决,实际操作过程中与之相关的风险因素有:计划和任务定义不够充分,项目成员沟通不清楚,项目干系人识别不清晰等。

1.6  安全风险

软件开发过程就是一个创造过程,因此在这过程中,生产资料即产品核心技术或者设计思路,对这些核心技术的保密就显得十分重要。但是我国对知识产权的保护意识还比较淡薄,许多团队对项目的开发重视大于对知识产权的保护。由于软件行业的人员流动性大,项目有关信息被泄露,让项目的核心信息被其他公司窃取,导致项目失败,这对项目开发具有很大的威胁。

2  软件项目风险管理的过程

2.1  风险识别

现阶段风险识别是指对软件开发项目过程中可能造成影响的因素进行判断识别,并对可能对项目造成影响的因素特征进行记录,对已发现并解决或者已发现未解决的问题记录整理,这个过程需要对风险来源进行追溯,对风险产生条件进行确定,然后对风险特征做出完整描述。通过这种风险识别和风险归档的方法可以为项目积累知识和技能提供强有力的理论和经验支撑。

在整个风险识别活动过程中需要项目参与者参加识别,比如就项目团队而言其团队负责人、团队技术骨干,其他单位参与者有专业项目风险管理团队、专家、最终用户等参与者。在此过程中应倡导呼吁全体与项目核心相关人员参与到潜在风险的识别工作中,因为风险的产生有不确定性,在项目的推进过程中,随时可能产生新的风险[3]因此风险识别工作是一个反复进行的过程,需要所有骨干人员的参与并且应该伴随项目的整个生命周期。识别风险常用方法有:头脑风暴、德尔菲技术、访谈、根本原因分析、假设分析、图解分析技术等。

2.2  风险分析

风险分析包括实施定性和实施定量风险分析两部分。实施定性风险分析是对已识别的风险发生的可能性、影响程度等因素对风险的优先级进行评估。但是这种方法容易受项目参与者主观因素的影响。因此,需要建立科学的评定标准,有助于降低评定者的主观因素的影响。定性分析主要方法有风险概率和影响评估、风险数据质量评估、风险分类、风险紧迫性评估等。

在定性风险分析过程中被确定为对项目的竞争性需求存在潜在重大影响的风险需要使用定量风险分析风险对项目目标的影响,评估所有风险对项目的总体影响。主要分析方法有:访谈、概率分布、敏感性分析、预期货币价值分析、建模和模拟技术等。实施定量风险分析一般是在定性分析之后开展,由项目经理运用专家判断来确定定量风险分析的必要性和有效性。

在软件项目风险分析过程中,采用哪种方法进行风险分析,取决于可用的时间和预算,以及风险分析的需求[4]。但是为了风险更好的管控,建议反复开展风险定量分析,以确定项目发展过程中风险的降低程度是否令人满意。

2.3  风险应对和控制

风险应对措施是建立在风险评估基础上的,项目组需要根据风险评估结果,选择可靠的技术,高效的办法从而制定出可以降低风险影响方案的过程,风险应对措施是软件项目过程中风险处理顺序、规避风险、消除风险的指南[5-6]。

风险应对措施是通过风险控制实现的,风险控制包括两大板块,风险预防,风险处理,在发生风险前对风险进行预防,尽量降低、避免甚至消除风险发生的几率,在发生风险之后最大限度的降低风险对项目造成的影响,常见有风险控制、风险自留、风险转移等方法。

3  软件项目风险管理的控制策略汇总

3.1  风险管理方法科学化

通过长时间的实践,CRM、MSF、RISKIT三种方法是受到国内外认可的软件项目风险管理方法。

3.1.1  CRM法的应用

SEI作为世界上著名的旨在改善软件工程管理实践的组织,也对风险管理投入了大量的研究。SEI提出了持续风险管理管理模型CRM[7]。

CRM模型要求在项目生命期的所有阶段都关注风险识别和管理,它将风险管理划分为5个步骤:风险识别、分析、计划、跟踪、控制。CRM模型强调在项目开发过程中反复持续进行的这些风险管理步骤。每个风险因素一般都需要按顺序经过这些步骤,但是对不同风险因素开展的不同活动可以是并发的或者交替的。

3.1.2  MSF法的应用

MSF方法来自于微软,微软通过对长时间的软件开发经验进行总结优化。将其完善成一套可行的项目管理规范,这种方法是以管理项目中的工作人员、研发过程和知识管理为主,将风险管理做为项目管理的核心,主张在项目完成后及时总结教训并列出主风险列表、顶级风险列表、过时风险列表三个表格帮助完成经验积累[8]。

3.1.3  RISKIT法的应用

Riskit方法是一种提高系统化的风险管理过程和技术,它是由Maryland大学提出,旨在对风险的起因、触发时间及其影响等进行完成的提醒和管理,并使用合理的步骤评估风险。对于风险管理中的每个活动,Riskit都提供了详细的活动执行模板,包括活动描述、进入标准、输入、输出、采用的方法和工具、责任、资源、退出标准。

Riskit方法的特点:提供风险的明确定义;明确定义目标、限制和其他影响项目成功的因素;采用图形化的工具,Riskit分析图对风险建模,定性地记录风险;使用应用性损失的概念排列风险的损失;不同相关者的观点被明确建模。

3.2  风险管理档案的建立和完善

对每个软件项目进行及时的经验总结,然后建立风险管理档案是有积极作用的。完整详实的风险管理文档可以帮助团队更好的进行风险管理,帮助团队在以后的项目建设中更好的规避项目需求、进度、质量上的风险问题。而且可以通过文档记录项目工作绩效的信息,包括偏差分析结果、挣值数据和预测数据等,这些数据可以用于控制与绩效有关的风险,尽量让风险最小化[9]。

3.3  加强风险管理培训

3.3.1  加强管理者综合能力培养

软件项目的负责人是项目经理,所以需要对项目经理提出更高的要求,把专业技术的水平高低作为选拔项目经理的重要依据之一。但是技术型的项目经理往往缺乏沟通、管理方面的知识和能力。

因此有计划的对项目管理人员进行综合性的培训是有必要的,将项目管理人员培养成为专业扎实,沟通效率高,业务能力强,管理水平高的人才可以促进团队的发展,降低项目的不确定性风险。

3.3.2  加强团队风险管理知识培训

管理者需要具有相当的综合素质能力,团队成员也需要加强自身素质建设,因此对团队成员进行有针对性的整体技术构架、项目关键点等内容的培训,提升项目成员对技术方法、技术规范、技术标准的认识水平可以消除技术障碍,提升沟通效率,消除因团队成员缺乏对项目的整体认识等因素造成的风险[10]。

4  总结

风险管理的意义在于将风险消除在发生之前,减少风险发生的几率,降低风险对项目造成的影响。笔者认为在实际工作过程中风险管控处理方法很多,其中预见性风险管理是最有效的风险管理方法之一。在项目进行过程中,如果发生风险管理人员应当积极应对,及时识别风险并采取相应措施。在日常工作时,企业需要加强对项目管理者、团队成员的风险管理培训。在项目完结后及时进行经验总结并存档,以便于为后续的项目研发起到借鉴作用,尽量减小或者消除软件项目管理中的风险。

参考文献

[1] 张培良, 王见伟, 崔锡霖, 等. 软件项目管理中的風险识别与管理分析[J]. 数字通信世界, 2018(09): 276+284.

[2] 罗畏. 科信公司定制软件项目关键风险识别与控制策略研究[D]. 湖南大学, 2017.

[3] 杨会兰. 软件项目管理中的风险识别与管理分析[J]. 无线互联科技, 2016(04): 53-54+75. 毛明志,葛晓炜. 软件项目风险管理模型的分析与研究[J]. 科技管理研究,2005(06): 148-151.

[4] 张珞玲, 李师贤. 软件项目风险管理方法比较和研究[J]. 计算机工程, 2003, 29(3): 91-94.

[5] 林时蕴. 软件项目风险管理研究[D]. 合肥工业大学, 2007.

[6] 朱斐. 面向工程教育专业认证的《软件项目管理》实验教学探索[J]. 软件, 2018, 39(12): 187-190.

[7] 丁剑洁, 郝克刚, 侯红, 等. 基于粗糙集的软件项目风险管理研究[J]. 计算机科学, 2010, 37(4): 117-119.

[8] 王光治. 软件外包企业的风险控制研究[D]. 天津大学, 2014.

[9] 吴宗东. 软件项目风险管理理论和方法探究[J]. 电脑知识与技术, 2013(2X): 1198-1199.

作者:詹红艳

第7篇:远程控制软件,网络人值得信赖

谈起远程控制软件,最为耳熟能详的可能就是TeamViewer远程控制软件和网络人远程控制软件。作为两款最具代表性的远程控制软件,TeamViewer和网络人在远程控制行业中的地位无人可以撼动。TeamViewer对于国内用户,尤其是普通用户来说,使用起来有一些难度,这不仅因为语言的问题,还有使用习惯的问题。即使可以从网上下载到汉化版的,但因为远程软件极易变身为黑客软件,因此使用汉化版的风险也可想而知。

网络人远程控制软件是继黑洞、冰河、灰鸽子等软件之后,唯一一款能集三者所长且又具有免杀权限的远程控制软件,网络人电脑公司的出现将远程办公的概念实实在在的向前推进了一大步。网络人远程控制软件不同于灰鸽子之类的木马病毒,网络人是一款正规的,合法性软件,取得国内外几十种杀毒软件永久的免杀权限。公司凭借精湛的远控技术与优质的服务在成立不到五年的时间里迅速崛起,一骑绝尘,成为同类远控软件里最受欢迎的软件之一。

国产的多数远控软件都不约而同的选择了黑客路线,选择了一种不正当的获取“暴利”的方式,前路自然也就充满了风险和巨大的变数。网络人远程控制软件拥有如360、金山等各大安全厂商的认证,甚至还获得了国家公安部计算机安全检测认证和计算机信息系统安全专用品销售许可证双重认证,这在国产远控业界来讲都是唯一一款获得这些认证的远控软件,还另辟蹊径采用了达到网上银行安全标准的U盾加密保护,其安全信赖度自然也就会在其他软件之上。

成立短短五年,网络人至今一直保持着迅猛的发展状态,远控软件目前注册会员高达一百多万,至尊会员(付费会员)攀至四十七万多,活跃用户二十三万,并正以每天近四千的注册用户迅猛叠加。安装简单易懂,操作灵活易于上手,安全合法是网络人区别与同类远控软件的根本原因,也为其迎来了广大的客户群体和市场份额。相信网络人在“让世界成为你的办公室”的科学宗旨下,一定能在远控领域创造出更多的奇迹,将远程办公、远程监控的步伐推得更深更遥远。

第8篇:软件开发中软件质量控制研究论文

随着现代科学技术发展,计算机技术的应用越来越广泛,设备系统中软件成分不断增加,软件质量以及软件质量控制日益成为人们关注的焦点。本文首先阐述了软件的特点;其次分析了软件开发中存在的主要问题;最后研究了在软件开发的各个阶段对的软件质量控制和管理手段。

一、引言

随着信息化建设的持续深入发展,目前设备系统软件无论其规模还是数量都得到空前增长,软件在设备系统中的地位和重要性越发突出,成为设备系统质量和功能的关键因素。因此,加强设备系统软件的质量控制,提高软件的质量,对全面提升设备系统的质量有着重要的意义。

二、软件的特点

软件是与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据,它是程序加文档的集合体。软件一般具有以下的特点:

(1)软件是无形的,没有物理形态,只能通过运行状况来了解功能、特性和质量。

(2)软件渗透了大量的脑力劳动,人的逻辑思维、智能活动和技术水平是软件产品的关键。

(3)软件不会像硬件一样老化磨损,但存在缺陷维护和技术更新。

(4)软件的开发和运行必须依赖于特定的计算机系统环境,对于硬件有依赖性。

(5)软件具有可复用性,软件开发出来很容易被复制,从而形成多个副本。同时设备系统软件因为规模巨大管理困难,同时还具有高互操作性。

三、软件在质量方面存在的主要问题

由于设备系统软件在整个系统中所起的作用,使软件已不再是硬件的附属物,而成为与硬件并列的、独立的技术状态管理项目。但是,由于受多种因素的影响和制约,软件的质量和可靠性问题一直没有引起人们足够的重视。

(1)透明度差。由于软件大多由开发者自己设计、自己编程、自己测试、自己维护,造成软件的可读性较差,因此软件出现故障只能由开发者自己去维护,其他人难以介入。

(2)没有严格按软件的配置管理对软件质量进行控制。由于未对软件的更改标识、更改控制、更改检查等进行严格控制,从而造成软件的管理混乱,产品的软件错误较多。

(3)软件通用性差。同类型系统之间的软件通用性和继承性比较差,甚至软件模块的标准化系数不高,造成经费和时间的浪费以及可靠性的降低。

(4)软件测试不够。因为缺乏测试软件和测试工具,并且测试标准、规范和管理制度不健全,使得软件的测试不充分。

四、软件开发过程中对软件质量控制管理

现阶段软件管理还存在巨大的漏洞,这不可避免的影响设备系统软件质量。提高软件质量,确保系统的研制成功,确保系统发挥全部作用,是我们的重要任务。为了完成这一任务,我们要在软件开发的流程中进行质量管理。

1.软件需求分析阶段的管理

需求分析是发现、求精、建模和规约的过程,它在系统级软件分配和软件设计间起到桥梁的作用。首先,系统工程师要明确软件的功能和性能、指明软件和其他系统元素的接口,并建立软件必须满足的约束;其次,软件工程师要精化软件分解模块,并创建所需的数据、功能和行为模型;第三,通过需求分析为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型;最后,生成的需求规约为开发者和客户提供了软件建造完后质量评估的依据。

2.软件设计阶段的管理

软件设计阶段包括初步设计和细节设计两个阶段。

在初步设计阶段主要是确定系统的具体实现方案,首先,划分出组成系统的物理元素;然后设计系统结构,确定系统中每个程序是由哪些模块组成,模块需要完成哪些适当的子功能,以及模块之间的关系。

在细节设计阶段主要是对系统中的各个模块进行程序描述,包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等。

通过这两个阶段的设计,软件工程师可以提供用于质量评估的软件表示,同时还能将用户需求准确转化成软件产品或系统。

3.软件制作阶段的管理

(1)软件文档的管理。计算机软件文档是指技术数据和信息,包括计算机的列表和打印输出。计算机软件文档可记录计算机软件的要求、设计或细节,解释软件的能力和限制条件,或提供在软件运行期中使用或保障计算机软件的操作命令。因此,在软件制作阶段要完整、规范、及时地提供出软件文档。

(2)严格软件的复审。软件复审是软件工程过程中的“过滤器”。技术复审的主要目标是在软件制作过程中发现错误,以便使缺陷在软件交付之前被发现并且能够更正。它的优点可以较早发现错误,防止错误被传播到软件过程的后续阶段。

4.软件测试阶段的管理

软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终测试。软件测试是一个为了寻找错误而运行程序的过程,它是使用对大规模系统和小规模系统都能节约地并且有效地应用的方法来认可软件的质量。测试是软件技术可以被评估的最后堡垒。所以说软件测试对于最后确认软件质量起着关键的作用。

在设备系统软件安全开发过程中引入软件质量管理,用科学的管理手段组织软件系统的开发,能确保设备系统软件的开发质量。本文在软件安全开发流程中引入软件质量管理,重点研究了需求分析阶段和软件制作阶段的质量管理手段,在今后的工作中,将进一步研究程序设计和软件测试阶段的质量管理手段。

上一篇:展厅设计下一篇:制药机械设备