8
組み込みソフトウェア工学 第3回 開発プロセス 本日の内容 開発プロセス 製品を開発する上で必要なプロセスについて理解す 何を作るか(要求,戦略) 開発をする上で重要な要因:人物金情報 どうやって作るか(開発プロセス) スケジュールの制定と仕様書の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品企画・開発・製造のプロセス 企画 基礎技術 調査 機能 仕様 決定 基礎 研究 設計 仕様 設計・ 開発 設計 評価試験 製造 装置 開発 量産 評価試験 限定 出荷 出荷 EVT DVT MVT 機能 評価試験 基本動作の確認,修正 仕様通りかどうかの確認,修正 LA LA LA LA GA GA GA GA プロジェクトマネジメント プロジェクトマネジメント プロジェクトマネジメント プロジェクトマネジメント プロセスマネジメント プロセスマネジメント プロセスマネジメント プロセスマネジメント 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品仕様の策定 製品企画・開発・製造のプロセス 企画 基礎技術 調査 機能 仕様 決定 基礎 研究 設計 仕様 設計・ 開発 設計 評価試験 製造 装置 開発 量産 評価試験 限定 出荷 出荷 EVT DVT MVT 機能 評価試験 基本動作の確認,修正 仕様通りかどうかの確認,修正 LA LA LA LA GA GA GA GA プロジェクトマネジメント プロジェクトマネジメント プロジェクトマネジメント プロジェクトマネジメント プロセスマネジメント プロセスマネジメント プロセスマネジメント プロセスマネジメント 営業,企画,開発部門 (上級職位者)が参画 開発部門による製品開発 (上級職位,技術者が参画) 製造部門,開発部門による製品製 造(技術者,製造責任者が参画)

組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

組み込みソフトウェア工学

第3回 開発プロセス

本日の内容

� 開発プロセス

� 製品を開発する上で必要なプロセスについて理解す

� 何を作るか(要求,戦略)

� 開発をする上で重要な要因:人物金情報

� どうやって作るか(開発プロセス)

� スケジュールの制定と仕様書の策定

製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定

製品企画・開発・製造のプロセス

企画

基礎技術

調査

機能

仕様

決定

基礎

研究

設計

仕様

設計・

開発

設計

評価試験

製造

装置

開発

量産

評価試験

限定

出荷

出荷

EVT DVT

MVT

機能

評価試験

基本動作の確認,修正

仕様通りかどうかの確認,修正

LALALALA

GAGAGAGA

プロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメント

プロセスマネジメントプロセスマネジメントプロセスマネジメントプロセスマネジメント 製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定

製品企画・開発・製造のプロセス

企画

基礎技術

調査

機能

仕様

決定

基礎

研究

設計

仕様

設計・

開発

設計

評価試験

製造

装置

開発

量産

評価試験

限定

出荷

出荷

EVT DVT

MVT

機能

評価試験

基本動作の確認,修正

仕様通りかどうかの確認,修正

LALALALA

GAGAGAGA

プロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメント

プロセスマネジメントプロセスマネジメントプロセスマネジメントプロセスマネジメント

営業,企画,開発部門

(上級職位者)が参画

開発部門による製品開発

(上級職位,技術者が参画)

製造部門,開発部門による製品製

造(技術者,製造責任者が参画)

Page 2: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

製品仕様の策定

要求定義要求定義要求定義要求定義 開発計画開発計画開発計画開発計画 外部仕様外部仕様外部仕様外部仕様 内部仕様内部仕様内部仕様内部仕様要求要求要求要求

要求

定義書

開発

計画書

外部

仕様書

内部

仕様書長短期

計画

それぞれのステップに合わせて

資料が作成される製品計画の段階において

どのようなコンセプトで製品

を作るか決めていく

(DCP)

製品要求,企画,設計のコンセプトや仕様

が一致しないと...

University of London Computer Centre Newsletter No.53,March 1973

プロジェクト依頼者の考えていたこと プロジェクト要求書に書かれていたこと システム分析者が設計したもの

プログラマが作ったプログラム 利用者側に導入されたプログラム 利用者が要求していたもの

要求

� 何を作るか(5W2H)

� Why (なぜ) : 目的,背景,理由

� Who (誰が) : 使う,行う

� What (何を) : 内容,商品

� Where (どこで) : 分野,領域,場所

� When (いつ) : タイミング,期限

� How (どのように) : 準備

� How mach (幾らで) : 費用(コスト),価格

営業,企画,開発が参画.中にはお客様も入る例もある

製品戦略,企画

組み込みシステム製品の戦略や企画はなるべく技

術部門以外の経験と知識を備えた人々で策定す

