Home

  About Us

  Products

  Process Models

  SE Resources

  Commentary

  Contact us

Breaking News!

A new blog ... visit OnCenter, Roger Pressman's running commentary on the world at large

A new edition ... the 7th edition of Software Engineering is available now

A new book ... Roger Pressman and David Lowe on Web Engineering

A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge

A new curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.

A redesigned site! ... we've done a major redesign and added many new features for 2009 - 2010

 
Software Engineering Resources


Software Design Engineering
Design is a meaningful engineering representation of something that is to be built. It can be traced to a customer's requirements and at the same time assessed for for quality against a set of predefined criteria for 'good' design. In the software engineering context, design focuses on four major areas of concern, data, architecture, interfaces, and components. In this section, we present design engineering resources that address:

Design Principles and Concepts

Object-Oriented Design Principles and Concepts

Patterns-Based Software Design

Patterns Catalogs

Design Modeling using UML

Books

Design Principles and Concepts

An introduction to Software Design
A brief tutorial on software design and relevant terminology.

Design - Concepts and Principles
An abbreviated discussion that can serve as a basic overview.

What are Software Design Principles?
Brief but worthwhile discussion of selected design principles.

Design principles
Pragmatic design guidelines proposed at the IBM developer site.

Software design principles (mined from Books and papers)
Excellent lists of design principles. Will require further expansion, but interesting to see how authors differ in their emphasis.

Is Design Dead?
A thought-provoking treatise by Martin Fowler that discusses design within the context of agile methods.

Keep It Simple
An article on design written by Steve McConnell. Recommended.

Basic OO Design Principles
A brief discussion of basic principles with an emphasis on OOD.

Software Design Concepts - Tutorial
An useful overview of many important software design concepts presented in a quasi-slide-like presentation.

A State Of The Art Report: Software Design Methods
A detailed report on software design methods including a discussion of all design concepts and principles found in SEPA, Chapter 13.

The Software Portability Home Page
Contains useful resources that address this important design characteristic.

pdf: Software Design Principles and Guidelines
A slide presentation that summarized important design concepts and principles.

Design Principles from Design Patterns
An interview with Eric Gamma,co-author of the seminal book on design patterns and one of the GoF.

Application Software Design Guidelines
Guidelines for designing software for people who are physically or mentally challenged.

Accessibility Design Guidelines for Software
Microsoft's guidelines for designing accessible software.

Apple's Design Guidelines for User Interfaces
APPLE consistently created the industry's most elegant and ergonomic software. These basic design guidelines provide an introduction.

Design Guidelines for Eionet
These guidelines (for a specific WebApp) provide an excellent template for the create of App specific guidelines. Much of this information is generic and can be adapted to any App.

A Software Design Specification Template
A complete design spec template with explanation and discussion. Recommended.

Video: Don Norman: The Design of Future Things
A lecture by one of the world foremost design experts. (1:28)

Video: Diagramming and the Design Process
A lecture at USC.

Object-Oriented Design Concepts and Principles

Principles Of Object Oriented Design
Princiiples that apply to all software with an emphasis on OO.

Five OO Design Principles
A basic introduction to five key principles.

Object-Oriented Design Concepts
A reasonably detailed discussion of important concepts.

Object Oriented Software Design
An introductory discussion with resource links presents at Wikiversity.

Cetus Links - Object-Orientation
One of the Web's most extensive lists (over 18,000 entries) of OO resources coverign virtually every aspect of the subject. Highly recommended.

OMG Home Page
A wide array of information and resources on object technologies can be found at the Object Management Group's site.

The Object-Oriented Page
Another detailed list of on-line resources for object technologies.

OOA/OOD resources
An in-depth collection of OOA/OOD resources including a listing of many OOA/OOD tools. Highly recommended.

OOA/OOD Methods Resources
Cetus has collected links to over 48 OOA/OOD methods, including UML. Highly recommended.

Responsibility-Driven Design
A brief discussion of OO responsibility-driven design.

Object Orientation Tips
Presents a wide array of useful tips and guidelines for OO software development. Recommended.

An Example OO design
A complete design example of ATM software.

pdf: Object Oriented Design Standards
This indepth document describes the Object Oriented Design Standards as they are used in the corelinux++ project. It provides a set of guidelines, rationales and standards for object oriented design. Recommended.

