Stakeholder Specification Evaluation for Merge Python Dictionaries

Analytics for above need: Missing name of the tool / script (EVAL_STAKE_MISSING_NAME)

@startuml

' Nodes definition 

artifact "<size:12>Software Requirement</size>\n**Name of the**\n**tool:**\n**merge_dicts**\n<size:10>SWRQ_TOOL_merge_dicts</size>" as SWRQ_TOOL_merge_dicts [[../requirements/software_specification.html#SWRQ_TOOL_merge_dicts]] #abcdef
artifact "<size:12>Stakeholder Requirement</size>\n**Merge python**\n**dictionaries**\n<size:10>CSTRQ_MERGE_DICTS</size>" as CSTRQ_MERGE_DICTS [[../requirements/stakeholder_specification.html#CSTRQ_MERGE_DICTS]] #abcdef
artifact "<size:12>Stakeholder Requirement</size>\n**Detect merge**\n**conflicts**\n<size:10>CSTRQ_DETECT_MERGE_CONFLICTS</size>" as CSTRQ_DETECT_MERGE_CONFLICTS [[../requirements/stakeholder_specification.html#CSTRQ_DETECT_MERGE_CONFLICTS]] #abcdef
artifact "<size:12>Evaluation</size>\n**Missing name of**\n**the tool /**\n**script**\n<size:10>EVAL_STAKE_MISSING_NAME</size>" as EVAL_STAKE_MISSING_NAME [[../requirements/stakeholder_specification_evaluation.html#EVAL_STAKE_MISSING_NAME]] #abcdef

' Connection definition 

EVAL_STAKE_MISSING_NAME -[#000000]-> SWRQ_TOOL_merge_dicts: output\n
EVAL_STAKE_MISSING_NAME -up-> CSTRQ_MERGE_DICTS: evaluated\n
EVAL_STAKE_MISSING_NAME -up-> CSTRQ_DETECT_MERGE_CONFLICTS: evaluated\n

@enduml

Links

Analytics for above need: Explicit definition of "dictionaries" (EVAL_STAKE_MANY_DICTS)

@startuml

' Nodes definition 

artifact "<size:12>Software Requirement</size>\n**Merge python**\n**dictionaries**\n<size:10>SWRQ_MERGE_DICTS</size>" as SWRQ_MERGE_DICTS [[../requirements/software_specification.html#SWRQ_MERGE_DICTS]] #abcdef
artifact "<size:12>Software Requirement</size>\n**Definition:**\n**list of**\n**dictionaries**\n<size:10>SWRQ_LIST_OF_DICTS</size>" as SWRQ_LIST_OF_DICTS [[../requirements/software_specification.html#SWRQ_LIST_OF_DICTS]] #abcdef{
'child needs:
}
artifact "<size:12>Stakeholder Requirement</size>\n**Merge python**\n**dictionaries**\n<size:10>CSTRQ_MERGE_DICTS</size>" as CSTRQ_MERGE_DICTS [[../requirements/stakeholder_specification.html#CSTRQ_MERGE_DICTS]] #abcdef
artifact "<size:12>Evaluation</size>\n**Explicit**\n**definition of**\n**"dictionaries"**\n<size:10>EVAL_STAKE_MANY_DICTS</size>" as EVAL_STAKE_MANY_DICTS [[../requirements/stakeholder_specification_evaluation.html#EVAL_STAKE_MANY_DICTS]] #abcdef

' Connection definition 

EVAL_STAKE_MANY_DICTS -[#000000]-> SWRQ_MERGE_DICTS: output\n
EVAL_STAKE_MANY_DICTS -[#000000]-> SWRQ_LIST_OF_DICTS: output\n
EVAL_STAKE_MANY_DICTS -up-> CSTRQ_MERGE_DICTS: evaluated\n

@enduml

Links

Analytics for above need: Merge python dictionaries (EVAL_STAKE_DOUBLE_DEFINITON_ALLOWED)

@startuml

' Nodes definition 

artifact "<size:12>Software Requirement</size>\n**Allow double**\n**definitions of**\n**same Key /**\n**Value**\n<size:10>SWRQ_ALLOW_DOUBLE_DEFINITION</size>" as SWRQ_ALLOW_DOUBLE_DEFINITION [[../requirements/software_specification.html#SWRQ_ALLOW_DOUBLE_DEFINITION]] #abcdef{
'child needs:
}
artifact "<size:12>Stakeholder Requirement</size>\n**Detect merge**\n**conflicts**\n<size:10>CSTRQ_DETECT_MERGE_CONFLICTS</size>" as CSTRQ_DETECT_MERGE_CONFLICTS [[../requirements/stakeholder_specification.html#CSTRQ_DETECT_MERGE_CONFLICTS]] #abcdef
artifact "<size:12>Evaluation</size>\n**Merge python**\n**dictionaries**\n<size:10>EVAL_STAKE_DOUBLE_DEFINITON_ALLOWED</size>" as EVAL_STAKE_DOUBLE_DEFINITON_ALLOWED [[../requirements/stakeholder_specification_evaluation.html#EVAL_STAKE_DOUBLE_DEFINITON_ALLOWED]] #abcdef

' Connection definition 

EVAL_STAKE_DOUBLE_DEFINITON_ALLOWED -[#000000]-> SWRQ_ALLOW_DOUBLE_DEFINITION: output\n
EVAL_STAKE_DOUBLE_DEFINITON_ALLOWED -up-> CSTRQ_DETECT_MERGE_CONFLICTS: evaluated\n

@enduml

Links

Analytics for above need: Invalid input (EVAL_STAKE_MISSING_INVALID_INPUT)

@startuml

' Nodes definition 

artifact "<size:12>Software Requirement</size>\n**Definition:**\n**list of**\n**dictionaries**\n<size:10>SWRQ_LIST_OF_DICTS</size>" as SWRQ_LIST_OF_DICTS [[../requirements/software_specification.html#SWRQ_LIST_OF_DICTS]] #abcdef{
'child needs:
}
artifact "<size:12>Stakeholder Requirement</size>\n**Merge python**\n**dictionaries**\n<size:10>CSTRQ_MERGE_DICTS</size>" as CSTRQ_MERGE_DICTS [[../requirements/stakeholder_specification.html#CSTRQ_MERGE_DICTS]] #abcdef
artifact "<size:12>Stakeholder Requirement</size>\n**Detect merge**\n**conflicts**\n<size:10>CSTRQ_DETECT_MERGE_CONFLICTS</size>" as CSTRQ_DETECT_MERGE_CONFLICTS [[../requirements/stakeholder_specification.html#CSTRQ_DETECT_MERGE_CONFLICTS]] #abcdef
artifact "<size:12>Evaluation</size>\n**Invalid input**\n<size:10>EVAL_STAKE_MISSING_INVALID_INPUT</size>" as EVAL_STAKE_MISSING_INVALID_INPUT [[../requirements/stakeholder_specification_evaluation.html#EVAL_STAKE_MISSING_INVALID_INPUT]] #abcdef

' Connection definition 

EVAL_STAKE_MISSING_INVALID_INPUT -[#000000]-> SWRQ_LIST_OF_DICTS: output\n
EVAL_STAKE_MISSING_INVALID_INPUT -up-> CSTRQ_MERGE_DICTS: evaluated\n
EVAL_STAKE_MISSING_INVALID_INPUT -up-> CSTRQ_DETECT_MERGE_CONFLICTS: evaluated\n

@enduml

Links

Analytics for above need: Missing definition for output in case of merge conflict (EVAL_STAKE_OUTPUT_CONFLICT)

@startuml

' Nodes definition 

artifact "<size:12>Software Requirement</size>\n**Output in merge**\n**conflict case**\n<size:10>SWRQ_USE_FIRST_VALUE_FOR_KEY</size>" as SWRQ_USE_FIRST_VALUE_FOR_KEY [[../requirements/software_specification.html#SWRQ_USE_FIRST_VALUE_FOR_KEY]] #abcdef{
'child needs:
}
artifact "<size:12>Stakeholder Requirement</size>\n**Merge python**\n**dictionaries**\n<size:10>CSTRQ_MERGE_DICTS</size>" as CSTRQ_MERGE_DICTS [[../requirements/stakeholder_specification.html#CSTRQ_MERGE_DICTS]] #abcdef
artifact "<size:12>Stakeholder Requirement</size>\n**Detect merge**\n**conflicts**\n<size:10>CSTRQ_DETECT_MERGE_CONFLICTS</size>" as CSTRQ_DETECT_MERGE_CONFLICTS [[../requirements/stakeholder_specification.html#CSTRQ_DETECT_MERGE_CONFLICTS]] #abcdef
artifact "<size:12>Evaluation</size>\n**Missing**\n**definition for**\n**output in case**\n**of merge**\n**conflict**\n<size:10>EVAL_STAKE_OUTPUT_CONFLICT</size>" as EVAL_STAKE_OUTPUT_CONFLICT [[../requirements/stakeholder_specification_evaluation.html#EVAL_STAKE_OUTPUT_CONFLICT]] #abcdef

' Connection definition 

EVAL_STAKE_OUTPUT_CONFLICT -[#000000]-> SWRQ_USE_FIRST_VALUE_FOR_KEY: output\n
EVAL_STAKE_OUTPUT_CONFLICT -up-> CSTRQ_MERGE_DICTS: evaluated\n
EVAL_STAKE_OUTPUT_CONFLICT -up-> CSTRQ_DETECT_MERGE_CONFLICTS: evaluated\n

@enduml

Links