Author Topic: Which kind of requirements for implementation detail of a library  (Read 4173 times)

jepessen

  • EA User
  • **
  • Posts: 61
  • Karma: +1/-0
    • View Profile
I'm trying to use EA in order to write requirements for a library that I'm developing.

I want to write requirements that are related to its implementation and not its usage, like:

  • It must support Visual Studio 2015;
  • It must be built at 64 bit;
  • It must use log library of Boost;
  • Boost library must be forward declared in order to avoid to include its headers in library usage;
  • etc etc...

I've seen different types of requirements in EA but I don't understand which one fits better this kind of requirements. What should I use?
« Last Edit: June 21, 2016, 07:16:12 am by jepessen »

qwerty

  • EA Guru
  • *****
  • Posts: 9357
  • Karma: +144/-137
  • I'm no guru at all
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #1 on: June 21, 2016, 07:44:12 am »
Those are non-functional requirements. You may specify that in the Type property of the requirement (e.g Environment for the first, Architecture for the 2nd, etc.). For a better granularity it's a good idea to develop an own Requirement meta-type in a MDG and assign TV with a list for non-functional requirements. You may also just assign them Non-functional and pack them in appropriate folders.

q.

jepessen

  • EA User
  • **
  • Posts: 61
  • Karma: +1/-0
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #2 on: June 21, 2016, 05:12:45 pm »
I usually group them into separate packages, but I'd like to know what are the advantages if I use requirement properties or custom meta-type. Can you explain it to me please? I'm just learning everything of EA...

PeterHeintz

  • EA User
  • **
  • Posts: 685
  • Karma: +42/-16
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #3 on: June 21, 2016, 05:37:59 pm »
It is just a question what fits better to you needs.
Using packages to group things is a typical use case, however there is only one possible grouping structure possible, so I use packages for my major navigation purpose (for me typically parts or aspects of  the whole rather than different types of non-functional requirements).
With requirement properties or custom meta-types you can group/classify requirements independent from the project structure. I always use both ways and what best fits to you, you need to decide.
Best regards,

Peter Heintz

jepessen

  • EA User
  • **
  • Posts: 61
  • Karma: +1/-0
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #4 on: June 21, 2016, 08:22:59 pm »
Ok thanks. I'll try to use them even if I at start it will be difficult for me.

qwerty

  • EA Guru
  • *****
  • Posts: 9357
  • Karma: +144/-137
  • I'm no guru at all
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #5 on: June 21, 2016, 08:26:27 pm »
Just the same what Peter said.

Requirements look like a piece of cake. But once you try to eat a slice, you notice that there's concrete used instead of flour.

q.

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1018
  • Karma: +53/-71
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #6 on: June 22, 2016, 09:31:55 am »
Requirements look like a piece of cake. But once you try to eat a slice, you notice that there's concrete used instead of flour.

If you go to a good hardware store and tell them you need a shovel they will ask you what you want to do with it, you'll walk out with a different type of shovel depending on whether you want to dig post holes, shovel gravel or shovel snow.  If you go into a store and say your requirements are for a digging implement with a 1.2m handle and a stainless steel blade, you're likely to walk out with a spade.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 6127
  • Karma: +75/-85
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #7 on: June 22, 2016, 09:51:12 am »
Requirements look like a piece of cake. But once you try to eat a slice, you notice that there's concrete used instead of flour.

If you go to a good hardware store and tell them you need a shovel they will ask you what you want to do with it, you'll walk out with a different type of shovel depending on whether you want to dig post holes, shovel gravel or shovel snow.  If you go into a store and say your requirements are for a digging implement with a 1.2m handle and a stainless steel blade, you're likely to walk out with a spade.
Hence the incorrect aphorism:

Calling a spade a "Bl**dy" shovel...

It would be interesting to find out if the distinction between a Spade and a Shovel exists in other languages...

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

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2492
  • Karma: +32/-2
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #8 on: June 22, 2016, 10:03:11 am »
Requirements look like a piece of cake. But once you try to eat a slice, you notice that there's concrete used instead of flour.

If you go to a good hardware store and tell them you need a shovel they will ask you what you want to do with it, you'll walk out with a different type of shovel depending on whether you want to dig post holes, shovel gravel or shovel snow.  If you go into a store and say your requirements are for a digging implement with a 1.2m handle and a stainless steel blade, you're likely to walk out with a spade.

For digging post holes, I recommend an auger.  8)
The Sparx Team
support@sparxsystems.com

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1018
  • Karma: +53/-71
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #9 on: June 22, 2016, 10:04:06 am »
It would be interesting to find out if the distinction between a Spade and a Shovel exists in other languages...

Both words seem to be old English with German\Dutch cognates.  And here I though you were going to make an Australia joke about a spade handle not being long enough to lean on :-)

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1018
  • Karma: +53/-71
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #10 on: June 22, 2016, 10:06:32 am »
For digging post holes, I recommend an auger.  8)

In Kiwi that's a "post hole borer" and even with one there are times where a post hole shovel is more practice or needed to finish off the job.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 6127
  • Karma: +75/-85
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #11 on: June 22, 2016, 10:17:22 am »
It would be interesting to find out if the distinction between a Spade and a Shovel exists in other languages...

Both words seem to be old English with German\Dutch cognates.  And here I though you were going to make an Australia joke about a spade handle not being long enough to lean on :-)
Since I was born in the UK (I know, with a typically English name) when coal fires were still allowed, I'm used to shovels being the same length as spades - but your point is WELL taken.

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

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 8151
  • Karma: +191/-22
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Which kind of requirements for implementation detail of a library
« Reply #12 on: June 22, 2016, 04:04:16 pm »
It would be interesting to find out if the distinction between a Spade and a Shovel exists in other languages...

Both words seem to be old English with German\Dutch cognates.  And here I though you were going to make an Australia joke about a spade handle not being long enough to lean on :-)
I can confirm that. The Dutch equivalents are "Spade" and "Schop" ("Schup" in the local Antwerp dialect)

Geert

qwerty

  • EA Guru
  • *****
  • Posts: 9357
  • Karma: +144/-137
  • I'm no guru at all
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #13 on: June 22, 2016, 05:42:16 pm »
Since this thread is gone astray anyway: Schaufel and Spaten in German. We also have Pfostenbohrer and Pfostenschaufel (the first being a spiral bore, the second looks a bit like scissors). However, none of them is good for concrete (cake).

q.

RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1174
  • Karma: +9/-3
  • Read The Help!
    • View Profile
Re: Which kind of requirements for implementation detail of a library
« Reply #14 on: June 23, 2016, 01:49:01 pm »
Having recently mixed and laid a lot of concrete, I'd have to say that a shovel is good for mixing the concrete but I used a spade to 'chop' a bit more cement into the mix. And if it had been mortar I would have used a large cement trowel to do said 'chopping'. For the holes, I actually used a pinch bar - very fine control. But once the concrete was set, a pound hammer or a pick-axe was necessary to rectify one or two sections of my work.

To link this back to the OP - there are various names and types you can apply to requirements, and the others have mentioned a couple of mechanisms for grouping requirements, so it does come back to you to decide how to identify, present and use them.

There are lots of different kinds of cake too, but they all get eaten in pretty much the same way...
Best Regards, Roy