Home For Attendees Tutorials
Tutorials PDF Print E-mail

The following tutorials will be held on Sunday, September 27th.

  • Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architecture
    Hassan Gomaa (full-day)
  • The Business Case for Software Reuse: Reuse Metrics, Economic Models, Organizational Issues, and Case Studies
    Jeff Poulin (half-day)
  • Starting and Managing Software Reuse: A Case-Based Tutorial
    Wayne Lim (half-day)

The following half-day tutorials will be held on Wednesday afternoon, September 30th.

  • Metrics and Strategy for Reuse Planning and Management
    Bill Frakes and John Favaro
  • Reusing Assignments with Other Educators Using CATspace
    Steve Edwards


Reusing Assignments with Other Educators Using CATspace

Speaker: Stephen H. Edwards, This e-mail address is being protected from spambots. You need JavaScript enabled to view it , http://people.cs.vt.edu/~edwards

Want to try out sharing assignments with others on Facebook?

Bring an electronic copy of your own favorite assignment (writeup, sample solution, tests or test data, etc.) to try it hands-on!

This tutorial introduces participants to an exciting new Facebook application targeted at instructors who teach programming courses.

CATspace allows instructors, textbook authors, and publishers to share and reuse programming assignments.  It focuses on social networking to build and strengthen its user community and to keep everyone informed of relevant activity.  Unlike many software reuse repository efforts, CATspace focuses on allowing the community to discuss, adapt, and customize reusable resources, and contribute changes back to the community for others to learn from and reuse.

CATspace supports computer science instructors in developing, refining, and discovering programming assignments in multiple ways by leveraging features like tagging, user ratings of assignments, discussion threads for each assignment, a unique versioning strategy for maintaining a tree of community-contributed variations available for each assignment, role-based access to restricted resources, and personalized recommendations based on your interests.

This tutorial is targeted at educators who teach programming courses and who want to share or reuse assignments, as well as those interested in learning more about how social networking can foster the development of a community of reusers.

About the presenter: CATspace is the latest project from the Web-CAT research group, led by Stephen Edwards.  He is the lead designer and project manager for Web-CAT--winner of the 2006 Premier Award, which recognizes high-quality, non-commercial courseware designed to enhance engineering education.  Web-CAT is used by over 40 institutions, with more adopters each year.  Stephen Edwards has given tutorials and workshops to computer science educators at a number of conferences, including SIGCSE, OOPSLA, and CCSC-E.

Metrics and Strategy for Reuse Planning and Management

Speakers: Bill Frakes and John Favaro

Key to planning and managing a systematic reuse program is the formulation and evaluation of a competitive strategy, and subsequent monitoring and measurement of progress against the goals elucidated by that strategy. This tutorial provides a succinct introduction to software reuse metrics, and principles of strategic planning and economic evaluation of reuse-oriented investments. The two parts of the course provide a comprehensive overview of current practice and recent developments in reuse project planning and management. Topics include an introduction to management of reuse projects, basic concepts and terminology in reuse measurement, principles of strategy, and fundamentals of economic evaluation of proposed investments in reuse.

1 Metrics for Managing with Reuse
Topics covered include Reuse motivations (Role of reuse in improving productivity and quality, Types of Reuse); Software Reuse Failure Modes Model; Cost Benefit Analysis (Cost/Productivity Models); Quality of Investment (Business Reuse Metrics, Relation of Reuse to Quality and Productivity); Maturity Assessment (SPC Reuse Capability Model); Amount of Reuse (Reuse Level, Reuse Metrics for Object-Oriented Systems, Reuse Predictions for Lifecycle Objects); Reusability Assessment.

2 Value-Based Software Reuse Investment
Topics covered include Principles of Strategy (Economic value maximization as the governing objective for a reuse-oriented business strategy, strategy as a bundle of projects); Principles of Valuation (Present value concepts, pros and cons of traditional approaches to valuation); Recent approaches to valuation of software investments (Projects as bundles of options, option-driven software development).

About the speakers:

Bill Frakes is an associate professor in the computer science department at Virginia Tech. He is author of many technical papers and books. He chairs the IEEE TCSE committee on software reuse, and edits ReNews. He has an M.S. from the University of Illinois at Urbana-Champaign and an M.S. and Ph.D. from Syracuse University.

John Favaro is a Senior Consultant with INTECS in Pisa, Italy. He is the Associate Editor of IEEE Software magazine for software project management. He is European co-chair of the IEEE Technical Subcommittee on Reuse. Over the past several years he has published numerous articles on principles of strategy and valuation for reuse investment. He has an M.S. from the University of California at Berkeley and a B.S. from Yale University.

The Business Case for Software Reuse: Reuse Metrics, Economic Models, Organizational Issues, and Case Studies

Speaker: Dr. Jeffrey S. Poulin, Lockheed Martin Systems Integration- Owego, NY. email: This e-mail address is being protected from spambots. You need JavaScript enabled to view it

This half-day tutorial is a good all-around, practical discussion on issues and approaches to implementing reuse, with a focus on the controversial topic of “how do we quantify what we do?” Tutorial attendees will leave with a realistic, practical set of metrics and organizational guidelines that they can immediately apply to their own projects. This tutorial will help answer the questions:

  1. How do we build a business case for reuse? We will show how to justify reuse investments based on cost-benefits and ROI.
  2. How do we measure the level of reuse on a project? We will show how to measure generated code, COTS integration, internal vs. external reuse, etc.
  3. What is the best way to organize to achieve the benefits of reuse? We will show why some organizations work and others do not.
  4. What is the role of architectures in a successful reuse program? We will show why today’s software architectures support reuse better than ever before.
  5. How do we identify the most reusable components? We will discuss how to locate reusable components in existing code and how do we build for reuse.

