Principles of Software Design
Software should be well designed, right? What then is well designed software? I'd say it's much easier to spot badly designed software, than to postulate what constitutes well designed software.…
Software should be well designed, right? What then is well designed software? I'd say it's much easier to spot badly designed software, than to postulate what constitutes well designed software.…
In the previous post we decided that there are a number of desirable properties that we'd like a software system to have. I'll quickly repeat the ones I mentioned; A…
Focus: Functionality Description: Make sure the system meets the stated requirements! Surprisingly, when discussing design, it's easy to forget about perhaps the most important design criteria, namely that the system…
Focus: Functionality Description: Make sure system meets even the unstated requirements! If you are dealing with a customer with little experience of specifying software requirements, they are likely to only…
Focus: Robustness Description: Make sure the system is able to handle and recover from failures Robustness is a very important property of a system, especially for unattended and/or long-running operations.…
Focus: Robustness Description: Robustness is not just about exception handling! System architecture and design plays an important role! In the last post, we introduced an example of an application that…
Focus: Robustness Description: Set robustness goals, and consider what should happen, and what should not happen in the face of likely (and less likely) errors. In the last post, we…
Focus: Robustness Description: Set robustness goals, and consider what should happen, and what should not happen in the face of likely (and less likely) errors. In the previous post we…