首页 > 最新文献

2014 IEEE/IFIP Conference on Software Architecture最新文献

英文 中文
Consolidating a Process for the Design, Representation, and Evaluation of Reference Architectures 巩固参考体系结构的设计、表示和评估过程
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.25
E. Nakagawa, Milena Guessi, J. Maldonado, Daniel Feitosa, F. Oquendo
Reference architectures have emerged as a special type of software architecture that achieves well-recognized understanding of specific domains, promoting reuse of design expertise and facilitating the development, standardization, and evolution of software systems. Because of their advantages, several reference architectures have been proposed and have been also successfully used, including in the industry. However, the most of these architectures are still built using an ad-hoc approach, lacking of a systematization to their construction. If existing, these approaches could motivate and promote the building of new architectures and also support evolution of existing ones. In this scenario, the main contribution of this paper is to present the evolution of ProSA-RA, a process that systematizes the design, representation, and evaluation of reference architectures. ProSA-RA has been already applied in the establishment of reference architectures for different domains and this experience was used to evolve our process. In this paper, we illustrate an application of ProSA-RA in the robotics domain. Results achieved through the use of ProSA-RA have showed us that it is a viable, efficient process and, as a consequence, it could contribute to the reuse of knowledge in several applications domains, by promoting the establishment of new reference architectures.
参考体系结构已经作为一种特殊类型的软件体系结构出现,它实现了对特定领域的良好理解,促进了设计专业知识的重用,并促进了软件系统的开发、标准化和演进。由于它们的优点,已经提出了一些参考体系结构,并已成功地使用,包括在工业中。然而,这些体系结构中的大多数仍然是使用临时方法构建的,缺乏对其构造的系统化。如果存在,这些方法可以激励和促进新体系结构的构建,并支持现有体系结构的发展。在这种情况下,本文的主要贡献是展示了ProSA-RA的演变,这是一个将参考体系结构的设计、表示和评估系统化的过程。ProSA-RA已经应用于不同领域的参考架构的建立,这种经验被用来发展我们的过程。在本文中,我们举例说明了ProSA-RA在机器人领域的应用。通过使用ProSA-RA获得的结果向我们展示了它是一个可行的、有效的过程,因此,它可以通过促进建立新的参考体系结构来促进知识在几个应用领域的重用。
{"title":"Consolidating a Process for the Design, Representation, and Evaluation of Reference Architectures","authors":"E. Nakagawa, Milena Guessi, J. Maldonado, Daniel Feitosa, F. Oquendo","doi":"10.1109/WICSA.2014.25","DOIUrl":"https://doi.org/10.1109/WICSA.2014.25","url":null,"abstract":"Reference architectures have emerged as a special type of software architecture that achieves well-recognized understanding of specific domains, promoting reuse of design expertise and facilitating the development, standardization, and evolution of software systems. Because of their advantages, several reference architectures have been proposed and have been also successfully used, including in the industry. However, the most of these architectures are still built using an ad-hoc approach, lacking of a systematization to their construction. If existing, these approaches could motivate and promote the building of new architectures and also support evolution of existing ones. In this scenario, the main contribution of this paper is to present the evolution of ProSA-RA, a process that systematizes the design, representation, and evaluation of reference architectures. ProSA-RA has been already applied in the establishment of reference architectures for different domains and this experience was used to evolve our process. In this paper, we illustrate an application of ProSA-RA in the robotics domain. Results achieved through the use of ProSA-RA have showed us that it is a viable, efficient process and, as a consequence, it could contribute to the reuse of knowledge in several applications domains, by promoting the establishment of new reference architectures.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116353407","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 51
Empirical Study of Architectural Knowledge Management Practices 建筑知识管理实践的实证研究
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.28
M. Galster, M. Babar
Most current literature on Software Architecture Knowledge Management (AKM) reports research aimed at developing AKM approaches or identifying challenges in and potential solutions to AKM. However, there has been little effort aimed at empirically studying and describing how AKM is practiced in real-world projects. This paper reports a study aimed at empirically understanding how AKM is currently practiced in industry. Our findings are based on a systematic and rigorous analysis of reports of AKM practices in 29 industrial projects.
目前大多数关于软件架构知识管理(AKM)的文献都报告了旨在开发AKM方法或识别AKM中的挑战和潜在解决方案的研究。然而,很少有针对经验研究和描述AKM如何在实际项目中实践的努力。本文报告了一项研究,旨在从经验上了解AKM目前如何在工业中实践。我们的发现是基于对29个工业项目中AKM实践报告的系统和严格分析。
{"title":"Empirical Study of Architectural Knowledge Management Practices","authors":"M. Galster, M. Babar","doi":"10.1109/WICSA.2014.28","DOIUrl":"https://doi.org/10.1109/WICSA.2014.28","url":null,"abstract":"Most current literature on Software Architecture Knowledge Management (AKM) reports research aimed at developing AKM approaches or identifying challenges in and potential solutions to AKM. However, there has been little effort aimed at empirically studying and describing how AKM is practiced in real-world projects. This paper reports a study aimed at empirically understanding how AKM is currently practiced in industry. Our findings are based on a systematic and rigorous analysis of reports of AKM practices in 29 industrial projects.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130754506","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Green Architectural Tactics for the Cloud 云的绿色建筑策略
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.30
Giuseppe Procaccianti, P. Lago, G. Lewis
Energy efficiency is a primary concern for the ICT sector. In particular, the widespread adoption of cloud computing technologies has drawn attention to the massive energy consumption of data centers. Although hardware constantly improves with respect to energy efficiency, this should also be a main concern for software. In previous work we analyzed the literature and elicited a set of techniques for addressing energy efficiency in cloud-based software architectures. In this work we codified these techniques in the form of Green Architectural Tactics. These tactics will help architects extend their design reasoning towards energy efficiency and to apply reusable solutions for greener software.
能源效率是信息和通信技术部门关注的首要问题。特别是云计算技术的广泛应用,引起了人们对数据中心巨大能耗的关注。虽然硬件在能源效率方面不断改进,但这也应该是软件的主要关注点。在之前的工作中,我们分析了文献,并引出了一组解决基于云的软件架构中的能源效率的技术。在这项工作中,我们以绿色建筑策略的形式编纂了这些技术。这些策略将帮助建筑师将他们的设计推理扩展到能源效率,并为更环保的软件应用可重复使用的解决方案。
{"title":"Green Architectural Tactics for the Cloud","authors":"Giuseppe Procaccianti, P. Lago, G. Lewis","doi":"10.1109/WICSA.2014.30","DOIUrl":"https://doi.org/10.1109/WICSA.2014.30","url":null,"abstract":"Energy efficiency is a primary concern for the ICT sector. In particular, the widespread adoption of cloud computing technologies has drawn attention to the massive energy consumption of data centers. Although hardware constantly improves with respect to energy efficiency, this should also be a main concern for software. In previous work we analyzed the literature and elicited a set of techniques for addressing energy efficiency in cloud-based software architectures. In this work we codified these techniques in the form of Green Architectural Tactics. These tactics will help architects extend their design reasoning towards energy efficiency and to apply reusable solutions for greener software.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132052983","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 27
Inconsistency Resolution in Merging Versions of Architectural Models 架构模型合并版本中的不一致解决
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.31
K. Dam, Alexander Reder, Alexander Egyed
State-of-the-art optimistic model versioning systems, which are critical to enable efficient team-based development of architectural models, are able to detect and help resolve basic conflicts arising during the merging of model versions. However, it is often overlooked that model merging may also cause severe syntactical and semantic inconsistencies. In this paper, we propose an approach to guide the resolution of inconsistencies detected in a merged architectural model. Our approach automatically finds and presents to the software architects all solutions for resolving all inconsistencies arisen during the merging of model versions. For inconsistencies that pre-exist in the model, our approach is able to suggest exactly which model elements should be changed to resolve them. Our approach is built upon a repair generation which can quickly derive resolutions for an inconsistency by examining its static and dynamic structure and forming concrete repair actions from changes in the versions to be merged. An empirical validation on a range of industrial models has demonstrated that our approach is scalable to both large models and large differences between model versions.
最先进的乐观模型版本控制系统,对于实现高效的基于团队的架构模型开发是至关重要的,能够检测并帮助解决在模型版本合并期间产生的基本冲突。然而,模型合并也可能导致严重的语法和语义不一致,这一点经常被忽视。在本文中,我们提出了一种方法来指导在合并的体系结构模型中检测到的不一致性的解决。我们的方法自动找到并向软件架构师展示所有解决方案,以解决模型版本合并期间出现的所有不一致。对于模型中预先存在的不一致性,我们的方法能够准确地建议应该更改哪些模型元素来解决它们。我们的方法是建立在修复生成的基础上的,它可以通过检查其静态和动态结构,并从要合并的版本中的更改中形成具体的修复操作,从而快速得出不一致的解决方案。对一系列工业模型的实证验证表明,我们的方法可扩展到大型模型和模型版本之间的巨大差异。
{"title":"Inconsistency Resolution in Merging Versions of Architectural Models","authors":"K. Dam, Alexander Reder, Alexander Egyed","doi":"10.1109/WICSA.2014.31","DOIUrl":"https://doi.org/10.1109/WICSA.2014.31","url":null,"abstract":"State-of-the-art optimistic model versioning systems, which are critical to enable efficient team-based development of architectural models, are able to detect and help resolve basic conflicts arising during the merging of model versions. However, it is often overlooked that model merging may also cause severe syntactical and semantic inconsistencies. In this paper, we propose an approach to guide the resolution of inconsistencies detected in a merged architectural model. Our approach automatically finds and presents to the software architects all solutions for resolving all inconsistencies arisen during the merging of model versions. For inconsistencies that pre-exist in the model, our approach is able to suggest exactly which model elements should be changed to resolve them. Our approach is built upon a repair generation which can quickly derive resolutions for an inconsistency by examining its static and dynamic structure and forming concrete repair actions from changes in the versions to be merged. An empirical validation on a range of industrial models has demonstrated that our approach is scalable to both large models and large differences between model versions.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121163909","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
A Study on Group Decision-Making in Software Architecture 软件体系结构中的群体决策研究
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.15
Smrithi Rekha, H. Muccini
When architecting software systems, architects (with the contribution of other stakeholders) make several design decisions. These decisions could be related to the selection of the right components and connectors, the architectural style to be used, the distribution of various components, the deployment of software components into hardware devices, etc. Many methods have been proposed by the research community to help documenting several aspects of architectural design decisions including design alternatives, stakeholder concerns, decisions and the rationale for making such decisions and enhancing the decision-making process. Still, very little has been done to truly understand how architectural design decisions are made by group of practitioners, what information is documented, the tools used for helping documenting and how conflicts are managed. This study, by looking at principles and techniques for group decision making coming from other disciplines, aims to understand: a) how practitioners make group decisions in architecting software systems, b) how practiced group decision-making techniques relate to state-of-the-art techniques, and c) challenges companies face when making architecture-related group decisions. The study is conducted by using a questionnaire distributed to practitioners and researchers involved in group design decisions in industry. The results are used to drive some recommendations to improve the current group design decision process.
当架构软件系统时,架构师(在其他涉众的贡献下)要做出几个设计决策。这些决策可能与正确组件和连接器的选择、要使用的体系结构风格、各种组件的分布、将软件组件部署到硬件设备等相关。研究团体提出了许多方法来帮助记录架构设计决策的几个方面,包括设计备选方案、涉众关注点、决策以及做出这些决策和增强决策过程的基本原理。然而,要真正理解架构设计决策是如何由一组实践者做出的,记录了哪些信息,用于帮助记录的工具,以及如何管理冲突,还做得很少。这项研究,通过观察来自其他学科的群体决策制定的原则和技术,旨在理解:a)从业者如何在架构软件系统中做出群体决策,b)实践的群体决策技术如何与最先进的技术相关联,以及c)公司在做出与架构相关的群体决策时面临的挑战。本研究采用问卷调查的方式,向参与工业群体设计决策的从业人员和研究人员发放问卷。结果被用来驱动一些建议,以改进当前的组设计决策过程。
{"title":"A Study on Group Decision-Making in Software Architecture","authors":"Smrithi Rekha, H. Muccini","doi":"10.1109/WICSA.2014.15","DOIUrl":"https://doi.org/10.1109/WICSA.2014.15","url":null,"abstract":"When architecting software systems, architects (with the contribution of other stakeholders) make several design decisions. These decisions could be related to the selection of the right components and connectors, the architectural style to be used, the distribution of various components, the deployment of software components into hardware devices, etc. Many methods have been proposed by the research community to help documenting several aspects of architectural design decisions including design alternatives, stakeholder concerns, decisions and the rationale for making such decisions and enhancing the decision-making process. Still, very little has been done to truly understand how architectural design decisions are made by group of practitioners, what information is documented, the tools used for helping documenting and how conflicts are managed. This study, by looking at principles and techniques for group decision making coming from other disciplines, aims to understand: a) how practitioners make group decisions in architecting software systems, b) how practiced group decision-making techniques relate to state-of-the-art techniques, and c) challenges companies face when making architecture-related group decisions. The study is conducted by using a questionnaire distributed to practitioners and researchers involved in group design decisions in industry. The results are used to drive some recommendations to improve the current group design decision process.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127935005","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 27
Model-Based Formalization of Software Architecture Knowledge 基于模型的软件体系结构知识形式化
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.34
Daniel Perovich, M. Bastarrica
Applying architecture knowledge promotes quality, reduces risks, and is crucial to best meet stakeholders' expectations. Current architecture knowledge is vast and ever-growing, however, it is also heterogeneous, diverse, disperse, and expressed at different levels of abstraction and rigor. In practice, architecture design is bounded by the architect's skills, experience, and the subset of knowledge he masters, and it also requires a huge effort to adjust such knowledge to the development scenario. The resulting architecture is therefore not as good as it could be. Moreover, the architect's effort is not repeatable as it is implicitly embedded in the architecture descriptions. Although model-based approaches are being used to capture particular domains and methods, most approaches lack either generality or homogeneity, making it hard to integrate, adapt and apply such knowledge. In this work, we use megamodeling to provide an homogeneous means for capturing architecture knowledge, making it shareable and reusable. We formally define a mapping from key architecture concepts to modeling artifacts. Also, an architecture design scripting language is used to capture the fine-grained design actions, making architecture design repeatable.
应用架构知识可以提高质量,降低风险,并且对于最好地满足涉众的期望至关重要。当前的建筑知识是巨大的和不断增长的,然而,它也是异质的、多样的、分散的,并且在不同的抽象和严格程度上表达。在实践中,架构设计受到架构师的技能、经验和他所掌握的知识子集的限制,并且还需要付出巨大的努力来调整这些知识以适应开发场景。因此,最终的体系结构并没有达到预期的效果。此外,架构师的工作是不可重复的,因为它隐含地嵌入在架构描述中。尽管基于模型的方法被用于捕获特定的领域和方法,但大多数方法要么缺乏通用性,要么缺乏同质性,这使得很难集成、适应和应用这些知识。在这项工作中,我们使用超建模来提供一种获取架构知识的同构方法,使其可共享和可重用。我们正式定义了从关键体系结构概念到建模工件的映射。此外,还使用体系结构设计脚本语言来捕获细粒度的设计操作,从而使体系结构设计具有可重复性。
{"title":"Model-Based Formalization of Software Architecture Knowledge","authors":"Daniel Perovich, M. Bastarrica","doi":"10.1109/WICSA.2014.34","DOIUrl":"https://doi.org/10.1109/WICSA.2014.34","url":null,"abstract":"Applying architecture knowledge promotes quality, reduces risks, and is crucial to best meet stakeholders' expectations. Current architecture knowledge is vast and ever-growing, however, it is also heterogeneous, diverse, disperse, and expressed at different levels of abstraction and rigor. In practice, architecture design is bounded by the architect's skills, experience, and the subset of knowledge he masters, and it also requires a huge effort to adjust such knowledge to the development scenario. The resulting architecture is therefore not as good as it could be. Moreover, the architect's effort is not repeatable as it is implicitly embedded in the architecture descriptions. Although model-based approaches are being used to capture particular domains and methods, most approaches lack either generality or homogeneity, making it hard to integrate, adapt and apply such knowledge. In this work, we use megamodeling to provide an homogeneous means for capturing architecture knowledge, making it shareable and reusable. We formally define a mapping from key architecture concepts to modeling artifacts. Also, an architecture design scripting language is used to capture the fine-grained design actions, making architecture design repeatable.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124031885","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Software Architecture Evaluation in Practice: Retrospective on More Than 50 Architecture Evaluations in Industry 实践中的软件体系结构评估:50多个行业体系结构评估回顾
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.37
J. Knodel, Matthias Naab
Architecture evaluation has become a mature sub-discipline in architecting with high-quality practical and scientific literature available. However, publications on industrial applications and concrete experiences are rare. We want to fill this gap and share our experiences - having performed more than 50 architecture evaluations for industrial customers in the last decade. We compiled facts and consolidated our findings about architecture evaluations in industry. In this paper, we provide a critical retrospective on more than 50 projects and share our lessons learned. This industrial and practical perspective allows practitioners to benefit from our experience in their daily architecture work and scientific community to focus their research work on the generalizability of our findings.
随着高质量的实用和科学文献的出现,建筑评估已经成为建筑学中一个成熟的分支学科。但是,关于工业应用和具体经验的出版物很少。我们希望填补这一空白,并分享我们的经验——在过去的十年里,我们已经为工业客户进行了50多次架构评估。我们汇编了事实,并巩固了我们在工业中关于架构评估的发现。在本文中,我们对50多个项目进行了批判性回顾,并分享了我们的经验教训。这种工业和实践的视角使从业者能够从我们的日常建筑工作和科学社区的经验中受益,从而将他们的研究工作集中在我们的发现的普遍性上。
{"title":"Software Architecture Evaluation in Practice: Retrospective on More Than 50 Architecture Evaluations in Industry","authors":"J. Knodel, Matthias Naab","doi":"10.1109/WICSA.2014.37","DOIUrl":"https://doi.org/10.1109/WICSA.2014.37","url":null,"abstract":"Architecture evaluation has become a mature sub-discipline in architecting with high-quality practical and scientific literature available. However, publications on industrial applications and concrete experiences are rare. We want to fill this gap and share our experiences - having performed more than 50 architecture evaluations for industrial customers in the last decade. We compiled facts and consolidated our findings about architecture evaluations in industry. In this paper, we provide a critical retrospective on more than 50 projects and share our lessons learned. This industrial and practical perspective allows practitioners to benefit from our experience in their daily architecture work and scientific community to focus their research work on the generalizability of our findings.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126540825","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 18
A Journey through the Land of Model-View-Design Patterns 模型-视图-设计模式之旅
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.13
Artem Syromiatnikov, Danny Weyns
Every software program that interacts with a user requires a user interface. Model-View-Controller (MVC) is a common design pattern to integrate a user interface with the application domain logic. MVC separates the representation of the application domain (Model) from the display of the application's state (View) and user interaction control (Controller). However, studying the literature reveals that a variety of other related patterns exists, which we denote with Model-View- (MV) design patterns. This paper discusses existing MV patterns classified in three main families: Model-View-Controller (MVC), Model-View-View Model (MVVM), and Model-View-Presenter (MVP). We take a practitioners' point of view and emphasize the essentials of each family as well as the differences. The study shows that the selection of patterns should take into account the use cases and quality requirements at hand, and chosen technology. We illustrate the selection of a pattern with an example of our practice. The study results aim to bring more clarity in the variety of MV design patterns and help practitioners to make better grounded decisions when selecting patterns.
每个与用户交互的软件程序都需要一个用户界面。模型-视图-控制器(MVC)是将用户界面与应用程序域逻辑集成在一起的常用设计模式。MVC将应用程序域的表示(模型)与应用程序状态的显示(视图)和用户交互控件(控制器)分离开来。然而,通过对文献的研究,我们发现存在多种其他相关模式,我们将其称为模型-视图- (MV)设计模式。本文讨论了现有的MV模式,分为三大类:模型-视图-控制器(MVC)、模型-视图-视图模型(MVVM)和模型-视图-演示器(MVP)。我们从从业者的角度出发,强调每个家庭的本质和差异。研究表明,模式的选择应该考虑到用例和手头的质量需求,以及所选择的技术。我们用一个实践的例子来说明模式的选择。研究结果旨在使各种MV设计模式更加清晰,并帮助从业者在选择模式时做出更有根据的决策。
{"title":"A Journey through the Land of Model-View-Design Patterns","authors":"Artem Syromiatnikov, Danny Weyns","doi":"10.1109/WICSA.2014.13","DOIUrl":"https://doi.org/10.1109/WICSA.2014.13","url":null,"abstract":"Every software program that interacts with a user requires a user interface. Model-View-Controller (MVC) is a common design pattern to integrate a user interface with the application domain logic. MVC separates the representation of the application domain (Model) from the display of the application's state (View) and user interaction control (Controller). However, studying the literature reveals that a variety of other related patterns exists, which we denote with Model-View- (MV) design patterns. This paper discusses existing MV patterns classified in three main families: Model-View-Controller (MVC), Model-View-View Model (MVVM), and Model-View-Presenter (MVP). We take a practitioners' point of view and emphasize the essentials of each family as well as the differences. The study shows that the selection of patterns should take into account the use cases and quality requirements at hand, and chosen technology. We illustrate the selection of a pattern with an example of our practice. The study results aim to bring more clarity in the variety of MV design patterns and help practitioners to make better grounded decisions when selecting patterns.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123981750","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 39
Sustaining Agility through Architecture: Experiences from a Joint Research and Development Laboratory 通过架构维持敏捷性:来自联合研究和开发实验室的经验
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.38
Balthasar Weitzel, Dominik Rost, Mathias Scheffe
This paper is an experience report of a long running Scrum project, conducted in a collaboration between industry and research, in a so called "Joint Research and Development Laboratory". Over time in the collaboration, we experienced a constant decrease in the pace of our development progress. Planning forward only within the limits of single sprints was the main reason for this. It resulted in a degenerating design and therefore a lack of flexibility that affected the agility of our project. Therefore, we introduced the concept of "epic-architectures", an architecture design for a coherent group of user stories. Shifting the planning horizon further, across single sprints, helped us to create more stable and reusable concepts and to construct simpler, more elegant, and more maintainable solutions. We were able to significantly reduce the refactoring effort and increase the development speed, without significant overhead. With reporting on our experiences we hope to provide practically applicable guidance on how to integrate lightweight architecting in agile development processes, to sustain agility while creating high quality products.
本文是一个长期运行的Scrum项目的经验报告,该项目是在一个所谓的“联合研究与开发实验室”中由产业界和研究部门合作进行的。随着合作时间的推移,我们经历了开发进度的不断下降。主要原因是只在单个冲刺的范围内进行计划。它导致了退化的设计,因此缺乏灵活性,影响了我们项目的敏捷性。因此,我们引入了“史诗架构”的概念,这是一种为一组连贯的用户故事设计的架构。在单个sprint中进一步转移规划范围,帮助我们创建更稳定和可重用的概念,并构建更简单、更优雅、更可维护的解决方案。我们能够显著地减少重构工作并提高开发速度,而没有显著的开销。通过报告我们的经验,我们希望就如何在敏捷开发过程中集成轻量级架构提供实际适用的指导,以在创建高质量产品的同时保持敏捷性。
{"title":"Sustaining Agility through Architecture: Experiences from a Joint Research and Development Laboratory","authors":"Balthasar Weitzel, Dominik Rost, Mathias Scheffe","doi":"10.1109/WICSA.2014.38","DOIUrl":"https://doi.org/10.1109/WICSA.2014.38","url":null,"abstract":"This paper is an experience report of a long running Scrum project, conducted in a collaboration between industry and research, in a so called \"Joint Research and Development Laboratory\". Over time in the collaboration, we experienced a constant decrease in the pace of our development progress. Planning forward only within the limits of single sprints was the main reason for this. It resulted in a degenerating design and therefore a lack of flexibility that affected the agility of our project. Therefore, we introduced the concept of \"epic-architectures\", an architecture design for a coherent group of user stories. Shifting the planning horizon further, across single sprints, helped us to create more stable and reusable concepts and to construct simpler, more elegant, and more maintainable solutions. We were able to significantly reduce the refactoring effort and increase the development speed, without significant overhead. With reporting on our experiences we hope to provide practically applicable guidance on how to integrate lightweight architecting in agile development processes, to sustain agility while creating high quality products.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116915704","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Agile Software Architecture in Advanced Data Analytics 高级数据分析中的敏捷软件架构
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.16
K. Eric Harper, A. Dagnino
Requirements evolve over the development lifecycle of a software project. Agile practices are designed specifically to address this challenge while showing early and continuous progress towards project goals. Applying an agile approach allows stakeholders to adapt the scope and capabilities of a development release to changing market needs. More recently, an agile approach has been recommended for developing the architecture of software systems, enabling the design to support current requirements and early releases while evolving to meet future expectations. Our experience defining emergent software systems to build a product line architecture for advanced data analytics demonstrates the benefits that can be gained from prioritizing work activities and delaying architecture decisions. This paper proposes a process and ontology for agile architecture development. Only the necessary aspects for each evolutionary release are designed and prototyped, as determined by expectations of the identified application domain scenarios. Feedback from implementing the scenarios using the architecture extends our understanding of the requirements and provides the backlog for successive design iterations.
需求在软件项目的开发生命周期中不断发展。敏捷实践是专门为解决这一挑战而设计的,同时展示了项目目标的早期和持续进展。应用敏捷方法允许涉众根据不断变化的市场需求调整开发版本的范围和功能。最近,敏捷方法被推荐用于开发软件系统的体系结构,使设计能够支持当前需求和早期版本,同时发展以满足未来的期望。我们定义紧急软件系统以构建用于高级数据分析的产品线体系结构的经验表明,可以从优先化工作活动和延迟体系结构决策中获得好处。本文提出了敏捷体系结构开发的过程和本体。根据所确定的应用程序领域场景的期望,只有每个演进版本的必要方面被设计和原型化。使用架构实现场景的反馈扩展了我们对需求的理解,并为后续的设计迭代提供了待办事项。
{"title":"Agile Software Architecture in Advanced Data Analytics","authors":"K. Eric Harper, A. Dagnino","doi":"10.1109/WICSA.2014.16","DOIUrl":"https://doi.org/10.1109/WICSA.2014.16","url":null,"abstract":"Requirements evolve over the development lifecycle of a software project. Agile practices are designed specifically to address this challenge while showing early and continuous progress towards project goals. Applying an agile approach allows stakeholders to adapt the scope and capabilities of a development release to changing market needs. More recently, an agile approach has been recommended for developing the architecture of software systems, enabling the design to support current requirements and early releases while evolving to meet future expectations. Our experience defining emergent software systems to build a product line architecture for advanced data analytics demonstrates the benefits that can be gained from prioritizing work activities and delaying architecture decisions. This paper proposes a process and ontology for agile architecture development. Only the necessary aspects for each evolutionary release are designed and prototyped, as determined by expectations of the identified application domain scenarios. Feedback from implementing the scenarios using the architecture extends our understanding of the requirements and provides the backlog for successive design iterations.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115200995","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
期刊
2014 IEEE/IFIP Conference on Software Architecture
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1