Microsoft PowerPoint - se13-BestPractices.ppt [互換モード]

Similar documents

13 ソフトウェア工学 Software Engineering ソフトウェアプロセス SOFTWARE PROCESS ソフトウェアプロセスとは ソフトウェアプロセス : ソフトウェアプロダクト ( 製品 ) を作り出すための, 互いに関連する活動 (activity) の集合 ソフトウェアプロセ

Using VectorCAST/C++ with Test Driven Development

Microsoft PowerPoint - se06-UML(UseCase)_2.ppt [互換モード]

日経ビジネス Center 2

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

アジャイル開発入門

要求仕様管理テンプレート仕様書

どのような便益があり得るか? より重要な ( ハイリスクの ) プロセス及びそれらのアウトプットに焦点が当たる 相互に依存するプロセスについての理解 定義及び統合が改善される プロセス及びマネジメントシステム全体の計画策定 実施 確認及び改善の体系的なマネジメント 資源の有効利用及び説明責任の強化

プロダクトオーナー研修についてのご紹介

DumpsKing Latest exam dumps & reliable dumps VCE & valid certification king

変更要求管理テンプレート仕様書

Microsoft PowerPoint - se05-ER&OOAD&UML.ppt [互換モード]

<4D F736F F D F815B B E96914F92B28DB8955B>

15288解説_D.pptx

PowerPoint プレゼンテーション

過去問セミナーTM

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint - 配布用資料.ppt

スライド 1

障害管理テンプレート仕様書

トレーニングのプレゼンテーション

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

PowerPoint プレゼンテーション

変更履歴 バージョン日時作成者 変更者変更箇所と変更理由 RIGHTS R ESER VED. Page 2

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

会社案内

2. 目的 1RationalRose を利用する場合にプログラム仕様書としての最低限必要な記述項目を明確にする 2 プログラム仕様書として記載内容に不足がない事をチェックする 3UML の知識があるものであれば 仕様書の内容を理解できること 4Rose にて入力した内容を SoDaWord を利用

作成履歴 バージョン日時作成者 変更者変更箇所と変更理由 年 4 月 17 日平成太郎新規作成 プロジェクト計画の全体概要 本書に記載するプロジェクト作業の概要を簡単に記述します 本書の内容の概要がこの部分で大まかに理解できます ] 本計画書の位置づけ プロジェクトにおいて本書

untitle

J-SOX 自己点検評価プロセスの構築

Microsoft PowerPoint - Personal Software Process (PSP)の実施の定着化

Microsoft PowerPoint - ID005(R02).pptx

PowerPoint プレゼンテーション

Microsoft PowerPoint - 23_電子制御情報の交換(配布用a).pptx

PowerPoint プレゼンテーション

目次 ペトリネットの概要 適用事例

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

テスト設計コンテスト

構成管理記録テンプレート仕様書

日本機械学会 生産システム部門研究発表講演会 2015 資料

短納期開発現場への XDDP 導入手法

