Have posted re this before and have had good help, but still do not understand the underlying concept. AwareIM says not to think in database terms (presume don’t think normalization) but I cant see how not to. Anyone trying to get to grips with normalization has access to tons of online help, articles, forums etc. But AwareIM has far fewer sources of help. All I can find is not to think in database terms but rather in terms of business concepts. But what does this mean? Is there even a theory of best practice or is it just experiment until I find something that works. I have read the library case study a few times, but even here I cannot see what the general principles might be. The case study does not seem to fit my project, which in some respects is much more limited in scope.
Consider an application for a life insurance policy:
There is a potential life insured.
We ask the client a high level question: 'in the last 5 yrs have you participated in a high risk sport such as: scuba diving, mountaineering, back country skiing / snowboarding / snowmobiling, hang gliding, other'.
This question requires a yes /no response. (2 radio buttons, yes/no approach not negotiable)
If a yes response then we go one level down and ask the client to tell us which of the sports he participates in (yes/no checkboxes for each of the sports listed in the high level question. yes/no approach also not negotiable)
Then finally we ask detailed questions about each of the sports that he ticked. These are branching conditional questions that are specific to each sport. The responses are for the most part controlled (radio buttons, drop downs etc) so that the smart app can approve the case automatically if the risk profile warrants it. So for eg if a scuba diver does open water only, to 130', and certain other parameters are met, it might go at the standard premium without reference to a human underwriter. But if the client does cave diving, even if only to 75', then it is referred to the human for consideration.
So a complete smart app will have tons of business rules that control hundreds of different variables for multiple risk factors, medical and non-medical. There are other sources of data that also help us profile a risk but am ignoring them here. Also ignoring the myriad other components of as life insurance policy, focusing just on the insurance application form.
So if I look at the business requirements for this project it is a simple 'evaluate the responses to the application questions and determine whether the cases passes or whether it gets referred to a human underwriter'. It's really just about the questions, and the business rules that are attached to the the questions.
I can see a client being an object.
But cannot figure out how to organize the questions.
Can anyone advise or maybe start a discussion on the theoretical aspects of objects. In other words are there general principles that describe when something should be an object, why it should be an object and the consequences if it is not an object.