こんばんわ。

 今日のポイント

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 ・プログラミングには「構造化設計」と「オブジェクト指向設計」がある

 ・それぞれ長所短所があり使い分けが大事

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

 今日は雪が降りましたしっかり。朝にジム行って正解でしたね。めちゃくちゃ。

昼寝してたら「え、雪じゃん。」みたいな。びっくりしたわ。すぐに雨になってましたが外出るの嫌でしたね。バイク滑るし。なんならもう雪で喜ぶ年じゃないし。。

 

 大人になった実感として「雪が嬉しく無くなった」 のは大きいんじゃないですかね。(笑)

 

 今日は朝ジム行って勉強して洗い物して風呂も洗ったから今日もうブログ書いたらめちゃくちゃ偉いんですよね。頑張っていきましょう。みなさん少しの事でも自分の事褒めてあげましょうね。

 

 

 今回は具体的な単語や使われる技術の前に、まず「そもそもの考え方」というか。

そんな抽象的なお話をしていきたいと思います。

 

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

 

 プログラムを作成するだけでなく何を作成するにも、ルールを決め、効率良く行いたいものです。うまくいけば、ある作業方法よりも効率良く働けたり後の作業を捗らせる事が出来ます

 

 ソフトウェア設計を作る際の手法に「構造化設計」「オブジェクト指向」の二つが

あります。どちらの設計手段に関しても作業や作る費用(コスト)削減に繋がりますが、削減するコストの種類や特徴なども異なります。

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

・構造化設計 → イニシャルコスト(開発コスト)を削減できる

・オブジェクト設計 → ランニングコスト(保守コスト)を削減できる

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 構造化設計

   構造化設計はイニシャルコスト(開発時にかかるコスト)を削減できる。
そのため、「まだ世の中にないものを開発する」「新しいビジネスやサービス」などを開発する際に、構造化設計によって、イニシャルコストを減らす事で、その事業がヒットしなくても損害を抑えられる事が出来ます。
 
   構造化設計では「アウトサイドイン・プリンシプン」という設計の原則に従って行います。画面や処理の流れから設計していく方法です。仕事の流れそのものをコードで表現していくので処理の繋がりを把握することが出来るが、プログラムを変更する際に変更箇所が多いのがデメリットとされています。
 

 オブジェクト設計

   オブジェクト設計では1年後、3年後、10年後のランニングコストを削減できるように案を練りながら、開発時の実行工程をどれだけ抑えられるかを考えなければならない。長期間に渡る保守が容易なのはオブジェクト設計でしょう。

 

  オブジェクト設計では構造化設計とは相反する「インサイドアウト・プリンシプル」という設計の原則です。構造化設計の画面などの処理からでは無く、内側のデータから設計していきます。画面などに依存しないデータから作っていくので処理の流れに変更があっても影響を受ける事が少なくなります。

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

 このようにどちらともメリットとデメリットがあります。柔軟にこのような設計方法の適正に開発出来る事が良いでしょう。

 

 

 オブジェクト指向設計に必要な「ソフトウェアの変更に強い設計」の際に必要なのが「作業工程をかけずに変更作業したい」「変更の際は場所がすぐに特定出来る」の条件が必要になる。次回はこの条件に当てはまるように4つの原則「カプセル化」「データ隠蔽」「抽象化」「情報隠蔽」が必要になります。この原則をピックアップしていきます。

 

 

 少し長くなりましたが今回は以上です。少しでも皆様の勉強の役に立てたら。ではぴーす。