工学

読む(その2)

疲れていても、眠れないときがある。先が見えないと、特にそう思う。先ほど、NHK の人間ドキュメントで J リーグ、川崎フロンターレの中村憲剛を紹介する放送があった。「へー、地味ながら渋い選択だな」と思ってずっと観ていた。中村選手が、移動中、文庫本…

読む。

今日、帰りの電車の中で、眠いながらも少し気づいたこと。 この人物は、どうすれば良いプログラムを書けるか長い間考えて、それを反映して、次のように述べている。「優秀なプログラマになる最良の方法は、自分でプログラムを書き、ベテランの作った素晴らし…

想定範囲、イメージ

ソフトウェアの仕事をしている。自分自身は気をつけているつもりであるが、システム開発のプロジェクトを進めていくうちに、目的と手段が混同されて、状況が混乱することがある。「何を開発するのか」という部分で、ソフトウェアは目に見えないものだけに、…

Graphviz + pvtrace

人の書いたソースコードを最初に読むのは結構大変である。そんなわけで前から気にかけていたが Graphvizを今回試してみる事にした。グラフ定義のテキストファイルをグラフ画像に展開するソフトウェアツールである。Graphviz 以外に必要なものは pvtraceがあ…

悪い知らせの知らせ方。

私が開発に携わっているシステムは実証実験の為のシステムで、24時間稼動している。何か有った時のために自宅からもリモートでアクセスできるようにしているし、障害発生時に携帯にもメールを送信するようにしている。その部分の実装は全て私が行ったのであ…

decorator

仕事で最近 C++ を使っている。以前、C でシステムを組み始めたのだが、結局クラスを使わずに関数と構造体だけではまともにモジュール化出来そうに無いので C++ にしてしまった。例えば Java だと基底クラスのメソッドを参照するのに super とやれば行けるの…

Communication Sequential Process

Java や C++ とかでマルチスレッドを使った並列プログラムとかやっていると、訳の分からん、デッドロックやリソーススタベーションなどにぶつかって、苦労する事がある。そしてそれをどうやって論理的に把握するかって所で、さらに訳分からん事になり、苦労…

今時の駐車場。

今日は随分仕事がはかどったように思える。冷房が効いていないのが、若干難儀な所ではあるが、人がほとんど居ないし、電話も鳴らないので、集中できるのだ。*1 今日はメインの仕事ではなく、以前から引きずっている駐車場のシステム関係の仕事をしている。駐…

構造化設計?*2

最近、仕事でひたすら、人の書いた C 言語のプログラムをハックして、書き直す。そんな事ばかりしている。*1プラットフォーム・OS は Linux で 言語は C 。会社に入ってからは、プログラミングの作業は殆どが Windows 上で、しかもここ5年以上は Java が中心…

独り言(識別子のありがたさ)

相変わらず、Matlab + Simulink でシステムを組んでいるが、やはり苦戦中である。Simulink はブロック線図を組み合わせて、システムを構築するだが、これは入出力関係で定義された関数を組み合わせて、データフローモデルをGUIベースで構築して、それをベ…

インターネット。

インターネット、って何だろう。先日の記事に対するコメントをきっかけに改めて考える。*1いつの間にか日常生活の一部となり、インターネットを使った通信販売の会社がプロ野球球団を持つ時代になった。10年前を考えると随分とインターネットを取り巻く環境…

レガシー

数年前に開発したシステムの保守作業も無事に終った。備忘録として思った事を簡単に記す。ソフトウェアや情報と言うのは、形が無いが故にほぼ無限に近い寿命を持ちうる事が出来る。昔開発したシステムのメンテナンス作業を行いながら、そんな事を考えていた…

積読のような。(アスペクト指向に本格的に取り組んでこなかった理由について)

最近、AOP(Aspect Oriented Programming)やアスペクト指向について、盛んに論議する機会が多い。mixi のソフトウェア工学のコミュや知人の BLOG 上など、何度か意見を交わした。最近、Web 上に日本語のドキュメントや書籍なども出回ってきたようなので、こ…

辞書

今日、久々に辞書を引きました。研究社の英和辞典で10万語登録の少し良い物です。今日は例の大惨事*1の影響で以前、開発して一般公開しているページに急激に海外からのアクセスが増えたので、その英語版を作るためでした。普段は goo の英和辞典機能で軽く済…

版(バージョン)。

相変わらず、Matlab + Simulink に苦戦中である。やはりブロック線図に慣れていないせいなのか、それともやろうとしている事が、Simulink に馴染まないからなのか。勘所、コツがなかなかつかめない。最近はモデルが複雑になるに連れて、段々実行開始までの時…

線引き。

先週の日経の夕刊に「そこまでやるか」という短期連載があった。中学生の時にカギを職員室に取りにいくのが面倒で、その場で合鍵を作って教室に入ったと言うトヨタの研磨工。一足づつ客ごとにその靴を見て、塗る靴クリームをその場で配合する靴磨き。などな…

[メモ] 図的な迷宮。(A maze of visual modeling tool)

Matlab + Simulink を使って現在制御系のシミュレーションを作る作業を行っている。Simulink の ブロックに if ブロック、if action Subsystem と言うのがある。要は C のプログラムにおける if 文のような実行フローを実現するための物である。if ブロック…

使用事例(Use Case)

最近買った読んだソフトウェア工学の本*1にこんな記述があった。 UML でよく使われるユースケース分析に関する説明のところである。 ユースケース(use case)とは、利用者がシステムを使うときの典型的なシナリオをシステムへの要求を明確化する目的で記述…

足りないのはソフトウェア工学だけ?

@ITの記事に最近(IPA)設立した新組織「ソフトウェア・エンジニアリング・センター」(SEC)に関する解説が載っている。要は SEC の設立の趣旨にある「ソフトウェア開発の問題に対して、世間ではソフトウェア工学的なアプローチが不足しているので、その普…

離れて考える事について(バス内デバッグ)

昨日は、久々に Java でのコーディング。正規の処理の実装は比較的簡単に終わったけど、例外処理の実装で手間取る。やはり例外処理なので考慮しないといけない例外の状態を数え上げ整理するだけでも大変だし、テスト用のデータを用意するのも面倒だ。結局テ…

オブジェクト指向という道具

最近、仕事で Matlab/Simulink を使っており、その拡張機能として S-Function ってのがあります。その実装には C を使うのですが、今までオブジェクト指向で実装は Java だったので クラス(オブジェクト) →メソッド→ 引数(パラメータ) という順序でプロ…

MDA ?

実は私はソフトウェアちっくな仕事をしています。最近までは、例の熱いコーヒーか南の島を連想させる言語*1を使っ、がりがりとプログラムを書いていたのですが、8月から始まった今の仕事ではとうとう手馴れた言語や開発環境を離れて、これってシミュレーシ…