ることが望まれる

なぜそれが売れるのか?

技術者はこれを忘れて技術的に高いものだけを作

りたがる.

市場の様子,お客様の要求など

技術者だけでは分からないことが多い

例えばゲーム機器の Xbox,PS3 など

Page 3: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

(参考)イノベーション普及学

「イノベーション普及速度」

良い物なのになぜか売れない.その問題点として以下の5つの要件のどれかが足りない可能性がある.

� 1.相対優位性

今まで使っていたものと比べ,いかに優れているかが分かりやすいこと

� 2.両立性

当面は今まで使っていたものを捨てることなく,両立できること

� 3.複雑性

理解できないほどの複雑性を持っていないこと.逆に当たり前に見えすぎない程度

に複雑であること.そのバランス.

� 4.試行可能性

とりあえず,本格的な導入の前にプロトタイプやデモなどで効果を認識できること.

自ら触ってみることができること.

� 5.観察可能性

目に見えない効果ではなく,明らかに効率が上がるもしくは質が向上するなどの効

果が観察・実感できること.

Everett M, Rogers, 三藤利雄(訳),“イノベーションの普及”,翔泳社,イノベーションの普及”,翔泳社,イノベーションの普及”,翔泳社,イノベーションの普及”,翔泳社,2007,¥5040

製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定製品仕様の策定

製品企画・開発・製造のプロセス

企画

基礎技術

調査

機能

仕様

決定

基礎

研究

設計

仕様

設計・

開発

設計

評価試験

製造

装置

開発

量産

評価試験

限定

出荷

出荷

EVT DVT

MVT

機能

評価試験

LALALALA

GAGAGAGA

プロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメント

プロセスマネジメントプロセスマネジメントプロセスマネジメントプロセスマネジメント

戦略的に重要な工程戦略的に重要な工程戦略的に重要な工程戦略的に重要な工程

Jag2_Concept_DCP 102104a PDT.pdf

計画を立てる上で重要な要件

市場

利益

スケジュール

開発計画を立てる上で重要な要因

� 人

� どの様なスキルを持った人が

必要か?

� どの位の人数が必要か?

� 物

� 開発に必要な空間(場所),開

発機器は何か?

� 金

� 開発に必要な金額はどの位

か?

� 情報

� 開発に必要な情報はどこにあ

るか?

� 開発で一番掛かる費用は

� 人件費

� 1500万~2000万円/年

� 7800~10500円/時

� 給与

� 社会保障費

� 税金

� 開発に必要な空間のコスト

� 光熱費

� 間接部門(総務,人事)などの

間接コスト費

� その他...

含まれている項目

開発計画を立てる上で重要な要因

� 人

� どの様なスキルを持った人が

必要か?

� どの位の人数が必要か?

� 物

� 開発に必要な空間(場所),開

発機器は何か?

� 金

� 開発に必要な金額はどの位

か?

� 情報

� 開発に必要な情報はどこにあ

るか?

� 開発で一番掛かる費用は

� 人件費

� 1500万~2000万円/年

� 7800~10500円/時

� 給与

� 社会保障費

� 税金

� 開発に必要な空間のコスト

� 光熱費

� 間接部門(総務,人事)などの

間接コスト費

� その他...

含まれている項目

開発費用と人件費とは密接に

結びついている.

必要だからと言って,むやみや

たらに人を増やすと開発費が

増え,製品価格が上昇する恐

れがある.

どの様なスキルを持った人をどの位集める

かを考えることも開発プロセスの重要な項目

Page 4: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

スケジュール

� 最初に計画全体の完了日付を考える

� 次に開発計画の中でのマイルストーン(milestone)(主要管理点)と日付を定める

� 最後に細かいスケジュールを決める

� 項目(何を)

� 担当(誰が)

� 日付(何時までに)

項目を

決める

全体の

完了日

マイルストー

ンを決める

細かいスケジュー

ルを決める

計画の全体

本科目における大体のスケジュール

9月9月9月9月 10月10月10月10月 11月11月11月11月 12月12月12月12月 1月1月1月1月

個人

チーム

仕様書の提示 完成!授業開始

役割

分担

ディスカッ

ション

資料の提出

プログラミングプログラミングプログラミングプログラミング

チームでのデバッグチームでのデバッグチームでのデバッグチームでのデバッグ

資料の提出

宿題作業

主に座学

主に実習

about Research, Development and

Manufacturing

企画

基礎技術

調査

機能

仕様

決定

基礎

研究

設計

仕様

設計・

開発

設計

評価試験

製造

装置

開発

量産

評価試験

限定

出荷

出荷

