業務システムのライフサイクル管理におけるツール利活用(3)
こんにちは豆蔵note編集室です!
今回は豆蔵技術情報より、【業務システムのライフサイクル管理におけるツール利活用(3)】をご紹介します。
豆蔵技術情報とは?
株式会社豆蔵公式HPにて公開している技術情報のことです。
その時にホットな技術的な情報、社内の活動について発信をしております。
それではどうぞ!
近藤 正裕 今田 忠博
当記事は2018年に再編集し、連載として体裁を整えたものです (ツールのバージョン等は内容に影響しないので適宜読み替えて下さい)
設計
「設計」は、方式設計とアプリケーションの概要設計を行います。
方式設計は、非機能要求を実現するために行いますが、ここでは、Visual Studioのモデリング機能のうち、レイヤー図やコンポーネント図を利用することができます。後続の「構築」において、設計と実装の整合性を確認するために、Visual Studioのアーキテクチャービューを利用することができます。(図 10)
アプリケーションの概要設計において、設計クラス図やシーケンス図を描くためにVisual Studioのモデリング機能を利用できます。
構築
構築フェーズでは、実装、テストの効率化と変更管理、継続的インテグレーションの採用などが業務システムの品質と開発効率を向上させる上で重要なポイントとなります。実装とテストがVisual Studio 2010のIDE機能により効率良く実施可能なのは、周知のとおりです。
ここでは、変更管理と発注者の受け入れにおけるTeam Foundation Serverの利活用を説明します。
変更管理
「構築」の段階で変更要求が発生したとき、影響範囲は「要求」「設計」「構築」の各成果物に及びます。
そこで、変更要求は初期の要求とは別に管理します。変更要求に関連する成果物の修正作業を登録して、担当者をアサインし管理します。ソースコードのチェックイン時に変更要求とリンクすることで、ソースコードの修正がどの変更要求に由来するものかを追跡することが可能です。(図 11)
これは、チェックイン時の手順なので、開発者の習慣として定着化を行う必要があります。
継続的インテグレーション
「構築」において、継続的インテグレーションを採用することで、各チーム、各開発者のモジュールの結合を常に実施することになり、構築の早い時期から一定品質を確保しスムースに結合テストフェーズに移行できるようになります。
Team Foundation Server 2010のCI機能により、ビルド、回帰テストおよび結果のレポーティング環境が容易に構築できるため、採用への障壁が低くなっています。(図 12)
システムテスト・受け入れ
開発者側の実施する結合テストや総合テストだけでなく、発注者側の受け入れテストにもTeam Foundation ServerとVisual Studio Test Managerの機能を有効利用できます。
「要件」で作成したユースケースとテストを関連付けて管理することで、システム要件を満たすのに必要なテストをすべてパスしたかどうかを検証することが可能です。Test Managerを使用して、テスターが手動で行うテストや、UIの自動テストをテストスイートとして管理出来ます。テスト実施時のエビデンス採取(スクリーンショットや一連の操作の動画など)が自動化でき、バグの登録とテストケースへの関連付けも同ツールから行うことが可能です。(図 13)
開発者が使用するIDEとしてのVisual StudioからTest Managerを独立させたことで、発注側企業に導入して、効率良く受け入れテストを実施することが可能になっています。
ユースケースに関連付けられたテストケースがすべてテストされているかもTeam Foundation Serverの機能を使って可視化できるため、受け入れ判定に使うレポートを作成することも可能です。
Team Foundation Server 2010とVisual Studio 2010のテスト支援機能について、JSTQB のテストツールの定義と比較したカバー範囲を表 4にまとめました。Visual StudioとTeam Foundation Serverの機能により、高いカバレッジを実現していると言えます。
表 4 JSTQBのテストツール定義との対応関係
結論
業務システムのライフサイクル管理という観点から、役割・責任の明確化し、ツールの利活用によりトレーサビリティー確保を実現し、業務適合的なシステムを効率良く構築・保全する手法について述べました。
5~10年のスパンで稼働する業務システムでは、企画段階からライフサイクル管理を導入することで、外部変化や経営変化、組織体制の変化に合わせて円滑な保守・運用が可能になります。ただ、管理のためのコストや開発者の作業負荷があまりに高くなっては本末転倒です。業務の特色や企業文化を考慮し、採用するツールの特性を理解して適用することで、ライフサイクル管理の狙いとする効果が得られることでしょう。
※転載元の情報は上記執筆時点の情報です。
上記執筆後に転載元の情報が修正されることがあります。