...what's next?
After you defined what actors do what actions, which way do you go? Do you model the database or do you prefer to start with the classes?
I thought the better approach was to start with a class-like modelling diagram, to focus on relationships between objects. This has proven to be wrong because I went too deep in detailing classes and, even if the system "seemed to work", when I went to the database modelling, everything just would not fit naturally in the positions I chose in the previous phase.
I read about people saying that one should put application logic into a database and leverage its speed in retrieving data, opposed to building large objects in memory that are queried and provide abstraction of the underlying database. I always thought that the db is there to store my data and provide a fast way to access it. But maybe I'm wrong, I mean, do I really have to build a database which has inside the same logic I would put on a group of classes? Isn't the database lacking the tools to achieve this?
I think I'm failing in identifying the right point where to start, if I choose to start with the database I find it hard to not just think of it as a "place to store my data, let's do app logic on a higher level" thing, if I start with classes the database ends up looking like an unnatural representation of classes, i feel the sensation of missing something important, something like not assigning the right purpose to the right tool.
How do you deal with this? When it comes to decide whether to start with modelling the db or the classes, in your experience, what kind of approach has proven to lead to a natural and clean implementation ?
Thanks in advance