General Software Design Articles

Notes by Stephen R. Palmer

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

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

  • Ease of Use is the Next Killer Feature
    If you cannot rely on analysts, customers and product marketing to identify the next 'killer feature' for your product, where do you look? For many mature software products and markets, the answer may be as simple as 'ease of use'.
    Read the full article...

  • Quanities and Units of Measure
    Of quantities, units and conversions building on patterns described in print by Martin Fowler...
    Read the full article...

  • Roles: Actors, Archetypes, and Interactions
    A look at the idea of roles in software design
    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.