7 research outputs found

    Managing Product Line Asset Bases

    Get PDF
    Product lines are predicated on collecting assets common to the desired product portfolio, commonly known as the asset base. For many product lines, the size of asset base has become large enough to create a variety of difficulties. The techniques for managing large product line asset bases are unaddressed in the literature. This research presents new techniques that take advantage of asset base characteristics, unavailable in more general collections, to both reduce the number of assets and to organize the asset base that go beyond what is possible with other software collections. The result is an asset base that is more efficient to use. Research related to improving the organization of the asset base was performed by taking the component assets of a research SPL and arranging them based on three different organizational criteria - according to the structure of the architecture, important abstractions (Key Domain Abstractions), and product features. The three resulting organizations were then studied using four evaluation criteria - natural division of assets into groups (assets fit into the groups provided by the organization), easy to map assets to organization criteria (mapping between the selection of a particular product variant and the assets needed to produce it), reasonably sized groups, and similarly sized groups. The effectiveness of the different organizations was then compared and recommendations concerning asset base organization provided. The literature indicates that large product lines are likely to contain multiple assets that provide the same functionality, but that differ in the program context that they support. The presence of the duplicative assets creates a number of problems including organization difficulties. In a SPL these differences in program context are the result of requirements expressed at the product`s variation points. The limited differences in program context make it practical to attempt to provide a modular solution which permits the desired variation to be assembled as needed. The research explored a number of different implementation mechanisms to provide these modular variation points. The result is a recommendation on how to implement SPL variation points provided in the form of a pattern language

    Object-oriented design methodologies for software systems

    Get PDF
    PhD ThesisIn the last few years, demand for object-oriented software systems has increased dramatically, and it is widely accepted that present software engineering methodologies are unable to cope with the needs of that demand. The object-oriented paradigm has promised to revolutionise software development, and it has been seen as an attempt to extend and apply the techniques of encapsulation and inheritance, not only in the implementation phase but also during the design and system analysis phases of the software development process. As a result, several methodologies have recently arisen to support software development based on an object-oriented approach. This thesis is concerned with object-oriented design methodologies for software systems and addresses four points. First, a classification scheme for object-oriented development methodologies is proposed and their problems and limitations are pointed out. Second, a general methodology for objectoriented design (called MOOD) is presented. MOOD is unrelated to any programming language, yet is capable of being used to design a variety of object-oriented software systems. In particular, MOOD allows the creation of a design mainly in terms of classes, objects and inheritance, and the representation of a design graphically by a set of class hierarchy diagrams, composition diagrams, object diagrams and operation diagrams. Third, the thesis puts software development into a new perspective, by proposing an alternative software life cycle model which links system analysis, domain analysis, design and implementation to form a coherent object-oriented software development life cycle model that takes reusability into account during the design phase. Lastly, a prototype of an environment which supports MOOD has been developed and is described.CAPES (Brazilian Federal Agency for Postgraduate Education)

    Object-Oriented Development for Open Systems

    No full text
    This paper outines the requirements for a series of tools to develop effectively systems in an object-oriented manner. It points out that reusability requires a certain change in philosophy and methodology for program development. 1 Introduction One of the oldest and most persistent problems in Computer Science has to do with the development of information systems. That is, how do we develop a system for a particular application which serves the user well. Over the years we coined different terms for describing the methodology and the tools used to solve the problem. We went from Systems Analysis and Programming to Software Engineering to Knowledge Engineering. In each case we used different techniques to develop the system, such as formal specification, high level languages, database systems and knowledge base systems. We retained however, the same overall systematic approach for developing the application. This approach, sometimes called the waterfall model for program development, ..

    Object�Oriented Development for Open Systems 1

    No full text
    This paper outines the requirements for a series of tools to develop e�ectively sys� tems in an object�oriented manner. It points out that reusability requires a certain change in philosophy and methodology for program development.
    corecore