isaqb-org / curriculum-foundation

iSAQB Curriculum for the CPSA - Foundation Level. This repository contains copyrighted work.
https://public.isaqb.org/
Other
64 stars 14 forks source link

add "ISOLATION" to design/architecture principles (as part of Modularization or SoC) #473

Closed gernotstarke closed 1 month ago

gernotstarke commented 3 months ago

it's similar to modularity and separation-of-concerns (SoC), but not completely identical. (e.g. the "I" in ACID).

therefore, let's add it (maybe as amendmend to coupling) so our discussion of principles becomes a little more complete.

Sources:

sippsack commented 1 month ago

I must confess, I haven't read the sources yet. But for me isolation in ACID is isolation of (database) transactions. So, we don't talk about ACID here, isn't it?

gernotstarke commented 1 month ago

Right, it is NOT about ACID, but about ISOLATING components from each other, isolating data models from their usage... in general: isolation as a design/architecture principle.

ACID is one example of applied-isolation.

mikesperber commented 1 month ago

If we're going to add it, we need to do some work on specifying what we mean. (The SEI post is a mushy corporate-speak mess, as per usual for them.)

ulibecker commented 1 month ago

I would not add it. I do not see a concise definition in the SEI article, and I see a lot of overlap with loose coupling. In the fundamentals of software architecture book, it doesn't show up in the index (although I see they use the term a lot). I see a lot of potential to confuse participants, and I do not see the value this would add.

gernotstarke commented 1 month ago

The principles show lots of overlap anyway... modularization, loose coupling, high cohesion, separation-of-concern... all suffer from overlap.

Several authors and sources discuss the concept of "isolation" in software architecture. Some key references and ideas related to isolation in software architecture:

Other opinions: In or Out?

ulibecker commented 1 month ago

Yeah, no doubt about that. In embedded systems this is also relevant with regards to freedom from interference. I absolutely see this as relevant in specific ways for several advanced modules, e.g. FLEX, IMPROVE, EMBEDDED. I just doubt that it helps us here as a general principle, especially since the curriculum is already quite packed.

gernotstarke commented 1 month ago

ok - seems we don't get a majority pro, so I set this issue to "wontfix" for now.