Book a Demo

Author Topic: Model used technologies/application versions  (Read 10875 times)

FrankStanssens

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Model used technologies/application versions
« on: March 05, 2020, 02:06:26 am »
Dear,

We have all our applications in the Sparx repository (application layer) as Archimate application components.

We would like to model the used technologies and their version (for internal development ex. ASP.Net C# 4.8), for acquired software the version of the installed software.

We would like to do this in a way that we can link the version to the application component and that we can create reports  on which applications are developed in a certain technology version.

I'm looking for some advice/guidance on how to model this in Sparx.
Anyone can help me on this?

Thanks in advance
« Last Edit: March 05, 2020, 02:08:52 am by FrankStanssens »

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Model used technologies/application versions
« Reply #1 on: March 05, 2020, 11:38:54 am »
Well ...

You could have an application component called .Net Framework.  Another application component ".NET Framework 4.6" could specialize the first component.  You can build a library of all the different versions this way.

What's actually trickier is how you have built your applications, especially if you have multiple environments.  It's probably true that all instances of your application is served by ".Net Framework" but is it true that all of them are served by ".NET Framework 4.6"?  And who gets to update your entire model if something changes?


Sunshine

  • EA Practitioner
  • ***
  • Posts: 1353
  • Karma: +121/-10
  • Its the results that count
    • View Profile
Re: Model used technologies/application versions
« Reply #2 on: March 05, 2020, 11:53:43 am »
ArchiMate wasn't really intended for that granularity as it was aimed at Enterprise Architecture level rather than detailed software. I'd be tempted to use UML instead.
Anyway if you insist on using ArchiMate I guess you can create catalogues which are packages containing types of ArchiMate elements. For example

Application
   Components
        Application A
        Application B
   ...
Technology
    System Software
        .Net Framework
        ASP.Net
   ....

You can put the versions in either the name such as ".Net Framework V.4.7.1" or in the version field of the element.
Draw up some diagrams that show the that Application A consists of .Net Framework connected via a link. The valid relationships can be found in B5 of archimate spec V3.1. between Application Component and System software are limited to vtfo or the other way its rvtfo. So out of those choices you could use association.

You can then write a report that lists what the application has or what applications have a certain type of system software.
Happy to help
:)

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Model used technologies/application versions
« Reply #3 on: March 05, 2020, 11:59:38 am »
You can put the versions in either the name such as ".Net Framework V.4.7.1" or in the version field of the element.
Draw up some diagrams that show the that Application A consists of .Net Framework connected via a link. The valid relationships can be found in B5 of archimate spec V3.1. between Application Component and System software are limited to vtfo or the other way its rvtfo. So out of those choices you could use association.

That would be a valid approach if you had a JVM to model, but you're really stretching the definition of System Software there for .Net.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Model used technologies/application versions
« Reply #4 on: March 05, 2020, 12:53:56 pm »
You can put the versions in either the name such as ".Net Framework V.4.7.1" or in the version field of the element.
Draw up some diagrams that show the that Application A consists of .Net Framework connected via a link. The valid relationships can be found in B5 of archimate spec V3.1. between Application Component and System software are limited to vtfo or the other way its rvtfo. So out of those choices you could use association.

That would be a valid approach if you had a JVM to model, but you're really stretching the definition of System Software there for .Net.
We stretched the ArchiMate defintion of "System Software" past its breaking point and no longer use it.  I believe it is a chimera.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Sunshine

  • EA Practitioner
  • ***
  • Posts: 1353
  • Karma: +121/-10
  • Its the results that count
    • View Profile
Re: Model used technologies/application versions
« Reply #5 on: March 09, 2020, 11:18:36 am »
You can put the versions in either the name such as ".Net Framework V.4.7.1" or in the version field of the element.
Draw up some diagrams that show the that Application A consists of .Net Framework connected via a link. The valid relationships can be found in B5 of archimate spec V3.1. between Application Component and System software are limited to vtfo or the other way its rvtfo. So out of those choices you could use association.

That would be a valid approach if you had a JVM to model, but you're really stretching the definition of System Software there for .Net.

Yeah maybe but if you look at all the ArchiMate element options its looks like the best fit. Could have put CLR to be more equivalent to JVM I guess.

Like I said before ArchiMate was really intended to work at a higher level of abstraction and UML would be better suite. 
Happy to help
:)

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Model used technologies/application versions
« Reply #6 on: March 09, 2020, 02:58:29 pm »
Yeah maybe but if you look at all the ArchiMate element options its looks like the best fit. Could have put CLR to be more equivalent to JVM I guess.

Not really.  System Software is a specialization of node.  It's where some kind of business logic is executed.  .Net isn't an execution environment, it's a class library, which makes it an application component.

FrankStanssens

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Model used technologies/application versions
« Reply #7 on: March 12, 2020, 09:01:10 pm »
Thx all for the info

We decided to create elements of System Software for each technology and version.
We link them with the Application Component as a Tagged Value