• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ソフトウェア構成管理入門
 

ソフトウェア構成管理入門

on

  • 4,639 views

ソフトウェア構成管理の入門資料です。

ソフトウェア構成管理の入門資料です。

Statistics

Views

Total Views
4,639
Views on SlideShare
3,365
Embed Views
1,274

Actions

Likes
6
Downloads
0
Comments
0

4 Embeds 1,274

http://softwareengineeringplatform.com 965
http://re-workstyle.com 300
https://twitter.com 8
http://www.softwareengineeringplatform.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ソフトウェア構成管理入門 ソフトウェア構成管理入門 Presentation Transcript

    • ソフトウェア構成管理 基礎講座w/ Team Foundation Server 2010 3rd Edition © 2011 Tomoharu Nagasawa. All rights reserved.
    • 2© 2011 Tomoharu Nagasawa. All rights reserved.
    • 3© 2011 Tomoharu Nagasawa. All rights reserved.
    • 4© 2011 Tomoharu Nagasawa. All rights reserved.
    • 5© 2011 Tomoharu Nagasawa. All rights reserved.
    • 6© 2011 Tomoharu Nagasawa. All rights reserved.
    • ※ すべての開発行為は、この要素で成り立ち、表現できる※ この引き渡しが、価値の流れを生み出す 7 © 2011 Tomoharu Nagasawa. All rights reserved.
    • 8© 2011 Tomoharu Nagasawa. All rights reserved.
    • 日々、変化している一度に変更するファイルは複数である一行でも変更すればアプリケーション は別物になるこれらは膨大で、人が把握できる規模 を超えているこれらはチームで共同作業される 9© 2011 Tomoharu Nagasawa. All rights reserved.
    •  修正対象の誤りを軽減  変更の正しい共有を促進  手作業によるミスを軽減  手作業による手間を軽減  ビルド成果物も識別  ビルドに含まれる変更を識別  手作業によるビルド記録のミスと手間の軽減  開発者からリリース管理者への引き継ぎ 10© 2011 Tomoharu Nagasawa. All rights reserved.
    • ソースコードを一元管理ソースコードの構成を版管理 履歴を記録し、識別と追跡を可能にソースコードの “塊” を識別 ラベリング* 変更セット* * 後述ソースコードをセキュアに保管 11 © 2011 Tomoharu Nagasawa. All rights reserved.
    • 12© 2011 Tomoharu Nagasawa. All rights reserved.
    •  ソースコードを一元管理  フォルダによる多元管理 ソースコードの構成を版管理  フォルダやファイル名の変更により把握  履歴をたどれるように  履歴が残らない ソースコードの塊を識別  ソースコードの塊を識別困難  ラベリング*  変更セット* ソースコードをセキュアに保管  ローカル/フォルダ共有リスク 13 © 2011 Tomoharu Nagasawa. All rights reserved.
    •  人依存な属人的な識別  上書きによる損失  人手による手間  ヒューマン エラー 紛失とディスク破損 上書き  WIP (Work-in-Process) が長い  フィードバックの遅延 誤ったコードへの変更  並行開発の阻害 誤ったコードの上書き  疲労感の蓄積 14 © 2011 Tomoharu Nagasawa. All rights reserved.
    •  統一した仕組みの中での識別  上書きによる損失がない  自動化による手間とミスの軽減 紛失とディスク破損が起こらない 上書きされない仕組み  WIP (Work-in-Process) が短い  フィードバックのサイクル確立 再現性の確保  並行開発の円滑化 セキュアなバックアップ  疲労感のリフレッシュ効果 15 © 2011 Tomoharu Nagasawa. All rights reserved.
    • 16© 2011 Tomoharu Nagasawa. All rights reserved.
    • 1日の作業の成果が、記録と共に確実に蓄積できる 17 © 2011 Tomoharu Nagasawa. All rights reserved.
    • 開発のトランザクションの単位で、 記録と共に確実に蓄積できる 識別可能な意味のある 単位で蓄積される  バグ改修  新規機能追加 18 © 2011 Tomoharu Nagasawa. All rights reserved.
    • ソースコード管理の機能を一気通貫で実現 19 © 2011 Tomoharu Nagasawa. All rights reserved.
    • Visual Studio から TFS に接続 Visual Studio の [チーム] メニュー チーム エクスプローラーのアイコン から TFS に接続 TFS サーバー名を入力 チーム プロジェクトを選択 20 © 2011 Tomoharu Nagasawa. All rights reserved.
    • Visual Studio から TFS リポジトリを操作する窓口Visual Studio のいつもの操作感で、開発リソースにアクセスできる © 2011 Tomoharu Nagasawa. All rights reserved. 21
    • Visual Studio から TFS リポジトリを操作する窓口 古いファイルを取得している ロック中のファイル 編集中のファイルVisual Studio のいつもの操作感で、ソースコードにアクセスできる © 2011 Tomoharu Nagasawa. All rights reserved. 22
    • ソース管理エクスプローラーから ソリューション エクスプローラーから 古いファイルがあってもしっかり更新してくれる 古いファイルを編集してしまっていたら、通知される © 2011 Tomoharu Nagasawa. All rights reserved. 23
    • [チーム] -> [チーム プロジェクトの設定] ⇒ [ソース管理][チェックアウトの設定] タブ 複数人での同時編集を可能 にする (既定値) チェックアウト時に常に最 新バージョンを取得してく るようにすることで、古い ファイルへの変更を回避 (非 既定値)  同時編集を誤りなく実施するための設定を装備 (ON/ON)  ひとりでセキュアに編集することも設定できる (OFF/ON) © 2011 Tomoharu Nagasawa. All rights reserved. 24
    • TFS Visual Studio で開発作業に専念 ファイルを編集すると自動的に編集可能な状態にしてくれる もちろん、明示的に「チェックアウト」や「ロック」も行える © 2011 Tomoharu Nagasawa. All rights reserved. 25
    •  把握し辛い変更中のファイルを可視化 ボタン一つで、誤りなくチェックインが可能 © 2011 Tomoharu Nagasawa. All rights reserved. 26
    • ファイルを取得したときの状態に戻してくれる ファイルごとでも、再帰的にすべて行うこともで きる 間違えて編集してしまったファイルを元に戻すことができる チェックイン時には、未変更のファイルは自動的に元に戻る © 2011 Tomoharu Nagasawa. All rights reserved. 27
    • ソース管理エクスプローラーから TFS ソリューション エクスプローラーから ファイルを編集すると自動的に編集可能な状態にしてくれる もちろん、明示的に「チェックアウト」や「ロック」も行える © 2011 Tomoharu Nagasawa. All rights reserved. 28
    • [チーム] -> [チーム プロジェクトの設定] ⇒ [ソース管理][チェックイン メモ] タブ チェックイン時に入力させたい情報を 自由に設定 チェックイン時に入力がないとチェッ クインできないようにし、忘れないよ うにできる チェックイン メモの設定 チェックイン時のメモと、未入力時のエラー  履歴に残したい大切な情報を項目化することができる  入力忘れを防ぐ、安心設定が可能 © 2011 Tomoharu Nagasawa. All rights reserved. 29
    • [チーム] -> [チーム プロジェクトの設定] ⇒ [ソース管理][チェックイン ポリシー] タブ チェックイン時までに実行しておきたい 品質上の作業を設定 チェックイン時に実施していないと チェックインできないようにし、忘れな いようにできる チェックイン ポリシーの設定 チェックイン時、未実施の際のエラー  より確実な品質のコードを記録できるようにすることができる  Visual Studio Premium の優れたコード品質機能と連動 © 2011 Tomoharu Nagasawa. All rights reserved. 30
    •  変更の経歴を一覧で把握 過去のソースコードを再現したり、内容を確認できる (※次頁参照) © 2011 Tomoharu Nagasawa. All rights reserved. 31
    • 一度に変更したファイルを 識別可能 ⇒ ひとつ、ひとつのファイルの 履歴は、人が把握する単位と しては細かすぎる 開発のトランザクションの単位で識別が可能に 変更の理由 (特定バグの改修など)と変更ファイルが明確になる © 2011 Tomoharu Nagasawa. All rights reserved. 32
    • ソースコードの各ブロックごとに 変更/追記を行ったのか識別 前頁の 単位で識別 各ファイルの内容から変更を識別 ファイル内のコメント記録などを最適化して開発効率を向上 © 2011 Tomoharu Nagasawa. All rights reserved. 33
    • ソースコード管理の機能を一気通貫で実現 の単位でバージョン管理 される 各種の方法で し、 状況に応じたファイルを取得可能 本シナリオは、1日で変更作業が終えている場合に推奨 編集途中のファイルをチェックインするとビルドが通らないコードが混入される © 2011 Tomoharu Nagasawa. All rights reserved. 34
    • の単位でバージョン管理 される 各種の方法で し、 状況に応じたファイルを取得可能 シェルブには名前を付けて識別 リポジトリ内の一時領域に保管・共有 © 2011 Tomoharu Nagasawa. All rights reserved. 35
    •  修正対象の誤りを軽減  変更の正しい共有を促進  手作業によるミスを軽減  手作業による手間を軽減  ビルド成果物も識別  ビルドに含まれる変更を識別  手作業によるビルド記録のミスと手間の軽減  開発者からリリース管理者への引き継ぎ 36© 2011 Tomoharu Nagasawa. All rights reserved.
    •  修正対象の誤りを軽減  変更の正しい共有を促進  手作業によるミスを軽減  手作業による手間を軽減  ビルド成果物も識別  ビルドに含まれる変更を識別  手作業によるビルド記録のミスと手間の軽減  開発者からリリース管理者への引き継ぎ 37© 2011 Tomoharu Nagasawa. All rights reserved.
    • ソースコード横串で識別する ファイル A ファイル B ファイル C 変更セット ラベル 変更セットは、開発のトランザクションの単位 © 2011 Tomoharu Nagasawa. (フォルダ指定が可能) ラベルは、 ソース全体または、部分に適用 All rights reserved. 38
    • ソースコード横串で識別する ファイル A ファイル B ファイル C ラベルの作成変更セットとラベルの識別(フォルダ/ファイル単位) ラベル添付のソースの取得や ラベル添付されているファイル一覧の識別 ラベル間比較が可能  ラベル付けされた変更セット、ファイルは容易に識別  ビルド対象を容易に識別し、確実にビルド管理へ引き継ぎ © 2011 Tomoharu Nagasawa. All rights reserved. 39
    •  修正対象の誤りを軽減  変更の正しい共有を促進  手作業によるミスを軽減  手作業による手間を軽減  ビルド成果物も識別  ビルドに含まれる変更を識別  手作業によるビルド記録のミスと手間の軽減  開発者からリリース管理者への引き継ぎ 40© 2011 Tomoharu Nagasawa. All rights reserved.
    •  修正対象の誤りを軽減  変更の正しい共有を促進  手作業によるミスを軽減  手作業による手間を軽減  ビルド成果物も識別  ビルドに含まれる変更を識別  手作業によるビルド記録のミスと手間の軽減  開発者からリリース管理者への引き継ぎ 41© 2011 Tomoharu Nagasawa. All rights reserved.
    • 任意のタイミングでソースコード管理下のビルドを実施 ファイル A ファイル B ファイル C 自動ビルド スケジュール  曜日指定 + 時間指定 継続的インテグレーション (チェックインと同時にビルド実行)  ゲート チェックイン (リポジトリを汚さない CI) 手動実行 ビルドの定義を複数設けることができる 自動的にラベリング 自動的に変更セット、ビルド/テスト結果をレポート ビルドの品質指標 (ビルドの状態管理) が可能  決めたタイミングでビルドを実行しラベリング  自動的にテストを実行し、ビルド品質を識別 rights reserved. © 2011 Tomoharu Nagasawa. All 42
    • ウィザードによる簡潔なビルド定義の設定 決めたタイミングでビルドを実行しラベリング 自動的にテストを実行し、ビルド品質を識別 rights reserved. © 2011 Tomoharu Nagasawa. All 43
    • ビルド結果を包括的に識別、追跡 成功 / 失敗  ビルドの状態管理 部分的な成功  リリース適正の判断に (ビルド:OK、テスト: NG)  ビルドから品質を一望  正しい認識のもと、リリースへ Tomoharu Nagasawa. All rights reserved. © 2011 44
    • ビルド結果を包括的に識別、追跡 ビルド結果の詳細情報を収集 ビルドに含まれる変更セットやバグを自動記録 reserved. © 2011 Tomoharu Nagasawa. All rights 45
    • ビルド結果を包括的に識別、追跡  実施テスト件数とテスト結果  コードのカバレッジ率  コードの変更量 (コード チャーン) 実施テスト件数とテスト結果 コードのカバレッジ率 コードの変更量 (コード チャーン) ビルドの品質指標  ビルド結果を総合的に可視化  品質の推移を把握 © 2011 Tomoharu Nagasawa. All rights reserved. 46
    •  修正対象の誤りを軽減  変更の正しい共有を促進  手作業によるミスを軽減  手作業による手間を軽減  ビルド成果物も識別  ビルドに含まれる変更を識別  手作業によるビルド記録のミスと手間の軽減  開発者からリリース管理者への引き継ぎ 47© 2011 Tomoharu Nagasawa. All rights reserved.
    •  修正対象の誤りを軽減  変更の正しい共有を促進  手作業によるミスを軽減  手作業による手間を軽減  ビルド成果物も識別  ビルドに含まれる変更を識別  手作業によるビルド記録のミスと手間の軽減  開発者からリリース管理者への引き継ぎ 48© 2011 Tomoharu Nagasawa. All rights reserved.
    •  常に:  利害関係者全員が把握できる  開発作業前、途中、作業後:  管理者が最も把握しやすい  開発者が作業対象を把握しやすい  開発作業前、途中、作業後:  開発者が最も把握しやすい  管理者も把握しやすい  開発作業時: 開発者が最も把握しやすい  開発作業後: 開発者が把握しやすい  開発作業時: 開発者が把握しやすい  開発作業後: 誰もが把握できない 49© 2011 Tomoharu Nagasawa. All rights reserved.
    •  常に:  利害関係者全員が把握できる  開発作業前、途中、作業後:  管理者が最も把握しやすい  開発者が作業対象を把握しやすい  開発作業前、途中、作業後:  開発者が最も把握しやすい  管理者も把握しやすい  開発作業時: 開発者が最も把握しやすい  開発作業後: 開発者が把握しやすい  開発作業時: 開発者が把握しやすい  開発作業後: 誰もが把握できない 50© 2011 Tomoharu Nagasawa. All rights reserved.
    •  常に:  利害関係者全員が把握できる  開発作業前、途中、作業後:  管理者が最も把握しやすい  開発者が作業対象を把握しやすい  開発作業前、途中、作業後:  開発者が最も把握しやすい  管理者も把握しやすい  開発作業時: 開発者が最も把握しやすい  開発作業後: 開発者が把握しやすい  開発作業時: 開発者が把握しやすい  開発作業後: 誰もが把握できない ビルド結果を総合的に可視化 品質の推移を把握 © 2011 Tomoharu Nagasawa. All rights reserved. 51
    • 人 作業 Output (Roles) (Activities) s Inputs 成果物 成果物 (Artifacts) (Artifacts) 52© 2011 Tomoharu Nagasawa. All rights reserved.
    •  ユーザーストーリー (要求)  タスク  バグ (障害)  テスト ケース  懸案事項  自由な抽出条件で閲覧  標準で必要十分なクエリを搭載  チームで共有するクエリ  個人で使用するクエリ  チェックイン時に関連付け  ポリシーで忘れないように設定可能  要求とタスク、テストケースとバグなど  親子関係(親タスク、子タスク) 作業項目を活用することで、上流から下流までのトレーサビリティを可能に 開発者も管理者も識別可能な単位でプロジェクト運営を円滑に © 2011 Tomoharu Nagasawa. All rights reserved. 53
    • 自分の実施すべき作業を把握タスクと機能や要求の関係も把握して的確な作業を実施へ  Excel などを見に行かなくても、Visual Studio から担当タスクやバグを把握  迅速な対応と実績の入力を VisualTomoharu Nagasawa. All rights reserved. © 2011 Studio から実施 54
    • 使い慣れた Excel や Project から進捗を把握 (データは TFS から読み取る)Excel のグラフ能力、計算能力をフルに活用  管理者は、Excel や Project を見ていればよい  開発者が、Visual Studio から入力した実績が反映されている © 2011 Tomoharu Nagasawa. All rights reserved. 55
    • 56© 2011 Tomoharu Nagasawa. All rights reserved.
    • 57© 2011 Tomoharu Nagasawa. All rights reserved.