┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
┃ ■┃
●┃● ● オ ブ ジ ェ ク ト 倶 楽 部 ■ ┃
┃ ■ ┃
┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
No.281 2009/05/27
■ I N D E X
┃
┣【Topics】「オブジェクト倶楽部2009夏イベント」参加お申込みは来週から!
┣【要件定義】プログラマにも役立つ要件定義の技術 [1]
┣【プログラミング】組込みシステムの話 [5]
┗【アンケート】気になるシステム業界 ホントのところ
〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
〇 「オブジェクト倶楽部2009夏イベント」参加お申込みは来週から!
〇 〇━━━━━━━━━━━━━ ━━・
来週6月3日(水)より、オブラブ2009夏イベントの参加お申込みを開始します!
恒例のライトニングトークス、また、実はこちらがイベント本番との声も多い
懇親会のお申込みも同時に開始となります。
夏イベント当日まで、ブログも随時更新していく予定です。ぜひこちらもご覧
ください。
http://d.hatena.ne.jp/objectclub/
● タイトル:オブジェクト倶楽部2009夏イベント
● 開催日時:2009年7月7日(火) 10:00開始
● 場 所:国立オリンピック記念青少年総合センター(代々木)
http://nyc.niye.go.jp/
● 内 容:講演、ワークショップ
● 参 加 費:イベント3,000円、懇親会5,000円
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【要件定義】プログラマにも役立つ要件定義の技術 [1]
こんにちは、平田です。
今号から要件定義に関する短期連載を担当します。よろしくお願いします。私
自身も日々プロジェクトの現場で悪戦苦闘している最中ですが、現場で得たも
のを少しでも読者のみなさんと共有したいと思い、連載をさせていただくこと
にしました。
初回となる今回は、なぜこの連載を始めることにしたか、という動機について
書いていきます。
● なぜ今要件定義か
設計やプログラミング等の技術の進化が続いているにも関わらず、プロジェク
トの成功は相変わらず容易ではないと感じています。プログラマから考えると
「いつまでも決まらない仕様」「続いていく仕様変更」という問題があり、シ
ステムをリリースしてみたら「作ったシステムが役立っていない」などなど。
要件定義の軽視からプロジェクトがうまくいかなくなった例は枚挙に暇があり
ません。
● なぜプログラマなのか
アジャイル開発の流行を例に出すまでもなく、ソフトウェア開発ではコミュニ
ケーションが重要なものだと認識されています。開発チーム内のコミュニケー
ションロスを減らすために、お客様の価値に直結しないドキュメントを山のよ
うに作るという対症療法もありますが、そもそも、開発チーム内でのコミュニ
ケーションパス自体を減らすことにより、コミュニケーションロスを減らして
いけるのではないかと考えます。コミュニケーションパスを減らすために、開
発するシステムのサイズを適正な規模に保つ(横のコミュニケーションパスを減
らす)ということも有効ですが、この連載では、開発チーム内での役割分担のレ
イヤーを減らす(縦のコミュニケーションパスを減らす)ということに着目して
いきます。
実際に動作するものを提供できるプログラマこそが、お客様と直接対話して、
お客様のビジネス価値を創造していくのが効率的ですよね。
それに、壁の向こうで作られたものを投げつけられて、それを元にお客様の役
に立つかどうかも分からない、納得できないシステムを作るなんて、楽しくな
いと思いませんか?
● でも要件定義って工程が存在しないんだけど
要件定義というのは、開発プロセスの種類によっては工程ですが、どんな開発
プロセスであっても必要なタスクです(唯一の例外は、使う人自身が1人で開発
を進める場合)。その成果物が分厚い要件定義書だろうと付箋に書かれたユーザ
ストーリーであろうと、「システムに求められている要件」が書かれたもので
ある以上、同じ技術を活かすことで実現が可能なのです。
この連載では、その要件定義に必要なTipsを紹介していきます。
次回は「理由を追い求める」です。お楽しみに!(平田)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
/community/object_ml/estimate?vol=O001-00&choice=0
普通:
/community/object_ml/estimate?vol=O001-00&choice=1
イマイチ:
/community/object_ml/estimate?vol=O001-00&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【プログラミング】組込みシステムの話 [5]
こんにちは。藤井です。
TKYからお送りしております。
前回はTOPPERS/JSPのサンプルコードにはmain関数が無いことを確認しました。
ここのところはITと大きく違うところなので、少し詳しく見ていきましょう。
● 電源投入が始まりです
ITではシステムの開始というと、main関数から考えることがほとんどだと思い
ます。しかし組込みシステムの場合は、電源投入からのシーケンスをきちんと
把握しておく必要があります。ちょっと乱暴ですがそのシーケンスは次のよう
になっています。
.棔璽錨展仕蠧
▲好拭璽肇▲奪廛襦璽船鷦孫
Cのコード実行
Cのコード実行前にある、△離好拭璽肇▲奪廛襦璽船鵑気になりますね。今回
は例としてv850MPU用のスタートアップルーチンを見ていきたいと思います。で
は、早速確認してみましょう。
● 初期化処理を行うスタートアップルーチン
v850の場合,展開したJSP直下のconfig/v850/start.Sがスタートアップルーチ
ンのソースとなります。
この中では次のような処理を行っています。
.好織奪ポインタの初期化
bssセクションのクリア
bssセクションの初期化
dataセクションの初期化
OSカーネルの起動
<OSカーネルの起動部分抜粋>
.
.
.
/*
* カーネルを起動する。
*/
jarl _kernel_start, r31
halt
各セクションの意味は後日説明する機会があると思うので割愛しますが、要は
ROM/RAMの初期化を行った後、kernel_start関数を呼び出してOSカーネルの起動
を行っています。kernel_start関数では下記のようにH/Wの初期化などを行った
後にOSカーネルの処理を開始しています。この処理の後はOSに処理が移り、OS
がサンプルコードに定義されている関数を適宜コールしてくれます。なじみ深
いmain関数が呼ばれる代わりに、kernel_start関数が呼ばれ、OSのカーネルに
処理が移っていっているという訳です。main関数がサンプルコード上に存在し
ない訳が分かって頂けたでしょうか?
void
kernel_start(){
/** ターゲット依存の初期化 */
cpu_initialize();
sys_initialize();
tool_initialize();
/** システムログ機能の初期化 */
syslog_initialize();
/** 起動メッセージの表示 */
print_banner();
/** 各モジュールの初期化
*
* タイムイベント管理モジュールは他のモジュールより先に初期化
* する必要がある。
*/
tmevt_initialize();
object_initialize();
/*
* 初期化ルーチンの実行
*/
call_inirtn();
/*
* カーネル動作の開始
*/
iniflg = TRUE;
exit_and_dispatch();
}
● OSがコールしてくれる関数って?
先ほどの説明でOSが適宜関数をコールしてくれると書きました。適宜って何で
しょうか?これを知るためには今度は「タスク」、「優先度」といった考え方
を知る必要があります。「タスク」、「優先度」は開発者がリアルタイム性を
保証するための肝となります。が、残念ながら紙面の関係で今回はここまでで
す。次回まで楽しみにお待ちください.
それまでさようなら。(藤井)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
/community/object_ml/estimate?vol=E0016-04&choice=0
普通:
/community/object_ml/estimate?vol=E0016-04&choice=1
イマイチ:
/community/object_ml/estimate?vol=E0016-04&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗【アンケート】気になるシステム業界 ホントのところ
今週は「Poken持ってますか?」のホントのところ。
デジタル名刺であるPoken(ポーケン)は、Poken同士をハイタッチさせるだけで
プロフィール情報を交換することができる、新しいコミュニケーションツール
です。先週のアンケートでは、名刺を30枚程度ストックしてる人が多いという
結果になりましたが、Pokenなら、名刺の残数を気にする必要もありませんね。
注目を集めているPoken、あなたは持っていますか?
PokenJapan → http://poken.jp/ja/
持っています!ハイタッチしたことあります!
/special/kininaru/vote?vol=247&choice=0
持っていますがハイタッチはまだしていません。
/special/kininaru/vote?vol=247&choice=1
持っていませんが欲しいです。
/special/kininaru/vote?vol=247&choice=2
持っていません。持つ予定もありません。
/special/kininaru/vote?vol=247&choice=3
Pokenてなに?
/special/kininaru/vote?vol=247&choice=4
それは秘密です。
/special/kininaru/vote?vol=247&choice=5
ちょっと語らせて!
詳細をこのメールに返信ください!!
アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「名刺のストック枚数は?」の結果は公開中。ぜひご覧下さい。
⇒/special/kininaru/vol246/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記
こんにちは、編集人のナガタユウコです。イベント等でお会いした方から「メ
ルマガ読んでますよ」と言われることが増え、嬉しいやら恥ずかしいやら複雑
なのですが、特に「強引な一言を楽しみにしています」と言っていただくこと
が多く、とまどっています。私は記事以外の部分を担当しているのですが、実
は、毎回一番苦労しているのが「強引な一言」なので・・・。最近は、なにが
強引なのか自分でも分からなくなってきているぐらいなのですが、楽しみにし
てくださっている方がいらっしゃる限り、続けていきたいと思います!
オブジェクト倶楽部カレンダーの2009年6月分の電子データを公開します。
こんにちは、ファンクション倶楽部のS式 森田です。6月のカレンダーは「あな
たを関数型に例えると」です。一口に関数型言語と言っても、思想や仕様、処
理系の違いなど、その中身は千差万別です。そこで今回のカレンダーでは、ス
タートからYes/Noに従ってフローを辿っていく事で、簡単に「あなたに近い関
数型言語」を見つけ出せるようにしてみました。是非あなたに似た関数型言語
を見つけ出してください。ただし、注意点が一つ。この結果は「あなたに近い
関数型言語」であって「あなたに合う関数型言語」とは必ずとも一致しません
のであしからず。(S式 森田)
カレンダー電子データ
/special/#calendar
今週の強引な一言
*** 茶碗を投げば綿(わた)でかかえよ(ことわざ) ***
相手が強く出た時は、やんわりと受けとめるがよいこと。
人間ですから、時には感情的になってしまうことも。そんな時、感情をぶつけ
られた方も同じような態度を取ってしまうと、お互いの感情ばかりが先行して
しまい、問題の本質を見失ってしまいがちですよね。相手が感情的になればな
るほど冷静に対応するようにすると、問題を早く解決することができるかもし
れません。
出典参考:故事ことわざ辞典 東京堂出版
(ナガタユウコ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒/community/object_ml/help/
〇 免責事項、過去の記事は ⇒/community/object_ml/
■ 発行:オブジェクト倶楽部 ⇒http://ObjectClub.jp/
Copyright (c)2003-2009 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.