Before any database is created, Database Service employees studies the Business requirements in detail and sign.
Building an application without a thorough design document is like building a house without a blueprint. Without such a document, you will most certainly overlook some details, you probably will end up with components that just won't work together, and your finished product probably will not be what you intended it to be.
The key to successful application development is careful application design. Like anything else, this design requires planning. At this stage one should also consider using a software development methodology. There are many proven software methodologies such as the Water Fall Life cycle, SSADM, SSM, and ISA. Different development methodologies are suitable for different business situations. One can also mix and match certain steps from various methodologies to suit the business scenario.
The design process has the following four basic steps:
To design a computer system that will be both usable and useful, you really need to interview personnel around the company to learn just what they do, why they do it, and how the work gets done.
You start to compile a list of questions to ask during the interviews. Starting with the accounting department, you create the following list:
How often are invoices processed?
How is order information provided to you?
How is client information provided to you?
What are the steps you take to create an invoice?
What happens to the invoices after they are printed?
What reports do you run after printing invoices?
Who gets these reports?
After the interview process you should outline areas such as number of users, data storage requirements, security issues, queries, backup and recovery issues, platforms etc. DFDs, ERMs and flow charts should also be created to highlight work flows.
You also can have whoever gave you the information review the flowcharts for accuracy. This way, you can be sure that no steps have been overlooked.
You should make sure that the application design decisions that you make are based on business needs and practices, not on features or peculiarities of any particular database system or development tool.
Now that you have all your design and requirements ready, the next stage is to determine which is the right database for your application?
Well, unfortunately, this question has no simple answer. To make this decision, you really need to review your application needs, the investment you are willing to make into the system, and what systems you already have in place.
To get started, try to answer as many of the following questions as possible:
Do you have an existing database system in place? If yes, is it current technology that is still supported by the vendor? Do you need to link to data in this system, or are you embarking on a new project that can stand on its own two feet?
Do you have any database expertise or experience? If yes, what database systems are you familiar with?
Do you have database programmers or administrators in house? If yes, what systems are they familiar with?
How many users do you anticipate using the system concurrently?
How many records do you anticipate your tables will contain?
How important is database uptime? What is the cost associated with your database being down for any amount of time?
Do you have existing hardware that can be used for a database server?
The more planning you do up front, the better chance you have of making the right decision. And getting the job done right the first time will save you time, money, and aggravation later on.
Once all the information is gathered a project plan is created detailing areas such as product type, software licenses, tables, forms, reports, database population, implementation strategies, etc. In order to make sure the project is delivered on time one should make sure that no steps are left out of the plan. Make sure tasks such as testing, user acceptance testing and review is not left out of the plan.
And finally there are many implementation strategies such as the Big Bang, Phased in, Parallel running etc. An implementation strategy should be suggested in accordance with your business requirements.