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

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


アジャイル開発入門

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

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

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

PowerPoint プレゼンテーション

(Microsoft PowerPoint - \203A\203W\203\203\203C\203\213\212J\224\255_ ppt)

Microsoft PowerPoint - Wmodel( ) - 配布用.pptx

日経ビジネス Center 2

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

Microsoft PowerPoint - 配布用資料.ppt

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

Microsoft PowerPoint - ID005(R02).pptx

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

untitle

授業計画書

15288解説_D.pptx

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

アジャイル開発ソリューション

Using VectorCAST/C++ with Test Driven Development

プロジェクトを成功させる見積りモデルの構築と維持・改善 ~CoBRA法による見積りモデル構築とその活用方法について~

宇宙機搭載ソフトウエア開発のアセスメント

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

PowerPoint プレゼンテーション

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

過去問セミナーTM

<4D F736F F F696E74202D A B837D836C CA48F435F >

スライド 1

f2-system-requirement-system-composer-mw

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

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

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

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

組織内CSIRT構築の実作業

<4D F736F F F696E74202D208A4A94AD82C6895E977082F082C282C882AE B8DC C E >

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

スクラム開発におけるプロダクトオーナーの役割 第 1.1 版 2018 年 02 月 14 日 この作品はクリエイティブ コモンズ表示 - 継承 4.0 国際ライセンスの下に提供されています プロダクトオーナーの役割 2018 TIS INC. クリエイティブ コモンズ ライセンス ( 表示 - 継

TSPの俊敏性向上に関する取り組みと評価

「分散開発における中堅システムエンジニア育成教育プログラムの開発」に対する

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

【NEM】発表資料(web掲載用).pptx

IPA 発表用 事例に見る初めてのアジャイル開発導入 ~ 見えてきたメリットと課題 ~ 2012 年 12 月 9 日 ( 株 ) 豆蔵堀江弘志 アジェンダ 本日は 以下の 3 つをお話します アジャイル開発の基本的なことを ( 簡単に ) アジャイル開発の事例 アジャイルを導入するにあたってのポイ

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

MogiExam 専門的な MogiExam は権威的な資料を提供します

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

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

ISO9001:2015規格要求事項解説テキスト(サンプル) 株式会社ハピネックス提供資料

28th Embarcadero Developer Camp

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

2013 年度 統合実習 [ 表紙 2] 提出記録用紙 5 実習計画表 6 問題リスト 7 看護過程展開用紙 8 ( アセスメント用紙 1) 9 ( アセスメント用紙 2) 学生証番号 : KF 学生氏名 : 実習期間 : 月 日 ~ 月 日 実習施設名 : 担当教員名 : 指導者名 : 看護学科

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

Oracle Code Tokyo 2017 ダウンロード資料

自己紹介 技術革新統括本部技術開発本部 Agile プロフェッショナルセンタ Agile 開発主に Scrum の導入支援 社内外案件での Agile 開発 ビジネススタートアップ Scrum Master 育成 Certified ScrumMaster SQiP 研究会第 3 分科会第 29 期

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

再利用アセスメント 計画 実行及び制御 レビュー及び評価ソフトウェアの再利用を行う組織では 再利用施策管理者 という人が位置づけされることになっており このプロセスはその人が組織の中で再利用を実施するために行うべき作業を定義したものである 再利用資産管理プロセス の目的は 構想から廃止までの再利用資

PowerPoint プレゼンテーション

お客様からの依頼内容とその現状

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

Microsoft Word - エグゼクティブサマリー.docx

ISO 9001:2015 から ISO 9001:2008 の相関表 JIS Q 9001:2015 JIS Q 9001: 適用範囲 1 適用範囲 1.1 一般 4 組織の状況 4 品質マネジメントシステム 4.1 組織及びその状況の理解 4 品質マネジメントシステム 5.6 マネジ

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

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

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

<4D F736F F D F815B B E96914F92B28DB8955B>

スライド 1

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

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

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

目次 Nexusの概要... 2 Nexusガイドの目的... 2 Nexusの目的... 2 Nexusの背景... 2 Nexusフレームワーク... 3 Nexusのプロセスの流れ... 4 Nexus... 5 Nexusの役割... 5 Nexus 統合チーム... 5 Nexus 統合チ

システムズエンジニアリングとは? システムを成功させるための複数の専門分野にまたがるアプローチと手段である JCOSE(Japan Council on Systems Engineering) ここでいう システム は コンピュータシステムにとどまらず 機械 電気機器 人間系 ( 操作者 ) 環境

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

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

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

TopSE並行システム はじめに

Microsoft PowerPoint _SIG-KST.pptx

日本基準基礎講座 収益

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

品質マニュアル(サンプル)|株式会社ハピネックス

Microsoft PowerPoint - CoBRA法の概要r1.pptx

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

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

ユーザエクスペリエンス (UX) 手法を 用いた企画品質評価の提案 第 4 分科会 主査 金山豊浩 ( 株 ) ミツエーリンクス 副主査 三井英樹 ( 株 ) ビジネス アーキテクツ 福山朋子 ( 株 ) インテック 研究員リーダ 村上和治東京海上日動システムズ ( 株 ) 田邉孝次 SCSK( 株

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

<4D F736F F D A8D CA48F43834B C E FCD817A E

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

Test.SSF Skill Standards Version 1.0

技術士総合監理部門.indd

計算機アーキテクチャ

Microsoft PowerPoint - B3-3_差替版.ppt [互換モード]

JBoss と Arquillian で実現する 究極のテスト環境 レッドハット株式会社 JBoss サービス事業部 コンサルタント 山 田義和

Microsoft PowerPoint - ETEC-CLASS1資料 pptx

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

項目記載事項必須 1.4 非機能性 更新業務仕様書の 3-4 非機能要件 を踏まえ 提案するシステムに関して 基本的な考え方や方針 アピールポイント等を簡潔かつ明瞭に記述すること 3-4 非機能要件 の (1) から (4) に区分し すべての項目について記述すること 1.5 他システム連携 更新業

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

ISO 9001:2015 改定セミナー (JIS Q 9001:2015 準拠 ) 第 4.2 版 株式会社 TBC ソリューションズ プログラム 年版改定の概要 年版の6 大重点ポイントと対策 年版と2008 年版の相違 年版への移行の実務

FSMS ISO FSMS FSMS 18

Transcription:

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

ソフトウェアプロセスの設計と記述 つぎの4 項目について設計し, 記述する 1) 活動 (activity) 各活動の内容と順序 2) プロダクト (product) 各活動結果の生成物 ( 文書, 図表, プログラムなど ) 3) 役割 (role) 担当する人々の職種 ( プロジェクト管理者, プログラマなど ) 4) 事前条件, 事後条件 (pre- /post-condition) 各活動の前と後で成り立つ条件 プロセスが含むべき活動 1) 要求 (requirement) ソフトウェアの仕様 ( 機能, 運用上の制約 ) を 獲得 / 分析 / 定義 / 記述 2) 設計 (design) ソフトウェアアーキテクチャ, データモデル, クラス, インタフェースを記述 3) 実装 (implementation) プログラミングにより実行可能なシステムを構築 4) 確認 (validation) 顧客の要求を満たすことをテスト等により検証 5) 進化 (evolution) 顧客の要求の変化に対応して保守 / 修正 / 改訂 2

