I'm currently developing a small Database Management System for a local company. How would you go about explaining how the system you have designed to a client? If they are non-technical and have no understanding of programming, how would you go about showing what the system will do and how it will do it? I guess some sort of visual representation of the system but this seems very patronising to me.
Slowly and with pictures :-)
Seriously though, I would avoid explaining how it works and focus on what it can do for them - the benefits it brings.
You may need to explain how it operates but do this in the context of solving a particular problem or implementing part of some business process.
Try to explain what the decisions you made mean for the client. What value does it have for them. Don't try to go over the technical aspects, because they most likely wont understand it.
I'd go with @pranay's solution.
As of designing an application, you have probably created some artifacts to help you do so.
When I do that, I usually follow Rational Unified Process. Doing so, I use Use Case Diagrams for the functional requirements and a Software Architecture Document for non-functional requirements. Simplifying that: non-functional mean more technical stuff. The functional documentation (use cases, system sequence diagrams, etc) can be used to document your application design and can be read by any client.
The use case model can simplify the overview of the system by functionality. Each use case description (fully dressed version) can be checked by the client to verify if it complies with his requirements.
/X