A Comprehensive Study of Commonly Practiced Heavy and Light Weight Software Methodologies
软件在现代社会的发展中扮演着重要的角色。软件行业可以选择合适的方法/过程模型,以满足其当前的需求,为问题提供解决方案。虽然一些公司有自己的定制方法来开发他们的软件,但大多数人认为软件方法分为重量级和轻量级两类。重量级方法论(瀑布模型,螺旋模型)也被称为传统方法论,其重点是详细的文档,包容性规划和外向设计。轻量级方法(XP,SCRUM)被称为敏捷方法。轻量级方法主要集中在短的迭代周期,并依赖于团队内部的知识。本文的目的是描述流行的重量级和轻量级的方法,广泛应用于软件行业的特点。我们已经讨论了所选模型的优点和缺点。此外,我们还讨论了这两种对立方法的优点和缺点,并说明了一些标准,帮助项目经理选择合适的模型,为他们的项目。
2011-11-13 cs.SE
Project Success in Agile Development Projects
本文解释并澄清了瀑布和敏捷开发方法之间的差异,建立了在软件开发项目范围内正确定义项目成功的标准,最后试图澄清项目成功是否是许多组织从其他方法(如瀑布)转向敏捷方法的原因。以文献综述的形式,它分析了一些出版物,调查和案例研究,指出了公司转向敏捷的动机,以及他们后来观察到的结果。它还分析了公司从传统方法(如瀑布)发展到敏捷开发方法后项目成果的总体统计数据。
2017-11-18 cs.SE
Minimal TestCase Generation for Object-Oriented Software with State Charts
今天,状态图是工业界对系统行为建模的事实标准。测试数据生成是软件测试的关键问题之一。针对基于状态的软件测试,提出了一种测试数据生成的约简方法。本文从状态图出发,导出了第一状态转移图。然后,从状态图中提取所有需要的信息。然后生成测试用例。最后,通过计算每个测试用例的节点覆盖率来最小化一组测试用例。还确定哪些测试用例被其他测试用例覆盖。我们的测试生成技术的优点是,它通过最小化时间和成本来优化测试覆盖率。该测试数据生成方案生成满足变迁路径覆盖准则、路径覆盖准则和动作覆盖准则的测试用例。最后以铁路自动售票机为例进行了分析。
2012-08-10 cs.SE
Enhancing the OPEN Process Framework with Service-Oriented Method Fragments
面向服务是一个很有前途的范例,它使大规模分布式软件系统的工程使用严格的软件开发过程。现有的问题是,每个面向服务的软件开发项目通常需要一个定制的开发过程,提供特定的面向服务的软件工程任务,以支持该项目的独特需求。为了解决这个问题,并允许情景方法工程,我们已经定义了一组方法片段,以支持工程的项目特定的面向服务的软件开发过程。我们已经从11个突出的面向服务的软件开发方法,使用系统的挖掘方法的经常性功能,提出了方法片段。我们已经将这些新的片段添加到OPEN过程框架的存储库中,使它们作为可重用的片段提供给软件工程师使用这个众所周知的方法存储库。关键字面向服务软件开发,开放过程框架,OPF知识库,方法片段,情景方法工程
2020-04-17 cs.SE
Static and Dynamic Quality Assurance by Aspect Oriented Techniques
所描述的研究项目的总体目标是使用面向方面的程序设计语言扩展AIBJ 5为Java软件系统创建适用的质量保证模式。我们尝试开发方面来检查静态质量标准,作为变量变更器约定和架构分层规则。我们成功地开发了以下动态质量标准的自动化方面:参数化异常链接,参数化异常的舒适声明,引用变量的非异常检查。
2010-06-14 cs.PL cs.SE
A Structured Evaluation Framework for Low-Code Platform Selection: A Multi-Criteria Decision Model for Enterprise Digital Transformation
本文提出面向企业数字化转型的低代码平台五准则加权评分评估框架,并经企业实证验证可改善选型决策、降低锁定与方案失配风险。
2025-10-21 cs.HC cs.SE
Toward a Methodological Knowledge for Service-Oriented Development Based on OPEN Meta Model
情境方法工程使用可重用方法片段的存储库,这些方法片段来自现有的软件开发方法和行业最佳实践,以简化与手头项目的特定特征相一致的任何特定于项目的软件开发方法的构建。在这方面,OPEN是一个成熟的、标准化的和流行的情境方法工程方法。它有一个大型的可重用方法片段库,称为OPF,方法工程师可以根据项目的需求选择和组装它们,以构建一个新的特定于项目的软件开发方法。在这份立场文件中,我们提出了开放的基本概念和基础,并认为迫切需要新的扩展开放和它的存储库,以支持面向服务的软件开发实践。保留字:开放过程框架,OPF知识库,开放元模型,情景方法工程,方法片段,面向服务软件开发
2020-05-10 cs.SE
Towards Multi-Criteria Prioritization of Best Practices in Research Artifact Sharing
众所周知,研究成果共享可以加强科学研究的透明度。然而,在缺乏共同的学科特定的准则,工件评估,主观和相互冲突的期望可能会发生,威胁工件质量。在本文中,我们讨论了我们的初步想法,一个框架的基础上,质量管理原则(5W2H),可以帮助建立共同的准则,工件的评估和共享。此外,使用层次分析法,我们讨论了如何研究社区可以共同努力,以帮助指导方针的适当性的研究优先事项。这些组合的方法构成了一个新颖的软件工程研究,可以促进研究软件的可持续性。
2021-09-06 cs.SE
Managing Object-Oriented Integration and Regression Testing
面向对象软件的系统测试比传统软件的测试要复杂得多。特别是高度增量和迭代的开发周期需要更多的更改和部分实现。重新实现的类。在开发过程中,必须进行更多的集成和回归测试,以达到稳定的阶段。在这个演示文稿中,我们提出了一个图表捕捉所有可能的依赖关系和面向对象的程序中的相互作用。然后,我们给出了算法和覆盖标准,以确定集成响应。回归测试策略和所有测试用例将在一些实施后执行。修改活动。最后总结了一些实践经验和体会。
1999-02-05 cs.SE
Modeling Software Development Methodologies: A Logic Based Approach
在过去的二十年里,软件开发行业的增长趋势使软件工程的不同方面对计算机科学研究社区更加有趣。软件开发生命周期是影响软件开发项目成败的重要因素之一。由于每种软件开发方法都相对地提供了自己的软件开发生命周期,因此将软件开发生命周期编码在工作流表示语言中可以帮助开发人员正确地管理他们的软件项目。此外,这种编码也可以在CASE工具中使用。在这份报告中,我们认为软件开发生命周期作为一个工作流程,可以表示为语义Web和基于规则的语言。这样的考虑让我们分析生命周期的属性。具体来说,我们采取了著名的面向代理的软件开发方法,并表明其相应的生命周期可以指定的事务逻辑容易和简洁。最后,事务逻辑中紧凑而清晰的生命周期表示可以在CASE工具中使用,以指导软件开发人员。
2016-08-03 cs.SE
Comparative Study on Agile software development methodologies
今天的商业环境是非常动态的,组织不断改变他们的软件需求,以适应新的环境。他们还要求软件产品的快速交付以及接受不断变化的需求。在这方面,传统的计划驱动的开发无法满足这些要求。虽然传统的软件开发方法,如基于生存周期的结构化和面向对象的方法,继续主导系统开发几十年来,许多研究已经在传统的方法,敏捷软件开发带来了自己的一套新的挑战,必须解决,以满足客户通过早期和持续交付的有价值的软件。它是一套基于迭代和增量开发过程的软件开发方法,其中需求和开发通过自组织,跨职能团队之间的协作进行,允许快速交付高质量的软件,以满足客户需求并适应需求的变化。在本文中,我们显着识别和描述的主要因素,敏捷开发方法改善软件开发过程,以满足快速变化的业务环境。我们还提供了敏捷开发方法与传统系统开发方法的简要比较,并讨论了采用敏捷方法的现状。我们推测,从需要满足客户通过早期和持续交付的有价值的软件,敏捷软件开发出现作为一种替代传统的基于计划的软件开发方法。本文的目的是提供一个深入的理解,敏捷开发方法的主要好处,软件开发行业,以及提供一个比较研究报告ASDM TSDM。
2013-07-12 cs.SE
Guided Object-Oriented Development
本文提出一种引导式面向对象开发方法,通过分层活动、实用决策规则、非形式化规格说明及内外部设计分离来指导单个类的开发,并给出示例验证。
2024-11-20 cs.SE
Generation and Optimization of Test cases for Object-Oriented Software Using State Chart Diagram
测试任何软件系统的过程都是一项巨大的任务,既耗时又昂贵。随着软件的规模和复杂性增加,进行充分测试所需的时间和工作量也会增加,这可能会导致项目预算超支、软件系统开发延迟或某些测试用例可能无法覆盖。在SDLC(软件开发生命周期)中,通常软件测试阶段花费大约40 - 70%的时间和成本。基于状态的测试在软件测试中经常使用。测试数据生成是软件测试的关键问题之一。正确生成的测试集不仅可以定位软件系统中的错误,而且有助于降低与软件测试相关的高成本。通常期望可以自动生成测试套件内的测试序列形式的测试数据以实现所需的测试覆盖。针对基于状态的软件测试,提出了一种测试数据生成的优化方法。本文从状态图出发,导出了第一状态转移图。然后,从状态图中提取所有需要的信息。然后生成测试用例。最后,通过计算每个测试用例的节点覆盖率来最小化一组测试用例。还确定哪些测试用例被其他测试用例覆盖。我们的测试生成技术的优点是,它通过最小化时间和成本来优化测试覆盖率。提出的测试数据生成方案生成满足变迁路径覆盖准则、路径覆盖准则和动作覆盖准则的测试用例。以自动售票机(ATM)为例进行了分析.
2012-06-02 cs.SE
Qualifying Software Engineers Undergraduates in DevOps -- Challenges of Introducing Technical and Non-technical Concepts in a Project-oriented Course
软件行业、实践和方法的不断变化对当前软件工程概念和技能的教学提出了挑战。DevOps尤其具有挑战性,因为它涵盖了技术概念,如管道自动化,以及非技术概念,如团队角色和项目管理。本研究探讨了课程设置,介绍这些概念的软件工程本科生。我们通过编码将DevOps概念与敏捷,精益和开源实践和工具相关联来设计课程。我们介绍了这个面向项目的DevOps课程的主要方面,自2016年首次提供以来,已有240名学生报名参加。我们进行了一项实证研究,定量和定性分析,以评估这种项目导向的课程设置。我们从项目库中收集数据,并通过问卷调查收集学生的看法。我们挖掘了148个存储库(对应于72个项目),并获得了86个有效的问卷调查。我们还绘制了对学生从经验中学习更具挑战性的概念。结果证明,第一手经验有助于理解DevOps概念,并丰富课堂讨论。我们提出了一组经验教训,这可能有助于教授更好地设计和进行以项目为导向的课程,以涵盖DevOps概念。
2021-02-12 cs.SE
A Parsing Scheme for Finding the Design Pattern and Reducing the Development Cost of Reusable Object Oriented Software
由于面向对象方法的重要性,开发新的面向对象系统开发方法的研究日益受到关注。大多数度量需要发现对象和模块之间的相互作用,以开发必要的度量和有影响力的软件度量,吸引软件开发人员,设计人员和研究人员。本文为面向对象系统定义了一种新的交互。使用这些交互,一个解析器的开发,以分析现有的软件架构。在设计模型中,设计类必须相互协作。然而,协作应保持在可接受的最低限度,即更好的设计实践将引入低耦合。如果一个设计模型是高度耦合的,那么系统就很难实现、测试和长期维护。在增强软件的情况下,我们需要引入或删除模块,在这种情况下,耦合是要考虑的最重要的因素,因为不必要的耦合可能会使系统不稳定,并可能导致系统的性能下降。因此,耦合被认为是一个理想的目标,在软件建设,导致更好的价值的外部软件质量,如可维护性,可重用性等。在本文中,我们提出了一种方法,以提高现有的面向对象的系统保持尽可能低的耦合度的目标,重用现有的系统称为设计分析器的工具的基础上。
2010-08-10 cs.SE
A Parsing Scheme for Finding the Design Pattern and Reducing the Development Cost of Reusable Object Oriented Software
由于面向对象方法的重要性,开发新的面向对象系统开发方法的研究日益受到关注。大多数度量需要发现对象和模块之间的相互作用,以开发必要的度量和有影响力的软件度量,吸引软件开发人员,设计人员和研究人员。本文为面向对象系统定义了一种新的交互。使用这些交互,一个解析器的开发,以分析现有的软件架构。在设计模型中,设计类必须相互协作。然而,协作应保持在可接受的最低限度,即更好的设计实践将引入低耦合。如果一个设计模型是高度耦合的,那么系统就很难实现、测试和长期维护。在增强软件的情况下,我们需要引入或删除模块,在这种情况下,耦合是要考虑的最重要的因素,因为不必要的耦合可能会使系统不稳定,并可能导致系统的性能下降。因此,耦合被认为是一个理想的目标,在软件建设,导致更好的价值的外部软件质量,如可维护性,可重用性等。在本文中,我们提出了一种方法,以提高现有的面向对象的系统保持尽可能低的耦合度的目标,重用现有的系统称为设计分析器的工具的基础上。
2010-06-07 cs.SE
Blockchain Developments and Innovations
Blockchain已经受到了来自各个领域的广泛关注。机构、企业、政府和机构对区块链增强其软件系统的潜力感兴趣。区块链平台的独特要求和特征提出了新的挑战,涉及对传统软件开发过程的广泛增强,以满足这些领域的需求。支持面向区块链的开发的软件工程方法实现缓慢,尽管文献中提出了建议,但尚未对其进行客观分析。对这些创新进行批判性评估,对于确定其各自的优势和劣势至关重要。我们通过一个全面的、基于标准的评估框架,对几种主要的面向区块链的方法进行了分析评估。研究结果可用于比较、调整和开发新一代面向区块链的软件开发流程和创新。
2021-12-14 cs.SE
Interaction-Oriented Software Engineering: Concepts and Principles
遵循既定的传统,今天的软件工程植根于概念集中的思维方式。主要的SE工件是一个机器的规范--一个计算工件--它将满足(引出的和)陈述的需求。这与(开放的)社会技术系统存在根本性的不匹配,后者涉及多个自主的社会参与者或主体,他们彼此互动以促进他们的个人目标。没有中央机器来管理各种主体的行为。我们介绍面向交互的软件工程(IOSE)作为一种方法,明确适合于开放的社会技术系统的需求。在IOSE中,指定一个系统相当于将主体之间的交互指定为协议。IOSE重新解释了经典的软件工程原则,即模块化、抽象、关注点分离和封装,其方式符合社会技术系统的现实。为了突出IOSE的新颖性,我们展示了知名的SE方法,特别是那些明确旨在解决社会技术系统或自主校长之间的交互建模的方法,无法满足IOSE原则。
2012-11-17 cs.MA cs.SE
Integrating Inter-Object Scenarios with Intra-object Statecharts for Developing Reactive Systems
在所有的软件开发项目中,工程师都面临着将需求层转换为设计层,然后转换为实现代码层,然后验证结果的正确性的挑战。有许多方法、语言和工具可以促进这一过程,包括在需求、设计和实现层之间进行多次来回的“改进之旅”,方法是把重点放在使所涉及的工件正规化和使整个过程中的各种任务自动化。在本文中,我们介绍了一种新颖的和独特的开发环境,它集成了基于XML的编程(SBP)通过LSC语言和面向对象的,可视化的Statecharts形式主义,反应式系统的发展。LSC的目标是直接从需求规范创建模型和系统,Statecharts主要用于指定最终组件的行为。我们的集成使语义丰富的联合执行,共享和接口的对象和事件,并可用于创建,然后逐步增强可测试的模型,从早期的需求启发,通过详细的设计。在某些情况下,它可以用于生成最终的系统代码。我们描述的集成和语义的技术细节,并讨论其意义,为未来的开发方法。
2020-10-07 cs.SE
A Framework for Evaluating Model-Driven Self-adaptive Software Systems
在过去的几年里,模型驱动开发(MDD),基于约束的软件开发(CBSD),和面向上下文的软件已经成为有趣的替代品的设计和自适应软件系统的建设。一般来说,这些技术的最终目标是能够降低开发成本和工作量,同时提高软件系统的模块化、灵活性、适应性和可靠性。对这些技术的分析表明,它们都包括关注点分离的原则,它们的进一步集成是获得高质量和自适应软件系统的关键因素。每种技术都识别不同的关注点,并分别处理它们,以指定自适应应用程序的设计,同时,支持软件具有适应性和上下文感知。本研究探讨以模型驱动开发原则建构自适应软体系统的开发方法。为此,本文提出了一个评估框架,用于分析和评估模型驱动方法的特点及其在高度动态的上下文环境中支持具有自适应性和可靠性的支持软件的能力。这种评价框架可以帮助软件开发人员选择适合自己需求的开发方法,减少构建自适应软件系统的开发工作量。本研究强调了相关工作中支撑模型驱动方法的主要缺点,并强调在开发方法的分析、设计和实现阶段考虑自适应软件的易变方面。此外,我们认为,开发方法应该离开的选择建模语言和建模工具的软件开发人员。
2019-01-13 cs.SE
Towards an Approach for Analysing the Strategic Alignment of Software Requirements using Quantified Goal Graphs
分析软件需求的战略一致性主要为利益相关者提供保证,即软件将为组织增加价值。此外,这种分析可以通过消除其目的和价值的歧义来改进需求,从而支持需求工程过程中的验证和面向价值的决策,例如优先级,发布计划和权衡分析。我们审查目前的方法,可以使这样的分析。我们专注于面向目标的需求工程方法,因为目标图非常适合将软件目标与业务目标相关联。然而,我们认为,除非目标的贡献程度是量化的可验证的指标,目标图是不足以证明软件需求的战略调整。由于目标贡献的概念是可预测的,因此其结果是对实现软件需求的好处的预测。因此,我们探讨如何的贡献关系的描述可以丰富的概念,如不确定性和信心,非线性因果关系,和效用。我们使用劳斯莱斯的示例软件项目来介绍该方法。
2013-12-30 cs.SE
Fuzzy Intelligent System for Student Software Project Evaluation
School of Information Technology and Engineering(信息技术与工程学院);Kazakh-British Technical University(哈萨克斯坦-英国技术大学)
本文提出一个模糊智能系统,以整洁代码、继承使用和功能性为模糊变量,结合专家规则自动评估学生软件项目质量,从而标准化评估并减少主观偏差。
2024-05-01 cs.AI cs.CY cs.SE
A Multiple Criteria Decision Analysis based Approach to Remove Uncertainty in SMP Models
Vellore Institute of Technology(韦洛尔理工学院)
先进的人工智能技术正在以多种方式为人类服务,从医疗保健到制造业。先进的自动化机器是相当昂贵的,但最终的输出应该是最高的质量。根据需求的灵活性,这些自动化技术可能会发生巨大变化。对自动化软件进行更改的可能性非常高,因此必须定期更新。如果不考虑可维护性,就会对整个系统产生影响,增加维护成本。许多公司使用不同的编程范式来开发基于客户需求的高级自动化机器。因此,对异构软件的可维护性进行评估是非常必要的。由于缺乏广泛的共识,软件可维护性预测(SPM)的方法,个人和企业留下的困惑,当涉及到确定适当的模型来估计软件的可维护性,这是本研究的灵感。设计了一种结构化的方法,并对数据集进行了预处理,并确定了除UIMS和QUES外的所有数据集的可维护性指数(MI)范围,对UIMS和QUES使用了CHANGE度量。为了消除上述技术之间的不确定性,一个流行的多准则决策模型,即技术的顺序偏好的相似性理想的解决方案(TOPSIS),在这项工作中使用。TOPSIS法表明,GARF优于其他考虑的技术在预测异构自动化软件的可维护性。
2022-09-30 cs.AI cs.SE
Teaching Requirements Engineering for AI: A Goal-Oriented Approach in Software Engineering Courses
本研究评估了面向目标的需求工程(GORE)及KAOS方法在软件工程教育中促进AI系统需求获取的有效性,发现其虽在捕获高层需求时表现优异但在详细规划上存在不足,证实了其在教育场景的可用性并指出了改进方向。
2024-10-26 cs.CY cs.SE
Generating and Evaluating Sustainable Procurement Criteria for the Swiss Public Sector using In-Context Prompting with Large Language Models
University of Zurich(苏黎世大学);Bern University of Applied Sciences(伯尔尼应用科学大学);University of Bern(伯尔尼大学)
本文提出一种可配置的LLM辅助流程,用于系统生成和评估瑞士可持续采购标准目录。通过整合上下文提示、可替换的LLM后端和自动输出验证,该系统能跨不同采购领域生成可审计的标准。实验表明,该流程能显著减少手动撰写工作,生成符合官方指南的标准目录。
2026-03-23 cs.CL cs.SE