Design principles for highly reusable concurrent object-oriented systems
The authors argue that "argue that the establishment of orthogonal design principles should be useful" in the creation of concurrent systems.

Create robust, reusable object-oriented designs
A brief commentary on good and bad OO design.

Design of Object-Oriented Real-time Systems
Guidelines for R/T and embedded applications. Contains many useful pointers.

Pattern-Based Software Design
(See also our Pattern-Based Design page for a more complete list)

Design Patterns Resources - 1
An extensive hotlist containing pointers to virtually everyhting patterns.

Design Patterns Resources - 2
Excellent collection of patterns resources including tutorials, papers, and many other pointers. Recommended.

Design Patterns Resources - 3
Extensive hotlist prepared by CETUS links.

Design Patterns Resources - 4
An extensive hotlist prepared by Scott Ambler. Recommended.

What is a Pattern?
An worthwhile article by James Coplien.

Essential Patterns
Excellent treatment by Brad Appleton. Recomended.

Much Ado About Patterns
Why have patterns become a hot topic in software engineering?

Patterns Tutorials
Pointers to a variety of tutorials on software patterns.

Design Patterns and Pattern Languages
A useful paper prepared by Douglad Schmidt.

Patterns Catalogs
(See also our Pattern-Based Design page for a more complete list)

Portland Pattern Repository
An extensive catalog of design patterns

Design Patterns in Java
A collection of actual design patterns.

The OO Pattern Digest
This site is "dedicated to helping you understand and use Object-Oriented Patterns more effectively and efficiently."

Design Patterns
An extensive collection of patterns and demos

Hypermedia Patterns Repository
A collection of patterns for hypermedia and web applications.

Design Modeling using UML

UML Resource Center
A comprehensive collection of resources prepared by IBM-Rational.

CETUS Links - UML
One of the Web's most comprehensive collections of resources.

UML Glossary
If you need a definition of a UML term, this is the place to look. Also contains pointers to reference manuals and process specifications.

OOA/OOD using UML
A discussion of UML notation for Object Oriented Analysis and Design

OO Design Practices using UML
An in-depth paper on OO design published by IBM.

UML and Software Design
An overview of basic UML design notation.

UML Examples
Examples of all important UML diagrams

UML Bibliography
Over 400 print references to papers, books, and other resources on UML.

UML Notation for Aspect-Oriented Design
A collection of papers that address AOD paradigm using UML.

Books

Donald Norman has written two book that have become classics in the design literature and “must” reading for anyone who designs anything that humans use:

The Design of Everyday Things
The Psychology of Everyday Things

Conceptual Blockbusting
is a book that is essential reading for designers who want to broaden their way of thinking.
How to Solve It and a more recent book
How to Solve It: Modern Heuristics
provide a generic problem-solving process that can help software designers when they are faced with complex problems.

Introduction to Software Engineering Design
and
Software Design Methodology: From Principles to Architectural Styles present a comprehensive treatment of design in the context of software engineering.
Code Complete: A Practical Handbook of Software Construction
presents an excellent discussion of the practical aspects of designing high-quality computer software.

Bringing Design to Software
discusses software designs that work, those that don’t, and why.
Field Methods Casebook for Software Design suggests field research methods (much like those used by anthropologists) to understand how end-users do their work and then design software that meets their needs.
Contextual Design: A Customer- Centered Approach to Systems Designs offers another view of software design that integrates the customer/user into every aspect of the software design process.

Code Complete
presents an excellent discussion of the practical aspects of designing high-quality computer software.
Simple Program Design presents an introductory discussion of software design that is useful for those beginning their study of the subject.
Refactoring: Improving the Design of Existing Code
discusses techniques for the incremental optimization of software designs.

Software Design Techniques
presents an excellent historical survey of important papers on software design. This tutorial reprints many of the classic papers that have formed the basis for current trends in software design.
Measuring Software Design Quality presents measures of design quality, presented from both the technical and management perspectives.

Over the past decade, many books on pattern-based design have been written for software engineers.
See our Pattern-Based Design page for a lengthy list of patterns books.


Site search! We've added links to a search engine that will enable you to search our entire site for information you need. Enter the appropriate word or phrase below.

PicoSearch



Home About us Products Product Models SE Resources Commentary Contact us

Web site and all contents © R.S. Pressman & Associates, Inc. 2001 - 2010, All rights reserved.
Free website templates