I have a corporate portal with many applications that are accessed by
various groups( employees, contractors, distributors, etc.). Each group
Sounds like these are your "roles"...
(i.e. a database table) is composed of all possible members of the group,
i.e. all employees. Individual members of the group belong to companies and
that is a 'has a' company relationship. Where I'm stuck is that members can
...OK, so a member has-a role and has-a company (belongs-to).
register at the site and become registered users, i.e. users are a subset of
If a member doesn't register on the site, how do you know about them? In other words, is a non-registered member an important entity in your business model?
members. However, registered users can belong to any of the groups. What
should the relationship be between users and members? Is it a user 'is a'
member? However, a user can belong to any group. Or, is it a member 'has
a' user profile? Thoughts?
If user is-a member (which might be reasonable here - see below), then user has-a company and user has-a role automatically - because user inherits those from member and that determines what groups a user belongs to, yes?
Looking at user is-a member - is-a is all about substitutability in your business model. If the is-a relationship holds, then you can take a user and substitute them freely for a member (with the same company / role) anywhere in your business model and it will not break things. In other words, anything that the business model wants to do to a member should be possible with a (registered) user with the same results.
That relationship would break down only if you can have registered users who do not fit your business model for member, i.e., they don't have a company and/or they don't have one of your predefined roles.
I think it's also important to address the question about non-registered users above - that really has an impact on the user-member relationship.
Hope that makes sense?
Sean A Corfield -- http://www.corfield.org/blog/
"If you're not annoying somebody, you're not really alive." -- Margaret Atwood
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev' in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]
