216 research outputs found
Assisting software architects in architectural decision-making using Quark
Non-Functional Requirements (NFRs) and constraints are among the principal drivers of architectural decision-making. NFRs are improved or damaged by architectural decisions (ADs), while constraints directly include or exclude parts of the architecture (e.g., logical components or technologies). We may determine the impact of an AD, or which parts of the architecture are affected by a constraint, but at the end it is hard to know if we are respecting the NFRs and the imposed constraints with all the ADs made. In the usual approach, architects use their own experience to produce software architectures
that comply with the NFRs and imposed constraints, but at the end, especially for crucial decisions, the architect has to deal with complex trade-offs between NFRs and juggle with possible incompatibilities raised by the imposed constraints. In this paper we present Quark, a method to assist software architects in architectural decision-making, and the conceptualization of the relationship between NFRs and ADs defined in Arteon, an ontology to represent and manage architectural knowledge. Finally, we provide an overview of the Quark and Arteon implementation, the ArchiTech tool.Peer ReviewedPostprint (published version
An exploratory case study on reusing architecture decisions in software-intensive system projects
Reusing architecture decisions from previous projects promises to support architects when taking decisions. However, little is known about the state of art of decision-reuse and the benefits and challenges associated with reusing decisions. Therefore, we study how software architects reuse architecture decisions, the stakeholders and their concerns related to decision-reuse, and how architects perceive the ideal future state of decision-reuse. We conducted a qualitative explorative case study in the software-intensive systems industry. The study has shown that architects frequently reuse decisions but are confined to decisions they already know or have heard about. The results also suggest that architects reuse decisions in an ad-hoc manner. Moreover this study presents a conceptual model of decision-reuse and lists stakeholder concerns with regards to decision-reuse. The results of this study indicate that improving the documentation and discoverability of decisions holds a large potential to increase reuse of decisions and that decision documentation is not only important for system understanding or in the context of architecture reviews but also to support architects in upcoming projects
Reasoning and Reuse in Software Architecture Design: Practices in the Argentine Industry
Over the last years, software architecture design has gained significant importance in both, industrial and research areas due to its relevance in the software system development process. In this context, special attention has been given to the documentation of architects’ reasoning during an architectural design, highlighting the advantages and disadvantages of this activity. This work intends to present a view of architects’ practices in the Argentine industry regarding reasoning documentation and its subsequent use and access.Fil: Carignano, Maria Celeste. Consejo Nacional de Investigaciones CientÃficas y Técnicas. Centro CientÃfico Tecnológico Santa Fe. Instituto de Desarrollo y Diseño (i); ArgentinaFil: Gonnet, Silvio Miguel. Consejo Nacional de Investigaciones CientÃficas y Técnicas. Centro CientÃfico Tecnológico Santa Fe. Instituto de Desarrollo y Diseño (i); ArgentinaFil: Leone, Horacio Pascual. Consejo Nacional de Investigaciones CientÃficas y Técnicas. Centro CientÃfico Tecnológico Santa Fe. Instituto de Desarrollo y Diseño (i); Argentin
Mining Architectural Information: A Systematic Mapping Study
Context: Mining Software Repositories (MSR) has become an essential activity
in software development. Mining architectural information to support
architecting activities, such as architecture understanding and recovery, has
received a significant attention in recent years. However, there is an absence
of a comprehensive understanding of the state of research on mining
architectural information. Objective: This work aims to identify, analyze, and
synthesize the literature on mining architectural information in software
repositories in terms of architectural information and sources mined,
architecting activities supported, approaches and tools used, and challenges
faced. Method: A Systematic Mapping Study (SMS) has been conducted on the
literature published between January 2006 and November 2021. Results: Of the 79
primary studies finally selected, 8 categories of architectural information
have been mined, among which architectural description is the most mined
architectural information; 12 architecting activities can be supported by the
mined architectural information, among which architecture understanding is the
most supported activity; 81 approaches and 52 tools were proposed and employed
in mining architectural information; and 4 types of challenges in mining
architectural information were identified. Conclusions: This SMS provides
researchers with promising future directions and help practitioners be aware of
what approaches and tools can be used to mine what architectural information
from what sources to support various architecting activities.Comment: 68 pages, 5 images, 15 tables, Manuscript submitted to a Journal
(2022
Architectural decision-making as a financial investment:An industrial case study
Context
Making architectural decisions is a crucial task but also very difficult, considering the scope of the decisions and their impact on quality attributes. To make matters worse, architectural decisions need to combine both technical and business factors, which are very dissimilar by nature.
Objectives
We provide a cost-benefit approach and supporting tooling that treats architectural decisions as financial investments by: (a) combining both technical and business factors; and (b) transforming the involved factors into currency, allowing their uniform aggregation. Apart from illustrating the method, we validate both the proposed approach and the tool, in terms of fitness for purpose, usability, and potential limitations.
Method
To validate the approach, we have performed a case study in a software development company, in the domain of low-energy embedded systems. We employed triangulation in the data collection phase of the case study, by performing interviews, focus groups, an observational session, and questionnaires.
Results
The results of the study suggested that the proposed approach: (a) provides a structured process for systematizing decision-making; (b) enables the involvement of multiple stakeholders, distributing the decision-making responsibility to more knowledgeable people; (c) uses monetized representations that are important for assessing decisions in a unified manner; and (d) enables decision reuse and documentation.
Conclusions
The results of the study suggest that architectural decision-making can benefit from treating this activity as a financial investment. The various benefits that have been identified from mixing financial and technological aspects are well-accepted from industrial stakeholders
How organisation of architecture documentation affects architectural knowledge retrieval
A common approach to software architecture documentation in industry projects is the use of file-based documents. This approach offers a single-dimensional arrangement of the architectural knowledge. Knowledge retrieval from file-based architecture documentation is efficient if the organisation of knowledge supports the needs of the readers; otherwise it can be difficult. In this paper, we compare the organisation and retrieval of architectural knowledge in a file-based documentation approach and an ontology-based documentation approach. The ontology-based approach offers a multi-dimensional organisation of architectural knowledge by means of a software ontology and semantic wiki, whereas file-based documentation typically uses hierarchical organisation by directory structure and table of content. We conducted case studies in two companies to study the efficiency and effectiveness of retrieving architectural knowledge from the different organisations of knowledge. We found that the use of better knowledge organisation correlates with the efficiency and effectiveness of AK retrieval. Professionals who used the knowledge organisation found this beneficial
Social Computing for Software Engineering: a Mapping Study.
There is a continual growth in the use of social computing within a breadth of business domains; such as marketing, public engagement and innovation management. Software engineering research, like other similar disciplines, has re- cently started to harness the power of social computing throughout the various development phases; from requirements elicitation to validation and maintenance and for the various methods of development and structures of development teams. However, despite this increasing effort, we still lack a clear picture of the current status of this research. To address that lack of knowledge, we conduct a systematic mapping study on the utilisation of social computing for software engineering. This will inform researchers and practitioners about the current status and progress of the field including the areas of current focus and the geographical and chronological distribution of the research. We do the mapping across a diversity of dimensions including the activities of software engineering, the types of research, the characteristics of social computing and the demographic attributes of the published work. Our study results show a growing interest in the field, mainly in academia, and a general trend toward developing designated social com- puting platforms and utilising them in mainly four software engineering areas; management, coding, requirements engineering, and maintenance and enhancement
Software Architecture in Practice: Challenges and Opportunities
Software architecture has been an active research field for nearly four
decades, in which previous studies make significant progress such as creating
methods and techniques and building tools to support software architecture
practice. Despite past efforts, we have little understanding of how
practitioners perform software architecture related activities, and what
challenges they face. Through interviews with 32 practitioners from 21
organizations across three continents, we identified challenges that
practitioners face in software architecture practice during software
development and maintenance. We reported on common software architecture
activities at software requirements, design, construction and testing, and
maintenance stages, as well as corresponding challenges. Our study uncovers
that most of these challenges center around management, documentation, tooling
and process, and collects recommendations to address these challenges.Comment: Preprint of Full Research Paper, the 31st ACM Joint European Software
Engineering Conference and Symposium on the Foundations of Software
Engineering (ESEC/FSE '23
Alignment of Business Models and Software: Using an Architecture-Centric Method to the Case of a Healthcare Information System
The alignment of business issues with technological service-oriented solutions has proven to be a crucial aspect of modern business development. In this regard, the provision of methods to solve the gap between business and technology becomes absolutely necessary. This paper presents a proposal to systematize that leap by defining a development method centred on the concept of Architecture. The use of different architectural models at different levels of abstraction (along with the definition of model transformations between them) allows for the establishment of a trace between the business-level elements and software elements that are derived from them. Key benefits of our proposal are, on the one hand, the provision of a method for business-technology alignment and, on the other hand, the definition of a new model to represent the structure of a business. This proposal has been refined and validated using the case of an information system for the management of paediatric percentiles
- …