I am often asked what is the difference between a logical design and a physical design. And sometimes, whether it is necessary to separate Business Requirements from Technicasl requirements. Some feel that an attempt to separate these aspects is unnecessary. While I will not let myself get bogged down in obsessive hair splitting of a purely academic or linguistic kind, I believe the ability to make the distinction is crucial to the successful design and implementation of new business requirements. And how many requirements are not “new” and unique, even when it seems to be a modification of existing software.
Take a look at the two pictures of two different trams I was in today, in Hong Kong Both have single seats on the left and double seats on the right. Fit a business requirement for there to be maximum seats without sacrificing reasonable comfort. Three seats per row is the logical design. That it is one on the left, a pathway and two seats on the right, is somewhere between a logical and a physical constraint. (I know, textbooks don’t admit that it may not be a clean cut separation between logical and physical, but hey, we live in the real world, and I am not going to kill my project by spending days just arguing over the theory. The actual material used to make the seats is of course very much purely physical design. Look at the handle bars for the standing passengers. One version has only bars on the left hand side, while the other has them on both sides. That is a physical design choice, for a business requirement that standing passengers should be able to steady themselves. A different design choice could very well have been straps instead of bars, or verticle posts. The reason why we should have some idea between logical and physical choices is to give ourselves a lot more room for creative problem solving.