システム開発者の皆様へ、システム設計方法にはいくつかあるが、私が長年用いてる階層的手法があります。階層的手法の考え方は
その概念はシステム全体から最終的なプログラムモジュールへとトップダウンで階層的に分割して設計する技法です。上位のレベルでは、分割の構成要素は、サブシステム、ジョブ等、プログラムモジュールとは直接対応しない概念的まとまりになります。
私の理解は単純明快、例えば、給与明細書作成システムの場合
インプット、プロセス、アウトプットについて順次ブレイクダウンして詳細化してゆくこと。
注:図ー1の「コール」はサブルーチンを言い表してはいない(プログラム段階ではサブルーチンコール)
図―1:階層的手法
図ー2から図ー3にするとフローはスッキリします。図―3をブレイクダウンして順次詳細化を行います。
図―2:組織とデータの例
図―3:組織とデータの例
詳細はダイクストラの構造化プログラミングとはをご覧ください
上記、リンク先内容を集約したダイクストラの構造化プログラミングをご覧ください
ダイクストラは、プログラマは正しいプログラムを作り出すばかりでなく納得のいくやり方で正しさを証明(検証)することも仕事の一つであるという立場を取っていた。プログラムがどんなに巨大化しても良く構造化(well-structured)されていれば、サイズに関係なくその正当性を検証できるというのが彼の信念であった。well-formed formula(論理式)に因んでいるwell-structuredには、数理論理学の証明論をソースコードにも導入する意図が込められていた。1967年のノート「Towards Correct Programs」でダイクストラは、良く構造化するための三つのメンタルツール(mental tool)をこのように示している。
プログラムが正しいことを確認するには、それを証明しなければならない。テストはプログラムに対する疑いを全て取り除くには不十分であるという意見が上がった。これについてダイクストラは「テストはバグの存在を示すには有効だが、バグが存在しないことは証明できない」という表現を好んで用いた。構造化プログラミングの支持者らは、プログラムの正しさの重要性と証明の方法や表明(assertion)の使い方について熱心に説いた。理想的にはテストだけに依存せず、プログラムの正しさの証明も与えるべきだと言われている。所与のプログラムの正しさを後付けで証明することは、はじめから証明を意識して作られたプログラムの場合より難しいことが経験的に知られている。ダイクストラは、プログラミングと同時にプログラムの証明を(わずかに証明を先行して)進めることを推奨している。そのようなアプローチでプログラムの正当性の問題にあたれば、複雑な問題であっても知的管理が可能であると述べた。しかし形式的な証明は、時として非人間的な長さの記述になることもダイクストラは認めている]。同氏は、プログラムの証明が形式的であることにはこだわらないという意見を明らかにした。 エドガー・ダイクストラ(Edsger Wybe Dijkstra, 1930年5月11日 - 2002年8月6日)は、オランダ人の計算機科学者。1972年、プログラミング言語の基礎研究への貢献に対してチューリング賞を受賞。構造化プログラミングの提唱者。1984年から2002年に亡くなるまでテキサス大学オースティン校の計算機科学の Schlumberger Centennial Chair を務めた
エドガー・ダイクストラは、コンピュータ科学のパイオニアとして知られ、構造化プログラミングの概念を提唱した人物です。彼の思想は、複雑なシステムをより理解しやすく、保守しやすい構造に分割するという考えに基づいています。
ダイクストラの提唱する階層的手法は、システムを複数の抽象レベルに分割し、各レベルがより下位のレベルの機能を呼び出すことで、システム全体を構築するという考え方です。
詳細はエドガー・W・ダイクストラ著『謙虚なプログラマー』をご覧下さい。
日本語版はGoogle翻訳によるエドガー・W・ダイクストラ著『謙虚なプログラマー』をご覧ください
*この本はどこにも販売されていません。唯一無二の資料です。
下記は上記資料よりの抜粋です
プログラム構造の研究により、プログラム(同じタスクで同じ数学的内容を持つ代替プログラムでさえ)の知的管理性は大きく異なる可能性があることが明らかになりました。
今が変化をチャンスに変える時です。
新たなビジネス価値の創出や働き方の変革など、そして、
既存のビジネスのあり方や
システムをさらにITにより効率化し、コスト削減や従業員の
生産性向上を進めていくことが重要です。
業務フローの作成、IT導入補助金導入、インボイス対応、電子帳簿保存法対応、DX、RPA、など無料相談実施中です、
この機会にご一緒に業務改革を行いましょう
弊社のメンバーシップになりませんか。
OAコーディネターズとは