Comparing the Maintainability of Two Alternative Architectures of a Postal System: SOA vs. Non-SOA (original) (raw)

SAAM: a method for analyzing the properties of software architectures

Proceedings of 16th International Conference on Software Engineering, 1994

While software architecture has become an increasingly important research topic in recent years, insufficient attention has been paid to methods for evaluation of these architectures. Evaluating architectures is dijjicultfor two main reasons. First, there is no common language used 10 describe different architectures. Second, there is no clear way of understanding an architecture with respect to an organization's ll~e cycle concerns-software quality concerns such as maintainability, portability, modularity, reusability, and so forth. This paper addresses these shortcomings by describing three perspectives by which we can understand the description of a soflware architecture and then proposing ajve-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method). We illustrate the method by analyzing three separate user interface architectures with respect to the qualiiy of modifiability.

Applying Software Architecture Comparison Analysis Method for a Critical System (Sacamcs) Based on Sacam (Concept and Case Study)1

Comparing the processes of architecting software for large scale systems is a difficult task that depends on different factors and various environments. However, software architecture are structured according to particular specifications, constraints and rules and are oftentimes badly documented. Therefore, with the lack of information about it, there is a need to develop a software architecture comparison analysis method for critical systems, based on a comparative analysis between software systems products viewed as a black box. Because such a system depend on various criteria, including the ones that derive from the reference organization's business goals, its architectures can be compared based on a set of criteria, including criteria derived from those business goals. Through a literature review on this research area, we explored the most popular methods for comparing software architecture and found it to be the Software Architecture Comparison Analysis Method (SACAM) developed by the Software Engineering Institute (SEI). SACAM compares the architectures of software systems (not the implementation codes) according to their metrics; it does not, however, address enterprise architecture issues, such as implemented software evolution and maintenance. This paper attempts to fill the above gaps by proposing the method called Software Architecture Comparison Analysis Method for Critical Systems (SACAMCS), which is based on multi-criteria decision analysis. The proposed method has been validated using a suitable case study to compare among two critical systems (checkin systems) used in international airports.

An empirically-based process for software architecture evaluation

Empirical Software Engineering, 2003

Software systems undergo constant change causing the architecture of the system to degenerate over time. Reversing system degeneration takes extra effort and delays the release of the next version. Improved architecture is intangible and does not translate into visible user features that can be marketed. Due to a lack of representative metrics, technical staff has problems arguing that stopping degeneration is indeed necessary and that the effort will result in an improved architecture that will pay off. We believe that architectural metrics would give technical staff better tools to demonstrate that the architecture has improved. This paper defines and uses a set of architectural metrics and outlines a process for analyzing architecture to support such an argument.

Developing a software Architecture Comparison Analysis Method for Critical Systems at International Airports

Journal of the ACS Advances in Computer Science, 2010

Software Architecture Comparison Analysis Methods provide organizations with a rationale for an architecture selection process by comparing the fitness of software architecture candidates for required systems. Comparing software architectures for any nontrivial system is a difficult task. Software architectures are designed with particular requirements and constraints, and are often poorly documented. With the lack of data about software architecture, developing comparison methods based on a black box approach is considered very helpful, and architectures can be compared based on a set of criteria derived from the business goals of an organization. A popular method for comparing software architectures as black box is the Software Architecture Comparison Analysis Method (SACAM) developed by the Software Engineering Institute (SEI). SACAM compares the architectures of software systems and not the implementation code. SACAM does not address enterprise architecture issues such as the implemented software evolution and maintenance. This paper discusses and presents a proposed adaptation of SACAM to be applied in the context of critical socio-technical systems where issues of architecture evolution and maintenance are considered important factors in selecting a strategy for software modernization. The proposed method is called software Architecture Comparison Analysis Method for Critical Systems (SACAM-CS). SACAM-CS is an architecture selection method based on multi-criteria decision analysis. The proposed method has been validated using a suitable case study to compare among two check-in systems used in international airports. The purpose of the case study is to investigate, examine, analyze, and develop model architecture to compare between two check-in systems with regard to evaluation of process improvement.

Applying Software Architecture Comparison Analysis Method for a Critical System (Sacamcs) Based on Sacam (Concept and Case Study)

Comparing the processes of architecting software for large scale systems is a difficult task that depends on different factors and various environments. However, software architecture are structured according to particular specifications, constraints and rules and are oftentimes badly documented. Therefore, with the lack of information about it, there is a need to develop a software architecture comparison analysis method for critical systems, based on a comparative analysis between software systems products viewed as a black box. Because such a system depend on various criteria, including the ones that derive from the reference organization's business goals, its architectures can be compared based on a set of criteria, including criteria derived from those business goals. Through a literature review on this research area, we explored the most popular methods for comparing software architecture and found it to be the Software Architecture Comparison Analysis Method (SACAM) developed by the Software Engineering Institute (SEI). SACAM compares the architectures of software systems (not the implementation codes) according to their metrics; it does not, however, address enterprise architecture issues, such as implemented software evolution and maintenance. This paper attempts to fill the above gaps by proposing the method called Software Architecture Comparison Analysis Method for Critical Systems (SACAMCS), which is based on multi-criteria decision analysis. The proposed method has been validated using a suitable case study to compare among two critical systems (checkin systems) used in international airports.

Service oriented architecture evaluation based on maintainability index

2017

Software architecture is meant to define system structure which is a core for product development. Defying system structure is first and most important step in software development. It involves a series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application. Most efficient way to be able to control system characteristics is to use certain architectural models like SOA or any other. In this paper focus object will be how maintainability is effected for SOA based applications. Keywords—SOA; metrics; maintainability

Performance evaluation of software architectures

Proceedings of the first international workshop on Software and performance - WOSP '98, 1998

There is growing recognition of the importance of the role of architecture in determining the quality attributes, such as modifiability, reusability, reliability, and performance, of a software system. While a good architecture cannot guarantee attainment of quality goals, a poor architecture can prevent their achievement. This paper discusses assessment of the performance characteristics of software architectures. We describe the information required to perform such assessments and discuss how it can be extracted from architectural descriptions. The process of evaluating the performance characteristics of a software architecture is described and illustrated with a simple case study.

Performance evaluation of a software architecture: a case study

International Workshop on Software Specification and Design, 1998

There is growing recognition of the importance of the role of architecture in determining the quality attributes, such as modifiability, reusability, reliability, and performance, of a software system. While a good architecture cannot guarantee attainment of quality goals, a poor architecture can prevent their achievement. This paper discusses assessment of the performance characteristics of software architectures. We describe the information required to perform such assessments and discuss how it can be extracted from architectural descriptions. The process of evaluating the performance characteristics of a software architecture is described and illustrated with a simple case study.

Software Architecture Evaluation - An Assessment.pdf

Software architecture is what defines a software system to be built. It starts early in the software development life cycle. The software architecture defines the data as well as the components of any software system along with the relation between them. It constitutes the blueprint that directs the development of the computer based software system. Being a critical activity of software development life cycle, any error in the design phase of software development can be critical to an organization dealing with the project and as such requires evaluation process that will not only analyse the architecture for its quality attributes but will benefit the software development organization by minimizing the risks associated with the software system to be built by pinpointing the errors early in the process of development. This paper highlights the architecture evaluation process with some examples of evaluation methods along with related work that has been previously done in the said field.