はてなキーワード: CMMとは
はしょって書くので正確性の観点ではツッコミどころのある文章になりますがざっくり
RGBやCMYK:実際の見た目の色を表すものではない。色材の出力値を表したもの。同じRGB値・CMYK値でも異なるモニター、プリンタで出力すると色が異なる。
CIEXYZやLab:この値が同じであれば見た目の色が同じと言える物差し的な値(Labは光源も定める必要があったり、発展的なCIECAMの話もあるけど省略)
モニター機種Aの色をモニター機種Bで似た色で再現したいとする
1)モニターAであるRGB値を表示した時、CIEXYZやLabでは何の色なのか
2)1)のCIEXYZをモニターBで表示するには(もともとのRGB値でなく)どんなRGB値で表示すればいいのか
要は機種AとBで色々なRGB値で表示した際の実際の色(CIEXYZやLab)がわかれば良い。
この様にデバイス依存カラーと非依存カラーの対応付けができるものをプロファイルといい、規格化されている(いわゆるICCプロファイル)
※対応付けは線形で計算する場合と、ルックアップテーブルを使う場合がある
用途として1)はターゲットプロファイル/ソースプロファイル、2)はデバイスプロファイル/ディスティネーションプロファイルなどと呼ばれる
1)2)は色を近づけるために入力RGBを異なるRGBに変換し出力する操作であり、色変換・カラー変換などと言う。
これが行われるモジュールがCMM。MacはColorSync、WinはICM/WCS/ACM。3rdパーティのCMMとしてAdobeCMMがある(Adobeアプリで見るときはこれが使われる)
Macは基本的に常にOSレベルでColorSyncが働いている状態。Winはアプリによって入力RGBをそのまま表示するものやICMが働くものがある
これが「Macで見る色は正しい」と捉えられることがある一因だと思うけど、同じプロファイルでもCMMにより変換結果が異なるし、プロファイルが適切でなければ色は合って見えないので片手落ち未満。
色変換に関していうと、Adobeツールを使っていればAdobeCMMで変換・表示されるのでOS間の色の差は少ない。
・MacもWinもワークフローでは混在しており実質Adobeアプリでの表示が標準=OSによる変換差は極小
・正しい色を見るのにはそもそも正しいプロファイルが必要(モニターの場合は基本キャリブレーションすれば同時に作られる)で、かつアプリで適切に設定されている必要がある
・色評価用光源の導入
・それでも分光値が一致する訳ではないので、突き詰めるとCIEXYZやLabが同じでも見た目の色は違う…という世界になってくる
http://d.hatena.ne.jp/nowokay/20130322#1363969460
以下の記述のまとめ:
お前の言っているソフトウェア工学は今のソフトウェア工学じゃねえよ.
端的に言うとそんだけ.
で,本題.
まず,書いてる内容が古すぎて救いがたい.iPS細胞の研究がノーベル賞取った現状で,「実験材料に受精卵を使う万能細胞の研究なんて許されませんよ!」と主張されても,その何だ,困る,とかそういうの.
1999年、なにがあったかというと、XPエクストリーム・プログラミング入門という本が発行されたのです。リンク先は2版ですが、日本語版でも初版は2000年12月になっています。
で,何?2000年以降ソフトウェア工学が何も進んでないと主張したいの?
って最初に書いてあんのに,そこから崩れて何も出てきてないって主張はどっから出てきたの?自分が知らないことが分かってるのにドヤ顔で提言とか大丈夫か?
しかし、結局統一設計手法は完成せず、UMLだけが残りました。実際に使われているのはその一部です。CORBAも普及せず、WebプロトコルにあわせてSOAPが出てきたものの、結局単純なRESTが定着しました。XMLはいまは毛嫌いされています。大成功したはずのオブジェクト指向も、Webアプリではうまく適用できませんでした。
だから何だ.提案されても使いにくかったり,状況自体が変化したら無用になるに決まってる.まさか「ソフトウェア工学分野で提案された手法はどれだけ開発環境が変わっても生き延びていなければならない」とかいう寝言じみた主張でもしたいのか?言語に流行廃りがあるように,手法にも流行廃りはあるに決まってるだろ.
あとSOAPとXMLに関しては,その衰退過程自体がよくある話すぎて話にならん.一番最初に厳格な重量級の様式が定められて,それをベースに運用レベルを考慮した軽量級の様式が定義されて駆動するってのはよくある話.言い換えると,学術から出てきた理論的に正しい手法が,産業界で必要なところだけつまみ食いされる形で運用されるとか,サンプルは死ぬほどそこらじゅうに転がってねえか?
ああ,CORBAはまあ,うん,そのなんだ.アレはフォローできない.
実際のところ,UMLが残っただけで十分じゃねえの?最初に提案された時の理念さえブレてなければ,つまみ食いしたモノがはやってても提案者的には本望だろ.
今はCMMIだ.CMMは2000年にCMMIに統合されてる.今更XPの本出してくるところといい,真面目に2000年より前で知識止まってんだな.
はぁ?動的型付言語が普及したらなんでソフトウェア工学と離れんのよ?静的型付言語で使えて,動的型付で使えなくなる研究分野なんぞ,完全にソースコードに寄り添った研究だけじゃねえか.
「この手法はC言語を対象としている」って書いてある研究は他の全ての言語には一切適用できないと主張してんのと一緒だ.はじめてのCあたりからやり直せ.
ここで、やはりCMMの失敗がソフトウェア工学にとっての痛手だったように見えます。
もちろん、プロセスを規定することが難しいということは当時からも言われていました。それであるから、CMMはプロセスそのものを規定するのではなく、プロセスの規定方法を規定するというメタプロセスになっていたのです。
そして、すべての組織で同じプロセスを採用することはできないということから、5段階のレベルを設けました。また、プロセスは変化し続けなければいけないということから、CMM成熟度レベル5では「最適化している」という成熟度になっていました。
これはなかなかいいかもしれないということで、期待は大きかったと思います。
でも、とにかく運用が大変だとか、CMM成熟度レベル5でも品質がいいわけじゃないとか、そういう話がきこえてくるようになりました。
まず失敗を定義しろ.で,失敗したってんなら,CMMIで未だに新たな認定がなされてる(http://cmmiinstitute.com/assets/presentations/2012SepCMMI.pdf)理由を説明しろ.
で,運用が大変?当たり前だ.品質確保すんのに運用が楽とかあり得んだろ.従業員に好きにやらせてもアウトプットが高品質ならそもそもCMMIなんぞ必要無い.順序が逆だ.「CMM成熟度レベル5でも品質がいいわけじゃない」ってのも当然だ.アレは組織の成熟度を評価する指標であって,中で働く人間の能力を評価してるわけじゃない.というか流動すんのに評価なんぞできねえけど.
そもそも,CMMIレベル5ってのはおおむね高品質なものが出てくるだけで,人間が関わっている以上ある程度のばらつきは存在する.つーかさー,CMMIレベル5なら必ず高品質のモノが出てくるとか思ってんの?まさかまだ銀の弾丸の存在を信じてんの?「ISO9001に準拠してればリコールなんて発生しない!」と思い込むくらい残念すぎねえか,その思考回路.
ああ,「CMMI」じゃなくて本気で「CMM」の話をしてるんなら申し訳ない.もう無いんだから,CMMの話を最近全く聞かないのは当然で,勘違いしても仕方ない.悪いもしくは古いのはアンタの頭だ.
もともとソフトウェア工学に対しては「がっこーで現場しらない人が研究してる手法なんて使えない」のような声があったのですが、XPやアジャイルによって「現場から生まれた手法のほうが使えるよねー」というのが決定的になりました。
前半は正しい.ソフトウェア工学の最初期からずっとその手の意見はあって,未だに言われてる.が,後半は話にならん.
真面目に聞くんだけど,アジャイルソフトウェア開発宣言に名前が入ってる17人のうち,何人知ってる?何人が開発寄りで,何人が研究寄りか分かる?まさかKent Beck1人を見て「アジャイルは現場から!」とか寝言垂れて無いよな?そもそもKent Beckはコンピュータサイエンスで博士号持ってるし,開発寄りと主張していいのかどうかすら微妙なんだけど.
あとアジャイルも突発的に出てきたわけじゃなくて,プロトタイピングとかあの辺(とそれ以前)からの流れがあると思うんだけどなあ.
ソフトウェア工学が何を失敗しているかというと、その学問自体の認知度が低すぎることです。
ソフトウェア工学がどのような問題を扱う学問かが知られていない。どのような問題を扱う学問か知られていないので、その問題に直面している人がソフトウェア工学の成果を積極的には利用できない。
問題に直面してる人がソフトウェア工学の成果を積極的に利用できないうんぬんについては,最近の国際会議でもその辺を扱った研究が出てきてたりする.ICSE2012のDistingished paperのうちの1本がそんなん.Eclipseの検索ツール使わずに,テキストエディタにコピペしてCtrl+F使ってる人の話とか出てきてた覚えが.
ただ,ソフトウェア工学の認知度なんぞどうでもいいと思うんだけどなあ,別に.そっから出てきたモノが使われさえしてりゃあ.ソフトウェア工学研究の成果が,それと分からずに使われてるんならそれ以上に望むべきモノは無いだろうに.「これがソフトウェア工学様の研究成果でござーい」と大上段に振りかぶって,「ありがたや」の言葉と共に使われることを望んでる研究者なんぞいねえだろ.
就職活動で「半年でプログラムは覚えれるし専門は必要ない」のようなことを言われるという話があります。たしかにアルゴリズムなど実装技術の研究をしていた人をSIの開発現場で生かすのは難しいと思います。でも、ソフトウェア工学の専門知識は、半年で覚えれるものではないし、SIでの開発現場に必要になるはずです。
うん,そうですね.だがそれを学術側を知ろうともしてない人間が言うな.
ソフトウェア開発がある限り、ソフトウェア工学は必要なので、XP・アジャイルを織り込んで再構築して、認知度を高めていってほしいなーと思います。再構築とかは他力本願になってしまうけど。
ソフトウェア工学を再構築しよう,という動きとしては http://semat.org/ あたりがあるのでそっち参照.
あとさー,そもそも論として,ソフトウェア工学の研究内容を「現場」と「学術」に2分することが不可能だって分かってる?工学ってそういうもんだろ?その2分は「工学」と「理学」というレベルでは可能なのであって,既に工学にカテゴライズされてるソフトウェア工学を分けるのは不可能だ.それくらいは語の定義レベルの話なんで,分かっててくれ,頼む.
まあ暇ならトップ会議であるところのICSEのプログラム(https://files.ifi.uzh.ch/icseweb/fileadmin/downloads/ICSE2012_conference_program.pdf)でも眺めてみて,ソフトウェア工学の定義について悩んでみるのもいいかと思います.
実際のところトピックは割と流動的.最近はOSS周りが流行.gitのおかげで開発者の行動とか取りやすくなってる関係もあって.
つまりさー,なんでか知らんけど,この人の頭ん中では「ソフトウェア工学は静的型付言語を利用したウォーターフォール型開発でしか使えない」てことになってんだよな.