• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

三菱電機メカトロニクスソフトウエア(株)

和歌山支所 岩橋正実

個人依存開発から組織的開発への移行事例

~要求モデル定義と開発プロセスの形式 化

(2)

改善効果

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 2006 2007 2008 2009 2010 2011 2012上

工数割合分析

システムテスト 総合テスト 単体/結合テスト 実装 ソフトウェア設計 要求分析 残存誤り件数 2009年度 2010年度 2011年度 2012年度

品質:フロントローディングが進み流出不具合0継続

生産性:平均130%改善

2

(3)

AOO技法のポイント

①要求の発生源と目的定義

②要求のカテゴリによる目的分解整理

③表形式と日本語による要求モデル

④日本語形式記法

⑤製品内と製品間の共通部定義

⑥類型化の推進

⑦自律化による要素間の依存関係の排除

⑧競合/例外/時間制約の解決

⑨重複情報及び重複作業の徹底した無駄取り

⑩プロセス形式化と双方向のトレーサビリティによる定型化と自動化

⑪アジャイル/派生機種/ソフトウェアプロダクトライン開発の対応

自律オブジェクト指向(AOO:Autonomic architecture base Object-Oriented development technique)が

1998年に組込みソフトウェア開発向けオブジェクト指向の開発手法として発表。その後、AOOは、プ

ロセス(AOO_PRS)、プロダクトライン(AOO_SPL)、見積り(AOO_EST)、形式手法(AOO_DSL)と拡張

してツールとして提供準備中。AOOは,オブジェクト指向技術に基づき要求を表形式と日本語により

厳密にモデルを定義した上で分析・設計・実装・テストの双方向のトレーサビリティを確立.開発上で

発生する課題をアーキテクチャ(文書/コードのフレーム)とアーキテクチャに落とし込む開発プロセス

により組織的な課題抑制を可能にする.以下にAOO技法のポイントを示す.

(4)

4

個人依存の開発のリスク

国内競争及びグローバル展開の機能量の増加とリードタイム短縮は

個人依存した組織では対応できず事業の衰退化が進むリスクがある。

・過去の資産優先と高年齢化

・情報共有の停滞

・組織の大規模化、役割の制約

①分析/設計精度の低下

限られた要員で規模の増加に対応する為に分析や設計の精度を落として

実装を先行してしまう傾向がある.テストでこれをカバーしようするが分析

や設計の精度が低いためにテストの実行精度も低下することになり品質を

確保することが困難になる傾向がある.

②外注依存による品質低下

作業負荷増加とコスト制約に対応するためにオフショアを含めた外注企業

に委託するケースが多くなる傾向にある.外部依存が進むことにより品質

を確保することが困難になる傾向がある.

(5)

要求の発生源と目的を定義する事による組織全体のフロントローディングと要求

の改善提案を可能にして要求の価値と仕様構築スピードの向上を進める。

物理項目

機能仕様 目的 操作 目的 属性 状態 xxxシステム 1.xxx 1.1.xxx

1.2.xxx

1.3.xxx

2.xxx 2.1.xxx 2.1.1.xxx

2.1.2.xxx

デバイス

AOO:要求モデリングと目的指向開発

機能項目

機能仕様 目的 操作 目的 属性 状態 xxxシステム 1.xxx

1.1.xxx

1.2.xxx

2.xxx 2.1.xxx

2.2.xxx 2.2.1.xxx

2.2.2.xxx

ソフトウェア開発部門

仕様構築

部門

営業

サービス

部門

市場要求

目的の発生源を見極める

①顧客価値に基づく事業目標の定義

顧客に継続的な価値を提供する。

②事業目標に基づくシステム機能目的の定義

事業目的を達成するために、製品ごとにシステム

機能目的を定義する。

※事業目的を達成する為の課題の定義と解決で顧客に価値を提供する。

③システム機能目的に基づく機能目的の定義

システム機能目的を達成する機能目的を定義して製品開発を進める。

(6)

AOO_PRS:開発プロセス

ソフトウェア要求分析

ソフトウェア総合テスト

機能項目 目的 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211

F111

条件記述

操作記述

<aaa> 機能ブロック記述 XXXタイマー

F111

試験手順 期待値

条件

記述

操作

記述

オブジェクト 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211 P1 P11 P111 P112 P2 P21 P211 ControlManager ObjectManager Kernel 物理項目 目的 属性 操作 時間 P1 P11 P111 P112 P2 P21 P211

