オープンソース活用研究所 | 本質的な組込みシステム品質改善のすゝめ ~人とツールの役割分担~

本質的な組込みシステム品質改善のすゝめ ~人とツールの役割分担~

オープンソース活用研究所

2016年10月11日
オープンソース活用研究所 所長 寺田雄一

2016年07月21日オージス総研東京本社会議室にて、「組込みシステムの品質を改めて考える(設計フェーズと実装フェーズでの対策)」セミナーが開催されました。

IoTやインダストリー4.0の普及が複雑化を加速させ、組込みシステムの品質を確保することが難しくなっています。組込みシステムの品質は、どのように確保すればよいのでしょうか?

セミナー第一部では、株式会社オージス総研組込みソリューション部部長補佐/シニアコンサルタントの阿左美 勝氏が講演されました。

メーカーのソフトウェアエンジニアとしてキャリアをスタートさせ、オージス総研でソフトウェアの品質改善コンサルタントとして経験を積んできた阿左美氏は、複雑化する組込みシステム開発の現場で数多くの経験を積んでこられました。

今回は、「本質的な組込みシステム品質改善のすゝめ~人とツールの役割分担~」というテーマで、組込みシステムの品質改善についての本質的な考え方を示されました。

本稿では、同講演のハイライトをオープンソース活用研究所所長 寺田雄一がレポートします。

複雑化が進む組込みシステムにおける品質とは?

組込みシステムのなかでもソフトウェアが複雑化し品質確保が難しくなってきている現状において、組込みシステムの品質はどのように確保すればよいのでしょうか?

まず、内部品質、外部品質を含めた組込みシステムの「品質」について、改めて振り返ってみましょう。

組込みシステムにおける「品質」は、JISで定義されています。JISで定義された「品質」とは、機能性、信頼性、使用性(ユーザビリティ)、効率性(性能)、保守性(メンテナンス性)、移植性という6種類の特性であり、さらにその下には、27種類の副特性が定められています。

オージス総研では上記6つの特性に加えて、自分たちが過去に作ったソフトウェアの別の製品での使いやすさを示す「再利用性」という独自の特性を観点に加えています。

スライド-ソフトウェア品質_JISX0129:2003

また6種類の品質特性のうち、機能性、信頼性、使用性、効率性を外部品質、保守性、移植性を内部品質と定義します。

外部品質はユーザーにどれだけ価値を提供できるかという視点での品質であり、内部品質は開発者に与える価値です。オージス総研では、再利用性も内部品質に加えています。

現場は、外部品質のみに対応する「対症療法」が蔓延している。

実際のところ、現場レベルでは、外部品質を満たすことだけで手一杯になり、余力がなくなっているケースが少なくありません。この状態を日常生活に例えるなら、ストレスからお菓子を食べてしまう状態に近いのではないでしょうか。お菓子を食べることで、その瞬間はストレスから開放されたような気分になりますが、これは、あくまでも対症療法に過ぎません。お菓子によって体重が増え、体重が増えるとさらにストレスも増加するというのが実態です。対症療法を行うことで、より悪い結果が導き出されることになるのです。いわゆる、負の連鎖です。

これを、実際の現場にあてはめて考えてみましょう。

障害が発生すると、取り急ぎ、目に見えるその障害を取り除くこと、つまり、外部品質を向上させることに注力します。その結果、手戻のコストなどが増えていくことになります。もしリリース後であれば、そのコストの増大はより大きくなります。

本質的な改善ではなく、目に見える症状だけを改善していく対症療法を繰り返すことで、ひいては内部品質にまでひずみが生じ、今まで機能していた品質が劣化してしまう副作用を引き起こすケースも少なくありません。

スライド-外部品質対症療法例

外部品質はCoverity、内部品質は人間が担うことで品質を確保。

実際のところ、本質的な品質改善の道は遠く、特に内部品質の改善は難易度の高い領域です。

それでも対症療法ではなく本質的な品質改善を目指すのであれば、内部品質と外部品質の内容と質を見極め、外部品質は極力ツールに、内部品質は人間に、といったように、それぞれの適正と役割を明確にすることが必要です。

たとえば、外部品質にCoverity(コベリティ)のようなツールを用いるという手法があります。Coverityは、実用的なバグ検知を実現し、短時間に大量のソースの品質を確保できるソースコード静的解析ツールです。人間に代わってCoverityがソフトウェアのソースコードをすべてチェックし、障害予測も行います。

Coverityによって外部品質が向上すれば、手戻コストと外部品質に費やしていた時間を削減できます。そして、この空いた時間を有効に使って、担当者は内部品質の向上に取組むことができるようになります。ツールと人間を、それぞれの適正によって役割分担させることで、本質的な品質の確保が期待できるのです。

人間とツールの得意分野を見極める。

難易度の高い内部品質を確保するためには、経験値のある人間の対応が必須となります。

そして、その時間とコストを安定させるため、外部品質の向上にCoverityのようなツールを導入するのです。ちなみにCoverityは、ソースコードレビューなどのタスクも得意としており、実装レベルでも役に立ちます。

人間とツールがそれぞれの得意分野に集中することによる恩恵は、品質の確保だけでなく、時間、コストといった効率化の意味でも意義深いことです。本質的な品質確保のために求められるのは、人間とツールの得意分野や役割を見極める視座なのです。

スライド-本質的な品質改善のために


OSSNEWSに広告を掲載しませんか?

著者プロフィール

オープンソース活用研究所 所長 寺田雄一

1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス 「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。

最新TOPICS

【10/26開催セミナー】『基本機能無料のIDaaS「SKUID」でOffice365など外部クラウドのパスワードを1つにまとめる』(2017年10月19日 08:45)

おはようございます、セミナー事務局の澁谷です。当セミナー、まだお席に余裕がありますので、再度のご案内です。 10月26日(木)10:30~12:30「基本機能無料のIDaaS「SKUID」でOffice365など外部クラウドのパスワードを1つにまとめる」と題したセミナーを行います。 当日は、パスワード使い回しのリスクや、その不安を解消してくれるツール「SKUID」についてのご案内を行います...

関連オープンソース

Gluu(グルー)

  • シングルサインオン

Gluu(グルー)とは、オープンソースの認証ソリューションです。アイデンティティおよびアクセス管理を行います。多くの認証プロトコルに対応しています。

OpenAM(オープンエーエム)

  • シングルサインオン

OpenAM(オープンエーエム)とは、オープンソースの認証ソリューションです。認証/アクセス認可/フェデレーションなどの高機能を備え、シングルサインオン機能を提供します。

Keycloak(キークローク)

  • シングルサインオン

Keycloak(キークローク)とは、シングルサインオン機能を提供するフレームワークです。「OAuth2」や「OpenID Connect」などの方式をサポートしており、「ソーシャルログイン」にも対応しています。

Snort(スノート)

  • セキュリティソフト

Snort(スノート)とは、ネットワーク型IDS(不正侵入検知システム)です。ネットワーク上を流れるパケットをキャプチャーして、不審なパケットの検出を行います。

WSO2 Identity Server(ダブルエスオーツー アイデンティティ サーバ)

  • シングルサインオン

WSO2 Identity Server(ダブルエスオーツー アイデンティティ サーバ)とは、シングルサインオンソリューションです。アプリケーション/API/クラウド/モバイル間で統合ID管理を行います。

LibreSSL(リブレ エスエスエル)

  • ネットワーク系ツール

LibreSSL(リブレ エスエスエル)とは、SSL/TLSプロトコルのオープンソース実装(通信用ソフトウェア)で、「OpenSSL」の派生改良版です。圧倒的シェアを持つが問題が多い「OpenSSL」を代替できるものとして期待されています。

Vuls(バルス)

  • セキュリティソフト

Vuls(バルス)とは、脆弱性スキャンツールです。Linux(FreeBSD)系OS/各種ミドルウェア/各種フレームワークなどに対する脆弱性存在を検査し、詳細情報をレポーティングします。

OpenSSH(オープンエスエスエイチ)

  • ネットワーク系ツール

OpenSSH(オープンエスエスエイチ)。ネットワーク経由通信を暗号化する「SSH」のオープンソース実装です。おもにUNIX/Linuxサーバに対するネットワーク経由でのリモートログインに使用します。

FreeRADIUS(フリーラディウス)

  • 認証サーバ

FreeRADIUS(フリーラディウス)。オープンソースの高機能RADIUSサーバです。認証用プロトコル「RADIUS」機能を実現するデファクトスタンダードとして広く使われています。

OpenSSL(オープンエスエスエル)

  • ネットワーク系ツール

OpenSSL(オープンエスエスエル)。オープンソースSSL/TLS暗号化ライブラリです。世界中のWebサイトで圧倒的シェアを持っており、事実上の業界標準となっています。

Apache DS(アパッチディーエス)

  • 認証サーバ

Apache DS(アパッチディーエス)。オープンソースのLDAP(ディレクトリ)サーバです。「Apache Directory」プロジェクトで開発されています。

389 Directory Server(389ディレクトリサーバ)

  • 認証サーバ

389 Directory Server(389ディレクトリサーバ)。オープンソースディレクトリサーバです。「Fedora Directory Server」の後継で、商用製品の流れを受けており、ユーザフレンドリーなGUIツールの充実などが特徴です。

OpenIDM(オープンアイディーエム)

  • ID管理

OpenIDM(オープンアイディーエム)。高い柔軟性と拡張性を備え、エンタープライズ/クラウド/モバイル/ソーシャル/レガシーなど多様な環境において、ユーザアカウントのプロビジョニングとライフサイクルの一元管理を実現するID管理製品です。

LISM(リズム)

  • ID管理

LISM(リズム)。シンプルな使いやすさが特徴のID統合管理ソリューションです。

OpenLDAP(オープンエルダップ)

  • 認証サーバ

OpenLDAP(オープンエルダップ)。最も多くの導入実績があり、ディレクトリサービスを提供するオープンソースLDAPサーバです。

OpenDJ(オープンディージェー)

  • 認証サーバ

OpenDJ(オープンディージェー)。OpenAMに内蔵されており、先進的なレプリケーションアーキテクチャや「REST API」を搭載したLDAP準拠の高機能オープンソースディレクトリサーバです。

バックナンバー

関連記事

無料資料プレゼント

フォレスターによる調査レポート「サービスとしてのデータベース (2017 年第 2 四半期)」AWS社提供

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • オープソース書籍(サイド)

facebook

twitter