ソフトウェアプロセスモデル ソフトウェアプロセスモデル - 良く見かけるソフトウェアプロセスを単純化して表現したもの - これを拡張 / 詳細化して特定のプロセスを生成するのに使用 今回はつぎの 3 つのモデルを学ぶ 1) ウォーターフォール開発 (waterfall model) 要求 設計 実装 確認 進化の一連の活動を分離して実施. 2) インクリメンタル開発 (incremental development) 短期間でバージョンアップする一連の版 (versions) としてシステムを開発. 3) アジャイル開発 (agile development) バージョンアップ間隔が超短期の素早いインクリメンタル開発. ウォーターフォール開発 (1/2) 要求 設計 実装 ソフトウェアのライフサイクル (life cycle) 確認 進化 - 要求 設計 実装 確認 進化の一連の活動を分離して実施 - 滝 (waterfall) のように直列的にフェーズ (phase) がつながる - 計画駆動 (plan-driven): 開発の開始前に全活動を計画 - 原則としてフェーズの重なりや繰り返しを行わない 長所 1) フェーズが把握しやすく管理しやすい 2) 各フェーズの終了時にしっかりとしたドキュメントが生成される 3

ウォーターフォール開発 (2/2) 短所 1) 要求の変化への対応が難しい 2) 開発上のリスクが大きい開発初期に定義したものほど, 開発後期にならなければ確認できない 大きな手戻りが生じ得る 納期までに開発が終わらない / 品質が悪い V 字モデル 要求定義 受入れテスト アーキテクチャ設計 システムテスト 定義 コンポーネント設計 統合テスト 確認 開発初期 実装単体テスト 開発後期 インクリメンタル開発 (1/2) 1 回目の繰り返し 2 回目の繰り返し 3 回目の繰り返し 要 求 要 求 要 求 設 計 設 計 設 計 実 装 実 装 実 装 確 認 確 認 確 認 第 1 版 第 2 版 第 3 版 フェーズの重なり フェーズの重なり 重要部分の開発追加機能の開発追加機能の開発 プロトタイピング (prototyping) 開発初期段階で顧客がシステムの重要部分の実装を確認できる - 要求, 設計, 実装, 確認をインターリーブ (interleave) - 短い間隔で複数の版 (version) を次々と開発し, 顧客が迅速に確認 - 顧客からのフィードバックを得て次版のための増分 (increments) を開発 - 最終版の確認が得られたら終了 4

