Requirement Specifications & Overview

Specifications

Overview

Ratio of requirement types

../_images/need_pie_548ac.svg

Requirements & Status Overview

Requirements & Status Overview

Requirement Linkage

@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>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>Software Requirement</size>\n**Detect merge**\n**conflicts**\n<size:10>SWRQ_DETECT_MERGE_CONFLICTS</size>" as SWRQ_DETECT_MERGE_CONFLICTS [[../requirements/software_specification.html#SWRQ_DETECT_MERGE_CONFLICTS]] #abcdef{
'child needs:
}
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>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

' Connection definition 

SWRQ_MERGE_DICTS -up-> CSTRQ_MERGE_DICTS: satisfies\n
SWRQ_LIST_OF_DICTS -up-> CSTRQ_MERGE_DICTS: satisfies\n
SWRQ_DETECT_MERGE_CONFLICTS -up-> CSTRQ_DETECT_MERGE_CONFLICTS: satisfies\n
SWRQ_ALLOW_DOUBLE_DEFINITION -up-> CSTRQ_DETECT_MERGE_CONFLICTS: satisfies\n
SWRQ_USE_FIRST_VALUE_FOR_KEY -up-> CSTRQ_DETECT_MERGE_CONFLICTS: satisfies\n

@enduml

Requirement Linkage

Used filter: types(stake_req OR sw_req)

V-Model

@startuml

' Nodes definition 

artifact "<size:12>Test Coverage</size>\n**Test coverage**\n**for**\n**merge_dicts.py**\n<size:10>TCOVER_MERGE_DICTS</size>" as TCOVER_MERGE_DICTS [[../_collections/test_coverage/test_coverage_for_merge_dicts.html#TCOVER_MERGE_DICTS]] #abcdef
artifact "<size:12>Test Coverage</size>\n**Test coverage**\n**for tests/merge**\n**_dicts_test.py**\n<size:10>TCOVER_TESTS_MERGE_DICTS_TEST</size>" as TCOVER_TESTS_MERGE_DICTS_TEST [[../_collections/test_coverage/test_coverage_for_tests_merge_dicts_test.html#TCOVER_TESTS_MERGE_DICTS_TEST]] #abcdef
package "<size:12>Module</size>\n**merge_dicts**\n<size:10>M_MERGE_DICTS</size>" as M_MERGE_DICTS [[../architecture/merge_dicts.html#M_MERGE_DICTS]] #abcdef{
'child needs:
}
card "<size:12>Interface</size>\n**merge_dicts**\n<size:10>IF_MERGE_DICTS</size>" as IF_MERGE_DICTS [[../architecture/merge_dicts.html#IF_MERGE_DICTS]] #abcdef{
'child needs:
}
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>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>Software Requirement</size>\n**Detect merge**\n**conflicts**\n<size:10>SWRQ_DETECT_MERGE_CONFLICTS</size>" as SWRQ_DETECT_MERGE_CONFLICTS [[../requirements/software_specification.html#SWRQ_DETECT_MERGE_CONFLICTS]] #abcdef{
'child needs:
}
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>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>Test Specification</size>\n**Test of**\n**merge_dicts**\n<size:10>TS_MERGE_DICTS</size>" as TS_MERGE_DICTS [[../test/tests.html#TS_MERGE_DICTS]] #abcdef
node "<size:12>Test-File</size>\n**Test**\n**merge_dicts**\n**Results**\n<size:10>TEST_RES_merge_dicts</size>" as TEST_RES_merge_dicts [[../test/tests.html#TEST_RES_merge_dicts]] #ffffff

' Connection definition 

M_MERGE_DICTS -up-> SWRQ_TOOL_merge_dicts: satisfies\n
M_MERGE_DICTS -up-> SWRQ_MERGE_DICTS: satisfies\n
M_MERGE_DICTS -up-> IF_MERGE_DICTS: implements\n
IF_MERGE_DICTS -up-> SWRQ_MERGE_DICTS: satisfies\n
IF_MERGE_DICTS -up-> SWRQ_DETECT_MERGE_CONFLICTS: satisfies\n
IF_MERGE_DICTS -up-> SWRQ_ALLOW_DOUBLE_DEFINITION: satisfies\n
IF_MERGE_DICTS -up-> SWRQ_USE_FIRST_VALUE_FOR_KEY: satisfies\n
IF_MERGE_DICTS <-up- TCOVER_MERGE_DICTS: verified by\n
SWRQ_MERGE_DICTS -up-> CSTRQ_MERGE_DICTS: satisfies\n
SWRQ_LIST_OF_DICTS -up-> CSTRQ_MERGE_DICTS: satisfies\n
SWRQ_DETECT_MERGE_CONFLICTS -up-> CSTRQ_DETECT_MERGE_CONFLICTS: satisfies\n
SWRQ_ALLOW_DOUBLE_DEFINITION -up-> CSTRQ_DETECT_MERGE_CONFLICTS: satisfies\n
SWRQ_USE_FIRST_VALUE_FOR_KEY -up-> CSTRQ_DETECT_MERGE_CONFLICTS: satisfies\n
TS_MERGE_DICTS -up-> SWRQ_TOOL_merge_dicts: tests\n
TS_MERGE_DICTS -up-> SWRQ_MERGE_DICTS: tests\n
TS_MERGE_DICTS -up-> SWRQ_LIST_OF_DICTS: tests\n
TS_MERGE_DICTS -up-> SWRQ_DETECT_MERGE_CONFLICTS: tests\n
TS_MERGE_DICTS -up-> SWRQ_ALLOW_DOUBLE_DEFINITION: tests\n
TS_MERGE_DICTS -up-> SWRQ_USE_FIRST_VALUE_FOR_KEY: tests\n
TS_MERGE_DICTS -up-> M_MERGE_DICTS: tests\n
TS_MERGE_DICTS -up-> IF_MERGE_DICTS: tests\n
TS_MERGE_DICTS <-up- TEST_RES_merge_dicts: verified by\n

@enduml

V-Model

Used filter: types(stake_req OR sw_req OR arch_module OR if OR test_spec OR testfile OR test_coverage)

Example for reporting / Tables

List of software requirements

ID

Title

document

line no

SWRQ_TOOL_merge_dicts

Name of the tool: merge_dicts

requirements/software_specification

5

SWRQ_MERGE_DICTS

Merge python dictionaries

requirements/software_specification

13

SWRQ_LIST_OF_DICTS

Definition: list of dictionaries

requirements/software_specification

23

SWRQ_DETECT_MERGE_CONFLICTS

Detect merge conflicts

requirements/software_specification

45

SWRQ_ALLOW_DOUBLE_DEFINITION

Allow double definitions of same Key / Value

requirements/software_specification

61

SWRQ_USE_FIRST_VALUE_FOR_KEY

Output in merge conflict case

requirements/software_specification

77