Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2004
…
10 pages
1 file
In this paper, we present an approach to improve the software architecture evaluation process by systematically extracting and appropriately documenting architecturally significant information from software architecture and design patterns; we are interested in only two pieces of information found in software patterns: general scenarios and architectural tactics. General scenarios distilled from patterns not only assist stakeholders in developing concrete scenarios during a scenario-based architecture evaluation, but can also help an architect select and calibrate a quality attribute reasoning framework. Architectural tactics in patterns are used as a means of manipulating independent parameters in the reasoning framework to achieve the desired quality. Moreover, we believe if we use general scenarios and tactics extracted from patterns in an architectural evaluation, the results of that evaluation can be used as an evidence to validate the pattern's claim with respect to the quality attributes. We demonstrate our approach by using EJB architecture usage patterns. We contend that this approach can be used to analyze and validate any architecture pattern.
2004
Software architecture (SA) evaluation is a quality assurance technique that is increasingly attracting significant research and commercial interests. A number of SA evaluation methods have been developed. Most of these methods are scenario-based, which relies on the quality of the scenarios used for the evaluation. Most of the existing techniques for developing scenarios use stakeholders and requirements documents as main sources of collecting scenarios. Recently, architectures of large software systems are usually composed of patterns and styles. One of the purposes of using patterns is to develop systems with predictable quality attributes. Since patterns are documented in a format that requires the inclusion of problem, solution and quality consequences, we observed that scenarios are, though as informal text, pervasive in patterns description, which can be extracted and documented for the SA evaluation. Thus, we claim that the patterns can be another source of collecting quality attributes sensitive scenarios. This position paper presents arguments and examples to support our claim.
2020
ii Abstract Context: Software architecture plays a critical role in achieving system quality attributes. Therefore, evaluating a system’s architecture with regard to desired quality requirements is very important. Architecture evaluation is an approach for assessing whether a software architecture can support the system needs, especially its quality attributes. Software architecture evaluation methods have been developed based on various characteristics and criteria such as the previous experience and domain knowledge of architects or developers, mathematical methods, features and scenarios, and testing. However, these methods may not be sufficient to reliably analyze certain quality attributes (i.e. performance, availability, and reliability). These methods also put little consideration on the architectural patterns and tactics used in the implementation, and the importance values of the desired quality attributes. Objectives: This thesis proposes an architecture evaluation approac...
2013
Architectural design involves choosing the best design solution that satisfies a set of requirements. During this process the architect has to assess and compare multiple, and possibly conflicting, criteria and decisions including quality attributes, architectural tactics and patterns. While architectural patterns embody high level design decisions, an architectural tactic is a design strategy that addresses a particular quality attribute. Tactics, in fact, serve as the meeting point between the quality attributes and the software architecture. To guide the architect in selecting the most appropriate architectural patterns and tactics, the interactions between quality attributes, tactics and patterns should be analyzed and quantified and the results should be considered as decision criteria within a quality-driven architectural design process. In this paper, we propose an approach for a quantitative evaluation of the support provided by a pattern for a given targeted set of quality attributes. Our approach incorporates the mathematical based trade-off technique: Analytical Hierarchy Process (AHP) to quantitatively deal with ambiguities, trade-offs, priorities and interdependencies among qualities, tactics and architectural patterns.
Lecture Notes in Computer Science
Architectural design has been characterized as making a series of decisions that have system-wide impact. These decisions have side effects which can have significant impact on the system. However, the impact may be first understood much later; when the system architecture is difficult to change. Architecture patterns can help architects understand the impact of the architectural decisions at the time these decisions are made, because patterns contain information about consequences and context of the pattern usage. However, this information has been of limited use because it is not presented consistently or systematically. We discuss the current limitations of patterns on evaluating their impact on quality attributes, and propose integrating the information of patterns' impact on quality attributes in order to increase the usefulness of architecture patterns.
When designing software architectures, an architect relies on a set of pre-defined styles commonly named architectural patterns. While architectural patterns embody high level design decisions, an architectural tactic is a design strategy that addresses a particular quality attribute. Tactics; in fact, serve as the meeting point between the quality attributes and the software architecture. To guide the architect in selecting the most appropriate architectural patterns and tactics, the interactions between quality attributes, tactics and patterns should be analyzed and quantified and the results should be considered as decision criteria within a quality-driven architectural design process. In this paper, we propose an approach for a quantitative evaluation of the support provided by a pattern for a given targeted set of quality attributes.
IEEE Software, 2007
Proceedings of the 5th international conference on Computer systems and technologies - CompSysTech '04, 2004
The identification of quality requirements is crucial to develop modern software systems, especially when their underlying context is changing or depending over time. Much work has been done on functional requirements specification, however nonfunctional requirements have been only superficially considered. Moreover, methods for architectural design focus on quality requirements; however their specification and traceability with respect to the system's functionality is not clear. The goal of this work is to outline a pattern-based architectural design process model focused on quality requirements engineering.
2011
Architecture patterns are an important tool in architectural design. However, while many architecture patterns have been identified, there is little in-depth understanding of their actual use in software architectures. For instance, there is no overview of how many patterns are used per system or which patterns are the most common or most important for particular domains. In addition, little is known of how architecture patterns ay interact with each other. We studied architecture documentation of 47 systems to learn about their architecture patterns. Most systems had two or more architecture patterns, and certain patterns were prominent in different application domains. We identified several patterns that are commonly used together, and are beginning to learn how such combinations may impact system quality attributes. This information can be used to help designers select architecture patterns, can help people learn both architectures and patterns, and can be useful in architectural...
Software Architectures are generally designed with particular functional and nonfunctional requirements. Organizations often need to choose Software Architecture for future development from several contending candidate architectures. Several methods have been proposed to design, analyze, selecting architectures with respect to hoped quality attributes to identify their restrictions. Most of these methods encourage the use of architectural patterns to develop architectures with known characteristics and apply scenarios to evaluate those architectures for desired quality attributes (e.g., reliability, modifiability). In case of Architecting a complex design activity, it involves making decisions about a number of inter-dependent design choices that relate to a range of design concerns. Each decision requires selecting among a number of alternatives; each of which impacts differently on various quality attributes (e.g., real-time, reliability, and performance). This paper discusses a selection framework based on multiattribute decision making using Hypothetical Equivalents, Architectural Information in a format that can support design decisions, ArchDesigner as a taxonomic approach along with GB case study and a Reasoning Framework which is encapsulation mechanism, can be used by nonexperts to examine a specific quality (e.g., performance, modifiability, availability) of a system.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
2013
Empirical Software Engineering, 2005
Studies in Computational Intelligence, 2014
Journal of Systems and Software, 2009
Software Architecture, 2010
Empirical Software Engineering, 2003
Lecture Notes in Computer Science, 2001
Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and First ACIS International Workshop on Self-Assembling Wireless Networks (SNPD/SAWN'05)
2012 35th Annual IEEE Software Engineering Workshop, 2012