This material is being posted by Carnegie Mellon University's Software Engineering Institute (SEI) on this Web site as a community service.
The Second Software
|
![]() |
| Monday, August 19 |
| Tuesday, August 20 |
Tutorial 1: Software Product Lines: Practices and
Patterns
Presenters: Linda Northrop and Paul Clements, Software
Engineering Institute
Monday, August 19
Time: 8:30 a.m. 5:00 p.m.
Room: Coronado A
Abstract: The primary aim of this tutorial is to help a
decision-maker understand the basics of software product line strategies, the
advantages of the approach, and what will be involved in adopting a product
line approach. Additionally, the aim is to help them assess where their
organization stands in relation to the capabilities needed to launch a product
line and to give them the necessary tools to tailor adoption and execution
strategies to their organization.
Intended Audience: The tutorial is
aimed at those in an organization who are in a position to make decisions
affecting the decision to adopt a product line approach, and those in a
position to carry out that decision. This includes technical managers at all
levels, as well as those on the software development staff. Anyone who can act
as a technology change agent will benefit from this tutorial.
Tutorial 2: Experiencing Product Line Adoption
Presenter:
Grady Campbell, Prosperity Heights Software
Monday, August 19
Time: 8:30 a.m. 12:00 p.m.
Room: Coronado B
Abstract: The goal of this tutorial is to give participants a
roadmap for adopting a product line approach to software development. Guided by
the reuse-driven Process Improvement (PIr)1 method, the tutorial will step participants
through the activities of a systematic adoption process. Participants will be
presented guidance on identifying market-oriented business objectives and
success criteria, evaluating the viability of a product line approach for
meeting those needs, determining related process improvement goals, and
deriving a suitable strategy and plan for instituting product line
practices.
Intended Audience: This tutorial is targeted to
experienced engineers and managers whose organizations have a need to build
similar products and, in doing so, want to increase their productivity and
product quality. Tutorial attendees should be familiar with the principles and
use of a conventional process improvement method such as the SEI Capability
Maturity Model2 approach.
Tutorial 3: Building Reusable Test Assets for a Product Line
Presenter: John D. McGregor, Clemson University
Monday, August 19
Time: 1:30 p.m. 5:00
p.m.
Room: Coronado B
Abstract: The resources needed to test a software product can
equal or exceed the resources required to create the product. This tutorial
takes a typical comprehensive testing process that includes both "development"
testing and "system" testing and identifies those aspects of software product
line practice that can be applied to the development of test assets. Achieving
profitable reuse requires the same disciplined, managed approach to the
production of test assets as is applied to the creation of development assets.
Creating a software architecture for the test software, using abstract and
generic classes, and mirroring the architecture of the application in the test
architecture are some of the techniques illustrated in the
tutorial.
Intended Audience: This tutorial presents a comprehensive
test process that includes roles for software developers, traditional testers
and managers of both. The test process is tightly integrated with the
development process during the early phases of development and becomes more
independent as development proceeds. The tutorial will describe techniques used
by each of the roles at each of the stages of development.
Tutorial 4: Practical Product Line Scoping and
Modeling
Presenter: Isabel John, Fraunhofer IESE
Tuesday, August 20
Time: 8:30 a.m. 12:00
p.m.
Room: Coronado A
Abstract: While the technologies for scoping and modeling of
product lines are typically treated as independent, practical experience shows
that they are actually strongly interrelated. This observation is a key point
for this tutorial: its focus is on an integrated presentation of product line
scoping and modeling technologies. The presentation illustrates this with the
PuLSE3 method, which has been successfully
applied in industrial practice.
Intended Audience: The tutorial aims
both at researchers wishing to get a fresh view of the topic of product line
modeling and scoping, and at practitioners wishing to gain an understanding of
how they can integrate product line scoping and modeling techniques in their
existing practices.
Tutorial 5: Component-based Product-line Engineering with the UML4
Presenter: Dirk Muthig, Fraunhofer
IESE
Tuesday, August 20
Time: 1:30 p.m. 5:00
p.m.
Room: Coronado A
Abstract: To date the component paradigm has only really
penetrated the implementation and deployment phases of the software life cycle;
it does not yet play a major role in the earlier analysis and design activities
of large software projects. This tutorial will present a new method for
component-based software engineering, known as KobrA, which supports a
higher-level, model driven representation of components and thus enables the
benefits of components to be realized throughout the software life cycle. Other
distinctive features of the approach include the use of a product-line approach
to develop and deploy component frameworks, a systematic, architecture-centric
process that highlights the component composition hierarchy, and fully
integrated quality assurance in the form of inspections and quality
modeling.
Intended Audience: The audience for this tutorial is
software professionals with knowledge of the unified modeling language (UML)
and basic familiarity with the concepts of component technology.
Tutorial 6: Global Analysis: Developing Software Architecture Design
Strategies to Respond to Variation and Anticipated Change
Presenters:
Robert L. Nord and Daniel J. Paulish, Siemens
Tuesday, August 20
Time: 8:30 a.m. 12:00
p.m.
Room: Coronado B
Abstract: The purpose of global analysis is to analyze the
factors that influence the architecture and to develop strategies for
accommodating these factors in the architecture design. Some of these
influencing factorswhich include market requirements, technologies,
hardware, and business factorsaffect the entire system, and some directly
contradict other factors. In order to avoid major potential rework, they must
be addressed from the beginning of high-level design. By applying the approach
described in this tutorial, we believe that projects will have better
understanding and control of the risks associated with alternative software
architecture designs. Such an approach can be used to support the design of a
single evolving system or variation within a product line.
Intended
Audience: This tutorial is intended for experienced software engineers,
architects, and project and technical managers.
Tutorial 7: Architecture-Centric Software
Engineering
Presenter: Jan Bosch, University of Groningen
Tuesday, August 20
Time: 1:30 p.m. 5:00
p.m.
Room: Coronado B
Abstract: This tutorial provides both an overview and an in-depth
treatment of the issues surrounding architecture-centric engineering of
software. Topics include software architecture design in the presence of
existing components and infrastructure (top-down versus bottom-up),
architecture evaluation and assessment, software artifact variability
management, software product lines, and the role of the software architect. In
addition to the technical perspective, the topics are discussed from process
and organizational viewpoints, and are extensively illustrated by examples and
experiences from many industrial cases.
Intended Audience: The
expected audience is (1) software engineers and technical managers considering
the introduction of architecture-centric software development and evolution,
and (2) researchers interested in the experiences collected by the tutorial
presenter and his research group and the reflections made based on the
experiences. Participants are assumed to have some experience with industrial
software development.
1 PIr is a trademark of Prosperity
Heights Software.
2 Capability Maturity Model is registered in
the U.S. Patent and Trademark Office.
3 PuLSE is a registered
trademark of the IESE.
4 UML is a trademark of the Object
Management Group.
The SEI is a
federally funded research and development center sponsored by
the U.S.
Department of Defense and operated by Carnegie Mellon University.
Copyright
©2002
by Carnegie Mellon
University