Tool Category
|
Role
|
Purpose
|
Examples
|
CASE Tool - Development Modeling
|
Application Developer, Agile data engineer
|
To support your application development efforts.
|
|
CASE Tool - Physical Data Modeling
|
Agile data engineer
|
To define and manage your physical database schema.
Many data modeling tools support the generation and deployment of
DDL code, making it easier to change your database schema.
And they also produce visual representations of your schema and
support your documentation efforts.
|
|
Configuration Management
|
Everyone
|
You need to place all data definition language (DDL),
source code, models, scripts, documents, "¦ under version control.
|
|
Database Refactoring Tools |
Application Developer, Agile data engineer |
To evolve your database schema in small, safe steps. |
|
Development IDE/Refactoring Browser
|
Application Developer, Agile data engineer
|
To support your programming and testing efforts.
|
|
Extract Transform Load (ETL)
|
Agile data engineer,
Operations engineer
|
ETL tools can automate your data cleansing and
migrating efforts that evolve your database schema.
|
|
Persistence Frameworks
|
Application Developer, Agile data engineer
|
Persistence frameworks/layers
encapsulate your database schema, minimizing the chance that database
refactorings will force code refactorings external applications.
|
|
Release Tools |
Application Developer, Agile data engineer |
You need to deploy your database between sandboxes,
including production. |
|
Test Data Generator
|
Application Developer, Agile data engineer
|
Developers need test data against which to validate
their systems. Test data
generators can be particularly useful when you need large amounts of data,
perhaps for stress and load testing.
|
|
Testing tools for load testing, user interface
testing, system testing, "¦
|
Application Developer,
Agile data engineer
|
You will need to go beyond unit testing to perform a
more robust set of tests that go beyond unit testing.
The Full Lifecycle Object-Oriented Testing (FLOOT) method which
encapsulates a wide range of traditional and
agile testing techniques.
|
|
Traceability Management/ Repository
|
Everyone
|
Unit testing tools for your applications
|
Application Developer
|
Developers must be able to unit test their work, and
to support iterative development they must be able to easily regression
test.
|
|
Unit testing tools for your database
|
Agile data engineer
|
Whenever you change your database schema, perhaps as
the result of a
database refactoring, you must be able to regression test
your database to ensure that it still works.
|
|
Other |
Agile data engineer |
|
|