Updates

新着情報

コラム

Automotive SPICE SUP.1 本当に品質は良くなるの?

今回は、品質保証に関する話題をご提供いたします。プロセス改善モデルには、品質保証というプロセスが定義されています。Automotive SPICE では、SUP.1(品質保証)、CMMI v1.3では、PPQA(プロセスと成果物の品質保証)というプロセスが該当します。(CMMI v2.0/3.0では、品質保証の考え方が多少変わってきていますので、後述いたします) さて、これらのプロセスを実装することで、良い品質の製品をリリースできるでしょうか? 筆者は、本件については甚だ懐疑的です。というのも、これまで自身の担当するプロジェクトで、単純にAutomotive SPICEのSUP.1プラクティスに記載されている内容を実施してきましたが、効果を感じられませんでした。また、多くの組織やプロジェクトを見ても、状況はあまり変わりません。はじめてSW-CMM(CMMIの前身モデルです)というモデルの導入を検討していたとき、SQA(ソフトウェア品質保証)プロセスとは、「プロジェクトが、決められた方法(約束事)に従って活動していることを評価する」ということだと知り、これで品質が担保できるのかと不思議に思ったものでした。 これらの原因は、品質保証活動=プロセス監査という考え方になってしまっていることにあると考えています。確かに Automotive SPICE SUP.1の各プラクティスを見ても、監査すれば十分であると読めてしまうところがあると思います。また、プロセスモデルでは「品質管理」というプロセスが別に定義されていることもあり、このような実装になってしまうことも仕方ないかもしれません。 しかしながら、せっかく品質を保証する活動を導入するのであれば、もう少し実際の品質に寄与できる活動にしたいとは思いませんか?重箱の隅をつつくような作業や、不遵守が発見されない監査項目に多くの時間をかけて作業するのは勿体ないですよね。ここからは、こういった現象に気付いた私たちが実践してきた、品質保証活動の刷新についてご紹介いたします。 まずは、本当の意味での品質保証活動について考え直すことから始めました。一番参考になったのは、「プロセス成熟度の改善」(Watts S. Humphrey著日本語訳:日科技連出版社発行)です。この本は、私たちが赤本と呼び、プロセス改善のバイブルとして長年使っているものです。品質保証として評価すべき観点を列挙し、それぞれの開発工程で確認すべき点をまとめました。下記に概略を記載しますので、参考にしてください。 構成管理:計画とその遵守、設計書・ソースコード・テスト仕様、構成監査 レビュー:レビュー計画と運営状況の確認、各工程のレビューへの参加と品質確認 監査:プロセスの遵守性 要求仕様:顧客要求の合意形成、要求のテスト可能性、要求毎の進捗状況 設計:開発進捗、レビュー摘出率、コードメトリクス、トレーサビリティ テスト:テスト計画、不具合発生と解決データのトレース、テスト報告書 ツール:使用ツールの妥当性、ツール使用状況 修正処置:変更依頼の状況、修正手順、各工程の修正の開始から完了までの状況、問題原因の傾向 外注先:外注先の品質保証プロセス、設計標準の確認、品質データの把握 計画:計画の妥当性、計画変更の妥当性、計画に対する進捗状況 出荷:レビュー・テスト指摘解決状況、テスト報告書、出荷審査こうしてみると、かなり実施すべきことがあると思いませんか? 次に品質保証活動の役割分担について考えました。本来の意味での品質保証活動を実施するにあたり、品質保証活動の役割を次のように細分化しました。 品質システム担当:品質システムの構築・運用 品質分析担当:各プロジェクト品質データの取りまとめ・分析・報告 内部レビュー担当:プロジェクト内部のレビュー実施者(開発者) 外部レビュー担当:プロジェクト外の開発者、品質保証グループによるレビュー実施者 プロセス監査担当:プロジェクトの監査実施者 品質保証活動プロセスの(再)定義品質保証活動の観点と役割から、品質保証グループとして実施すべき活動とプロジェクトの品質保証活動の2つに分けて、品質保証活動のプロセスを定義しました。プロセスの概要は、導入事例(品質保証活動の刷新)を参照してください。  気が付いている人も多いようですが、監査だけでは品質は良くなりません。品質保証に携わる組織としては、プロジェクトの品質データを収集し、そのデータをもとに品質課題を解決する活動が重要です。長年の開発経験からわかることは、重大な不具合はソフトウェア全体が悪いわけではなく、ある特定のコンポーネントの不出来が起因して起こるということです。これらを如何に開発途中で見つけるかが品質保証活動のキーポイントとなるはずです。いつまでも設計が終わらない機能、規模が膨大になっているソフトウェアコンポーネント、コードメトリクスが例外値を示しているソフトウェアユニット、多くの不具合が発生している機能など、これらを調査することで未然に予防できることがあるはずです。 Automotive SPICE SUP.1や、CMMIを取り巻く環境も近年変化が見られるようです。欧州の自動車メーカーからは、プロジェクトの品質データを毎月提出することが求められるようになりました。CMMI v2.0/3.0では、「品質の確保」という属性の中に4つのプラクティス領域(ピアレビュー、プロセス品質保証、要件の開発と管理、検証と妥当性)を設け、従来のPPQAプロセスだけでなく他のプロセスを品質に結び付けています。皆さんも、監査だけの品質保証から、本質的な活動に移行してみませんか? 日吉昭彦

