|
|
Business Model
 |
Business Functions
- Association to objects
- Hierarchical with any number of levels
Use Case
- Roles, events, objects, services
Packages/Subjects
- Multiple subject areas for each object
- Default style per subject
Actors/Roles
Objects
- Entities & attributes
- Relationships/Associations
- Business Terms (derived attributes)
- Inheritance
- Services/Methods
- States
- Events
- Triggers
- Rules
Design Patterns on Entities
- Associated, base, generic, intersection
class types
- Sequential ordering
- Surrogate keys
- Simple and compound business/system keys
- Super/Sub-entities with inheritance
- Share database table
- Hierarchy
- Multiple or single root
- CreateChild/CreateSibling services
- Move nodes
- Lock parent
- Audit trail*
- Freeze/unfreeze*
- Check-in/Check-out*
- Date/Time stamp
- Validation
- History and version control*
- Persistence
Design Patterns on Attributes
- Datatypes include Boolean, list of
values, user-defined Domains
- Valid range*
- Default values, sample values
- Force to upper case*
- Custom rules
- Mandatory
- Computed fields
- Used as system key and/or business key or
part thereof
- Denormalized
- Unique scope
- Sequence generator
- Lock value based on event or condition*
Design Patterns on Relationships
- One-to-many, one-to-one, many-to-many
- Validate/Qualifier
- Cascade/restrict delete constraints
- Arc relationship (mutually exclusive)
- Business/system keys may include one or
more relationships
- Foreign keys resolved with dropdowns or
lookup services
- Complex foreign keys resolved to any
level of complexity
- Propagate relationship*
- Propagate system keys*
- Mandatory/optional
- Roles on relationships
- Recursive relationship
|
Design Patterns on Business Terms
- Based on single/multiple attributes
- Formatting
- Invocation of services
- Summarize or group functions
Design Patterns on Applications
- Custom rules
- Custom documents
Design Patterns on Queries
- Public versus private
- Any number of query nodes
- Generated SQL or user-defined SQL
- Complex functions including summary and
group by functions
- Normal, not exists and out joins
- Distinct, sort order specified
- Dynamic prototyping
- Diagrams
Design Patterns on Services/Methods
- User or system services
- Class service
- SQL, script or Java services
- Separate cursor can be specified
- Conditional services
- Activate/deactivate
- Implementation can be client or server*
- Parameters
- Service debugger
Design Patterns on Domains
- User-maintainable and/or system
maintainable
- Values displayed in dropdown lists
- Stored in files or database
- Valid values or sample values
- Referential integrity and summary of
usage
- Domain re-use across entities
Business Rules
- "It must hold true" format
- "on EVENT ensure that" format
- enforcement at client or server end*
- E/R. State Transition and Workflow
diagrams
- Import/export from/to files (Tools
dependent)
- Generation of diagrams by subject or
application
- Reconciliation*
Security
- Ability to make bulk changes
- Port security to runtime environment
- Security changeable in the runtime
- Security reports
- Validation of security rules for
completeness and conflict*
- Dynamic menus based on entity security
rules
- Prototype security
|
Application
Model  |
Object broker classes
- Object broker for an entity
- Object broker for a query
- Object broker for a parent/child
relationship
Proxy classes for business objects
Classes for query
Data Access modules/record sets
- Add, update, delete functionality
- Full transaction control (commit,
rollback)
- Object copy/duplicate
- User queryable (Query by Form) with
optional startup condition
- Object navigation and related object
lookup based on relationships
- Zoom, browse
- Hierarchy data with CreateChild/
CreateSibling services and move nodes
- History and version control*
- Fixed scope
- Read-only
- Multi-selection (multiple contexts)
- Load on Demand
- Refresh on commit
- Sort-by specification
- Event triggers
Windows
- Window controls: spreadsheet, listbox,
edit/combo/check/radio, calendar, tree
structure, tab dialogs
- Storage in files or in database
- Multiple views of same data
- Panels (list, detail)
- Event triggers
- Buttons
- May be conditional
- Load, close window
- Creation, deletion of records
- Execute queries
- Refresh contents
- Execute service
|
HTML
- Navigation pages
- Object services pages
- List & detail pages
- Insert, update, delete buttons
- Dynamic and static pages
- Multiple panels
- Access associated entities
- Column average and total
- Include Java applet
- Include bitmaps
- Line breaks, bookmarks
- Query by form
- Summary, record counts
Reports
- Multiple panels
- Breaks and summary
Menus
- Pull down menus
- Context menus
- Dynamic menus based on entity security
rules
- Headers, separators, any number of levels
- Conditional menus
- Prototyping of menu security with Roles
Processes
- Transaction control
- Full SQL support
- Full logic control
- Logging capabilities and user feedback in
multi-tier environment
- Activate/deactivate flag
- Conditional steps
- Separate cursor flag for each step
- Separate success & failure actions
for each step
SQL View
- Based on entity/query
- Extended or simple
- Stored Procedure Package*
|
Physical
Model  |
- Tables
- Columns
- Indexes and sequences
- Triggers
- Foreign keys
- Constraints
- SQL "grants"
- Storage objects (tablespaces)
|
- View
- View for business object
- View for query
- View for subject/package
- Reverse engineer from existing
applications
- Full and incremental ports of the
physical model
- Replication*
|
Technology
Model  |
- Supports multi-tier architecture
- C++, Script, Java development
environment/executable
- Thick/thin clients
- User definable features to modify
OmniBuilder engine
- User definable wizards
- Customize meta rules
|
- Templates
- Generate current template
- Make template from an object broker
- Multiple panels
- Supports multiple RDBMS vendors
- Multiple technologies for executing
dynamic SQL statements
|
| Utilities
|
- Installation procedure
- Data validation procedure
- User documentation
- System documentation
- Import/export from/to files
- Objects can be stored in files or in
database
- Copy/duplicate/move
- Full lifecycle Management
- Analysis Wizard
|
- Application Verification Wizard
- Application Test Wizard*
- Application Build Wizard (full, by
subject area, Physical Model only)
- Port Wizard to create/update runtime
environment
- Incremental changes to runtime
environment
- Reverse engineer existing applications,
data structures
- Entities
|
| Development
Environment |
- Transaction support for commit/rollback
- Fingerprinting of application objects
- Prototype Wizard
- Bookmarks
- SQL debugger with history list
|
- Script debugger with history list
- Support for multi-user, concurrent
development
- Undo, cut, copy, paste, clear, refresh,
duplicate, search, replace, move records
- Multiple record update, move, delete
|
| *These features are currently in
the Design Stage. They are available upon
request. Implementation Model
|
|