このコラムは無料メールマガジン「アメニティ&サウンド音と快適の空間へ」 vol.36〜vol.64(2003年8/21〜2004年11/18)に音響と開発の関連コラムとして連載していたものを編集掲載したものです。
前回は、専門性による分業やその境界線というあたりに関して、最も典型的な水平分業モデル、垂直分業モデルというような視点で考えてみました。
全体の技術の情報化、高度化が進むに従って各専門範囲が拡大される傾向があり、ソフトウェアについては、水平とも垂直とも言えないような分業モデルや産業的な構造となっているような気がします。
身近なところで、もう少し具体的に考えてみます。
例えば、OSの専門範囲、分業構造とはどのようになっているかと考えてみますと、エンドユーザーにアピールできるようにするためのマルチメディア系のプレーヤー機能をOSの標準機能の一部となっていたり、各種のドライバはGUIの設定や付加機能を持つアプリケーション・レベルに匹敵するドライバとなっています。
マルチメディア系の記録や再生時の協調動作を整える役割はOSの役割ですが、実際に再生するためのプレーヤーはアプリケーションの1つのサンプルとなります。
実際に、メディアプレーヤーやQuickTimeは1サンプル例ともいえなくはないのですが、動画の再生機構のためのOSサービスを十分な状態にすると、OSの機能が高度で統合された実装にする必要が生じるため、結果、再生ボタンをつければプレーヤーになる所まで含めることになります。
マルチメディア系の協調動作の環境を実現させるためには音声、動画コーデック、グラフィックス、タイマ制御、タスクスケジューリングなどを統合的に扱うことになるため、その統合された最上位のレベルは、ほぼ、アプリケーション自身と同程度の能力を持ち、結果的に、アプリケーションまでの範囲を含めたかのような状態になります。
▼コーデック e-Words IT用語辞典
http://e-words.jp/w/E382B3E383BCE38387E38383E382AF-2.html
これは、ペイントブラシなどの簡易な画像エディタやインターネットブラウザ、メーラーなども同じような構造が見られるかと思います。
インターネット・エクスプローラーの機能の内、どこまでがOSの基本能力で、どこからがグラフィックス、どこからがアプリケーションかというと、その境界線は、マイクロソフト社主張のように全てOSの基本機能であるというのも、現在のウィンドウズの構造では、商業上の方便とは言い切れない状態になっています。
EUで問題になったメディアプレーヤーのバンドル問題もしかりです。メディアプレーヤーの最上位のアプリケーションを取り去ってもコア機能を残すのであれば、エクスプローラだけで再生まで実行することができる部分までOSの一部とされていますから、あまり根本的な違いがないかもしれません。
▼マイクロソフト、EUとの土壇場の交渉が決裂--独禁法訴訟で和解不成立
http://japan.cnet.com/news/biz/story/0,2000050156,20064966,00.htm
このようなOSとアプリケーションの話に関して言えば、コーデック、音声ドライバ、グラフィックス・ドライバなど、個々の部分は各社の製品や技術が組み合わされていますが、そのメーカは、半導体メーカーであったり(OEMや別の企業が作っていることが多いかもしれませんが)アプリケーション系のメーカーだったり、ハードメーカーだったりと、部品とアセンブリ、最終製品という構造や、製作と販売といった構造とは少し異なります。
さらに、その構造を決定する要因は、個々の製品というより、半導体(CPUやチップセット)やOSによって決定付けられているという点が特徴的です。
チップセット内に内蔵される機能は、半導体メーカーのドライバーやOSによって機能させる必要が生じるため、個々の機能のソフトウェアパーツの専門メーカーという図式は生じにくいことになります(OEMをしている場合がありますが、ハードウェアでコア部分を実現してしまう場合、ドライバは簡単なものでかまわなくなりますから)。
統計ソフトを利用するスタンスによる専門性のコラムをきっかけにソフトウェア技術者の専門性とは、というようなことを考えてきました。
「XXのことはXX屋に訊け」という表現がありますが、「ソフトのことはソフト屋に……」とは行きません。
自動車のファームウェアを作っている人に、携帯電話の技術を訊いても専門外だといわれるでしょう。
ソフトウェアの場合には、ソフトウェアは手段でしかない場合が多いので何屋かと問われればソフト屋だと答えるかもしれませんが、本当は、自動車屋さんや携帯電話屋さんであって、専門はそれぞれの分野ということになるのではないかと思います。
開発ソフトやOSなどの知識や技術を必要とするため、ある程度道具や方法に対する知識が多い分野ですが、大工さんが大工道具の知識があるのと同様にソフトの知識はあるものの、その専門というわけではない場合が多いかと思います。
他の分野に比較して応用される対象が拡大してきていますからソフトが専門というより、応用分野の専門の中のソフト担当という見方が主であっても良いのではないかと思いますが、上記で話題に挙げました経済産業省のITスキル・スタンダード(ITSS)のような分類が職業分類として指標が作られています。
長い不況の中、再び技術立国日本を見直そうとか、もの作りの原点に返るなどの言葉も使われましたが、現在の物作りの重要な位置を占めるようになったソフトウェアに関しても「もの作り」のように専門的、職人的専門性を目指すのであれば、ソフトウェア工学的な分類や業種体系の分類指標よりも、応用技術のスキルや専門性を中心とした視点が重要になるのではないかと思います。
ソフトウェアの専門性をある程度以上必要とするのは言うまでもありませんが、自動車のファームウェアを開発する人は自動車屋であってソフト屋ではない発想や視点が必要なのではないでしょうか。
ARIはハードウェア設計、製造、ファームウェア開発、 Windowsアプリケーションの開発をしています。 実績等に興味をお持ちいただけましたら、会社情報に主な開発実績を 「音響と開発」のコーナーには事例など関連情報を掲載していますのでご覧ください。
ソフト、ハードウェア 技術関連の雑記
このコラムは無料メールマガジン「アメニティ&サウンド 音と快適の空間へ」 vol.36〜vol.64(2003年8/21〜2004年11/18)に 音響と開発の関連コラムとして連載していたものを編集掲載したものです。
ソフトウェア開発と開発ツール関連の雑記
機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムです。 メールマガジン「アメニティ&サウンド 音と快適の空間へ」に連載していた技術・開発コラムを編集掲載しています。
技術・開発の閑話 : ソフト開発コラムファームウェア開発(組込み)の技術 / |
開発ツールの話 : ソフト開発コラムソフトウェアの分類 / |
プロジェクト初期 ツール評価 : ソフト開発ツールの話プロジェクト初期のツール評価 / プログラムの動作・ソースの作成 / コード生成 アセンブラ、コンパイラ / 型変換を伴う式評価(コード生成) / 暗黙のライブラリ(コンパイラ生成コード) / 組込みCPUのメモリアクセス / コード生成〜デバッガ |
デバッガとICE ツール評価2 : ソフト開発ツールの話CPU,DSPの内部の状態モニター / プロセッサ周辺のモニター(メモリ、I/O) / 実行の停止(ブレーク) / シングルステップ実行 / 任意部分の実行 / ヒストリー - 実行トレースとコマンド / 各種ファイルのロード、セーブ / シンボル化 |