Software Architecture Decision-Making Practices and Challenges: An Industrial Case Study
软件体系结构决策对于软件系统的成功至关重要,因为软件体系结构设置了系统的结构,确定了系统的质量,并在整个系统生存周期中具有深远的影响。软件开发环境的复杂性和问题的重要性促使研究界开发了一些技术、工具和过程来帮助软件架构师做出更好的决策。尽管作出了这些努力,但在实践中采用这种系统性办法似乎相当有限。此外,实践者也面临着新的挑战,因为不同的软件开发方法建议不同的方法进行架构设计。在本文中,我们研究了目前的软件架构决策的做法,在行业中使用的专业软件架构师在三个不同的公司在欧洲进行的案例研究。因此,我们确定了软件团队遵循的不同软件架构决策实践,以及遵循这些实践的原因,与之相关的挑战,以及从软件架构师的角度来看可能的改进。在此基础上,我们认识到,改进软件架构知识管理可以解决大多数已识别的挑战,并将导致更好的软件架构决策。
2016-10-28 cs.SE
Toward a Better Understanding of How to Develop Software Under Stress - Drafting the Lines for Future Research
软件的制作往往有很大的时间限制。我们的想法是了解各种软件开发实践对在压力环境中工作的开发人员的性能的影响,并确定在压力条件下开发的软件的最佳操作条件,通过问卷调查收集数据,非侵入性软件测量工具可以收集有关软件工程师和他们开发的软件的可测量数据,而不干预他们的活动,和生物物理传感器,然后尝试重新创建也在不同的过程或关键的发展实践这样的条件。
2018-04-24 cs.HC cs.SE
Tackling Software Architecture Erosion: Joint Architecture and Implementation Repairing by a Knowledge-based Approach
建筑侵蚀是现代建筑面临的一个重大挑战,它导致这些系统的质量性能恶化。今天,没有全面的方法来恢复体系结构的一致性,在侵蚀的软件系统存在和体系结构的一致性基本上是通过修复的实现水平。在本文中,我们提出了一种新的方法,使联合架构和实现修复,以解决软件架构侵蚀。通过对违规原因和适当的修复措施的整体观点,结合学习机制,我们建立了一个项目特定的知识库,随着时间的推移,提高了架构和实施的准确性和效率。
2021-04-28 cs.SE
Software Architecture Overview
什么是软件架构?帮助构造、构建和测试一个重要软件的规则、范例和模式。它是抽象层次上的实践经验。软件架构建立在系统工程和伽利略建立的科学方法之上:测量你能测量的,使你不能测量的。实验比推理更重要。关于软件架构的信息片段遍布互联网。本文尽可能多地使用引文。其目的是汇集一个概览,而不是重新措辞。
2005-07-24 cs.SE
On Assessing the Complexity of Software Architectures
本文提出了一些适合评估软件系统体系结构属性的新体系结构度量。我们的方法的主要特点是通过分析架构中的各种类型的架构依赖来评估软件架构的复杂性。
2001-05-05 cs.SE
Optimal Software Architecture From Initial Requirements: An End-to-End Approach
软件架构师通过架构优化过程将系统需求转化为合适的软件架构。然而,架构师应该如何决定优先考虑哪些质量改进,例如,安全性还是可靠性?在软件产品线中,多个产品的小改进是否应该优先于单个产品的大改进?现有的架构优化方法处理过程中的各个步骤,但没有一个系统地指导架构师从初始需求生成最佳架构。在这项工作中,我们提出了一个端到端的方法来生成一个最佳的软件体系结构,为一个单一的软件产品和一个最佳的家庭的体系结构的产品。我们报告了一个案例研究,应用我们的方法来优化五个工业级产品在现实生活中的产品线架构,其中359个可能的组合,10个不同的质量工作的优先级。
2020-12-31 cs.SE
An Architecture Process Maturity Model of Software Product Line Engineering
软件体系结构由于其在创建高质量软件中的重要作用而成为软件工程界的一个关键研究领域。开发产品线而不是单一产品的趋势使软件产品线成为行业中可行的选择。软件产品线体系结构被认为是产品线中的关键组成部分之一,因为所有的产品都共享这个共同的体系结构。软件产品线的日益普及需要一种过程成熟度评估方法。因此,本文提出了一个软件产品线工程的体系结构过程成熟度模型,以评估当前成熟的产品线体系结构开发过程中的组织。评估问卷和评级方法构成了这一模式的框架。调查问卷的目的是收集有关软件产品线架构开发过程的信息。因此,在一般情况下,这项工作有助于建立一个全面的和统一的战略,软件产品线工程的过程成熟度评估。此外,我们进行了两个案例研究,并报告了评估结果,这表明了两个组织的体系结构开发过程的成熟度
2015-07-24 cs.SE
An Empirical Study on Collaborative Architecture Decision Making in Software Teams
架构决策被认为是软件开发中最具挑战性的认知任务之一。本研究的目的是探索软件团队中架构决策的实践状态,包括架构师的角色和相关的挑战。在欧洲的一家大型软件公司进行了一项探索性的案例研究,并采访了15位软件架构师作为数据汇集的主要方法。结果表明,大多数软件团队的架构决策协作。特别是,协商式决策风格是首选,因为它有助于在考虑团队成员意见的同时有效地做出决策。据观察,大多数软件架构师与软件团队保持着密切的关系。还确定了几个组织,流程和人类相关的挑战及其对架构决策的影响。
2017-07-01 cs.SE
Using Dependence Analysis to Support Software Architecture Understanding
软件体系结构作为软件系统的一个重要设计层次,正受到越来越多的关注。随着软件体系结构设计资源(以体系结构描述的形式)的积累,开发支持体系结构理解、测试、再工程、维护和重用的技术和工具将成为一个重要的问题。本文介绍了一种新的依赖分析技术--体系结构依赖分析,以支持支持软件体系结构的开发。与传统的依赖性分析不同,架构依赖性分析被设计为对软件系统的架构描述进行操作,而不是对传统程序的源代码进行操作。架构依赖性分析提供了软件系统的高层架构的依赖性知识,而不是传统程序的低层实现细节。
2001-05-05 cs.SE
Multi-Objective Reconstruction Of Software Architecture
设计侵蚀是软件工程学科中一个持续存在的问题。软件设计往往会随着时间的推移而恶化,因此在处理遗留系统时需要支持软件架构师的工具和技术。本文提出了一种基于搜索的软件工程(SBSE)的方法,旨在恢复高层次的软件系统的体系结构设计的结构低层次的文物到高层次的架构文物配置的评估。特别是,本文描述了性能评估的一些元启发式搜索算法应用于高维度的建筑重建问题的目标。这些问题已被选为典型的挑战所面临的软件架构师处理遗留系统和结果通知正在开发的软件工具,支持不同的重建架构之间的权衡分析的代表。
2021-04-28 cs.SE
The Implications of Network-Centric Software Systems on Software Architecture: A Critical Evaluation
本文的目的是评估新兴的以网络为中心的软件系统对软件体系结构领域的影响。我们首先开发一个洞察力有关的术语“网络为中心的”,提出它的起源和它的影响范围内的软件架构。在此基础上,我们提出了一个网络为中心的框架和它的显着特点的定义。然后,我们列举了软件架构领域面临的挑战,软件开发从以平台为中心的网络为中心的模型。为了面对这些挑战,我们提出了一个正式的方法体现在一个新的建筑风格,支持克服这些挑战,在建筑水平。最后,我们提出了一个说明性的例子来证明网络中心的概念的有用性,总结我们的贡献,并将我们的方法与未来需要在这方面做的工作联系起来。
2007-02-10 cs.SE
Software Architecture for Quantum Computing Systems -- A Systematic Review
量子计算系统依赖于量子力学的原理,比经典计算系统更有效地执行大量具有计算挑战性的任务。软件密集型系统的架构可以使架构师能够利用以架构为中心的过程、实践、描述语言等,在更高的抽象层次上对量子计算软件(简称量子软件)进行建模、开发和进化。我们进行了系统的文献综述(SLR),以调查(i)架构过程,(ii)建模符号,(iii)架构设计模式,(iv)工具支持,以及(iv)量子软件架构的挑战性因素。SLR的结果表明,量子软件代表了一种新的软件密集型系统;然而,可以定制现有的过程和符号来导出量子软件的架构活动和开发建模语言。映射到量子门(Qugates)的量子比特(Qubits)可以表示为实现量子软件的架构组件和连接器。工具链可以包含可重用的知识和人类角色(例如,量子域工程师、量子代码开发人员)来自动化和定制架构过程。该SLR的结果可以帮助研究人员和从业人员开发新的假设进行测试,导出参考架构,并利用以架构为中心的原则和实践来设计新兴的和下一代的量子软件。
2023-03-22 cs.SE
Software Engineering with Process Algebra: Modelling Client / Server Architectures
在以前的工作中,我们描述了如何在软件工程中使用的进程代数为基础的语言PSF,使用工具总线,协调架构也基于进程代数,作为实现模型。我们还通过在CASE设置中介绍我们在此过程中使用的工具,更正式地描述了此软件开发过程,从而形成了PSF-ToolBus软件工程环境。在这篇文章中,我们总结了这项工作,并描述了一个类似的软件开发过程,使用客户端/服务器模型的软件系统的实施,并提出了这在CASE设置以及。
2009-08-18 cs.SE
Software Architecture in Practice: Challenges and Opportunities
本文通过访谈三大洲21个组织的32名从业者,梳理软件需求、设计、构造测试和维护阶段的架构活动与挑战,发现问题集中于管理、文档、工具和流程,并收集改进建议。
2023-08-22 cs.SE
Hardware Software Co-design for Automotive CPS using Architecture Analysis and Design Language
现代信息物理系统(CPS)在软件和物理组件之间具有紧密的相互依赖性。汽车嵌入式系统是典型的CPS,因为物理芯片、传感器和执行器是物理组件,而嵌入其中的软件是网络组件。现阶段的嵌入式系统在软件和硬件的架构设计上都是高度复杂的。在工业实践中,硬件平台上的高级控制算法开发和低级代码实现是分开开发的,共享信息有限。然而,软件代码和硬件架构变得密切相关的复杂性增加。硬件和软件之间的相关要求和依赖性是工业实践中出现的问题。我们在本文中展示了一种方法,链接基于模型的系统设计与实时仿真和分析的架构模型。这允许硬件软件协同设计,从而提前选择硬件架构。
2016-03-16 cs.SE
Software Architecture for Fiji National University Campus Information Systems
软件体系结构定义了系统的概述,该系统由各种组件及其软件之间的关系组成。在大型软件解决方案的开发过程中,体系结构设计是一个非常重要的环节,它对实现商业目标、提高软件解决方案的质量和可重用性起着非常积极的作用。通常很难从几个可用的候选类型中为您的系统选择最佳的软件体系结构。在本文中,我们看看在几个架构类型,并比较它们的基础上,我们的系统的关键要求,并选择最合适的架构,在斐济国立大学校园信息系统的实施。最后,我们提供了建议的体系结构的细节,并概述了未来的计划,我们的系统的实施。
2011-05-05 cs.SE
Neurosymbolic Architectural Reasoning: Towards Formal Analysis through Neural Software Architecture Inference
针对形式化架构模型构建成本高导致架构形式化分析难普及的问题,提出神经架构推断方法以支撑神经符号架构推理,并梳理了六个待解决的研究问题与研究方向。
2025-03-20 cs.SE
A general XML-based distributed software architecture for accessing and sharing ressources
本文提出了一种通用的基于xml的分布式软件体系结构,目的是在一个开放的客户/服务器环境中访问和共享资源。本文的组织如下:首先,我们介绍了“通用分布式软件体系结构”的思想。其次,我们描述了使用这种架构的一般框架。第三,我们描述了信息交换的过程中,我们介绍了一些技术问题,在建议的架构的实施。最后,我们提出了一些项目,目前正在使用,或应该使用,建议的架构。
2009-09-11 cs.SE
Software (Re-)Engineering with PSF II: from architecture to implementation
本文介绍了PSF在软件工程和再工程领域的应用研究。我们建立了一个新的实现的PSF工具包的模拟器从一个简单的模拟器的体系结构的PSF规格开始,并扩展它的功能,以获得一个完整的模拟器的体系结构。我们对体系结构的规范应用精炼和约束技术,以获得足够低的规范来构建实现。
2007-12-19 cs.SE
Sustainability in Software Architecture: A Systematic Mapping Study
可持续性在一般的软件工程中,特别是在软件架构中,是一个越来越多的研究主题。已经有一些二级研究解决软件工程的可持续性,但没有这样的研究明确侧重于软件架构。这项工作旨在通过对可持续性和软件架构研究之间的交叉点进行系统的映射研究来填补这一空白,其目的是(i)反映当前的技术水平,以及(ii)确定进一步研究的需求。我们的研究结果表明,总体而言,现有的作品不成比例地集中在可持续发展的具体方面,特别是最技术和“内向”的。这是以牺牲解决可持续性等多方面问题所需的整体视角为代价的。此外,更多的反思导向的研究工作,并更好地覆盖在建筑生存周期的活动需要进一步成熟的领域。基于我们的研究结果,我们提出了一个可持续性感知的软件架构的研究议程。
2022-04-25 cs.SE
Applying Slicing Technique to Software Architectures
软件体系结构作为软件系统的一个重要设计层次,正受到越来越多的关注。随着软件体系结构设计资源(以体系结构规范的形式)的积累,支持体系结构理解、测试、再工程、维护和重用的技术和工具的开发将成为一个重要的问题。本文介绍了一种新的切片形式,称为架构切片,以帮助架构的理解和重用。与传统切片不同,架构切片被设计为对软件系统的架构规范进行操作,而不是对程序的源代码进行操作。架构切片提供了关于软件系统的高层结构的知识,而不是程序的低层实现细节。为了计算架构切片,我们提出了架构信息流图,它可以用来表示软件架构中的信息流。基于图,我们给出了一个两阶段算法来计算建筑切片。
2001-05-05 cs.SE
Analysis of Software Binaries for Reengineering-Driven Product Line ArchitectureâAn Industrial Case Study
本文描述了一种从一组相似(但不相关)的二进制形式的软件产品中恢复软件体系结构的方法。一个意图是将重构驱动到软件产品线中,并将架构恢复与运行时间二进制分析和现有的聚类方法相结合。使用我们的运行时二进制分析,我们创建的图表,捕捉不同的软件部分之间的依赖关系。这些被聚集到更小的组件图中,将具有高交互性的软件部分分组到更大的实体中。组件图作为进一步软件产品线工作的基础。在本文中,我们集中在分析部分的方法和图聚类。我们将图聚类方法应用到自动化/机器人配置软件工具的背景下的实际应用中。
2015-04-14 cs.SE
Software Architecture of Code Analysis Frameworks Matters: The Frama-C Example
实现大型软件,作为旨在用于工业环境的软件分析器,需要一个精心设计的软件架构,以简化其生命周期中的日常开发和维护过程。如果分析器不仅仅是一个单一的工具,而是一个开放的可扩展的协作框架,外部开发人员可以在其中开发相互协作的插件,这样一个设计良好的架构甚至变得更加重要。在这份经验报告中,我们解释了开发和维护开放的可扩展协作分析框架的困难,通过Frama-C的例子,一个平台,致力于分析用C编写的代码。我们还介绍了新的即将到来的软件架构的框架-C和它的目的是如何解决这些问题。
2015-08-17 cs.SE
A Query Language for Software Architecture Information (Extended version)
本文提出架构信息查询语言AIQL,使利益相关者能够从数字架构孪生中获取最新且定制的架构信息,并通过四个应用场景和用户研究验证其功能、可扩展性与易用性。
2023-07-04 cs.SE
Evaluation of Software Architecture Quality Attribute for an Internet Banking System
在软件开发中,设计阶段比其他所有阶段都重要。软件体系结构必须同时满足功能性和非功能性的质量要求。必须执行架构评估,以便开发人员确信他们选择的架构将降低成本和工作量,并增强各种质量属性,如可用性,可重用性,性能,可修改性和可扩展性。系统的成功与否取决于对系统的基本方法体系结构的评估。候选体系结构的总体排名是通过为场景和场景交互分配权重来确定的。在本文中,SAAM方法被用来评估这两个架构从各种可用的方法和技术,以实现各种质量属性的权重度量。
2013-12-09 cs.SE
Architectural Blueprints: The 4+1 View Model of Software Architecture
本文提出了一个模型,用于描述软件密集型系统的体系结构,基于多个并发视图的使用。这种多视图的使用允许单独解决架构的各个利益相关者的关注点:最终用户,开发人员,系统工程师,项目经理等,并分别处理功能和非功能需求。我们描述了这五个视图中的每一个,并给出了一个表示法。这些视图是使用以架构为中心的、基于XML的、迭代的开发过程设计的。
2020-06-08 cs.SE
Software Architecture Meets LLMs: A Systematic Literature Review
本文通过系统性文献综述,分析了18篇研究,探讨大语言模型在软件架构任务中的应用效果、自动化程度、所用模型及评估方式,发现其常优于基线但部分领域仍待探索。
2025-05-22 cs.SE
On the Role of Software Architecture in DevOps Transformation: An Industrial Case Study
开发与运营(DevOps)是一种特殊类型的持续软件工程,已经成为一种流行的软件系统工程范式。软件架构对于DevOps的成功至关重要。然而,关于行业中如何构建软件系统以启用和支持DevOps的基于证据的知识很少。由于架构决策及其原理和含义在架构过程中非常重要,因此我们进行了一项行业案例研究,该研究根据经验确定并合成了两个软件开发团队认为对DevOps转型至关重要的关键架构决策。我们的研究还表明,除了所选择的架构风格外,DevOps最适合模块化架构。此外,我们发现,如果将运营专家添加到团队中以执行需要高级专业知识的运营任务,则所研究团队的性能可以在DevOps中得到改善。最后,如果团队想要更快地发布软件更改,那么测试投资是不可避免的。
2020-03-13 cs.SE
Towards a Generic Software Architecture for IoT Systems
本文针对物联网系统复杂性带来的软件开发挑战,提出一种质量属性驱动的通用软件架构,融合边缘计算、微服务和事件驱动设计模式,将物联网视为需闭环控制的自治系统以实现稳健运行。
2024-11-16 cs.SE
Software Architectures for Robotics Systems: A Systematic Mapping Study
软件体系结构相关的问题是机器人系统的重要。二十多年来,以架构为中心的机器人系统软件开发和演化一直吸引着研究人员的关注。这项工作的目标是系统地识别,分类和整体映射现有的解决方案,研究进展和趋势,影响架构驱动的建模,开发和机器人软件的演变。我们进行了一项系统映射研究,以确定和分析基于56篇同行评审论文的相关文献。我们从选定的论文中提取和综合数据,对现有的研究进行分类,并系统地映射解决方案,框架,符号和评估方法,以突出软件架构在机器人系统中的作用。我们已经确定了八个不同的研究主题,支持架构解决方案,以实现机器人软件的操作,进化和开发特定活动。在这一领域的研究已经从面向对象的组件为基础,现在服务驱动的机器人代表不同的体系结构代。自2005年以来,报告的解决方案利用模型驱动,面向服务和逆向工程技术。一个新兴的趋势是云机器人技术,它利用服务驱动架构的基础来支持机器人互联网。该SMS的结果促进了知识转移,使研究人员和从业人员受益,重点是利用软件架构来建模,开发和发展机器人系统。
2017-01-19 cs.SE
Big Questions on Software Architecture: Report of the ICSE 2026 BoF on Software Architecture
University of Southern Denmark(南丹麦大学);Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);University of L’Aquila(拉奎拉大学)
本文报告了 ICSE 2026 软件架构 BoF 首场会议的成果,旨在区分 SA 研究的重大科学问题与技术趋势,后续将补充 ICSA 会议的相关结果。
2026-09-07 cs.SE
SArF Map: Visualizing Software Architecture from Feature and Layer Viewpoints
为了便于理解的软件系统的架构,我们开发了SARF地图技术,可视化软件架构的功能和层的观点,使用城市隐喻。SArF地图可视化隐式软件功能使用我们以前的研究,SArF依赖性为基础的软件聚类算法。由于功能是软件的高级抽象单元,因此生成的映射可以直接用于高级决策,例如重用,也可以用于开发人员和非开发人员利益相关者之间的通信。在SArF地图中,每个要素都被可视化为一个城市街区,要素中的类被布置为反映其软件层的建筑物。特征之间的相关性表示为街道。依赖关系的链接被清晰地可视化。通过开源和工业案例研究,我们表明,目标系统的架构可以很容易地概述,其包装设计的质量可以快速评估。
2013-06-05 cs.SE
Towards Leveraging LLMs to Generate Abstract Penetration Test Cases from Software Architecture
Karlsruhe Institute of Technology (KIT)(卡尔斯鲁厄理工学院)
本文提出利用大语言模型生成抽象渗透测试用例,以支持软件架构层面的安全评估,实验显示生成的用例在实用性和正确性上表现良好。
2026-03-24 cs.SE
Knowledge-Based Multi-Agent Framework for Automated Software Architecture Design
本文提出基于知识的多智能体架构设计(MAAD)框架,利用LLM智能体模拟人类角色,整合系统设计、文献和专家知识,以自动化软件架构设计,推动应用级系统开发的全自动化。
2025-03-26 cs.SE
A survey of service oriented architecture systems testing
面向服务的体系结构(SOA)是最新的软件体系结构之一。这种架构是在业务需求的方向上创建的,消除了软件和业务之间的差距。软件测试是软件开发活动中不断增加的成本。SOA具有与其他软件体系结构不同的规范和功能比例。首先,本文回顾了SOA测试的挑战和针对这些挑战的现有解决方案。然后报告了SOA系统测试的最新研究概况,包括功能测试和非功能测试。这些测试针对不同级别的功能测试,包括单元测试、集成测试和回归测试。
2012-12-13 cs.SE
Towards Living Software Architecture Diagrams
提出一种从多种软件工件中自动恢复架构并结合手动调整的方法与工具,生成可手动修改且在重新生成时能保留更改的软件架构图。
2024-07-25 cs.SE
Benchmarking and Evaluating VLMs for Software Architecture Diagram Understanding
King’s College London(伦敦国王学院);British Telecom(英国电信)
本文提出SADU基准,评估VLMs在理解软件架构图作为结构化软件工程制品上的能力,揭示当前模型在图表推理和视觉关系定位方面的不足。
2026-04-05 cs.SE
Assessing Support for Industry Standards in Reference Medical Software Architectures
开发医疗器械软件的行业标准规定了合格器械必须满足的要求。已经提出了许多参考软件架构来开发这样的软件。ISO/IEC 25010:2011系列标准提供了一个全面的软件产品质量模型,包括医疗器械中高度期望的特性。此外,像4+1视图这样的框架提供了一个强大的框架来开发任何软件(包括医疗器械)的软件架构或高级设计。然而,医疗器械软件的工业标准和参考架构与ISO/IEC 25010:2011和4+1视图之间的一致性尚未得到很好的理解。本文旨在探讨ISO/IEC 25010:2011和4+1视图如何得到当前标准(即ISO 13485:2016、ISO 14971:2012、IEC 62304:2006和IEC 62366:2015)以及当前医疗器械软件参考架构的支持。我们将医疗器械标准的要求分类为ISO/IEC 25010:2011的质量和4+1视图的架构视图。遵循系统性文献综述(SLR)方法,对当前参考软件体系结构进行了评审,并映射了它们对上一步骤中识别的ISO/IEC 25010:2011质量的支持。我们的研究结果表明,ISO/IEC 25010:2011质量,如功能适用性,可移植性,可维护性,可用性,安全性,可靠性和兼容性在医疗器械标准中得到高度重视。此外,我们表明,目前的参考架构只部分支持这些品质。本文可以帮助医疗设备开发人员确定开发符合标准的软件的重点领域。一项涉及开发中医疗设备的更…
2021-07-17 cs.SE
On a Factorial Knowledge Architecture for Data Science-powered Software Engineering
鉴于科学中的数据密集型和协作趋势,软件工程社区也越来越关注从数据存储库中获得有价值和有用的见解。然而,将数据科学应用于软件工程(例如,如果缺乏合适的知识体系结构(KA),挖掘软件存储库)可能是盲目的和无意义的。通过观察软件工程实践通常通过一组因素(例如,编程器容量、不同的环境条件等)在此基础上,提出了一种基于因素的软件工程知识共享层次模型,以最大化软件资源库的价值,并对未来的软件数据驱动研究有所启发。特别是,它是有组织的因素和它们的关系,有助于指导软件工程知识挖掘,而挖掘的知识反过来将通过相关的因素和它们的相互作用索引/管理。本文阐述了我们关于阶乘KA的思想,并简要地说明了一个KA组件,即软件产品工程的早期版本KA。一旦充分的范围,这个拟议的KA将补充众所周知的SWEBOK的因素为中心的知识管理和潜在的软件工程知识的覆盖面/含义。
2021-03-02 cs.SE
Software dependability modeling using an industry-standard architecture description language
在架构级别执行可靠性评估以及其他分析,既可以进行架构权衡,又可以预测架构决策对应用程序可靠性的影响。本文给出了使用AADL(体系结构分析与设计语言)建立软件系统体系结构可靠性模型的指导方针。它提出了可重用的容错应用程序的建模模式,并显示了如何提出的模式可以在现实生活中的应用程序的子系统的上下文中使用。
2008-09-24 cs.SE
Revisiting Abstractions for Software Architecture and Tools to Support Them
本文回顾了1995年关于软件架构抽象的论文,将其置于软件开发抽象能力增强的历史背景中,反思其影响,并探讨该抽象识别策略在当前架构思想与挑战中的适用性。
2025-03-06 cs.SE
ATRAF-driven IMRaD Methodology: Tradeoff and Risk Analysis of Software Architectures Across Abstraction Levels
本文提出ATRAF驱动的IMRaD方法论,将ATRAF框架的四阶段螺旋评估流程与学术论文IMRaD结构对齐,以提升软件架构权衡与风险分析研究的严谨性、透明性和可复现性。
2025-05-06 cs.SE
Software Architecture Metrics: a literature review
在软件工程中,早期发现体系结构问题是关键。它有助于降低性能差的风险,并降低修复这些问题的成本。图3给出了项目的快速概述,帮助设计人员检测其架构中的缺陷或退化。尽管研究在25年前就公布了架构指标,但它们尚未被行业和开源社区所接受。在这项研究中,我们的目标是进行审查现有的度量集中在软件架构的质量评估,早期的设计流程和整个项目的生命周期。我们也给他们的使用准则,并研究他们在不同的情况下的相关性。
2019-01-25 cs.SE
Proceedings 12th International Workshop on Formal Engineering approaches to Software Components and Architectures
FESCA研讨会的目的是汇集初级研究人员从正式的方法,软件工程,并在正式建模方法的开发和应用感兴趣的行业,以及相关的分析和推理技术与软件工程的实际利益。近年来,功能正确性的日益重要性和系统质量属性(如性能,可靠性,安全性)的相关性增加,刺激了软件系统的设计和开发的分析和建模技术的出现。随着当今软件系统的日益复杂,FESCA旨在解决两个研究问题:(1)软件体系结构在系统解决分析和建模挑战方面可以发挥什么作用,以及(2)如何有效地应用正式和半正式技术,使问题更容易自动解决,人工干预更少。
2015-03-15 cs.SE
An architecture for enabling A/B experiments in automotive embedded software
A/B实验是数据驱动产品开发的一种已知技术,并已在面向Web的业务中证明了其价值。随着汽车行业的数字化,行业的重点正在转向软件。为了使汽车嵌入式软件不断改进,A/B实验被认为是一种重要的技术。然而,采用这种技术并非没有挑战。在本文中,我们提出了一个架构,使A/B测试在汽车嵌入式软件。该设计以系统的方式解决了汽车行业特有的挑战。从假设到实践,我们的架构也被应用于实践中运行相当大规模的在线实验。此外,案例研究的方法被用来比较我们的建议与国家的做法在汽车行业。我们发现我们的架构设计是相关的,并在汽车嵌入式软件中采用连续的A/B实验的努力适用。
2021-07-06 cs.SE
Towards a Software Architecture Description for Tax Compliance
Technische Hochschule Nürnberg Georg Simon Ohm(纽伦堡乔治·西蒙·欧姆应用技术大学);Kolabri GmbH(Kolabri有限公司);Blekinge Institute of Technology(布莱金厄理工学院);fortiss
本研究提出一种基于组件、依赖、所有权和管辖权的极小化架构视点,构建包含2518个组件和16533个依赖的工业微服务系统视图,通过税务专家评估发现架构描述能揭示跨境复用但无法支持法律意义上的税务评估。
2026-06-15 cs.SE
A Software Architecture Teacher's Dilemmas
教授软件架构课程的教师需要更加反思,以使学生有效地参与学习活动。在这篇反思性的文章中,作者确定了一些被称为教学困境的决定性时刻,教师在这些时刻反思选择及其后果,以便进行有意义的学习。这些情况被称为困境,因为它们为教师提供了两种选择。这些困境中的一部分来自软件体系结构作为一门学科的固有性质,而另一部分则来自学习者的背景知识。本文提出了一套原则和小教学方法,使教学和学习更有效地在这种情况下。
2021-01-23 cs.SE
Software is a directed multigraph (and so is software process)
对于一个软件系统,其体系结构通常被定义为系统的基本组织,包括其组件,它们之间的关系,它们的环境,以及管理它们设计的原则。如果由与控制系统演化的工程过程相对应的构件贡献,则该定义自然地扩展到软件体系结构和软件过程中。显然,只要没有软件系统,管理它们的体系结构就不是问题;当只有小系统时,管理它们的体系结构就成了一个温和的问题;现在我们有了巨大的软件系统,管理它们的体系结构就成了一个同样巨大的问题。在本文中,我们提出了一个简单的,但我们相信有效的,模型组织架构的软件系统。首先,我们假设只有一种支持所有软件和软件过程架构工件的持续集成和验证的整体方法才是值得采取的方法。接下来,我们指出了一个基于图的模型,不仅允许收集和维护软件和软件过程方面的架构知识,但允许方便地创建各种定量度量来评估各自的质量或成熟度。这种模式实际上独立于目前使用的开发方法,也就是说,它可以很好地应用于以适应性方式管理的项目,以及正式的方法。最后,我们认为,该模型实际上可以实现现有的工具,特别是图数据库是一个方便的实现架构库。
2011-03-21 cs.SE
An Approach to Build Consistent Software Architecture Diagrams Using Devops System Descriptors
系统架构图在理解系统架构方面起着至关重要的作用。它们鼓励参与者之间进行更积极的讨论,并使回忆系统细节变得更容易。然而,系统架构图往往偏离软件。因此,它们可能会干扰对软件的理解和维护。我们提出了一种使用DevOps系统描述符构建系统架构图的方法,以提高架构图的一致性。为了产生我们的方法,我们调查了软件行业中架构图的问题,制定了创建架构图的指导方针。接下来,我们为系统描述符概念和将系统描述符转换为体系结构图的过程生成一个分类法。我们通过案例研究来评估我们的方法。在本案例研究中,我们为一个新闻源系统定义了一个Docker Compose描述符,并使用所提出的方法将其转换为一个系统架构图。我们的研究结果表明,目前,系统描述符通常导致一致的图只有在有限的程度。然而,案例研究的观察表明,所提出的方法是有前途的,并表明系统描述符有潜力创建更一致的架构图。为了更详细地检验我们的假设,有必要在控制实验和经验实验中进行进一步的评估。
2022-10-21 cs.SE
Let's Go to the Whiteboard (Again):Perceptions from Software Architects on Whiteboard Architecture Meetings
白板在软件架构师的日常生活中起着至关重要的作用,因为他们经常会在白板上组织会议,讨论新的架构,对架构的一些建议更改,架构和代码之间的不匹配等等。虽然已经研究了很多关于软件架构师,他们产生的架构,以及他们如何产生它们,但仍然缺乏对这些白板会议的详细了解。在本文中,我们提供了一个混合方法的研究,包括半结构化的采访和随后的调查,以了解白板架构会议上的软件架构师的看法。我们重点关注五个方面:(1)为什么要召开这些会议,这些会议参与者的经验水平有什么影响,架构师如何记录会议,会议结束后进行了什么样的更改并将其结果转移到实施中,数字白板扮演什么角色?在研究这些方面时,我们确定了与会议的技术方面和社会方面有关的12项意见。这些见解对进一步的研究有影响,为从业者提供具体的建议,为未来的工具设计提供指导,并建议教育未来的软件架构师的方法。
2022-10-28 cs.SE
A Study of Documentation for Software Architecture
本文通过65人参与的对照问卷实验,研究软件架构文档格式对新人理解系统的影响,发现文档格式与理解表现无显著关联,而先前接触源代码和所寻求的架构信息类型才是关键因素。
2023-05-26 cs.SE
Evolving Delta-oriented Software Product Line Architectures
多样性在现代软件系统中很普遍。同时存在几种系统变体,以适应不断变化的用户需求。此外,软件系统随着时间的推移而发展,以适应其应用环境中的意外变化。在现代软件开发中,软件体系结构建模是通过体系结构分解来处理系统复杂性的重要手段。这就需要一种能够表示空间和时间可变性的体系结构描述语言。在本文中,我们提出了三角洲建模的软件体系结构作为一个统一的建模形式主义的建筑在空间和时间上的变化。为了避免产品线模型在系统演化下的退化,我们提出了重构技术来维护和提高可变性模型的质量。使用一个正在运行的例子,从汽车领域,我们评估我们的方法进行了案例研究,比较三角洲建模与注释性的可变性建模。
2014-09-08 cs.SE
A Reference Architecture for Embedding Quantum Software Into Enterprise Systems
Münster University of Applied Sciences(明斯特应用科学大学);University of Münster(明斯特大学)
本文提出了一种模块化的参考架构,用于将量子软件嵌入企业系统,通过可执行的BPMN模型实现稳定且可重用的管道,用于解决运筹学中的组合挑战。
2025-12-12 cs.SE
Microservice Architectures for Advanced Driver Assistance Systems: A Case-Study
近年来的技术进步稳步增加了汽车内部软件系统的复杂性,而自动驾驶的持续发展将进一步加剧这种情况。这导致了一定程度的复杂性,推动了现有车辆软件架构和系统设计的极限。通过将软件结构更改为基于服务的体系结构,其他领域的公司成功地管理了不断增加的复杂性,并创建了一个更加敏捷和面向未来的开发过程。本文介绍了一个案例研究,研究将复杂的驾驶辅助功能的软件架构更改为微服务架构的可行性和可能的影响。完整的过程进行了描述,从软件环境和相应的要求,其次是实施,并最终测试的描述。此外,本文还对汽车用例的微服务架构进行了高级评估。结果表明,只要认真遵循微服务架构的原则,微服务架构可以减少复杂性和耗时的流程步骤,并使汽车软件系统为即将到来的挑战做好准备。
2019-02-25 cs.SE