This tutorial will help attendees establish a credible, realistic metrics-based reuse program for their own organizations. In the process, attendees will learn the key aspects of defining reuse so that it is well-defined and quantifiable, they will learn how to organize their people and their software to encourage reuse, and they will see actual results from large projects that have used the techniques in this tutorial to achieve outstanding, proven reuse benefits.

About the speaker: Dr. Poulin lead the development of the IBM reuse measurements and return on investment (ROI) model in 1992 and since then has extensive experience on the topic of reuse measurement, ROI models, and organizational issues related to reuse. He is currently the Chief Engineer for the Land Vehicle Systems business area at Lockheed Martin Systems Integration, Owego, NY, where he has responsibility for performance on large-scale, international development projects. Dr. Poulin is active in many professional organizations and technical conferences, and has authored over 70 technical publications, including a book titled Measuring Software Reuse: Principles, Practices, and Economic Models, published by Addison-Wesley. For more information, visit his Web site at http://home.roadrunner.com/~jeffreypoulin/.

Designing Software Product Lines with UML 2: From Use Cases to Pattern-Based Software Architectures

Speaker: Hassan Gomaa
Department of Computer Science
George Mason University
Fairfax, Virginia, USA
E-mail: This e-mail address is being protected from spambots. You need JavaScript enabled to view it
Web: http://mason.gmu.edu/~hgomaa

Abstract: This tutorial addresses how to develop object-oriented requirements, analysis, and design models of software product lines using the Unified Modeling Language (UML) 2 notation.  During requirements modeling, kernel, optional, and alternative use cases are developed to define the functional requirements of the system. The feature model is then developed to capture product line requirements and how they relate to the use case model. During analysis, static models are developed for defining kernel, optional, and variant classes and their relationships. Dynamic models are developed in which statecharts define the state dependent aspects of the product line and interaction models describe the dynamic interaction between the objects.  The object-oriented software architecture for the product line is then developed, in which the system is structured into component-based subsystems.  Structural architecture patterns and communication patterns are also used in designing component based distributed product lines. The tutorial is illustrated by means of several examples.

This tutorial is intended for a wide audience of academic and industrial professionals including researchers, academic faculty, graduate students, software developers, systems analysts, software designers, and project managers. Some basic knowledge of object-oriented concepts is expected.

Reference: The tutorial is based on a book by the presenter:
H. Gomaa, “Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures", Addison Wesley Object-Oriented Technology Series, 2005.

About the speaker: Hassan Gomaa is Chair and Full Professor in the Department of Computer Science at George Mason University, Fairfax, Virginia. He has over 30 years experience in software engineering, both in industry and academia, and has published over 150 technical papers and three textbooks, two of which have been translated into Chinese. He has made conference presentations and tutorial presentations at many international conferences. He was keynote speaker at the Asia-Pacific Software Engineering Conference in December 2004 and at the International Conference on Model-Driven Engineering, Languages, and Systems in October 2006.  He has taught several in-depth industrial courses on software design in North America, Europe, Japan, and Korea.  He also consults in both the technical and management aspects of software engineering.

Starting and Managing Software Reuse: A Case-Based Tutorial

Speaker: Wayne C. Lim

Abstract: Utilizing the case method, attendees will be provided an overview and analysis of effective methods in several key areas. Specifically, they will learn:

  •     How to initiate a reuse program, reuse adoption and institutionalization models, the possible roles of a corporate reuse program, and how to select pilot projects.
  •     How to investigate reuse, how reuse can support or drive organizational strategy, what the benefits and costs of software reuse are, how to conduct a cost/benefit analysis for reuse, and some economic results from applying the cost/benefit model in several organizations.
  •     How to organize and staff the reuse program, how to fund a reuse program, why organizations should measure.
  •     How to implement the reuse plan, technology transfer and change management issues and choosing a conversion strategy.

This tutorial is an interactive, case-based seminar on establishing a software reuse program for your organization. Prior to the tutorial, attendees are asked to read a case of an organization attempting to implement reuse.

 I. INTRODUCTION
   1. The Software Development Challenge
   2. Reuse Definitions
   3. Evolution of the Software Reuse Concept
   4. Reuse Adoption and Institutionalization Models
II. INITIATING SOFTWARE REUSE
   1.   Role of a Corporate Reuse Program
III. INVESTIGATING SOFWARE REUSE
   1. Benefits and Costs of Reuse
   2. Inhibitors to Reuse
   3. Critical Success Factors
IV. PLANNING FOR SOFTWARE REUSE
   1. Staffing
   2. Organizing
   3. Financing
   4. Measurement and Tracking
V. IMPLEMENTING SOFTWARE REUSE
   1. Technology Transfer
   2. Change Management
   3. Conversion Strategy

About the speaker: Wayne C. Lim specializes in the strategic planning, economic, organizational, and metric issues of software reuse. He is the author of numerous papers and a Prentice-Hall book, "Managing Software Reuse." Mr. Lim was awarded “Best Presentation” at the Brazil Summer School in Reuse and is recipient of an IEEE Best Article Award for his research in reuse. He helped start and manage the Corporate-wide Reuse Programs at Hewlett-Packard and other organizations. He graduated from the Harvard Business School.

 

 

Last Updated ( Tuesday, 22 September 2009 21:26 )