General Software Design Articles

Notes on general software analysis and design topics

Home > SoftwareDesign

The best software designs look simple, but ... it takes a lot of hard work to design a simple architecture.
Grady Booch, Object-Oriented Analysis and Design, 2007 ---- (more words of wisdom on design...)

A set of general articles on software analysis and design topics:

  • Object Modelling: Why would I waste time doing this?
    All software teams writing in programming languages like Java and the .Net family of languages have an underlying object model represented by the classes of objects they define in their source code. Therefore, it is not a question of whether to build an object model or not. Rather, it is a question of whether the underlying object model provides the best framework within which to implement the features required by the client.
    Read the full article...

  • Lists Considered Harmful
    How many times have you had to wait forever for a system to display a long list of things that you then had to scroll through looking for the particular item you want? We look at some strategies for better handling of large lists.
    Read the full article...

  • Software Analysis and Design: Four Logical Layers
    One of the most common initial strategies for selecting the types of object needed in a software system, service or component is to define a set of logical layers into which we can place candidate classes. There are various layering schemes but they are generally variations of a similar theme.
    Read the full article...

  • Fascinated By Software Development
    For nearly thirty years, I have found the design and construction of computer software utterly fascinating.
    Read the full article...

  • The Example Teaches
    If you are having trouble visualizing whether a class diagram meets the business needs, ask the domain experts to provide a concrete example that you can walk through with them.
    Read the full article...

Copyright 2010 Stephen R. Palmer. All rights reserved.