|
15 | 15 | .. document:: [Component Name] Implementation Inspection Checklist |
16 | 16 | :id: doc__mod_temp_component_name_impl_inspection |
17 | 17 | :status: draft |
18 | | - :version: 1 |
| 18 | + :version: 2 |
19 | 19 | :safety: ASIL_B |
20 | 20 | :security: YES |
21 | 21 | :realizes: wp__sw_implementation_inspection |
|
35 | 35 | Purpose |
36 | 36 | ------- |
37 | 37 |
|
38 | | -The purpose of this checklist is to collect the topics to be checked during implementation, |
39 | | -i.e. in the detailed design and the source code of the units. |
| 38 | +The purpose of this checklist is to define the topics to be reviewed during implementation, |
| 39 | +including the detailed design and unit source code. Unit testing and structural coverage are |
| 40 | +addressed separately through the verification activities and report. |
40 | 41 |
|
41 | | -The checklist shall be agnostic to which programming language is used. Differences shall be treated |
42 | | -by linking to C++ or Rust specific documentation. |
| 42 | +The checklist is intended to be language-agnostic. Language-specific guidance should be referenced |
| 43 | +where applicable, for example, in the C++ or Rust documentation. |
43 | 44 |
|
44 | 45 | Conduct |
45 | 46 | ------- |
46 | 47 |
|
47 | | -As described in the concept :need:`doc_concept__wp_inspections` the following "inspection roles" are expected to be filled: |
| 48 | +As described in the concept :need:`doc_concept__wp_inspections`, the following inspection roles are expected to be assigned: |
48 | 49 |
|
49 | | -- content responsible (author): <contributor/committer explicitly named here, who is the main author, as can be seen in config mgt tooling> |
50 | | -- reviewer: <contributor/committer explicitly named here, who is the main content reviewer, must be different from content responsible> |
51 | | -- moderator: <committer explicitly named here, who is is the safety manager, security manager or quality manager initiating the inspection> |
| 50 | +- content responsible (author): <contributor/committer explicitly named here who is the main author, as shown in configuration management tooling> |
| 51 | +- reviewer: <contributor/committer explicitly named here who is the main content reviewer; this person must differ from the content responsible> |
| 52 | +- moderator: <committer explicitly named here who initiates the inspection as the safety, security, or quality manager> |
52 | 53 |
|
53 | 54 | Checklist |
54 | 55 | --------- |
55 | 56 |
|
56 | | -It is mandatory to fill in the "passed" column with "yes" or "no" for each checklist item and additionally to add in the remarks why it is passed or not passed. |
57 | | -In case of "no" an issue link to the issue tracking system has to be added in the last column (if not solved in the same issue). |
| 57 | +Enter "yes" or "no" in the "Passed" column for each checklist item, and explain the result in the "Remarks" column. |
| 58 | +If "no" is entered, add a link to the corresponding issue in the "Issue link" column unless the finding is already tracked in the issue conducting the inspection. |
58 | 59 | See also :need:`doc_concept__wp_inspections` for further information about reviews in general and inspection in particular. |
59 | 60 |
|
60 | 61 | .. list-table:: Implementation Checklist |
61 | 62 | :header-rows: 1 |
62 | 63 | :widths: 10,30,50,6,6,8 |
63 | 64 |
|
64 | 65 | * - Review ID |
65 | | - - Acceptance Criteria |
| 66 | + - Acceptance criteria |
66 | 67 | - Guidance |
67 | 68 | - Passed |
68 | 69 | - Remarks |
69 | 70 | - Issue link |
70 | 71 | * - IMPL_01_01 |
71 | | - - Is the design according to guidelines? |
72 | | - - see :need:`gd_temp__detailed_design` and :need:`doc_concept__imp_concept` |
73 | | - (e.g. are the views done with the proposed UML diagrams) |
| 72 | + - Does the detailed design follow the applicable project guidelines? |
| 73 | + - See :need:`gd_temp__detailed_design` and :need:`doc_concept__imp_concept`. |
| 74 | + For example, check whether design views use the notations recommended by the project. |
74 | 75 | - |
75 | 76 | - |
76 | 77 | - |
77 | 78 | * - IMPL_01_02 |
78 | | - - Is the implementation according to specification? |
79 | | - - Check if the linked component requirements are fulfilled |
80 | | - and detailed design also matches architecture description. |
| 79 | + - Does the implementation conform to the allocated requirements, architecture, and detailed design? |
| 80 | + - Check whether the linked component requirements are fulfilled and whether the detailed design is consistent with the architecture description. |
81 | 81 | - |
82 | 82 | - |
83 | 83 | - |
84 | 84 | * - IMPL_01_03 |
85 | | - - Are the design decisions and constraints documented? |
86 | | - - Check also for plausibility of these. |
| 85 | + - Are the design decisions, assumptions, and constraints documented and justified? |
| 86 | + - Check whether the rationale is clear and consistent with the requirements and architecture. |
87 | 87 | - |
88 | 88 | - |
89 | 89 | - |
90 | 90 | * - IMPL_01_04 |
91 | | - - Are all external libraries used by the component specified in the detailed design? |
92 | | - - Check the automated dependency analysis. |
93 | | - Also make sure ASIL rated units also only use ASIL rated libraries. |
| 91 | + - Are all external libraries and other third-party dependencies used by the component identified and assessed for the intended use? |
| 92 | + - Check the automated dependency analysis and confirm that relevant safety evidence, assumptions, constraints, and usage conditions are documented. Where a dependency is used in a safety-related context, justify its suitability for the required safety integrity level; do not assume that an "ASIL-rated" label alone demonstrates suitability. |
94 | 93 | - |
95 | 94 | - |
96 | 95 | - |
97 | 96 | * - IMPL_02_01 |
98 | | - - Are the static and dynamic code analysis reports verified for violations? |
99 | | - - All violations in ASIL related code must be justified. This includes the checks of coding guidelines. |
| 97 | + - Have the static and dynamic code-analysis results been reviewed, and have the findings been resolved or justified? |
| 98 | + - Review findings against the applicable coding guidelines. Resolve findings or document and approve the rationale for accepted deviations, especially in safety-related code. |
100 | 99 | - |
101 | 100 | - |
102 | 101 | - |
103 | 102 | * - IMPL_02_02 |
104 | | - - Do manual checks, that are derived from the coding guideline, find no safety critical error? |
105 | | - - Check this for the programming language used (e.g. C++ <link_to_checks_list>, Rust <link_to_checks_list>) |
| 103 | + - Have the manual checks required by the applicable coding guidelines been performed, with findings resolved or justified? |
| 104 | + - Use the checks applicable to the programming language (e.g., C++ <link_to_checks_list>, Rust <link_to_checks_list>). |
106 | 105 | - |
107 | 106 | - |
108 | 107 | - |
109 | 108 | * - IMPL_03_01 |
110 | | - - Do the UID of the interface in component documentation match the implemented interface names of the unit? |
111 | | - - Compare interface UIDs (which contains the interface name) in component architecture/detailed design documentation |
112 | | - with public interfaces in source code (e.g. API headers, traits, public types/functions). |
| 109 | + - Are the interface UIDs in the component documentation traceable to the corresponding implemented public interfaces? |
| 110 | + - Compare the interface UIDs in the component architecture and detailed design documentation with the corresponding public interfaces in the source code (e.g., API headers, traits, public types, or functions). The identifiers need not match source-level names exactly, but their correspondence should be clear. |
113 | 111 | - |
114 | 112 | - |
115 | 113 | - |
116 | 114 | * - IMPL_03_02 |
117 | | - - Are detailed design and source code consistent and is the respective traceability established ? |
118 | | - - Check if available static and dynamic design diagrams and the textual descriptions match the code |
119 | | - (e.g. naming of interfaces, units, functions/operations/messages, data types). |
120 | | - Check if the folder/file names of the units and its source code matches the intended functionality. |
121 | | - For example if a unit is named "communication" it should not contain code for "data processing". |
| 115 | + - Are the detailed design and source code consistent, and is traceability between them established? |
| 116 | + - Check whether available static and dynamic design diagrams and textual descriptions match the code (e.g., the names of interfaces, units, functions, operations, messages, and data types). |
| 117 | + Where required by project conventions, check whether unit folder and file names reflect their intended functionality. For example, a unit named "communication" should not contain unrelated data-processing code. |
122 | 118 | - |
123 | 119 | - |
124 | 120 | - |
0 commit comments