ABSTRACT
Performance as one of the critical quality requirements for the success of a software system must be integrated into software development from the beginning to prevent performance problems. Analyzing and modeling performance demands knowledge of performance experts and analysts. In order to integrate performance analysis into software analysis and design methods, performance-specific properties known as domain knowledge have to be identified, analyzed, and documented properly. In this paper, we propose the performance analysis method PoPeRA to guide the requirements engineer in dealing with performance problems as early as possible in requirements analysis. Our structured method provides support for identifying potential performance problems using performance-specific domain knowledge attached to the requirement models. To deal with identified performance problems, we make use of performance analysis patterns to be applied to the requirement models in the requirements engineering phase. To show the application of our approach, we illustrate it with the case study CoCoME, a trading system to be deployed in supermarkets for handling sales.
- Alebrahim, A. 2015. Performance analysis patterns for requirements analysis. In Proceedings of Student Research Forum Papers and Posters, the 41st International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM). CEUR Workshop Proceedings Series, vol. 1326. CEUR-WS.org, 54--66.Google Scholar
- Alebrahim, A., Choppy, C., Fassbender, S., and Heisel, M. 2014. Optimizing functional and quality requirements according to stakeholders' goals. In System Quality and Software Architecture (SQSA). Elsevier, 75--120.Google Scholar
- Alebrahim, A., Hatebur, D., and Heisel, M. 2011a. A method to derive software architectures from quality requirements. In APSEC. IEEE Computer Society, 322--330. Google ScholarDigital Library
- Alebrahim, A., Hatebur, D., and Heisel, M. 2011b. Towards systematic integration of quality requirements into software architecture. In ECSA. LNCS 6903. Springer, 17--25. Google ScholarDigital Library
- Alebrahim, A., Heisel, M., and Meis, R. 2014. A structured approach for eliciting, modeling, and using quality-related domain knowledge. In ICCSA. LNCS 8583. Springer, 370--386.Google Scholar
- Bass, L., Clemens, P., and Kazman, R. 2003. Software architecture in practice Second Ed. Addison-Wesley. Google ScholarDigital Library
- Bass, L., Klein, M., and Bachmann, F. 2000. Quality attributes design primitives. Tech. rep., Software Engineering Institute.Google Scholar
- Ford, C., Gileadi, I., Purba, S., and Moerman, M. 2008. Patterns for Performance and Operability. Auerbach Publications. Google ScholarDigital Library
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley. Google ScholarDigital Library
- Hatebur, D. and Heisel, M. 2009. A foundation for requirements analysis of dependable software. In SAFECOMP. LNCS 5775. Springer, 311--325. Google ScholarDigital Library
- Hatebur, D. and Heisel, M. 2010. Making Pattern- and Model-Based Software Development more Rigorous. In ICFEM. Springer, 253--269. Google ScholarDigital Library
- Hatebur, D., Heisel, M., and Schmidt, H. 2008. Analysis and component-based realization of security requirements. In AReS. IEEE Computer Society, 195--203. Google ScholarDigital Library
- Jackson, M. 2001. Problem Frames. Analyzing and structuring software development problems. Addison-Wesley. Google ScholarDigital Library
- Rausch, A., Reussner, R., Mirandola, R., and Plasil, F. 2008. The Common Component Modeling Example: Comparing Software Component Models 1st Ed. LNCS 5153. Springer. Google ScholarDigital Library
- Schmidt, H., Hatebur, D., and Heisel, M. 2011. Software Engineering for Secure Systems: Academic and Industrial Perspectives. IGI Global, 32--74.Google Scholar
- Smith, C. and Williams, L. G. 2004. Software Performance Engineering. In UML for Real. Springer, 343--365. Google ScholarDigital Library
- Smith, C. U. and Williams, L. 2001. Performance solutions, a practical guide to creating responsive, scalable software. ADDISON WESLEY.Google Scholar
- Smith, C. U. and Williams, L. G. 1993. Software performance engineering: A case study including performance comparison with design alternatives. IEEE Trans. Software Eng. 19, 7, 720--741. Google ScholarDigital Library
- Smith, C. U. and Williams, L. G. 2006. Five steps to establish software performance engineering. In Int. CMG Conf. 507--516.Google Scholar
- UML Revision Task Force. 2009. UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems. http://www.omg.org/spec/MARTE/1.0/PDF.Google Scholar
- Williams, L. G. and Smith, C. U. 1995. Information requirements for software performance engineering. In Computer Performance Evaluation. Springer, 86--101. Google ScholarDigital Library
Index Terms
- Applying performance patterns for requirements analysis
Recommendations
A Norm-Based Approach towards Requirements Patterns
COMPSAC '11: Proceedings of the 2011 IEEE 35th Annual Computer Software and Applications ConferenceRequirements engineering is considered to be one of the crucial and at the same time difficult tasks during development process. It is considered to be one of the key factors causing software projects to fail since weak requirements engineering affects ...
Patterns for identification of trust concerns and specification of trustworthiness requirements
EuroPlop '16: Proceedings of the 21st European Conference on Pattern Languages of ProgramsSoftware systems enable performing today's complex business processes. Considering trustworthiness requirements in accordance to trust concerns of the end-users during the development of software systems is a critical issue. Particularly challenging are ...
Problem-oriented security patterns for requirements engineering
EuroPLoP '14: Proceedings of the 19th European Conference on Pattern Languages of ProgramsSecurity is one essential quality requirement that needs to be addressed during the software development process. While quality requirements such as security are supposed to be the architectural drivers, architecture solutions such as security patterns ...
Comments