327 research outputs found
Applying ArchOptions to value the payoff of refactoring
ArchOptions is a real-options based model that we have pro-posed to value the flexibility of software architectures in response to future changes in requirements. In this paper, we build on ArchOptions to devise an options-based model, which values the architectural flexibility that results from a refactoring exercise. This value assists in understanding the payoff of investing in refactoring: if the refactored system results in an architecture that is more flexible, such that the expected added value (in the form of options) due to the en-hanced flexibility outweighs the cost of investing in this exer-cise, then refactoring is said to payoff. We apply our model to a refactoring case study from the literature
Proceedings of the 19th Annual Software Engineering Workshop
The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of applications software. The goals of the SEL are: (1) to understand the software development process in the GSFC environment; (2) to measure the effects of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that include this document
Recommended from our members
Web information systems: A study of maintenance, change and flexibility
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.Information Systems (IS’s) have provided organisations with huge efficiency gains and benefits over the years; however an outstanding problem that is yet to be successfully tackled is that of the troublesome maintenance phase. Consuming vast resources and thwarting business progression in a competitive global market place, system maintenance has been recognised as one of the key areas where IS is failing organisations. Organisations are too often faced with the dilemma of either replacement or the continual upkeep of an unwieldy system. The ability for IS’s to be able to adapt to exogenous influences is even more acute today than at any time in the past. This is due to IS’s namely, Web Information Systems (WIS’s) increasingly and continually having to accommodate the needs of organisations to interconnect with a plethora of additional systems as well as supporting evolving business models. The richness of the interconnectivity, functionalities and services WIS’s now offer are shaping social, cultural and economic behaviour on a truly global scale, making the maintenance of such systems and evermore pertinent issue. The growth and proliferation of WIS’s shows no sign of abating which leads to the conclusion that what some have termed as the ‘maintenance iceberg’ should not be ignored.
The quandary that commercial organisations face is typically driven by two key aspects; firstly, systems are built on the cultural premise of using fixed requirements, with not enough thought or attention being paid to systems abilities to deviate from these requirements. Secondly, systems do not generally cope well with adapting to unpredictable change arising from outside of the organisations environment. Over the recent past, different paradigms, approaches and methods have attempted to make software development more predictable, controllable and adaptable, however, the benefits of such measures in relation to the maintenance dilemma have been limited. The concept of flexible systems that are able to cope with such change in an efficient manner is currently an objective that few can claim to have realised successfully.
The primary focus of the thesis was to examine WIS post-development change in order to empirically substantiate and understand the nature of the maintenance phase. This was done with the intention to determine exactly ‘where’ and ‘how’ flexibility could be targeted to address these changes. This study uses an emergent analytical approach to identify and catalogue the nature of change occurring within WIS maintenance. However, the research framework design underwent a significant revision as the initial results indicated that a greater emphasis and refocus was required to achieve the research objective. To study WIS’s in an appropriate and detailed context, a single case study was conducted in a web development software house. In total the case study approach was used to collect empirical evidence from four projects that investigated post-development change requests in order to identify areas of the system susceptible to change. The maintenance phases of three WIS projects were considered in-depth, resulting in the collection of over four hundred change requests. The fourth project served as a validation case. The results are presented and the findings are used to identify key trends and characteristics that depict WIS maintenance change. The analytical information derived from the change requests is consolidated and shown diagrammatically for the key areas of change using profile models developed in this thesis. Based on the results, the thesis concludes and contributes to the ongoing debate that there is a discernable difference when considering WIS maintenance change compared to that of traditional IS maintenance. The detailed characteristics displayed in the profile models are then used to map specific flexibility criteria that ultimately are required to facilitate change. This is achieved using the Flexibility Matrix of Change (FMoC) tool which was developed within the remit of this research. This tool is a qualitative measurement scheme that aligns WIS maintenance changes to a reciprocal flexibility attribute. Thus, the wider aim of this thesis is to also expand the awareness of flexibility and its importance as a key component of the WIS lifecycle
Change decision support:extraction and analysis of late architecture changes using change characterization and software metrics
Software maintenance is one of the most crucial aspects of software development. Software engineering researchers must develop practical solutions to handle the challenges presented in maintaining mature software systems. Research that addresses practical means of mitigating the risks involved when changing software, reducing the complexity of mature software systems, and eliminating the introduction of preventable bugs is paramount to today’s software engineering discipline. Giving software developers the information that they need to make quality decisions about changes that will negatively affect their software systems is a key aspect to mitigating those risks. This dissertation presents work performed to assist developers to collect and process data that plays a role in change decision-making during the maintenance phase. To address these problems, developers need a way to better understand the effects of a change prior to making the change. This research addresses the problems associated with increasing architectural complexity caused by software change using a twoold approach. The first approach is to characterize software changes to assess their architectural impact prior to their implementation. The second approach is to identify a set of architecture metrics that correlate to system quality and maintainability and to use these metrics to determine the level of difficulty involved in making a change. The two approaches have been combined and the results presented provide developers with a beneficial analysis framework that offers insight into the change process
The impact of information systems on business flexibility from the managerial perspective: multiple cases of enterprise systems enhancement and ongoing changes
Today, flexibility is widely concemed as the key capability an organisation should possess due to the fast change of business and technology environment (Haeckel 1999; Golden and Powell 2000). Business is fundamentally concerned with and driven by changes. It requires flexibility to quickly respond to new conditions, to absorb sudden shocks and to accommodate diversity and heterogeneity. All of these demands, in turn, feed through to the computer-systems that modem organisations rely upon (CBDi Forum 2001). The attainment of information system flexibility is becoming an essential requirement for the business (Golden and Powell 2000; Behrsin et al 1994). Despite ITAS has been developed to achieve great flexibility and functionality in order to provide more agile and more effective solution for the businesses, it is also Widely subject to criticism for its inflexibility and rigidity (Allen and Boynton 1991; Avison et al 1995; Davenport 2000). This research addresses the IS flexibility issue and studies "how organisations adapt their ISs/ESs to accommodate ongoing business changes" A model of tactical ES adaptation for ongoing business changes has been developed from three organisations' ES post-implementation experience. This model depicts a complicated decision making process for ES adaptation to support ongoing business changes and attain flexibility. It demonstrates the dynamic relationship among emerging business needs, adaptation tactics, adaptation activities, performance and resource measurement, and risk evaluation
Identification & Analysis of Parameters for Program Quality Improvement: A Reengineering Perspective
The nature of software development is very dynamic and more complex by the perspective of reengineering or further program maintenances so the developed programs must be flexible, reusable and more scalable and which will be possible by the optimum quality parameters satisfaction. Having these issues in concern the software development houses trying to find out some established, usable methods to improve the quality of programs, the work presented in this paper is to identify, describe and analyze various parameters for quality which can affect the productivity and reusability of the software program and its future maintenance in form of reengineering. The work presented also analyzes the literature, previous research with different aspects and issues, and discussed its affects on present quality of the program because it is necessary to consider the potential impact on other requirements when designing a program to meet quality parameters requirements. Quality parameters are the overall factors that affect run-time behavior, system design, and user experience because many of these parameters are major concern to the program design and architecture, and also applied to establish program functionality, reusability, performance, reliability, and security which indicates the success of the design and the overall quality of the program and its application, integration. Keywords: AOSD, DoD, FURPS,LOC,Parameters
- …