I'll drop back a couple of emails and try to address Chris' questions.
Chris, you are right when you say that interfaces normally should not be
owned by a specific subsystem, and when you say that RUP does not suggest
where they should be owned in the model. One approach, which is documented
in the new version of our OOAD course, is for a given architectural layer's
interfaces to be owned by a package within that layer. If the interfaces
are cross-layer, I like to elevate their ownership to a hierarchy of
packages that is owned by the "Design Model" package itself. So, we end up
with something like one of the following:
Logical View
Design Model
<<layer>> Business Services
Business Services Interfaces
<<layer>> GUI Services
GUI Services Interfaces
or, in the case of cross-layer interfaces:
Logical View
Design Model
System-Level Interfaces
<<layer>> Business Services
Business Services Interfaces
<<layer>> GUI Services
GUI Services Interfaces
With regard to dependencies between packages and sub-systems, the rule is to
create dependencies that are as flexible as possible. This is why we
recommend using interface-based dependencies wherever feasible, rather than
establishing dependencies to specific classes.
********************************************************
R a t i o n a l
the e-development company(tm)
Todd Dunnavant
Technical Lead, Texas/Oklahoma I District
Office Phone #: (281) 499-8789
Fax Phone #: (281) 499-6293
E-mail address: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
Rational's Mission: "To ensure the success of Customers who
depend on software development and deployment."
********************************************************
-----Original Message-----
From: Menard, Richard [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 03, 2001 10:47 AM
To: Chris Gardner; '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]'
Subject: (RUP) RE: (ROSE) Subsystem Interfaces in Rose
What if you model each subsystem as a component? Then within each
component, you can model the interface as a boundary class with public
methods. All of the other methods of all the other classes in the
component are protected or private.
-----Original Message-----
From: Chris Gardner [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 03, 2001 11:16 AM
To: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]'
Subject: (ROSE) Subsystem Interfaces in Rose
My understanding is that subsystems should realize interfaces upon which
other subsystems are dependent. Potentially, many subsystems can realize a
single interface, thus allowing pluggable subsystems.
In the RUP model framework in Rose, I can't find a default place to put the
subsystem interfaces. Because many subsystems can realize the interface,
the interface definition should not live in a specific subsystem package.
It should live another package, upon which each subsystem depends. Does RUP
itself or the RUP model framework suggest another package of residence for
such an interface definition?
BTW, I thought I read in RUP that a package should be dependent on a
subsystem or a subsystem dependent on a package. Is either true? If so,
why? Thanks.
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************