Portland
Portland most commonly refers to:
* Portland, Oregon, the largest city in the state of Oregon, in the Pacific Northwest region of the United States
* Portland, Maine, the largest city in the state of Maine, in the New England region of the northeas ...
,
Oregon
Oregon () is a state in the Pacific Northwest region of the Western United States. The Columbia River delineates much of Oregon's northern boundary with Washington, while the Snake River delineates much of its eastern boundary with Idah ...
) is an American software engineer and consultant in
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
and
object-oriented design
Object-oriented design (OOD) is the process of planning a system of interacting objects for the purpose of solving a software problem. It is one approach to software design.
Overview
An object contains encapsulated data and procedures grouped ...
, the founder of the
information technology
Information technology (IT) is the use of computers to create, process, store, retrieve, and exchange all kinds of data . and information. IT forms part of information and communications technology (ICT). An information technology system ...
consulting firm Wirfs-Brock Associates, and inventor of
Responsibility-Driven Design
Responsibility-driven design is a design technique in object-oriented programming, which improves encapsulation by using the client–server model. It focuses on the contract by considering the actions that the object is responsible for and the i ...
, the first behavioral approach to object design.
Wirfs-Brock holds a B.A. in computer and information science and psychology from the
University of Oregon
The University of Oregon (UO, U of O or Oregon) is a public research university in Eugene, Oregon. Founded in 1876, the institution is well known for its strong ties to the sports apparel and marketing firm Nike, Inc, and its co-founder, billion ...
.Online C.V /ref> She worked at Tektronix for 15 years as a software engineer before moving on to Instantiations (founded by her husband Allen Wirfs-Brock), which was acquired by
Digitalk
Digitalk (pronounced "digital kay") is an annual two-day technology conference organized by the Bulgarian business newspaper Capital weekly. Digitalk provides a place for discussion between creative professionals, investors, entrepreneurs, and ma ...
which merged with Parc Place Systems to become ParcPlace-Digitalk in 1995. She was the Chief Technologist for the professional services organization of a
Smalltalk
Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by ...
language vendor.
She holds a U.S. Patent #4,635,049 "Apparatus for Presenting Image Information for Display Graphically" together with Warren Dodge.
Wirfs-Brock first coined the "-driven" meme in an
OOPSLA
OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) is an annual ACM research conference. OOPSLA mainly takes place in the United States, while the sister conference of OOPSLA, ECOOP, is typically held in Europe. It is opera ...
1989 paper she co-authored with Brian Wilkerson. Before that time, the most prevalent way of structuring objects was based on entity-relationship modeling ideas (popularized by
James Rumbaugh
James E. Rumbaugh (born August 22, 1947) is an American computer scientist and object-oriented methodologistSteve Mellor and
Sally Shlaer
Sally hashim Shlaer (December 3, 1938 – November 12, 1998) was an American mathematician, software engineer and methodologist,UML
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
notion of stereotypes. Her invention of the conversational (two-column) form of
use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
s was then popularized by
Larry Constantine
Larry LeRoy Constantine (born 1943) is an American software engineer, professor in the Center for Exact Sciences and Engineering at the University of Madeira Portugal, and considered one of the pioneers of computing. He has contributed numerous ...
. Most of the more recent "driven" design approaches acknowledge their roots and the influence of RDD, of which
class-responsibility-collaboration card Class-responsibility-collaboration (CRC) cards are a brainstorming tool used in the design of object-oriented software. They were originally proposed by Ward Cunningham and Kent Beck as a teaching tool but are also popular among expert designers ...
s are one popular technique. She was the design columnist for ''
IEEE Software
''IEEE Software'' is a bimonthly peer-reviewed magazine and scientific journal published by the IEEE Computer Society covering all aspects of software engineering, processes, and practices. Its mission is to be the best source of reliable, useful ...
'' until December 2009.
Bibliography
* ''Designing Object-Oriented Software'', with Brian Wilkerson and Lauren Wiener, Prentice-Hall, 1990,
* ''Object Design: Roles, Responsibilities, and Collaborations'', with Alan McKean. Addison-Wesley, 2003,