Main Content

Rooms ready for guests - each time, every time, thanks to good system design

Archive - Originally posted on "The Horse's Mouth" - 2012-08-20 13:10:35 - Graham Ellis

It's no accident that your room's ready for you when you check in at Well House Manor, and that the bathroom is sparkling.


And it's no accident that the bed has been remade during the day while you're attending your course or you're out at work or seeing the sights.


Our online systems keep a record of the state of each of our rooms - with the IT systems designed to mirror what happens in real life - here's a state diagram showing what goes on behind the scenes.


There's a huge temptation when you start putting a system together to jump right into the code, but usually that's a big mistake. You should think through your systems - design them such that all the various aspects work and work well together. You'll find that purists point you towards UML - the "Unified Modelling Language" and suggest that you design fully using that. I'm not such a purist - whilst I'm in full support of thoroughly planning and designing before you start coding, you can be too thorough. It's often enough with a smaller system to think of the seven main diagram types and have a strong idea of how each of them will work, without actually committing them to more than sketches on a whiteboard.

The seven diagrams types:
Use Case: What data is stored, how is it provided and who uses it
Class: What classes of objects are used, and how do they inherit from each other
Object: What are the component elements of each object, and how many of each are there.
State: How the state of objects changes as the system runs
Deployment: Backups, Live system, test systems, development systems and tools - how they fit
Sequence: How a transaction is processed through the system - interserver connections, etc
Procedural: Flowcharts of code sections

Illustrations shown are our Well House Manor hotel at Melksham in Wiltshire, where we'll welcome you to learn OO programming (we have a variety of courses - see [here] in Perl, Python, PHP, Ruby, C++ and other languages), or simply to stay to look around in beautiful Wiltshire. We're close to Lacock, Bowood, Bath, Devizes, Bradford-on-Avon and many more lovely places!