当前位置:论文网 > 论文宝库 > 工程技术类 > 工程硕士论文 > 正文

浅谈基于软件历史信息的软件工程

来源:UC论文网2015-10-31 10:56

摘要:

【摘要】降低开发成本尽量减少软件演化过程中的问题一直是软件工程实践者在软件工程实践中的追求,提高软件质

当前位置: 【中国硕士论文网】 >>工程硕士论文 >> 软件工程硕士论文 >> 浅谈基于软件历史信息的软件工程

浅谈基于软件历史信息的软件工程

来源:   叶嘉毅

【摘要】降低开发成本 尽量减少软件演化过程中的问题一直是软件工程实践者在软件工程实践中的追求,提高软件质量和自动化的软件维护过程也是当前软件工程研究的热点问题。即使是通过各种方式,但是软件缺陷修复和软件维护的成本无法明显降低,软件的可靠性仍然无法保障。仍然无法达到客户萋求,这样的恶性循环会使生产者和使用者丧失信心。本文以软件演化历史为背景,关于软件质量度量和预测以及改善软件维护的框架做出了探讨
  
  【关键词】软件历史;软件演化;软件维护
  
  软件的开发和维护是一个时间、劳动力和资源密集的过程。同时,软件缺陷的修复成本也非常高 对于软件的修复和维护。这也是一项艰巨的任务。不仅占据了软件项目的大量资源。而且,对于研究人员来说。仍需要在软件维护方面做大量的研究,这些研究主要包括:(1)设计良好的编程语言和可适应的集成开发环境以提高编程的效率。构建自动编译工具。(3)实施更加严格的软件安全策略。但是在这些研究丁作中没有涉及到。当然。在研究开发领域目前已经有了很大的进步。但是成本问题仍然无法解决 基于目前的状况。以下内容应该得到重点研究:1)编程语言对软件开发效率以及软件质量的影响。2)软件缺陷修复的分派机制 3)设计基于网的模型来预测软件维护的成本。
  设计一个自动化的框架来集成各种各样的软件产品资源库以帮助软件开发人员和研究人员进行相关的数据挖掘活动。
  
  1.编程语言对开发和维护的影响
  编程语言对软件开发和维护影响的定量评估一直都是一个难以解决的问题。当前。新应用不断涌现。同时编辑的语言也随着具有较大的变化。而且选择具有多样性。在Web2.0 现的背景下。数据表明编程人员越来越喜欢用动态的高级语言。这些语言具有高抽象的特点。
  这能促进软件质量的进步 但是当前不足的是没有静态检验T具。缺乏成熟的分析和验证丁具。所以程序员在编写程序时极易m错。这会导致后期软件维护的难度加大 关于编程语言对软件开发和维护的影响。有程序员专门研究过。但是没有考虑到编程语言和具体的应用,也没有将研究是否合适纳入考虑范围 有的研究者将开发人员分成几个小组针对某些项目进行研究。但是开发者的水平因素并没有被考虑到。而这些项目具有比较小、不被经常使用而且生命周期比较短的特点。并且。这些方法得到的结果无法推及到较大的应用项目。
  
  2.软件缺陷的分派机制
  一般流行的开源软件项目通常每天都会收到上百份缺陷报告。在理想的状况下。开发人员将会在最短时间内收到这些缺陷报告。对于程序员收到缺陷的过程会受到几个因素的同时影响 如果通过手动方式处理缺陷。大量的时间和劳动力将会被消耗。准确性也无法保障。而且。对于每一个项目。跟踪每个活动的开发者和他们的经验也是一件非常网难的事情。即使是用机器代替手工.其效率和准确性也无法得到保障。
  
  3.基于图的方法
  在软件维护的研究中使用基于同的度量最早应用在软件缺陷预测领域 Zimmermann等人通过雨数调用关系图来达到一个文件发生故障的概率的预测目标 而Pinzger等人。则通过构建了一个开发者网络来达到预测软件故障的目标 但是。这些均没有考虑到软件成本问题。以及基于图的度量的识别软件代码中的关键点的问题 分析软件的结构。以基于罔的软件模型为基础。计算软件中各种元素之间的关系来实现提高质量降低成本的目的。
  
  4.集成软件产品的框架
  开源软件项目在开发过程中使用不同的资源库来存储项目和演化的信息。像源代码,缺陷和补丁这样,通过整合不同的资源库,采用先进的查询技术来达到不同的资源库之间进行查询和浏览的目的。会大大的帮助解决开发和研究过程中 现的问题 例如。为什么代码要按照这种方式来实施?这是编员必须面对的普遍问题,开发者进行了很多的探索。但是开发者探索是需要用到软件缺陷资源库和代码资源 库中的信息,由于两个资源库是独立的。所以无法高效的完成任务 刈于手工集成的这些信息。有繁琐、耗时、也比较容易出错的缺点,朋到大型项目上更是如此 而在过去主要是通过限制用户查询和浏览的方式来解决问题 如。查询只能按照规定的查询模版来进行。另外,通过建立一个框架来支持各种查询语育。允许软件的开发人员和研究人员在更加广泛和深层的空间中去寻找问题的答案或线索。这样的方法才能有效的帮助开发人员和研究人员完成相关的开发和经验分析任务。
  
  5.软件工程方法和技术
  正确的编写满足需求的软件是软件开发范型关注的方向 软件设计方法关注软件T程的“途径”.即研究怎样完成从高层概念模型到低层概念模型的映射 软件T程理论在实践中应用时重点应该放在软件复用上 以目前成熟的T业产品的开发模式为参考。软件复用可以在软件开发中避免重复劳动。在已有的成果之上,充分考虑开发应用系统中积累的知识和经验。集中进行新应用的特有构成成分上的开发 采用软件复用技术有下面好处。第一,可以充分利用已有的开发成果。第二,消除软件生命周期中的许多重复劳动,第i,提高软件开发的效率。同时。复用高质量的已有成果。可以避免重新开发时引入的错误。从而提高软件质量。
  软件构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。当前。一般构件包括:源代码。
  需求、需求规约、系统和软件的体系结构、文档、测试计划、测试用例和数据以及其他对开发活动有用的信息。这些信息都可以称为可复用软件构件。软件复用的核心技术主要有:(1)如何有目的的进行构件生产和从已有系统中挖掘提取构件;(2)构件的本质特征及构件间的关系是什么样的;(3)如何描述构件;(4)如何对构件进行分类、组织及检索等。有研究表明。南于某个特定领域需要的软件具有相似的需求,因此软件复用在特定领域内更容易获得成功。领域lT程也在这种背景下产生。领域一程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它包括建立可复用软件构件的所有活动。一些领域分析方法被美圈卡内基。梅隆大学软件1.程研究所(CMU/SEI)~EIAI的许多研究机构提在建筑领域。通常人们采用体系结构表达建筑的整体结构。将其应用到软件之中。则是软件系统的结构 主要有:构件、构件之间的交互荚系、限制、构件和连接件构成的拓扑结构、设计原则与指导方针。
  
  6.结语
  提高软件维护质量是本文讨论的重点。相信一个软件资源库的集成框架将会促进软件产品的开发和分析活动。
  
  【参考文献】
  『1]丁沂。基于软件历史信息的软件]二程实践『J】。数字技术与应用,2012,(4):
  『2]钟林辉,郑鑫,郑赖等。演化信息驱动的软件体系结构蕈=构技术研究[J】l计算机程与应用。2009.45(14):
  『3]汪巧红。c kiR.f软件在撰写历史专业本科毕业论文中的应用『JI_电脑知识与技术。201 1,07(26):
  钟林辉。姚昕凡。徐静等。基于扩展的构件依赖关系图聚类的体系结构囊构策略研究『J1.计算机应用研究,2010,27(8):
  薛静锋,范志安‘李建胜等。基于历史信息预测转发概率的DTN路由算法北京理T大学学报,2011.31f1):
  方忆湘,杨铁男孙辉辉等。基于造型历史过程的零件置坐标测缝信息获取【现代制造l丁程,2014,(

您现在阅读的文章:《浅谈基于软件历史信息的软件工程》由提供,转载请保留链接。

前一篇:    浅谈CD10工程教育理念的软件工程专业学生非专业素质培

核心期刊推荐