Book a Demo

Author Topic: Starting with EA - best practise, how to structure and use models  (Read 9609 times)

reo

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Looking through tutorials and support and cannot find anything regarding best practise to ensure best use of the tool and the models/projects we create, particularly around structure/folders and components/instantiation/inheritance. Can anyone point me in the right direction. Questions I am hoping to have answered:

1. Should I create 'master' component building blocks once only in a library somewhere
2. Should I just have these master components used in diagrams using a link or instantiation?
3. How does instantiation work, what does it really mean in terms of inheritance? I want to make sure I don't have five different versions of the same thing and have my users get in a pickle.
4. When instantiating a component, tags come through, requirements do not. What is going on?
5. If I don't use instantiation and only linking, my gap analysis matrix don't work, as the components are not technically present on my TO BEs
6. If I use instantiations for a TOBE state, how do I then promote these when they become ASIS?

There are all sorts of complications here and none appear to be described (that I can find). Really appreciate any pointers.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Starting with EA - best practise, how to structure and use models
« Reply #1 on: March 31, 2016, 05:19:42 am »
There are quite a lot threads dealing with this here on the board. Try this fancy Search (Text "button" top left).

q.

reo

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Starting with EA - best practise, how to structure and use models
« Reply #2 on: March 31, 2016, 11:23:36 pm »
Thanks for your reply, but I am looking for some helpful hints. I have tried searching to little avail. Is there a search string or documentation you could suggest?

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Starting with EA - best practise, how to structure and use models
« Reply #3 on: April 01, 2016, 12:02:53 am »
Hi,

sorry to say it, there is no silver bullet to model everything.

You have to work out what you want to achieve with modelling. If you got it you may look to other solutions which have similar goals, processes and organisation.

A good approach should structure your problem at hand according to your goals, not my goals.

Helmut
Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

jfzouain

  • EA User
  • **
  • Posts: 152
  • Karma: +6/-1
    • View Profile
Re: Starting with EA - best practise, how to structure and use models
« Reply #4 on: April 01, 2016, 12:17:58 am »
Hi

Like everybody is telling you here there is no silver bullet, but in my eBook I share with the user how to start a project by creating the packages and how to structure them; afterwards I tell the user how to create use cases, activity diagrams, wire frames and so on to have a real nice BRD (Business Requirement Document)
Here is the link of my eBook https://leanpub.com/uml-erpworkshop

UML-ERP Workshop with Enterprise Architect
Inventory Control
Business Requirement Document

Hope this helped

Jose Zouain
Best regards

Jose Zouain

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Starting with EA - best practise, how to structure and use models
« Reply #5 on: April 01, 2016, 01:44:30 am »
The search is no bullet at all, so to say. Try ASIS and TOBE and FUTURE in a mix in your search.

q.

Ian Mitchell

  • EA User
  • **
  • Posts: 507
  • Karma: +22/-4
  • The eaDocX and Model Expert guy
    • View Profile
Re: Starting with EA - best practise, how to structure and use models
« Reply #6 on: April 05, 2016, 02:20:11 am »
Best advice is to hire someone who has done it before.
Ian Mitchell, Designer, eaDocX


www.eaDocX.com
www.theartfulmodeller.com

sousac

  • EA User
  • **
  • Posts: 22
  • Karma: +2/-0
    • View Profile
    • Integrationworx, a Sparx EA Authorized Training Partner
Re: Starting with EA - best practise, how to structure and use models
« Reply #7 on: April 07, 2016, 01:49:08 am »
Looking through tutorials and support and cannot find anything regarding best practise to ensure best use of the tool and the models/projects we create, particularly around structure/folders and components/instantiation/inheritance. Can anyone point me in the right direction. Questions I am hoping to have answered:

1. Should I create 'master' component building blocks once only in a library somewhere
2. Should I just have these master components used in diagrams using a link or instantiation?
3. How does instantiation work, what does it really mean in terms of inheritance? I want to make sure I don't have five different versions of the same thing and have my users get in a pickle.
4. When instantiating a component, tags come through, requirements do not. What is going on?
5. If I don't use instantiation and only linking, my gap analysis matrix don't work, as the components are not technically present on my TO BEs
6. If I use instantiations for a TOBE state, how do I then promote these when they become ASIS?

There are all sorts of complications here and none appear to be described (that I can find). Really appreciate any pointers.

Hi There,

This is a common question I get a lot in our teaching.  There are some general tips to deal with the situation you describe but as the other replies indicate, the diversity of Sparx EA means that the structure/use of the tool needs to be informed by your goals/purpose (ie., there is no universal approach for all situations).

Here are some tips opposite your questions:

Q. Should I create 'master' component building blocks once only in a library somewhere.
A. If you are wanting to use component models to describe a centrally maintained single source of truth then yes.  A typical approach is to create a root node/model in your repository that becomes a central filing system for your model and typically holds the as-is state of an architecture.

Q. Should I just have these master components used in diagrams using a link or instantiation?
A. This depends on what you are trying to do.  I use instantiation only when I am depicting a run-time simulation (i.e., a scenario or example of a pattern).  If I am describing structural relationships or other associations, I use a link (i.e., I want to add more complete information to the original component).  Remember that information you add to an instance does not get transfered back to the original classifier (instances remain stand-along objects albeit with traceability back to the classifier).


3. How does instantiation work, what does it really mean in terms of inheritance? I want to make sure I don't have five different versions of the same thing and have my users get in a pickle.
- Instantiation and inheritance are fundamentally different concepts in UML.  Instances of model elements are just that, instances or "examples of" the original component.  Working with instances in Sparx requires that the modeler explicity set the run states/run-time information on the component (e.g., a class is not instantiated with all of its attributes automatically visible with values).  Only use instances when the item you are working with represents a "template" that you want to exemplify.


4. When instantiating a component, tags come through, requirements do not. What is going on?
Instances is a UML-based construct in sparx. Thinks like requirements and linked docuements are tool extensions (non-UML) and do not become instantiated. This is intentional as it would become complex/confusing if every instance of a component were to carry a copy or relationship to the underlying requirements.


5. If I don't use instantiation and only linking, my gap analysis matrix don't work, as the components are not technically present on my TO BEs
- I haven't used the gap analysis matrix to generate gaps, however, there shouldn't be a restriction on element type you describe. (i.e., you are not required to use instances to use the gap analysis matrix, you can do it with components/classes..etc.).

6. If I use instantiations for a TOBE state, how do I then promote these when they become ASIS?
- Don't use instances to represent the same component in different states of your architecture.  If you want to model multiple "branches" of the same model element at different states (without disturbing the As-Is element at all), you need to manage redundancy in your model and refactor the changes back to the as-is state.  Most modellers manage this manually, however, you could use model baseline/merge/compare facilities to accomplish this as well.




- Claudio