Business objects and where to start?
I am in the process of creating a new database and moving old data into it. I would like to create Business Objects for the new system and looking at the old system, it looks like the objects are based on the tables in the old database. Is this the correct way to create business objects?
A properly normalized database will look nothing like a proper object-oriented design. The needs of a database are very different from the needs of a software application.
You should design your application according to the requirements for how it is to be used. What sorts of things is the application supposed to do? What objects will be required to support those needs? And what are the natural relationships between them?
A single business object may be stored across a dozen database tables, or a single table may store data for a dozen objects. It really depends on the specifics of the system you are working with.
If the old database was properly normalized you will find that many tables do correspond to business objects. However...
Your decision about what constitutes a business object should not be restricted to that. You need to study the scenario and decide what the business is interested in. You understanding of the business will be the main determinator.
Without much details here is one suggestion...
Start with the "what" the new system has to do. What [new] functions should the [new] system support. What data is required. Very likely your new system should address new requirements or address new requirements in a different and/or better way.
After you have a fairly clear picture of things and requirement needs, follow up with the "how"; how to address those "whats". Do some business objects modeling.
After the business objects modeling you can get down to another "how", the database design. Then you can do the data migration thing.
Following this does not mean completely forgetting about the old system/database. If there's anything good or valuable you think you can take from the old ways, take it and try to incorporate/integrate that into the new ways as best as you can.