フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2021-8-8 20:54 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
ソフトウェア開発とクラッシックピアノ練習との相違点 さて前回は、ソフトウェア開発とクラシックピアノ練習との共通点に関してお便りしましたが、共通点として挙げようとしたら、実は共通点ではなかったというものがあったので、それをご紹介しまちゅ。
(1) ソフトウェアメトリックス ソフトウェア開発を職業とすると、顧客から要望された要件を満たすソフトウェアなりシステムを開発するのに必要な期間と費用を予め算定してその期間と費用に基づいて契約を結ぶことになります。 そもそも開発の打診があった時点で顧客側が認識している要件は限られていて、その要件を満たすために目に見えない付随する細かな要件というのが隠れています。そうした諸々の必要条件を洗い出してそれらをすべて実現するための作業量を見積もる必要があります。 大昔はまだソフトウェア開発の経験が誰も無かった時代は、それこそ思考錯誤、行き当たりばったりな作業を積み重ね、失敗を糧に成功を勝ち取り、期間はとっくに過ぎても毎日残業や徹夜(Death March)が続くというのが当たり前でした。 賢い人たちは、もっとスマートな見積もり方法があるんじゃね? と考えをめぐらして、出てきたのがソフトウェアメトリックスという概念で、各ソフトウェア部位に潜在する難易度を洗い出し、それらがいくつ存在するか数え上げて必要作業量を掛け合わせて積算することでシステム全体の開発所領期間を割り出す方法です。 既に過去に経験したことのある項目であれば作業量が算定できるので問題ないけど、過去にやったことが無いとか、世界中で誰もやったことが無い基礎研究開発からやらないといけない項目とかは要注意。それを見つけたら顧客と相談して要件から取り除くかそれを必要としない仕様に変えてもらう必要があるためです。知らずに契約したら破綻することは目に見えているよね。 メトリックス(Metrics)という用語自身が日本語に対応する概念が無いので、カタカナが使われているけど、評価基準とか道標と言った方が判りやすいかも。 クラシックピアノの練習でそれに対応するものがあってもよさそうだけど、そもそも芸術に科学的な手法なんて持ち込むなということからか、ぼんやりとした習熟難易度のレベル(初級、中級、上級、とかもっと細かいものもあるけど)はあってもそれらの明確な判断基準というのは無いか公表されておらず、評価を下した先生の主観に依るのが一般的。 自分なりにクラシックピアノ曲の習熟難易度を分析してソフトウェアメトリックスに相当する評価基準を洗い出そうと思ったことがあるけど、まあ知識と経験が足らないので、今のところこんなもんかなというのだけあります。 ・演奏時間(初級レベルは長くて1分前後、中級レベルは10分以内、上級レベルは10分以上) ・ポジショニング回数 ・跳躍回数 ・ゼケンツ回数(転調を伴わない) ・ゼケンツ回数(転調を伴う) ・スケールパッセージ ・アルペジオパッセージ ・アーティキュレーション(レガート、スタッカート、マルカート) ・ポリフォニー ・対位法 ・オルゲルプンクト ・デュナミーク(強弱法) ・アゴーギク(テンポ変更) ・フレージング ・オフビート ・アウフタクト ・シンコペーション ・装飾音 ・オスティナート ・リズム ・連符 ・声部交替 多分思いつかないか知らないだけど、もっとあるぽ。 これらを表にして、それぞれの該当項目が一曲の中でどれかで現れるか数えることで一定の難易度の指標は計測できそうな気がするけど、誰もそんなことやってないよね(´Д` ) 上級レベルになるともうすべての項目で経験値が豊富なので、初見で何でも弾けるので関係なくなるのかもね(;´Д`) 関係があるのは、これから上を目指そうとする演奏能力の低い人だけの話であるのは確か(´Д` ) いつか上達して暇になったら、それまでの知識と経験を反映して楽譜を入力すると自動的にメトリックスを抽出して難易度をはじき出すソフトを作ってみるのもいいかもしれないね。 (2) 再現性 コンピュータソフトウェアはコンピュータハードウェアに対する命令シーケンスとデータの塊なので、同一条件下で動作させれば100%同じ結果が得られることが期待できす。 同じ条件というのがみそね。条件が異なると同じ動作させても違う結果が出るようにプログラムされていることもあるし、バグがあって直前に別の動作させた直後に特定の動作をさせると、そこまでの副作用でメモリ内容が書き換えられ、意図しない挙動をするということもままあります。ゲームプログラムとかは複雑で数えきれないほどの情報を沢山のメモリ上に置いて処理するので、考えられるすべての条件下で特定の動作を試験するなんてことは現実的ではないので、テスト漏れがあってそれが市場で発覚することもしばしば。 バグといっても一度再現した条件下で複数回試してみても障害が再現しない例も稀にあります。中には100回に一度しか再現しないとか、100回試すのがどんだけ大変かとかあるし、そういう場合、100回やっても発生する保証はどこにもないのだよね。 そういう場合は、ソフトウェア開発者はあらゆる可能性を洗い出して、バグの症状が発生する必要条件を探りあてる必要があります。それにはプログラムの隅々まで頭の中に記憶して頭の中だけで関係しそうな部分を探し出していく根気の要る作業が必要です。 昨今はコンピュータソフトウェアもマルチタスクやマルチコア環境下で動作するのが当たり前なので、それらの環境も考慮に入れる必要があります。 それでもコンピュータシステム内の事であればすべてコントロール可能なので原因が判明すれば解消するための対策が出来ます。 なんの話だったっけ? ああ、再現性の話ね。 クラシックピアノ演奏では、演奏家自身が人間なので機械ではなく、完璧に暗譜しているはずの同じ曲を弾いても毎回異なる演奏になるのは当然。ましてや演奏する場所や環境(使用するピアノの状態やホールの音響効果、聴衆、室温や目に見えないプレッシャー)によって影響を受けるのは避けられないため、普段の練習ではありえないミスとか失敗が起こる可能性があります。 昨今ではプロの演奏家も聴衆の好みの変化やコンサート主催者の要望もあって、レパートリー以外の大曲の演奏を求められることがあり、暗譜するまでの時間的な余裕もないことから、譜面を譜面台に置いて弾くという人も。 オーケストラの演奏家はみんな譜面台を前にして演奏しているよね。自部のパートが来るタイミングを正確に知る必要があるし必要不可欠。ソリストはそれに対してステージ上の聴衆の目の前で演奏するので、譜面台は無し、暗譜ですべて演奏が一般的。 クラシック演奏の場合は、演奏家自身がコントロールすることが出来ない環境条件がほとんどなので、どんな時も素晴らしい演奏を披露することがどんなにすごいことなのか理解できます。 かのショパンですら、スケルツォの演奏は難しく、公開演奏会は練習のようなものだったと言っているくらい。 (3) 因果律 科学も工学も理学的な物の考え方をする場合、因果律が絶対的です。あらゆる結果には原因が必ず存在するという理念。 因果律が支配的なおかげでソフトウェア開発者の仕事にはオカルトや迷信が入り込まないで済んでいます。 オカルトや迷信は第三者の主張を根拠なしに信じることによって成り立ちます。原因に言及することはあっても、それが事実であることを証明する必要が無いのです。 科学や工学の世界では、現象や挙動には何らかの原因があり、その因果関係が証明されれば、原因を取り除くことによって現象や挙動が解消することも可能になるという考えが一般的です。 ソフトウェア開発者は因果律を利用して、プログラムの挙動不審の原因を考えられるすべての要因の組み合わせの中から問題を再現するのに必要な条件を見つけ出し、問題を解決するためにプログラムの原因部位を修正することが出来るのでした。 もちろん科学も工学も現実世界や宇宙の森羅万象の中の一つを扱うので、所謂「神のいたずら」と称する極めて稀に発生し得る要因によるものとしか説明できないものもあります。地上では稀でも、宇宙空間では高エネルギーの粒子線が飛び交うので、それがたまたま打ちどころが悪くて予期しないランダムな誤動作を引き起こすのはその一例です。 クラシック音楽の場合、例えば名曲が何故名曲なのかその原因を見つけるのは容易ではありません。 短調は何故物悲しく、長調は何故晴れ晴れとした曲想に聞こえるのか、といった疑問には短三度か長三度かといって要因を挙げることはできても、それは必要条件の一つに過ぎず、人間の頭の中の仕組みが判ってないため明確な原因を説明することができません。 音楽だけでなく芸術一般に、何故これが名作なのかということが人によっては理解できない作品も少なからずあります。逆にすべての人に好まれる作品は稀で、人それぞれ趣味や趣向が異なることが一因と言われます。 なのでどうしたら世界中でヒットする曲が作曲できるでしょうか?という問いは芸術の世界では愚問でしかなく、決定的な因果律を見出すことは困難です。 因果律が適用できないクラシックピアノ芸術の世界が、理系から見るとオカルトや迷信だらけの世界に映るのはそのためだったのね( ´∀`) でも「なんで自分の演奏は誰が聞いてもへたくそに聞こえるんだろう?」という問題を解決するためには、何らかの原因を見つけないといけないのですが、要因は挙げることができても、解決するためにどう直したらいいかは聞く人の主観でまちまちなので悩むよね(´Д`;) 今のところこの3つでした。 んじゃまた。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» ソフトウェア開発とクラッシックピアノ練習との相違点 | webadm | 2021-8-8 20:54 |