One of my client sent me a requirement document and while reading that document there was a flash came in my mind. I started rewriting that big document similar like below. Do you think, an automated tool can generate a data model and rules by running through this. Say, if any client communicate their requirement in this approach, it will make every one to understand the domain better.
I understand that since I know what is blog and comment and post I am able to relate it easily here. However, if one chop down all the technical terms of their business in this manner, will it not be easy to make every one on the same page?
- Model:
- blog has a date
- blog has a content
- blog has a author
- blog has many comments
- content may have images
- content may have links
- comment has a blog
- comment has a name
- comment has an email
- comment may have an url
- comment has a date
- Rules:
- blog cannot be empty
- blog may be published or drafted
- blog should have a author
- blog cannot be deleted when comment is present
- blog cannot have comments after 20 days
Edit:
What I am really trying to come up here is -- once you get a requirement document and if you create a document that is mentioned here you will be able to figure out what the client is exactly looking for.
And, the other advantage is that you can use this document for further enhancements and development of the project. Or even a client can directly edit this document by hand since he now learnt how we are looking his requirements (I mean our language).
Now to some degree this statements can be interpreted in different way.
For example, I could have some tool that will analyze the statements and come up with information like if any model changes, rule changes are made it into this document.
Edit:
I am currently trying to follow this approach in a complex model like Order Management, I will update here what ever I learnt. Meanwhile, if you anyone is interested in here they can also involve with me.