Many software projects contain a database component, typically a relational database (RDBMS). With sufficient processing power and correct database design, a good RDBMS can easily handle large databases. Object-oriented data and the expanded use of multimedia data types place a huge strain on RDBMS systems developed to hold relatively small records with simple field types. They lack the performance, administration tools, and robustness of mainstream RDBMS products.
One of the biggest users of RDBMS products is the so-called packaged software vendors such as SAP, PeopleSoft, and Baan. Some database companies such as Oracle have their own packaged applications for financial, manufacturing, and other domains. Today, over 80% of Fortune 500 companies are implementing packaged software solutions. Webtop computing with its potential for platform independence is the latest growing trend.
A ‘webtop’ replaces the traditional desktop window system with a web browser and web browser-based applications. Since any webtop application can also run in a web browser running on top of a traditional desktop window system, the transition to webtop computing can be very simple and incremental. If internet standards for webtop applications such as HTML and Java are followed, then the webtop becomes platform-independent. There is a growing trend towards hiring skilled programmers overseas for lower salaries.
Errors in programming are of the following 8 types: logic errors, interface errors, data definition errors, database errors, input/output errors, computational errors, data handling errors, and miscellaneous errors. Examples of logical errors include an excessive or inadequate number of statements in a loop, improper sequence of logic activities, logical expressions containing wrong operands, or checking on an incorrect variable. Another important software error category is database errors that refer to incorrectly expressed data units and initialization of data to a wrong value. There can also be human errors in software development due to two kinds of factors. Group 1 factors include software permeability and rigor of software definition. Group 2 factors include environmental factors, tools for programmer factors, task-related factors, and personnel factors.