Stephen R. Palmer Software Development www.step-10.com

Home Design Process Tools Books About



Software Analysis and Design Notes

Put simply, analysis in software development is understanding what needs to be done and design is working out how to do it.
Read more...

My notes on analysis and design are roughly divided into three categories: those about UML, those on modelling in colour, and others.

Notes on the Unified Modeling Language (UML)

UML

The Unified Modeling Language has become the de facto graphical notation for modeling and communicating software analysis and design. My notes on UML include a five-part introduction to UML for Java developers plus a few more critical thoughts about the second major version of UML.
Read more...

Notes on Modelling in Colour

modelling in colour

The culmination of a number of years work by Peter Coad (en.wikipedia.org/wiki/Peter_Coad) and colleagues, modelling in colour is a set of strategies and patterns for building better object models. Most of my notes in this area are old issues of the CoadLetter newsletter.The Unified Modeling Language has become the de facto graphical notation for modeling and communicating software analysis and design. My notes on UML include a five-part introduction to UML for Java developers plus a few more critical thoughts about the second major version of UML.
Read more...

Other Software Analysis and Design Notes

Exceptional Strategies
"Microsoft's C# language does not include an equivalent of Java's checked exceptions. Does this encourage lazy and error-prone code or is it an astute recognition that Java's checked exceptions are more trouble than they are worth?"
Read more...

Lists Considered Harmful
"...when it comes to working with lists, it is definitely a case of think first before coding the simplest solution that comes to mind. In this situation the simplest solution may actually be too simple and affect the ability of the software to scale to truly large sets of users and large projects."
Read more...

Building Enterprise Systems
"Trying new technology is always cool. However, 'because it would be cool' is not a sound basis for electing to use a technology on a project. Technology should always be selected on its merits; what advantages/disadvantages are there in using a particular technology. To put it another way; what risk does a specific technology introduce/mitigate in a project?"
Read more...

Finally, some of  my favourite software analysis and design books...


Related
Websites

Object
Management
Group
(OMG)

Borland

Streamlined
Object
Modeling

Nebulon

Domain
Driven
Design

www.eclipse.org
www.eclipse.org

www.eclipse.org/modeling
Eclipse Modeling Project



Copyright © 2008 Stephen R Palmer. All rights reserved.