###前提・実現したいこと
現在フローチャートを勉強しており、以下の記載方法がわからないため質問致します。
###発生している問題
処理に応じてDBのあるステータスを変更するフローチャート図を作成したのですが、添付の様な記載方法となってしまい、一つの処理に対し矢印が複数方向に対し向いていることに違和感を感じております。
正しい記載方法を教えて頂けると助かります。
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
ベストアンサー
フローチャートは、言葉がしめすように「処理の流れ」を図で表現するものなので、データベースとの関係性を表現するのは不向きと思います
どうしてもデータベースの絵を入れて表現したいのであれば、書かれた絵でも別にかまわないと思いますが、私なら「在庫マスタを更新する(STS=***)」という処理を書くと思います
特に違和感があるのは、「受入試験」「出荷試験」の条件分岐で右向きにsts更新の矢印が出ている部分ですね
条件分岐(ひし形)はプログラミングの「IF文」に相当します
条件によって処理の方向が変わることを表現する記号なので、「処理」を一緒に表現するのはおかしいです
「受入試験」の部分であれば
1)「受入試験を行う」(処理)
2)「在庫マスタのstsを【受入試験中】にする」(処理)
3)「試験結果を判定し、OKなら**へ、NGなら**へ(条件分岐)
という3つの手順に分解した方が、図が多少長くなっても処理が1つ1つが表現され網羅されるので、フローチャートを見た人により伝わりやすくなるかと思います
ちなみに、時間軸に沿って処理タイミングごとにDBや他処理部との関係性を表現する図では、UMLの「シーケンス図」というのがあります
私はこの図が大好きで、人への説明でよく使います
以上、ご参考まで
投稿2016/06/08 15:26
総合スコア3116
0
処理フローとしての矢印とステータス更新を表す矢印(「在庫マスタ」に向いている矢印のこと)が同じように見えることが、違和感の原因だと思います。
ステータス更新を表す矢印を点線にするなどして別の意味であることを分かりやすくするか、
rifuch様の回答にあるように、ステータス更新を矢印で表さないようにすれば、違和感は解消するかもしれません。
以下は私が感じた、ご質問とは別の違和感です。
見当違いな意見であれば、お読み捨てください。
-
"受け入れ試験"と"引当て"の間、および"出荷前試験"と"出庫"の間の矢印から、ステータス更新の矢印が伸びている
-> このステータス更新を行なう主体が誰なのか、分かりません。 -
出荷前試験でNGになった場合の処理が不明
-> まだ書いている途中? -
"返却"でステータスを"入庫"に更新していながら、"再利用"が yes だった際に再び"入庫"処理に移行している
-> ここで再びステータスを"入庫"に更新しているため、フローが何かおかしい気がする。 -
ご提示のフローだと、いったん出庫したものしか廃棄できないことになる。
投稿2016/06/08 10:32
総合スコア4791
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
在庫マスタをエンティティで表現しているのが違和感の原因では?
DB更新処理が一つの処理であれば、
入庫
入庫ステータス更新
のように処理を分ければ矢印は一つになりますし、DBの書き込み失敗のフローも書けます。
共通処理として図上で省略可能なのであれば、ステータス更新の処理は一つのブロックの内部で完結しているとして、矢印を書く必要は無いのではないでしょうか?
投稿2016/06/08 08:46
総合スコア1901
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
ご回答頂いた皆様、ありがとうございました。
頂いた意見の中から、今回は処理一つ一つを分解し、矢印が分散しないように対応したいと思います。
処理が多くなり見づらくなってしまった場合は、粒度を荒くし一つの処理の中でDB更新もあることを記載して対応してみます。
いくつかの回答からフローチャート図が適しているのではないかとあったので試しに書いてみましたが、より多くの処理を記述する必要がある(勉強不足のせいでそう感じただけかもしれませんが。。)と思い、今回の目的である「処理に応じてDBのあるステータスを変更する」という部分にフォーカスした場合フローチャートの方が適しているのでは?と判断しました。
今回の経験でUMLをより習得したいと思いましたので、今後も勉強を続けてまいります。
ベストアンサーにつきましては、解決策を提案頂き且つ最も自分の中で落とし込めたものを選択しております。
それ以外の方から頂いた回答につきましても、大変参考になりました。
この場をかりてお礼申し上げます。
投稿2016/06/09 02:35
総合スコア63
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
フローチャートは万能ではありません。例えば並列処理を図示することは不可能です。本件の図示であれば、データフローダイアログを先に作っておくことが一考だと思います。
ちなみに、使用言語がC言語等の手続き型ならば、フローチャートを作ることができる段階までプログラムを整理できているならば直接ソースコードを書き下すことができる場合も少なくないです。最近は開発環境も整っているのでフローチャートはあまり使わなくなってきている傾向が見られます。(ソースの説明のためにフローチャートを作ることはありますが、本末転倒なので釈然としないと思っています。)
フローチャートよりも前段階のグラフづくりも軽視できません。
投稿2016/06/08 12:40
総合スコア4853
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/09 00:28