On the design and development of program families
Download
1 / 16

On the design and development of program families - PowerPoint PPT Presentation


  • 106 Views
  • Uploaded on
  • Presentation posted in: General

On the design and development of program families. Presented by: M. Deng and J. Zhang 4/15/2002. CSE870 Advanced Software Engineering, Spring 2002. Overview. Objective Definition of program families A set of programs First common features of these programs Then variation of each program

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

On the design and development of program families

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


On the design and development of program families

Presented by:

M. Deng and J. Zhang

4/15/2002

CSE870 Advanced Software Engineering, Spring 2002


Overview

  • Objective

    • Definition of program families

      • A set of programs

        • First common features of these programs

        • Then variation of each program

      • Example: Microsoft Office Family

    • Three techniques

      • Traditional method: Sequential development method

      • Two new methods:

        • Stepwise refinement method

        • Specification of information hiding modules method

[Parnas76] David Parnas, “On the design and development of program families,” IEEE Transactions on Software Engineering, SE-2(1), 1-9, 1976.


Overview (cont’d)

  • Technique Overview

    • Sequential Method

      • Features

      • Disadvantages


Overview (cont’d)

  • Stepwise Method Vs. Specification Method

    • Features

    • Combination


Impact

  • Product line

    • Definition: a group of products that share a set of commonalities that meet the requirements of the market

    • CMU/SEI: a Framework of Software Product Line Practice

    • CMU/SEI: 1st Software Product Line Conference (SPLC1) in 2000

  • Information hiding design principle in Object-Oriented programming languages

  • And so on


Related 1: Commonality Analysis

  • Objective

    • To identify the common features and variations among family members

  • Technique Overview

    • FAST (Family-oriented Abstraction, Specification and Translation) process

    • An early step of the FAST process

    • Participants:

      • Moderator, recorder, family analysis experts

[Weiss98] David Weiss, “Commonality Analysis: A Systematic Process for Defining Families,” in 2nd International Workshop on Development and Evolution of Software Architectures for Product Families, February 1998.


Related 1 (cont’d)

  • Result: Commonality Analysis Document

  • Form: to hold a series of meetings

    • Five stages:

      • Prepare

      • Plan

      • Analyze: central part

      • Quantify

      • Review

  • Applicability:

    • Has been practiced in Lucent Technologies

  • How it extends Parnas’ work?

    • Provide a process


  • Related 2: Adaptable Components

    • Objective

      • One component represents a family of components

    • Technique Overview

      • An adaptable component has a group of parameters of adaptability

    [Campbell99] Grady Campbell, “Adaptable Components,” in Proceeding of 21st International Conference on Software Engineering (ICSE99), ACM, 685-686, 1999.


    Related 2 (cont’d)

    • Two models of reuse:

      • Usual reuse model

        • Select from a library of components

        • Customize and then construct a new component

        • Time-consuming, error-prone

      • Adaptable component based reuse model

        • Select from the name of adaptable component

        • Make the decisions of parameters

  • How it extends Parnas’ work?

    • A component family


  • Related 3: Combining Product Line Engineering with Options Thinking

    • Objective

      • To introduce an appropriate economic model to justify the use of product line approach

    • Technique Overview

      • Product line approach needs more initial investment

      • The DCF Model can be used to justify the use of product line in cell phone companies

      • The DCF is not suitable to justify product line approach in an evolutionary product

      • The BSOP Model is a Model used in stock market to value the option. It is more suitable to justify an evolutionary product

    [Geppert01] Birgit Geppert and Frank Roessler, “Combining Product Line Engineering with Options Thinking,” in Proceedings of Product Line Engineering: The Early Steps (PLEES’01), September 2001.


    Related 3 (cont’d)

    • How it extends Parnas’ work

      • Product line is an extension of program family

      • This work introduces an economic model to justify the use of the product line


    Uncited: Multi-Staged Scoping for Software Product Lines

    • Objective

      • To propose a scoping method for the product line approach

    • Technique Overview

      • Why we need scoping?

      • What requirements a sound scoping method should meet?

      • Three components of the proposed scoping method

        • Product line mapping, domain based scoping, feature based scoping

    [Schmid00] Klaus Schmid, “Multi-Staged Scoping for Software Product Lines,” in Proceedings of Software Product Lines: Economics, Architecture, and Implications, June 2000.


    Why it should have cited the paper

    • This paper should have cited Parnas’ paper for the same reason as the previous paper

      • Product line is a industrial interpretation of program family

      • This paper proposes a scoping method in product line


    References

    • D. Parnas, “On the design and development of program families,” IEEE Transactions on Software Engineering, SE-2(1), 1-9, 1976.

    • http://www.sei.cmu.edu/plp/product_line_overview.html.

    • http://www.sei.cmu.edu/plp/conf/SPLC.html.

    • http://www.sei.cmu.edu/plp/framework.html.

    • D. Weiss, “Commonality Analysis: A Systematic Process for Defining Families,” in 2nd International Workshop on Development and Evolution of Software Architectures for Product Families, February 1998.

    • G. Campbell, “Adaptable Components,” in Proceeding of 21st International Conference on Software Engineering (ICSE99), ACM, 685-686, 1999.


    References

    • B. Geppert and F. Roessler, “Combining Product Line Engineering with Options Thinking,” in Proceedings of Product Line Engineering: The Early Steps (PLEES’01), September 2001.

    • K. Schmid, “Multi-Staged Scoping for Software Product Lines,” in Proceedings of Software Product Lines: Economics, Architecture, and Implications, June 2000.


    ad
  • Login