コラム

見える化する要求仕様 〜 EARS(Easy Approach to Requirements Syntax)を活用したシステム要求の書き方 〜

Automotive SPICE 4.0 に関するコラム、今回は「EARSを活用した要求文の書き方」についてお届けいたします。 はじめに システム開発において、明確で一貫性のある要求仕様を書くことは極めて重要です。しかし、要求の記述が曖昧であったり、解釈の余地が大きいと、後の開発フェーズで認識のズレや仕様変更が発生し、コストや工数の増加につながります。そこで、本コラムでは「EARS(Easy Approach to Requirements Syntax)」という手法を紹介します。EARSは要求を定義するためのテンプレートで、要求をシンプルかつ明確に記述するための構文を提供し、解釈のブレを防ぐことができます。 EARSの基本構造  EARSは要求の表現方法を体系化し、以下の6つの基本パターンを定義しています。 1.Ubiquitous(一般的な要求): 常に適用される要求に使用します 形式: 「The [システム] shall [動作]」 例: 「システムは、車両の衝突が検知された場合、適切なエアバッグを30ミリ秒以内に展開しなければならない」2.Event-driven(イベント駆動要求): あるイベントが発生した場合に適用される要求に使用します 形式: 「When [イベント], the [システム] shall [動作]」 例: 「正面衝突を検知した場合、システムは30ミリ秒以内にフロントエアバッグを展開しなければならない」3.State-driven(状態駆動要求): システムが特定の状態にある場合に適用される要求に使用します 形式: 「While [状態], the [システム] shall [動作]」 例: 「車両が走行中である間、システムは衝突を検知するために衝撃センサーを監視しなければならない」4.Optional(オプション要求): 追加機能やオプションの機能に関する要求に使用します 形式: 「Where [条件], the [システム] shall [動作]」 例: 「車両が助手席用エアバッグを搭載している場合、システムは助手席の占有センサーを監視しなければならない」5.Unwanted Behavior(望ましくない動作の要求): 望ましくない状況を回避するための要求に使用します 形式: 「If [条件], the [システム] shall not [動作]」 例:「助手席に乗員がいない場合、システムは助手席エアバッグは展開してはならない。」6.Complex(複雑な要求): 複数の条件やイベントを組み合わせて記述する要求に使用します 形式: 「When [イベント], if [条件], then the [システム] shall [動作]」 例: 「正面衝突が検知され、かつ助手席が占有されている場合、システムは助手席のエアバッグを展開しなければならない。」   EARSの適用時に注意すべきポイント EARSを活用すると、要求の曖昧さを減らし、明確な仕様を記述できます。しかし、EARSの形式に従っているだけでは、必ずしも適切な仕様になるとは限りません。 要求の内容そのものが不適切だと、意図しない動作を引き起こす可能性があります。例えば、Unwanted Behavior(望ましくない動作の要求)として以下のような仕様を考えてみます。「車両が静止している間, システムはエアバッグを展開してはならない。」この要求の意図が「エアバッグ誤展開の防止」だとしても、そのままでは 停車中に衝突された場合でもエアバッグが展開しない可能性 があります。本来ならエアバッグが展開すべき状況でも、要求の誤解によって安全性が損なわれる恐れがあります。こうした問題を防ぐためには、要求の意図を明確にし、条件を具体的に記述すること が重要です。例えば、以下のように修正すると、誤展開を防ぎながら、必要な場合には展開できる仕様になります。「車両が静止中かつ衝突の加速度が 1.0g 未満の場合, システムはエアバッグを展開してはならない。」このように、EARSの形式を活用しつつも、要求の意味や影響を慎重に検討することが求められます。 EARSを活用する際の留意点 EARSを適用する際には、以下の点に注意することで、より適切な要求仕様を記述できます。 簡潔かつ明確に: 余計な修飾を避け、短く分かりやすい表現を心がける。 一貫性の確保: SHALL(〜しなければならない)の使い方を統一し、主語を明確にする。 必要十分な情報を含める: 曖昧な表現を避け、要求に不足がないようにする。 トレーサビリティを意識: システム仕様や上位要件との整合性を確保する。 まとめ EARSは、シンプルな構文によって要求の曖昧さを排除し、仕様の誤解や抜け漏れを防ぐのに有効な手法です。ただし、形式に従うだけでは不十分であり、意図や条件を明確に記述することが重要 です。特に、エアバッグのような安全性が求められるシステムでは、適切な要求仕様が欠かせません。皆さんのプロジェクトでは、要求仕様をどのように記述していますか?EARSの活用を検討してみてはいかがでしょうか?  おわりに 今回のコラムはいかがでしたでしょうか?今後も数回にわたってAutomotive SPICE 4.0に関するコラムをお届けいたしますので、ご期待ください。(安部宏典)

