Resource materials

From CSSEMediaWiki
Revision as of 00:00, 16 July 2008 by Warwick Irwin (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Resource materials for 427

This is a list of some of the books relevant to this course. It may evolve as the course progresses.

Books

Unfortunately, not all of these are available in the physical sciences [[1]]. Wals library contains some of the missing ones.

Currently, few of these books are on reserve. If contention becomes a problem, we will change them to 3 day loan.

Book page Title Synopsis Library
Alan Davis 1995 201 principles of software development, A long list of principles, more about software engineering than design, but overlapping Cosc427. PSL
Arthur Riel 1996 Object-oriented design heuristics A list of rules to guide OO design. PSL, Wal
Bruce Eckel 2002 Thinking in Java, 3rd Ed Excellent general Java book, with some idioms on-line
Gang Of Four 1995 Design patterns : elements of reusable object-oriented software The original design patterns book. PSL, Wal
Kent Beck 2003 Test-driven Development: By Example Guide how to use unit tests to elicit requirements and improve designs PSL
Martin Fowler 1997 Analysis patterns : reusable object models This book applies the patterns approach to analysis. PSL, Wal
Martin Fowler 1999 Refactoring : improving the design of existing code Guidance for improving the design of working systems. PSL, Wal
Martin Fowler 2003 Patterns of enterprise application architecture Architectural patterns emphasising relational DBs & web interfaces PSL
Party Of Five1996 Pattern-oriented software architecture : a system of patterns, This book broadens the scope of patterns to architectural patterns. PSL, Wal
William Brown 1998 Antipatterns : refactoring software, architectures, and projects in crisis Common pitfalls, and their solutions. PSL
Martin Fowler 2004 UML distilled : a brief guide to the standard object modeling language, 3rd ed. Easy to read intro to UML, if you're rusty. PSL, Wal
Peter Coad 1995 Object models : strategies, patterns, and applications Notable for the strategies that offer guidance on how to approach OO development. PSL
Rebecca Wirfs-Brock 1990 Designing object-oriented software Classic introductory OO text, if your OO background has holes in it. PSL

Work in progress...

|| CayHorstmann2002. || Object-oriented design & patterns || Introductory OO and patterns book, with some insights on low-level design issues, such as the use of equals() in the presence of inheritance. || Wal ||
|| PlopOne1995 || Pattern languages of program design || First patterns conference || PSL ||
|| RobertCecilMartin2003 || UML for Java programmers || Good, readable, opinionated introductory UML book.  Notable for discussion of OOD principles. (See Bob Martin's web site too.) || PSL, Wal ||
|| MitchellAndMcKim2002 || Design by contract, by example || This is a good intro to DBC, if you don't mind reading Eiffel code examples. || Wal ||
|| ShallowayAndTrott2002 || Design patterns explained || A gentler variant of the GoF book. || Wal ||
|| RichardGabriel1996 || Patterns of software || Deep thoughts about the patterns movement. || Wal ||
|| SteveMcConnell2004 || Code complete, 2nd ed || Distilled wisdom about software engineering, with an OO programming emphasis. || Wal ||
|| ChristopherAlexander2002 || The nature of order || A new religion. || Central ||
|| JamesCopelien2004 || Organizational patterns of agile software development || The organizational patterns book || On-line ||
|| RobertPirsig1974 || Zen and the Art of Motorcycle Maintenance || . || On-line ||

Papers

|| Paper || Title || Synopsis || Library ||
|| JohnsonAndFoote1988 || Designing reusable classes, || Important early paper on OOD. || PSL ||
|| KenAuer1995 || Reusability through self-encapsulation, || A pattern language for encapsulation. || PSL ||
|| RobertCecilMartin1996a || The Open Closed Principle || Claims OCP is most important principle || ||
|| RobertCecilMartin1996b || Granularity || Defines several package principles || ||
|| RobertCecilMartin1996c || The Dependency Inversion Principle || Low level classes should depend on high level classes || ||
|| RobertCecilMartin1996d || The Interface Segregation Principle || One perspective on cohesion || ||
|| RobertCecilMartin1996e || The Liskov Substitution Principle || Better articulation of Liskov's law ||
|| RobertCecilMartin1997a || Stability || Dependencies should follow stability || ||
|| RobertCecilMartin1997b || Design Patterns for Dealing with Dual Inheritance Hierarchies in C++ || || ||

Web pages

* [Cunningham's wiki, a.k.a. The Portland Pattern Repository].
* [Martin’s OO principles].
* [Fowler’s blicki].
* [Hillside Group].
* [Coplien’s pattern overview].
* [[2]]
* [[3]]
* [software engineering course]
* [McConnell's page]

Local

* BruceEckel2002
* BruceEckel2003
* [doc]
* [javadoc]
* [6.1 user guide]
* [API]

Lecture notes

* attachment:314Lectures.pdf
Personal tools