例外マトリクス E01 E02 E03

F11 F11 F111 ― ― ― F112 ― ― ― F12 F121 ― ― ○ F21 F21 F211 ― ○ ○ 機能項目 目的 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211 物理項目 目的 属性 操作 時間 P1 P11 P111 P112 P2 P21 P211 機能マトリクス F1 F2 F11 F12 F21 F111 F112 F121 F211 F11 F11 F111 ○ × ○ F112 ○ ○ ○ F12 F121 ○ × ○ F21 F21 F211 × × ×

例外マトリクス E01 E02 E03

F11 F11 F111 ― ― ― F112 ― ― ― F12 F121 ― ― ○ F21 F21 F211 ― ○ ○ 機能マトリクス F1 F2 F11 F12 F21 F111 F112 F121 F211 F11 F11 F111 ○ × ○ F112 ○ ○ ○ F12 F121 ○ × ○ F21 F21 F211 × × × オブジェクト 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211 P1 P11 P111 P112 P2 P21 P211 ControlManager ObjectManager Kernel

6

単体テスト

ソフトウェア詳細設計

ソフトウェアアーキテクチャ設計

ソフトウェア結合および結合テスト

Kernel Object Manager Input Output ControlJuge ControlManger Kernel Object Manager Input Output ControlJuge ControlManger 機能S/W マトリクス F1 F2 3 Fi M 1. 1 M 1. 2 M 1. 3 M 2. 1 M 2. 2 M 3. 1 M 3. 2 M 3. 3 M 3. 4 M 3. 5 1.xxx 1.1.xxx I I 1.2.xxx I R 2.xxx 2.1.xxx I R R 2.2.xxx 2.2.1.xxx I R 2.2.2.xxx I RW 1.xxx 1.1.xxx I R R R 1.2.xxx I R R R R 1.3.xxx I R RW 2.xxx 2.1.xxx 2.1.1.xxx I RW 2.1.2.xxx I RW

P111

条件記述

<aaa> 機能ブロック記述 XXXタイマー 入力 処理 出力

操作記述

O111(ソースコード) if(xxxx) if(xxx) Aaa(){ Xxxxxxxx; Xxxxxxxxxxx; Xxx_ti=START; } aaa_st=xxxx*2; aaa();

実装

P111

条件記述

<aaa> 機能ブロック記述 XXXタイマー 入力 処理 出力

操作記述

結果

(7)

機能仕様で扱う名詞の定義して形式

記法で仕様定義

更に1機能項目内を目的で分解して機

能ブロックを定義

機能ブロックの再利用による要求分

析定義の生産性向上

※文書コード生成検証の実現

1)要求のカテゴリ化と機能ブロック/属性の形式化

2)形式記法を用いた機能仕様の日本語による形式化

3)機能ブロック/属性の再利用によるDSL化の推進

要求

要求

要求

機能項目リスト

物理項目リスト

機能項目 目的 操作 目的 属性 1.xxx

1.1.xxx

1.2.xxx

2.xxx 2.1.xxx

2.2.xxx 2.2.1.xxx

2.2.2.xxx

制御マネージャ

物理項目 目的 操作 目的 属性 1.xxx 1.1.xxx

1.2.xxx

1.3.xxx

2.xxx 2.1.xxx 2.1.1.xxx

2.1.2.xxx

デバイス

機能

ブロック

機能

ブロック

①and②

①外気温度>10℃

②運転モード=冷房

・XXX制御状態←制御中

【XXX制御状態=制御中】

DSL

ドメイン

形式記述

AOO_DSL:要求の形式化

(8)

AOO_SPL:ソフトウェアプロダクトライン

製品A

要求

製品B

要求

製品間の可変性を分析して可変ポイント(バリエーションポイント)と可変部分(バリアント)を定義する

①要求の物理と目的(機能)で分解整理してソフトウェアと双方向に紐付することでSPL開発を可能にする。

②フレームワークをドメイン依存として構築すると中長期開発で 破綻するリスクがある。

状態遷移、状態に基づく操作、競合解決、バリエーション解決は、 多くの組込み制御システムに共通であ

り、共通フレームワーク上で実現することでSPL開発を成功させる。

オブジェクトに変換(可変性の継承)

1機能項目1目的で

カテゴリで分類整理

製品C

要求