コラム

Automotive SPICE 4.0 トレーサビリティと一貫性に関する変更点(SYS/SWE/VAL)

Automotive SPICE 4.0 に関するコラム、過去のコラムで諸々の変更点を解説してきましたが、今回はエンジニアリング系プロセス全般(SYS、SWE、VAL)のトレーサビリティと一貫性に関する括りで整理してみました。また、関連するこれまでのコラム解説へのリンクも掲載していますので、合わせてご確認ください。◆妥当性確認プロセス 一貫性の確保及び双方向トレーサビリティの確立:VAL.1v4.0で新たに追加されたVAL.1(妥当性確認)プロセスにより、これまで水平方向のトレーサビリティがなかったSYS.1(要求抽出)に対しても、妥当性確認手段との一貫性の確保と双方向トレーサビリティの確立が求められるようになりました。これにより、SYS.1に対応した評価が必要となり、プロジェクト全体のトレーサビリティが強化されました。v4.0でVAL.1(妥当性確認)プロセスが追加された背景の考察は、以下のコラムを参照してください。「Automotive 4.0のVAL.1プロセス:検証との違いとその重要性」(2024.09.20)トレーサビリティ図 ・v3.1とv4.0の差分_VAL.1:◆ソフトウェア要件とソフトウェアユニット間のトレーサビリティの廃止:SWE.3v3.1では、ソフトウェア要件とソフトウェアユニット間のトレーサビリティの確立の要求が存在していましたが、v4.0では、この記述が削除され、ソフトウェア要求とソフトウェア詳細設計の間のトレーサビリティの確立に変更になりました。「ソフトウェアユニット」とは、実装レベルの用語ではなく、論理的モデリングレベルの用語であり、ソフトウェア要件とのトレーサビリティとは何を意味するかが、わかりにくかった問題を解消しています。この変更の詳細に関しては、以下のコラムを参照してください。「ソフトウェア要件とソフトウェアユニット間のトレーサビリティの廃止」(2024.04.09)トレーサビリティ図・v3.1とv4.0の差分_SWE.3:◆ソフトウェア詳細設計とソフトウェアコンポーネント/統合検証手段の間のトレーサビリティの追加:SWE.5v4.0のSWE.5 BP6で、SWE.5の検証手段とSWE.3のソフトウェア詳細設計の静的および動的な側面との間の一貫性を確保し、双方向トレーサビリティを確立する要求が追加となっています。なお、SWE.5の検証手段、またSWE.2、SWE.3のソフトウェア設計工程の作業の詳細に関しては、それぞれ以下のコラムで解説しています。「Automotive SPICE 4.0 SWE.5 ソフトウェア統合テストの考え方」(2024.06.13)「ソフトウェアエレメント、ソフトウェアコンポーネント、ソフトウエアユニットの関係について」(2024.07.19)トレーサビリティ図・v3.1とv4.0の差分_SWE.5:◆トレーサビリティの対象外となる事例:SYS.2/3,SWE.1/2v4.0のSYS2 BP5の 備考8では、例えば「XXXプロセス標準への準拠」というプロセス要求のような利害関係者の非機能要求については、システム要求からはトレースできないが、検証の対象であるとしています。つまり、トレーサビリティは対象外ですが、例えば「監査報告書」によって、証拠付けされる必要があります。Automotive SPICE v4.0 SYS.2から引用:以下はSWE.1の例ですが、このほかにSYS.3、SWE.2にも、同じような備考が追加されていますので、ご確認ください。Automotive SPICE v4.0 SWE.1から引用:非機能要求でも、その内容によっては、トレーサビリティの対象なる場有もあります。以下のコラムで解説しています。「Automotive SPICE 4.0における非機能要件の考え方」(2024.01.30) ◆「検証手段」と「検証結果」の双方向トレーサビリティの確立:SYS.4~5,SWE.4~6v3.1のテスト系プロセスで要求されていた「テストケース」と「テスト結果」の間の双方向トレーサビリティの確立は、v4.0では「検証手段」と「検証結果」という用語に変更されています。単に用語の変更だけで、トレーサビリティの図的には差分はありません。用語が変更された背景などに関しては、以下のコラムを参照してください。「『テスト』から『検証』へ-Automotive SPICE 4.0の『検証』プロセス-」(2024.06.19) ◆双方向トレーサビリティと一貫性の概念の再統合:SYS.2~5、SWE1~6v3.1ではトレーサビリティと一貫性の要求は、2つBPに分離されていましたが、v4.0では1つのBPに再統合されました。具体的には、v3.0で1つのBPから2つのBPに分離されたものが、v4.0で再度1つのBPに統合されただけであり、トレーサビリティの図的には差分はありません。この変更により、トレーサビリティと一貫性の管理がよりシンプルかつ効率的になりました。最後に、Automotive SPICE 4.0のエンジニアリング系プロセスの一貫性とトレーサビリティの図を引用しておきます。佐藤崇

