Book a Demo

Author Topic: Interface used by several models  (Read 2434 times)

Eiberle

  • EA User
  • **
  • Posts: 23
  • Karma: +0/-0
    • View Profile
Interface used by several models
« on: May 15, 2009, 07:59:09 pm »
I am starting to use EA and I am a little bit confused about where to place things like Interfaces which are used in several models (e.g. the interface will be used in class models describing the usage of the interface in the design model (by sequence diagrams), the component model showing which compoent is implementing the interface and the class model which will be the actual link to the implementation). All of theses different modell are using the same interface definition. Must I put the same interface defintion in each model or should the interface be put in one of the models and the other models will using the interface in there diagrams.
How is the EA way doing this?

Paul Lotz

  • EA User
  • **
  • Posts: 248
  • Karma: +1/-0
    • View Profile
Re: Interface used by several models
« Reply #1 on: May 16, 2009, 03:17:47 am »
When I need model components (think packages) that I want to reuse in other models (thinking .eap files) I check the packages into a version control system in one model, then (using the same version control configuration with the other model) opt to get the packages I want for the new model from that configuration.
Thus far this has worked quite well.  I can have small .eap files that have just the packages I want to work with at the moment rather than the whole model with every possible package.  If you do this remember that if you change a package in one model you will need to use the package control option to Get Latest... to keep the packages synchronized.

Eiberle

  • EA User
  • **
  • Posts: 23
  • Karma: +0/-0
    • View Profile
Re: Interface used by several models
« Reply #2 on: May 18, 2009, 08:55:56 pm »
Thanks for the response, but I was working on another (maybe more basic problem). The eap file management is step 20 or 30 on the long way of becoming an EA master.

I try to describe the problem in more detail:

Currently I want to keep the complete models in on eap file (maybe later in a sql server db). I have a root level project node. This Project structure is like this:
  • "Analysis Model" node
    • "Requirements model" node
    • (other models)
  • "Design Model" node
    • "Logical Model" node
    • "Data Model" node
  • "Implementation" node
    • "Class Model" node
    • "Component Model" node

So the project will reflect the typical steps in the development cycle. So the "Class Model" will contain the packages which are actually linked with the VisualStudio projects (using roundtrip engineering).
Whereas the "Component Model" was intended to reflect the dependcies and the struture  of the products / systems which will be delivered to the customer. For my understanding the term 'model' is something which has almost no dependencies to other models, in contrast to the term 'view' or 'package'. During the development I encountered the problem that I have definied an interface during the design in the "Design Model"."Logical Model". This is can be linked with a trace dependency to the corresponding interace inside the Implementation model (the interface can be different between design and implmentation). But inside the implementation model I could have two places where the interface definition could be placed:
  • the "Class Model"
  • the "Component Model"
Both models require the same interface. So the question is, if there is a best-practice how to model this with EA.