alecn2002 / ArchKatasFall2024

GNU Affero General Public License v3.0
0 stars 0 forks source link

List architectural characteristics #1

Open alecn2002 opened 1 week ago

alecn2002 commented 1 week ago

List architectural characteristics

Carefully extract from problem description + add obvious as a consequence from the problem nature

Diversity Cyber Council Kata Requirements 2024

alecn2002 commented 1 week ago

My opinion:

1x-5x -- importance marks

mmest commented 1 week ago

I add a characteristics worksheet (template here) with my first intuitive list. I have not looked at alecn2002. It is better to start independently and then discuss, I believe. Please note: characteristics will probably depend on clarification of requirements.

architecture-characteristics-mmest.pdf

mmest commented 1 week ago

List of most relevant architecture characteristics with explanation

Top–three.

These are the driving characteristics that the System must have or it will not be useful:

Interoperability

Security – data privacy

Data consistency

Other Driving Characteristics.

These are what should be expected from this kind of System (besides the implicit characteristics)

Data Integrity

Workflow

Responsiveness

Scalability

ATTACHED: the worksheet as PDF

architecture-characteristics-mmest.pdf

mmest commented 1 week ago

(This is for choice of Architecture Style) Interestingly, most of the Driving Characteristics that I select in my previous comment do not directly impact on the choice of Architecture Style. Assuming that Performance proxies for better Responsiveness, it should be either "service–oriented" or "event–driven". Considering also cost, "event–driven" may be better even if it is not the best for interoperability. ATTACHED: the worksheet as PDF architecture-styles-mmest.pdf

mwunderlich commented 1 week ago

Thanks all for getting started. I'll try to take a closer look at the characteristics before the call today. Some initial comments:

mmest commented 1 week ago

Context diagram complete. It refers to the description of external communications in Issue #2. I will delete the comment with the previous incomplete diagram. EDITED: new context diagrams with encryption added to relationships, as per mwunderlich comment above.

Context Diagram.vpd.pdf

mmest commented 1 week ago

Note that we must remember that the AI is supposed to help the Employer by auto–filling their registration form when they subscribe to ClearView. It is in the rightmost relationship in the context diagram. The relationships marked [through ClearView Services] indicate that the connection is managed by the System; they are logical relationships, not physical connections.

mmest commented 1 week ago
* Internationlization: Probably a minor requirement, but it would be good to have the system usable in several languages/locales from the start. 

I agree in principle. But it is not an architecture problem, because it can be solved at the development level with no impact on the overall organization of the system. Same for accessibility.

mmest commented 1 week ago
* Security: This will require some form of encryption, both at rest and in transit.

Good point. For a start I am adding "encrypted" to the connection relationships in the context diagram.

mwunderlich commented 6 days ago

I agree in principle. But it is not an architecture problem, because it can be solved at the development level with no impact on the overall organization of the system. Same for accessibility.

Well, it is probably not the most pressing issue and we can just mention it in passing. however, I differ on the notion that it is not an architecture problem. I have worked in that area many years and seen the consquences of trying to attach internationalization later on. It just causes a lot of headaches and ugly work-arounds. but for this Kata it is only a side topic, I guess.

mmest commented 6 days ago

On 26 Sep 2024, at 11:41, Martin Wunderlich @.***> wrote: (…) Well, it is probably not the most pressing issue and we can just mention it in passing. however, I differ on the notion that it is not an architecture problem. I have worked in that area many years and seen the consquences of trying to attach internationalization later on. It just causes a lot of headaches and ugly work-arounds. but for this Kata it is only a side topic, I guess.

Yes, adding i18n afterward is a nightmare. What I mean with “not architectural problem” is that I do not see that I need to add a box in a diagram to contain that. I agree that i18n must be specified from the start, but I see it as a functional requirement, more than a system structure issue. On the other hand, you may have experience that points to a need for an explicit structural need, please let me know if that is necessary. I haven’t done any i18n myself… I only use English!