コラム

RPAツールを使って業務効率化しよう!

弊社では2024年4月よりロボットプロセス技術部を新設し、RPA(Robotic Process Automation)を使いお客様の業務効率化の支援をさせていただいております。今回は、RPAとはどういったものか、どういう効果があるのか、といったお話をしたいと思います。RPAとは何か?RPAは、人間が行っている定型業務のタスクを自動化する技術です。これにより、企業は生産性を向上させ、エラーを減らし、従業員がより価値の高い業務に集中できるようになります。RPAはソフトウェア「ロボット」を使用して、データ入力、トランザクション処理、レポート作成などのタスクを自動化します。主にバックオフィス業務の自動化に活用されることが多く、生産性の向上や人材不足の解消に向けて導入する企業が増加しています。 RPAの導入メリットRPAツールの導入には以下のようなメリットがあります。・業務効率化とコスト削減・ミス防止や業務品質の均一化を実現・企業全体の生産性向上・従業員のモチベーション向上・労働環境の改善・業務スピードの向上により顧客満足度が向上 RPAツールを導入しやすい業務の例以下にRPAツールを導入して効果が得られやすい業務をあげてみました。・手順の決まっている定型業務・大量のデータを扱う業務・アプリケーションを横断する業務 導入のステップRPAツールの導入は手順に沿って進めるとよいでしょう。以下、一般的な導入手順をご紹介いたします。1. 社内の業務を可視化する2. RPA化できそうな業務をピックアップする3. RPAツールの導入目標を立てる4. 業務内容に合ったRPAツールを選定する5. 気になるRPAツールを無料トライアルで試す6. 簡単な業務から小規模でRPA化していく7. 改善事例を横展開してRPAを本格導入する8. RPAの効果測定をする9. RPAの運用と保守を継続して行う RPA導入の成功のポイントは、まず自身の業務を可視化することです。その中に必ず定型業務があるはずです。RPAツールは種類がいくつもあり、業務によって向き不向きがあります。まずは、Windows11に標準で搭載されているPAD(Power Automate Desktop)を使って自らの業務を効率化するところから始めてみてはいかがでしょうか。園田幸治

