Dimensions CM enables you to manage assets, processes, and changes across a whole enterprise. It does this by:
Enforcing your best practices.
Ensuring workflow through established checkpoints and approvals.
Providing auditability and traceability.
Providing advanced reporting and metric capabilities.
Enabling the reuse of assets and best practices for higher productivity and efficiency.
With Dimensions CM you can control, track, and configure the items that comprise your application, such as the files within a software product, or other types of assets.
A software product can consist of many thousands of hardware, software, and documentation items. These are all stored under Dimensions CM as versioned items.
The projects that are typically undertaken can be configured to contain different components of your product that are developed separately by different teams, or different versions of the same component developed in parallel. You can use Dimensions CM products to contain portions of your application that are developed independently, and you can structure a product into functional subdivisions called design parts that can be related in a hierarchical structure.
Products are contained within a base database, and you can have different products within a single database. For each of these products, you can have parts of their process models defined differently. For example, products could follow different development lifecycles or have different item types.
The following diagram provides an example of the database structure.
These are the main components:
|Base database||A basic instance of a Dimensions CM process model. The process model defines a collection of rules that govern the development of applications.|
|Product||A major unit of development. Some of the rules in the process model can be configured differently from one product to another.|
|Design part||A logical subdivision of a product. Design parts can be subdivided into smaller parts that are all related in a hierarchy. They form a breakdown of the product into smaller functional components.|
|Item||A file or other type of asset that logically belongs to a design part, such as a source file or a design document.|
|Item revision||A specific version of an item identified by its revision number.|
|Project||A type of container for a part of the product that is under development.|
|Stream||A type of container for development work similar to a project, but is used to isolate work on features developed by different sprint teams.|
Example of a company's database structure
Consider a company that produces a number of software products, one of which is a payroll system.
The payroll system could be configured as a Dimensions CM product, with the company’s other products configured as separate Dimensions CM products.
Logically this product consists of three applications: Bonus, Holiday, and Tax Calculations. Separate project teams work on each of these parts that are defined as three design parts.
When changes are made to enhance the product or fix bugs, the different versions of these items need to be tracked and controlled so that the correct versions are configured into a build of the product for testing and releasing to users and customers.