Managing Corporate Information Systems Evolution and Maintenance
Latest Publications


TOTAL DOCUMENTS

15
(FIVE YEARS 0)

H-INDEX

2
(FIVE YEARS 0)

Published By IGI Global

9781591403661, 9781591403685

Author(s):  
Malin Nordstrom ◽  
Tommy Welander

In the introduction to this chapter, we discuss some of the common problems in maintenance. In order to solve these problems, we find it necessary to think in a new way, including the relationship of businesses to the system maintenance. The world outside organisations changes continuously, and the business processes and functions must change with it. However, if we only maintain information technology (IT) and do not co-manage the business changes accordingly, IT will not change at the same pace as the business changes. It would result a gap between the business needs and services provided by the IT product. In that case, IT systems would not be able to provide sufficient business value. The main part of this chapter contains a management model for solving these problems, based on theoretical research and practical experience. The central theme of the model is the connection between the business needs and systems maintenance. This is achieved by maintaining maintenance objects rather than the systems, establishing micro-organisations for each maintenance object where business processes as well as the system are represented. Our proposed model is widely used in more than 50 organisations in Sweden. In conclusion, some future trends and central concepts of the model are discussed.


Author(s):  
Rafael Capilla ◽  
Juan C. Duenas

In this chapter we describe the product line models, and show how to apply them for developing and evolving Web products. A product line captures the common and variable aspects of software systems as key assets under a common architecture. Software companies are increasingly adopting this approach in order to accelerate the development of families of similar software products. In certain domains, such as the Web systems, development and maintenance operations are required more often. New techniques to engineer Web sites are needed in order to reduce the time to market for the Web products and to maintain the systems afterward. The authors believe that understanding the notion of lightweight product line and the role that the architecture plays will help software engineers in the construction of software products, and they will be able to manage the evolution effectively against future changes.


Author(s):  
Ying Zou ◽  
Kostas Kontogiannis

With the widespread use of the Web, distributed object technologies have been widely adopted to construct network-centric architectures, using XML, Web Services, CORBA, and DCOM. Organizations would like to take advantage of the Web in its various forms of Internet, Intranet and Extranets. This requires organizations to port and integrate their legacy assets to distributed Web-enabled environments, so that the functionality of existing legacy systems can be leveraged without having to rebuild these systems. In this chapter, we provide techniques to re-engineer standalone legacy systems into Web-enabled environments. Specifically, we aim for a framework that allows for the identification of reusable business logic entities in large legacy systems in the form of major legacy components, the migration of these procedural components to an object-oriented design, the specification of interfaces of these identified components, the automatic generation of CORBA wrappers to enable remote access, and finally, the seamless interoperation with Web services via HTTP based on the SOAP messaging mechanism.


Author(s):  
Frank Niessink

In this chapter, we examine the differences between software maintenance and software development from a service point of view, and the consequences thereof for the maturity of software maintenance organizations. We argue that software maintenance can be seen as providing a service, whereas software development is primarily concerned with the development of products. Differences between products and services affect the way in which customers assess their respective quality. In particular, service quality is assessed in two dimensions: the technical quality — what the result of the service is — and the functional quality — how the service is delivered. Consequently, customers will judge the quality of software maintenance differently from that of software development. This in turn means that to deliver high quality results in software maintenance, both the functional quality and the technical quality dimension are important.


Author(s):  
Evan W. Duggan

The correlation between the quality of information systems (IS) development practices, the products they shape, and systems maintainability has been well established. Several organizations have expended large amounts of money on ineffective software that have attracted high maintenance activities, which consume a disproportionate share of IS development resources. The IS quandary is how to reverse this trend, and free up resources for more productive organizational endeavors. This chapter presents a review of a variety of IS quality-oriented approaches (based on research findings and dispassionate practitioner accounts) and an indication of their advantages and weaknesses, and the development environments and contexts for which they are most suited. These techniques are available to software developers to be used individually or in synergistic combinations to confront the prevalent problem of poor software quality and reduce its unfavorable impact on software maintenance.


Author(s):  
Zeljka Car

The chapter provides the insight into software maintenance process, its features, actors, activities and results, with the emphasis on the importance and complexity of systems maintenance. The issues related to maintenance modeling, maintenance process evaluation and improvement are addressed. The chapter proposes a method for system maintenance modeling and analysis. Software maintenance process is modeled in terms of queuing network with applied simulation. Method implementation is described by a case study of telecommunication maintenance with the field process data. The case study and the related maintenance activities with data are described in detail. The results of the method application show how the process bottlenecks are formally identified and how new proposals for the improved process design should be analyzed. The chapter emphasizes the importance of a well-defined and balanced process indispensable for efficient maintenance of the large telecommunication software.


Author(s):  
Darren Dalcher

This chapter highlights the pervasiveness of change in most developed systems, and the resulting implications on development practice. A key problem with developed software systems is the focus on discrete one-off development. Emphasizing continuity and evolution requires a way of distinguishing between systems that can be assumed to remain stable and those that continuously “live” and evolve in their environment. Developing systems that are expected to evolve calls for a dynamic activity of design that is responsive to changes in the environment. The chapter concludes by discussing the role of design in such environments and characterizing design as a complex, responsive and negotiated search for an acceptable, yet changeable trade-off. This is taken forward by highlighting the implications for the adoption of adaptive design in dynamic environments, thereby justifying the move from discrete and project-based software engineering to a more strategic, continuous and evolving discipline of adaptive design.


Author(s):  
Kamran Sartipi ◽  
Kostas Kontogiannis

This chapter addresses the research challenges in the area of software architecture reconstruction and discusses the state-of-the-art and practice solutions to these challenges. Software architecture analysis and reconstruction is an area within the software architecture domain that refers to the techniques and tools for processing and recovering high-level information from a low-level software system representation such as the source code. The importance of architecture analysis and reconstruction of a large and complex software system stems from the need to perform continuous maintenance activities to keep a mission critical system operational. Such activities include adopting a new implementation technology, error correction, feature enhancement, and migration to a new platform, in which the architectural reconstruction constitutes the major part of these activities. The authors believe that the discussions of this chapter expose the reader to a systematic approach to the important issues, alternative solutions, and future research in the field of software architecture analysis and reconstruction.


Author(s):  
Jianjun Zhao ◽  
Limin Xiang

Change impact analysis is a useful technique in software maintenance and evolution. Many techniques have been proposed to support change impact analysis at the code level of software systems, but little effort has been made for change impact analysis at the architectural level. In this chapter, we present an approach to supporting change impact analysis at the architectural level of software systems based on the architectural slicing and chopping technique. The main feature of our approach is to assess the effect of changes in a software architecture by analyzing its formal architectural specification, and therefore, the process of change impact analysis can be automated completely.


Author(s):  
Uwe Zdun

This chapter examines the use of patterns for reengineering legacy systems to the Web. Today reengineering existing (legacy) systems to the Web is a typical software maintenance task. In such projects developers integrate a Web representation with the legacy system’s application programming interface (API) and its responses. Often, the same information is provided to other channels than HTTP and in other formats than HTML as well, and the old (legacy) interfaces are still supported. Add-on services such as security or logging are required. Performance and scalability of the Web application might be crucial. To resolve these issues, many different concepts and frameworks have to be well understood, especially legacy system wrapping, connection handling, remoting, service abstraction, adaptation techniques, dynamic content generation, and others. In this chapter, we present patterns from different sources that resolve these issues. We integrate them to a pattern language operating in the context of reengineering to the Web, and present pattern variants and examples in this context.


Sign in / Sign up

Export Citation Format

Share Document