ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

大学のソフトウェア工学の授業が、なぜ役立たないか、わかった!

2013-05-20 16:27:37 | トピックス
本家に書いたとおり、大西先生の英語学習の講演会行って、
なぜ、大学のソフトウェア工学が、実践で役立たず、
再教育しないといけないか、わかった!

簡単な実験してみるとわかる。

実験:

「掲示板のソフトウェアを作ってください」

といわれたら、なにを考えます?


まず、
「掲示板」といったとき、イメージが出てくる。

そして、

・クライアント側はHTMLで作成し、
 ボタンでイベント送るよなあ・・・

・サーバーは、PHPかJavaかで違い、フレームワークによって、
 構成は違うけど、とにかく、
  ・データチェック(これはクライアントでもOK)
  ・DBないしはファイルに保存
  ・表示
 の部分があって・・・

・もし、削除を認めるなら、普通自分か管理者しか
 削除できないので、ユーザー管理と認証が必要

・文が長かったりするなら、詳細と一覧が必要

・掲示板は普通入力画面は、一覧側に出してOK
  →一般のWebアプリの入力は、詳細画面と同じフォームの別画面

・スレッド(板のほうのスレッドの意味)が必要かも

・検索画面は、いるかも?

ということが、たぶん1分かからず、数秒で出てくると思う。

ここまで出てきて、イメージできていれば、画面遷移もすぐにかけて、
コーディングに取り掛かれるはず・・・

で、ここまでで、
「多態性」とか、
「デザインパターン(例えば、ストラテジパターンとか)」とか、
「継承」とかの、ソフトウェア工学の概念、出てきた?
一切出てきてないですよね・・・

・・・そこなんですよ!




大学で教えるソフトウェア工学は、概念、大西先生の講演の言い方で言えば、文法なんですよ。概念は教えているけど、概念でシステム作っているわけじゃない。

「今日は、デザインパターンのストラテジパターンを使ってやろう」
「あ、Webって、メソッド切り替えは、まさにストラテジーではないか!」
「おお、じゃあ、Web切り替えに、ストラテジーパターンを使おう」

じゃないんですよね。

普通作るときには、さまざまな場面があって、その場面に対応した
ソースコード、アーキテクチャ、その他もろもろが既に頭の中に
あって、それを状況によって、適宜選択していくカタチ。

つまり、実務的には、「掲示板」のイメージが頭の中にあって、
それを作るには、Webのシステムだなと類推して、
Webシステムの流れをつらつらと出してくる感じ・・・

だから、実務に持っていくには、概念を状況に応じて再編成しないといけない。




大学は、概念のレベルはやるんだけど、状況に応じた応用はやらない
というか、概念から、応用させようとしている。
これをやっていたら、間に合わない。
お客さんとの会話の中で行うので、1分じゃ遅い。数秒でやらないといけないのだが、
それには、抽象度が高すぎる。

たとえば、Webシステムのフレームワークは、
 ストラテジーパターンをリフレクションを使って実現すると
できるんだけど、それに、何秒でおもいつく?
今言ったことがわからない人、
ストラテジーパターンとリフレクションをWebで調べて、
フレームワークの創り方を考えてみて。

私が教育した中で、
 最短で気づいた人、2時間(=こいつ、若手だけど、相当優秀。私より優秀)
 多くは、1日考えて気づかなかった
でも、2時間かかったら、会議終わっちゃうのよ(^^;)




結局、状況にあったシステムの作り方の例をある程度学習しないと、
概念だけだと、ちょっと難しいものがあるかもしれない。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

2万5千円ぐらいで、かなり小型省電力のLinuxボードが(将来はAndroidも)入手可能ってこと?

2013-05-20 11:15:24 | トピックス
このまえの、アルテラ SoC シンポジウムの話。
私の理解があっているかどうかわからないけど、

アルテラSoCのボードHelio
http://www.elsena.co.jp/elspear/altera/kit/3rd/helio.html


って、安価な(2万5千円ぐらい?)ARM CPU+FPGAっていう見方が普通だけど、それがYocto Linux BSP supportってことは、

2万5千円ぐらいで、かなり小型省電力のLinuxボードが入手可能ってこと?

将来は富士ソフトがAndroid版も無償で出してくれるということは、Android版もってこと?

また、いろんなハード、ソフトIP(ライブラリみたいなもん)を
Qsysを使って組み替えると、高速化できるかもってこと?

理解、まちがってる・・??

もし、そうだとすると、CPU+FPGAとは、
違った意味でインパクト大きいと思う。

安価で小型な自作機や、デバイスが作れるってことで、
研究はもちろん、趣味とかも変わりそうだったりして・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする