目次
- クールな国際派SEになろう ―― まえがきに代えて
第0章 共同開発プロジェクトの始まり
- 近未来のソフトウェア会社 FATONテクノロジ
- 産業用ロボット開発会社 セサミ電機
- 北米の開発会社 エコロジックス社
- HarunaOneの特徴
- 会社と人材の関係
- 砂漠生態学研究所からのプロジェクト要求(RFP)
第1章 キックオフ
- 海外のメンバーとはじめて会う
- ソフトウェアの専門家として自己紹介する
- 会議のアジェンダを確認する
- 勤務ルールを決めて休日を確保する
- 時差を考慮して定例会議を決める
- 何を言っているのかわからない相手に対応する
- 特殊な用語のつづりを伝える
- 相手の力量を測る
- 要求から仕様への変換を十分に納得させる
第2章 プロジェクト運営
- カタカナ英語を指摘する
- スペルチェックしてもらう
- ルールのサブセットを決める
- ドキュメントをまとめて保管するように説得する
- 開発ツールを準備する
- 辞書を作る
- メトリック測定をする
- 測定のやり方を決める
- 指揮系統を確認する
第3章 分析工程
- 問題があることを指摘する ―― ユースケース分析
- 作業のやり方を話し合う ―― 手続き分析
- 問題をソフトウェアと分離する ―― ドメイン分析
- 技術的な疑問をぶつける ―― 状態分析
- 複数か単数かを確認する ―― クラス分析
- クラス図の意図するインスタンスの数を聞く
第4章 設計工程
- 設計方法の議論を切り出す
- クラス図の定義を確認する
- 状態図の初期状態を確認する
- 状態図の終状態を確認する
- 状態図の問題点を指摘する
- 状態図の同着処理を確認する
- 通信図のメッセージパッシングの問題を議論する
- ソフトウェアプラットフォームについて議論する
- データアクセスの設計を確認する
- 設計と仕様を区別する
- メッセージ交換の設計を決める
- 通信プロトコルのレイヤー構造を議論する
- 冗談を言う
- 並列な動作であることを示す
- 同時に生じる事象を示す
- 時間と時刻を示す
- 時間切れになった場合の対処を決める
- 時間タイマーの正確さを示す
第5章 実装工程
- 文法的な正しさと意味的な正しさの違いを示す
- ロジックの判断を一致させる
- 設計用語を使ってみる
- コンパイラの問題を示す
- ガイドラインをさりげなく提示する
- コーディングとしてのモジュールの定義を行う
- テストできるコードを書く
- 信頼できるコードを書く
- コメントの書き方を議論する
- バグはどこだ?
第6章 試験工程
- テストの進行予定を確認する
- テストの意義を理解してもらう
- 単体テストの意味を確認する
- テストケースの詳細を説明する
- 正常系をテストする
- テストの網羅度を確認する
- レアケースのテストを行う
第7章 エピローグ 〜HalunaOneの初飛行
付録 参考になるサイト
コラム
- 日本の文化を説明しよう
- 感覚の違いを理解しよう
- 日本語を説明しよう(1)
- 日本語を説明しよう(2)
- 先生の見つけ方
- 電車と常識の違い(1)
- 電車と常識の違い(2)
- 電車と常識の違い(3)
- 失敗を重ねることで上達しよう