効果的な XP の導入を目的としたプラクティス間の相互作用の分析 川端光義 阪井誠 小林修 アジャイルウェア ( 株 )SRA 先端技術研究所 ( 株 )SRA 要旨本論文では,XP(e

4.7.4 プロセスのインプットおよびアウトプット (1) プロセスへのインプット情報 インプット情報 作成者 承認者 備 考 1 開発に関するお客様から お客様 - の提示資料 2 開発に関する当社収集資 リーダ - 料 3 プロジェクト計画 完了報 リーダ マネージャ 告書 ( 暫定計画 ) 4

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

大規模災害等に備えたバックアップや通信回線の考慮 庁舎内への保存等の構成について示すこと 1.5. 事業継続 事業者もしくは構成企業 製品製造元等の破綻等により サービスの継続が困難となった場合において それぞれのパターン毎に 具体的な対策を示すこと 事業者の破綻時には第三者へサービスの提供を引き継

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

Microsoft PowerPoint - A3② JaSST_MISRA2004ソースコード品質診断.ppt

スキル領域 職種 : マーケティング スキル領域と MK 経済産業省, 独立行政法人情報処理推進機構

スライド 1

はじめに 本ドキュメントは Redmine を使用して稼働する定量的プロジェクト管理ツール ( 以下 IPF と略します ) のヘルプです IPF の操作に関わる機能を解説しており Redmine 及び構成管理ツール (Subversion Git) の標準機能については 本ヘルプの記載対象外として

5-3- 応統合開発環境に関する知識 1 独立行政法人情報処理推進機構

NEXCESS基礎コース01 組込みソフトウェア開発技術の基礎 ソフトウェア開発プロセス編

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

エンジニアリング・サービスから見たMBD導入の成功・失敗

AAプロセスアフローチについて_ テクノファーnews

目次 1. 会社紹介 2. 小規模ソフトウェア開発のプロセス改善 3. 改善後の開発現場に現れてきた気になる傾向 4. 小集団改善活動 5. 当社が考える小規模開発 1/20

目次 リリースノートについて... 1 リリースノートの内容... 1 フィードバックについて 主な機能強化 サービス課題管理機能 スコープ管理機能 サービス課題管理機能 スコープ管理機能 プロジ

SEC セミナー (2012 年 12 月 21 日 ) 定量的品質管理 実践的取組み 定量的品質管理 手法の企業での取り組み事例 1 品質 生産性目標の設定方法 2 現場で定着させるテクニック ~ 品質管理を効果的に実践するには ~ 三菱電機インフォメーションシステムズ株式会社業務プロセス改善推進

ログを活用したActive Directoryに対する攻撃の検知と対策

CDM Studio

<4D F736F F D F193B994AD955C D9E82DD835C EC091D492B28DB8816A2E646F63>

<4D F736F F F696E74202D D4C82F08A B582BD A A F2E707074>

スクラムと監査についての一考 システム監査人協会近畿支部 近藤博則

SPCシンポジウム(体験報告) 発表資料作成にあたって

リスクテンプレート仕様書

PARTⅢ 検証事例 2. トレーサビリティ管理の自動化に踏み切った理由や経緯 (1) 国際スタンダード認証に関する課題 ISO DO-178B/C IEC などの国際スタンダードでは 開発工程全般にわたって要件が満たされていること ( システムの正しい要件が 正しい方法で

Oracle Enterprise Manager 10g System Monitoring Plug-In for IBM WebSphere Application Server

品質 生産性目標の測定量 品質 生産性の測定量は何があるの? 点検のタイミンク 種類 要件定義 設計 製作 試験 全体 見積り 概算 正式 生産性 規模に対する工数実績 (Hr/KL) 規模に対する工期実績 ( 日 /KL) 規模に対する工数実績 (Hr/KL) 規模に対する工期実績 ( 日 /KL

ハード・ソフト協調検証サービス

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 関連する利害関係者の特定 プロセスの計画 実施 3. ISO 14001:2015への移行 EMS 適用範囲 リーダーシップ パフォーマンス その他 (

Microsoft PowerPoint - セッション2_安竹さん.ppt

Microsoft PowerPoint - yukio ppt

はじめに : ご提案のポイント

ファンクションポイント法

ソフトウェアテストプロセスに関する一考察 - V ⇒ W ⇒ V3 -

SEC セミナ 2014 年 12 月 スライドのほかに テキスト SEC コンテンツを活用した IT プロジェクト 見える化 のすすめ をご参照下さい IT プロジェクトの見える化 IPA/SEC 連携委員みたに先端研合同会社代表神谷芳樹 みたによしき 奈良先端科学技術大学院大学非常勤講師 神谷芳

セミナータイトル    ~サブタイトル~

ISO9001:2015内部監査チェックリスト

Microsoft PowerPoint _SIG-KST.pptx

テスト設計コンテスト

クラス図とシーケンス図の整合性確保 マニュアル

智美塾 ゆもつよメソッドのアーキテクチャ

(Microsoft PowerPoint - Java\221\3462\225\224\211\357\224\255\225\\\216\221\227\ ppt)

お客さまのデジタルトランスフォーメーションを加速する「アジャイル開発コンサルティングサービス」を提供開始

はじめに : ご提案のポイント

トレーニングのプレゼンテーション

ソフトウェア工学 ( 入門編 ) 掛下哲郎 ( 佐賀大学 )

Copyright Compita Japan ISO33k シリーズとは? これまで使用されてきたプロセスアセスメント標準 (ISO/IEC 本稿では以降 ISO15504 と略称する ) は 2006 年に基本セットが完成し 既に 8 年以上が経過しています ISO

Microsoft PowerPoint - UML1_2009.ppt

RaQuest MindManager

変更の影響範囲を特定するための 「標準調査プロセス」の提案 2014年ソフトウェア品質管理研究会(30SQiP-A)

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 利害関係者の特定 QMS 適用範囲 3. ISO 9001:2015への移行 リーダーシップ パフォーマンス 組織の知識 その他 ( 考慮する 必要に応

Microsoft Word - SANS_ASPL-J.doc

リソース制約下における組込みソフトウェアの性能検証および最適化方法

Transcription:

ソフトウェア工学 13: ソフトウェア開発のベストプラクティス 理工学部経営システム工学科庄司裕子 今回のテーマ ソフトウェア開発のベストプラクティス 開発プロセスモデルと支援ツールの現状 現状 と言いつつ ちょっと古い 開発プロセスとベストプラクティス 開発方法論 支援ツール 2 開発プロセスとベストプラクティス ソフトウェア開発のベストプラクティス ( 最善の実践原則 ) とは ソフトウェア開発上の問題の根本原因を解決できることが開発現場で実証されている開発アプローチ ベストプラクティス ( 最善の実践原則 ) と呼ばれるゆえんは ソフトウェア業界で成功を収めている組織で広く利用されているから 4 ベストプラクティスの例 ational ベストプラクティス 6 か条 ational Software( 現 IBM ational 事業部 ) 16 ritical Software Practices SPMN (Software Program Managers Network) http://www.spmn.com/16sp.html extream Programming(XP) プラクティス 12 か条 ational ベストプラクティス 6 か条 1. ソフトウェアを反復的に開発する 2. 要求を管理する 3. コンポーネントに基づくアーキテクチャを使用する 4. ソフトウェアを視覚的にモデリングする 5. 継続的にソフトウェアの品質を検証する 6. ソフトウェアへの変更を管理する 5 6 中央大学理工学部 ソフトウェア工学 13 1

1. ソフトウェアを反復的に開発する ウォーターフォール型開発プロセス 開発プロセスの二大モデル ウォーターフォール型開発プロセス 反復型開発プロセス ウォーターフォール型開発プロセスでは リスクを後のフェーズに先送りする リスクの潜在についての認識が欠けている 反復型開発プロセスでは リスクの解消に積極的に取り組む 解消できるリスクは先送りしない 要求分析 要求定義 システム設計 プログラム設計 トップダウン方式の問題解決手法 上流から下流へとリニアなタスクの流れ 上流で仕様が完全かつ明確に記述される必要がある 仕様が上流工程のみで明確化できる場合には 最も合理的なアプローチ 文書ベース しかし 多くの場合 現実的でない コーディング テスト 時間 運用 保守 7 8 ウォーターフォール型モデルの問題 反復型開発モデル 最初に要求を完全かつ明確に記述できると仮定している そもそも要求は変化するため プロジェクトの初期に要求を固定できると考えるのは非現実的 設計の妥当性を紙上の検討だけで検証できると仮定している 現実の問題に対してこれを可能にする技術はなく 人間による検証では見落しが発生する 要求仕様も設計も適切に検証されないまま それらに基づいて作業が進むため リスクが先送りされ プロジェクト終盤で致命的な問題が発生することになる 反復の 1 サイクル 時間 : 要求分析 / 定義 : 設計 : コーディング 単体テスト : 統合 テスト 出典 : フィリップ クルーシュテン著 ラショナル統一プロセス入門 9 10 反復型開発モデルの特徴 対象とする問題の複雑さを段階的に緩和 扱う要求を少しずつ増やしながら のサイクルを繰り返し 各サイクルでリスクの一部を解消する 各サイクルのマイルストーンとして 実行可能なプロトタイプを作成し検証する トップダウン方式 (1つのサイクル内の ) とボトムアップ方式 ( 次のサイクルへのステップアップ ) の組み合わせ 反復型開発のメリット 致命的な誤解を早期に明らかにし 対処できる ユーザからのフィードバックが促進され 真の要求を引き出すことができる 開発チームはプロジェクトの最も重大な問題に専念できる プロジェクトのステータスを客観的に評価できる 要求 設計 実装の間の矛盾を早期に発見できる チームの作業量がライフサイクル全体に均等配分される 前の反復サイクルの教訓を活かせるので プロセスが絶えず向上する プロジェクトの利害関係者が プロジェクトのライフサイクル全体を通して 進捗ステータスを表す具体的な物証を得ることができる 11 12 中央大学理工学部 ソフトウェア工学 13 2

反復型開発モデルの課題 最終的なプロダクトへの収束をどう保証するか 各反復が最初からの作り直しにならずに インクリメンタルな繰り返しになるにはどうするか 各反復で行う作業 ( 扱う要求 ) と対処するリスクをどう選択するか 前の反復で見つかった重大な問題をどう解決するか 個々の開発プロセスモデルごとにその手段が用意される必要がある ( 例 : ational Unified Process ) 2. 要求を管理する 小規模なシステムやよく理解されているドメイン以外では 開発に着手する前に システムに対する要求を完全かつ網羅的に記述することは不可能 要求は時間と共に変化する 要求を体系化し 変化を検出し 影響を評価して他の成果物に伝播させる ツールによるサポートが必須 13 14 要求管理のメリット 要求の検索 優先順位づけ フィルタリング 追跡ができる 矛盾を容易に発見できる 変更の影響を適切に伝播させることができる ツールによるサポートが不可欠 ( 人手では十分な管理は難しい ) 3. コンポーネントに基づくアーキテクチャを使用する アーキテクチャは プロジェクトの利害関係者 ( エンドユーザと開発チームメンバー ) の異なる視点を管理するための最も重要な成果物 これをベースに 反復と追加 ( インクリメント ) に基づく開発を制御できる コンポーネントを利用することで 部品のより大規模な再利用が可能になる 15 16 コンポーネントに基づくアーキテクチャのメリット 変更に強いアーキテクチャになる 変更の対象となるシステム要素を それらが果たすべき役割に応じて明確に分離できる 標準化されたフレームワーク (OM+ EJB など ) と市販コンポーネントにより 再利用が容易になる コンポーネント単位に構成管理できる ビジュアルモデリングツールを利用すれば 開発の自動化が可能になる 4. ソフトウェアを視覚的にモデリングする モデルとは 特定の視点からシステムを包括的に記述することで現実世界を単純化したもの モデリング対象のシステムをよりよく理解することが目的 ビジュアルモデリングツールを利用すれば モデルの管理が容易になる 17 18 中央大学理工学部 ソフトウェア工学 13 3

ソフトウェアの視覚的モデリングのメリット ユースケースとシナリオによって 振る舞いに関する仕様を明確に表現できる ソフトウェアの設計を明確に理解できる モジュール化されていない 柔軟性が欠けているといったアーキテクチャ上の問題を検出できる モデルの詳細度を必要に応じて変更できる 設計の矛盾が比較的容易に明らかになる 標準化されたモデリング言語を使用すれば ライフサイクル全体にわたって モデルの管理やコミュニケーションが容易になる UML が事実上の標準になっている 5. 継続的にソフトウェアの品質を検証する システムの完成後にシステムの問題を発見して修正しようとすると 100~1000 倍のコストがかかる 機能 信頼性 性能の観点から システムの品質を継続的に評価することが不可欠 反復型開発プロセスでは 各反復サイクルで具体的なテストを行うので これに適している 19 20 品質の継続的検証のメリット プロジェクトのステータスが客観的に評価される 要求 設計 実装の間の矛盾が明らかになる 最もリスクの高い部分にテストと検証が集中するため その部分の品質と効率が向上する 欠陥を早期に発見できるので それらを修正するためのコストを大幅に削減できる 自動テストツールを利用すれば 機能 信頼性 性能のテストが可能になる 6. ソフトウェアへの変更を管理する 開発者は一般に異なる組織に所属しており それらの要員をうまく連携させなければ 開発プロセスは混乱に陥る ソフトウェア開発の成果物への変更を管理するための反復可能なワークフローを確立して 開発チーム内の作業や成果物を取りまとめることが必要 プロジェクトの優先度やリスクに基づいたリソースの有効な割り当てが可能になる 変更に伴う作業を積極的に管理できる 21 22 変更管理のメリット 要求の変更に対処するためのワークフローが定義され 反復可能になる 変更依頼に基づくことで コミュニケーションがより明確になる ( 履歴も残る ) 作業現場が分離されるため 並行して作業を行っているチームメンバー間の干渉が減る 変更率の統計がプロジェクトステータスの客観的評価尺度になる すべての成果物が共有されるので 整合性が保たれる 変更による影響を評価し 制御できる ツールによるサポートが不可欠 ( 人手では十分な管理は難しい ) 開発方法論 支援ツール 23 中央大学理工学部 ソフトウェア工学 13 4

ソフトウェア開発プロセスの役割 チームの開発作業の順序に関するガイダンスを提供 どの成果物をいつ開発すべきかを規定 個々の開発者の作業とチーム全体の業務を統轄 プロジェクトのプロダクトとプロセスを監視 測定するための基準を提供 明確に定義された開発プロセスがあってこそ ソフトウェア開発のベストプラクティスが実践可能になり 促進される 利用可能な開発プロセスの例 UP (ational Unified Process ) extreme Programming(XP) 25 26 UP (ational Unified Process ) ational Software 社 ( 現 IBM ational 事業部 ) が提供している製品 実態は Web ベースの知識ベースとプロセスガイドライン 紙ベースでないところが重要 ational ブランドのソフトウェア開発ツール群 ( ビジュアルモデリング 要求管理 変更管理 構成管理など ) と統合されている extreme Programming(XP) Kent Beck らが考案し提唱しているソフトウェア開発手法で アジャイルソフトウェア開発 (Agile Software evelopment) 手法と総称される一連の手法の先駆けとなったもの 開発の初期段階の設計よりもコーディングとテストを重視し 常にフィードバックを行ってコードを修正 再設計していくことを基本としている 開発チームが共有すべき価値として コミュニケーション (communication) シンプルさ (simplicity) フィードバック (feedback) 勇気 (courage) の 4 つを示し 経験に基づいた具体的な実践項目 ( プラクティス ) を 12 か条挙げている 10 人程度くらいまでの小チームに適用するのが最も適していると言われ 小 ~ 中規模のソフトウェアの開発に向いた手法とされている 27 28 ソフトウェアライフサイクル管理を実現する開発ツール群 要求管理ツール ( 要求と成果物のリンク ) 変更管理ツール ( 成果物の一貫性を保つ ) 構成管理ツール ( 種々のバージョンを管理 ) 統合開発環境 (IE) 統合テストツール コミュニケーション支援ツール メーリングリスト ディスカッショングループ 統合開発環境 (IE) の主な機能 UML ビジュアルモデリング フォワード / リバースエンジニアリング 入力支援機能付きプログラミングエディタ デバッガ ソースコード検査 & メトリクス測定 リファクタリング 単体テスト ドキュメント生成 29 30 中央大学理工学部 ソフトウェア工学 13 5

まとめ ソフトウェア開発の ational ベストプラクティス 6 か条を紹介した 1. ソフトウェアを反復的に開発する 2. 要求を管理する 3. コンポーネントに基づくアーキテクチャを使用する 4. ソフトウェアを視覚的にモデリングする 5. 継続的にソフトウェアの品質を検証する 6. ソフトウェアへの変更を管理する 明確に定義された開発プロセスがあってこそ ソフトウェア開発のベストプラクティスが実践可能になり 促進される 開発プロセスの例 : UP XP 参考文献 Philippe Kruchten, he ational Unified Process: An Introduction, Second Edition, Addison-Wesley Pub o. ( 邦訳 : ラショナル統一プロセス入門第 2 版, ピアソン エデュケーション ) Kent Beck, Extreme Programming Explained: Embrace hange, Addison-Wesley Pub o. ( 邦訳 : XPエクストリーム プログラミング入門 ソフトウェア開発の究極の手法, ピアソン エデュケーション ) 31 32 中央大学理工学部 ソフトウェア工学 13 6