Home > Designing database systems
Chapter Download:
EMAIL THIS LICENSING & REPRINTS

Designing database systems

04 Nov 2005 | Addison-Wesley Professional

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   

This excerpt, taken from Rebecca M. Riordan's book "Designing effective database systems," describes the processes involved in the analysis and design of database systems, starting with project life cycles. You can download the entire chapter here.

Life cycle models

Once upon a time, systems analysts used a paradigm for the development process known as the waterfall model. There are several versions of this model.

The process begins with systems analysis, sometimes called requirements analysis, since it focuses on what the organization and the users require the system to do. Once the systems analysis has been completed and approved, the entire system is designed in detail. This phase is followed by planning and budgeting, and then the entire system is built, tested, and released. At least it is in theory.

The waterfall model is aesthetically pleasing. Each activity is completed and approved before the next one is begun, and the model allows a fine degree of control over budgets, staffing, and time. Deliver a waterfall project on time and on budget, and your clients will probably love you.

The problem, of course, is that reality is hardly ever this neat. The model assumes that all the information required to complete a task is avail-able during the performance of that task, and makes no allowance for new information coming to light later in the process. With the possible exception of very small systems (the sort of thing you can design and build for yourself over the course of a long weekend), this situation is unlikely in the extreme.

FOR MORE INFORMATION

Click here for more information or to buy the book.

Click here to download the entire chapter.

The waterfall model also doesn't allow for changes in business requirements during the course of the project. To assume that a system that met the business needs at the beginning of a project will still meet them at the end of a two- or three-year development process is foolhardy. Your clients will not love you for delivering a useless system, even if it is on time and on budget.

Understand, however, that the activities identified in the waterfall model are perfectly sound. In fact, omitting any of them from a development project is a recipe for disaster. The problem with the model is its linearity, its assumption that each phase need never be re-examined once it has been completed.

Several alternative life cycle models have been proposed to deal with the problems in the waterfall model. The spiral model assumes multiple iterations of the waterfall, each one expanding the scope of the previous iteration.

The problem with the spiral model is that, when strictly applied, the entire scope of the project is not considered until very late in the development project, and there is a (not insignificant) chance that later iterations will invalidate earlier work. This has always seemed to me a recipe for blown budgets and frustrated developers. The situation is particularly dangerous for database projects, where expansions in scope can change the semantics of the data, which requires a change to the database schema, and a change in the database schema can require unexpected -- and unpredictable -- changes throughout the system.

The model that I prefer for large systems, and use in my own work, is variously described as incremental development or evolutionary development.

In this model, which is in many ways simply a variation on the spiral model, the preliminary analysis is performed for the entire system, not just a portion of it. This is followed by an architectural design, again of the whole system. The goal of the architectural design is to define individual components that can be implemented more or less independently, and to describe the interactions and interdependencies between these components. The detailed design and implementation of each component is then performed using whichever model seems most appropriate. I use the spiral model for this phase because it allows greater flexibility in design and implementation.

Read the rest of the chapter here.

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


RELATED CONTENT
Database management systems (DBMS)
Forrester: Open source databases should be part of every database management system strategy
Worst practices: How not to choose a database engine
Database selection 101: How to choose a database engine
The difference between data definition language (DDL) and data manipulation language (DML)
Can a dimension table be a fact table for another data mart?
Top three database management system (DBMS) trends
DB2 looks to enterprise information management to fend off Microsoft
Database administrator job roles: Organizing the DBAs
Data migration planning: Key things to remember
Logical database design

Data management books
Master data management as a service-oriented architecture enabler
Why do we need master data management systems?
What is a master data management system?
Business benefits of managed master data
Introduction to enterprise master data management
What is Microsoft PerformancePoint Server 2007?
IT project management: The cost estimating process
Business intelligence basics with Microsoft PerformancePoint Server 2007
Successful business intelligence: The role of BI front-end tools
Defining data, information and knowledge

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
data classification  (SearchDataManagement.com)
OLAP  (SearchDataManagement.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2005 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts