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

Microsoft PowerPoint - 配布用資料.ppt

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - 配布用資料.ppt"

Copied!
28
0
0

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

全文

(1)

オブジェクト指向導入による

生産性の向上

ソフトウェア設計プロセスの改革

(2)

セイコーエプソン株式会社

セイコーエプソン株式会社

BS事業部

BS事業部

BS事業推進部

BS事業推進部

TM(ターミナルモジュール)のファームウェア開発

TM(ターミナルモジュール)のファームウェア開発

(レシートプリンタ、ラベルプリンタの開発)

(レシートプリンタ、ラベルプリンタの開発)

業務用小型プリンタのファームウェア開発

業務用小型プリンタのファームウェア開発

・レシート

・レシート

・ラベル

・ラベル

・チェック

・チェック

開発対象としての特徴と課題

開発対象としての特徴と課題

・派生商品開発が多い(顧客要望への対応)

・派生商品開発が多い(顧客要望への対応)

・ハード環境に合わせ開発を行っている(メカ、ASIC・・・)

・ハード環境に合わせ開発を行っている(メカ、ASIC・・・)

・人(チーム)、機種に依存した構造

・人(チーム)、機種に依存した構造

開発対象製品の紹介

開発対象製品の紹介

(3)

目次

目次

1.取り組みの目的

・生産性の向上

・解決したい課題

・取り組みのポイント

2.プロセス設計導入のポイント

3.技術導入のポイント

4.成果

5.まとめ

(4)

取り組みの目的

取り組みの目的

増加するソフトウェアへの要求に対応するためには、これまでの人に依存し

た開発体制/技術では応えられない。

生産性の向上と、人に依存しない開発体制への移行が必要。

設計プロセスの見える化。部品の再利用を促進。

<Q>

部品の再利用:作らない

プロセス見える化:繰り返せるプロセス

計測:プロセス、成果物の評価による改善

<C>

共通部品:作らない:30%削減

(品質向上、効率向上)

<D>

プロセス見える化:見積精度向上、納期遵守

(計測による実績の把握)

<Q>

部品の再利用:作らない

プロセス見える化:繰り返せるプロセス

計測:プロセス、成果物の評価による改善

<C>

共通部品:作らない:30%削減

(品質向上、効率向上)

<D>

プロセス見える化:見積精度向上、納期遵守

(計測による実績の把握)

(5)

取り組みの目的

取り組みの目的

1.生産性の向上

・増加する要望に迅速に応える

・手戻りの削減

2.解決したい課題

・人に依存した体制

・効率を計れない現状

・外部から見えない設計プロセス

3.取り組みのポイント

・技術導入はプロセス設計の導入とセット

(6)

プロセス設計導入のポイント

プロセス設計導入のポイント

1.CMMのノウハウ導入

・プロセス設計

・計測の実践

・できるところから

2.ベースになる基礎知識

・計画的なセミナー

・実践を伴う演習の導入

3.取り組みのポイント

・改革の必要性を理解することが必要

4.技術の改革に先行して開始

(7)

プロセス設計

プロセス設計

設計

設計

実装

実装

デバック

デバック

工程

工程

なし なし 個人の頭の中 個人の頭の中 大日程・中日程 大日程・中日程 メカ・ハード メカ・ハード 仕様書 仕様書 概要設計 概要設計 詳細設計詳細設計 コーディングコーディング デバッグデバッグ PFDによる PFDによる プロセス設計 プロセス設計 メカ・ハード メカ・ハード 仕様書 仕様書 要求分析 要求分析 要求仕様書要求仕様書 構造設計構造設計 設計設計 ソース ソース 自動生成 自動生成 コーディング コーディング デバッグ デバッグ

手戻り

手戻り

手戻り極小化

手戻り極小化

個人の 個人の ノウハウ ノウハウ

プロセス設計

プロセス設計

(8)

プロセス・フロー

プロセス・フロー

ダイヤグラム(PFD)

ダイヤグラム(PFD)

プロセス設計

プロセス設計

作業をプロセスと成果物の連鎖で表現する

作業をプロセスと成果物の連鎖で表現する

(9)

プロセス設計

プロセス設計

プロセス定義・成果物定義

プロセス定義・成果物定義

プロセスと成果物を明確にする

プロセスと成果物を明確にする

(10)

見積もり

見積もり

進捗管理

進捗管理

結果の評価

結果の評価

工程

工程

個人の経験測 個人の経験測 から見積 から見積 スケジュール スケジュール 詳細実績なし 詳細実績なし 週単位の報告 週単位の報告 詳細データなし 詳細データなし 工程データなし 工程データなし 全体工数のみ 全体工数のみ 日々の実績 日々の実績 入力 入力 データ収集 データ収集 実績集計 実績集計 による監視 による監視 実績集計値実績集計値 生産性指標 生産性指標 見積データ 見積データ スケジュール スケジュール 見直し 見直し 対策検討 対策検討 成果物視点の 成果物視点の 工数見積 工数見積 スケジュール スケジュール

フィードバック・見積精度向上

フィードバック・見積精度向上

設計プロセス見直し

設計プロセス見直し

プロセス設計と計測

プロセス設計と計測

(11)

基礎知識の習得

基礎知識の習得

1.ソフトウェア開発のベース知識

・セミナー開催 40回 延べ聴講者600名

・演習を交えたセミナー

要求分析、設計書の書き方、レビューの仕方・・・・

要求分析、設計書の書き方、レビューの仕方・・・・

2.取り組みのポイント

・覚えたことを試して、コンサルを受ける

知識取得→練習→実践

・言葉の統一

(12)

技術導入のポイント

技術導入のポイント

1.構造化ではなくオブジェクト指向を選択

・ハードルは高いが長期的に見てメリットあり

・再利用しやすい

・技術者のスキルアップ

2.パッケージレベルまではモデル化

・実装はオブジェクト指向にこだわらない

・時間制限のある部分は従来実装

3.取り組みのポイント

・良いコーチが必要

4.まず使えるかの判断を先行

(13)

分析モデル

分析モデル

UML

(14)

シーケンス図による検証

シーケンス図による検証

シーケンス図でモデルの検証

(15)

設計モデル

設計モデル

分析モデルから設計モデルを作成

(16)

成果

成果

1.パッケージが疎結合になった

・保守のしやすさ

・デバックのしやすさ

2.ソースコードの品質

・世代間の品質比較

・他社との比較

3.工程データと品質の因果関係

・計測結果

・障害発生の分析

・工数配分の分析

・分析結果をプロセスへフィードバック

4.ソースコード品質と障害の因果関係

(17)

パッケージ

パッケージ

1.パッケージ間の依存関係

1.パッケージ間の依存関係

相互依存をなくし

相互依存をなくし

2.インターフェース

2.インターフェース

パッケージ間インターフェース

パッケージ間インターフェース

を固定にする

を固定にする

(18)

新旧世代比較

0

20

40

60

80

100

機能性 標準適合性

保守性 変更性

保守性 安定性

テスト容易性

理解容易性

再利用性

新規OO

新規非OO

他部門

1世代前

3世代前

2世代前

世代間のソースコード品質比較

世代間のソースコード品質比較

ソースコード品質

ソースコード品質

(19)

ソースコード品質

ソースコード品質

総得点比較

0.00

100.00

200.00

300.00

400.00

500.00

600.00

新規 3世代前 2世代前 1世代前 他部門 B社 初期 B社 洗練 C社 初期

標準適合性

変更性

安定性

テスト容易性

理解容易性

再利用性

エプソン従来設計との差 エプソン従来設計との差 他社事例、オブジェクト指向設計事 他社事例、オブジェクト指向設計事 例が従来の設計から向上した差分 例が従来の設計から向上した差分

他社とのソースコード品質比較

他社とのソースコード品質比較

(20)

計測結果

計測結果

502.5 502.5 3201 3201第第22回回POSTPOST88要求仕様書88要求仕様書 4372.68 4372.68 9900 9900その他その他 63 63 5002 5002部品運用マニュアル部品運用マニュアル 47.75 47.75 3601OO 3601OO分析モデル分析モデル 220.1 220.1 3101POST 3101POST88要求書(88要求書(22回目)回目) 555.25 555.25 1201OO 1201OO分析モデル分析モデル 1259.35 1259.35 1001 1001従来実装部分構造化設計書従来実装部分構造化設計書 1324.15 1324.15 0901 0901第第11回回POSTPOST88要求仕様書88要求仕様書 77.11 77.11 0801 0801利用可能な技術利用可能な技術 6.5 6.5 0701 0701構造化・構造化・OOOO対象パッケージ対象パッケージ 246 246 0501OS 0501OSラッパ仕様書・ラッパ仕様書・OSOSラッパ実装ラッパ実装 89.5 89.5 0402 0402タスク構成タスク構成 511 511 0401 0401パッケージインターフェースパッケージインターフェース 8.5 8.5 0301OS 0301OS仕様書仕様書 476.75 476.75 0201 0201パッケージ図パッケージ図 345 345 0101POST 0101POST88要求書88要求書 685.63 685.63 0000 0000プロジェクト計画など(プロジェクト計画など(PFDPFD・スケジュール含む)・スケジュール含む) 合計 合計 成果物 成果物 1.5 1.5 3600 3600OO分析モデルを更新するOO分析モデルを更新する 24 24 0600 0600OSラッパ評価OSラッパ評価 648.56 648.56 3200 3200要求分析(第要求分析(第22回)回) 2405.46 2405.46 9900 9900その他その他 248.07 248.07 9000 9000プロセス管理プロセス管理 86.1 86.1 3100 3100要求情報を整理する・分析作業を計画する要求情報を整理する・分析作業を計画する 672.75 672.75 1200 1200OO分析モデル作成OO分析モデル作成 1498.1 1498.1 1000 1000従来実装部分構造化設計作業従来実装部分構造化設計作業 1740.02 1740.02 0900 0900要求分析(第要求分析(第11回)回) 5.5 5.5 0800 0800FW2003・RTOSブリッジ調査FW2003・RTOSブリッジ調査 22.75 22.75 0700 0700実装分割作業・構造化・OO実装分割作業・構造化・OO 314.5 314.5 0500 0500OSラッパ仕様を作成し設計実装するOSラッパ仕様を作成し設計実装する 1095.5 1095.5 0400 0400アーキテクチャ設計・タスク分割・インターフェース作成アーキテクチャ設計・タスク分割・インターフェース作成 10.5 10.5 0300 0300OSを選定するOSを選定する 532.55 532.55 0200 0200アーキテクチャ分析アーキテクチャ分析 344.5 344.5 0100 0100要求情報を整理する・分析作業を計画する要求情報を整理する・分析作業を計画する 993.41 993.41 0000 0000プロジェクト計画検討プロジェクト計画検討 合計 合計 作業プロセス 作業プロセス

