第一篇:计算机软件技术与社会关系
信息本身并无经济特性,而是经过一定的社会转变才成为商品,具体来讲,信息是经过资本主义生产方式的洗礼才转变成商品的。席勒也谈到了软件发展的资本主义过程。作为信息技术的一种,软件在私有化过程中,资本主义的政府起到了推波助澜的作用,政府以一种中性的口吻宣扬信息技术将会带来的一般好处,软件的加速私有化过程被标榜成所谓自由市场的当然回报,同时国家把它定位成战略目标,政府不断提供研发基金,使软件私有产权合法化。国家出台版权法、专利法和商标法,有意让软件商业活动获得垄断的法律形式。由于这些举措,非私权化信息供应原则被攻击为非法的。自由软件运动正是自发地对这一过程的反叛。席勒说到:“知识产权法律保护并试图增强信息的稀缺性。它们不仅构成了保护性条款,而且构成了抢占性条款。版权给企业所有者带来多达几十年的垄断权力,而且这种权力所覆盖的文化资产范围越来越广。”③由于资本主义的政府按照凯恩斯主义的政策自上而下地推动信息技术产业,并通过上层建筑的力量来提供政策和法律的保护,知识产权和服务成为了现代经济的增长动力,而微软只是其中最重要的一员。这就是信息技术发展的资本主义过程,而不是像“信息社会理论”所认为的中性过程,仅仅由技术本身的发展而决定的过程。
从软件的私有化过程,我们可以看到,私权软件借助于劳动工资和私人占有来生产;借助资本主义市场来交易;更加的纵容和默许软件不仅有成本还有价格的考虑。“资本主义的政治经济永远需要新的市场,新的原料和生产过程、新的更为廉价的劳动力或非熟练劳动力。”④资本主义生产方式通过不断扩大商品市场来支撑自身的扩张。这样的话,企业规划者和系统分析家把软件对利润率的预期贡献纳入常规性的研究领域,信息公司也不断加大对软件技术的投资,因此,私权软件已经在农业、制造业、高科技服务业成为日益重要的生产要素。把软件当作一种资本增殖的载体从表面上和深度上加以开发,这就是软件私有化过程日益扩大的特征。也就是本人所说的“软件的资本主义社会形成”过程。
软件的开发在早期往往是在“自我雇佣的”软件技术爱好者或个体从业者的社区中进行的,这种劳动过程在被“买断”以后⑤,就转变为工资劳动,被纳入资本循环过程,软件技术的开发就被垄断起来。即便这个过程不是一下子完成的,那些继续为自己工作的软件劳动者,甚至那些创造出优秀软件的个体软件劳动者往往也难逃变成巨型企业雇员的命运。自由软件及其运动直接具体地表明着,信息技术的发展加剧了资本主义制度的固有内在冲突。它的实质是信息技术以及信息技术化了的社会生产力与资本主义占有方式(包括赖于这种占有方式而存在的社会结构)之间矛盾激化的客观表现方式。而由自由软件运动定义的私权软件则是发生在软件领域一场软件圈地运动,正如当代资本在科技创新的其他领域,例如生物科学领域所实行的方式一样。
作者:刘赛娥 单位:云南国土资源职业学院
第二篇:计算机软件测试技术
黑盒测试并不是盲目无知地测试,它是在不注重软件产品的内部结构知识的情况下,根据用户知识和环境认知来设计测试用例。黑盒测试用例方法一般分为等价类划分、边界值分析、错误推断法、因果图、正交实验法等。
1等价类划分
等价类划分是将整个输入域按照一定的原则划分成几个互不相交的子集,子集中的元素彼此之间是等价的。用这种方法来进行设计测试时,只需在一个子集中选出一个或几个具有代表性的元素作为测试数据,即可代表该集合对软件系统的影响。例如:在程序的规则说明书中,对输入条件有这么一句话:“程序输入条件为小于100大于10的整数x”。则有效等价类为10<x<100,无效等价类为x≥100和x≤10。同时有效等价类可以根据其他条件再划分不同的子集,以检测该程序的功能是否完整;对于无效等价类,可以选出几个元素来检测该程序对异常输入的容错能力和健壮性。同时,边界值分析法属于等价类划分的补充,它是采取等价类划分结果的边界值作为测试用例的输入项来验证系统的完备性。例如上述例子,在分析完有效等价类和无效等价类以后,运用边界值分析法可以得知,10、100为边界值,故而我们可以选择10和100以及10、100左右两侧的值来作为测试数据进行测试。
2错误推断法
错误推断法是基于测试人员的经验和直接来完成验证可能存在的错误而设计测试用例的一种方法,主要是列举出程序中有可能出现错误或者容易发生错误的特殊情况。例如:输入或者输出为零,删除表格为空或者保存空白信息或者空白表格等情况,然后根据它们设计测试用例。此方法可以弥补测试中的纰漏,但是测试者需有一定的测试经验或对软件系统有一定的了解方可。
3因果图
因果图法考虑到了多种输入条件中的复合关系以及限制关系,当有许多输入或者输出时,或者多种输入和输出组合的情况下,或者参数间相互依存时,此法十分有效。因果图法适合于描述多种条件组合,相应产生多个动作的形式来进行测试用例的设计。利用因果图法来设计测试用例的步骤如下:(1)分析需求中的描述,按需求划分原因及结果;(2)分析需求中的语义内容,然后用因果图来表示需求;(3)使用一些特殊符号在图上标出限制关系;(4)将因果图变成决策表;(5)根据决策表中的每个项目来设计测试用例。
4正价实验法
正交试验法是从大量的实验点中挑选出适量的、具有代表性的点,应用依据伽罗卡瓦理论导出的“正交表”,合理的安排实验的一种科学的测试用例设计方法,适用于软件系统的互动测试、包含配置项的种种测试。关于利用正交实验法设计测试用例,一般是有正交表的表达式来选择确定正交表。L行数(水平数因子数)其中,因子数为所有需要被检查的变量在测试中被称作因子。因子数也是正交数组中的列数;行数为正交表中的行数,也就是正交数组体现的实验的次数;水平数为任何单个因子能够取得的值的个数的最大数。根据正交实验法来主要步骤如下,在得到映射关系后可根据映射出来的取值来设计测试用例。(1)确定所有的因子;(2)确定每个因子的水平数;(3)根据正交表达式来选择合适的正交表,覆盖测试范围的情况下,选择行数最少的表格;(4)在正交表格中映射因子的取值;(5)添加表格中没有显示的潜在组合。
5总结
计算机软件测试技术是与软件开发相结合的技术,是系统开发必不可少的。软件测试用例的设计,主要是根据测试理论以及实际运行的环境来设计测试用例数据,以数据驱动按成开发系统的软件测试工作。当然,在测试工作中,还需要我们不断努力来提升我们的软件测试力度和技能,进而提升发布软件的可靠性和安全性。
作者:鲁华栋 赵冉
第三篇:计算机软件容错技术研究
1建立星载计算机的高可靠性
星载计算机CPU-A由CPU-a、b、c、d组成。CPU-a、b、c加电同时运行,三者输出结果应该一致,如果不一致就要转入程序进行诊断工作,CPU的哪里出现故障,切除该组件继续运行,再次检查重构,三组变成两组时继续运行,如果输出结果仍然不一致,系统不能有效判断,则将b组与c组也进行切除处理,启用备用d组,由此系统结构可以得出结论,a、b、c三组中,只要有两组正常工作,星载计算机CPU-A就可以保持正常的工作,所以要构成三选二的系统,而d组则与其它a、b、c三组形成了备份系统,保持d组正常状态,星载计算机CPU-A就可以保证正常的工作状态。d组作为冗余的部分与a、b、c三组之间形成并行的结构,图1所示为星载计算机CPU-A的可靠性示意图。星载计算机软件系统CPU-A组与CPU-B组共同工作,互为冗余的备份。当CPU-B组出现故障时,CPU-A组就可以替代CPU-B组工作,同样的在CPU-A组发生故障的时候,CPU-B也可以替代CPU-A进行正常的工作。CPU-A组与CPU-B组是并行相联的结构。总线SSB适配器看起来发生故障单点,由于内部存在的冗余系统,所以具有十分强大的可靠性,可以将整体与其它部件的构成看成是串联的结构。计算CPU-A是由CPU-a、b、c三组构成的三选二软件系统,通过三选二的软件系统进行计算,为了方便计算,可以设定CPU-a、b、c、d相同的可靠度,Ra=Rb=Rc=Rd=Rt,通过公式的计算可以得出Rs=3Rt2-2Rt3,CPU-d组与其它三组具有并联关系。
2星载计算机软件的容错方法
目前,我国星载计算机的容错方法有硬件冗余、EHW等。所谓硬件冗余:例如备用替换与三模冗余等,都是采用静态冗余实现的容错方法,多为显式的冗余。我国对星空探测的智能技术水平取得飞速的发展,星载计算机的设计对航天器智能与环境适应性都提出了更高的要求,提出新的智能容错技术,EHW就是可进化的硬件容错技术。EHW容错技术作为一种新兴的智能动态容错方法,利用进化的算法进行搜索,实现基本思想的利用,满足计算机电路的预期功能进行可编程器件配置。EHW的容错技术是可以实现在线、实时的硬件改变进行故障屏蔽工作,而且还具有十分强大的自主性与环境适应能力,可以保持长期的无人操作情况下在复杂的星空环境进行星载计算机软件容错操作。世界各国的研究机构都在做EHW的容错方法研究,以英国和日本的研究更早,研究更深入。而美国已把EHW容错方法设为重点的研究项目应用在航天技术领域。目前EHW容错技术的研究工作只是处于初级阶段,但每年国际都有EHW的国际学术会议进行广泛的交流,我国空间技术研究所等多家单位也在对EHW进行进一步的研究。
3高可靠并行星载计算机软件容错技术结构
EHW容错技术应用的进化算法作为群体算法,使EHW容错技术的结构原理也同为群体并行结构。图2所示就是容错并行进化的结构框图。图2中,每个可编程的器件都可以实现星载计算机多个可编程器件的进化使用,进化的结果是配置在一个器件上的使用,保证一台计算机的工作,而编程器的进化有具体的计算方法。计算单元做为初期的种群,而种群的大小可以设定为N。将种群中每条染色体进行编码工作,映射在可编程的器件上得现配置的数据结论,将N条配置的数据下载于N个可编程器件里。运算单元会产生M路的激励信号,将信号输入到可编程器件中,通过电路读取进行评价,如果评价值能够满足电路的应用,进化就可以顺利完成,如果不能满足电路就要转入下一个步骤。这个步骤即为下一代种群的结构,实现EHW容错群体概念,这是一种十分高效的并行星载计算机容错方法,但这种结构仅可以作为EHW容错技术原理结构存在,实际的应用还是要体现在冗余度过大和硬利实际利用率过低等问题产生的成本太高,计算机硬件复杂造成的不实用。并行结构的冗余度要比传统的多模冗余大,与传统多模冗余容错比较,并不具有太大的优势,使并行结构的实用性不强。通过上面的分析可以得出结论,容错技术大大提高了我国星载计算机软件容错技术的可靠度,规定时间内,可靠度能够达到设计要求,由此证明,容错技术是保证提高星载计算机软件高可靠度重要途径。
4结语
本文通过介绍高可靠并行星载计算机软件容错技术,提出了星载计算机的高可靠度并行等特点,又提出了星载计算机的容错方法,通过EHW容错方法的并行结构分析,提高了星载计算机软件容错技术可靠度的实行,是适用星载计算机容错设计的结论。
作者:李淑侠 魏广平 单位:中国电信股份有限公司潼关分公司陕西省电子技术研究所
第四篇:计算机软件开发技术研究
1开发方与用户方缺乏配合
在软件开发的过程中开发方和用户方的配合不理想,一方面一些有计算机专业人员的单位的知识结构与信息技术的发展不同步,这会导致他们对软件的要求太空泛;另一方面一些没有计算机专业人员的单位由于计算机水平有限,在与开发人员沟通的时候会出现偏差。2.4开发团队结构不合理。我国有很多的计算机软件开发团队都是临时组成的,缺乏优秀的系统分析员和项目管理人员,分工不明,层次不清。项目的负责人也没有专业培训,软件研发项目的协调工作不到位。2.5计算机软件技术开发管理机制不健全。计算机软件技术开发管理机制不健全主要表现在计划不周,成员职责分工不明确,软件开发阶段性弱,缺乏团队协作意识。
2计算机软件开发技术的发展对策
2.1组建精锐的项目开发小组。(1)项目负责人。项目负责人负责整个计算机软件开发的整个过程,不仅需要有过硬的计算机知识,还要有项目管理经验。在计算机软件开发的过程中明确各部门职责,协调各部门关系,组织软件开发的进度等。(2)系统分析员。系统分析员的主要职责是组织分析用户需求和项目开发的难度和工作量,准确分析软件研发成功的实现过程,为项目的实现提供内外部条件等等。系统分析员应该在过硬的专业知识的基础上,为完成项目的开发坚实履行个人职责。(3)软件程序员。软件程序员在系统分析员的要求下负责具体的程序编写等。(4)软件测试人员。他们的主要职责是对编写完成的程序进行整体测试。(5)此外计算机软件开发还需要核算人员、市场潜力分析人员等来辅助计算机软件的开发工作。2.2充分分析用户需求。全面的用户需求分析是软件开发成功的必要前提和保证。系统分析员对于用户业务和软件开发工作量以及难点的了解主要是通过软件开发的业务调研和用户需求分析。对用户需求的充分了解不仅需要开发的努力,还需要用户方与开发方的密切配合。2.3创建软件开发历史数据库。大多数计算机软件项目开发失败的主要原因是缺乏创建软件开发历史数据库,软件开发的历史数据库能够最大限度的避免项目负责人、程序员和客户对于软件开发过程中的错误认识,减少软件开发成本,缩短软件开发时间。2.4评估计算机软件开发成本和开发周期。在系统的业务调研和充分的需求分析基础上准确评估计算机软件开发成本和开发周期。对于计算机软件的开发应该避免由几个主要人员大致分析客户需求之后就开始进行项目开发的错误。计算机软件技术的开发应该由专门的工作人员系统准确的分析软件的开发成本和开发周期。2.5对项目的进度进行系统的检查。软件产业的项目进度至今没有一个标准的检查方法,多数的项目进度主要是通过实现的软件功能来检查。然而一个软件开发项目的完成不能只关注部分已经实现的软件功能,还应该关注文档的编制和技术的支持等。在分析项目进度时应该全面而客观。2.6加大对软件设计和代码的复查力度。一个合格的程序员不仅要会编程序,还要重视编程质量。经验表明在同等工作量下,设计复查和代码复查检查出的错误数量是在软件检测发现的错误的两倍。加大对软件设计复查和代码复查能够及时发现编程错误,并及时修正。2.7给软件开发人员全面的重视。在计算机软件开发的过程中开发人员有着举足轻重的地位,项目组应该在精神上和物质上给予他们保证,高素质的软件开发团队才能在软件行业中立足。
3计算机软件开发技术的发展趋势
3.1服务化趋势。软件行业发展的主流趋势是面向更广阔的客户群,主要目标是将最好的设计理念,最先进的技术和最贴心的服务提供给客户。3.2网络化趋势。随着计算机和网络技术的迅速发展,全球的联系越来越密切,软件技术的开发也需要满足世界各个角落的人的需要,网络化成为必然趋势。3.3开放化趋势。软件产业的进一步发展离不开软件技术人员开放式的交流、开放式的软件源代码和标准化的软件产品。3.4智能化趋势。当今社会的良性运转越来越离不开人工智能的发展,因此软件技术的发展更要向智能化方向发展,这将会成为软件开发过程中的具有历史意义的一步。3.5融合化趋势。软件技术将会改进传统的机械化和自动化,融合智能化和网络化等多重技术,从而增强企业的核心竞争力,促进软件企业的大发展。
4结束语
经过几十年发展的软件开发技术不但需要硬件系统的支持,还需要合适的软件系统的组织,计算机硬件系统和软件系统的更新换代对计算机技术的发展至关重要。软件开发和维护需要先进的软件开发技术的支持,合适的软件开发方式对软件开发人员保证软件产品的质量十分重要。
作者:史广强 单位:四川大学计算机学院
第五篇:计算机软件开发技术及应用
1计算机软件开发的常用方法
1.1软件生命周期法
软件生命周期法主要是从软件开发的时间角度考虑,将计算机软件的设计、开发、评估、运行、维护等开发环节分成不同的阶段,每一个阶段都制定严格的标准,软件生命周期法可以帮助软件开发者制定科学合理的计划,逐渐完成所有阶段软件开发的过程。
1.2原型化法
软件生命周期需要对计算机软件进行预说明和定义,需要软件开发人员全面了解用户的需求,深刻、准确、全面的认定计算机软件系统的主要需求和功能。如果在软件开发初期,用户没有给出详细的软件设计要求,开发人员不能全面确定软件的算法效果和实用性,可以采用原型化的设计方法,在原型化的计算机系统基础上,后期再进行修改,完善软件使用要求。
1.3自动形式的系统开发法
这种软件开发方法主要应用了第四代软件开发技术,需要软件使用者明确的说明软件想要实现的主要内容和目标,然后结合计算机软件系统的要求自动地完成编码设计。
2计算机软件开发技术的应用
计算机软件开发的主要目的在于不断开发创新新软件,不断优化现有的计算机软件,为人们提供更多元化的服务,推动社会的快速发展。因此,对于某一种计算机软件开发技术来说,只有充分体现出计算机软件开发的真正价值,才算是成功。利用计算机软件开发技术开发出两个重要计算机产品,第一个软件开发产品利用VB6.0+Acess的单机版计算机运行模型,第二个软件开发产品应用Web+Xml+ActiveX的数据库服务模式。将这两个产品分别安装在客户端的计算机上。第一个软件开发产品采用了微软历史版的VB虚拟机和Acess驱动,在安装操作时,可以直接运行安装,计算机可以实现自动化的系统兼容,为用户提供了极大的便利。第二个软件开发产品由于应用了ActiveX组件,在安装过程中需要更改相关浏览器的参数设置,然后再进行安装设置,和第一个软件开发产品相比,第二个软件开发产品的安装过程比较复杂。两个软件开发产品安装完成后,经过一段时间的运行,第一个软件开发产品的运行过程中比较稳定,并且软件的安装维护修复都在独立的模块中,用户通过简单的操作,就可以单独完成。但是这个软件也有一定的缺陷,软件的运行时间越长,运行速度和效率越低,能量损耗严重。第二个软件开发产品在安装运行过程中,容易受到计算机运行系统版本的限制,并且需要修改浏览器的参数设置,软件的更新维护比较复杂,给计算机用户带了很多的不便。计算机作为人们生活、工作和学习中使用的重要工具,只有不断提高计算机软件开发技术,才能更好地改善人们的生活,更好地服务社会,随着计算机的广泛普及,计算机软件开发技术人员需要按照用户的实际情况和使用要求进行开发设计,坚持以人为本的计算机软件开发原则,突出计算机软件的有效性和实用性,推动社会的快速发展。
3计算机软件开发技术的重要性
计算机软件开发技术是支撑计算机软件工程的重要技术,使计算机逐渐实现网络支持和远程控制,充分体现出了计算机的使用价值。同时计算机软件开发技术将计算机的开发性和共存性合为一体形成计算机网络模式,促进了计算机网络的发展。在计算机的实际运行过程中,软件开发技术从根本上解决了用户软件需求和软件开发之间的偏差,极大地满足了用户的多种个性化需求,提高了计算机软件的便捷性、可靠性、安全性和高效性,为计算机软件开发技术提供了广阔的应用空间。新时期,计算机软件开发技术需要与时俱进,为人们提供更加多元化的服务,充分发挥计算机软件的价值,推动计算机快速发展。
4结束语
网络信息时代,计算机在各个领域发挥着越来越重要的作用,具有巨大的社会价值,计算机软件开发技术是推动计算机快速发展的重要动力,因此只有不断发展和创新计算机软件开发技术,突出计算机的社会使用价值,坚持以人为本的软件开发原则,才能推动计算机软件开发技术的可持续发展,为人们提供更加多元化的服务。
作者:张嘉
第六篇:计算机软件开发的分层技术
(一)双层结构技术
双层构架计算机软件系统包括客户端和服务器构成的数据库系统,客户端主要是给用户提供可视化的用户界面,主要是处理一些计算机逻辑关系,而服务器是根据用户在客户端输入的数据在已有的数据库中进行查询搜索或计算,并将对应的数据处理结果在客户端的用户界面上显示出来反馈给用户。二层数据处理结果也被称为Fat客户,可以看出这种数据处理方式在用户比较少和计算机CPU有足够时间进行数据计算时,能处理许多逻辑关系。但是,一旦用户的数量急剧增加,同时要求计算机效率提高的时候,就会给计算机很短的时间来处理数据关系,此时整个计算机软件系统就会出现运行迟缓、通信应用性差、出错率上升、系统维护费用高等问题,并且,简单的双层软件系统构架会给数据的安全带来隐患。因此就需要加快研发三层或多层软件系统构架来解决这些问题。
(二)三层结构技术
三层结构技术是建立在双层结构技术的基础上,对计算机软件系统开发双层构架的延伸和发展。它的特点是分层清晰,业务独立,有规则可循[1]。三层软件系统结构包括客户端、数据服务器和应用服务器,其中将双层结构中,客户端对用户输入数据逻辑关系的功能划分到应用服务器上,客户端的功能集中为用户提供可视化界面,这样就可以大大的减小客户端的负担,真正的实现人机交互工作。这种软件系统分层也被称为数据层、业务处理层和界面层结构。其中界面层的主要功能是实现软件系统与用户的对接,将用户对软件系统需求数据输送到业务处理层;业务处理层在接收到界面层发送来的用户需求数据后,对用户的指令和需求进行分析和处理,并向数据层提出数据操作的申请;数据层根据业务处理层的数据操作申请,对数据库中的数据进行查询、处理、储存和优化并将结果反馈给业务处理层,业务处理层再将结果反馈给界面层,实现每一层的功能有机分配,降低了整个系统的操作负担,提高了数据处理的效率,且具有明显的可拓展性、易维护、可重用、数据安全等优点。需要说明的是,这种优点相对于双层结构技术在当用户的数量比较少时并不明显。目前,在计算机软件设计领域中,针对不同的软件系统,三层结构技术往往与双层结构模块结合使用,这样就有效的避免了资源的浪费。
(三)四层结构技术
计算机软件的运行环境由于web技术的应用而日益复杂化,计算机软件每时每刻都需要计算数量巨大的数据及处理数据之间的相互关系。计算机软件的用户也对软件的要求越来越高,要求软件的开发周期短、软件维护方便、运算结果更加的精确、数据处理量大、数据处理速度快等。为了实现用户的这些要求,就需要将数据层、业务处理层和界面层,按照功能模块完全的独立起来,降低它们之间的相互影响,传统的三层结构技术却难以实现这样的效果,特别是在基于web技术的限制下,因此就产生了四层结构技术来实现软件系统的功能。许多软件研发者通过在数据层和业务层之间增加一个封装层[2],以实现对数据库接口的进一步封装,这样就诞生了四层软件结构体系。四层软件结构主要包括web层、业务处理层、数据层和储存层。Web层主要有两种形式,其中第一种模式主要由JSP页面组成,结构比较简单,直接将用户的需求数据输送到数据层进行查询,并将结果反馈给用户,少量的进行Java数据处理库操作,但是在这种模式下,部分代码的重复使用率低、软件系统的维护和升级的难度都比较大,不适合大型复杂系统的开发。第二种web模式是建立在MVC结构的基础上,前端的控制器由Servlet代替JSP来收集用户的需求数据,并将需求数据传输给Java数据库处理,其结果由JSP来向用户界面反馈,这种模式适合大型、复杂软件系统的开发。业务处理层布置在web层和数据层之间,并且起到承上启下的作用,实现web层和数据层之间的数据交流。数据层处于业务处理层和储存层之间,以实现对大量复杂数据的处理并提出合理的方案。储存层主要功能是实现对数据的分类、保存、调取和修改等,以满足计算机软件对数据处理的需求。目前四层结构技术在计算机软件设计领域的应用比较少,但是相信在web技术广为应用的背景下,最终将代替三层软件结构成为未来大型软件设计的主流。
(四)五层结构技术
为了让计算机软件实现某些特定的功能,以适应特定的运行环境的要求,软件研发工作者在四层软件系统构架的基础上,把数据层进一步分解为集成层和资源层,这样就形成了包括客户层,Web应用层,业务层,集成层和资源层的软件系统的五层构架。前两层主要由三层结构中客服端分化而来,后两层由数据库分化[3]。其中,集成层主要为了数据的持久性访问,并对用户的需求进行处理,资源层主要是实现数据库的功能。五层结构技术将软件开发的结构进行进一步的分解,增大各个层次之间的独立性,提高了数据的处理速度。但是,目前五层结构技术尚且只是应用在某些特定的领域,而在其他领域的优势则不是很明显。
(五)结束语
通过分析二层结构技术和多层结构技术,可以看出软件开发的多层构架有着可拓展性强、数据安全性高、维护便捷、开发周期短和运行速度快等优点,将在未来必然会取代双层软件系统结构,成为软件开发构件的主流。
作者:张世海 梁晓梅 单位:吉林省计算中心吉林省衡鑫贸易有限公司
第七篇:计算机软件测试技术
1基于硬件的保护方式
(1)加密狗(加密锁)加密狗是一种特殊的加密实体产品,也叫做加密锁,它可以通过串口、并口以及USB接口与电脑相连。通过这种连接达到加密的目的,这种保护方法比其他的软件保护方法更加有效。但是由于其的性价比较为高昂,只有部分要求安全性非常高的地区或者企业才会使用。(2)光盘、软盘保护。光盘、软盘保护是指要保护的软件的部分信息以密匙的方式存入到光盘或者软盘之中,当光盘、软盘遭到破坏时受保护的软件业会遭到破坏,从而达到软件的保护。这不禁让我们想到单机的光盘游戏,的确,光盘游戏是这种保护方法的主要应用,通过这种方法阻止不法份子对光盘内容进行剽窃。但是这种保护方式存在着很大的问题:首先,只能是确保受保护软件的不被泄露,而在一定程度上无法保证软件的安全性,当光盘或者软盘遭到破坏时,软件同时也会被破坏;其二,这种保护方式容易被相关人士所破解,安全度数很低。
2基于软件的保护方式
(1)序列号保护。现在通常的网络共享软件的保护方式是通过软件公司专门设置一个特定的序列码来对所具有的的软件本身以及软件的所有权与使用权的保护。具体的序列号保护方法是用户在想使用某个软件时,需要提供自己的信息,而软件将信息传递到软件公司,公司将特定的序列号给用户,而用户通过序列号就能正常的使用该软件的相关功能。由于这种方法操作过程相对简便,经济效益也相对的高,所以受到了广大用户以及软件公司的使用。(2)Nag窗口.Nag窗口是指有少数的软件在用户使用过程中弹出相应窗口来阻止用户的使用,在用户购来正式版之后这个窗口弹出的设定权就在用户手中。这个方法实则在让用户去购买正式版来促进消费。而这个促进消费的方式却不如人意,造成用户被迫消费的现象。所以已经渐渐淡出人们的视线。(3)时间限制。时间限制在软件的保护方法中还是经常被使用。时间限制有着它的优势。我们常用的时间限制包括使用次数和使用天数的限制以及在一次运行过程中最多的运行时间限制,在超过这个时间限制,该软件就会被保护起来。(4)功能限制。功能限制最通常的方法就是放出一个Demo版,灰色化处理其中较为重要的功能选项。让其无法使用这部分的功能。最初的功能限制是具有相当的风险的,其只是禁止了试用版的部分功能,因为正式版与试用版的代码相同,破解者在找到这部分代码并将其改变,就能够使用到正式版的全部功能。这就使得功能限制有相当大的风险。而后通过改变试用版与正式版的使用代码,让试用版的相关功能的代码不能在正式版中使用。破解者要想得到正式版的功能,只能在正式版中加入自己的代码。这大大增加了功能的最大限制化,让功能能够得到彻底的限制,达到限制的目的。(5)反汇编、反调试技术。这种技术是预防在Cracker使用SoftICE、IDA等调试器破解、静态或动态跟踪、分析需要被保护的软件,它可以与上面所谈及的几种保护技术一起使用,可以加强这些技术在保护时的效果。
3结束语
综上所述,随着软件行业的不断发展,人们对软件功能要求不断提高的同时,对软件质量问题也日渐关注,计算机软件测试与保护技术是保证软件质量的有效手段。因此,我们应加大对软件测试和保护技术的研究力度,为软件行业的发展打下坚实的基础。
作者:付宇 单位:河南经贸职业学院
第八篇:计算机软件开发技术的应用
1发展的方法
随着科学技术的完善,计算机软件的开发方法也越来越多,但是其中最主要的是三种方法,这三种方法就是自动形式的系统开发法、原型化法和软件生命周期法,就目前而言,这三种方法的应用是最普遍的,下面我将对这3种基本方法进行简单的说明:第一种自动形式的系统开发法,显而易见自动形式就是按照系统的要求进行自动的设计和编码,它所利用的工具是第四代技术中的一种较为先进的技术,这种方法中要实现的具体内容和实现目标都是被要求要被说明的,而对于其他方面,例如:如何实现却是不需要进行说明的;第二种就是原型化法,在进行软件开发设计是需要明确所设计软件的具体信息,可是有些时候不可避免的会出现客户会无法准确地描述出自己所需软件的基本信息,对其效果和功能也许也没有明确的定位,那么就可以采取原型化法,这种方法有利于设计的完成;第三种就是软件生命周期法,软件的生命周期有不同的阶段和时期,一般情况下,软件的生命周期分为6个阶段,而不同的阶段会有不同的设计开发和维护的方法,针对不同的阶段采取不同的方法会有效的提高效率。这三种不同的方法分别适用于不同的对象,不同的情况就可以采取不同的方法,三种方法相辅相成,广泛应用于软件的开发设计之中。
2计算机软件开发技术的广泛运用及其应用价值
不同的设计,不同的改变和创新的目的都是相同的,那就是为了能更好地服务于大众和社会,以实现设计者和使用者的最大程度的互惠互利,实现共赢。这里有一个软件开发利用的实例,可以用来说明这个问题,告诉大家计算机软件开发技术的应用价值所在。下面我将列举出两种以不同方式开发设计的产品。其中第一件产品是通过单机版运行模式进行开发设计的成功示范,在这个产品中作者采用的是VB6.0+Acess,而不同于第一件产品的是第二件产品的开发设计则是采用了高级数据库服务器和Web+Xml+ActiveX,这两种产品采用的是两种完全不同的设计方式。现在根据我们的需求,我们在这两种产品上都分别安装上客户机端,经过我们长时间的跟踪观察探究,我们发现这两种方式安装的客户机端体现出了不同的需求:众所周知,VB虚拟机和Acess驱动都属于微软开发设计的,它们是微软的历史版本,那么基于这一点也就可以说明在第一件产品在客户机上是可以直接被安装的,但是采用第二种方法开发设计的产品则不可以直接安装在客户机上,要安装第二种产品就要经过很复杂的过程来修改计算机,这就增加了很多安装中的步骤,而且安装第二种产品时,对于浏览器的安全设置也需要我们人为地去加以改变。在经过了很长时间的使用之后,我们也不难发现,用第一种方式开发设计的产品他的运行是比较稳定的,但是随着使用时间的增加,你会发现计算机的运行速度会变得越来越慢,导致这个问题出现的原因是在使用的过程中,计算机中存在的数据越来越多,占据了越来越多的存储空间之后,运行的速度变慢其实也应该是必然的结果。但是对于第二种产品,由于我们在安装的过程中曾经修改过浏览器的安全设置,所以这会导致用户在使用过程中的不便,这种产品的安装和运行都因为不具备兼容性,而变得很麻烦,这也就是我们在后期对第二种产品使用之后发现的他在使用过程中所暴露出来的缺点。这两个例子的应用必将引起软件开发者的思考,作为人们日常生活中越来越普遍的运用工具,计算机未来的开发设计将向什么方向发展将成为我们需要认真思考的问题。
3结束语
计算机软件的开发技术在一辈又一辈认得努力下的到了不同程度上的创新,其技术是有很大的进步的,但是现如今科学技术发展迅速,要与时俱进,就要不断地将技术进行创新和改进,以跟上社会发展的潮流。将计算机软件设计的更符合人们的需求,功能越来越强大,应是我们的目标。并且在软件的开发设计中也提倡引入新社会的思潮例如“以人为本”,来提高计算机软件在社会中的服务价值。
作者:赵晓津 刘云 单位:海南政法职业学院
第九篇:分层技术对计算机软件开发的应用
1中间件技术
(1)MOM面向消息中间件。该技术不仅能够使信息异步传送,还能够进行同步传送,除了具备一般的中间件特点,还具备信息安全性高、异步通信等特点。MOM是应用范围最广泛的中间件技术,在邮电、金融、交通等行业被广泛应用。(2)RPC远程过程调用中间件。与数据库系统相比,RPC在服务器以及客户方面,有着更强的实用性与先进性。通过远程调用机制,能够为程序员编写软件代码提供方便,更好的实现客户需求。PRC的灵活性非常强,除了能够在比较复杂的环境下使用,还能进行跨平台应用,对远端的其它程序进行实施调用,进而满足了编制过程中的问题。在实际应用过程中,RPC也有一定的缺陷,因为,RPC主要是在普通程序之间应用,只能在小范围内进行同步通信。很明显,这种同步通信模式,很难在大范围中应用,需要考虑到网络故障、同步进程、流量控制等问题。(3)OOM面向对象中间件。基于组件技术是现阶段大型企业应用较广的技术,但是,不同组件之间出现相互操作、相互兼容的问题,若在各自平台上运行,就无法有效发挥其应用作用。所以说,面向对象中间件技术得到了研究与发展。在分布式技术与对象技术得到有效发展的今天,中间件能够提供全新通讯机制,能够在异构环境下满足对象需求。
2两层结构与三层结构
两层软件模式最重要的是由客户端以及服务器组成。客户端可以进行逻辑处理并提供用户界面。服务器接收客户相关指令并进行数据库查询,将查询结果进一步反馈给用户。这种二层处理技术能够有效完成大量的逻辑处理。但是随着客户数量增加,二层结构技术就会出现维护成本高、应用性差、扩充性差等缺陷。在这种情况下,三层结构技术得到了广泛应用。其中,客户端主要是进行人机交互的系统。数据服务器的最重要功能就是实现数据访问、数据存储以及数据优化。应用服务器能够有效完成业务逻辑,降低客户负担。相对于二层结构来说,三层结构技术的安全性更高,扩展性强,比较容易维护,可重用,大大降低了网络负荷。但是如果在用户数量比较少的情况下,则更能显示出两层结构优点。因此,在具体的软件开发过程中,需要结合实际情况选择合适的分层技术。
3四层结构
在计算机环境日趋复杂的今天,用户对于系统标准要求越来越高,软件开发周期短、稳定性能高、扩展便捷、维护方便。要想满足这种需求,就需要将服务器、业务逻辑、用户界面等进行分离,降低彼此之间的影响。在这种情况下,就需要进行四层机构开发。Web可以选择模式1、2业务逻辑层位于Web与持久层之间,主要是将持久层中产生的数据信息传输到Web层,其作为数据处理中心,起到承上启下的数据传递作用。持久层位于业务逻辑层与数据存储之间,能够对数据操作中的数据代码进行隐藏,单独提出持久层,进一步对对象与关系间的范例差异进行弥补。数据存储重要的任务就是定义数据、存取数据、维护数据以及修改数据,从而更好地满足对象层的请求,有效实现数据与信息交互。应用中间件,能够有效确保不同层次间的独立性。
4结语
在网络环境日益复杂以及客户需求标准不断提升的今天,分层技术在计算机软件开发中得到了较为广泛的应用。多层分布技术能充分发挥资源优势,更好地满足客户需求,是将来软件开发的趋势。
作者:谢尚 单位:北京神舟航天软件技术有限公司
第十篇:分层技术在计算机软件开发中的作用
第一,就是计算机软件开发中对于双层技术的应用,其中最主要的就是要有两个端点,这里两个端点就是客户端与服务器。首先是由服务器接收来自客户的信息,其次由数据库进行一定的计算与总结后在传送给客户端进行使用。
第二,就是计算机软件开发中对于三层技术的应用,这种应用技术的应用主要是在双层技术的基础上进行的改进与发展,同时增加了应用的服务器,而且这种应用的服务器主要是为了帮助计算机用户之间进行一定的数据储存,还能不断的提高计算机访问信息网站的速度,逐渐的实现了计算机和人这两者之间的交互作用,不断的在提高计算机的工作效率。
第三,就是在计算机软件开发中应用四层技术,四层技术是为了应对在计算机软件年开发中的双层技术与三层技术都无法应付的计算机使用复杂环境,所以才需要将计算机软件开发中的三层技术里的界面层、业务管理层与数据层进行科学的分开,这样就能够降低计算机软件开发中这几层之间的互相影响,需要将计算机软件开发的三层技术逐步的向四层技术发展,计算机软件开发的四层技术主要有业务的处理层、数据层、web层和存储层。四层技术中的业务层就是向web层传送数据层的处理结果,再通过数据与数据之间进行交换工作,然而四层技术中的数据层是处在业务处理的逻辑层与存储层这两个层次之间的,然后通过隐藏数据代码的访问是能够反映出计算机与数据库之间的这两者的关系,可以更好的帮助和解决在关系与对象之间的差异匹配的这一问题。科学的使用计算机软件开发的分层技术可以更快的提高计算机软件的开发效率,还可以更快的提高计算机的工作效率。
随着计算机软件开发技术的不断进步和发展,计算机软件的开发工作也会面临着各种各样复杂的网络环境和客户对计算机越来越高的的需求,需要在计算机软件的开发中不断地应用计算机软件的分层技术。计算机的分层技术不仅可以提高计算机软件开发的效率,而且还可以缩短计算机软件开发的时间,从而降低了计算机软件开发的成本,所以要科学的运用计算机软件开发的分层技术来满足客户的要求。
作者:王志勇 单位:湖北工业大学