コラム

Automotive SPICE GP 徹底解説 その2 ~ GP2.1.3(責任と権限)

今回は、GP 徹底解説の第2段として、「責任と権限」についてお届けいたします。実は、この「責任と権限」に関するプラクティスは、Automotive SPICE 3.1 と4.0で GP の番号や記述内容が多少変わっています。アセスメントを実施していると、特に「権限」に関する考え方や、インタビューにおける受け答えが適切にできていないことが多い領域です。 当初、責任と権限に焦点を当ててコラムを書く予定でしたが、Automotive SPICE 4.0 で多少ニュアンスが変わっているようなので、まずは v3.1 と v4.0での記述の差分を確認してみることにします。   GP のタイトルは変わっているものの、「責任と権限」については意図の変更はありません。v4.0 では、プロセスの実行に関与する「人」だけでなく、「物理的・物質的」なリソースも含めてプロセスを実施するために必要な「リソース」に拡張されました。人的リソースに関しては、備考6にあるように「責任と権限」の定義については必ずしも正式な記述である必要はなく、決定されていれば良いと読み取れます。 人的リソースに課せられる要件;本コラムでは、「人的リソース」に焦点をあてて、何を決定しておけば良いかを考察していきます。ここで重要なのは、能力レベル2で求められる「繰り返し同様の成果を出す」ために必要なことは何かということです。つまり、人が作業を遂行するにあたり(同様の成果を確保するために)必要なことを決めておくこということになります。 その作業を実施するために必要な「経験」・「知識」・「スキル」 その作業に関する「責任」と「権限」 その作業を実施した際に作成される作業成果物を管理するたの「責任」と「権限」これらが、より良い作業成果を発揮するためには、重要な要素だと考えられています。 では、責任と権限では何が異なるのでしょうか?意外と説明しにくいのではないでしょうか? 責任と権限の違いとは?以下のように整理するとわかりやすいと思います。(権限とは) 意思決定を行い、命令を下す(権力・権利) 権限は委譲できる 職制や組織構造に基づいて付与される 意思決定の結果について責任を負う (責任とは) タスクや職務を遂行し、その結果について責任を負う(義務) 責任は委譲できず、責任を負う個人にある 割り当てられた仕事や役割に付与される 割り当てられた仕事を成功裏に完了する責任を負う 責任は、プロセスとして考える!プロセス定義の観点からは、責任は(そのタスクを実施する)役割(ロール)に基づいて定義することが一般的です。  しかしながら日本においては、タスクをこなす役割というより、組織の職制の観点から実施できる範囲を定義していることが多いようです。今後、作業をプロセスという側面から定義していくことを考えると、タスクごとに「役割」を定義していくことは有意義だと思われます。   権限は、職制に基づいて定義する!一方で、「権限」については職位毎に定義した方が現実的ではないでしょうか?もし、部門規定などで既に定義されていれば、それを参照すれば良いでしょう。   日本と欧米の文化や習慣の違いを理解することが重要!役割と権限は、日本と欧米の仕事の仕方の違いを色濃く反映しているものだと理解しています。日本では、役割、責任、権限、スキルは組織論として取り上げられており、これらは職制に紐づいていることが多いのです。一方、欧米ではプロセスや Job Description の中で明確に文書化されています。 日本にある外資系企業で、コピーした際に用紙がなくなったので用紙を補充したら、「それはあたなたの役割ではなく私の作業だ!」と怒られた、という話を聞いたことがあります。文化的な違いは、プロジェクト発足時のプロセスにも表れています。日本ではプロジェクトは組織に紐づいていることが多く、新しいプロジェクトが発生した場合、その組織の中でメンバーを構築していきます。欧米では、プロジェクト発足時にプロジェクトマネージャが選任され、予算と権限が与えられます。マネージャは、プロジェクトに必要な技術やスキル要件を予算内で整理して、必要な人材を組織のヒューマンリソースグループに依頼し、プロジェクトメンバーを獲得していくのです。 欧米発の Automotive SPICE を上手く活用していくためには、日本文化における違いを明確にして、その違いに応じた対応をしていく必要があります。問題がなければ必ずしも Automotive SPICE の記述通りに現状の方法を変える必要はありません。ただし、相違点を明確にして自分達のプロセスで問題がないことをアセッサーに正しく伝えることが重要となります。日吉昭彦

