Methods and Models for Evaluating Software Product Line
- Slides: 11
Methods and Models for Evaluating Software Product Line Architecture Software Architecture and Design Dr. Lawrence Chung Hyotaeg Jung Computer Science Department Univ. of Texas at Dallas
What is SPL and SPLA? n Software Product Line (SPL) n n SPL is a set of products sharing a common, managed set of features which satisfy the specific needs pertaining to a selected market segment or mission or application domain, a common architecture whose services are based on the components. (by Bosch) Software Product Line Architecture (SPLA) n SPLA defines a number of architectural components with their associated requirements and zero, one or more component implementations.
Evaluation Method for Single Software Product Architecture n SAAM (Software Architecture Analysis Method) n n ATAM (Architecture Tradeoff Analysis Method) n n n Scenario-based method Requires system’s stakeholders to enumerate a set of scenarios Scenarios are scrutinized, prioritized and mapped onto a representation of the architecture. Scenario-based method Draws inspiration and techniques from the notion of architectural style, the quality attribute analysis communities, and SAAM ARID (Active Reviewers for Intermediate Designs) n n stakeholder-centric scenario-based method Technical review approach (a niche in the spectrum of design review technique)
Evaluation Method Steps (1) n SAAM n n n Develop scenarios Describe the architecture Classify and prioritize the scenarios Individually evaluate indirect scenarios Access scenario interactions Create the overall evaluation
Evaluation Method Steps (2) n ATAM n n n n n Present the ATAM Present the business driver Present the architecture Identify the architectural approaches Generate the quality attribute utility tree Analyze the architectural approaches Brainstorm and prioritize scenarios Analyze the architectural approaches Present the results
Evaluation Method Steps (3) n ARID n n n n n Identify the reviewers Prepare the design briefing Prepare the seed scenarios Prepare the materials Present the ARID Present the design Brainstorm and prioritize scenarios Apply the scenarios Summarize
Evaluation Method for Software Product Line Architecture n FAAM (Family Architecture Assessment Method) n n FAE (Family Architecture Evaluation) n n n Focusing on interoperability and extensibility Involves the product family stakeholders in the product creation process Emphasizes the practical know-how mechanisms and techniques Developed for companies and product family architects who wish to benchmark their product family engineering Based on BAPO (Business, Architecture, Process, Organization) Model FEF (Family Evaluation Framework) n n Based on BAPO Model Based on CMMI (Capability Maturity Model Integration) Model
Evaluation Method Steps n FAAM n n n n Define the assessment goal Prepare system quality requirements Prepare the architecture Review and refine artifacts Assess architecture conformance Report results and proposal FAE n n Evaluate framework via interviews Review and inspect architectural artifacts Analyze the results Archive the evaluation framework for benchmarking
Our Model for Evaluating Software Architecture
Our Evaluation Method Steps n n n n n Present the objective Present the business drivers Present the software product line architecture Present architectures of single products Brainstorm and prioritize the quality attributes for SPLA Brainstorm and refine evaluation items for SPLA Brainstorm and prioritize the quality attributes for architectures of single products Brainstorm and refine evaluation items for architectures of single products Present the results
References n n n n n P. Clements, R. Kazman, and M. Klein, “Evaluating Software Architectures – Methods and Case Studies, ” Addison-Wesley, 2002. R. Kazman, L. Bass, G. Abowd, and M. Webb, “SAAM: A Method for Analyzing the Properties of Software Architectures, ” in Proceedings of 16 th International Conference on Software Engineering, pp. 81 -90, May 1994. M. Barbacci, P. Clements, A. Lattanze, L. Northrop, and W. Wood, “Using the Architecture Tradeoff Analysis Methods (ATAM) to Evaluate the Software Architecture for a Product Line of Avionics Systems: A Case Study, ” Technical Note, CMU/SEI-2003 TN-012, July 2003. J. K. Bergey, M. J. Fisher, and L. G. Jones, “Use of the Architecture Tradeoff Analysis Method (ATAM) in Source Selection of Software-Intensive Systems, ” Technical Note, CMU/SEI-2001 -TN-010, June 2002. P. C. Clements, “Active Reviews for Intermediate Designs, ” Technical Note, CMU/SEI 2000 -TN-009, August 2000. T. J. Dolan, “Architecture Assessment of Information-System Families, ” Ph. D. Thesis, Department of Technology Management, Eindhoven University of Technology, February 2002. F. Linden, J. Bosch, E. Kamsties, K. Kansala, and H. Obbink, “Software Product Family Evaluation, ” in Proceedings of the 3 rd International Conference on Software Product Lines, pp. 110 -129, Boston, September 2004. R. Kauppinen, “FEF – A Product Family Evaluation Framework, ” Seminar on Quality Models for Software Engineering in University of Helsinki, September 2004. F. Linden, J. Bosch, E. Kamsties, K. Kansala, and H. Obbink, “Software Product Family Evaluation, ” in Proceedings of the 3 rd International Conference on Software Product Lines, pp. 110 -129, Boston, September 2004.
- Product line and product mix
- Methods of evaluating trading area
- What is product line depth
- Modal and semi modal verbs
- Business analytics methods models and decisions
- Business analytics methods models and decisions
- Business analytics methods models and decisions
- Linear programming models graphical and computer methods
- The engineering design of systems: models and methods
- Product class examples
- What is representative fraction
- An introduction to variational methods for graphical models