JeeWiz Home Page
Transforming the Business of Development
BUSINESS
BUSINESS
  DEVELOPERS
DEVELOPERS
  MetaLink
META-PROGRAMMERS
  Contact Us
CONTACT US
Google
   Home      Product      Solutions      Services      Company  
Product

Details

Samples

Simple

Ordering

Hospital

Restaurant

Football

Issues

Do Your Own

Video

Technical Data

White Papers

Opportunities

Issues Demonstration Application

This is probably the closest of the sample applications to a real system. In fact we use a modified version of this system internally within NT/e to keep track of bugs, enhancement requests and ideas.

Input

UML thumbnail

Model

issues.mdl    Rational Rose file

Output

issues.zip    99.7% generated.

See It Running

Application running

Description

One of the techniques worth pointing out is the triangular looking relationship between Assignment, Person and Role. Actually this is one way of increasing the facilities available to use on a many to many relationship. Person has a many-to- many relationship to Role which is resolved by an implicit link table. We can set the name of the link table as a tag value of the relation (for once, not on an end, but relation itself!). This is set to Assignment. A Person is assigned to a Role. We then model the Assignment entity which also accesses this same table. So we have two ways to get at the same thing. The PersonDV is a dataview capable of accessing all the people in the Person table. ReviewerDV uses the Assignment link table to return the list of people with a role of reviewer. It can do this by limiting the rows it returns using an additional where clause, role_j = 'Reviewer'. This illustrates several points.

The first thing to notice is that the modeller specified a field called role, not role_j. The problem is that role is a SQL reserved word and database tables and columns can't be called SQL reserved words, so JeeWiz adds '_j' on the end. The next thing to mention is that the role_j referred to is on the Role entity (actually the Role_j table). This utilises the ability of dataviews to link fields to attributes on entities other than the primary entity. So searches on the ReviewerDV dataview returns the combination of Person and Role, where the role is reviewer. The same thing is done for TesterDV, so any Person can log an issue and any person can fix it, but only a limited number of people can review it and pass it for fixing, and only a few can certify it tested and ready for release.


Copyright 2001-2005, New Technology/enterprise Ltd. All rights reserved. About NT/e | Contact Us