A Note on Design Methodologies and Standards
I’m not a great fan of checklists and step-by-step procedures for the design of computer systems. It’s been my experience that they can actually get in the way of good design, as the analyst can easily become more involved in ticking the boxes than in understanding the user’s requirements.
In large systems, however, with multiple analysts and several teams of programmers, it’s obviously necessary to establish some common procedures for managing the process. Several methodologies are around, and most have automated tools to support them. I’m not going to make any recommendations. In the first place, this tends to be a religious issue; in the second, as with variable naming, the existence of a methodology is usually more important than the methodology chosen.
I do understand, however, that preparing design documents can be daunting, at least the first few times you do it. Chapter 14 contains a general discussion of the process.