![]() |
Telelogic Rhapsody (steve huntington) | ![]() |
Topic Title: Component Diagrams Topic Summary: How do I use an Executable, Library and 'Component Interface'? Created On: 26-Jun-2008 10:04 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
I have a 2 working projects with some common classes which I want to move into a library.
I use ports and interfaces in my projects. Project1 __Classes ____MyClassP1 ____MyClassCom ______Operations ________MyIntOpCom() __Interfaces ____IMyInterfaceCom ______Operations ________MyIntOpCom() Project2 __Classes ____MyClassP2 ____MyClassCom ______Operations ________MyIntOpCom() __Interfaces ____IMyInterfaceCom ______Operations ________MyIntOpCom() Now realising I have common classes I thought I'd create a Library. I drew a Component Diagram with a <<Library>> realizing a Component Interface - <<Interface>>, and an <<Executable>> USING (ie <<Usage>> ) the Component Interface. The User Guide says,"Component Interfaces and Realizations An interface between components is a set of operations performed by a hardware or software element in the system. A component realizes an interface if it supports the interface; another component then uses that interface. Interfaces promote design modularity; components are more easily replaceable when they use interfaces instead of directly depending on components. Component interfaces can be seen only in a component diagram they cannot be viewed in the browser. A component diagram supports only interfaces between components." But I can see my Component Interface appear in the browser alongside all my other interfaces. My questions (at last!) are ... What do I put in my Component Interface? Do I COPY all my (abstract) interface operations from the common interfaces (eg: MyIntOpCom()) into the new (component) interface? ProjectUsingLibrary __Classes ____MyClassCom ______Operations ________MyIntOpCom() - concrete realisation of the interface __Interfaces ____IMyInterfaceCom ______Operations ________MyIntOpCom() - abstract ____IComponentInterface ______Operations ________MyIntOpCom() - abstract I hope someone can help! |
|
![]() |
|
![]() |
|
I have just noticed a tip that appears in the status bar when you hover over the interface icon in a Component Diagram, it says:-
"Draw an interface, then identify it with an existing interface or with a new one\Interface." I assume I identify it with an existing interface by just giving it the same name. This actually then agrees with the User Guide in that nothing new is added to the Rhapsody browser. I guess the purpose of the Component Interface is to diagrammatically document the library's interface methods, so someone using the library doesn't have to dig into the library code itself to work out how to use it. I think my problem with this whole interface idea is that I expect to see a single interface on the Component Diagram but I've actually got several. I'll just draw all of them and give it a go! Anyone else ever used these interfaces on a Component Diagram? |
|
![]() |
Telelogic Rhapsody
» Rhapsody Category » Rhapsody
»
Component Diagrams
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.