EVT DVT

MVT

機能

評価試験

LALALALA

GAGAGAGA

現在一番重要な工程現在一番重要な工程現在一番重要な工程現在一番重要な工程

プロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメントプロジェクトマネジメント

プロセスマネジメントプロセスマネジメントプロセスマネジメントプロセスマネジメント

製品戦略

この部分はなんだろうか?

製品を開発するために大事なことって何だろうか?製品を開発するために大事なことって何だろうか?製品を開発するために大事なことって何だろうか?製品を開発するために大事なことって何だろうか?

莫大な資料を読みこなし,誰でも理解で莫大な資料を読みこなし,誰でも理解で莫大な資料を読みこなし,誰でも理解で莫大な資料を読みこなし,誰でも理解で

きる仕様書を記述できることが大事!!きる仕様書を記述できることが大事!!きる仕様書を記述できることが大事!!きる仕様書を記述できることが大事!!

仕様(Specification)

� 機能や性能,処理能力,構成部品やモジュール

,必要な使用環境などの説明または設計を示す

� 外部仕様 と内部仕様に分かれる

内部の構造の詳細

開発部門内で提示

される

外観や製品の性質

としてお客様や他部

門に提示される

Page 5: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

外部仕様書

� 外部仕様書に書くべきこと

� 要求定義に記載された機能を細部に渡って検討

� 操作方法,機能の適用範囲,異常動作,試験項

目などの明確化

� 入力方法,表示方法に関するインターフェースを

決める

内部仕様書

� 内部仕様書に書くべきこと

� 内部仕様に記載された項目の具体的な実現方

法を記載

� ハードウェア:回路図,タイミングチャート,試験

内容

� ソフトウェア:プログラム設計書(API,内部構造

など),詳細試験内容

ハードウェア/ソフトウェア開発プロセス

ハードウェア

構想設計

回路図設計

基板の設計

・製造

部品の実装

LSI, FPGA

の設計・製造

単体テスト

ソフトウェア

構想設計

基本設計

(外部仕様)

詳細設計

(内部仕様)

プログラミング 単体テスト

開発プロセスをうまく進行させるために,幾つかのモデルが存在する

ある組み込みシステムにおいてハード

ウェアとソフトウェアの機能分担をどうす

るかのトレードオフが重要となる

要求に関する仕様要求に関する仕様要求に関する仕様要求に関する仕様

要求仕様の説明

� 機器についての説明

� 機器についての基本的な機能の説明

� ハードウェア構成とハードウェア要求仕様

� 外観

� 機器の外観およびハードウェア構成の説明

� インターフェース

� 機器を操作するための方法の説明

� 内部構成

� 機器内部にある装置やセンサーなどの説明

� ソフトウェア仕様

� 操作要求仕様 (操作パネル)

� 操作パネルに対する動作に関する説明

� 機能要求仕様 (基本動作,他)

� 機器が動作したときの基本的な動き,および人が操作できる機能の説明

� 品質仕様

� 動作保証

� どんな環境でどのような時に動作するか,または停止するかの説明

� エラー処理

� 問題が発生したときにどのような処理をすべきかを説明

� 試験方法

� 機器の動作に関する試験方法の説明

Page 6: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

要求仕様(例)

クーラー 要求仕様書(例)

1.機器についての説明1.機器についての説明1.機器についての説明1.機器についての説明

この機器は以下の機能を持ちます

・部屋を冷やし,設定温度設定を維持する機能

・風量,方向を変更できる機能

・1日の平均電力量を表示する機能(電気が入っている間の電力のみを計測)

・消費電力量は温度を1度下げるのに 100W/h となります.なお1度温度を下げるのに約10分掛かります.

2.ハードウェア構成とハードウェア要求仕様2.ハードウェア構成とハードウェア要求仕様2.ハードウェア構成とハードウェア要求仕様2.ハードウェア構成とハードウェア要求仕様

2.1 外観

本機器は室外機と室内機に分かれています.但し制御機能は室内機しか持ちま

せん.

室内機には冷えた風を送りだす口と冷えた風の方向を決めるウィンドがあります.

室外機は内部の冷媒を冷やすためのファンが付いています.

また本機器には設定を変更できる操作パネルが有線で付いています.

要求定義を見て考えること

• どんな機器なのか?

• どんな機能があるのか?

• その機能を実現するためのハードウェアには何が必要か?

– 実習用のボードおよび実習用BOXで機能を(仮想的に)実現することは可能か?

• それぞれのハードウェアはどのような関係にあるのか?

� ハードウェアブロック図の作成ハードウェアブロック図の作成ハードウェアブロック図の作成ハードウェアブロック図の作成