インクリメンタル開発 (2/2) 長所 ( ウォーターフォール開発との比較 ) 1) 要求の変化に対応するためのコストは小さい ( 変化の分析やドキュメントの量は, ウォーターフォール開発より小 ) 2) 開発の途中で顧客からのフィードバックを得られやすい 3) システムにすべての機能が実装されていない早い段階で運用可能 短所 1) ドキュメントの量が少ないので, 管理者からプロセスが見えにくい. ( すべての版を反映させた説明文書を作るのはコストが大 ) 2) 新しい増分を追加するにしたがって, システム構造が劣化しがち. ( 要求の変化に対応するのがだんだん困難となる ) 3) 大規模 複雑で長寿命のシステムでは上記の短所が顕著 アジャイル開発 (1/6) 計画駆動 (plan-driven) 手法の特徴 - 1980 年代 ~1990 年代前半の一般的な 重い 手法 - 大規模 長寿命のソフトウェア向き ( 航空宇宙, 政府関係など ) 短所 : 計画 設計 文書化のオーバーヘッドが大きい 1990 年代後半 agile: 素早い という意味 アジャイル (agile) 手法の提案 - 設計や文書化よりもソフトウェア自身の開発に注力 - 非常に短い間隔 (2~3 週間 ) でインクリメンタル開発を行う非常に 軽い 手法 5

アジャイル開発 (2/6) アジャイル開発の哲学 プロセスとツールよりも個人と対話を重視 包括的な文書化よりも動くソフトウェアを重視 契約交渉よりも顧客との協働を重視 計画への追従よりも変化への対応を重視 アジャイル開発の具体的な手法 - エクストリームプログラミング (extreme programming) - スクラム開発 (Scrum) アジャイル開発 (3/6) アジャイル開発の原理 原理説明 顧客との協働 増分の提供 人間重視 変化の許容 単純性の維持 - 顧客は開発プロセス全体に密接に関与 - 顧客の役割 : システム要求の提供と優先度の提示, 増分の評価 - 一連の増分によりシステム開発 - 次回の増分の要求仕様は顧客が指示 - 開発チームのスキルを把握 尊重 - チームメンバーは自分なりの方法で開発 - 要求の変化があるのは当たり前 - 要求の変化に対応しやすくシステムを設計 - ソフトウェアとソフトウェアプロセスの単純さを重視 - 可能な限り, システムから積極的に複雑性を排除 6

アジャイル開発 (4/6) 原理を実践する上での問題点 原理問題点 顧客との協働 増分の提供 人間重視 変化の許容 - 顧客は, 必ずしも開発チームと一体に作業を行う時間がない - 大企業等では, 長年続けてきたプロセスを簡単には変えられない - チームメンバーは, 他のメンバーと必ずしもうまく対話できない - 多くの関係者間で変化に関する合意が困難 単純性の維持 - 単純性の維持には, 余分な作業が必要 ( 納期のプレシャー ) その他の問題点 - インクリメンタル開発に対する契約書を書くのが困難 - 問題が生じたときはだれの責任か - システムの進化 ( 保守 ) にうまく対応できるか ドキュメントが少ない チームはすでに解散 顧客の協働意欲は小 アジャイル開発 (5/6) スクラム開発 (Scrum): アジャイル開発のための管理手法 バックログ (backlog): 今後行うべき仕事のリスト (ToDo) バックログの内容を確認し, 今回のスプリントで開発すべき機能をバックログから選定 優先度や開発工数を考慮してチームが自律的に決定 概要計画アーキテクチャ設計 計画 振返り 開発 レビュー 毎日 15 分程度のミーティングで進捗確認 ( 昨日やったこと, 今日やること, 障害 ) しつつ増分を開発 プロジェクト終了ドキュメントの作成 達成度, 発生した問題, その問題に対する改善策などについて話し合う チーム主体の意思決定 (3~10 人 =1 チーム ) スプリント (sprint) 2~4 週間で 1 サイクルして増分を開発 このスプリントの開発成果をデモなどで確認 7

アジャイル開発 (6/6) スクラム開発の長所 - ソフトウェアの機能を理解しやすい断片に分解可能 - 優先度と工数見積もりにしたがって項目を選択 - 顧客は定期的に増分を入手し, フィードバック可能 - チームメンバー間のコミュニケーションが促進 - 顧客と開発者の信頼関係が構築される 演習問題 13 ウォーターフォール開発とアジャイル開発を比較し, それぞれの長所と短所を簡単に説明しなさい. 8

レポート提出と筆記試験について ( 詳しくは, ガイダンスで配布した文書を確認のこと ) 2019 年 2 月 1 日 ( 金 ) 14:45 集合 (A21) レポート - 演習問題を 8 問以上解答 - 欠席した回の分は解答できない 筆記試験 - 手書きで直接書かれたノートのみ持込み可 授業アンケート 目的 : 授業改善のため時間 : 10 分程度回収 : 回収を担当する受講生を 2 名指名 9