METHOD FOR SOFTWARE MAINTENANCE RISK ASSESSMENT AT ARCHITECTURE LEVEL

Successful software project maintenance necessitates a well-defined strategy to manage changes and minimize risks associated with the future operation of the software. Software maintainers usually are not engaged in the initial software development cycle. Before maintainers can modify a program, they must understand how it operates. The community of Software engineering has proposed several methods to evaluate software architectures with respect to desired quality attributes performance, usability, and so on. There is, however, little effort on a systematically way for risk assessment at the architecture analysis level. It is difficult to find exact estimates for the probability of failure of individual components and connectors in the system during the early phases of software life cycle, thus risk assessment and analysis for software architectures can be performed on UML specifications such as scenarios and use cases since they model the abstract architecture and implementation details and describe the system using compositions of components and connectors. In this paper, we analyse the well known scenario-based software architecture evaluation methods using an evaluation framework created in this paper. The framework considers each method from the point of view of method context, stakeholders, structure, and reliability. The comparison reveals that most of the studied methods are structurally similar but there are a number of differences among their activities and techniques. Hence, some methods overlap, which guides us to identify five activities that can form a method for software risk Assessment at architecture level during maintenance.

[1]  Joc Sanders,et al.  Software quality - a framework for success in software development and support , 1994 .

[2]  Jana Polgar,et al.  Object-Oriented Software Metrics , 2005, Encyclopedia of Information Science and Technology.

[3]  Alain Abran,et al.  Geometrical and statistical foundations of a three-dimensional model of software performance , 1999 .

[4]  Dewayne E. Perry,et al.  Implications of evolution metrics on software maintenance , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[5]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[6]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[7]  James Martin,et al.  Software Maintenance: The Problem and Its Solutions , 1983 .

[8]  Leonard J. Bass,et al.  Attribute-Based Architecture Styles , 1999, WICSA.

[9]  Hany H. Ammar,et al.  Dynamic metrics for object oriented designs , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[10]  Osman Balci Credibility assessment of simulation results , 1986, WSC '86.

[11]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[12]  Stewart A. Higgins,et al.  Scenarios-an industrial case study and hypermedia enhancements , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[13]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[14]  Ronan Fitzpatrick,et al.  Software quality: definitions and strategic issues , 1996 .

[15]  Donald Firesmith,et al.  Common Concepts Underlying Safety, Security, and Survivability Engineering , 2003 .

[16]  Tony Rosqvist,et al.  Software Quality Evaluation Based on Expert Judgement , 2003, Software Quality Journal.

[17]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[18]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..

[19]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[20]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[21]  Ioannis Stamelos,et al.  A new method to evaluate software artifacts against predefined profiles , 2002, SEKE '02.

[22]  Ivar Jacobson,et al.  The use-case construct in object-oriented software engineering , 1995 .

[23]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..

[24]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.

[25]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[26]  Rogério de Lemos Idealised Fault Tolerant Architectural Element , 2006 .

[27]  Javam C. Machado,et al.  The prediction of faulty classes using object-oriented design metrics , 2001, J. Syst. Softw..

[28]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[29]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[30]  Liming Zhu,et al.  Tool support for just-in-time architecture reconstruction and evaluation: an experience report , 2005, ICSE '05.

[31]  Teresita Rojas,et al.  Construction of a Systemic Quality Model for Evaluating a Software Product , 2003, Software Quality Journal.

[32]  John E. Gaffney,et al.  Metrics in software quality assurance , 1981, ACM '81.

[33]  Jan Bosch,et al.  Architecting for usability: a survey , 2004, J. Syst. Softw..

[34]  D. Ross Jeffery,et al.  Function Points in the Estimation and Evaluation of the Software Process , 1990, IEEE Trans. Software Eng..

[35]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[36]  James Martin,et al.  Object-oriented analysis and design , 1992 .

[37]  Jan Bosch,et al.  Architecture level prediction of software maintenance , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[38]  Jan Bosch,et al.  Software architecture design: evaluation and transformation , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.

[39]  Rhan Ha,et al.  Efficient methods of validating timing constraints , 1995 .

[40]  Natalia Juristo Juzgado,et al.  1st International Workshop on Replication in Empirical Software Engineering Research (RESER) , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.