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)
 |
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
 |
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...
|