コラム

見えない相互作用を探る ~ システムコンテキストへの影響分析 ~

Automotive SPICE 4.0 に関するコラム、今回は「システムコンテキスト」についてお届けいたします。 はじめに Automotive SPICE 4.0 でのシステム要求分析(SYS.2)プロセスにおけるポイントの一つとして、「システムコンテキスト」があります。その内容とシステムコンテキストへの影響を分析することの重要性について探ります。 Automotive 4.0におけるシステムコンテキスト システムコンテキストとは、検討中のシステムの「境界」を越えた外部のものを指す技術用語です。これが、システムコンテキストのイメージ図になりますが、システムの境界を越えた、システムとの相互作用、システムとの直接的または間接的なインタフェースをもつものがシステムコンテキストとなります。この図では、中央に示されたシステムと外部要素(ユーザー、規制、ハードウェアシステムなど)の相互作用が可視化されています。それぞれの要素がシステムに与える影響や、システムがそれらに与える影響を考慮することが重要です。 (V3.1)BP4:運用環境における影響の分析・ 運用環境における明記したシステムと他のエレメントとの間のインタフェースを識別する・ システム要件がこれらのインタフェースおよび運用環境に及ぼす影響を分析する (V4.0)BP4:システムコンテキストへの影響の分析・ システム要求が関連するシステムコンテキストのエレメントに与える影響を分析する V3.1では、BP4:運用環境における影響の分析、というのがシステムコンテキストを指していました。これがV4.0では、「システムコンテキストへの影響の分析」となり、V3.1よりも、「システムコンテキストのエレメントに、与える影響」を分析する、つまり、外部に与える影響を分析、というのをより明確にした表現になっています。例えば、車載電動モーターシステムのシステムコンテキストでは、車両のバッテリーシステム、制御ユニット、冷却システム等との相互作用が重要となります。 システムコンテキストに与える影響 では、具体的に、外部に対してどのような影響があるかというと、VDAガイドラインでは、次のような影響が考えられる、とあります。ユーザへの影響としては、HMI としてストレス、不快感や疲労など。他のメカトロニクスシステムへの影響としては、振動、音響、静電気、摩耗部品の断片など。他のコントロールデバイスへの影響としては、信号の品質、設計された取り付けスペースと矛盾するサイズなど、があります。そして、このような影響は、それぞれのエレメントの所有者にインプットする必要があります。 システムコンテキストはなぜ重要か システムコンテキストへの影響を分析する際は、まずシステム境界を明確にし、次に外部要素を洗い出し、各要素がシステムに与える影響(またはその逆)を定量的・定性的に評価します。その結果をもとに、システム要件の調整を行います。このシステムコンテキストの特定と、その影響分析が十分でないと、次のようなリスクが高くなります。・システム境界や相互作用の漏れによる問題発生リスク・設計段階での不具合検出遅延・修正コスト増大の可能性 そのため、この影響分析結果は、それぞれのエレメントの所有者にインプットする必要があります。その結果、その外部エレメントへの影響を考慮した場合に、システム要求そのものを変更する必要が出てくることもあるでしょう。例えば、電動モーターシステムの動作温度が、冷却システムの能力を超える熱を発生させる場合があると、モーター設計の発熱制限要件を見直し、冷却システムへの過剰な負荷を防ぐように調整する必要があります。 システムコンテキストの特定と影響分析の重要性は理解いただけたでしょうか?みなさんは、自分たちのプロジェクトでシステムコンテキストをどのように定義していますか? おわりに 今回のコラムはいかがでしたでしょうか?今後も数回にわたってAutomotive SPICE 4.0に関するコラムをお届けいたしますので、ご期待ください。(安部宏典)

