navigation usability workflow software user interface development database development services ms access database business process software it projects management user interface designing project developer access development it project manager

Database Application Development Principles

By Thomas Eklund

What constitutes a good relational database application? What development aspects need to be addressed during the development process, in order to build good quality database applications that meet the users needs and wants?

  • Application usage related business process is built into the application so, that the application makes the work easier and more enjoyable and supports different types of application users in accordance with what the users actually need to do with the data and information.
  • Application contains all the needed functionalities and handles all the needed calculations and processes, and in each instance does so with minimum efforts and number of steps from the user's part.
  • These tasks that the application's future users perform very few times or very seldom are not good candidates for programmatic implementation if the development time exceeds the task performing time. However, all these tasks that involve - or could involve - computer usage and are performed more than a few times are good candidates for computerization if the task performing time clearly exceeds the development time.
  • Application-level and page-level navigation structures are user friendly. (It is incredible, how many websites and other types of computer applications violate this principle!) To put it differently, application's navigation structure and user interfaces display the information so that the users can easily find the needed parts of the application and perform the needed tasks, information is easy to find on individual pages, and the users do not unintentionally skip information.
  • Application is set up so that any necessary piece of data is entered into the application only once, and is then recycled by the application and/or application users when needed and the way needed.
  • Recycling of information is primarily based on either application user's identifying the necessary information, and pointing and clicking to make the necessary selection, or on application's automated recycling features.
  • Application is fast - because of amount of data involved, number of simultaneous users, and/or additional functionality, an application may "outgrow its technology," in which case it should be upgraded to a more suitable technology. Similarly, there are many ways to make applications faster by using the existing technology.
  • Application produces all the different type of reports that are needed.
  • Application is expandable so that additional objects for adding, using or modifying the data, or for application's maintenance can be set up with minimum efforts.
  • Application is free of bugs. Bug fixing is not an event. By necessity it is a process, that takes place during the development and continues when the application is being tested and used.
  • Regardless of the type of work that is being performed, application is not boring to use and doesn't put users to sleep with its dull appearance.
  • Application checks the user's work for most common mistakes and notifies the user when he or she may be making a mistake.
  • If a user is working on a pre-determined sequence of tasks, after completion of each task the application automatically indicates what to do next.
  • Depending on the application's type, the application contains one or more search functionality tools, and if applicable, also a searchable Users Guide that provides information about every application part and all the different functionality pieces.
  • If the application contains complex functionality, it also contains a tool from which the users can ask how to accomplish different tasks.
  • For example, if the application users need to make application usage-related decisions, the application contains a tool that the user can consult with in order to get a "second opinion" and instructions and suggestions on how to proceed further.
  • Such tools can be developed with different levels of intelligence. Whether these tools involve simple or advanced functionality, they must be built so that they don't leave the application user in a limbo, where the user doesn't know what to do, or where or how to get the needed information.