中野島ロボット

小さなロボットの自作記事を書いています。

週刊中ロボ26 GR-LYCHEE ソフトウェア設計(その1)

はじめに

今週からはGR-LYCHEEコンテストのソフトウェアを設計して行きます。

 

序章

ソフトウェアの設計と言っても、小さいプログラムならつれずれなるままに 書いていっても良いのですが、ある程度のプログラムの大きさになると”少しは”設計も必要となります。

昔はソフトウェアの開発をする前にちゃんとした設計書を書いたりしましたが、最近はソフトウェアの部品や開発環境が充実しており、プロトタイピングの方が早いのであまり流行っていないようです。

今も使われているかは知りませんが、フローチャートとか、構造化表記とか、UMLなんてものが過去にはありました。今は本屋にいってもこの手の書籍は殆ど目にすることはないと思います。

・30年くらい前 フローチャート 

 ・20年くらい前 構造化表記

 ・10年くらい前 UML

特に操作がWEBインタフェースに統一され、プログラムがクラウド上で実装されるようになるとほとんどのプログラム構造が、ブラウザ+クラウド(データベース)だけで構造設計終了とかになってしまいました。

 ・現在 不要?

 

今記事を書いているブログや、Google、Amazon、楽天、ブラウザゲームなどの有用なサービスのほとんどが、WEBインタフェースで実装されています。また、普段よく使用している、Arduino IDEや3D BuilderなどのWindowsストアアプリやスマホのGoogleアプリなども、WEB技術で実装されています。 

また、昔の教科書では、良く使うプログラムはライブラリ化して使用しましょう等と書かれていますが、今はフレームワークと呼ばれるソフトウェアの基本構造と、良質なライブラリがパッケージ化されており、独自のソフトウェア部品を作る事はまれになっています。

そもそもセキュリティ上の問題や、要員スキルの問題もあり、むしろ最初に決めた標準以外ライブラリを作ったり、使ったりをするのを禁止する方向だったり、大きく制限したりしているのではないでしょうか。

操作画面を作って、お客さんに機能と使い方を説明して終わりなんてことも良くあります。

ただ、マイコンのような物理的に異なるボードや新しいセンサが出てきた場合、速度や容量が足りない、ライブラリが無いか利用できない等の何らかの制約がある時には自分で作る必要が出てきます。

今回もフレームワークはArduinoIDEを使い、ライブラリはセンサメーカから提供されているので、自分で作るのはサービス部分のみとなります。

 

つづく

前置きが長くなりましたが、次回から設計について記述して行きます。

 

購入品情報

フローチャート用のテンプレート。 新入社員の時に貰った気がします。

結構するんですね。

ウチダ テンプレート フローチャート・ロジック定規 No.1 1-843-1711

ウチダ テンプレート フローチャート・ロジック定規 No.1 1-843-1711