コラム

SYS.3 のアーキテクチャ設計に関する Automotive SPICE v4.0 での主要変更点について

Automotive SPICE v4.0 のシステムアーキテクチャ設計プロセス(SYS.3 )に関して、Automotive SPICE v3.1 から SYS.3 の BP 構成やアウトプット成果物のイメージが変更されたので、その変化点について解説します。1.SYS.3 の基本プラクティス(BP)について Automotive SPICE v3.1 の SYS.3 のシステムアーキテクチャ作成に関する BP は以下の4個で構成されていました。BP1:システムアーキテクチャ設計書の作成BP2:システム要件の割り当てBP3:システムエレメントのインタフェースの定義BP4:動的な振る舞いの記述 ここでは BP1 がアーキテクチャ全体について記述している一方で、BP2、BP3、BP4 はアーキテクチャの側面を記述しています。 これによって、例えば BP1 が達成と評価されたにももかかわらず BP3 が未達成と評価された場合、BP1 達成と矛盾するため、混乱を招く恐れがありました。 上記混乱を防止するため、Automotive SPICE v4.0 のシステムアーキテクチャ作成に関する BP は2個に集約されました。BP1:システムアーキテクチャの静的な側面の仕様化BP2:システムアーキテクチャの動的な側面の仕様化2.SYS.3 の作業成果物(Automotuve SPICE v3.1)と情報項目(Automotive SPICE v4.0)について Automotive SPICE v3.1 ではエンジニアリング領域は SYS と SWE だけでしたので、システムアーキテクチャ設計のアウトプットである「作業成果物(04-06:システムアーキテクチャ設計書)」はシステムとソフトウェアを中心に記述されていました。 参考までに、Automotive SPICE v3.1 の作業成果物特性(04-06:システムアーキテクチャ設計書、17-08 インタフェース要件仕様書)を記載しておきます。 一方、Automotive SPICE v.4.0 では、エンジニアリング領域が SYS、SWE、HWE、MLE に拡張されたため、システムアーキテクチャ設計のアウトプットも、ハードウェアに関する、電気的、機械的(メカニカル)インタフェースの項目が追加されました。 参考までに、Automotive SPICE v4.0 の情報項目特性(04-06:システムアーキテクチャ)を記載します。 作業成果物と情報項目の違いについては、別コラムを参照して下さい 情報項目(04-06:システムアーキテクチャ)に基づいて、SWE 領域では情報項目(04-04:ソフトウェアアーキテクチャ)に、HWE 領域では情報項目(04-52:ハードウェアアーキテクチャ)に各々ブレークダウンして記載されています。 Automotive SPICE v3.1 の作業成果物であるインタフェース要件仕様書の作業成果物特性は、Automotive SPICE v4.0 ではシステムアーキテクチャの情報項目に記載されました。 MLE 領域に関するアーキテクチャは、Automotive SPICE v.4.0 では情報項目(04-51:ML アーキテクチャ)で追加されましたが、ML アーキテクチャはソフトウェアアーキテクチャのサブセットであるため、情報項目(04-06:システムアーキテクチャ)には記載されていません。Automotive SPICE v4.0 ではアーキテクチャに関する基本プラクティスが集約されたことでシンプル化され、理解し易くなったと思います。また、HWE 追加に伴ってシステムアーキテクチャの情報項目にハードウェアに関する項目が詳細に記載されたことで、SYS から SWE と HWE へとアーキテクチャ設計をブレークダウンする際に、これらの情報項目の記述内容はガイドラインとして活用できると思います。ご不明な点等あれば、弊社までお問合せください。 海農公宏

コラム

HWE(ハードウェアエンジニアリング)とメカニカルの境目について

