はじめに
しばらく前の話ですが仕事をしている際に、とあるベンダの資料の中でセキュリティ要求事項を MUST や SHOULD で色分けしているやり方を見かけました。
今後も使えるやり方だなと思い、パクろうと思っているのですが、言語を統一しておかないと MUST って何? SHOULD との差は?というように語弊を生みかねません。
いいやり方はないかなと探してみたところ、 RFC 2119 で MUST や SHOULD のような「要請の程度を示すために用いるキーワード(命令的語句/Imperatives)」についてベストプラクティスが規定されていることを知りました。
自分用のメモとしてまとめておきます。
命令的語句の一覧
以下は RFC 2119 に記載されている語句とその意味の一覧です。
# | キーワード | 意味 | 要求の程度 |
1 | MUST | しなければならない | 絶対的な要請事項であることを示す |
2 | REQUIRED | 要求されている | |
3 | SHALL | することになる | |
4 | MUST NOT | してはならない | 絶対的な禁止事項であることを示す |
5 | SHALL NOT | することはない | |
6 | SHOULD | する必要がある | 一般に要請事項とされるが、特定の状況下では従う必要性がないことを示し、慎重な判断が求められる |
7 | RECOMMENDED | 推奨される | |
8 | SHOULD NOT | しないほうがよい | 一般に禁止事項とされるが、特定の状況下では従う必要がないことを示し、慎重な判断が求められる |
9 | NOT RECCOMENDED | 推奨されない | |
10 | MAY | してもよい | ある要素の実装・使用が選択的であることを示す |
11 | OPTIONAL | 選択できる |
引用:Key words for use in RFCs to Indicate Requirement Levels
以上