Benefits of using Constructor/MDRAD

There are many benefits to be gained by using the MDRAD process. The Constructor/MDRAD process provides the following, amongst others.

DEVELOPER BENEFITS

  • Development tool tightly integrated into the Visual Studio .NET IDE
  • Provides a Model Driven Object Framework and Object-Relational Mapping
  • Integral Model Editor
  • No need to learn UML
  • Suits the Agile / Extreme Programming approach
  • Model import from OLEDB data sources and XMI
  • Create complex User Interfaces bound to Object Framework’s business objects
  • Generates code in C#.NET and VB.NET
  • Increase your value to your organization and customers
  • Work faster and smarter with .NET-based Model Driven applications

BUSINESS BENEFITS

  • Increases designer/developer productivity
  • Increases ROI and prolongs the lifetime of your investments
  • Concentrates on the business domain rather than low level details
  • Reduces overall complexity
  • Models and creates documented, maintainable applications quickly
  • Based on OMG Standards MDA, MOF, UML and XMI
  • Easily re-factors changes to data, object, component layers
  • Provides convenient entry point to . NET and Model Driven development
  • Easy to learn, straightforward to use
  • Recover the investment with time savings on the first development

Constructor/MDRAD Product Features

There are too many features to list them all but you will get the idea when you see some of the product advantages in the summary below. 

 Integration

  • Fully integrated into the Visual Studio.NET IDE
  • Works with Visual Studio 2002, 2003, 2005, 2008 
  • Task Pane, Output Window, Solution Explorer, Server Explorer, Code Window, IDE integration
  • System Requirements: Any system running Microsoft Visual Studio .NET

Model Editor

  • Create model from an existing database schema, XMI import or from new
  • Built in Class Diagrams to help visualize models
  • Create inherited classes for use in code and in data
  • On screen Platform Independent and Platform Specific views
  • View Business, Database, and Code models together
  • Automatic mapping between models
  • Synchronization of model to database and code
  • Integrated with VS Property Window to minimize dialog display and entry

Database

  • Works with SQL Server 7, 2000, 2005, Access
  • Create model from an existing database schema
  • Create database schema from new model
  • Synchronize changes made in the model with the existing database schema
  • Object / Data layers handle both database inheritance and many-to-many relationships
  • Model can be mapped at Class level to a table and/or database

Code Generation

  • C#.NET and Visual Basic.NET code generation
  • Dynamic Classes minimize generated code
  • Core business object functionality generated automatically
  • Code added by Developers is retained when synchronizing code with model

Development

  • Easily make changes to the model as development proceeds
  • Code directly against the Constructor/MDRAD API if using as a business object layer or with your forms
  • Full Intellisense for the Model in the code window to provide maximum productivity
  • Uses standard .NET Data Binding and controls
  • Removes the headache of object relationship management
  • Frees developers from the necessity of hard-coding SQL statements
  • Programmers maintain complete control over front end appearance and functionality and have the freedom to fine-tune business logic as required
  • Add business logic as required to the Class or Context View layers provided
  • Object Layer provides XSD for Crystal and other report creation functionality

Deployment

  • Minimal overhead when distributing Constructor-based systems
  • No run time license fees
  • End-users can keep database connection details confidential

Run Time

  • Run Time Business Model encloses all database updates in transactions
  • Business rules such as multiplicity and constraints are enforced
  • Optimistic locking scenario employed - application can elect to trap concurrency errors as required
  • Connection string can be read from user's own configuration file for confidentiality