見出し画像

プログラミングについて、考えてみました

みなさん、こんにちはー!ヾ(´∀`)ノ

今回はシステム開発における
『プログラミング』について考えていきます

最初にプログラムとはなにかを把握しておきたいと思います

プログラムとは

プログラムとは

『コンピューターに情報処理を行うための動作手順を指定するもの』

そして、指定するために用いられるのが
『プログラミング言語(機械言語)』です

プログラミング言語と聞いて
難しそうと思う方もいるかもしれませんが
そんなことはありません

プログラミング言語は
コンピュータ(機械)に命令するためのものなので
命令ひとつひとつは難しくないからです

また、プログラミング言語には色々な種類があります

自己紹介でもお話しましたが、私はいままでに
『COBOL、JAVA、C、Delphi、SQL、Access VBA』
等々のプログラミング言語を使ったシステム開発をしてきました

その中で私が思っていることは
プログラミング言語が違ったとしても
命令文は『たいして変わらない』ということです

簡単な例として『項目Aに"1"を設定する』をみてみましょう

COBOLの場合は

MOVE "1" TO 項目A.

CやJava等の場合は

項目A = "1";

記述の仕方は違いますが、なにを行っているかを考えれば
『項目Aに"1"を設定している』
にどちらもたどり着くと思います

どんな処理をしたいかをはっきりさせておけば
それをコンピュータへの命令文にすることは難しくないと思います

では、プログラミングにおいて
なにが重要なのか、考えていきたいと思います

アルゴリズムとは

プログラミングで重要なことは
『アルゴリズム』だと私は考えます

アルゴリズムとは

『コンピューターのプログラムに適用可能な手続きや手段』

つまり、
コンピュータに『どのような命令』『どのような順序』で行わせるか
ということで、これを考えたものが『設計』にあたります

わかりやすく説明するために
システム開発を例に挙げます

また、プロジェクトや会社によって
システム開発の工程の定義が異なるため
一般的なシステム開発で考えてみます

一般的なシステム開発の工程は

要件定義  ⇒ 基本設計  ⇒ 詳細設計
                  ⇓
総合テスト ⇐ 結合テスト ⇐ コーディング・単体テスト

という順序で行われます

2段にしているのは
『要件定義』の確認が『総合テスト』
『基本設計』の確認が『結合テスト』
『詳細設計』の確認が『単体テスト』
になるからです
よくV字の図で説明されているものです

そして、アルゴリズムを考える工程が『詳細設計』です

設計で大切なこと

詳細設計で大切なことは色々ありますが
今回はアルゴリズムに着目してみたいと思います

一言で表現すると

『誰が見てもわかりやすい』

ことだと思います

同じ結果を導き出すにしても
方法はいくつもあります

例えば、前述で例に挙げた『項目Aに"1"を設定する』で考えてみます

項目A = "1"
​定数1 = "1";
項目A = 定数1;

上に記述した内容は、どちらも結果的には『項目Aに"1"』が設定されます

このように簡単な例でも2パターンの記述をすることができました

では、具体的にどのように考えればいいのでしょうか

設計者によっては高度なテクニックを
使いたがる人がいるかもしれせん

ただ、そうしてしまうと
設計者個人の考え方に依ってしまうので
他の人が見た場合に、何が目的で行うのか
見えづらくなってしまいます

設計とは

『どれだけシンプルに、かつ、目的がわかるように考える』

ことだと私は思っています

上でも述べたように、同じ結果を導き出すにしても
方法はいくつもあるので、どの方法を選ぶかは
設計者の『センス』だと思います

ただ、『センス』といっても、生まれつき持ったものではなく
『どれだけシンプルに、かつ、目的がわかるように考える』ことを
『どれだけ意識を傾け、かつ、考えてきたか』
磨かれるものだと私は思います

#考え方 #哲学 #思考 #プログラム #プログラミング #アルゴリズム

#IT #システム開発 #詳細設計 #センス #スキしてみて

この記事が参加している募集

サポートしていただけたら、喜んでついていきます!