Reuse-based software engineering: techniques, organization, and controls

Source: Internet
Author: User

This is an introduction to a book.

Reuse-based software engineering: techniques, organization, and controls
H. Mili, A. Mili, S. Yacoub, and E. Addy
John Wiley & Sons, N. Y., 2002, ISBN 0-471-39819-5

In this book, we study reuse-based software engineering from a technical, organizational, and managerial point of view. this book combines state of the practice techniques and guidelines with state of the art-but eminently applicable-research results in both, Object-based development techniques (frameworks, component models, separation of concerns methods), and reuse organizations and Economics (reuse metrics, ROI models ). the material is organized in seven parts (23 chapters, 600 pages), described below. A detailed outline is available through this link.

In Part I (Chapters 1-3), we introduce the field of software reuse by discussing in turn the state of the art, the state of the practice, and the future prospects of this field in three different areas, which are: Reuse products, reuse processes and reuse paradigms (chapter 2 ). then we introduce and discuss a distinction that pervades the organization of the Book, which divides issues into technical aspects, organizational aspects, and economical aspects (Chapter 3 ). we also discuss in this part some of the recent software reuse initiatives; we believe that the history of these initiatives holds several useful lessons about the current status and the future evolution of this discipline.

In part II (Chapters 4-6), we discuss the organizational aspects of software reuse, including team organizations (chapter 4), Support Services (chapter 5 ), and the institutional measures that must be taken to introduce reuse (Chapter 6 ). as far as team structures are concerned, we catalog a list of criteria that characterize team structures, which we then use to assess several alternative structures. support services include configuration management, quality assurance, testing, V & V, risk management, and certification; while these activities are well understood in the general context of software engineering, they require special consideration in the case of software reuse.

Part III (Chapters 7-9) deals with Domain Engineering in general, paradigm-independent terms. chapter 7 provides an overview of domain engineering issues, and defines reusability as a combination of two fairly independent characteristics, usefulness and usability. usefulness relates to how General a component is, regardless of packaging. usability relates to the packaging of the component, in terms of usage and integration, regardless of how often it is needed. chapter 8 discusses domain analysis, where the emphasis is on usefulness. chapter 9 attempts a comparison of the declarative, functional, and object-oriented paradigms from a usability perspective. we advocate multi-paradigm development as a way to achieve the best usability within ss the application domain.

Part IV (chapters 10-14) deals with object-oriented domain engineering, and represents the heart of the technical contents of the book. we introduce object orientation in chapter 10. chapter 11 discusses reply action techniques at all levels of development, including inheritance, specialization, metamodeling, metaprogramming, anda number of structural and behavioral modify action design patterns. chapter 12 discusses composition techniques. we study, in turn, language-based composition (constraint and rule-based extensions to OO syntax ages), new modularization techniques (subject-oriented programming, Aspect-Oriented Programming, and a number of lesser known "separation of concerns" methods), and compositional design patterns. chapter 13 discusses application frameworks, as an example of a wide-scale, systematic application of dynamic action and composition techniques. we recommend strate some of the concepts with examples from Java's Gui framework. chapter 14 discusses the role of architecture in reuse. after an overview of software ubuntures, we introduce specified tural frameworks as domain-independent frameworks whose purpose is to support an unsupported tural style. the CORBA, COM, and EJB component models are used to define strate such frameworks.

Part V (chapters 15-17) deals with Application Engineering in the context of reuse, or put more simply, developing with reusable components. chapter 15 discusses variants of Application Engineering lifecycles, depending on the maturity of the reuse domain. the subsequent chapters discuss more thoroughly two key activities in developing with reusable components; a) Component Retrieval (Chapter 16), where the emphasis is on library methods, and B) reusable Component Integration (chapter 17), where the emphasis is on process and quality issues.

In part VI (chapters 18-20), we discuss the managerial aspects of software reuse, by discussing Software Engineering metrics, software reuse metrics, software engineering economics, and software reuse economics. the book discusses software reuse economics by identifying four distinct partners in the software reuse process, and quantifying the return on investment that each partner is trying to optimize. the proposed ROI-based model has strates how we can make reuse happen, not by preaching or lecturing, but rather by fine-tuning the mechanic ms of incentive and reward in such a way the organizational goals are achieved while each partner is trying to achieve his/her own goals. our discussion of software reuse metrics presents metrics of interest and discusses what measures must be taken to monitor and control these metrics to standard levels.

Practicing Software Reuse involves implementing a set of changes to the development of software at the organizational, managerial, and technical dimensions. implementing a reuse program means making choices and trade-offs along each of these dimensions. part VII discusses trends, which correspond to specific combinations of these different aspects, that are representative of industry practice. these are component-based software development (CBSD, chapter 21), product-line engineering (PLE, chapter 22), and COTS-based development (COTS, chapter 23 ).

An appendix provides a list of software reuse resources (bibliography, web sites, conferences), as well as definitions of term projects appropriate for an introductory graduate course on software reuse.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.