2nd Open SESSAME Seminar Report |
■ 2nd Open Sessame Seminar in Osaka の概要
![]() |
組込みソフトウェア技術者・管理者育成研究会(SESSAME)は第2回 組込みソフトウェア技術者・管理者向けセミナー(2nd
Open SESSAME)を06月30 日(月)〜07月01日(火) の両日に、大阪・本町の日本規格協会・関西支部にて開催しました。 日本のソフトウェア産業の競争力低下が長いこと叫ばれています。世界と対等に戦い優位に立つために、わが国は組込みソフト(ファームウェア、埋め込みソフト、エンベッデッドシステム)に注力しなくてはなりません。日本がもっとも力を発揮でき、また発揮しなくてはならない分野は組込みソフトウェアなのです。しかし家電製品や自動車、通信、FA機器など多くのハードウェアが“インテリジェント化”する一方で、複雑さや規模、信頼性要求の高まりに悲鳴を上げています。 |
2nd Open SESSAME in Osaka の会場の様子 | |
この状況を打破するために、組込みソフトウェア技術者や管理者を育成するためのカリキュラムの整備、そしてその元になる方法論・ツールの開発に関する研究が必要なのは言うまでもありません。我々の感触では、組込みソフトウェアの中級レベル以上の管理者・技術者が数万人以上必要であり、早急に育成する必要があるものと確信します。 そのため我々は、「組込みソフトウェア管理者・技術者育成研究会」(SESSAME: Society of Embedded Software Skill Acquisition for Managers and Engineers)を結成し、組込みソフトウェア技術者や管理者を育成するためのカリキュラムの整備、そしてその元になる方法論・ツールの開発に関する研究を行ってきました。 その一環として昨年の10月に 1st Open SESSAMEとして組込みソフトウェア技術者および管理者向けのセミナーを開催いたしました。セミナーは予想を超え、100名以上の方々に参加いただき盛況のうちに終わりました。セミナー終了後アンケートを分析した結果、参加者の満足度は高いものの、一部の方々から「1日で分析・設計・プログラミング・テストを解説するのは少し詰め込みすぎ」「演習も含めてじっくり説明して欲しい」というご意見をいただきました。 そこで、今回は、分析・設計・プログラミング・テストにテーマを絞り、入社2〜3年目程度のこれからの活躍が期待される技術者を対象としたセミナーを開催することにしました。入社2〜3年目程度と言えば、プログラミングに自信がついてきて、組込みソフトウェア開発の現場にも慣れたころだと考えています。そういったタイミングに基本となる技術要件をチェックし技術力を振り返ることで、今後の飛躍への足固めをしていただくことを本セミナーの目的としています。 |
2nd Open SESSAME Seminar プログラム 1日目 6月30日(月) | ||||
プログラム1 | 「開発課題と失敗事例の解説」 | アンケート集計結果 | 坂本 直史 (ルネサスソリューションズ) |
|
プログラム2 | 「組込み向け構造化分析の例・設計の概要(電子ポットモデル)」 | アンケート集計結果 | 坂本 直史 (ルネサスソリューションズ) |
|
プログラム3 | 「組込み向け構造化分析の例・設計の概要(ししおどしモデル)」 | ![]() |
アンケート集計結果 | 二上 貴夫 (東陽テクニカ) |
プログラム4 | 「組込み向け構造化設計(電子ポットモデル)」 | アンケート集計結果 | 山田 大介 (リコー) |
|
プログラム5 | 「組込み向け構造化設計(ししおどしモデル)」 | アンケート集計結果 | 二上 貴夫 (東陽テクニカ) |
2nd Open SESSAME Seminar プログラム 2日目 7月1日(火) | ||||
プログラム6 | 「プログラミング 組込み用語基礎知識」 | アンケート集計結果 | 三浦 元 (テクノホロン) |
|
プログラム7 | 「ソフトウェアテストの概要」 | アンケート集計結果 | 西 康晴 (電気通信大学) |
|
プログラム8 | 「プログラミングの概要」 | アンケート集計結果 | 三宅 貴章 (富士通デバイス) |
|
プログラム9 | 「プログラミング実習」 | ![]() |
アンケート集計結果 | 森 孝夫 (三栄ハイテックス) 二上 貴夫 (東陽テクニカ) |
プログラム10 | 「ソフトウェアテスト実習」 | アンケート集計結果 | 西 康晴 (電気通信大学) |
プログラム1 「開発課題と失敗事例の解説」 |
■講師 坂本 直史(ルネサスソリューションズ)
■概要
「話題沸騰ポット」の教材をもとに実際に失敗事例を挙げながら設計のポイントを解説する。組込みソフトウェアの初級技術者が陥りがちな、要求仕様を十分に分析せずにコーディングに入ってしまい、後から装置のエラー状態や見落としていた詳細仕様を付け足し付け足しで構築していく失敗例について解説する。
■キーワード・キーセンテンス
「話題沸騰ポット」 「基本動作だけ読んでコーディング開始」 「要求仕様の曖昧さに気がつかない」 「制御仕様を十分に分析せずに実装」 「きちんと分析してますか?」
プログラム2 「組込み向け構造化分析の例・設計の概要(電子ポットモデル)」 |
■講師 坂本 直史(ルネサスソリューションズ)
■概要
「話題沸騰ポット」の教材をもとにプログラム1で取り上げた失敗を起こさないための要求分析の重要性を解説。要求分析をしないときのデメリット、要求分析を行ったときのメリット、要求分析の考え方について説明。コミュニケーションの手段としての構造化分析、構造化分析をベースに実装を行う構造化設計の概要を紹介する。
■キーワード・キーセンテンス
「仕様が出てこない」 「早く動かしたい」 「仕様変更があったらそのときに考える」 「構造化分析」 「構造化設計」 「イベントリスト」 「データ・ディクショナリ」 「コンテキスト・ダイアグラム」 「フローダイアグラム」 「プロセス仕様書」
プログラム3 「組込み向け構造化分析の例・設計の概要(ししおどしモデル)」 |
■講師 二上 貴夫(東陽テクニカ)
■概要
・構造化分析手法のコンテキストダイアグラムについて解説し、実習に用いる「ししおどし」モデルのコンテキスト・ダイアグラムを実際に描いてみる。
・セミナー参加者の初めて描いたデータフロー・ダイアグラムに対してテクニカルなコメントを与え、構造化分析の理解を深める。
・より複雑な要求仕様に対して分析したモデルについて解説する。
■キーワード・キーセンテンス
「コンテキスト・ダイアグラム」 「データフロー・ダイアグラム」 「市場要求の変化への対応」 「デマルコのモデル」 「ハトレー・ピルバイのモデル」
プログラム4 「組込み向け構造化設計(電子ポットモデル)」 |
■講師 山田 大介(リコー)
■概要
「電子ポットの教材」で構造化分析したモデルを構造化設計してみる。モジュールの分割、モジュールの凝集度(コーヒージョン)、モジュール間の結合度(カップリング)について解説し、分析モデルを実装へ導く。ソフトウェアを実装するためのさまざまなアーキテクチャーのノウハウ(スケジューリング方式の設定、パフォーマンスチューニング、ROMサイズのオプティマイズ、RAMのセクション設定、スタック量の見積もり、フォールトトレランスなど)を説明。 さらに、仕様変更への対応について言及する。
■キーワード・キーセンテンス
「凝集度(コーヒージョン)」 「結合度(カップリング)」 「構造化設計」 「ストラクチャーチャート」 「設計の粒度を均一にする」 「最大抽象点を見つける」 」 「単一の目的を持った機能、情報、責務」 「時間的制約」 「リソースの節約」 「フォールトトレランス」 「フェールセーフ」 「イベントドリブン」 「コーディングルール」 「長持ちする設計がよい設計」 「固定部から変動部を呼び出して、変動部だけを修正」 「設計図でレビューしましょう」
プログラム5 「組込み向け構造化設計(ししおどしモデル)」 |
■講師 二上 貴夫(東陽テクニカ)
■概要
・ししおどしのデータフロー・ダイアグラムモデルの中で平行に動かなければならない処理(スレッド)の数を数える。
・摘出したスレッドをもとにストラクチャーチャートを作る。
・ストラクチャーチャートの回答例を解説する。
・ししおどしシステムを離れたところからコントロールするリモコン制御サブシステムの仕様にについて理解する。
・リモコン制御サブシステムの開発仕様書について簡単に解説する。
■キーワード・キーセンテンス
「ストラクチャーチャートを描く」 「非同期イベント、平衡性を考慮する」 「スレッドの数を数える」 「同一スレッドのモジュール群を囲う」 「モジュール構造を変形する」
プログラム6 「プログラミング 組込み用語基礎知識」 |
■講師 三浦 元(テクノホロン)
■概要
組込みソフトウェア初級技術者が知っておくべき知識の解説。(プログラムはどのように動くのか、配列の実態、スタートアップ、周辺デバイス、エッジトリガとレベルセンス、組込みプログラムの構造、volatile、ハードウェアとのおつきあい
など)
■キーワード・キーセンテンス
「挙動不審なプログラムの裏にスタックあり」 「配列のインデックスには悪魔が潜む」 「スタートアップに始まりスタートアップに終わる」 「リセットとは責任を伴う行為である」 「同期と非同期を使い分ける」 「割込みの分析・設計は大事」 「ハードウェアの挙動を知ることは重要」
プログラム7 「ソフトウェアテストの概要」 |
■講師 西 康晴(電気通信大学)
■概要
ソフトウェアテストの基本とテストを設計する際のポイントを解説。
・境界値テスト、制御パステスト、条件網羅テスト、状態遷移テスト
システムテストについて
・ストレス系、環境系、評価系のシステムテスト
テスターの視点について解説しテストケースの作るときの注意点を学ぶ。
■キーワード・キーセンテンス
「テストとデバッグは同じじゃない」 「テストが上手になってくると、そもそもバグのない開発ができるようになる」 「テスト戦略」 「どんなときでも境界値を考えよう」 「フローグラフ」 「ノード」 「リンク」 「パス」 「バグ管理図」 「テスターの視点」 「テストが簡単になるソフトを作ればバグが入りにくくなる」 「網羅とピンポイント」
プログラム8 「プログラミングの概要」 |
■講師 三宅 貴章(富士通デバイス)
■概要
ししおどしモデルのリモコンサブシステムの設計を行う前の事前知識を解説する。
・状態遷移を実際にC言語で実装する際のテクニックについて解説する。
■キーワード・キーセンテンス
「状態遷移マトリックス」 「switch文での実装」 「関数ポインタ」
プログラム9 「プログラミング実習」 |
■講師 森 孝夫(三栄ハイテックス) ・ 二上 貴夫(東陽テクニカ)
■概要
ししおどしモデルのリモコンサブシステムの設計を実際に行ってみる。
状態遷移のプログラムについてプログラミング演習を行い、回答について解説を行う。
■キーワード・キーセンテンス
「実装テクニック」 「リアルタイムOS」 「タイマー割り込み」 「ワンチップマイコン」 「レートモノトニック」
プログラム10 「ソフトウェアテスト実習」 |
■講師 西 康晴(電気通信大学)
■概要
ししおどしモデルのリモコンサブシステムのテストを設計してみる。
・通信データの境界値テストを設計する。
・状態遷移設計に関する状態遷移パステストを設計する。
・状態遷移マトリックスを描いて、状態遷移マトリックステストを設計する。
・制御フローグラフを描いてテストパスを設計し、制御パステストを実施する。
■キーワード・キーセンテンス
「境界値が設計できないときは詳細仕様を仕様作成者に必ず聞く」 「テスト項目と期待結果をペアにして書く」 「OK結果の記録も重要」 「NGは不具合報告書で報告する」 「テストは漏れがないようにササッとやる」 「ループは0回、1回、2回、たくさんをテストする」 「printf
でアサーションを表示させる」 「テストの特徴を掴んでテストを使い分ける」 「テストの設計と同時に仕様レビュー、デザインレビュー、コードレビューを行う」
第2回 組込みソフトウェア管理者・技術者向けセミナーに関するご意見、ご感想は までお願いいたします。
2nd Open SESSAME Seminar Report は組込みソフトウェア管理者・技術者育成研究会(SESSAME)が著作権を所有しています。 本レポートの全体または一部を複製、利用をされる場合および報道を目的とした公開の際には、あらかじめ組込みソフトウェア技術者・管理者育成研究会(SESSAME)の事務局から承諾を受ける必要があります。