: Sunday Afternoon Tutorials (13:30 - 17:00) : Sunday : Requirements, Modeling, Architecture, and Design
A Tour of Responsiblity-Driven Design
Pacific Salon 1
Sunday, 13:30, half day
Rebecca Wirfs-Brock, Wirfs-Brock Associates
Tutorial number: 14
Responsibility-Driven Design is a way to design that emphasizes behavioral modeling using objects, responsibilities and collaborations. In a responsibility-based model, objects play specific roles and occupy well-known positions in the application architecture. Each object is accountable for a specific portion of the work. They collaborate in clearly defined ways, contracting with each other to fulfill the larger goals of the application. By creating a "community of objects", assigning specific responsibilities to each, you build a collaborative model of our application.
This tutorial, which includes material from the book Object Design: Roles, Responsibilities and Collaborations, will be an example-based tour of Responsibility-Driven Design. It presents our latest innovations and practical techniques. Topics include: an updated view of CRC card models, finding and evaluating the qualities of candidate design objects, designer's stories, mapping roles to classes and interfaces, strategies for assigning object responsibilities, deciding on the control style of an application, collaboration trust regions, and collaboration contracts. Attendees will have an opportunity to practice techniques with several short design exercises.
Intermediate: Participants should be familiar with object concepts and be looking for practical techniques, guidelines and a design process that emphasizes modeling the behavioral aspects of a software system.
Rebecca Wirfs-Brock, Wirfs-Brock Associates: Rebecca Wirfs-Brock is a well-known and respected object practitioner and a lifetime attendee of OOPSLA. She invented the way of thinking about objects known as Responsibility-Driven Design and is the lead author of the classic Designing Object-Oriented Software (1990), and Object Design: Roles, Responsibilities and Collaborations (2003). Rebecca has been involved with object technology since the early days. Through her writing, teaching and speaking she has popularized the use of informal techniques and thinking tools for designers and analysts. Among her widely-used inventions are object role stereotypes and the conversational form of use cases. From development on the Tektronix implementation of Smalltalk in the early 1980's, through years of development and training experience, she is recognized as an innovative and influential practitioner of object-oriented design.