プログラミングを難しくさせているものに、抽象的な概念があります。
今回の血糖値管理のプログラミングでも、概念的な言葉でつまずきました。
ソフトウエアアーキテクチャという、システムを特性・要件・機能などで分割して部品(コンポーネント)化し、部品間の関係性も定義した概念があります。
システムに必要な特性・要件・機能などを抽象化し、特性・要件・機能ごとに分割して汎用的な部品(コンポーネント)にすることによって、巨大化、複雑化するシステム開発に対応しようと生み出されました。
Visual Basicで開発に着手するとき、どこから手を付けていいのか、途方に暮れるありさまでした。
VB.NETとVisual Basicの違いさえも分かっていませんでした。
今思えば、どのようなコンポーネントを組み合わせて開発をしていくのか、分かっていなかったために、五里霧中の中にいたのだと思います。
言語がVisual Basic、C#、Javaであれ、開発に入る前に、共通する概念をしっかりと把握しておくことが大切だと思いました。
この概念は汎用的なものなので、一度きちんと理解しておけば、さまざまな言語(VB、C#、Javaなど)や開発システム(Webアプリ、Windowsアプリなど)に応用できます。
その概念に基づいて、今回の開発をアーキテクチャごとに分類すると、次のようになります。
開発言語 : Visual Basic
統合開発環境(IDE) : Visual Studio 2022
アプリケーション開発・実行環境 : .NET Framework
データベース : Microsoft Access
.NET Framework には、Webアプリの開発・実行環境、Windowsアプリの開発・実行環境、データアクセスなどのためのクラスライブラリというものがそれぞれにあります。
今回は、ローカルパソコンで動作するプログラム作成用の「Windows フォーム アプリケーション」クラスライブラリを使用しました。
統合開発環境(IDE)のVisual Studio 2022では、開発をプロジェクトという単位で行います。
開発の第一歩は、開発のためのプロジェクトを作成することです。
このプロジェクトに開発に使用する言語、クラスライブラリ、データソース(データベース)などを指定していきます。
プロジェクトの作成でアプリケーション開発・実行環境に「Windowsフォームアプリケーション(.Net Framework)」、言語に「Visual Basic」を指定しました。
プロジェクト名は「BloodSuger」と名付けました。
データベースの操作は ADO.NET という クラスライブラリ を使用します。
ADO.NET は、データをメモリに格納したデータセットという形にして、データの作成、読み取り、更新、削除 (CRUD) 操作を可能にします。
ADO.NET クラスライブラリを使うことにより、データベースの種類(Access、MySQLなど)が違っていても、同じ方法でCRUDを行うことができるようになります。
データベースをVisual Studio 2022に指定することで、指定したデータベースに ADO.NET を使って操作できるようになります。
このように、Visual Studio 2022 に、開発のための言語、開発・実行環境、データベースを指定していきます。
アーキテクチャできっちり分割され、それぞれの関係性が定義されているので、言語がC#になっても、Visual Studio 2022 にC#を指定すれば、C#を使って開発できるようになります。
(実は、この血糖値管理プログラムをC#で作ってみようと思っているところです。)
先ほど、VB.NETとVisual Basicの違いさえも分からなかったと書きましたが、今ならよくわかります。
「Visual Basic」は言語そのものを指し、「VB.NET」は言語VB(Visual Basic)とアプリケーション開発・実行環境の.NET Frameworkを一つにしたものを指しています。
ちなみに、Visual Basicの開発・実行環境は .NET Framework になるため、Visual Basic と言ってもVB.NETと言っても同義といってよいようです。
今回は、小難しい内容になってしまいました。
そもそも人は、巨大化や複雑化したものをパッと見て理解することができない生き物です。
複雑なものは、物事の本質を抽出して、それを汎用的な部品にし、部品間の関係性を定義することで、大きな枠組みで全体を捉える必要があるようです。
これは何もソフトウエア開発に限ったことではありません。
複雑なことに出くわしたとき、その本質を見極めて、まず全体を捉えていく力を、養っていきたいものだと思った次第です。
余談ですが・・
腰痛は回復に向かっていまが、長時間イスに座ったり、長時間の歩行の際には、コルセットの補助が必要です。病院に行って診てもらうことも考えています。
バードフィーダー(鳥のエサ台)を設置後、1週間目くらいからシジュウカラ(4羽)が頻繁に訪れるようになりました。メジロのためにヒヨドリ除けのカゴにミカンを入れているのですが、こちらは訪れてくれません。
小鳥がエサに困ったら、来てくれればよいので、そっと待ちます。
コメント