Some Long-Standing Quality Practices in Software Development
几十年来,构建高质量软件系统的愿望一直是大多数软件开发人员和研究人员的焦点。这最终导致了实践的设计,提高了设计软件的质量。从传统的软件开发生存周期(SDLC)开始,到面向对象方法、迭代开发,再到现在的敏捷方法,这些实践经历了不同的时期。无论它们所处的软件开发过程的角度如何,这些实践都扮演着相同的质量角色。在本文中,我们回顾了三个软件开发方法的软件开发历史的代表,其目的是i)确定关键的质量实践,ii)确定质量的作用发挥的做法的方法,和iii)注意到这些质量的做法,坚持通过软件开发历史。在软件开发过程的整个历史中持续存在的已确定的质量实践包括原型设计、迭代开发、增量开发、风险驱动开发、阶段计划和阶段回顾。这些结果将是有用的方法工程师谁寻求设计高质量的软件开发方法,因为这些做法作为候选人列入他们的开发过程。软件开发从业员寻求设计高质量的软件也将受益于采用这些做法在开发他们的软件。
2022-09-17 cs.SE
Modeling Software Development Methodologies: A Logic Based Approach
在过去的二十年里,软件开发行业的增长趋势使软件工程的不同方面对计算机科学研究社区更加有趣。软件开发生命周期是影响软件开发项目成败的重要因素之一。由于每种软件开发方法都相对地提供了自己的软件开发生命周期,因此将软件开发生命周期编码在工作流表示语言中可以帮助开发人员正确地管理他们的软件项目。此外,这种编码也可以在CASE工具中使用。在这份报告中,我们认为软件开发生命周期作为一个工作流程,可以表示为语义Web和基于规则的语言。这样的考虑让我们分析生命周期的属性。具体来说,我们采取了著名的面向代理的软件开发方法,并表明其相应的生命周期可以指定的事务逻辑容易和简洁。最后,事务逻辑中紧凑而清晰的生命周期表示可以在CASE工具中使用,以指导软件开发人员。
2016-08-03 cs.SE
Rapid Application Development Using Software Factories
软件开发仍然基于工厂生产,大多数编程代码仍然是手工制作的。软件开发离其他行业早已实现的软件生产产业化的最终目标还很遥远。软件产业化的缺乏导致无法应对用户需求的快速和频繁变化,并导致其实施过程中的成本和时间效率低下。与其他行业很久以前所做的类似,软件开发的产业化已经使用软件工厂的概念提出。我们已经接受了这个关于软件工厂的愿景,并开发了我们自己的软件工厂,它可以生成三层ASP.NET Web应用程序。在本文中,我们报告了我们的经验,使用这种方法在软件开发过程中,并在传统的开发和开发使用软件工厂的性能和可交付成果的比较结果。
2012-01-04 cs.SE
Software Process Models and Analysis on Failure of Software Development Projects
软件过程模型由一组设计、开发和维护软件系统的活动组成。各种各样的软件过程模型被设计用来构造、描述和规定软件开发过程。软件过程模型在软件开发过程中起着非常重要的作用,是软件产品的核心。软件项目的失败往往会对组织造成破坏。进度单,错误的发布和缺失的功能可能意味着项目的结束,甚至是公司的财务破产。奇怪的是,对于一个项目失败意味着什么,人们存在分歧。本文对现有的软件开发过程模型和软件开发失败的分析进行了讨论,指出了新的研究的必要性。
2013-06-05 cs.SE
A Viable Paradigm of Software Automation: Iterative End-to-End Automated Software Development
本文提出AutoSW范式,通过AI系统作为人类伙伴,实现端到端自动化软件开发,展示了其在各类案例中的可行性。
2025-11-23 cs.SE
Software Development Standard and Software Engineering Practice: A Case Study of Bangladesh
在软件开发组织中,改进软件过程以实现高质量是成功的关键因素。与其他国家相比,孟加拉国的软件公司在这一特定领域没有多少经验。ISO 9001和CMM标准已经成为软件开发的基本组成部分。我们研究的主要目标是:1)了解孟加拉国软件开发公司使用的软件开发过程; 2)根据既定的质量标准确定开发实践; 3)为特定项目的软件开发建立标准化和一致的过程。研究结果显示,孟加拉国的软件产业缺乏软件过程与改进的目标设定,缺乏质量控制活动的参与,缺乏标准化的业务专长实践。本文根据上述挑战对孟加拉国软件业进行了调查。
2010-08-19 cs.SE
Sistematic mapping protocol - estimation accuracy on software development using agile technologies
文献系统映射协议,旨在根据发现的结果识别和分类软件开发敏捷方法中使用的估计技术,并将其估计准确性与传统软件开发方法中获得的估计准确性进行比较。
2022-08-25 cs.SE
Exploring the Experiences of Experts: Sustainability in Agile Software Development -- Insights from the Finnish Software Industry
本研究通过访谈芬兰软件行业专家,探究敏捷软件开发中的可持续性现状,发现Scrum最常用、各可持续性维度存在连锁效应,并为2030软件工程路线图提出三项关键建议。
2024-07-09 cs.SE
Enabling Reusability in Agile Software Development
软件工程学科在过去的二十年里不断取得发展势头。在过去十年中,已经取得了显著进展。为了跟上行业的多维需求,不时引入新的过程模型。新的软件开发范式正在工业界找到它的位置,如敏捷软件开发,基于重用的开发和基于组件的开发。但是,不同的软件开发模式不能满足软件行业的许多需求。由于所有过程模型的目标是相同的,即,以获得高质量的产品,减少开发时间,提高生产率和降低成本。然而,没有一个单一的流程模型本身是完整的。软件行业正朝着敏捷软件开发的方向发展。敏捷开发显然不适合构建可重用的工件。然而,通过对敏捷过程的仔细关注和重要修改,有可能成功地适应并采用敏捷方法来开发可重用对象。这里提出的模型结合了敏捷软件开发和可重用性的特点。
2013-02-06 cs.SE
Importance of Secure Software Development Processes and Tools for Developers
在这篇关于安全软件系统的研究论文中,作者讨论了创建安全软件时正确的开发过程是什么,这将适合开发人员和相关利益相关者。开发人员的安全软件开发过程对于软件工程师来说至关重要,因为越来越多的基于软件的设备变得越来越普遍,云服务正在发展,这需要软件不断连接到互联网。考虑到这一点,安全软件开发需要转变为大多数开发人员可以依赖的东西,以使应用软件安全,并有能力减轻黑客的潜在攻击。此外,在本文中,现有的安全软件开发过程的思想和实现进行了审查和调查,使用的研究论文池在线。在此基础上,提出了一种在软件开发过程中加强安全性的方法来解决安全问题。最后,本文最后对安全功能在软件开发阶段的实际实施进行了总结,以生产安全可靠的软件程序和系统。
2020-12-30 cs.SE
Software Engineering Process and Methodology in Blockchain-Oriented Software Development: A Systematic Study
软件工程是一个系统的、有纪律的、可量化的方法的过程,对大规模和复杂的软件开发有重要影响。在软件开发的生存周期中,已经有许多成熟的软件过程模型被广泛采用,这些模型将利益相关者推向最终软件产品开发的完成。在先进技术的范围内,各种新兴的和未来的技术正在发展,这确实需要软件工程社区的关注,传统的软件过程技术是否能够继承到未来的软件开发的核心基础。在本文中,我们研究了现有软件工程流程和模型的影响,包括敏捷和面向区块链的软件工程中的DevOps。我们还研究了采用最先进的概念和发展面向区块链系统的当前软件工程过程的重要性。我们讨论的洞察力的软件项目管理实践中的BOS开发。这项研究的结果表明,利用国家的最先进的技术在软件过程中的未来技术将是具有挑战性的和有前途的研究,需要广泛解决和改善国家的最先进的软件工程过程和方法的新技术。
2022-07-02 cs.SE
Comparative Study on Agile software development methodologies
今天的商业环境是非常动态的,组织不断改变他们的软件需求,以适应新的环境。他们还要求软件产品的快速交付以及接受不断变化的需求。在这方面,传统的计划驱动的开发无法满足这些要求。虽然传统的软件开发方法,如基于生存周期的结构化和面向对象的方法,继续主导系统开发几十年来,许多研究已经在传统的方法,敏捷软件开发带来了自己的一套新的挑战,必须解决,以满足客户通过早期和持续交付的有价值的软件。它是一套基于迭代和增量开发过程的软件开发方法,其中需求和开发通过自组织,跨职能团队之间的协作进行,允许快速交付高质量的软件,以满足客户需求并适应需求的变化。在本文中,我们显着识别和描述的主要因素,敏捷开发方法改善软件开发过程,以满足快速变化的业务环境。我们还提供了敏捷开发方法与传统系统开发方法的简要比较,并讨论了采用敏捷方法的现状。我们推测,从需要满足客户通过早期和持续交付的有价值的软件,敏捷软件开发出现作为一种替代传统的基于计划的软件开发方法。本文的目的是提供一个深入的理解,敏捷开发方法的主要好处,软件开发行业,以及提供一个比较研究报告ASDM TSDM。
2013-07-12 cs.SE
The frog and the octopus: a conceptual model of software development
我们提出了一个软件开发的概念模型,包括所有的方法:传统或敏捷,轻型和重型,大型和小型的开发工作。该模型识别了所有软件开发中的共同方面,即,在每个软件开发项目中以某种形式存在的元素(意图、产品、人员、工作、时间、质量、风险、成本、价值),以及可变部分,即,我们可以在软件开发世界中找到导致非常广泛的变化的主要因素(大小,年龄,关键性,架构稳定性,业务模型,治理,变化率,地理分布)。我们展示了该模型如何可以被用来作为软件开发的解释性理论,作为分析实践,技术,过程的工具,作为课程设计或软件过程的采用和改进的基础,并支持软件开发方法的实证研究。这个模型也被提出来作为一种方式来平息关于敏捷方法与世界其他地方的争论:一个统一的模型。
2012-09-06 cs.SE
Analysis of the Veracities of Industry Used Software Development Life Cycle Methodologies
目前,软件行业正在使用不同的SDLC(软件开发生存周期)模型,这些模型是为特定目的而设计的。技术的使用正在生活的各个方面蓬勃发展,技术背后的软件发挥着巨大的作用。随着技术复杂性的增加,软件的成功开发完全取决于对开发过程的适当管理。因此,在行业中引入改进的方法是不可避免的,以便现代以人为中心的软件应用程序开发可以成功地管理和交付给用户。因此,在本文中,我们探讨了不同的SDLC模型的事实,并进行比较分析。
2018-07-15 cs.SE
Using Defect Prediction to Improve the Bug Detection Capability of Search-Based Software Testing
自动测试生成器,如基于搜索的软件测试(SBST)技术,取代了手动编写测试用例的繁琐和昂贵的任务。SBST技术在生成具有高代码覆盖率的测试时是有效的。然而,高代码覆盖率是否足以最大限度地增加发现的bug数量?我们认为,SBST需要集中在有缺陷的领域,而不是在非缺陷的代码领域,以最大限度地发现错误的可能性搜索测试用例。缺陷预测算法提供了有关软件中容易出现错误的区域的有用信息。因此,我们制定了本论文的目标:\textit{Improve the bug detection capability of SBST by incorporating defect prediction information}。为了实现这一目标,我们设计了两个研究目标,即,1)开发一种新的方法(SBST $_{CL}$),该方法基于类有缺陷的可能性将时间预算分配给类,以及2)开发一种新的策略(SBST $_{ML}$)来指导底层搜索算法(即,遗传算法)对一类中的缺陷区域进行优化。通过对Defects4J数据集中434个真实报告的错误进行实证评估,我们证明了我们的新方法SBST $_{CL}$在资源受限的环境中,在时间预算紧张的情况下,比最先进的SBST更有效。
2022-06-14 cs.SE
The Software Heritage Graph Dataset: Large-scale Analysis of Public Software Development History
Software Heritage是现存最大的软件源代码及其开发历史的公共档案。它涵盖了超过50亿个独特的源代码文件和10亿个独特的提交,来自8000多万个软件项目。这些软件工件是从主要的协作开发平台(例如,GitHub、GitLab)和包存储库(例如,PyPI,Debian,NPM),并存储在一个统一的表示链接在一起的源代码文件,目录,提交,和版本控制系统(DRM)存储库的完整快照,如软件遗产在定期爬网期间观察。这个数据集在可访问性和规模方面是独一无二的,并且允许探索公共软件开发长尾上的许多研究问题,而不是像经常发生的那样仅仅关注“最受欢迎”的存储库。
2020-11-16 cs.SE
The Dynamics of Creativity in Software Development
软件主要是由人开发的,人的因素必须在所有软件工程阶段进行研究。创造力是即兴解决问题的源泉,可以主导软件开发等复杂系统。然而,在软件开发中缺乏什么是创造力以及它的动力是什么的知识。本研究介绍了目前的研究计划,对理论在软件开发中的创造力。更具体地说,它(1)陈述了在多学科视角下研究软件开发中的创造力的动机;它(2)提供了对该领域中识别缺陷的文献的第一次回顾;它(3)提出了一个研究设计,其中包括软件工程中很少使用的方法。理解软件开发中的创造力将提供对软件构建过程的更好的了解,以及个人如何在智力上为创建更好的创新产品做出贡献。
2013-05-26 cs.SE
New Failure Rate Model for Iterative Software Development Life Cycle Process
软件可靠性模型是估计软件可靠性、失效率和剩余故障数的最常用的数学工具之一。现有的软件可靠性模型是按照瀑布式软件开发生存周期过程设计的。这些现有的模型没有利用迭代软件开发过程。本文提出了一种新的以迭代软件开发生存周期过程为中心的失效率模型。它的目的是整合一个新的调制因子,将不同的需求,在每个阶段的迭代软件开发过程。它包括不完善的调试与故障的可能性引入和删除的多个故障在一个时间间隔的迭代开发的软件进行。该模型已在Eclipse软件故障数据集的12次迭代和Java开发工具包(JDT)软件故障数据集的9次迭代上进行了验证。采用粒子群算法和引力搜索算法相结合的方法对模型进行参数估计。实验结果表明,在Eclipse数据集和JDT数据集上,该模型的拟合优度分别为83.33%和77.77%,优于Jelinski Moranda,Shick Wolverton,Goel Okummotto Imperfect debugging,GS Mahapatra和Modified Shick Wolverton.
2019-10-02 cs.SE
Context-Augmented Software Development Projects: Literature Review and Preliminary Framework
软件开发是一项复杂的活动,依赖于各种技术和人们的专业知识。开发软件的方法高度依赖于这些不同的特征,这些特征是开发人员所服从的上下文。这个上下文包含大量的知识,不捕获它意味着知识不断丢失。虽然广泛的研究,在软件开发中的上下文仍然是不明确的,也没有提出一个更广泛的观点,软件开发人员和工具所需要的上下文。因此,开发人员的生产力受到影响,因为重用这种丰富上下文的能力受到阻碍。本文提出了一个文献综述的软件开发环境,通过九个研究问题。本研究的目的是使所发现的上下文显式到一个集成的视图,并提出了一个平台,以帮助软件开发使用上下文信息。我们相信,通过上下文知识的表示和挖掘来支持推荐和实时提供,可以显着改善大数据软件项目的开发。
2019-10-17 cs.SE
The AR/VR Technology Stack: A Central Repository of Software Development Libraries, Platforms, and Tools
本文构建了针对AR/VR/MR领域的软件开发库、平台和工具的中心仓库,提供全面的技术资源整合与参考。
2023-05-13 cs.SE
Contrasting to spark creativity in software development teams
对高性能软件开发团队三十年的实证研究提供了证据,证明创造力可以通过有效的,有纪律的开发文化来促进。本文介绍了“对比”作为创造力的关键驱动力;描述了创造力的举措,高绩效团队使用的战术,以产生有用的对比;并观察到的关键发展行为的特点,以支持“文化”的创造力。在广泛的软件开发组织和应用领域进行了实证研究。
2025-03-09 cs.SE
Challenges and issues in collaborative software developments
软件开发过程相对于开发大型和复杂应用程序中的问题已经发展。现在出现了向协作发展的模式转变,因此有必要对这种做法进行评价。许多工具用于协作软件开发(CSD),包括社交媒体和Web 2.0功能。协作开发设施由IDE和项目托管网站提供。在本文中,我们提出了一个调查的合作开发的项目,并讨论在CSD的挑战和问题。我们分析了沟通,协调,支持,生命周期管理的各种问题,并讨论其对软件质量的影响。
2019-03-19 cs.SE
3rd Workshop on Hybrid Development Approaches in Software System Development
有证据表明,软件开发方法,框架,甚至实践很少在公司中通过遵循这本书来应用。将不同的方法结合到本土工艺中的做法不断被发现。然而,学术界对这一现象的理解和调查非常有限。2016年,HELENA计划启动,研究软件系统开发中的混合开发方法。本文介绍了第三届HELENA研讨会,并提供了所使用的仪器和可用的数据集的详细说明。
2021-04-17 cs.SE
Towards Maintainable Platform Software -- Delivery Cost Control in Continuous Software Development
现代平台软件交付成本迅速增加,因为它通常需要与许多硬件和芯片的TTM保持一致,功能演变并涉及数百名工程师。本文以一个超大规模软件-- Intel Media Driver为例,分析了软件持续开发过程中导致交付成本增加的热点问题、软件设计所面临的挑战以及针对目标设计改进降低软件交付成本的经验。我们期望所确定的热点可以帮助更多的研究人员形成相应的研究议程,分享的经验可以帮助以下从业者应用类似的增强。
2022-03-29 cs.SE
Managing layers of risk: Uncertainty in large development programs combining agile software development and traditional project management
如何在敏捷项目的多个级别上隐式和显式地管理风险还没有得到广泛的研究,有必要调查如何在大型敏捷项目中使用风险管理。这是本探索性研究的目的,它调查了以下研究问题:一个大型软件/硬件开发项目如何使用敏捷实践管理在项目/子项目和工作包级别的不确定性?
2021-03-16 cs.SE
Survey of Human Factors in Crisis Responsive Software Development
尽管软件开发对社会做出了巨大的贡献,但它仍然是一项非常昂贵的高风险投资。每一个软件项目开始的意图是按时和在预算内交付软件产品,但这些软件项目中有很大一部分要么未能充分发挥其潜力,要么完全失败。在这方面,有很多因素在起作用,其中最主要的因素是人的因素,这往往被忽视,而且往往是最大或最强的因素,因为软件开发是一项基本的人类努力。对人的因素的认识和理解可以极大地影响软件开发的成功。本次调查的目的是找出并抛出更多的光在危机响应软件开发的影响,拼出一些建议,并建议未来的研究方向的人为因素。在本文中,我们使用一个案例研究来调查人为因素。
2020-07-23 cs.SE
A practical guide towards agile test-driven development for scientific software projects
软件测试在过去的几年里受到了广泛的关注,并且已经达到了如此关键的重要性,以至于敏捷软件开发实践将软件测试置于其核心地位。敏捷软件开发在大规模工业软件开发中得到了成功的应用,但由于其粒度责任分配给开发团队的各个成员,这些实践可能不适用于科学代码开发,特别是在学术环境中,代码库由一个人开发,维护和使用并不罕见。即使是通过外部赠款资助的协作科学软件开发,最终用户通常仍然是开发团队的一部分。这与许多行业中的软件开发方式形成对比,在这些行业中,开发团队和最终用户是两个独立的实体。然而,有许多好的代码开发实践可以用于科学软件项目。具体地说,本文的目的是采用敏捷软件开发的核心,并将其定制为科学和学术的单用户代码开发。在这项研究中,开发了一个c++启动项目,并提供了基于介子构建系统,它提供了本地支持软件测试。它用于展示如何开发在许多科学和学术应用中发现的简单线性代数应用程序,以及如何创建通过介子构建系统管理的简单单元,集成和系统测试。通过这种方式,我们能够最大限度地减少软件缺陷,并降低解释错误软件生成的错误数据的风险,这些错误数据可能导致得出错误的结论。每一层测试都提供了一个额外的保护层,我们将探讨如何以最小的开销将这些保护层结合起来,以产生无bug的软件。
2020-10-08 cs.SE
Design of the Inspection Process Using the GitHub Flow in Project Based Learning for Software Engineering and Its Practice
基于项目的学习(PBL)的软件开发(我们称之为软件开发PBL)已获得关注,作为一种实用的教育方法。许多研究报告了在软件开发PBL中引入GitHub等社交编码工具的情况。在教育中,向学习者提供反馈(建议,错误更正等)是很重要的,特别是在软件开发PBL中,因为几乎所有的学习者都是第一次从技术和管理方面的角度来处理实际的软件开发。本研究将在一般软件开发活动中进行的检查视为提供反馈的机会,并提出了使用GitHub上的拉取请求的检查过程。通过将所提出的过程应用到实际的软件开发PBL中,我们能够对学习者创建的工件的准确位置进行反馈。
2020-02-06 cs.SE
Towards Methods for Model-Based Software Development
软件工程是一门年轻的学科。尽管近年来作出了努力,但有些要素仍需要进一步发展、研究和系统化。其中一个要素是方法。它们由一组定义良好的活动组成,这些活动用于软件开发,以指导如何执行工作以实现预期结果。然而,缺乏系统的知识来有效指导如何在各个领域开展工作。尽管软件工程知识体系(SWEBOK)中的知识是可用的,但只有经典的方法包括在那里,而新兴的主题,如面向Agent的软件工程(AOSE),面向Agent的软件开发(AOSD)和基于模型的软件开发(MBSE)只被简要提及。我们认为,这也是必要的调查方法,为那些新兴的软件工程子轨道。在这个方向上,本文提出了一个投机性的和初步的新兴成果的建立方法的MBSE。我们报告的MBSE方法的概念上的一些见解。
2017-12-08 cs.SE
Towards Development of Correct Software using Views
本文的目的是将实际软件开发方法中使用的异构文档集成到一个基于形式化精化的软件开发过程中来描述视图。因此,我们提出了一个集成的语义异构文档的基础上,一个共同的系统模型和一组语法的发展步骤,一个定义良好的语义文档的演变。在一个小例子中演示了开发步骤的使用。
2014-10-15 cs.SE
Rethinking Software Development as a Self-Adaptive Socio-Technical System
ITIS Software, Universidad de Málaga(马拉加大学 ITIS 软件)
本文提出将软件开发视为自适应社会技术系统,使软件项目与开发配置随环境动态调整,以应对智能体AI带来的组织固定性问题。
2026-09-15 cs.SE
Agile Requirement Change Management Model for Global Software Development
本文提出面向全球软件开发的敏捷需求变更管理ARCM模型,通过文献综述与行业专家实证研究验证其有效性,旨在改进软件开发实践并提升项目成功率。
2024-02-22 cs.SE
BRIDGE: A Model for Modern Software Development Process to Cater the Present Software Crisis
随着硬件组件变得越来越便宜和强大,现代软件的预期服务也在不断增加。开发这样的软件变得非常具有挑战性。不仅复杂,而且在时间限制和预算内开发此类软件已成为真正的挑战。质量问题和可维护性是增加风味的挑战。在生产线上,客户的需求变化如此频繁,以至于管理这些变化变得非常困难。更多的时候,客户对最终产品不满意。众所周知,大型复杂的软件项目上市较晚,经常出现质量问题,并且并不总是能够实现承诺的功能。现有的模型都无助于应对现代软件危机。因此,迫切需要一个更好的现代软件开发过程模型来应对当前的软件危机。本文提出了一种新的软件开发过程模型BRIDGE,以解决当前的软件危机。
2011-09-08 cs.SE
Psychological Safety in Agile Software Development Teams: Work Design Antecedents and Performance Consequences
心理安全被认为是敏捷软件开发团队成功的关键因素,但缺乏实证研究调查心理安全在这种情况下的作用。本研究探讨了软件开发团队的工作设计特征(自主性,任务相互依赖性和角色清晰度)如何影响心理安全,以及心理安全如何直接或间接地通过团队反身性影响团队绩效。我们测试我们的模型使用的调查数据,从236名团队成员在43个软件开发团队在挪威。我们的研究结果表明,自主性提高了软件团队的心理安全,心理安全再次对团队的反思性和团队绩效的直接影响有积极的影响。
2021-09-30 cs.SE
The perceived effects of group developmental psychology training on agile software development teams
研究表明,从心理学的角度来看,小型工作组的成熟度与团队敏捷性密切相关。因此,我们测试了敏捷团队成员是否喜欢团队开发心理学培训。我们的研究结果表明,参与团队似乎有一个非常积极的看法,小组发展培训和国家,他们现在有一个新的方式来思考团队合作和新的工具来处理团队相关的问题。因此,我们看到了在团队开发心理学中培训敏捷团队的巨大潜力,因为积极的影响可能会跨越整个软件开发组织。
2019-11-20 cs.SE
Evaluation of the Improved XP Software Development Model
敏捷过程模型的概念近年来在软件开发界得到了广泛的关注。敏捷模型促进快速开发。快速开发有一定的缺点,比如对于中型和大型开发项目来说,文档和性能都很差。快速开发还促进了在小规模项目中使用敏捷过程模型。本文对极限编程过程模型进行了改进和评价,并在此基础上提出了一种新的过程模型。
2012-02-12 cs.SE
Towards Using Data to Inform Decisions in Agile Software Development: Views of Available Data
软件开发包括由人类执行的复杂任务。它涉及解决问题,领域理解和沟通技能以及各种技术,架构和解决方案方法的知识。因此,软件开发项目包括许多必须做出关键决策的情况。为特定的软件团队构建产品做出适当的组织或技术选择可以决定项目的成功或失败。软件开发方法为某些环境引入了框架和最佳实践集,为从业者提供了这些重要选择的既定指南。现代软件开发中采用的敏捷方法强调了软件开发中人的因素的重要性。这些方法依赖于短反馈循环和团队的自组织,以实现协作决策。虽然敏捷方法强调经验过程控制的重要性,即依靠数据来做出决策,但它们并没有详细规定如何实现这一目标。在本文中,我们描述了现代软件开发团队中的数据和决策的类型和抽象级别,并确定了使用这些数据的好处。我们认为,数据驱动决策的原则是高度适用的,但未充分利用,在现代敏捷软件开发。
2019-10-19 cs.SE
Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?
敏捷软件开发方法已经被认为在许多情况和环境中是有用的。然而,只有很少(如果有的话)的经验是关于使用敏捷方法在嵌入式领域的硬件设置严格的要求,软件。这个开发领域可以说是远离敏捷的大本营。本文探讨了在这种环境下使用敏捷开发技术的可能性,并定义了新的敏捷方法的要求,以促进嵌入式软件的开发。调查结果是基于一个为期12个月的实证研究,在低层次的电信软件的发展。我们认为,通过解决我们发现的需求,敏捷方法也可以在嵌入式软件领域取得成功。
2017-11-23 cs.SE
An Improved XP Software Development Model
过去几年,敏捷过程模型的概念在软件(SW)开发社区中非常流行。敏捷模型促进快速开发。快速开发有一定的缺点,比如对于中型和大型开发项目来说,文档和性能都很差。快速开发还促进了在小规模项目中使用敏捷过程模型。本文对极限编程过程模型进行了改进和评价,并在此基础上提出了一种新的过程模型。
2012-02-12 cs.SE
Towards system development methodologies: From software to cyber-physical domain
在许多情况下,应用现有方法比开发新方法更有利可图。这尤其适用于网络物理领域的系统开发:直到一定的抽象级别,我们可以(重新)使用软件系统开发的方法,从这些技术的优势中受益。
2014-03-12 cs.SE
Using Cluster Curves to Control Software Development Projects
在可预测和可控的软件项目执行的漫长道路上,项目数据的在线解释和可视化变得越来越重要。本文概述了软件开发项目的Sprint I控制方法,并给出了初步的评估结果。该方法基于面向上下文的聚类曲线的使用,并集成到软件项目控制中心的框架中。
2014-03-14 cs.SE
2nd Workshop on Hybrid Development Approaches in Software Systems Development
软件和系统开发是复杂而多样的,并且使用多种开发方法并相互结合以解决公司当今面临的多种挑战。为了研究实践的现状,并对不同开发方法的实用性及其在现代软件系统开发中的应用建立良好的理解,我们于2016年启动了HELENA计划。本文介绍了第二届HELENA研讨会,并概述了目前的项目状态。在研讨会上,六个团队介绍了他们所在地区的初步研究结果,并进行了即兴演讲,并讨论了HELENA路线图的进一步步骤。
2021-04-10 cs.SE
Innovative Software Development and Project Management Framework for Technology Startups
本文提出融合敏捷与系统创新的软件开发流程,旨在帮助科技初创企业以最少项目管理经验提升开发效率,促进创意生成并减轻管理负担。
2025-10-25 cs.SE
Secure Software Development in the Era of Fluid Multi-party Open Software and Services
在市场力量的推动下,软件开发已经变得快节奏。因此,现代开发项目是由第三方组件组装的。安全和隐私保证技术曾经是为数月或数年的大型受控更新而设计的,现在必须应对一周内发生的小而持续的变化,并且发生在由第三方开发人员控制的子组件中,甚至可能不知道它们的存在。在本文中,我们的目的是提供一个概述,目前的软件安全方法,并评估其适当性,在面对软件开发的性质发生了变化。软件安全保证可以从基于过程的方法转向基于人工制品的方法。此外,安全评估可能需要更加渐进、自动化和分散化。我们相信这可以通过支持轻量级和可扩展的筛选机制来实现,这些机制适用于整个软件组件群体,尽管可能要付出代价。
2021-03-04 cs.SE
An Empirical Study on Leanness and Flexibility in Distributed Software Development
如今,许多参与项目的个人和团队已经将敏捷开发技术作为日常工作的一部分。然而,我们在如何扩展和管理分布式软件开发中的敏捷实践方面的经验要少得多。分布式和全球性的开发--当团队相互作用以合作交付解决方案时,需要关注许多技术、组织和文化问题。此外,非常大的团队规模,团队的团队和更复杂的管理结构迫使更多的注意协调和管理。在这个层面上,越来越需要标准化最佳实践,以避免跨工件和过程的重新发明和错误沟通。企业软件交付中的复杂性问题可能对敏捷方法的采用产生重大影响。因此,敏捷策略通常需要进行评估,定制,并可能与传统方法相结合,以适应特定的环境。软件产品和软件开发过程的特性为实现精益和灵活性开辟了不同于其他领域的新的可能性。虽然精益原则是通用的,但从软件开发的角度进一步理解应用这些原则所需的技术。因此,本研究的目的是确定精益如何促进分布式软件开发的灵活性,以加快开发过程。
2017-11-03 cs.SE
Soft Skills and Software Development: A Reflection from the Software Industry
我们回顾了与软技能和软件工程和信息系统领域有关的文献,然后描述了一项基于650个招聘广告的研究,这些招聘广告发布在知名的招聘网站上,来自一系列的地理位置,包括北美,欧洲,亚洲和澳大利亚。该研究使用了九种定义的软技能来评估软件行业中与个人工作角色相关的每种技能的需求水平。这项工作报告了一些重要的统计数据,从行业的软技能的要求,在软件开发阶段的各种角色。这项工作还强调了每个角色所需技能类型的变化。我们发现,目前虽然软件行业在招聘时在一定程度上关注软技能,但有必要进一步承认这些技能在软件开发中的作用。本文的目的是分析软件行业的软技能需求的各种软件开发职位,如系统分析师,设计师,程序员和测试。我们提出了两个研究问题,即(1)什么软技能是适合不同的软件开发生命周期的角色,(2)到什么程度的软件行业考虑软技能时,雇用员工。这项研究表明,有必要进一步承认软技能的重要性,从雇主在软件行业。
2015-07-24 cs.SE
Current Web Application Development and Measurement Practices for Small Software Firms
本文讨论的问题,目前的发展和衡量的做法,确定从约旦小型软件公司进行的试点研究。该研究旨在调查开发人员是否遵循Web应用程序开发中的开发和测量最佳实践。分析分两个阶段进行:第一,使用变量聚类对开发和度量实践进行分组,第二,确定接受程度。平均间隔用于确定可接受程度。层次聚类被用来对开发和测量实践进行分组。这项调查的实际结果将用于建立一个新的方法,在小型软件公司开发Web应用程序。
2012-05-28 cs.SE
Exploring Context-Aware Conversational Agents in Software Development
软件开发是一项复杂的工作,它依赖于涉及大量分布式信息的各种上下文因素。这种知识可包括:与技术有关的任务、软件操作环境和利益攸关方的要求。在软件开发中使用这些知识的一个主要障碍是,这些信息中的大多数是隐含的,并在开发人员的头脑中捕获(隐性)或通过大量文档传播。开发人员在开发软件时,经常需要维护这些任务的心理模型。因此,上下文很容易丢失或忘记,开发人员在完成项目时经常使用试错法。本研究旨在分析在任务执行期间使用聊天机器人支持软件开发人员是否可以改善整体开发体验。聊天机器人可以帮助开发人员基于隐式上下文信息执行不同的任务。我们提出了一个实现,以探索使用文本聊天机器人来帮助开发人员自动和主动地与软件开发项目活动,复发的可行性。
2020-06-03 cs.SE
Insights into Software Development Approaches: Mining Q&A Repositories
本研究通过主题建模与定性分析结合的混合方法,挖掘三大问答论坛的13903篇开发者帖子,识别出15个软件开发方法高频主题、49项实践挑战及难点主题上升趋势,为从业者提供参考以提升软件质量。
2023-05-02 cs.SE
Using Agile Story Points and Game Theory Together: Better Software Planning and Development in Agile Software Development
本研究针对敏捷软件开发中故事点估算的认知偏差与协作问题,提出结合Vickrey Auction和Stag Hunt Game等博弈论策略,以提升规划准确性、团队协作和产品质量。
2024-09-23 cs.SE
A System Modeling Approach to Enhance Functional and Software Development
本文提出了一种基于SysML的方法,以提高功能和软件开发过程中的工业环境。最近的技术变化,如电动汽车和重型工程机械自动化程度的提高,导致嵌入式软件的复杂性增加。因此,需要新的开发方法来解决灵活的功能开发,增强开发团队之间的沟通,并保持从设计概念到软件产品的可追溯性。所讨论的方法已经在开发新的传输系统(部分电气化)及其功能的背景下进行了实验。虽然建模方法是一个正在进行的工作,一些初步的成功,以及现有的差距指向未来的工作突出。
2019-06-20 cs.SE
Development of a software complex for the diagnosis of dentoalveolar anomalies using neural networks
本文介绍了开发一个软件复杂的目标和目的,规划治疗的牙槽畸形,软件复杂的体系结构作为治疗规划的相互作用的组件,以及使用算法的原理,使用卷积神经网络内的软件复杂的组件,解决了解码的问题的远程放射线图像。
2021-05-03 cs.SE
Attitudes, Beliefs, and Development Data Concerning Agile Software Development Practices
开发人员的观念和态度影响软件项目的运行方式以及开发团队中采用的开发实践。最近的敏捷方法已经考虑到了这一点,专注于协作和共享团队文化。在这项研究中,我们调查的看法敏捷开发实践和他们的使用,在软件开发团队。虽然通过对42名参与学生的调查收集到的看法并没有随着时间的推移而发生显着变化,但我们的分析表明,学生的角色显着影响了参与者对就业发展实践的看法。我们发现,根据敏捷思想使用版本控制系统一直被评为与敏捷宣言的价值观最相关。此外,我们调查如何共同的软件开发工件可以用来获得洞察团队的行为,并提出我们所采用的开发数据测量。我们表明,我们可以可靠地检测定义良好的敏捷实践,如测试驱动开发,在这些数据中,这些实践的使用与参与者的自我评估相吻合。
2020-02-10 cs.SE
Towards a Theory of Software Development Expertise
软件开发包括各种任务,如实现新功能,分析需求和修复错误。成为这些任务的专家需要一定的技能,知识和经验。一些研究调查了软件开发专业知识的各个方面,但缺少的是一个全面的理论。我们提出了第一个概念理论的软件开发的专业知识,是基于数据的混合方法的调查与335软件开发人员和文献的专业知识和专家的表现。我们的理论目前专注于编程,但已经为研究人员,开发人员和雇主提供了有价值的见解。该理论描述了软件开发专业知识的重要属性,以及哪些因素促进或阻碍其形成,包括开发人员的绩效如何随着时间的推移而下降。此外,我们的定量结果表明,开发人员的专业知识自我评估是上下文相关的,经验不一定与专业知识。
2018-11-04 cs.SE