機能項目名称 1.1.xxxx 機能目的 XXXXXXXXXXXXXXXXXXX バリエーションポイント バリアント 機種 A,B 機種C 機種D 開始条件 標準 北米 欧州 条件記述 <<開始条件>> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 操作記述 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <標準> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <北米> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <欧州> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

8

(9)

ソフトウェア要求分析

ソフトウェア総合テスト

機能項目 目的 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211

F111

条件記述

操作記述

<aaa> 機能ブロック記述 XXXタイマー

F111

試験手順 期待値

条件

記述

操作

記述

オブジェクト 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211 P1 P11 P111 P112 P2 P21 P211 ControlManager ObjectManager Kernel 物理項目 目的 属性 操作 時間 P1 P11 P111 P112 P2 P21 P211

例外マトリクス E01 E02 E03

F11 F11 F111 ― ― ― F112 ― ― ― F12 F121 ― ― ○ F21 F21 F211 ― ○ ○ 機能項目 目的 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211 物理項目 目的 属性 操作 時間 P1 P11 P111 P112 P2 P21 P211 機能マトリクス F1 F2 F11 F12 F21 F111 F112 F121 F211 F11 F11 F111 ○ × ○ F112 ○ ○ ○ F12 F121 ○ × ○ F21 F21 F211 × × ×

例外マトリクス E01 E02 E03

F11 F11 F111 ― ― ― F112 ― ― ― F12 F121 ― ― ○ F21 F21 F211 ― ○ ○ 機能マトリクス F1 F2 F11 F12 F21 F111 F112 F121 F211 F11 F11 F111 ○ × ○ F112 ○ ○ ○ F12 F121 ○ × ○ F21 F21 F211 × × × オブジェクト 属性 操作 時間 F1 F11 F111 xxx aaa F112 F12 F121 F2 F21 F211 P1 P11 P111 P112 P2 P21 P211 ControlManager ObjectManager Kernel

単体テスト

ソフトウェア詳細設計

ソフトウェアアーキテクチャ設計

ソフトウェア結合および結合テスト

Kernel

Input ControlJuge Kernel Input ControlJuge

ControlManger 機能S/W マトリクス F1 F2 3 Fi M 1. 1 M 1. 2 M 1. 3 M 2. 1 M 2. 2 M 3. 1 M 3. 2 M 3. 3 M 3. 4 M 3. 5 1.xxx 1.1.xxx I I 1.2.xxx I R 2.xxx 2.1.xxx I R R 2.2.xxx 2.2.1.xxx I R 2.2.2.xxx I RW 1.xxx 1.1.xxx I R R R 1.2.xxx I R R R R 1.3.xxx I R RW 2.xxx 2.1.xxx 2.1.1.xxx I RW 2.1.2.xxx I RW

P111

条件記述

入力 処理 出力

操作記述

O111(ソースコード) if(xxxx) if(xxx) aaa_st=xxxx*2; aaa();

実装

P111

条件記述

<aaa> 機能ブロック記述 XXXタイマー 入力 処理 出力

操作記述

結果

AOO

開発支援

Tool

プロセスの形式化からシステム化へ

(10)

ご清聴ありがとうございました。

詳細お問い合わせは先

三菱電機メカトロニクスソフトウエア株式会社

岩橋正実

073-436-0776

iwahashi@est.hi-ho.ne.jp

Iwahashi.Masami@wak.msw.co.jp

10

参照

関連したドキュメント

製品開発者は、 JPCERT/CC から脆弱性関連情報を受け取ったら、ソフトウエア 製品への影響を調査し、脆弱性検証を行い、その結果を

実習と共に教材教具論のような実践的分野の重要性は高い。教材開発という実践的な形で、教員養

このような状況の下で、当業界は、高信頼性及び省エネ・環境対応の高い製品を内外のユーザーに

近年の食品産業の発展に伴い、食品の製造加工技術の多様化、流通の広域化が進む中、乳製品等に

何人も、その日常生活に伴う揮発性有機 化合物の大気中への排出又は飛散を抑制

何人も、その日常生活に伴う揮発性有機 化合物の大気中への排出又は飛散を抑制

最終的な認定データおよび特性データは最終製品 / プロセス変更通知 (FPCN) に含まれます。この IPCN は、変 更実施から少なくとも 90

(六) 化学的酸素要求量 新設 一五 三〇. 既設 三五