ICSE-17 Tutorials, Monday, April 24
- Full-Day Tutorial M1
- The Experience Factory: How to Build and Run One, Frank McGarry
(Computer Sciences Corporation) and Vic Basili (U. Maryland-College
Park)
This tutorial presents the fundamental concepts behind software
process and product improvement using measurement and evaluation in an
Experience Factory Organization. It provides a set of examples
associated with understanding the software engineering process,
product and environment, improving it over time and packaging
experience in the form of models and measures to create an experience
base that can be reused by future projects. It discusses how this
approach is being used in the Software Engineering Laboratory at NASA
Goddard Space Flight Center and how it is being expanded to several
other sites in NASA. The emphasis is on how to develop and run an
Experience Factory.
The tutorial assumes some experience in the management or development
of software.
- Full-Day Tutorial M2
- Software Safety, Nancy Leveson (U. Washington)
Building safe software requires changes throughout the entire software
development process. This tutorial will focus on the unique problems
involved in building such software and describe some techniques that
can be used to enhance the safety of software-controlled systems.
Topics include the nature of risk and causes of accidents, management
and process, requirements analysis, design, human-machine interface
design, and verification of safety. Emphasis will be on procedures
and techniques that are practical enough to be applied to projects
today. Real-project experiences with these techniques in different
application areas will be described. The material will be taken from
the instructor's new book Safeware: System Safety and Computers,
published by Addison-Wesley.
- Full-Day Tutorial M3
- Design Patterns: Elements of Reusable Object Oriented Software,
John Vlissides (IBM Research)
Designing object-oriented software is hard, and designing reusable
object-oriented software is even harder. Experience shows that many
object-oriented systems exhibit recurring structures or design
patterns of communicating and collaborating objects that promote
extensibility, flexibility, and reusability. This tutorial describes
a set of fundamental design patterns and, through a design scenario,
demonstrates how to build reusable object-oriented software with them.
Participants will be assumed to already have an understanding of basic
object-oriented concepts, such as polymorphism and type versus
interface inheritance; participants should also have had some
experience designing object-oriented systems. Through this tutorial,
participants will acquire experience in using design patterns to solve
real problems. The tutorial is based on material in the book Design
Patterns: Elements of Reusable Object-Oriented Software by Erich
Gamma, Richard Helm, Ralph Johnson and John Vlissides, published by
Addison-Wesley.
- Morning Tutorial M4a
- Formal Development of Concurrent Systems, Michael Hinchey (U.
Cambridge and New Jersey Institute of Technology)
Concurrent systems are typically large and complex, must react to
inputs from various sources, meet synchronisation constraints (often
within strict time limits), and are generally representative of the
most complex computer systems that have yet been built. The aim of
this tutorial is to illustrate how formal methods may be successfully
applied to the specification, design, implementation and verification
of concurrent, distributed and real-time systems. The tutorial is
based on the forthcoming text Concurrent Systems: Formal Development
in CSP by Michael Hinchey and Stephen Jarvis, to be published by
McGraw-Hill in 1995.
- Afternoon Tutorial M4p
- Software Design Methods for Concurrent and Real-Time Systems,
Hassan Gomaa (George Mason U.)
This tutorial surveys the state of the art in software design methods
for concurrent and real-time systems. Several design methods for
concurrent and real-time systems will be presented; these include
Structured Analysis and Design for Real-Time Systems, Design Approach
for Real-Time Systems (DARTS), Jackson System Development (JSD),
Object-Oriented Design and the Naval Research Laboratory Software Cost
Reduction Method. The tutorial will also describe two related methods
building on the above methods: Ada-based Design Approach for Real-Time
Systems (ADARTS) and Concurrent Design Approach for Real-Time Systems
(CODARTS). The tutorial is based on the presenter's book Software
Design Methods for Concurrent and Real-Time Systems, published by
Addison-Wesley.
- Morning Tutorial M5a
- Process-Centered Software Engineering Environments, Pankaj Garg
(Hewlett-Packard Laboratories) and Mehdi Jazayeri (Tech. U. of Vienna)
This tutorial presents the state of the art and practice in the area
of Process-Centered Software Engineering Environments (PSEEs). PSEEs
are software engineering environments in which the organization's
development processes are defined explicitly by the user and are
modeled in the environment. PSEEs can monitor or enforce the process,
automate routine parts of it, and produce accurate information on the
status of the process. The tutorial presents a comprehensive picture
of this emerging area: the key concepts, formalisms, architectures,
and representative systems.
- Afternoon Tutorial M5p
- The ISO 9000 Quality Standards for Software, Gianluigi Caldiera (U.
Maryland-College Park)
The ISO 9000 Quality Standards Series has had a wide impact on several
sectors of industry. In particular, the standard has become the focus
for the quality programs of many industries. ISO has given specific
attention to the peculiarity of the systems and software industry with
specific guidelines for organisations which develop, supply and
maintain software (ISO 9000-3), with a standard on software product
evaluation (ISO 9126) and via the SPICE project. This tutorial will
present an overview of the ISO 9000 Quality Standards Series, oriented
to software practitioners; it will also discuss, from a practical
point of view, the issues associated with using this standard in
software organisations.
dsr
This information last updated Tue 10 Jan 1995