情報システム構築 -説明と実力テスト- 金曜4校時 掛下哲郎 大月美佳 本講義の背景 来年度からの新カリキュラム 新しい実験科目(3年次開講) オブジェクト指向ソフトウェアの協同開発演習 のための実験講義 現カリキュラムでやる上での問題 オブジェクト指向を学んでいない… →ごりごり実地体験→上級者向け 本講義の目的 ソフトウェア協同開発の学習 開発手法の体験 eXtreme Programming 開発で使用するツールの学習 CVS, Make, CppUnit 自力で調べる力をつける ソフトウェアの実装に必要な知識は自力で JABEEとの関連 対応項目 A 情報システム技術者としての視野 (1) 情報システムについて,利用者,管理者,開発 者としての各視点からの知識を持っている 教科書 教科書 特になし 講義資料を配布 参考書 1. 「XPエクストリーム・プログラミング適用編― ビジネスで勝つためのXP」(ピアソン・エデュ ケーション) K. アウアー 他著 平鍋 健児 他 訳 ISBN:4894715554 2. 「eXtreme Programming実践レポート―XPプ ロジェクトを実現した手法と軌跡」(翔泳社) 日本XPユーザグループ著 ISBN4798102180 その他必要に応じて提示・閲覧室に用意? 本講義の評価方法 ソフトウェア開発の成果(50点配点) 出来上がったものに対して出来を評価 グループ全員共通 開発への貢献度(50点配点) グループメンバによる投票 口頭試問 講義スケジュール(予定)1 回数 1 2 3 4 5 6 7 日付 10/04 10/11 10/18 10/25 11/01 11/08 11/15 内容 説明と実力テスト グループ分けとCVSの初期設定 計画ゲーム テストケースとモックアップ作成 1 テストケースとモックアップ作成 2 Makefile作成とビルド 第1イテレーション 講義スケジュール(予定)2 回数 8 9 10 11 12 13 14 予備 日付 11/29 12/06 12/13 12/20 01/10 01/17 01/24 01/31 内容 第1イテレーション 第1イテレーションの評価 第2イテレーション 第2イテレーション 第2イテレーションの評価 第3イテレーション 第3イテレーション 最終成果報告? 何を作るのか 必須条件 指定の開発環境 UNIX OS(Solaris or Red Hat Linux) 指定の言語、ツールを使用 C++ (G++), CVS, Make, CppUnit 学科のコーディング規約を厳守 GUIはWebインターフェース 対象領域は自由 たとえば ゲームでも可 アドベンチャーゲーム 恋愛シミュレーションゲーム (対戦)カードゲーム 登録式トーナメントゲーム 案が出ない場合は上のどれか リアルタイム性の強いものは無理と思われる eXtreme Programming 変化にすばやく対応するための開発方法 非常に短期間に開発プロセスを繰り返す 計画ゲーム→要求分析・設計 イテレーション→実装・単体テスト リリース→受け入れテスト コミュニケーションの重視 ペアプログラミング コード共有 計画ゲーム:仕事の確定 要求を分析し、実装する仕様を確定する 仕様の各項目をストーリーと呼ぶ 「表示画面には状況を表す絵と次の状況に移るための選択肢 がある。選択肢を選ぶと次の状況に合った画面が表示され る」 優先度の高いストーリーから実装 ストーリーから実装を考え仕事を分割する 分離可能な実装の単位をタスクとする 「CGI入力解析機能の作成」 「HTML表示機能の作成」 「状況ツリーのデータ構造およびアクセス部機能の作成」 「画像の合成機能の作成」 計画ゲーム:仕事の割り振り タスクを取り合う 各タスクには2人が割り当てられる 「CGI入力解析機能の作成」には田中、山田 このペアは常に一緒にそのタスクを実装する タスクにかかる時間を見積もる とても理想的な環境でかかる時間(理想日) 「CGI入力解析機能の作成」には3理想日 イテレーションを開始する 実装の設計 実装の設計については補助 CRCカードを使用したオブジェクト指向設計 参考書 「オブジェクトモデリングプロセスガイド―オブジェクト 開発を成功させるプロセスの導入」(ピアソン・エ デュケーション) 杉野 博史 他著 ISBN4894711540 「実践CRCカード―ロールプレイとブレーンストーミン グによる大規模システム開発手法」(ピアソン・エ デュケーション) D. ベリン 他著 今野 睦 他訳 ISBN4894712776 イテレーションの掟 テストから作ること →CppUnitを使え 定期的に全部を集めて構築を行うこと →Makeを使え ソースコードはみなで共有すること →CVSを使え コーディング規則を遵守すること →学科のコーディング規則を使え CVS ソースコード共有が可能なバージョン管理 システム 業務ではMicrosoftのVSSが有名 参考書 「バージョン管理システム(CVS)の導入と活用」 (ソフトバンクパブリッシング) 鯉江 英隆他著 ISBN4797310669 「入門CVS」(秀和システム) 大月美佳著 ISBN4798001058 今品薄…11月に新刊予定 Make 構築ツール ルールからプログラムなどを構築 例えばCのソースコード、TeX ファイルの依存関係を記述しておくと 再構築が必要なものだけを構築 参考書 「GNU Make」(アスキー) R. ストールマン ISBN4756139590 CppUnit 単体テストのための仕組み 単体テスト=モジュール単位のテスト モックアップ(はりぼて)を作る→テストコードを書く →実行→失敗→はりぼてにコードを埋めていく →徐々に成功を増やしていく→完成させる 参考図書 「eXtreme Programmingテスト技法―xUnitではじめ る実践XPプログラミング」(翔泳社) 日本XPユーザ グループ著 ISBN4798101281 イテレーションの管理 遅れてないか常に見張る人を用意すること 誰かをトラッカに 進捗状況管理→模造紙で貼り出す イテレーションの最終には評価を行うこと 時間・作業の質など 作品のレビュー ストーリー・タスクの見積もりをしなおして 次のイテレーションを開始すること 質問などの受付 教官室 7号館2階207号室(内線:8858) 電子メール [email protected] WWW・CVSリポジトリ 用意ができたらアナウンス 最後に 開始 実力テスト グループ分けに使用 30分 次回は グループ分けと登録作業 受けることにした人は 履修カードとテストを出して帰ること
© Copyright 2024 ExpyDoc