diff --git a/process/general_concepts/score_review_concept.rst b/process/general_concepts/score_review_concept.rst index f0b523a6d5..7200fccdcd 100644 --- a/process/general_concepts/score_review_concept.rst +++ b/process/general_concepts/score_review_concept.rst @@ -153,32 +153,38 @@ shall transition from "valid(inspected)" back to "valid" state. This shall be au Process Requirements ^^^^^^^^^^^^^^^^^^^^ -.. gd_req:: Storage of pull requests documentation - :id: gd_req__general__pull_request_storage +.. gd_req:: Version for inspected requirements + :id: gd_req__general__requirements_version :status: valid + :tags: prio_1_automation, general :complies: std_req__iso26262__support_6433, std_req__iso26262__software_7414 - :satisfies: wf__monitor_verify_requirements, wf__mr_vy_arch + :satisfies: wf__monitor_verify_requirements - The content of pull requests (conversation, commits, files changed) shall be stored permanently - for every release. + The version of a requirement shall not change by an inspection. - Note: Expectation is that this should be part of configuration management, but as this process - is not defined at the moment this requirement is added here. + This means: In case the status of the requirement (see :need:`gd_req__req__attr_status`) + is used to notify if a requirement is inspected (or another attribute is introduced), + this shall be ignored for versioning. -.. gd_req:: Hash value for inspected requirements - :id: gd_req__general__requirements_hash - :status: valid +.. gd_req:: Version for inspected architecture + :id: gd_req__general__architecture_version + :status: draft + :tags: general :complies: std_req__iso26262__support_6433, std_req__iso26262__software_7414 - :satisfies: wf__monitor_verify_requirements, wf__mr_vy_arch + :satisfies: wf__mr_vy_arch + + The version of architecture element shall not change by an inspection. + + This means: In case the status of the element (see :need:`gd_req__arch__attr_status`) + is used to notify if it is inspected (or another attribute is introduced), + this shall be ignored for versioning. - The hash value of a requirement shall not change by an inspection. In case the status of the - requirement is used to notify if a requirement is inspected (or another attribute is introduced), - this shall be ignored for hashing (i.e. hash value for valid and valid(inspected) shall be equal). - In case hashing is also used for architecture versioning this shall be done in similar way. + Note: this applies only if architecture also has a version. .. gd_req:: Checklist templates in pull requests :id: gd_req__general__checklist_templates :status: valid + :tags: prio_2_automation, general :complies: std_req__iso26262__support_6433, std_req__iso26262__software_7414, std_req__iso26262__software_942 :satisfies: wf__monitor_verify_requirements, wf__mr_vy_arch @@ -187,10 +193,20 @@ Process Requirements Ideally this is automatically applied based on the files modified in the PR. The requirements and architecture inspections are not automatically applied. -.. gd_req:: Status Check - :id: gd_req__general__status_check +.. gd_req:: Status Set Check + :id: gd_req__general__status_set_check :status: valid + :tags: prio_2_automation, general :complies: std_req__iso26262__support_6433, std_req__iso26262__software_7414 :satisfies: wf__monitor_verify_requirements, wf__mr_vy_arch It shall be checked that only a PR with the inspection checklist filled out can set a status to valid(inspected). + +.. gd_req:: Status Reset Check + :id: gd_req__general__status_reset_check + :status: valid + :tags: prio_2_automation, general + :complies: std_req__iso26262__support_6433, std_req__iso26262__software_7414 + :satisfies: wf__monitor_verify_requirements, wf__mr_vy_arch + + It shall be checked that the status is reset to valid whenever a requirement is modified (changes version). diff --git a/process/process_areas/architecture_design/guidance/architecture_process_reqs.rst b/process/process_areas/architecture_design/guidance/architecture_process_reqs.rst index 94595df882..e212f76c3f 100644 --- a/process/process_areas/architecture_design/guidance/architecture_process_reqs.rst +++ b/process/process_areas/architecture_design/guidance/architecture_process_reqs.rst @@ -23,6 +23,7 @@ Architectural Model .. gd_req:: Architecture Modeling :id: gd_req__arch__model :status: valid + :tags: manual :complies: std_req__iso26262__support_6431, std_req__iso26262__support_6432 :satisfies: wf__cr_mt_featarch @@ -31,6 +32,7 @@ Architectural Model .. gd_req:: Hierarchical structure of architectural elements :id: gd_req__arch__hierarchical_structure :status: valid + :tags: done_automation :complies: std_req__iso26262__support_6431, std_req__iso26262__support_6432 :satisfies: wf__cr_mt_featarch @@ -42,24 +44,26 @@ Architectural Model .. gd_req:: Structuring of the architectural elements :id: gd_req__arch__build_blocks :status: valid + :tags: done_automation :complies: std_req__iso26262__support_6431, std_req__iso26262__support_6432 :satisfies: wf__cr_mt_featarch Following architectural elements shall be defined on the respective hierarchical level: * Logical Level - * Feature (logic_arc_sta) + * Feature (feature_arc_sta) * Logical Interface (logic_arc_int) * Logical Interface Operation (logic_arc_int_op) * Component Level * Component (comp_arc_sta) - * Interface (comp_arc_int) - * Interface Operation (comp_arc_int_op) + * Interface (real_arc_int) + * Interface Operation (real_arc_int_op) .. gd_req:: Correlations of the architectural building blocks :id: gd_req__arch__build_blocks_corr :status: valid + :tags: done_automation :complies: std_req__iso26262__support_6431, std_req__iso26262__support_6432 :satisfies: wf__cr_mt_featarch @@ -76,14 +80,15 @@ Architectural Views .. gd_req:: Architecture Viewpoints :id: gd_req__arch__viewpoints :status: valid + :tags: manual :complies: std_req__iso26262__support_6432, std_req__iso26262__software_742 :satisfies: wf__cr_mt_featarch The architecture shall be shown on following views on each architectural level: - * Package Diagram (logic_arc_sta, comp_arc_sta) - * Sequence Diagram (logic_arc_dyn, comp_arc_dyn) - * Interface View (logic_arc_int, comp_arc_int) + * Package Diagram (feat_arc_sta, comp_arc_sta) + * Sequence Diagram (feat_arc_dyn, comp_arc_dyn) + * Interface View (logic_arc_int, real_arc_int) Only an additional view shall be created on module level. @@ -93,7 +98,7 @@ Attributes of Architectural Elements .. gd_req:: Architecture attribute: UID :id: gd_req__arch__attribute_uid :status: valid - :tags: attribute,mandatory + :tags: manual, attribute, mandatory :complies: std_req__iso26262__support_6425, std_req__iso26262__support_6432 Each architectural element shall have a unique ID. It shall be in a format which is also human readable and consists of @@ -102,12 +107,12 @@ Attributes of Architectural Elements * structural element (e.g. some part of the feature tree, component acronym) * keyword describing the content of the architectural element - The naming convention is defined here: `REPLACE_doc__naming_conventions` + Check your project's naming conventions (should be called "doc__naming_conventions") .. gd_req:: Architecture attribute: security - :id: gd_req__arch_attr_security + :id: gd_req__arch__attr_security :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory Each architectural element shall have a security relevance identifier: @@ -117,7 +122,7 @@ Attributes of Architectural Elements .. gd_req:: Architecture attribute: safety :id: gd_req__arch__attr_safety :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :complies: std_req__iso26262__support_6421, std_req__iso26262__support_6425 Each architectural element shall have a automotive safety integrity level (ASIL) identifier: @@ -129,7 +134,7 @@ Attributes of Architectural Elements .. gd_req:: Architecture attribute: status :id: gd_req__arch__attr_status :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :complies: std_req__iso26262__support_6425 Each architectural element shall have a status: @@ -143,7 +148,7 @@ Traceability to Requirements .. gd_req:: Architecture attribute: fulfils :id: gd_req__arch__attr_fulfils :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :complies: std_req__iso26262__support_6425 Each architectural element shall be linked to a requirement. @@ -151,7 +156,7 @@ Traceability to Requirements .. gd_req:: Architecture traceability :id: gd_req__arch__traceability :status: valid - :tags: architecture_design + :tags: manual :complies: std_req__iso26262__support_6432 :satisfies: wf__cr_mt_featarch @@ -171,7 +176,7 @@ Checks for Architectural Design .. gd_req:: Architecture mandatory attributes :id: gd_req__arch__attr_mandatory :status: valid - :tags: attribute, check + :tags: prio_1_automation, attribute, check It shall be checked if all mandatory attributes for each architectural element are provided by the user. For all elements following attributes shall be mandatory: @@ -184,65 +189,67 @@ Checks for Architectural Design .. gd_req:: Architecture linkage metamodel :id: gd_req__arch__linkage_safety :status: valid - :tags: attribute, check + :tags: prio_1_automation, attribute, check It shall be checked that every valid safety architectural element is linked according to the defined model :need:`gd_req__arch__build_blocks_corr`. .. gd_req:: Architecture linkage safety :id: gd_req__arch__linkage_safety_trace :status: valid - :tags: attribute, check + :tags: prio_1_automation, attribute, check It shall be checked that valid safety architectural elements (Safety != QM) can only be linked against valid safety architectural elements. .. gd_req:: Architecture linkage security :id: gd_req__arch__linkage_security_trace :status: valid - :tags: attribute, check + :tags: prio_2_automation, attribute, check It shall be checked that security relevant architectural elements (Security == YES) can only be linked against security relevant architectural elements. .. gd_req:: Architecture linkage requirement :id: gd_req__arch__linkage_requirement :status: valid - :tags: attribute, check + :tags: prio_1_automation, attribute, check It shall be checked that each architectural element (safety!=QM) is linked against at least one safety requirement (safety!=QM). + It shall be checked that architectural elements with safety=QM are not linked against safety requirements (safety!=QM). .. gd_req:: Architecture linkage requirement type :id: gd_req__arch__linkage_requirement_type :status: valid - :tags: attribute, check + :tags: prio_3_automation, attribute, check It shall be checked that requirements of a respective type can only be linked to architectural elements according to following traceability: - * Functional requirements <-> static / dynamic architectural elements (logic_arc_sta, logic_arc_dyn) + * Functional requirements <-> static / dynamic architectural elements (feat_arc_sta, feat_arc_dyn) * Interface requirements <-> interface architectural elements (logic_arc_int, logic_arc_int_op) .. gd_req:: Architecture check consistency modules :id: gd_req__arch__consistency_model :status: valid - :tags: model, check + :tags: prio_2_automation, model, check It shall be checked if all mentioned SW components are available in the modules repository. .. gd_req:: Architecture check consistency interfaces :id: gd_req__arch__consistency_interf :status: valid - :tags: model, check + :tags: prio_2_automation, model, check It shall be checked if all mentioned component interfaces are available in the modules repository. .. gd_req:: Architecture check consistency dynamic architecture :id: gd_req__arch__consistency_dynamic :status: valid - :tags: model, check + :tags: prio_3_automation, model, check It shall be checked if all SW components which are mentioned in the dynamic architecture are defined in the static architecture. .. gd_req:: Building Blocks Dynamic Architecture :id: gd_req__arch__build_blocks_dynamic :status: valid + :tags: done_automation :satisfies: wf__cr_mt_featarch It shall be possible to provide the required architectural building blocks inside the dynamic architecture. diff --git a/process/process_areas/change_management/change_management_workflow.rst b/process/process_areas/change_management/change_management_workflow.rst index eaf36443b2..c5dc718cd0 100644 --- a/process/process_areas/change_management/change_management_workflow.rst +++ b/process/process_areas/change_management/change_management_workflow.rst @@ -25,7 +25,7 @@ Workflow Change Management :supported_by: rl__technical_lead, rl__module_lead :input: wp__policies, wp__issue_track_system, wp__feat_request, wp__cmpt_request :output: wp__issue_track_system, wp__feat_request, wp__cmpt_request - :contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__attr_types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change_tool_impact_analysis + :contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__attr_types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change__tool_impact_analysis :has: doc_concept__change__process, doc_getstrt__change__process The Change Request is created and analyzed. @@ -49,7 +49,7 @@ Workflow Change Management :supported_by: rl__safety_manager, rl__security_manager, rl__quality_manager :input: wp__issue_track_system, wp__feat_request, wp__cmpt_request :output: wp__issue_track_system, wp__feat_request, wp__cmpt_request - :contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__attr_types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change_tool_impact_analysis + :contains: gd_guidl__change__change_request, gd_temp__change__feature_request, gd_temp__change__component_request, gd_temp__change__impact_analysis, gd_temp__component_classification, gd_req__change__attr_uid, gd_req__change__attr_status, gd_req__change__attr_title, gd_req__change__attr_impact_description, gd_req__change__attr_impact_safety, gd_req__change__attr_impact_security, gd_req__change__attr_types, gd_req__change__attr_affected_wp, gd_req__change__attr_milestone, gd_req__change__tool_impact_analysis :has: doc_concept__change__process, doc_getstrt__change__process The Change Request is evaluated based on the analysis result either approved, rejected or delayed. diff --git a/process/process_areas/change_management/guidance/change_management_reqs.rst b/process/process_areas/change_management/guidance/change_management_reqs.rst index 9bc0c9ea62..190b11f0dd 100644 --- a/process/process_areas/change_management/guidance/change_management_reqs.rst +++ b/process/process_areas/change_management/guidance/change_management_reqs.rst @@ -25,7 +25,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: UID :id: gd_req__change__attr_uid :status: valid - :tags: chm, attribute, mandatory + :tags: done_automation, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP1, std_req__iso26262__support_8411, std_req__iso26262__support_8421, std_req__iso26262__support_8432, std_req__iso26262__support_8453 @@ -34,7 +34,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: status :id: gd_req__change__attr_status :status: valid - :tags: chm, attribute, mandatory + :tags: done_automation, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP3, std_req__aspice_40__SUP-10-BP5, std_req__aspice_40__SUP-10-BP6, std_req__iso26262__support_8411, std_req__iso26262__support_8422, std_req__iso26262__support_8432, std_req__iso26262__support_8442 @@ -48,7 +48,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: title :id: gd_req__change__attr_title :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP1, std_req__iso26262__support_8411, std_req__iso26262__support_8422 @@ -57,7 +57,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: description :id: gd_req__change__attr_impact_description :status: valid - :tags: chm, attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP2, std_req__iso26262__support_8411, std_req__iso26262__support_8422, std_req__iso26262__support_8431, std_req__iso26262__support_8432, std_req__iso26262__support_8452, std_req__iso26262__support_8453 @@ -67,7 +67,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: safety :id: gd_req__change__attr_impact_safety :status: valid - :tags: chm, attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP2, std_req__iso26262__support_8422 @@ -80,7 +80,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: security :id: gd_req__change__attr_impact_security :status: valid - :tags: chm, attribute, mandatory + :tags: prio_2_automation, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP2, std_req__iso26262__support_8422 @@ -92,7 +92,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: Types :id: gd_req__change__attr_types :status: valid - :tags: chm, attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP1 @@ -105,8 +105,8 @@ Change Request Attributes .. gd_req:: Change Request attribute: Affected Work Products :id: gd_req__change__attr_affected_wp - :status: valid - :tags: chm, attribute, mandatory + :status: draft + :tags: attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP4, std_req__iso26262__support_8412, std_req__iso26262__support_8422, std_req__iso26262__support_8452, std_req__iso26262__support_8453 @@ -115,7 +115,7 @@ Change Request Attributes .. gd_req:: Change Request attribute: Milestone :id: gd_req__change__attr_milestone :status: valid - :tags: chm, attribute, mandatory + :tags: done_automation, attribute, mandatory :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__SUP-10-BP6, std_req__iso26262__support_8413 @@ -128,9 +128,9 @@ Change Request Checks ''''''''''''''''''''' .. gd_req:: Change Requests mandatory attributes provided - :id: gd_req__change_attr_mandatory + :id: gd_req__change__attr_mandatory :status: valid - :tags: chm, attribute, check + :tags: prio_2_automation, attribute, check :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__iic-13-51 @@ -138,7 +138,7 @@ Change Request Checks is provided by the user. For all requirements following attributes shall be mandatory: .. needtable:: Overview mandatory change request attributes - :filter: "mandatory" in tags and "attribute" in tags and "chm" in tags and is_external == False + :filter: "mandatory" in tags and "attribute" in tags and "change_management" in tags and is_external == False :style: table :columns: title :colwidths: 30 @@ -150,9 +150,9 @@ Change Request Traceability Impact Analysis Tool '''''''''''''''''''''''''''''''''''''''''''''''' .. gd_req:: Change Requests Impact Analysis Tool - :id: gd_req__change_tool_impact_analysis + :id: gd_req__change__tool_impact_analysis :status: valid - :tags: chm, check, tool + :tags: prio_3_automation, check, tool :satisfies: wf__change__cr_an_change_request, wf__change__rv_ap_change_request :complies: std_req__aspice_40__iic-13-51 diff --git a/process/process_areas/configuration_management/guidance/process_req.rst b/process/process_areas/configuration_management/guidance/process_req.rst index d3c21905b7..7079dfa5e3 100644 --- a/process/process_areas/configuration_management/guidance/process_req.rst +++ b/process/process_areas/configuration_management/guidance/process_req.rst @@ -16,8 +16,9 @@ Configuration Management Process Requirements ============================================= .. gd_req:: Permanent Storage - :id: gd_req__workproducts_storage + :id: gd_req__config__workproducts_storage :status: valid + :tags: prio_3_automation, config_mgt :complies: std_req__iso26262__support_745, std_req__aspice_40__SUP-8-BP8 At least every platform release shall be stored permanently as a collection of text documents @@ -26,11 +27,22 @@ Configuration Management Process Requirements Note: This is to ensure to have the development artefacts available during the complete lifetime of the products (cars) the SW platform is used in. +.. gd_req:: Storage of pull requests documentation + :id: gd_req__config__pull_request_storage + :status: valid + :tags: prio_2_automation, config_mgt + :complies: std_req__iso26262__support_6433, std_req__iso26262__software_7414 + :satisfies: wf__monitor_verify_requirements, wf__mr_vy_arch + + The content of pull requests (conversation, commits, files changed) shall be stored permanently + for every release. + Note: The reason is that the PRs could be altered after the release and therefore for example the inspection documented within the review would be corrupted. .. gd_req:: Baseline Differences - :id: gd_req__baseline_diff + :id: gd_req__config__baseline_diff :status: valid + :tags: prio_2_automation, config_mgt :complies: std_req__iso26262__support_741 It shall be possible to show the differences between two baselines. diff --git a/process/process_areas/documentation_management/guidance/documentation_process_reqs.rst b/process/process_areas/documentation_management/guidance/documentation_process_reqs.rst index 54ec03884c..01aec7a3d7 100644 --- a/process/process_areas/documentation_management/guidance/documentation_process_reqs.rst +++ b/process/process_areas/documentation_management/guidance/documentation_process_reqs.rst @@ -18,8 +18,9 @@ Document Management Process Requirements ======================================== .. gd_req:: Document Types - :id: gd_req__doc_types + :id: gd_req__doc__types :status: valid + :tags: manual :complies: std_req__iso26262__support_1043 There is only one generic document type: @@ -45,20 +46,30 @@ Document Management Process Requirements .. gd_req:: Document attributes - :id: gd_req__doc_attributes + :id: gd_req__doc__attributes_manual :status: valid + :tags: manual :complies: std_req__iso26262__support_1043 - Documents shall have the following manual attributes: + Documents shall have the following mandatory manual attributes: * id * status + + and the following optional ones: + * security * safety * realizes Compare also :need:`gd_temp__documentation` +.. gd_req:: Document attributes automated + :id: gd_req__doc__attributes_automated + :status: valid + :tags: prio_2_automation + :complies: std_req__iso26262__support_1043 + Documents shall have automatic added attributes: * author @@ -66,8 +77,9 @@ Document Management Process Requirements * reviewer .. gd_req:: Document Author - :id: gd_req__doc_author + :id: gd_req__doc__author :status: valid + :tags: prio_2_automation :complies: std_req__iso26262__support_1045 Documents headers shall contain an "author" attribute. Every committer who adds more than 50% @@ -77,17 +89,19 @@ Document Management Process Requirements documentation build for every commit of the file containing the document. .. gd_req:: Document Reviewer - :id: gd_req__doc_reviewer + :id: gd_req__doc__reviewer :status: valid + :tags: prio_2_automation :complies: std_req__iso26262__support_1043 Documents headers shall contain "reviewer" attribute, which is added during documentation build and contains only the names of the last PR reviewers, which actually reviewed the file - containing the document, which were not covered by :need:`gd_req__doc_approver`. + containing the document, which were not covered by :need:`gd_req__doc__approver`. .. gd_req:: Document Approver - :id: gd_req__doc_approver + :id: gd_req__doc__approver :status: valid + :tags: prio_2_automation :complies: std_req__iso26262__support_1045 Documents headers shall contain an "approver" attribute, which is added during documentation build diff --git a/process/process_areas/implementation/guidance/implementation_process_reqs.rst b/process/process_areas/implementation/guidance/implementation_process_reqs.rst index 3d7e5f5528..c8d52097b1 100644 --- a/process/process_areas/implementation/guidance/implementation_process_reqs.rst +++ b/process/process_areas/implementation/guidance/implementation_process_reqs.rst @@ -16,27 +16,27 @@ Process Requirements #################### .. gd_req:: Static Diagram for Unit Interactions - :id: gd_req__static_diagram + :id: gd_req__impl__static_diagram :status: valid - :tags: mandatory + :tags: manual, mandatory :satisfies: wf__sw_detailed_design :complies: std_req__iso26262__software_843 The static diagram shall represent the unit and their relationships using UML notations. .. gd_req:: Dynamic Diagram for Unit Interactions - :id: gd_req__dynamic_diagram + :id: gd_req__impl__dynamic_diagram :status: valid - :tags: mandatory + :tags: manual, mandatory :satisfies: wf__sw_detailed_design :complies: std_req__iso26262__software_843 The dynamic diagram shall represent the unit and their relationships using UML notations. .. gd_req:: Design to Code Linking - :id: gd_req__design_code_link + :id: gd_req__impl__design_code_link :status: valid - :tags: mandatory + :tags: prio_1_automation, mandatory :satisfies: wf__sw_detailed_design :complies: std_req__iso26262__software_843 @@ -48,8 +48,9 @@ Process Requirements .. gd_req:: Dependency Analysis - :id: gd_req__dependency_analysis + :id: gd_req__impl__dependency_analysis :status: valid + :tags: prio_2_automation :satisfies: wf__sw_verify_implementation :complies: std_req__iso26262__software_942 diff --git a/process/process_areas/index.rst b/process/process_areas/index.rst index 35d058d8bc..0ae86a0cac 100644 --- a/process/process_areas/index.rst +++ b/process/process_areas/index.rst @@ -33,3 +33,4 @@ Process Areas safety_management/index.rst tool_management/index.rst verification/index.rst + process_management/index.rst diff --git a/process/process_areas/problem_resolution/guidance/problem_resolution_reqs.rst b/process/process_areas/problem_resolution/guidance/problem_resolution_reqs.rst index 231f2eb273..7fd8114ef5 100644 --- a/process/process_areas/problem_resolution/guidance/problem_resolution_reqs.rst +++ b/process/process_areas/problem_resolution/guidance/problem_resolution_reqs.rst @@ -25,7 +25,7 @@ Problem Attributes .. gd_req:: Problem attribute: UID :id: gd_req__problem__attr_uid :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: done_automation, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 @@ -34,7 +34,7 @@ Problem Attributes .. gd_req:: Problem attribute: status :id: gd_req__problem__attr_status :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: manual, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 @@ -49,7 +49,7 @@ Problem Attributes .. gd_req:: Problem attribute: title :id: gd_req__problem__attr_title :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: manual, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 @@ -58,7 +58,7 @@ Problem Attributes .. gd_req:: Problem attribute: description :id: gd_req__problem__attr_impact_description :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: manual, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1, std_req__aspice_40__SUP-9-BP2 @@ -72,16 +72,16 @@ Problem Attributes .. gd_req:: Problem attribute: analysis results :id: gd_req__problem__attr_anaylsis_results :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: manual, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP2 - Record analysis results (e.g. reason for rejection, safety, security, quality impact) + Record analysis results (e.g. reason for rejection, safety, security, quality impact) as comments. .. gd_req:: Problem attribute: stakeholder :id: gd_req__problem__attr_stakeholder :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: prio_1_automation, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP2, std_req__aspice_40__SUP-9-BP5 @@ -91,7 +91,7 @@ Problem Attributes .. gd_req:: Problem attribute: classification :id: gd_req__problem__attr_classification :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: prio_1_automation, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1, std_req__aspice_40__SUP-9-BP2 @@ -105,7 +105,7 @@ Problem Attributes .. gd_req:: Problem attribute: category :id: gd_req__problem__attr_category :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: prio_3_automation, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 @@ -117,7 +117,7 @@ Problem Attributes .. gd_req:: Problem attribute:: safety affected :id: gd_req__problem__attr_safety_affected :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: prio_1_automation, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 @@ -126,10 +126,12 @@ Problem Attributes * Yes * No + Note: If neither security or safety relevance is set the bug is always quality relevant. + .. gd_req:: Problem attribute:: security affected :id: gd_req__problem__attr_security_affected :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: prio_1_automation, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 @@ -138,22 +140,12 @@ Problem Attributes * Yes * No -.. gd_req:: Problem attribute:: quality affected - :id: gd_req__problem__attr_quality_affected - :status: valid - :tags: problem_resolution, attribute, mandatory - :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr - :complies: std_req__aspice_40__SUP-9-BP1 - - Each Problem shall have a quality relevance identifier: - - * Yes - * No + Note: If neither security or safety relevance is set the bug is always quality relevant. .. gd_req:: Problem attribute: milestone :id: gd_req__problem__attr_milestone :status: valid - :tags: problem_resolution, attribute, mandatory + :tags: manual, problem_resolution, attribute, mandatory :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1, std_req__aspice_40__SUP-9-BP6 @@ -166,7 +158,7 @@ Problem Resolution Checks .. gd_req:: Problem Resolution mandatory attributes provided :id: gd_req__problem__check_mandatory :status: valid - :tags: problem_resolution, attribute, check + :tags: prio_2_automation, problem_resolution, attribute, check :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 @@ -182,7 +174,7 @@ Problem Resolution Checks .. gd_req:: Problem Report issues closing constraints :id: gd_req__problem__check_closing :status: valid - :tags: problem_resolution, attribute, check + :tags: prio_1_automation, problem_resolution, attribute, check :satisfies: wf__problem__create_pr, wf__problem__analyse_pr, wf__problem__initiate_monitor_pr, wf__problem__close_pr :complies: std_req__aspice_40__SUP-9-BP1 diff --git a/process/process_areas/process_management/index.rst b/process/process_areas/process_management/index.rst new file mode 100644 index 0000000000..5cd8867f76 --- /dev/null +++ b/process/process_areas/process_management/index.rst @@ -0,0 +1,37 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _process_mgt: + +Process Management +################## + +Disclaimer: this is not the real content, not even the draft content. +It is used for monitoring/steering our process automation effort. + +Automation Status via Process Requirement Table +*********************************************** + +All process requirements should be labelled with the priorization of automation implementation: + +- A label "manual" means nothing to do, because it must be fulfilled manually (e.g. by filling attributes). +- A label "done_automation" means nothing to do, because it already works. Note that in docs-as-code repository there are tool requirements linking to the process requirements with an "Implemented" attribute. +- A label "prio_*_automation" means the prio 1, 2, ... labelled requirement shall be implemented in this order. Prio 1 is everything we need for the re-audit, prio 2 could be done manually as a fallback, prio 3 is nice to have ... + +.. needtable:: + :style: table + :types: gd_req + :columns: id;status;tags + :colwidths: 25,10,25 + :sort: id diff --git a/process/process_areas/quality_management/guidance/quality_process_reqs.rst b/process/process_areas/quality_management/guidance/quality_process_reqs.rst index 941c94b9e9..33a0f7849f 100644 --- a/process/process_areas/quality_management/guidance/quality_process_reqs.rst +++ b/process/process_areas/quality_management/guidance/quality_process_reqs.rst @@ -16,9 +16,9 @@ Process Requirements ==================== .. gd_req:: Quality report automated generation - :id: gd_req__qlm_report + :id: gd_req__quality__report :status: valid - :tags: quality_management + :tags: prio_3_automation, quality_management :satisfies: wf__mr_imp_qlm_plan_processes :complies: std_req__iso26262__management_5423, std_req__aspice_40__SUP-1-BP5, std_req__aspice_40__SUP-1-BP6 diff --git a/process/process_areas/quality_management/quality_workflow.rst b/process/process_areas/quality_management/quality_workflow.rst index 069d429149..dda28570a6 100644 --- a/process/process_areas/quality_management/quality_workflow.rst +++ b/process/process_areas/quality_management/quality_workflow.rst @@ -103,7 +103,7 @@ Workflows :supported_by: rl__safety_manager, rl__security_manager :input: wp__qms_plan, wp__platform_sw_release_note, wp__module_sw_release_note, wp__process_impr_report, wp__qms_report, wp__verification__platform_ver_report, wp__verification__module_ver_report, wp__training_path :output: wp__issue_track_system - :contains: gd_guidl__qlm_plan_definitions, gd_chklst__review_checklist, gd_req__qlm_report + :contains: gd_guidl__qlm_plan_definitions, gd_chklst__review_checklist, gd_req__quality__report :has: doc_concept__quality__process, doc_getstrt__quality__process | The quality manager :need:`rl__quality_manager` is responsible for the monitoring of the activities against the quality management plan. diff --git a/process/process_areas/requirements_engineering/guidance/requirements_process_reqs.rst b/process/process_areas/requirements_engineering/guidance/requirements_process_reqs.rst index 2e05d0f0f1..65dc6492c5 100644 --- a/process/process_areas/requirements_engineering/guidance/requirements_process_reqs.rst +++ b/process/process_areas/requirements_engineering/guidance/requirements_process_reqs.rst @@ -20,7 +20,7 @@ Process Requirements .. gd_req:: Requirements Structure :id: gd_req__req__structure :status: valid - :tags: structure + :tags: done_automation, structure :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6431, std_req__iso26262__support_6432 @@ -45,7 +45,7 @@ Process Requirement Attributes .. gd_req:: Requirement attribute: UID :id: gd_req__req__attr_uid :status: valid - :tags: attribute,mandatory + :tags: manual, attribute, mandatory :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6425, std_req__iso26262__support_6432 @@ -58,9 +58,9 @@ Process Requirement Attributes Consider the project's naming convention. .. gd_req:: Requirement attribute: title - :id: gd_req__requirements_attr_title + :id: gd_req__req__attr_title :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6424 @@ -69,9 +69,9 @@ Process Requirement Attributes This means for example that the word "shall" is not allowed in the title for all requirements. .. gd_req:: Requirement attribute: description - :id: gd_req__requirements_attr_description + :id: gd_req__req__attr_description :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6424 @@ -86,7 +86,7 @@ Process Requirement Attributes .. gd_req:: Requirement attribute: type :id: gd_req__req__attr_type :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req Each requirement, apart from process and tool requirements, shall have a type of one of following options: @@ -97,9 +97,9 @@ Process Requirement Attributes * Non-Functional .. gd_req:: Requirements attribute: security - :id: gd_req__requirements_attr_security + :id: gd_req__req__attr_security :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__req__feat_req, wf__req__comp_req Each requirement, apart from process and tool requirements, shall have a security relevance identifier: @@ -110,7 +110,7 @@ Process Requirement Attributes .. gd_req:: Requirement attribute: safety :id: gd_req__req__attr_safety :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :complies: std_req__iso26262__support_6421, std_req__iso26262__support_6425 :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req @@ -123,7 +123,7 @@ Process Requirement Attributes .. gd_req:: Requirement attribute: status :id: gd_req__req__attr_status :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :complies: std_req__iso26262__support_6425 :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req @@ -135,7 +135,7 @@ Process Requirement Attributes .. gd_req:: Requirement attribute: rationale :id: gd_req__req__attr_rationale :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__req__stkh_req Each stakeholder requirement shall provide an attribute called rationale. @@ -149,7 +149,7 @@ Process Requirement Linkage .. gd_req:: Requirement Linkage :id: gd_req__req__linkage :status: valid - :tags: attribute, automated + :tags: manual, attribute :complies: std_req__iso26262__support_6432 :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req @@ -163,7 +163,7 @@ Process Requirement Linkage .. gd_req:: Requirement Traceability :id: gd_req__req__traceability :status: valid - :tags: attribute, automated + :tags: prio_1_automation :complies: std_req__iso26262__support_6432 :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req @@ -172,11 +172,11 @@ Process Requirement Linkage .. gd_req:: Requirement attribute: requirement covered :id: gd_req__req__attr_req_cov :status: valid - :tags: attribute, automated + :tags: manual, attribute :complies: std_req__iso26262__support_6423 :satisfies: wf__req__stkh_req, wf__req__feat_req - It shall be possible to specify the requirement coverage. + It shall be possible to specify the requirement coverage, meaning the requirement is covered fully by its linked children. * Yes * No @@ -184,7 +184,7 @@ Process Requirement Linkage .. gd_req:: Requirement attribute: link to implementation :id: gd_req__req__attr_impl :status: valid - :tags: attribute, automated + :tags: prio_2_automation, attribute :satisfies: wf__req__feat_req, wf__req__comp_req It shall be possible to link requirements to code and include a link to github to the respective line of code in an attribute of the requirement. @@ -192,7 +192,7 @@ Process Requirement Linkage .. gd_req:: Requirement attribute: link to test :id: gd_req__req__attr_testlink :status: valid - :tags: attribute, automated + :tags: prio_1_automation, attribute :satisfies: wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6433, std_req__iso26262__software_944 @@ -201,7 +201,7 @@ Process Requirement Linkage .. gd_req:: Requirement attribute: test covered :id: gd_req__req__attr_test_covered :status: valid - :tags: attribute, automated + :tags: manual, attribute :satisfies: wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6433, std_req__iso26262__software_944 @@ -213,7 +213,7 @@ Process Requirement Linkage .. gd_req:: Requirement attribute: versioning :id: gd_req__req__attr_version :status: valid - :tags: attribute, automated + :tags: prio_1_automation, attribute :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6425, std_req__iso26262__support_6434 @@ -227,17 +227,19 @@ Process Requirements Checks .. gd_req:: Requirement check: suspicious :id: gd_req__req__attr_suspicious :status: valid - :tags: attribute, automated + :tags: prio_2_automation, attribute :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6425, std_req__iso26262__support_6434 - Based on the requirement versioning it shall be checked if a parent requirement was updated but not the linked child requirements. - In case an update was detected, the attribute requirement covered shall be set to "No" + Based on the requirement versioning it shall be checked if a parent requirement was updated but not the linked child requirements (or tests). + In case an update was detected, the attribute requirement (or test) covered shall be set to "No" + + Note: This refers to :need:`gd_req__req__attr_req_cov` and :need:`gd_req__req__attr_test_covered` .. gd_req:: Requirements mandatory attributes provided :id: gd_req__req__attr_mandatory :status: valid - :tags: attribute, check + :tags: prio_1_automation, attribute, check :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req It shall be checked if all mandatory attributes for each requirement is provided by the user. For all requirements following attributes shall be mandatory: @@ -251,7 +253,7 @@ Process Requirements Checks .. gd_req:: Requirements no weak words :id: gd_req__req__attr_desc_weak :status: valid - :tags: attribute, check + :tags: done_automation, attribute, check :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req It shall be ensured that no *weak words* are contained in the requirement description for: @@ -267,31 +269,42 @@ Process Requirements Checks .. gd_req:: Requirements linkage level :id: gd_req__req__linkage_fulfill :status: valid - :tags: attribute, check + :tags: done_automation, attribute, check :complies: std_req__iso26262__support_6432 :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req - Every feature- and component requirement shall be linked to at least one valid parent requirement according to the defined traceability scheme: + Every feature- and component requirement shall be linked to at least one parent requirement according to the defined traceability scheme: :ref:`traceability concept for requirements` .. gd_req:: Requirements linkage architecture :id: gd_req__req__linkage_architecture :status: valid - :tags: attribute, check + :tags: prio_2_automation, attribute, check :complies: std_req__iso26262__support_6423 :satisfies: wf__req__feat_req, wf__req__comp_req It shall be checked if every feature- and component requirement is linked at least to one valid architectural element on the same level. +.. gd_req:: Requirements linkage architecture switch + :id: gd_req__req__linkage_architecture_switch + :status: valid + :tags: prio_2_automation, attribute, check + :complies: std_req__iso26262__support_6423 + :satisfies: wf__req__feat_req, wf__req__comp_req + + The check :need:`gd_req__req__linkage_architecture` shall only be enabled for a release build, otherwise it would block creating requirements first without architecture. + .. gd_req:: Requirements linkage safety :id: gd_req__req__linkage_safety :status: valid - :tags: attribute, check + :tags: prio_1_automation, attribute, check :satisfies: wf__req__stkh_req, wf__req__feat_req, wf__req__comp_req :complies: std_req__iso26262__support_6422 - It shall be checked that safety requirements (Safety != QM) can only be linked against safety requirements. + It shall be checked that (child) QM requirements (Safety == QM) can not be linked against a (parent) safety requirement (Safety != QM). + + Note: This ensures that safety requirements are properly derived into their children. Also a mix of safe and QM aspects in a parent is avoided by this. .. needextend:: docname is not None and "process_areas/requirements_engineering" in docname :+tags: requirements_engineering diff --git a/process/process_areas/requirements_engineering/requirements_getstrt.rst b/process/process_areas/requirements_engineering/requirements_getstrt.rst index 30f071bf51..61d4bd004b 100644 --- a/process/process_areas/requirements_engineering/requirements_getstrt.rst +++ b/process/process_areas/requirements_engineering/requirements_getstrt.rst @@ -56,7 +56,7 @@ For linking requirements to source code a tool is available: Linking Requirements to Tests ============================= -For linking Requirements to tests metatags shall be used :need:`gd_req__link_tests` +For linking Requirements to tests metatags shall be used :need:`gd_req__verification__link_tests` Developer Experience diff --git a/process/process_areas/safety_analysis/guidance/safety_analysis_process_reqs.rst b/process/process_areas/safety_analysis/guidance/safety_analysis_process_reqs.rst index 8dd8db7a3e..98900f84ab 100644 --- a/process/process_areas/safety_analysis/guidance/safety_analysis_process_reqs.rst +++ b/process/process_areas/safety_analysis/guidance/safety_analysis_process_reqs.rst @@ -20,7 +20,7 @@ Safety Analysis Process Requirements .. gd_req:: Safety Analysis Structure :id: gd_req__saf__structure :status: valid - :tags: safety_analysis + :tags: done_automation, safety_analysis :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__support_6432 @@ -39,7 +39,7 @@ Process Safety Analysis Attributes .. gd_req:: Safety Analysis attribute: UID :id: gd_req__saf__attr_uid :status: valid - :tags: attribute, mandatory + :tags: done_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__support_6425, std_req__iso26262__support_6432 @@ -52,28 +52,28 @@ Process Safety Analysis Attributes The naming convention shall be defined in the project and shall be used consistently. .. gd_req:: Safety Analysis attribute: title - :id: gd_req__saf_attr_title + :id: gd_req__saf__attr_title :status: valid - :tags: attribute, mandatory + :tags: manual, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__support_6424 The title of the Safety Analysis shall provide a short summary of the description .. gd_req:: Safety Analysis attribute: mitigation - :id: gd_req__saf_attr_mitigation + :id: gd_req__saf__attr_mitigation :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_844, std_req__iso26262__analysis_746, std_req__iso26262__analysis_747 - Each violation shall have an associated mitigation. The mitigation may be a requirement or a brief description of the mitigation. - Use "None" if a mitigation has not yet been implemented, and update it once completed. + Each violation shall have an associated mitigation. The mitigation may be a requirement or a brief description of the mitigation. + If mitigation has not yet been implemented, do not use this option. .. gd_req:: Safety Analysis attribute: mitigation issue - :id: gd_req__saf_attr_mitigation_issue + :id: gd_req__saf__attr_mitigation_issue :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_844, std_req__iso26262__analysis_746, std_req__iso26262__analysis_747 @@ -83,7 +83,7 @@ Process Safety Analysis Attributes .. gd_req:: Safety Analysis attribute: sufficient :id: gd_req__saf__attr_sufficient :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_848, std_req__iso26262__analysis_749, std_req__isopas8926__44431, std_req__isopas8926__44432 @@ -92,7 +92,7 @@ Process Safety Analysis Attributes .. gd_req:: Safety Analysis attribute: argument :id: gd_req__saf__attr_argument :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_848, std_req__iso26262__analysis_749, std_req__isopas8926__44433 @@ -102,7 +102,7 @@ Process Safety Analysis Attributes .. gd_req:: Safety Analysis attribute: status :id: gd_req__saf__attr_status :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_848, std_req__iso26262__analysis_749, std_req__isopas8926__44431, std_req__isopas8926__44432 @@ -110,13 +110,13 @@ Process Safety Analysis Attributes .. _process_requirements_safety_analysis_linkage: -Safety Analysis Requirement Linkage -''''''''''''''''''''''''''''''''''' +Safety Analysis Linkage +''''''''''''''''''''''' .. gd_req:: Safety Analysis Linkage check :id: gd_req__saf__linkage_check :status: valid - :tags: attribute, automated + :tags: prio_1_automation, attribute, automated :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_842, std_req__iso26262__software_7410, std_req__iso26262__software_7411 @@ -125,7 +125,7 @@ Safety Analysis Requirement Linkage .. gd_req:: Safety Analysis Linkage :id: gd_req__saf__linkage :status: valid - :tags: attribute, automated + :tags: prio_2_automation, attribute, automated :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_842, std_req__iso26262__software_7410, std_req__iso26262__software_7411 @@ -134,25 +134,25 @@ Safety Analysis Requirement Linkage .. gd_req:: Safety Analysis attribute: check Requirements linkage :id: gd_req__saf__attr_requirements_check :status: valid - :tags: attribute, automated + :tags: prio_1_automation, attribute, automated :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_842, std_req__iso26262__software_7410, std_req__iso26262__software_7411 - Safety Analysis shall be linked to a requirement on the corresponding level via the attribute mitigates. + Safety Analysis shall be linked to a requirement on the corresponding level via the attribute "mitigated by". .. gd_req:: Safety Analysis attribute: Requirements linkage :id: gd_req__saf__attr_requirements :status: valid - :tags: attribute, automated + :tags: prio_2_automation, attribute, automated :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_842, std_req__iso26262__software_7410, std_req__iso26262__software_7411 - Each Safety Analysis shall be automatically linked to the corresponding Safety Requirement via the "mitigates by" linkage. + Each Safety Analysis shall be automatically linked to the corresponding Safety Requirement via the mitigates linkage. .. gd_req:: Safety Analysis attribute: link to Aou :id: gd_req__saf__attr_aou :status: valid - :tags: attribute, automated + :tags: prio_1_automation, attribute, automated :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_845 @@ -161,7 +161,7 @@ Safety Analysis Requirement Linkage .. gd_req:: Safety Analysis attribute: versioning :id: gd_req__saf__attr_hash :status: valid - :tags: attribute, automated + :tags: prio_2_automation, attribute, automated :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__support_6425, std_req__iso26262__support_6434 @@ -176,7 +176,7 @@ Process Requirements Checks .. gd_req:: Safety Analysis mandatory attributes provided :id: gd_req__saf__attr_mandatory :status: valid - :tags: attribute, check + :tags: prio_1_automation, attribute, check :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_848, std_req__iso26262__analysis_749 @@ -188,20 +188,11 @@ Process Requirements Checks :columns: title :colwidths: 30 -.. gd_req:: Safety Analysis linkage level - :id: gd_req__saf__linkage_fulfill - :status: valid - :tags: attribute, check - :satisfies: wf__analyse_featarch, wf__analyse_comparch - :complies: std_req__iso26262__analysis_848, std_req__iso26262__analysis_749 - - Every Safety Analysis shall be linked to at least one parent architecture. - .. gd_req:: Safety Analysis linkage safety :id: gd_req__saf__linkage_safety :status: valid - :tags: attribute, check + :tags: prio_2_automation, attribute, check :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_848, std_req__iso26262__analysis_749 @@ -213,7 +204,7 @@ DFA Process Requirements .. gd_req:: DFA attribute: violation ID :id: gd_req__saf__attr_vid :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__support_6425, std_req__iso26262__support_6432 @@ -222,7 +213,7 @@ DFA Process Requirements .. gd_req:: DFA attribute: violation cause :id: gd_req__saf__attr_vcause :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_742 @@ -234,7 +225,7 @@ FMEA Process Requirements .. gd_req:: FMEA attribute: failure mode :id: gd_req__saf__attr_fmode :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_848 @@ -243,7 +234,7 @@ FMEA Process Requirements .. gd_req:: FMEA attribute: failure effect :id: gd_req__saf__attr_veffect :status: valid - :tags: attribute, mandatory + :tags: prio_1_automation, attribute, mandatory :satisfies: wf__analyse_featarch, wf__analyse_comparch :complies: std_req__iso26262__analysis_849 diff --git a/process/process_areas/safety_management/guidance/process_req.rst b/process/process_areas/safety_management/guidance/process_req.rst index 0251566fa6..8d01e62ac4 100644 --- a/process/process_areas/safety_management/guidance/process_req.rst +++ b/process/process_areas/safety_management/guidance/process_req.rst @@ -15,18 +15,20 @@ Safety Management Process Requirements ====================================== -.. gd_req:: Safety Management Process Requirement 1 - :id: gd_req__sm_doc_status +.. gd_req:: Safety Management Document Status + :id: gd_req__safety__doc_status :status: valid + :tags: done_automation :complies: std_req__iso26262__management_6468 Safety plans shall contain documents references where the status is derived automatically. Note: This can be done by defining the document as a sphinx-need and using sphinx mechanisms. -.. gd_req:: Safety Management Process Requirement 2 - :id: gd_req__sm_wp_status +.. gd_req:: Safety Management Work Product Status + :id: gd_req__safety__wp_status :status: valid + :tags: prio_1_automation :complies: std_req__iso26262__management_6468 Safety plans shall contain work product references where the accumulated status is derived automatically. diff --git a/process/process_areas/tool_management/guidance/tool_management_reqs.rst b/process/process_areas/tool_management/guidance/tool_management_reqs.rst index 8690a59e44..aea9569095 100644 --- a/process/process_areas/tool_management/guidance/tool_management_reqs.rst +++ b/process/process_areas/tool_management/guidance/tool_management_reqs.rst @@ -25,7 +25,7 @@ Tool Verification Report Attributes .. gd_req:: Tool attribute: UID :id: gd_req__tool__attr_uid :status: valid - :tags: tool_management, attribute, mandatory + :tags: done_automation, tool_management, attribute, mandatory :satisfies: wf__tool__create_tool_verification_report :complies: std_req__iso26262__support_1141, std_req__aspice_40__SUP-8-BP1 @@ -34,7 +34,7 @@ Tool Verification Report Attributes .. gd_req:: Tool attribute: status :id: gd_req__tool__attr_status :status: valid - :tags: tool_management, attribute, mandatory + :tags: prio_1_automation, tool_management, attribute, mandatory :satisfies: wf__tool__create_tool_verification_report :complies: std_req__iso26262__support_1141, std_req__aspice_40__SUP-8-BP1 @@ -49,7 +49,7 @@ Tool Verification Report Attributes .. gd_req:: Tool attribute:: safety affected :id: gd_req__tool__attr_safety_affected :status: valid - :tags: tool_management, attribute, mandatory + :tags: manual, tool_management, attribute, mandatory :satisfies: wf__tool__create_tool_verification_report :complies: std_req__iso26262__support_1141, std_req__aspice_40__SUP-8-BP1 @@ -59,9 +59,9 @@ Tool Verification Report Attributes * No .. gd_req:: Tool attribute:: security affected - :id: gd_req__tool_attr_security_affected + :id: gd_req__tool__attr_security_affected :status: valid - :tags: tool_management, attribute, mandatory + :tags: manual, tool_management, attribute, mandatory :satisfies: wf__tool__create_tool_verification_report :complies: std_req__isosae21434__org_management_5451, std_req__aspice_40__SUP-8-BP1 @@ -77,7 +77,7 @@ Tool Verification Report Checks .. gd_req:: Tool Management mandatory attributes provided :id: gd_req__tool__check_mandatory :status: valid - :tags: tool_management, attribute, check + :tags: prio_1_automation, tool_management, attribute, check :satisfies: wf__tool__create_tool_verification_report :complies: std_req__aspice_40__SUP-8-BP1 diff --git a/process/process_areas/verification/guidance/verification_guideline.rst b/process/process_areas/verification/guidance/verification_guideline.rst index 67c96739ad..9f5a471d19 100644 --- a/process/process_areas/verification/guidance/verification_guideline.rst +++ b/process/process_areas/verification/guidance/verification_guideline.rst @@ -75,7 +75,7 @@ Simplified in a nutshell: More information on the concept of requirements verification can be found in :ref:`requirement_verification_workflow` -A more detailed description of how to link code to requirements is available here: :need:`gd_req__link_tests` +A more detailed description of how to link code to requirements is available here: :need:`gd_req__verification__link_tests` Traceability matrix and consistency checks will be automatically established with tool support. @@ -120,7 +120,7 @@ Reuse of existing test cases In case pre-existing test cases from components can be used, they have to be reviewed and checked for their fit to the defined requirements. The test cases should get patch files to cover missing specification parts following :need:`gd_guidl__verification_specification` and have the necessary -:need:`gd_req__link_tests` followed. These patches are applied on top of the untouched actual +:need:`gd_req__verification__link_tests` followed. These patches are applied on top of the untouched actual implementation of the software code. Additionally needed test cases should be added as standalone parts. They are developed as any diff --git a/process/process_areas/verification/guidance/verification_process_toolreqs.rst b/process/process_areas/verification/guidance/verification_process_toolreqs.rst index dcf11c4c9f..b6a6e099ad 100644 --- a/process/process_areas/verification/guidance/verification_process_toolreqs.rst +++ b/process/process_areas/verification/guidance/verification_process_toolreqs.rst @@ -19,8 +19,9 @@ Test Linking to Requirements .. gd_req:: Linking Requirements to Tests - :id: gd_req__link_tests + :id: gd_req__verification__link_tests :status: valid + :tags: prio_1_automation, verification :complies: std_req__iso26262__support_6432 For linking test suites to requirements following metadata shall be used: @@ -48,8 +49,9 @@ Test Linking to Requirements and :need:`gd_guidl__verification_specification`. .. gd_req:: Linking Requirements to Tests (C++) - :id: gd_req__link_tests_cpp + :id: gd_req__verification__link_tests_cpp :status: valid + :tags: prio_1_automation, verification :complies: std_req__iso26262__support_6432 For linking C++ test suites to requirements **record properties** shall be used. Attributes @@ -78,8 +80,9 @@ Test Linking to Requirements } .. gd_req:: Linking Requirements to Tests (Python) - :id: gd_req__link_tests_python + :id: gd_req__verification__link_tests_python :status: valid + :tags: prio_1_automation, verification :complies: std_req__iso26262__support_6432 For linking python tests to requirements **metadata** shall be used. Attributes which are @@ -100,8 +103,9 @@ Test Linking to Requirements record_property("Description","") .. gd_req:: Linking Requirements to Tests (Rust) - :id: gd_req__link_tests_rust + :id: gd_req__verification__link_tests_rust :status: valid + :tags: prio_1_automation, verification :complies: std_req__iso26262__support_6432 For linking Rust tests to requirements **#[record_property]** shall be used: @@ -121,21 +125,24 @@ Test Linking to Requirements } .. gd_req:: Test Independence - :id: gd_req__verification_independence + :id: gd_req__verification__independence :status: valid + :tags: done_automation, verification The approver of a pull request shall differ from the author(s) of the pull request in all pull requests. .. gd_req:: Verification Reporting - :id: gd_req__verification_reporting + :id: gd_req__verification__reporting :status: valid + :tags: prio_1_automation, verification Verification reports shall be automatically generated. These may be independent documents (i.e. not integrated into sphinx documentation). The content of the reports is specified in :need:`gd_temp__platform_ver_report` and :need:`gd_temp__mod_ver_report`. .. gd_req:: Verification Documentation Checks - :id: gd_req__verification_checks + :id: gd_req__verification__checks :status: valid + :tags: prio_1_automation, verification The following checks shall be implemented on test metadata: @@ -147,8 +154,9 @@ Test Linking to Requirements - If Partially/FullyVerifies are set in Unit Test these shall link to Component Requirements .. gd_req:: Verification Documentation Checks Extended - :id: gd_req__verification_checks_extended + :id: gd_req__verification__checks_extended :status: draft + :tags: verification The following checks shall be implemented on test metadata: diff --git a/process/process_areas/verification/guidance/verification_specification.rst b/process/process_areas/verification/guidance/verification_specification.rst index 03a9bee4b3..59d3ef6744 100644 --- a/process/process_areas/verification/guidance/verification_specification.rst +++ b/process/process_areas/verification/guidance/verification_specification.rst @@ -122,4 +122,4 @@ A example for a bad test description could be: Additional information can also be found in :need:`gd_guidl__verification_guide`. The specification is part of the test implementation and has to comply to the requirements -specified in :need:`gd_req__link_tests`. +specified in :need:`gd_req__verification__link_tests`. diff --git a/process/process_areas/verification/guidance/verification_templates.rst b/process/process_areas/verification/guidance/verification_templates.rst index bfa9f000bd..7f7b237996 100644 --- a/process/process_areas/verification/guidance/verification_templates.rst +++ b/process/process_areas/verification/guidance/verification_templates.rst @@ -23,7 +23,7 @@ gTest gTest is the preferred and accepted test framework to write test cases for C/C++ code in the project. Each test case requires a link to one or more requirement/design element. -A more detailed description of how to link code to requirements is available here: :need:`gd_req__link_tests_cpp` +A more detailed description of how to link code to requirements is available here: :need:`gd_req__verification__link_tests_cpp` Writing test cases using gTest shall follow the recommendations from the official gTest documentation. For very basic start follow http://google.github.io/googletest/primer.html @@ -38,7 +38,7 @@ Details on the definition an the test organization in rust can be found here: https://doc.rust-lang.org/book/ch11-03-test-organization.html Each test case requires a link to one or more requirement/design element. -A more detailed description of how to link code to requirements is available here: :need:`gd_req__link_tests_rust` +A more detailed description of how to link code to requirements is available here: :need:`gd_req__verification__link_tests_rust` Writing test cases in rust shall follow the recommendations from the official rust documentation. https://doc.rust-lang.org/book/ch11-01-writing-tests.html @@ -51,7 +51,7 @@ Writing test cases in python should be done using pytest. Note that python unittest does not support metatags and therefore should not be considered as test framework. Each test case requires a link to one or more requirement/design element. -A more detailed description of how to link code to requirements is available here: :need:`gd_req__link_tests_python` +A more detailed description of how to link code to requirements is available here: :need:`gd_req__verification__link_tests_python` Writing test cases in python shall follow the recommendations from the official python and community documentation. https://docs.python-guide.org/writing/tests/ diff --git a/process/process_areas/verification/verification_concept.rst b/process/process_areas/verification/verification_concept.rst index 51de21b42c..9cda87ae2f 100644 --- a/process/process_areas/verification/verification_concept.rst +++ b/process/process_areas/verification/verification_concept.rst @@ -180,7 +180,7 @@ stakeholder requirements as stakeholder requirements describe the platform behav Requirements always include Assumptions Of Use. -A more detailed description of how to link code to requirements is available here: :need:`gd_req__link_tests` +A more detailed description of how to link code to requirements is available here: :need:`gd_req__verification__link_tests` Workflow for Verification Guidance ---------------------------------- diff --git a/process/process_areas/verification/workflows.rst b/process/process_areas/verification/workflows.rst index e0094ff682..8e2114bfb3 100644 --- a/process/process_areas/verification/workflows.rst +++ b/process/process_areas/verification/workflows.rst @@ -55,7 +55,7 @@ Workflow Verification :supported_by: rl__safety_manager :input: wp__component_arch, wp__sw_implementation, wp__requirements__comp, wp__requirements__comp_aou, wp__verification__plan :output: wp__verification__comp_int_test - :contains: gd_req__link_tests, gd_guidl__verification_specification + :contains: gd_req__verification__link_tests, gd_guidl__verification_specification :has: doc_concept__verification__process, doc_getstrt__verification__process Component Integration test cases are based on component architecture and component requirements. @@ -79,7 +79,7 @@ Workflow Verification :input: wp__feature_arch, wp__requirements__feat, wp__requirements__feat_aou, wp__verification__plan :output: wp__verification__feat_int_test - :contains: gd_req__link_tests, gd_guidl__verification_specification + :contains: gd_req__verification__link_tests, gd_guidl__verification_specification :has: doc_concept__verification__process, doc_getstrt__verification__process Feature Integration test cases are based on feature requirements and architecture of a specific feature. @@ -98,7 +98,7 @@ Workflow Verification :supported_by: rl__safety_manager :input: wp__requirements__stkh, wp__verification__plan :output: wp__verification__platform_test - :contains: gd_req__link_tests, gd_guidl__verification_specification + :contains: gd_req__verification__link_tests, gd_guidl__verification_specification :has: doc_concept__verification__process, doc_getstrt__verification__process Platform test cases are based on Stakeholder requirements. This is the highest test level.