おれさまラボ

実際に手を動かして理解を深めるブログ。

要請の程度を示すために用いるキーワード

はじめに

しばらく前の話ですが仕事をしている際に、とあるベンダの資料の中でセキュリティ要求事項を 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

以上