目的不明確の原因となるのは,主に以下のような事柄である.
次からこれらの詳細についてを述べる.
初心者は目的を抽出することが難しく,具体的な手段をチャートに記述してしまうことが多い. そのようなチャートは,日本語でプログラムを記述したような状態になってしまい,可読性がひどく損なわれてしまう.
多く見られる例が,条件分岐の条件に「(予約人数>残り座席数)」といったプログラムの記述をしてしまう例である. これは目的から考えると,「空席がある場合」と変更するという対処案を提示するのが妥当である.
プログラムがある程度書ける者は,とくにプログラムをそのままHCPチャートとして記述してしまうことが多い.このようなチャートの例を図[プログラムの手段ばかりが記述されているチャート]に示す.
節[目的不明確]の具体例でも解説したように,項目が位置する 階層が原因となって,目的が不明確になる場合がある.
ある項目に複数の目的が記述されていることが原因になる場合もある. 初心者は「-して,-する」という記述をしてしますことが多いが,こういった項目は分解することで対処が可能である.
ただし,項目に書かれているそれぞれが共に目的であればそのまま分解できるが, 手段が混入している場合はそのまま分解できないので,目的を抽出する必要がある.
HCPチャートにおける繰り返しは,繰り返し記号の項目に記載されている目的を,繰り返しで実現するということを表現するものであって, 実装の手段として繰り返しを使用する場合はチャートに記述しない. 図[繰り返しの項目に目的が存在しないチャート]のように実装手段としての繰り返しをチャートに記述してしまうと, 2行目のような目的のない項目が出現してしまう.この改善策として,図[エラー処理を導入して改善したチャート]のようにエラー処理を導入してチャートを改善するという対処案が考えられる.