I know that many ranchers specified extra requirement, that record which is uptated/deleted should be locked first and are probably avoiding problem I described
Did you realize are you going to get 399, before exam?
What targets you set and how you worked to achieve that.
I've decided to design the application as modular as posible so that each layer of the application is aware only about the next layer of the application.
The database layer components are kept in the 'suncertify.db' package. This package is only accessed by the business layer.
The business layer components are kept in the 'suncertify.business' package.
The user's interface components are kept in the 'suncertify.ui' package. These components provide their functionality via the business layer.
The network components are used only in a client-server enviroment. These components are kept in the 'suncertify.network' package.
The data layer load's the data in memory and work's directly with this data so that read operations are very quick. Write operations have to update both the data in memory and the data file. The data layer is isolated enough as to change this behaviour in future if the application requires so.