マイクを持てば酔っぱらい

~カラオケをこよなく愛するITシステムエンジニアのブログ~

2019年06月

「要求」と「要件」の違い

 ソフトウェア/ITシステムの世界では,どんなものを作るかを決める工程である「要求分析」や「要件定義」が重要だと言われています。ソフトウェア/ITシステムは目に見えないもの(不可視性)なので,何を作りたいのか,どういう機能や品質を欲しているのかを具体的に表現することが難しいのです。ソフトウェア/ITシステムの開発が失敗する理由を尋ねるアンケートを取ると,「要件定義の不備・不調」という回答が常に上位に来ます。

 ですから,この世界では要求分析や要件定義に関する研究や実践が盛んに行われており,その考え方やノウハウが多くの人たちから発信されています。その際に「要求」と「要件」という似て非なる言葉が登場します。この「要求」と「要件」の使い分け方をご存じでしょうか? 世間で紹介されているものを一部ご紹介します。

要求要件
ニーズや要望も含まれる開発すると約束・合意したもの
整理されていない重複や範囲外を除去し整理されたもの
ユーザー(利用者)が起案ベンダー(開発者)が承認
文書化されていないものも含む文書化されたもの
システム/ソフトウェア以外も含まれるシステム/ソフトウェアに関するもののみ

 どれも一理ある考え方です。これらについて,あたかもソフトウェア/IT業界内の慣例であるかのような発信をされている記事もあるのですが,それは違います。これらはあくまでも,個々の組織,プロジェクト,資料等の中で定義される位置づけのものであり,業界内の統一規則/見解ではありません。

 実は「要求」と「要件」は使い分けるものではありません。「JIS X 0020:情報処理用語(システム開発)」では,英語の requirement の訳として「要求」「要件」どちらを用いてもよいと規定されているのです。JIS(日本産業規格,2019年6月までは日本工業規格)の規定ですから,これこそが業界規則です。訳知り顔で「要求は△△△,要件は▲▲▲ということだよ」などと悦に入っていた方(ちょっと前までの私です…)は,知識をアップデートしておきましょう。

 ですが,例えば「取りあえずも含めた要求」と「合意した要求」という表現を使うのって,まどろっこしいと思いませんか? 上表のような「要求」と「要件」の定義が使われるのは,それなりに合理的な理由があるからだと思います。「要求工学」という言葉がありますが,これを「要件工学」とは言わないことから考えると,どちらか一方を使うなら「要求」という言葉の方がよいのかなとは思います。しかし「要求」という言葉は意味が広く,また日本語の「要求」は,例えば「待遇の改善を要求する」といったように強いニュアンスを伴うことが多いので,弱い要求も取り扱う状況では「要求」という言葉はちょっとしっくりこないと感じるのです。個人的には,原則として「要件」という言葉を使い,整理や合意がなされていないものを表す場合に「要求」という言葉を使うようにしています。上表に照らすと①と②の意味で使っていることになります。

 では「要求」と「要件」という言葉の使い方についてまとめます。

「要求」と「要件」の使い分け方について,ソフトウェア/IT業界としての統一規則/見解はない

「要求」と「要件」はどちらを用いてもよいことが,JIS で規定されている。

★同じ意味で「要求」と「要件」という2つの言葉を使うと混乱を招くので,個々の組織,プロジェクト,資料の中では,どちらか一方に統一する。

★意図的に「要求」と「要件」という2つの言葉を使う場合は,それらの定義を明確にする。

メールアプリ Thunderbird の文字化け対策

 私は,会社を退職して独立したことにより,仕事で使う道具を自分で選択できるようになったわけですが,執務環境,マシン(PC,モバイル),アプリ等様々な道具の中で選択に腐心したものの1つが,PCのメールアプリです。会社では Outlook を使っていたのですが,微妙な操作性の点でずっと不満があったので,別のサービスやアプリをいろいろ試しました。アプリのインストールをできれば避けたかったので,Web メールの Gmail や Outlook.com なども試しましたが,ほんのちょっとだけ操作性が満足できませんでした。それで最終的に行き着いたのは,オープンソースの草分け的存在である Thunderbird でした。インストールは必要ですが,長い開発の歴史によってかなり洗練されており,満足なメール環境が手に入ったことで,日々快適に仕事ができています。

 ところが,ここ1ヶ月ほど,数日に一度「文字化け」に襲われる現象が発生していました。作成したメールを下書き保存し,下書きを開くと文字化けするのです。再現性がない(何十回かに一回しか起こらない)ので原因がわからずストレスがたまっていましたが,試行錯誤していくうちに,文面の中に「1行の文字数が長い行」があると文字化けするらしいことがわかってきました。私は普段,半角60~70文字程度で改行を入れているので,ほとんどのメールではこの現象が起こらず,うっかりその改行を入れ忘れたり,引用されたメールの中に文字数の長い行が残っていたりした場合だけ,文字化けが起きていたようです。

 ご存じの方も多いと思いますが,文字化けは文字コード種別(JISコード,シフトJISコード,EUC,Unicode 等)の判別誤りによって発生します。しかし,昨今のアプリは文字コードの自動判別機能がしっかりしているので,文字化けに遭遇することはめったにありません。ですから「Thunderbird 文字化け」とかで検索しても,今回の現象の解決策は見つかりませんでした。しかし,どうやら1行の文字数が怪しいということから「メール 文字化け 文字数」とかで検索したところ,原因がほぼ特定できました。

 Thunderbird は,文字数の長い行に対して,一定の文字数ごとに改行を強制的に挿入する機能が標準設定されているのです(この機能は,画面表示上,長い行が折り返されているだけだと私は思っていました)。文字コード種別を誤認識している状況だと,改行の文字コードが予期せぬ場所に挿入されてしまい,元の文章と文字コードの解釈が変わってしまうことで文字化けが発生するのではないかと推察します。

 原因がわかったので,対策としては文字数の長い行を作らないように,こまめに改行を入れればいいのですが,引用の部分などで文字数の長い行が残っているかもしれませんので,Thunderbird の強制改行機能を無効にすることが根本的な対策になります。自分への備忘録として,この機能を設定する方法を記しておきます。

< 操作手順: Thunderbird強制改行機能無効化

  • メニュー「オプション」 > 「オプション」でオプション設定画面を開く
  • アイコン「詳細」 > ボタン「設定エディター」
  • 下記の設定を下記のように変更する
    mail.wrap_long_lines = false
    mailnews.wraplength = 0
     (mail.wrap_long_lines は無関係という説もあり)

 ただ,意図的に改行を入れた場合,スマートフォンのように表示幅が狭い画面でメールを見ると見づらくなるという弊害もあります。例えば,


(表示例)
スマートフォンのように表示幅が狭い画面 (←画面上の折り返し)
でメールを見ると, (←改行)
画面上の折り返しが改行よりも早く来てし


という感じで,中途半端な場所で改行が入るので,見づらくなります。これを回避するためにも,「読みやすさのための改行」という本質的でない編集は,本来ならしない方がいいわけです。箇条書きのように見やすさを重視するときは別として,普通の文章は「読みやすさのための改行」を入れずに,段落を変えるまで改行を入れないという本来の書き方でもよいかもしれません。この点についても,今後試行錯誤していこうと思います。

タグ絞り込み検索
記事検索
プロフィール

まっく・けぃ(Mak....

  • ライブドアブログ