• 機能を実現するためにOSは必要か?

– 必要であればどのようなOSを使うのか?

– 不要であればどのようにソフトウェアを実現するのか?

• ソフトウェアの機能はどこまで細分化できるのか?

– どのような機能毎にソフトウェアを細分化するのか?

– それぞれのソフトウェアの機能はどのハードウェアと関係があるのか?

– 細分化した機能をどのように纏めるのか?

� ソフトウェアブロック図の作成ソフトウェアブロック図の作成ソフトウェアブロック図の作成ソフトウェアブロック図の作成

• 仕様通りの要求仕様で期間内に完成するかどうかを確認

OSを必要としない機器の場合

• 複数のハードウェアが同時に動く必要が無いことを確認する

• 複数のソフトウェア(タスク)が同時に動く必要がないことを確認する

• ポーリング処理,または割込み処理で実現できることを確認する

• ハードウェアの排他処理が必要無いことを確認する

• リアルタイム処理が必要ないことを確認する

• 初期設定が難しく無いことを確認する

• いきなり電源を切ってもソフトウェア的にもハードウェア的にも問題が無いことを確認する

例えば「クーラー」の場合は?

• ボタンを押すことで1つの機能を動かす,または切り替えるので複数の

ハードウェアが同時に動くことはない

• 複数のハードウェアが動く必要がないため,同時に複数のタスクが動く必

要は無い

• ボタンを押した動作によって機能を切り替えるため,ボタンによる割込み,

またはボタンを検知するポーリング処理で済む

• 複数のタスクが無いため,ハードウェアの排他処理は無い

• ボタンを押した時に必ず反応しなくても人は対応が可能なため,リアルタ

イム処理でなくても良い

• 電源を入れたときに各ハードウェアのリセットが済んでいれば良いので,

初期設定は難しくない

• いきなり電源を切った際,ファンや各モータの供給電力が無くなるが,

モータの位置がそのままでも特に問題はない

� 以上より,「クーラー」の要求定義書によれば,OSは特に必要なく,割込

みを使ったポーリング処理で十分対応可能である

Page 7: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

外部仕様の説明

• CPUボードのインターフェース

–操作パネル�操作パネルのボタンに関する説明

– LCD�操作パネルにあるLCD表示器に関する説明

– LCD表示�どのような時にどのような表示をLCDにするかの説明

• 機構のインターフェース

�実習用BOXに関するインターフェースの説明

�どの機構が何を表しているのかを説明

外部仕様書(例)

①初期画面

(Power OFFの状態)

Power OFF

②初期画面

Power ON

Set Termp : ●● <Temp □□>

AirFlow : MID

Air Dir : MID [▲▲▲W]パネルの仕様に合わせた

画面の表示をレイアウトする

実習用 CPU ボード

LCD表示器

LED

実習用BOX

接続用コネクタ

電源コネクタ

9V を接続

電源スイッチ

押しボタンス

イッチと LED

ロータリー

エンコーダ

スピーカー

PIC書込用

コネクタ

PIC書込用

リセットSW

実習用 BOX

モーター#1

モーター#2

LED (4個)

フォトインタラプト

センサーA

フォトインタラプト

センサーB押しボタンスイッチ

A / B

切替用スイッチ

インタラプタ or SW

電源コネクタ

5V

実習用ボード

接続ケーブル

モーター自動停止

On/Off SW

Page 8: 組み込みソフトウェア工学 開発プロセス · 開発プロセス 製品を開発する上で必要なプロセスについて理解す る 何を作るか(要求,戦略)

外部仕様を見て考えること

� 外部仕様の通りで問題無いかを確認

� どのボタンがどんな機能のボタンになるのか?

� ボタンの仕様に過不足は無いのか?

� 表示の仕様に過不足は無いのか?

� 実習用BOXと機能との関係性はあっているのか?

� 実習用BOXの外部仕様に過不足は無いのか?

� 仕様通りの外部仕様で期間内に完成するかどう

かを確認

やること:要求定義書を読む

� 次回までにWeb 上にある要求定義書を読んでくる

� どのような組み込み機器なのかを理解し,次回の授業

の話を具体的にどのように当てはめるかを考えて聞くこ

� 炊飯器,洗濯機,自動販売機,電子レンジ,ポット

� 「要求仕様,外部仕様を見て考えること」を参考にする

� 次回,チーム分けをします

まとめ

� 開発プロセス

� 製品を開発する上での必要なプロセス

� 何を作るか(要求,戦略)

� どうやって作るか(開発プロセス)

� 開発で必要な要因(人物金情報)

� スケジュールと仕様書