Spelling suggestions: "subject:"8oftware architecture -- evaluatuation"" "subject:"8oftware architecture -- evalualuation""
1 |
Obtaining Architectural Descriptions from Legacy Systems: The Architectural Synthesis Process (ASP)Waters, Robert Lee 29 October 2004 (has links)
A majority of software development today involves maintenance or evolution of legacy systems. Evolving these legacy systems, while maintaining good software design principles, is a significant challenge. Research has shown the benefits of using software architecture as an abstraction to analyze quality attributes of proposed designs. Unfortunately, for most legacy systems, a documented software architecture does not exist. Developing a good architectural description frequently requires extensive experience on the part of the developer trying to recover the legacy system's architecture.
This work first describes a four-phase process that provides a framework within which architectural recovery activities can be automated. These phases consist of: extraction (obtaining a subset of information about the legacy system from a single source), classification (partitioning the information based upon its viewpoint), union (combining all the information in a particular viewpoint into a candidate view), and fusion (cross-checking all candidate views for consistency.
The work then concentrates on the major problem facing automated architectural recovery---the concept assignment problem. To overcome this problem, a technique called semantic approximation is presented and validated via experimental results. Semantic approximation uses a combination of text data mining and a mathematical technique called concept analysis to build a lattice of similar concepts between higher-level domain information and low-level code concepts. The experimental data reveals that while semantic approximation does improve results over the more traditional lexical and topological approaches, it does not yet fully solve the concept assignment problem.
|
2 |
Software Architecture SimulationMårtensson, Frans, Jönsson, Per January 2002 (has links)
A software architecture is one of the first steps towards a software system. A software architecture can be designed in different ways. During the design phase, it is important to select the most suitable design of the architecture, in order to create a good foundation for the system. The selection process is performed by evaluating architecture alternatives against each other. We investigate the use of continuous simulation of a software architecture as a support tool for architecture evaluation. For this purpose, we study a software architecture of an existing software system in an experiment, where we create a model of it using a tool for continuous simulation, and simulate the model. Based on the results from the simulation, we conclude that the system is too complex to be modeled for continuous simulation. Problems we identify are that we need discrete functionality to be able to correctly simulate the system, and that it is very time-consuming to develop a model for evaluation purposes. Thus, we find that continuous simulation is not appropriate for evaluating a software architecture, but that the modeling process is a valuable tool for increasing knowledge and understanding about an architecture.
|
3 |
A quality-driven decision-support framework for architecting e-business applicationsAl-Naeem, Tariq Abdullah, Computer Science & Engineering, Faculty of Engineering, UNSW January 2006 (has links)
Architecting e-business applications is a complex design activity. This is mainly due to the numerous architectural decisions to be made, including the selection of alternative technologies, software components, design strategies, patterns, standards, protocols, platforms, etc. Further complexities arise due to the fact that these alternatives often vary considerably in their support for different quality attributes. Moreover, there are often different groups of stakeholders involved, with each having their own quality goals and criteria. Furthermore, different architectural decisions often include interdependent alternatives, where the selection of one alternative for one particular decision impacts the selections to be made for alternatives from other different decisions. There have been several research efforts aiming at providing sufficient mechanisms and tools for facilitating the architectural evaluation and design process. These approaches, however, address architectural decisions in isolation, where they focus on evaluating a limited set of alternatives belonging to one architectural decision. This has been the primary motivation behind the development of the Architectural DEcision-Making Support (ADEMS) framework, which basically aims at supporting stakeholders and architects during the architectural decision-making process by helping them determining a suitable combination of architectural alternatives. ADEMS framework is an iterative process that leverages rigorous quantitative decision-making techniques available in the literature of Management Science, particularly Multiple Attribute Decision-Making (MADM) methods and Integer Programming (IP). Furthermore, due to the number of architectural decisions involved as well as the variety of available alternatives, the architecture design space is expected to be huge. For this purpose, a query language has been developed, known as the Architecture Query Language (AQL), to aid architects in exploring and analyzing the design space in further depth, and also in examining different ???what-if??? architectural scenarios. In addition, in order to support leveraging ADEMS framework, a support tool has been implemented for carrying out the sophisticated set of mathematical computations and comparisons of the large number of architectural combinations, which might otherwise be hard to conduct using manual techniques. The primary contribution of the tool is in its help to identify, evaluate, and rank all potential combinations of alternatives based on their satisfaction to quality preferences provided by the different stakeholders. Finally, to assess the feasibility of ADEMS, three different case studies have been conducted relating to the architectural evaluation of different e-business and enterprise applications. Results obtained for the three case studies were quite positive as they showed an acceptable accuracy level for the decisions recommended by ADEMS, and at a reasonable time and effort costs for the different system stakeholders.
|
4 |
A quality-driven decision-support framework for architecting e-business applicationsAl-Naeem, Tariq Abdullah, Computer Science & Engineering, Faculty of Engineering, UNSW January 2006 (has links)
Architecting e-business applications is a complex design activity. This is mainly due to the numerous architectural decisions to be made, including the selection of alternative technologies, software components, design strategies, patterns, standards, protocols, platforms, etc. Further complexities arise due to the fact that these alternatives often vary considerably in their support for different quality attributes. Moreover, there are often different groups of stakeholders involved, with each having their own quality goals and criteria. Furthermore, different architectural decisions often include interdependent alternatives, where the selection of one alternative for one particular decision impacts the selections to be made for alternatives from other different decisions. There have been several research efforts aiming at providing sufficient mechanisms and tools for facilitating the architectural evaluation and design process. These approaches, however, address architectural decisions in isolation, where they focus on evaluating a limited set of alternatives belonging to one architectural decision. This has been the primary motivation behind the development of the Architectural DEcision-Making Support (ADEMS) framework, which basically aims at supporting stakeholders and architects during the architectural decision-making process by helping them determining a suitable combination of architectural alternatives. ADEMS framework is an iterative process that leverages rigorous quantitative decision-making techniques available in the literature of Management Science, particularly Multiple Attribute Decision-Making (MADM) methods and Integer Programming (IP). Furthermore, due to the number of architectural decisions involved as well as the variety of available alternatives, the architecture design space is expected to be huge. For this purpose, a query language has been developed, known as the Architecture Query Language (AQL), to aid architects in exploring and analyzing the design space in further depth, and also in examining different ???what-if??? architectural scenarios. In addition, in order to support leveraging ADEMS framework, a support tool has been implemented for carrying out the sophisticated set of mathematical computations and comparisons of the large number of architectural combinations, which might otherwise be hard to conduct using manual techniques. The primary contribution of the tool is in its help to identify, evaluate, and rank all potential combinations of alternatives based on their satisfaction to quality preferences provided by the different stakeholders. Finally, to assess the feasibility of ADEMS, three different case studies have been conducted relating to the architectural evaluation of different e-business and enterprise applications. Results obtained for the three case studies were quite positive as they showed an acceptable accuracy level for the decisions recommended by ADEMS, and at a reasonable time and effort costs for the different system stakeholders.
|
5 |
Software architecture evaluation for framework-based systems.Zhu, Liming, Computer Science & Engineering, Faculty of Engineering, UNSW January 2007 (has links)
Complex modern software is often built using existing application frameworks and middleware frameworks. These frameworks provide useful common services, while simultaneously imposing architectural rules and constraints. Existing software architecture evaluation methods do not explicitly consider the implications of these frameworks for software architecture. This research extends scenario-based architecture evaluation methods by incorporating framework-related information into different evaluation activities. I propose four techniques which target four different activities within a scenario-based architecture evaluation method. 1) Scenario development: A new technique was designed aiming to extract general scenarios and tactics from framework-related architectural patterns. The technique is intended to complement the current scenario development process. The feasibility of the technique was validated through a case study. Significant improvements of scenario quality were observed in a controlled experiment conducted by another colleague. 2) Architecture representation: A new metrics-driven technique was created to reconstruct software architecture in a just-in-time fashion. This technique was validated in a case study. This approach has significantly improved the efficiency of architecture representation in a complex environment. 3) Attribute specific analysis (performance only): A model-driven approach to performance measurement was applied by decoupling framework-specific information from performance testing requirements. This technique was validated on two platforms (J2EE and Web Services) through a number of case studies. This technique leads to the benchmark producing more representative measures of the eventual application. It reduces the complexity behind the load testing suite and framework-specific performance data collecting utilities. 4) Trade-off and sensitivity analysis: A new technique was designed seeking to improve the Analytical Hierarchical Process (AHP) for trade-off and sensitivity analysis during a framework selection process. This approach was validated in a case study using data from a commercial project. The approach can identify 1) trade-offs implied by an architecture alternative, along with the magnitude of these trade-offs. 2) the most critical decisions in the overall decision process 3) the sensitivity of the final decision and its capability for handling quality attribute priority changes.
|
Page generated in 0.1203 seconds