ハードウェアとは?一般的な「ハードウェア」とは、本来金物類全般を示す英語だと思います。コンピューターなどの世界では、プログラム群をソフトウェアと呼んでいることに対して、コンピューターの機械設備をハードウェアと呼ぶ呼称が定着しているのかと思います。よって、HWE(ハードウェアエンジニアリング)と聞いた時に、ハードウェアの何を対象としたものだろうか?メカニカルは含まれるのか?と疑問に思われる方もいるのではないでしょうか。 HWE(ハードウェアエンジニアリング)の範囲とは?Automotive SPICEでは、HWEプロセスの技術範囲を「電気又は電子のハードウェアエンジニアリング」と定義していて、以下は除外するとガイドラインには記載されています。 システムレベルのエンジニアリング、すなわち、メカトロニクスレベルでもなく、ECUレベルでもない。※1 用語集の「ハードウェア」の提供も参照 調達 ※2 メカニカル又はハードウェアのサンプル製造 生産プロセスまた、別のコラムにも記載していますが、システムの範囲に関して、「階層的なシステム開発の例」として以下の記載があり、Housing(ハウジング)は、HWEには含まれていません。 ECUは制御デバイスであり、一般的にハードウェア、ソフトウェア、ケース、コネクタ等で構成されるため、ECUを開発するサプライヤには、SYSプロセスが適用可能である 完全に組み立てられたPCBを開発するサプライヤには、HWEプロセスを適用すべきである上記から、Hosingのケース(筐体)やコネクタの外観形状などは、HWEではなく、機械(メカニカル)設計の中の構造(筐体)設計に含まれるものと考え、上図の「Mechanical」は機械設計の中の機構設計になるものと考えています。 ※1:PAMの「1.2 用語」には、以下の記載があります。ハードウェア:アナログまたはデジタルの機能または操作を実行する、組み立てられ相互接続された電気的または電子的なハードウェアのコンポーネントまたは部品。※2:「調達」をHWEの対象外としている理由は以下の2点だとガイドラインに定義されています。・ハードウェア開発は要求主導型でもある。したがって、重要なのはHW又は機械部品がどのようなソースから入手されたかは関係ないため・調達に関して、予め定義された規格にはIATF16949があるため調達に対する「プロセスインターフェース」はHWE.2におけるBP「ハードウェア詳細設計の仕様化」の備考3を参考にして下さい。 良くある質問以下のような質問を受けることがあります。 ノイズ対策のためのシールド構造の部品は、HWEの対象になるのか Housing(ハウジング)に、コネクタ部品は対象になるのか。その場合、HWEの対象外になるのか このような質問に対しては「電気又は電子」に関わるものは、HWEの中で関与すべきと回答しています。例えば、電子ノイズシールド特性を持つ構造部品について、機械設計側では構造面(空間的な構造設計)は責任は持てますが、その部品の材質等までは判断が難しい場合があると思います。電子ノイズなどの電気又は電子に関わる外的影響要因に対する設計要求に関しては、電気電子設計担当から、機械設計担当へノイズシールドの必要性や材質等の要求を伝えることが必要だと思います。また、コネクタ部品に関しては、構造的な外観形状はHWEには入りませんが、電気的な特性の要素も含まれるため、電気電子設計側で、製品化されている既存部品などから選定し、構造的な外観形状情報を機械設定担当へ伝えて、構造的に許容されるか検討する進め方になっているのではないでしょうか。もしくは、逆に機構的な設計制約が強い場合は、外観形状を先に決定した上で、コネクタ部品を新たにカスタム設計することも必要な場合もあるかと思います。このようなハードウェアに対する影響分析の実施はHWE.1 BP4(運用環境への影響分析)に、影響を受ける関係者に伝達することはHWE.1 BP6(合意されたハードウェア要求および運用環境への影響の伝達)に記載されていると思いますので、単純に縦割りに分担するのではなく、互いに共有すべき情報を伝達し合いながら設計を進めることが重要なのかと思います。 さいごにいかがでしょうか。ハードウェアエンジニアリング(HWE)とメカニカルの境界に関して、判断に悩む部分があるかと思います。「電気又は電子」と「機械(構造)的」な両面を持つコネクタやケーブルなどの部品に関しては、それぞれの設計担当者間にて、協力し合い、Automotive SPICEでは対象外となっている生産、製造プロセスを考慮した分担にするなど、皆さんが開発する製品開発の現場に合った方法を検討されてみてはいかがでしょうか。鈴木 功