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