開発現場での モデリング事例...昔の事例から(インクジェット(ij))...
TRANSCRIPT
開発現場でのモデリング事例
2016/12/20(C)2016 Ricoh Company, Ltd. All Rights Reserved
1
2016年11月11日
株式会社リコー 河内美紀
アジェンダ
インクジェット(IJ)開発時のモデリング事例
プロジェクションシステム(PJS)開発時のモデリング事例
~品質と生産性の改善事例~
現在取り組み中のモデリング事例
12/20/2016 2(C)2016 Ricoh Company, Ltd. All Rights Reserved
昔の事例から(インクジェット(IJ))
2016/12/20 3
・社内初で開発対象が良くわからない⇒開発対象の理解と資産化
・流用開発時に品質確保したい⇒上流シフト
モデリングの目的:対象ドメインを理解し、PFを構築する
モデリングの目的:ソースコードベースの開発からUMLベースの開発へ移行する
■ROSE:分析モデル、設計モデル■Rhapsody:実装モデル■ソースコード自動生成
(C)2016 Ricoh Company, Ltd. All Rights Reserved
IJ事例
2016/12/20(C)2016 Ricoh Company, Ltd. All Rights Reserved
4
紙搬送機構の事例
紙搬送メカ構成
・搬送方法に関わらず論理的に意味のある位置を搬送経路上の位置として定義
キャリッジヘッド
ヘッド
印刷準備位置
両面反転位置
反転給紙位置
排紙位置
論理位置
モデリングに際して
・メカ機構があるものは制御対象が見えていてモデリングしやすい
ただし・・
⇒対象とするドメインの特徴を捉えること
⇒物理構造でなく論理構造を捉えること が重要
本テーマではテクニカルノートを使いドメインの特徴の理解と論理構造のモデリングをおこなった
搬送路上にある論理的な位置をモデリング位置を組み合わせることで紙の搬送路を表現できる
IJの事例
2016/12/20(C)2016 Ricoh Company, Ltd. All Rights Reserved
5
対IJコントローラI/F
ページ・画像
紙搬送 キャリッジ
作像
印刷要求
サブシステム 役割
ページ・画像 印写を実現するための調停
作像 維持供給系動作、ヘッドの画像形成設定
紙搬送 :
アプリケーションレイヤ
論理デバイスレイヤ
物理デバイスレイヤ
紙 経路紙仕様
紙搬送機構
搬送駆動 位置
クラッチモータ
アプリケーションレイヤ
論理デバイスレイヤ
設計モデル以降では
メカ機構に依存しやすい“搬送”と論理的な“紙”を別のサブシステムとして構成
要求の変更や機種のメカ機構の違いによる対応部分を明確にし、限定することでアーキテクチャを維持できる状態へ
センサ物理デバイスレイヤ
紙
搬送
メンテナンス要求
■論理構造のモデリング結果とユースケースから
サブシステムの分割を実施
■正常系、異常系の分析結果から
役割の階層化(レイヤ化)を実施
IJの事例
2016/12/20 6
ソースコードベースの開発からUMLベースの開発へ移行する実装モデリングを行うことで以下を実現
■自動生成率 8X.X%
■シミュレーションテスト比率(MT)4X.X%
■ソフト品質2倍(新規換算障害件数)
その後さらに、
■仕様書の自動生成
■シミュレーションテスト比率拡大の環境構築等を実施
クラス図 コラボレーション図
状態図分析(日本語)
クラス図 コラボレーション図
状態図設計(日本語)
クラス図状態図
実装(英語)
表記ルール
変換ルール
モデリングルール
ROSE
ROSE
Rhapsody
自動生成
シーケンス図シミュレーション
Rhapsody TestConductor
(C)2016 Ricoh Company, Ltd. All Rights Reserved
PJS開発の事例
12/20/2016 7
• 開発期間を短縮したい⇒1機種目を早く出したい/2機種目以降はさらに短縮したい
モデリングの目的:ドキュメントファーストによる品質向上
■アーキテクチャのモデリング
■モジュール開発でのモデリング前テーマでは・・・
モデリングの導入がうまく行かない/定着しない
ドキュメントファーストが徹底されない
上流から品質確保されない
(C)2016 Ricoh Company, Ltd. All Rights Reserved
ソフトウェア確認テスト
モジュール設計 モジュール単体テスト
ソフトウェア要求分析
ソフトウェア結合テストソフトウェア方式設計
PJS開発の事例
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
8
• ソフトアーキテクチャのモデリング 1機種目のモデリング目的はIJ時と同じ
ただし・・
メカの構成がなく、制御対象がデータ等のためモデリングの難易度が高い
=骨格が崩れやすいため、モデリングするメリットがある
2機種目以降は
機能追加の影響範囲を検証し設計方針を決定するためなど、品質向上/確保のためにも利用
当日事例のご紹介
PJS開発の事例
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
9
• モジュール開発のモデリング
ドキュメントファーストのためのプロセス/環境を構築
①プロセスとモデリングツールの一致
②モデリングツールからの設計仕様書自動生成
③モデリングツールからのソースコード生成
↓
モデル=仕様書=ソースコード
モデリングの導入がうまく行かない/定着しない
ドキュメントファーストが徹底されない
上流から品質確保されない
解決
当日事例のご紹介
そのために・・・・
品質方針の策定、テストファースト、体系的テストの実施、プロセス導入のための設計者育成/マネージャ育成 等々さまざまな活動を実施しましたが・・・・モデリングをEAで実施するための一部をご紹介
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
10
■EAのカスタマイズ&改善
・モデル=仕様書=ソースコードとするためのカスタマイズを実施
・開発中、機種開発完了後に設計者からの要望を収集し、改善を実施
目的に合ったカスタマイズのみ実施
たとえば・・
◎状態図からのコード自動生成
×コードからのリバース(Eclipse連携機能さえ初期は禁止)
改善事例
I/F仕様作成のEAのカスタマイズ
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
11
プロセスで定義されたモデリングフォーマット
当時のEAでは何度も画面を変えて入力する必要があり、設計者として使いづらいUI
改善して、最終フォーマットと同じ感覚で成果物を作れるように!
開発期間(結果)
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
12
開発期間を短縮したい⇒1機種目を早く出したい/2機種目以降はさらに短縮したい
・1機種目はテーマ計画通り
・2機種目以降は開発期間の短縮&開発効率UPを実現
設計不備によるテスト障害(混入工程)■■ ~モジュール設計(実装前) 47%減
ソフトアーキテクチャ、モジュール開発へのモデリング導入により
当日事例のご紹介
システム仕様確定までの3つの問題
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
13
新たな課題(PJS開発の事例)
要望
お客様 商品企画担当販売担当
事業/商品の戦略
設計部署
要望
目的・要求の獲得・明確化
目的・要求にあった解決手段の提案
解決手段
お客様の要望は多様化しており全てに対応することには時間もコストもかかってしまう 問題①
数ある解決手段の中で、目的や要求にあった最適な解決手段がわからない 問題②
検討漏れにより仕様が不明瞭なまま進めてしまう
問題③
技術トレンド
自社保有技術
シーズ販売の戦略
要望
要望
要望
解決手段
解決手段
・要求を正確に把握できない
・システム要件として明確化できない
開発後にステークホルダー要求との不一致が判明することも!
新たな課題(PJS開発の事例)
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
14
【解決策】システムエンジニアリング(SysML)の採用
モデリングの目的:要求を整理し、システムの境界と、開発対象システムの要件を明確にする
目的
手段
機種開発時に新規対応となる要求、機能に対して要求図を用い、システム仕様を明確化
ソフトウェア確認テスト
モジュール設計 モジュール単体テスト
ソフトウェア要求分析
システムズエンジニアリング
ソフトウェア結合テスト
要求
ソフトウェア方式設計
PJS開発の事例
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
15
コンセプト・狙いを決定する背景や狙いを整理することで、優先順位を見極める
すべてを向上させるのではなく、こだわるポイントを決める
より綺麗に より見やすく環境にやさしく
何故?
何故?
何故?
狙いは?
世の中は?
競合は?
当日事例のご紹介
PJS開発の事例
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
16
実現する手段(機能)を洗い出す解決策を洗い出し、機能を決める
解決策を整理することで、実現方法がみえてくる
プロジェクタの特徴 規格対応
部品(ランプ)に依存
電力削減を達成する手段は複数存在
当日事例のご紹介
PJS開発の事例
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
17
製品仕様を決める網羅的に検討することで、漏れのないシステム仕様を決定する
一般的な品質特性/製品仕様項目で網羅的に検討する
PJSではISOの品質特性を利用
当日事例のご紹介
現在の事例
新規事業の立上げにも既存事業で培ったエンジニアリング技術を展開中
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
18
モデリングの目的:システム要件の明確化のための要求分析
PJSで培ってきた技術を新規事業に適用
のハズが・・・
モデリングの目的=要求図で解決
目的
手段
事例(要求分析:要求図)
2016/12/20 (C)2016 Ricoh Company, Ltd. All Rights Reserved 19
ステークホルダーを洗い出し、要求を集め、システム要求に落とそうと要求図で試みたが・・・・
■一目で見れないので明確でない
■線がつながっているけど、関係が正しいのか見切れない
あまりにも見づらいので、色分けしたり、分類したり、視点を変えたり
↓
要求図を使うことが目的となった試行錯誤をしてしまうことに・・
事例(要求分析)
2016/12/20 20
モデリングの目的:システム要件の明確化のための要求分析
要件定義へのINPUT
顧客要求 要求合意
要求図orUSDM
コンセプト分析
ステークホルダー要求分析
要求分析
要求の整理境界の定義
・要求一覧・要求の優先順位
:
要件定義
要求合意
・システム外への要求リスト
要求図
UC,UC記述
コンテキストダイアグラム
要求分析 ・要求分析でのアクティビティとその目的、成果物を定義
・目的に合わせてモデリングする
Ex:要求図は要求合意を目的として作成する
コンセプト
重要要件
必要性が不明な要求
要件の明確化
要求の整理はエクセル等で・・システム要件(C)2016 Ricoh Company, Ltd. All Rights Reserved
USDM
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
21
• ソリューション対応時など要求を整合する相手が要求図を理解できない場合に利用
顧客要望⇒excel
・システム内で実現する
・システム外で実現する
・実施しない
・その他整合事項 等で分類し要件化
上記が実現したときに“何が出来るか?”を顧客が理解できる⇒USDM
USDMexcel
当日事例のご紹介
excel
モデリングの取り組み まとめ
12/20/2016(C)2016 Ricoh Company, Ltd. All Rights Reserved
22
• 目的を持ち、目的にあわせて導入する– モデリングすることが目的にならないよう注意する
– 目的にあわせたプロセスを定義し、モデリングの手段(ツール)を選択する
– 導入するテーマの特性と実施者(組織)のスキルを考慮する
そして、育成、実践、改善を繰り返す
ご清聴ありがとうございました。
2016/12/20 23