成果物別、プロセス別の作業時間計測

成果物別、プロセス別の作業時間計測

(21)

工程別実績

工程別実績

プロセス改善

プロセス改善

工程別作業時間推移

0

100

200

300

400

500

600

700

800

2005-02

2005-03

2005-04

2005-05

2005-06

2005-07

2005-08

2005-09

2005-10

2005-11

2005-12

その他

会議・打合せ

検査

講習・教育

製造

設計

調査

分析

概作業工程別作業時間推移

概作業工程別作業時間推移

(22)

実績工数と手戻りぬきの理想工数比較

0.00

1000.00

2000.00

3000.00

4000.00

5000.00

6000.00

2005-03

2005-04

2005-05

2005-06

2005-07

2005-08

2005-09

2005-10

2005-11

2005-12

理想

実績

障害発生

工程別実績

工程別実績

プロセス改善

プロセス改善

作業時間推移と手戻り時間の関連

作業時間推移と手戻り時間の関連

(23)

障害分析

障害分析

0% 5% 10% 15% 20% 25% 30% 35% アルゴリズムミス 実装設計モデリング 要求仕様実現漏れ 要求分析 その他 設計モデリング アーキテクチャ設計 評価ミス パッケージインタフェース調整 不具合修正 タイプミス 仕様変更 デバッグ 評価設計 分析モデリング 設計・レビュー 設計・レビュー 実装・レビュー 実装・レビュー の各プロセスに の各プロセスに 欠陥がある可能 欠陥がある可能 性が高い 性が高い このプロセスに このプロセスに ある不具合原因 ある不具合原因 を改善できれば、 を改善できれば、 6割の手戻りを 6割の手戻りを 削減できる。 削減できる。

障害原因分析

障害原因分析

(24)

1.障害の原因からプロセス見直し

・設計レビューの充実、プロセス見直し

・不具合を半減できれば・・・

2.実績から特定メンバーへの負荷が判明

・エキスパートに負荷が集中

・集中した負荷で次の工程に影響

3.プロセスの課題ではなく人の育成も必要

・レビュアーの育成

ここはOJTが良い

工程実績・障害発生

工程実績・障害発生

プロセス改善

プロセス改善

(25)

ソースコード品質と障害の因果関係

ソースコード品質と障害の因果関係

1.ソースコード品質

・パッケージレベルの分析

・パッケージ別の障害数

・因果関係→現時点では明確な傾向見えない

分析を継続してみる価値はありそうだが・・・

2.(案)開発段階でのソース品質分析

・実装段階で分析

・結果を受けて設計/実装の見直し

3.(案)障害発生の防止に使える

・コードレビューの焦点を絞る

・評価工程に入る前に対策実施し手戻りの排除

(26)

まとめ

まとめ

1.現時点の適用状況

・派生製品の開発に適用

・プラットフォームとして機能拡張

2.当初目標に対する評価

・ソースコード、構造の品質向上

・プロセス設計のノウハウ取得

・計測実績の活用

3.今後に向けて

・改善の目標を設定し実績を評価

・・・・1Kloc当りの障害数、コード流用率

・計測データにより効果を継続的に確認

(27)

最後に

最後に

1.プロセスを設計する

・進め方を共有する

・成果物を明確にする

2.計測する

・工数と成果物の量を見積もる

・工数を計測する

・品質を計測する

3.分析しフィードバックする

・実績を分析しプロセスを改善する

(28)

参照

関連したドキュメント

はじめに 中小造船所では、少子高齢化や熟練技術者・技能者の退職の影響等により、人材不足が

実験の概要(100字程度)

特定原子力施設の全体工程達成及びリスクマップに沿った

物質工学課程 ⚕名 電気電子応用工学課程 ⚓名 情報工学課程 ⚕名 知能・機械工学課程

⼝部における線量率の実測値は11 mSv/h程度であることから、25 mSv/h 程度まで上昇する可能性

現状では、3次元CAD等を利用して機器配置設計・配 管設計を行い、床面のコンクリート打設時期までにファ

脱脂工程 調合 塗布工程 セッティング..

⚙.大雪、地震、津波、台風、洪水等の自然災害、火災、停電、新型インフルエンザを含む感染症、その他