クラウドコンピューティングのSaaSとPaaSとIaaSでできることの違い

前回の勉強内容

ponsuke-tarou.hatenablog.com

きっかけとなった試験問題

NISTの定義によるクラウドコンピューティングのサービスモデルにおいて,パブリッククラウドサービスの利用企業のシステム管理者が,仮想サーバのゲストOSに対するセキュリティパッチの管理と適用を実施可か実施不可かの組合せのうち,適切なものはどれか。

https://www.sc-siken.com/kakomon/29_haru/img/08.gif
情報セキュリティスペシャリスト平成29年春期 午前Ⅱ 問8

NISTは、クラウドコンピューティングの定義だけでなく、暗号技術の策定やインターネット時刻を提供するタイムサーバーの管理をしたりしています。

  • 正式 : National Institute of Standards and Technology
  • 日本語 : アメリカ国立標準技術研究所

NIST(アメリカ国立標準技術研究所)は、アメリカの技術革新や産業競争力を強化するために、経済保障を強化して生活の質を高めるように計測学、規格、産業技術を促進することを目的とする機関です。
平成31年春期問80 技術仕様をRFCとして策定している組織|基本情報技術者試験.com

クラウドコンピューティングは、インターネット経由でコンピュータやデータベースやストレージ・アプリケーションなどが使えるサービスのことです。

クラウドクラウドコンピューティング)」とは、クラウドサービスプラットフォームからインターネット経由でコンピューティング、データベース、ストレージ、アプリケーションをはじめとした、さまざまな IT リソースをオンデマンドで利用することができるサービスの総称です。
クラウド (クラウドサービス) とは?|AWS

f:id:ponsuke_tarou:20220408192359j:plain

SaaSは、アプリケーションソフトウェアの機能を,必要なときだけ利用者に提供するサービスのことです。

サービス(a service)としての(as)ソフトウエア(software)、英語で「Software as a Service」、略して「SaaS」、「サース」と読みます。

ユーザは基盤にあるインフラストラクチャを、ネットワークであれ、サーバーであれ、オペレーティングシステムであれ、ストレージであれ、各アプリケーション機能ですら、管理したりコントロールしたりすることはない。
情報セキュリティスペシャリスト平成29年春期 午前Ⅱ 問8

Officeアプリを提供する「Microsoft 365」、オンライン会議ができる「Zoom」、Webメールの「Gmail」、グループウェアの「Kintone」とSaaSは身近にたくさんあります。

SaaSを説明したものはどれか。

  1. インターネット経由でアプリケーションソフトウェアの機能を,必要なときだけ利用者に提供するサービスのこと << 正解
  2. 企業の経営資源を有効に活用するために,基幹業務を統合的に管理するためのパッケージソフトウェアのこと
  3. 既存の組織やビジネスプロセスを抜本的に見直し,職務,業務フロー,管理機構,情報システムを再設計すること
  4. 発注者とサービス提供者との間で,サービスの品質の内容について合意した文書のこと

出典 : 平成24年 秋期 基本情報技術者試験 午前問63

システムの構築を行わずに済み,アプリケーションソフトウェア開発に必要なセキュリティ要件の定義やシステムログの保存容量の設計が不要となります。

利用者側は、サービス提供事業者の構築したシステムの機能を利用することになります。したがってファイアウォールの設定や不正アクセスの管理、ソフトウェアアップデート、およびセキュリティパッチの適用などのシステム自体のセキュリティ管理から解放される利点があります。
平成28年春期問41 SaaSを利用時のセキュリティ管理|基本情報技術者試験.com

被監査企業がSaaSをサービス利用契約して業務を実施している場合、被監査企業のシステム監査人がSaaSの利用者環境からSaaSへのアクセスコントロールを評価できるのはアプリケーションの利用者IDとなります。

SaaSでは、OSやハードウェア、DBMSなどのミドルウェアを直接操作することはありません。サービスの利用者は、付与された利用者IDを使用してSaaS提供業者のWebアプリケーションにアクセスし、サービスを使用するだけです。
情報セキュリティスペシャリスト平成25年秋期 午前Ⅱ 問25

f:id:ponsuke_tarou:20220408192420j:plain

PaaSでは、OSやネットワークなどのプラットフォームが提供されるのでアプリケーション開発がすぐできるようになります。

  • 正式 : Platform as a Service

ユーザは基盤にあるインフラストラクチャを、ネットワークであれ、サーバーであれ、オペレーティングシステムであれ、ストレージであれ、管理したりコントロールしたりすることはない。
情報セキュリティスペシャリスト平成29年春期 午前Ⅱ 問8

プロバイダとカスタマがそれぞれおう責務

カスタマの責任者
  1. アプリケーションに対して、データのアクセス制御と暗号化を行う。
  2. アプリケーションに対して、セキュアプログラミングを脆弱性診断を行う。
クラウドサービスプロバイダ
  1. DBMSに対して、修正プログラムの適用と権限設定を行う。
  2. OSに対して、修正プログラム適用と権限設定を行う。
  3. ハードウェアに対して、アクセス制御と物理セキュリティ確保を行う。

PaaSを利用すると,プラットフォームの管理やOSのアップデートは,サービスを提供するプロバイダが行うので,導入や運用の負担を軽減することができます。

サービス提供事業者は開発環境などのミドルウェア以下を提供する。利用者は用意したアプリケーションをミドルウェア上で稼働させる。ミドルウェアにおける設定(カスタマイズ)が可能。
平成29年秋期問14 クラウドサービスのメリット|基本情報技術者試験.com

f:id:ponsuke_tarou:20220408192451j:plain

IaaSは、サーバや回線などの基盤部分から自由に設定できます。

  • 正式 : Infrastructure as a Service

仮想サーバのゲストOSに係るセキュリティの設定までできます。

ユーザは基盤にあるインフラストラクチャを管理したりコントロールしたりすることはないが、オペレーティングシステム、ストレージ、実装されたアプリケーションに対するコントロール権を持ち、場合によっては特定のネットワークコンポーネント機器(例えばホストファイアウォール)についての限定的なコントロール権を持つ。
平成28年春期問42 IaaSでは実施できるものはどれか|応用情報技術者試験.com

インフラストラクチャは、ガスや電気みたいな基盤となる設備や要素のことです。

インフラのことです。
e-words.jp

f:id:ponsuke_tarou:20220408192536j:plain

次回の勉強内容

ponsuke-tarou.hatenablog.com

品質管理で使われる図

前回の勉強内容

ponsuke-tarou.hatenablog.com

きっかけとなった試験問題

発生した故障について,発生要因ごとの件数の記録を基に,故障発生件数で上位を占める主な要因を明確に表現するのに適している図法はどれか。

ア. 特性要因図  イ. パレート図  ウ. マトリックス図  エ. 連関図
平成31年春期問74 主な要因を明確にするのに適した図法|応用情報技術者試験.com

パレード図は、出現度数の大きさを順に並べて、主要な原因を識別するとこに使用されます。

https://www.sk-quality.com/qc7/pareto.gif
パレート図~品質管理の知識

http://meat29.sakura.ne.jp/sblo_files/quality-labo/image/E38391E383ACE383BCE38388E59BB3-thumbnail2.jpg
パレート図: 品質管理研究所 〜実務で役立つ品質管理、品質保証〜

メリット

  • どの項目がもっとも問題かを見つけることができる。
  • 問題の大きさの順位が一目で分かる。
  • ある項目が全体のどの程度を占めているかを知ることができる。
  • どの項目とどの項目を改善すれば,不具合をどの程度解決できるかが分かる。
  • 問題の大きさが目で理解できるために説得力がある。
品質改善策の立案に際し、原因別の不良発生件数を分析し、優先取組みテーマを選択するときに活用できます。

パレート図は、値の大きい順に分析対象の項目を並べた棒グラフと、累積構成比を表す折れ線グラフを組み合わせた複合グラフで、主に複数の分析対象の中から、重要である要素を識別するために使用します。
平成26年春期問76 パレート図|応用情報技術者試験.com

パレート図で、「品質問題を解決するために図を作成して原因の傾向を分析したところ,全体の80%以上が少数の原因で占められていることが判明した」りします。

https://www.ap-siken.com/kakomon/25_haru/img/53.gif
平成25年春期問53 パレート図|応用情報技術者試験.com

項目別に層別して出現度数の大きさの順に並べるとともに累積和を示した図であり、主要な原因を識別するために用います。

パレート図を用いた分析手法であるABC分析では、頻度の高いものから、Aグループ、Bグループ、Cグループのようなグループ分けをすることにより、資源の配分を適切に管理することができます。
https://www.ap-siken.com/kakomon/23_toku/img/53.gif
平成23年特別問53 パレート図の用途はどれか|応用情報技術者試験.com

管理図は、不良品などの件数や損失金額を原因別に分類し、数値の大きい順に並べてその累積値によって改善効果の高い項目を把握することに使用されます。

  • 別名 : シューハート管理図
  • 「同じ人」、「同じ機械」、「同じ材料」、「同じやり方」でも製品の品質には「ばらつき」が生じます。その「ばらつき」は、原因を調べても意味がない「偶然原因のばらつき(許しえるばらつき)」なのか「異常原因によるばらつき(見逃せないばらつき)」なのかを判定するために用いられるツールです。

管理図は、工程の状態や品質を時系列に表した図で、工程が安定した状態にあるかどうかを判断するために用います。
例えば日ごとに不良品の個数を記録していき、統計的に求めた上方管理限界と下方管理限界を超えた位置に値が記録された場合には、その日に何らかの異常が発生していることがわかります。
平成17年秋期問76 管理図を説明したものはどれか|基本情報技術者試験.com

https://hinkai.com/gif/kanri.gif
品質改善.com - ・管理図

管理図といっても幾つか種類があって、管理する内容によって使い分けます。

  • x管理図 : 長さ、重量、時間、硬さ、純度など
  • pn管理図 : 不良数(個数)
  • u管理図 : 単位が一定でないものの欠点数

http://www.ab.cyberhome.ne.jp/~t-nojima/rqc/image/pn_4.gif
RQE Home Page

管理図の特徴は上下にある線です。

  • 上の線 : UCL(上方管理限界, Uper Cntrorl limt)
  • 下の線 : LCL(下方管理限界, Lper Cntrorl limt)
  • この線の算出方法は管理図の種類で違うよう。

見方として以下を確認して「異常原因によるばらつき」を見つけ出します。

  1. 2つの限界線からはみ出していないこと
  2. 真ん中にある中心線より片側に偏っていないこと
プロセスが安定しているかどうか,又はパフォーマンスが予測のとおりであるかどうかを判断するために用います。

管理図は、工程の状態や品質を時系列に表した図であり,工程が安定した状態にあるかどうかを判断するために使用されます。
統計的に求めた上限管理境界と下限管理境界があり、それらを超えた位置にプロットがあれば何らかの異常が発生していることがわかります。
https://www.ap-siken.com/kakomon/24_aki/img/54.gif
平成24年秋期問54 管理図|応用情報技術者試験.com

散布図は、相関関係を調べたい2種類のデータの関係を図に表したものです。

データ群がどの方向に分布するかで分析します。

https://www.sk-quality.com/qc7/sanpuzu.gif
散布図~品質管理の知識

データ群が右上がりに分布する傾向がある(相関係数 > 0)関係:正の相関がある

f:id:ponsuke_tarou:20190905215115p:plain
正の相関
平成22年秋期問77 負の相関を示すものはどれか|基本情報技術者試験.com

データ群が右下がりに分布する傾向がある(相関係数 < 0)関係:負の相関がある

f:id:ponsuke_tarou:20190905215231p:plain
負の相関
平成22年秋期問77 負の相関を示すものはどれか|基本情報技術者試験.com

相関係数は、「どれぐらい類似しているか」を-1以上1以下の数字として表現したものです。

まず、相関というのは2つ以上のものがあるときに、「どれぐらい類似しているか」ということを意味します。
そして、相関係数とは「どれぐらい類似しているか」を-1以上1以下の数字として表現したものです。

相関係数は-1~1の間の実数値をとり、-1に近ければ負の相関、1に近ければ正の相関があるといいます。0に近いときには2項目間の相関は弱くなります。
ちなみに負の相関といっても正に比べて関連性が弱いわけではありません。正負の方向は相関の強さには関係なく、より相関係数の絶対値の高いものが強い相関性であることを示します。
平成22年秋期問77 負の相関を示すものはどれか|基本情報技術者試験.com

プログラムのステップ数が多くなるほどステップ当たりのエラー数も多くなる傾向があるように見受けられた時にデータを分析するのに使います。

縦軸、横軸に2項目の量や大きさ等を対応させ、そのグラフ上にデータを打点した図です。変数間の相互関係を表すのに役立ちます。
平成29年秋期問76 散布図|応用情報技術者試験.com

f:id:ponsuke_tarou:20190905220141p:plain
那須にいたさる

次回の勉強内容

ponsuke-tarou.hatenablog.com

お金からプロジェクトを管理するアーンドバリューマネジメント

前回の勉強内容

ponsuke-tarou.hatenablog.com

きっかけとなった試験問題

ある組織では,プロジェクトのスケジュールとコストの管理にアーンドバリューマネジメントを用いている。期間10日間のプロジェクトの,5日目の終了時点の状況は表のとおりである。この時点でのコスト効率が今後も続くとしたとき,完成時総コスト見積り(EAC)は何万円か。
https://www.ap-siken.com/kakomon/31_haru/img/52.gif

ア. 110  イ. 120  ウ. 135  エ. 150
平成31年春期問52 アーンドバリューマネジメント|応用情報技術者試験.com

アーンドバリューマネジメントは、プロジェクト作業を金額に置き換えて定量的に実績管理をするプロジェクト管理手法です。

  • 略称 : EVM
  • 英語 : Earned(金を得る) Value Management

各指標値を折れ線グラフにして管理します。

f:id:ponsuke_tarou:20190826222759j:plain
縦軸はコスト、横軸は時間

PVは、プロジェクト開始当初に現時点までに計画されていた作業に対する予算です。

BACは、プロジェクト完了までにかかる予算です。

  • 英語 : Budget(予算) At Completion
  • 日本語 : 当初予算

完了時のPVの予算のことです。

f:id:ponsuke_tarou:20190826224155j:plain
計画当初の予算

EVは、現時点までに完了した作業に割り当てられていた予算です。

f:id:ponsuke_tarou:20190826225132j:plain
実績

EV - PV」で求められる予定と出来高の差分をSVといいます。

  • 英語 : Schedule Variance(相違)
  • 日本語 : スケジュール差異

SVが0より大きい場合は、作業が予定より進んでいることになります。
SVが0未満の場合は、進捗遅れになります。

ACは、現時点までに完了した作業に対して実際に投入した総コストです。

  • 英語 : Actual Cost

EACは、現在の状態のまま続けた場合のプロジェクト終了時の総コストの予測値です。

  • 英語 : Estimate(見積もり) At Completion
  • 日本語 : 完成時総コスト見積り

完了時のEVの予測値になります。

ETCは、残作業を終わらせるのに必要な総コストの予測値です。

  • 英語 : Estimate(見積もる) To Complete
  • 日本語 : 残作業に要するコスト

完了済作業から残作業を割り出し、その残作業を終わらせるのに必要なコストです。

AC + ETC = EAC」となります。

(今まで使ったコスト:AC) + (残っている作業に必要なコスト:ETC) = (今のまま続けた場合に完了までかかるコスト:EAC) という感じです。

EV - AC」で求められる、予定と実際にかかったコストの差分をCVといいます。

  • 英語 : Cost Variance(相違)
  • 日本語 : コスト差異

CVが0より大きい場合は、予定よりコスト少なめで進んでいるということです。
CVが0未満の場合は、コストが超過しているということです。

f:id:ponsuke_tarou:20190826230854j:plain
実際に投入したコスト

EV ÷ AC」で求められる、今まで使ったコストに対する出来高の比率をCPIといいます。
  • 英語 : Cost Performance(出来高) Index(指数)
  • 日本語 : コスト効率指数
「(BAC - EV) ÷ CPI = ETC」となります。

(完了までの予定コスト:BAC) - (現在の出来高:EV) = 残作業
残作業 ÷ CPI = (残りの作業で必要なコスト:ETC)

f:id:ponsuke_tarou:20190826232936j:plain
試験問題の回答

f:id:ponsuke_tarou:20190826233030j:plain
ある日のいちごパンケーキ

次回の勉強内容

ponsuke-tarou.hatenablog.com

働き方改革を支えるかもしれないVPNで安全な通信を

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

インターネット接続において,複数のISPの回線を使用した冗長化構成を表す用語はどれか。

ア. IP-VPN
イ. インターネットVPN
ウ. 広域イーサネット
エ. マルチホーミング << 正解
平成31年春期問32 複数のISPの回線を使用した冗長化構成|応用情報技術者試験.com

VPNとは、仮想の暗号化されたネットワークを用いる技術です。

  • 正式 : Virtual Private Network
  • 日本語 : 仮想専用線、仮想専用ネットワーク

のぞき見や改ざんなどの不正アクセスを防ぎ、安全な通信を可能にするために使用します。

https://www.kagoya.jp/howto/wp-content/uploads/kagoya1811-1.jpg
【入門】VPNとは?仕組みから設定方法までわかりやすく解説 - カゴヤのサーバー研究室

VPNには、大きく分けてインターネットVPNIP-VPNの2種類があります。

種類 使用するネットワーク
インターネットVPN インターネット
IP-VPN 通信事業者が用意した閉塞網
インターネットVPNは、インターネット上に専用線を構築するVPNです。

物理的に専用線を引いた場合、セキュリティはとても強固になるものの高額な費用がかかります。
そこで、インターネット上で暗号化された仮想の専用線を構築しすることでセキュリティを高めます。

IP-VPNは、閉塞網を利用するVPNです。
  • IP-VPNの別名 : クローズドVPN
  • 閉塞網の別名 : 閉域網

閉塞網は、通信事業者が独自に構築した専用ネットワークです。
そのため、通信事業者と契約を結んだユーザのみが使用できます。

パケットに新しいヘッダを付け加えてカプセル化して、通信を行うトンネル技術が使用されます。

具体的には、PPTPL2TPなどが使われています。
ponsuke-tarou.hatenablog.com

盗聴や改ざんなどを防止するために、暗号化技術が使用されています。

トンネリングだけではデータの内容は見えてしまうのでパケットを暗号化して伝送するための暗号化技術も合わせて使われています。
具体的には、IPsecやTSLが使われています。
ponsuke-tarou.hatenablog.com
ponsuke-tarou.hatenablog.com

f:id:ponsuke_tarou:20190823173658j:plain
黒姫山

次回の勉強内容

ponsuke-tarou.hatenablog.com

VPNを支えるトンネル技術

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

VPNで使用されるセキュアなプロトコルであるIPsecL2TPTLSの,OSI基本参照モデルにおける相対的な位置関係はどれか。
https://www.ap-siken.com/kakomon/31_haru/img/42.gif
平成31年春期問42 IPsec,L2TP,TLSの位置関係|応用情報技術者試験.com

VPNとは、仮想の暗号化されたネットワークを用いてセキュリティを高める技術です。

ponsuke-tarou.hatenablog.com

VPNの仮想ネットワークではトンネル技術が重要となります。

https://network.yamaha.com/var/site/storage/images/8/7/7/4/124778-1-jpn-JP/01_vpn_using.jpg
VPNとは

f:id:ponsuke_tarou:20200930223243j:plain
那須岳の牛が首

トンネル技術は、ネットワーク上の2つの拠点間を仮想の回線で接続してカプセル化したデータを送る技術です。

https://tech.nikkeibp.co.jp/it/atcl/column/17/011900625/011900006/ph01.jpg?__scale=w:500,h:268&_sh=0bf0950b05
トンネリングとカプセリングは何が違う? | 日経クロステック(xTECH)

2点間で仮想の経路を確立してデータを送受信できるようにするPPPという通信プロトコルがあります。

  • 正式 : Point to Point Protocol

OSI参照モデルの第2層であるデータリンク層で動作します。

第7層 アプリケーション層
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層
第3層 ネットワーク層 <- IP
第2層 データリンク層 <- PPP
第1層 物理層

PPPには、ユーザ認証機能やエラー処理を行う機能があります。
認証機能にはPAP(Password Authentication Protocol)やCHAP(Challenge Handshake Authentication Protocol)などのプロトコルが使用されます。
OSI参照モデルの第3層であるネットワーク層にあるIPには認証機能がないためトンネル技術ではPPPの認証機能を利用します。

WANを介して二つのノードをダイヤルアップ接続するときに使用されるプロトコルで,リンク制御やエラー処理機能をもつものはどれか。

答. PPP
平成26年春期問32 PPP|応用情報技術者試験.com

PPPを利用するプロトコルには大きく3つあります。

PPTPは、「送信元PC」と「受信側サーバ」間をGREによるカプセル化を利用して通信を行います

Microsoft、Lucent Technologies、3Comなどが共同で開発したトンネリング技術です。

第7層 アプリケーション層
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層 <- TCP
第3層 ネットワーク層 <- IP
第2層 データリンク層 <- PPP / PPTP
第1層 物理層

https://beginners-network.com/image/vpn_pptp_1.gif
PPTP - ネットワーク入門サイト

「送信元PC」のことをPAC(PPTP Access Concentrator)といいます。
Windows OSのマシンがPACとなることが一般的です。

「受信側サーバ」のことをPNS(PPTP Network Server)といいます。
Windows NT Server 4.0/Windows 2000 Server/Windows Server 2003にはPNSとなる機能が搭載されています。

パケットを別のプロトコルカプセル化するトンネルプロトコルであるGRE(Generic Routing Encapsulation)を利用します。

https://i2.wp.com/kazunetproject.site/wp-content/uploads/2019/05/gre1-2.jpg?w=693
GRE Tunnel の概要 〜基礎編〜 | ネットワークエンジニアの小学校

L2Fは、UDPを利用するトンネル技術ですが現在はあまり使われていません。

第7層 アプリケーション層
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層 <- TCP / UDP
第3層 ネットワーク層 <- IP
第2層 データリンク層 <- PPP / PPTP / L2F
第1層 物理層

L2TPは、PPTPL2Fをあわせたトンネル技術です。

データリンク層で動作する送信情報を運ぶトンネリングプロトコルです。

第7層 アプリケーション層
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層 <- TCP / UDP
第3層 ネットワーク層 <- IP / IPsec
第2層 データリンク層 <- PPP / PPTP / L2F / L2TP
第1層 物理層

https://beginners-network.com/image/vpn_l2tp_ipsec_1.gif
L2TP/IPsec - ネットワーク入門サイト

https://tech.nikkeibp.co.jp/it/atcl/column/14/346926/122000744/ph01.jpg?__scale=w:500,h:290&_sh=0bf08e0940
アップルのPPTP終了が製品/サービスに影響 | 日経クロステック(xTECH)

「送信元PC」のことをLAC(L2TP Access Concentrator)といいます。
「受信側サーバ」のことをLNS(L2TP Network Server)といいます。

1つのトンネルで複数ユーザのセッションを取り扱えるため広く利用されています。
PPTPでは1つのトンネルにつき1つのセッションしか取り扱えませんでした。

L2TPは暗号化技術がないため、暗号化技術であるIPsecをあわせて使用します。

トンネル技術のL2TPネットワーク層で動作する暗号化技術であるIPsecをあわせて、L2TP/IPsecといいます。
ponsuke-tarou.hatenablog.com

最後に

f:id:ponsuke_tarou:20190823225554p:plain
OSI参照モデルにおける各プロトコルの位置
f:id:ponsuke_tarou:20190823170703j:plain
黒姫山

次回の勉強内容

ponsuke-tarou.hatenablog.com

設計書レビューの種類を理解しよう

前回の勉強内容

ponsuke-tarou.hatenablog.com

レビューの種類についての過去問

作業成果物の作成者以外の参加者がモデレータとして主導すること,及び公式な記録,分析を行うことが特徴のレビュー技法はどれか。

ア. インスペクション > 正解
イ. パスアラウンド
ウ. ウォークスルー
エ. ペアプログラミング
平成24年春期問47 レビュー技法|応用情報技術者試験.com

インスペクションは、公式性の高いプロセスやルール・役割分担が決まっているレビュー技法です。

  • 英語 : inspection
  • 英和:精査,点検,検査; (書類の)閲覧. (ɪnspékʃən )
  • 別名 : ソフトウェアインスペクション

目的は欠陥を発見すること
以下のことを行う
a) 仕様を満たしていることの検証
b) 既定の品質を満たしていることの検証
c) 適切な規則・標準・ガイドライン・計画・仕様・やり方に従っていることの検証
d) a)-c)の結果が逸脱していないことの確認
e) Collects software engineering data (for example, anomaly and effort data)
f) 集めたsoftware engineering dataをチェックリストや検証の材料に使う
g) 発見した欠陥の修正をする
h) プロジェクト管理において適切な決定ができるようにインスペクションの結果を使えるよ う 記録 す る
IEEE 1028 Software Review and Audit

目的は、欠陥を発見すること。
他のレビューとは以下が違う
1. プロジェクトや企業の決まりに従う
2. 対象はサンプリングする
3. モデレータが管理を行う
4. インスペクションのノウハウがあるモデレータが先導する
5. インスペクションチームのメンバーが気付いた欠陥や他の意見についてモデレータ指揮の元話し合う
SWEBOK V3

ピアレビューの一種。ドキュメントの目視検査により、欠陥を検出する方法。
これにより、たとえば、開発標準の違反や、上位レベルドキュメントへの準拠違反が見つかる。最も公式なレビュー技術なので、必ず、文書化された実施基準に従って進める。
JSTQBソフトウェアテスト標準用語集

目的 : 欠陥の検出

設計仕様書やコーディングしたプログラムのロジックを第三者が検証し、誤りや問題点を検出することである。
インスペクションとは (inspection): - IT用語辞典バイナリ

メリット

  • 開発者本人が気づきづらい問題点を洗い出すことができる
  • プログラムなどを実際に動作させてみるテストでは検知できない潜在的な不具合を見つけることができる場合がある
  • コーディングルールに対する違反や極めて限定された条件でしか発生しない誤動作に繋がる問題点が検出される

役割

  • モデレータ(インスペクションリーダ) : 進行を主導し、インスペクション作業全体を統括する
    • モデレータにより、参加者の選定や、個々の役割の規定などが行われる
  • マネージャ : 実施のスケジュールを立て、レビューの目的が適切かどうかを判断する
  • レビューア(チェッカー/インスペクタ) : ある特定の技術やバックグラウンドを持ち、レビューを行う
    • 専門的ノウハウのある人
    • いろいろな分野や、レビュープロセスの役割を代表する人
    • 例えば・・・
      • プロジェクトや開発対象に関して一般的な知識しか持たないが、インスペクションの豊富なノウハウを持つ人
      • 法務やセキュリティーの専門知識をもっている他部門
  • 記録係 : レビューで取り上げた全ての課題・問題点・未解決事項を記録する
  • 他にも進行役等が設けられることもある

ルール

  • 実施計画立案では、実施タイミングや対象だけではなく「結果をどう使うか」まで決める
    • 例) 結果は対象ドキュメントの品質向上に使う
    • 例) 実施結果を工程移行の判定に使う
    • 例) プロジェクト完了後のプロセス改善のための会議のインプットに使う
  • 検出した欠陥をログに保管し、修正が行われたことを追跡調査する
  • インプット : ドキュメント
    • 企画書、プリセールスの提案書、プロジェクト計画書、要件定義書、各種設計書、ソースコード、バグ票、テスト計画書などあらゆる文書
  • アウトプット : 対象ドキュメントに含まれていると指摘された欠陥のリスト

f:id:ponsuke_tarou:20190806232933p:plain

ウォークスルーは、作成者がレビュー対象を説明しレビュー対象者にコメントを求める形式で進行するレビュー技法です。

  • 英語 : walkthrough

インスペクションに準じる公式なソフトウェアレビューに位置付けられることが多い。
ウォークスルーは、レビューを希望する作成者が数人のレビューアを招集、成果物の内容を順に説明する形式をとる。それに対してレビューアは、説明を通じて対象を追跡・検証し、その誤りや矛盾、抜け漏れなどを指摘するというのが大まかな流れである。
ウォークスルー(うぉーくするー) - ITmedia エンタープライズ

ドキュメントの著者による段階的なドキュメント内容の説明。情報を集めて、内容の共通理解を確立するために行なう。
ソフトウェアテスト標準用語集

目的 : 設計上の誤りを早期に発見すること と 設計の共通理解

設計上の誤りを検出するために作成者と複数の関係者が設計書をレビューします。
要求段階や設計段階の初期には,エンドユーザ (利用者) にも参加してもらうこともあります。
また、関係者間での使用上の共通理解を得ることができる。

メリット

  • ミーティングで指摘や意見が得られる
  • ウォークスルーの開催を前提にすれば、作成者は成果物を作る段階からそれが読まれること、他人に説明することを意識する
  • 作成者はミーティングで自身の考えを論理を説明する作業を通じて、自分自身で問題点や矛盾点に気付く場合もある
  • 解決策は、会議終了後に成果物作成者が自分で考えるので、会議の時間を短縮できる

ルール

  • 作成者が主体となって開催する
  • 指摘された内容は文書化するが、欠陥を修正するか否かについては作成者の責任として、ミーティングでは取り扱わない
  • 作成者はミーティングの終わりに指摘項目を読み上げ、追加の問題点やコメントの有無を確認する。

デザインレビューは、各設計工程において次の工程に向けて成果物を複数人でチェックするレビュー技法です。

  • 英語 : DesignReview
  • 略称 : DR

デザインレビューとは、開発における成果物を、複数の人にチェックしてもらう機会のことで、JIS(日本工業規格)やISO(国際標準化機構)9000シリーズにおいて定義されている設計審査のことである。
デザインレビューとは何? Weblio辞書

上司や管理者が参加すると設計者への評価へつながるため、出席すべきではないとされている。
情報処理教科書 応用情報技術者 テキスト&問題集 2018年版(日高哲郎)|翔泳社の本

目的 : 設計の工程ごとに設計品質の評価と各工程が終了したかどうかを判断する

レビュー対象が内部設計書であれば、外部設計書との一貫性の検証と要件定義の内容を満たしていることの確認を行う。
各設計工程ごとに成果物の問題点の早期発見を行うことで、後工程の作業をスムースにしてシステムの最終的な品質を高めることにつなげる。

メリット

各フェーズにおける仕様書や設計書、プログラムなどの成果物を第三者の目(営業、経理、購買、生産管理、品質保証など)でレビューすることにより、開発者の視点では漏れてしまう内容を精査して、品質を確保することを目的としている。<省略>
デザインレビューの参加者が、成果物について指摘し合うことにより、現在起きている問題やプロジェクトの進捗状況などの情報を共有することができるため、設計審査のみならず情報共有手段としても有効である。
デザインレビューとは何? Weblio辞書

f:id:ponsuke_tarou:20190823171232j:plain
黒姫山

次回の勉強内容

ponsuke-tarou.hatenablog.com

寝るまでにざっくり知っとくRDSって何?

BOSSから「RDSへ切り替えてみてもらえませんか?」と言われました。
懇親会でほろ酔いのまま「明日、やってみます!」と答えました。
はい、めちゃめちゃ知ったかしました、RDSがなんだかわかりません。
寝るまでにざっくり確認してみました。

RDSは、AWSのサービスでリレーショナルデータベースを管理できます。

  • 正式 : Amazon Relational Database Service

Amazon RDS はマネージド型リレーショナルデータベースで、データベースエンジンを Amazon AuroraMySQLMariaDBOracleMicrosoft SQL ServerPostgreSQL といった一般的な 6 種類のエンジンから選択できます。
特徴 - Amazon RDS | AWS

リレーショナルデータベースを管理するソフトウェアをまとめてRDBMSといいます。

RDBMSとはリレーショナルデータベースを作る・使うためのソフトウェアであり、以下のような特徴があります。

・データの整合性を維持しやすい。
・簡単にデータを参照・更新できるSQLという専門用語がある。
・信頼性のある更新処理を実現するトランザクション機能がある。
・障害発生時でも格納したデータが容易に失われない。
・セキュリティ・チューニングなど多くの周辺機能がある。
データベース初心者でも分かるRDBMSの基本~JPOUG Oracle Database入学式レポート | geechs magazine

RDSは、クラウド上のRDBMSです。

自分たちでせっせとサーバを用意してラックと置き場所を用意して・・・とか不要です。
AWSのEC2インスタンスでDBサーバ作ってインストールやら管理を頑張って・・・をRDSというDB専門サービスで楽にできちゃうみたいです。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png
チュートリアル: ウェブサーバーと Amazon RDS データベースの作成 - Amazon Relational Database Service

AWSのコンソール画面でボタンをポチポチするだけでRDBの作成から管理まで出来ちゃいます。

https://d1.awsstatic.com/icons/jp/handson/secure-scalable/phase2/ss-handson-086.7f70334480ce55eb75d04e451c941b085497671c.jpg
フェーズ 2-3: Amazon RDS インスタンスを作成 - スケーラブルなウェブサイトの構築方法 | AWS

作ったあとでスケーリングも簡単にできるそうです。

e-words.jp

自動でスケーリングすることさえできるそうです。

https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F354022%2F8978bbb2-f2a7-e220-830d-68b3148902eb.png?ixlib=rb-1.2.2&auto=compress%2Cformat&fit=max&w=1400&s=1f7459ecc5c8b44b236c6262b2e7ea11
【AWS】RDS自動スケーリングが発表されたけど注意事項があるので検証した話 - Qiita

自動バックアップだって設定で出来ちゃいます。

docs.aws.amazon.com

どうやれば起動するんだろう・・・・

RDSは、使ったら使った分お金がかかります、だからきっと明日の朝は停止していることが予想されます。
明日の朝、どうやれば起動するかを知っときます。
aws.amazon.com

方法1. AWS コマンドラインインターフェース (CLI)のstart-db-instanceコマンドを使う

AWS CLIのインストールやらが必要そうなのでまた今度。
docs.aws.amazon.com

方法2. Amazon RDS アプリケーションプログラミングインターフェイス (API)のStartDBInstanceアクションを使う

そもそもAmazon RDS APIの使い方すらわからないのでまた今度。
docs.aws.amazon.com

方法3. AWS Toolkit for Visual StudioAWS Explorerを使う

今回、Visual Studioを使っていないので記録程度。
docs.aws.amazon.com

方法4. コンソール画面でボタンをポチポチする

一番簡単な方法がなぜかなかなか見つからない自分の検索センスの無さに驚きです。

  1. f:id:ponsuke_tarou:20190805221400p:plain
    Amazon RDS コンソールを開きます。
  2. f:id:ponsuke_tarou:20190805221241p:plain
    ナビゲーションペインで、[データベース] を選択し、
  3. 開始する DB インスタンスを選択します。
  4. f:id:ponsuke_tarou:20190805221558p:plain
    [アクション] で [開始] を選択します。

docs.aws.amazon.com

接続情報ってどこにあるんだろう・・・

起動できてもアプリやDBクライアントツールに設定する情報がわからないと困ります。

接続ユーザーとパスワードはRDSインスタンス作成時に指定しているので作成者に聞きます。

流石にそこまでコンソールでは見られないと思います。

https://d1.awsstatic.com/icons/jp/handson/secure-scalable/phase2/ss-handson-080.7ecbc8f8f202a528aba511e6ce09b3001e37d2d8.jpg
フェーズ 2-3: Amazon RDS インスタンスを作成 - スケーラブルなウェブサイトの構築方法 | AWS

最後に

明日、なんとか使えそうなぐらいには調べました。
本当に使えるようにはRDSはおろかAWSRDBの知識もめちゃめちゃ足りません。
少しずつこのページを更新していきたいものです。

f:id:ponsuke_tarou:20190805224722j:plain
とある日

次の日

調べたとおりにRDSを起動できました。

コンソールで確認したエンドポイントとポート番号を使ってみる。

pingコマンドで名前解決できているか見てみます。
# pingは通らなくても名前解決できていることがわかりました。
$ ping {確認したエンドポイント}

ec2-12-345-678-90.ap-northeast-1.compute.amazonaws.com [12.345.678.90]に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。

12.345.678.90 の ping 統計:
    パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
クライアントツールで接続してみます。

f:id:ponsuke_tarou:20190806093944p:plain
A5:SQL Mk-2で接続してみる
f:id:ponsuke_tarou:20190806094124p:plain
接続できました。

iptablesはファイアウォールとパケット転送ができる

iptablesでポート転送の設定をして」と言われました。

AWSのCentOS6に「他のインスタンスに転送できるようにiptablesの設定をして」と言われました。
何?iptablesって?

iptablesは、Linuxに搭載されていてパケットのルールを設定できます。

http://smilejapan.net/wiki/index.php?plugin=ref&page=iptables%E3%81%A8%E3%81%AF%EF%BC%9F&src=iptables-1.gif
iptablesとは? - SMILE JAPAN WIKI

CentOS7からファイアウォールは、iptablesからfirewalldへと変更されました。

qiita.com

設定はコマンドと設定ファイルを書く方法があります。

コマンドで設定する時

iptables [-t テーブル] [コマンド] [チェイン] [条件] [ターゲット]

設定ファイルを書いて設定する時
設定ファイルの場所 : /etc/sysconfig/iptables

$ sudo cat /etc/sysconfig/iptables
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp --dport 54321 -j DNAT --to-destination 10.0.1.1:1521
-A PREROUTING -p tcp -m tcp --dport 54322 -j DNAT --to-destination 10.0.1.2:80
-A POSTROUTING --dst 10.0.1.1 -p tcp -m tcp --dport 1521 -j SNAT --to-source 10.0.1.3
-A POSTROUTING --dst 10.0.1.2 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.0.1.3
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

受信したパケットはChainというルートを通って処理されます。

https://eng-entrance.com/wp-content/uploads/2016/07/chain.png
【丁寧解説】Linuxファイアウォール iptablesの使い方

https://oxynotes.com/wp-content/uploads/iptables01.png
コピペから脱出!iptablesの仕組みを理解して環境に合わせた設定をしよう | OXY NOTES

https://cacoo.com/diagrams/zWJRlTb4nFY0UoYy-B6C43.png
iptablesの設定 入門編 - Murayama blog.

Chainの種類
名前 設定できるテーブル 説明
INPUT filter, magnle 入ってくるパケットについてのチェイン
OUTPUT filter, nat, magnle 出てゆくパケットについてのチェイン
FORWARD filter パケットを転送についてのチェイン
PREROUTING nat, magnle 受信時にアドレスを変換するチェイン
POSTROUTING nat 送信時にアドレスを変換するチェイン

iptablesは、ポートフォワードとして使用するパケット転送機能もあります。

natテーブルに設定します。

ponsuke-tarou.hatenablog.com

設定ファイルでは「*nat」に書きます。

*nat
ここに設定を書く
COMMIT

iptablesで見かけたNATって何?

iptablesでNATテーブルってあるけどこれ何?

iptablesがさっぱり不明な状態で「iptablesを設定してポートフォワードできるよにする」必要があったのでiptablesが有効になっているか確認したらTable: natって出力がありました。

$ sudo /etc/rc.d/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

NATはプライベートIPアドレスとパブリックIPアドレスを組合せで変換してくれます。

  • 正式名称 : Network Address Translation

https://camo.qiitausercontent.com/441f211d0a460bec29f4270ddbf1c0e090e92ef5/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3136303939332f35316164306362612d643864632d616665302d336334632d6534356563643761313462332e706e67
https://camo.qiitausercontent.com/84807767dd8cb6eac4c67e33b3e4e59a37db3d84/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3136303939332f38363661663661312d396164382d636336612d643431392d3735623237623835653239322e706e67
NATに関して可能な限り分かりやすくまとめて見た。 - Qiita

https://www.infraexpert.com/studygif/tcpipz36.gif
NAT( Network Address Translation )とは

変換するプライベートIPアドレスとパブリックIPアドレスの組合わせを管理してくれるのがNATテーブルです。

http://blog-imgs-70.fc2.com/a/y/u/ayufishing/rtxnat02s.png
NAT の理解は芋づる式 - インフラまわりのプロになりたい

https://www.infraexpert.com/studygif/tcpipz38.gif
NAT( Network Address Translation )とは

LAN内からインターネットへ出ていく時に送信元のプライベートIPアドレスをパブリックIPアドレスに変換してくれるのがソースNAT
  • 略称 : SNAT
  • 英語 : Source NAT
  • 別名 : 送信元NAT

https://camo.qiitausercontent.com/cbec96ed61552c11e57cc9770f4e8b3641124298/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3136303939332f37343331323764392d663461622d313838632d653331362d3136323264336339363336302e706e67
NATに関して可能な限り分かりやすくまとめて見た。 - Qiita

インターネットからLAN内にアクセスする時に送信先のパブリックIPアドレスをプライベートIPアドレスに変換してくれるのがデスティネーションNAT

https://camo.qiitausercontent.com/ef453e42301d02cee6a9a09ccdcb4d23283112b8/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3136303939332f37336534346230332d326262392d323635622d656566622d6264343164313239613233352e706e67
NATに関して可能な限り分かりやすくまとめて見た。 - Qiita

NATは、プライベートIPとパブリックIPを1対1の組合せで変換します。

プライベートIPはたくさん作れるけどパブリックIPをたくさん用意するのは大変です。

パブリックIPアドレスはタダじゃありません。

http://blog-imgs-70.fc2.com/a/y/u/ayufishing/rtxnat03s.png
NAT の理解は芋づる式 - インフラまわりのプロになりたい

そこで、IPマスカレード

  • 別名 : NAPT
  • 正式名称 : Network Address Port Translation
複数のプライベートIPを1つのパブリックIPに組合せられます。
なぜなら、IPアドレス+ポート番号で組合せるからです。

https://camo.qiitausercontent.com/8f2cd04f50b039a3a1af1eaef3ccc851c7977029/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3136303939332f32373462393962622d396330372d303663362d623431622d6465353030343230363166352e706e67
NATに関して可能な限り分かりやすくまとめて見た。 - Qiita

https://www.h323.jp/wp/wp-content/uploads/napt.jpg
MCU入門 第9回 NAT/FW トラバーサル③– NAT/FW トラバーサルの仕組み “NATとは” – MCU製品情報サイト VC.info

https://mo.kerosoft.com/pub/mo/image/iptables/.thumbnail/iptables-nat2.png.jpg
NAT箱の192.168.1.30:1234宛に届いたパケットを、10.0.2.50:80へ投げるというNATを書く。
# iptables -t nat -A PREROUTING -m tcp -p tcp --dst 192.168.1.30 --dport 1234 -j DNAT --to-destination 10.0.2.50:80
"10.0.2.50:80宛のパケットは、NAT箱の10.0.2.40というアドレスに付け替えてから送信する"というルールを書く。
# iptables -t nat -A POSTROUTING -m tcp -p tcp --dst 10.0.2.50 --dport 80 -j SNAT --to-source 10.0.2.40
NATのPREROUTINGを通って変換されたアドレスに対して許可ルールを書いておく。
# iptables -A FORWARD -m tcp -p tcp --dst 10.0.2.50 --dport 80 -j ACCEPT
戻りのパケットも許可する
# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptablesで特定のポートを別のホストへ転送する方法 - Kerosoft : Modus Operandi

コンピュータ化システムバリデーションの基礎となるGMP省令の3大目的

コンピュータ化システムバリデーションを勉強するとGMPという単語をよく見かけました。

ponsuke-tarou.hatenablog.com

GMPとは、日本における「医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令」のことです。

  • 英語 : Good Manufacturing Practice
  • 日本語 : 適正製造規範

ざっくりいうと「安心して製品を使えるようにやらなければならないこと」です。
GMPは、医療分野以外にも食品などの製造業でも使われます。
日本の製薬・医療業界では「医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令」を指すことが多いです。
この省令は、GMP省令とも言います。
「医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令」は薬事法の14条に基づいています。
14条では「医薬品等の製造販売の承認」に始まり承認の基準や審査について記載されています。

GMPは、医薬品製造業における製造管理と品質管理の基準です。

健康食品や化粧品にも適用される基準です。

省令を読んでもよくわかりません。

書いてある文字列が難しくてよくわからないので、GMPを説明しているサイトと合わせて学びます。

誰が作業しても、いつ作業しても、必ず同じ品質・高い品質の製品をつくるために、医薬品製造業者が守るべきルールです。

目的を達成するためにやること

https://www.urethanegel.jp/blog/wp-content/uploads/2018/07/GMP.jpg
GMPって何?|医薬品の品質管理を分かりやすく!

(ハード)薬を作る製造所の環境や設備

GMP省令ではこんな感じで書いてあります。

(構造設備)
第九条 製品の製造所の構造設備は、次に定めるところに適合するものでなければならない。
 一 手順書等に基づき、その用途に応じ適切に清掃及び保守が行われ、必要に応じ滅菌され、また、その記録が作成され、保管されていること。
 二 製品等により有毒ガスを取り扱う場合においては、その処理に要する設備を有すること。
 三 作業所のうち作業室は、製品の種類、剤型及び製造工程に応じ、じんあい又は微生物による汚染を防止するのに必要な構造及び設備を有していること。ただし、製造設備等の有する機能によりこれと同程度の効果を得られる場合においては、この限りでない。
 四 作業所のうち、原料の秤量作業、製品の調製作業、充てん作業又は閉そく作業を行う作業室は、当該作業室の職員以外の者の通路とならないように造られていること。ただし、当該作業室の職員以外の者による製品への汚染のおそれがない場合においては、この限りでない。
 五 飛散しやすく、微量で過敏症反応を示す製品等又は交 叉さ 汚染することにより他の製品に重大な影響を及ぼすおそれのある製品等を製造する場合においては、当該製品等の関連する作業室を専用とし、かつ、空気処理システムを別系統にしていること。
 六 製品の製造に必要な質及び量の水(設備及び器具並びに容器の洗浄水を含む。)を供給する設備を有すること。
・医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令(◆平成16年12月24日厚生労働省令第179号)

間違いを防ぐことができること

フェールセーフ/フェールプルーフに似ています。
医療系のシステム開発では、設計段階から「ユーザ操作に間違いがあったら?」の目線が必要になりますね。

https://resilient-medical.com/wp-content/uploads/2017/10/s_2d8b5cd55b5a69bb2da5907ef37c47c6-600x500.jpg
https://resilient-medical.com/wp-content/uploads/2017/10/s_1a761dab43bbde6360d38e147bf4de04-600x500.jpg
https://resilient-medical.com/human-error/fail-safe-fool-proof

衛生的であること
高い品質を保ち続けることができること

システム開発では品質を保つために色んな種類のテストを実施します。
医療系のシステム開発ではこれがより厳しく求められることになります。

(ソフト)人によるルールの運用

https://www.temahimado.co.jp/img/gmp_09.gif
GMPとは?│にんにく卵黄通販サイト てまひま堂

http://www.tokyo-eiken.go.jp/assets/pharma/hinshitu/image/gmp_003_2.gif
誰でもわかる簡単GMP (3)考え方の基本〜ルールを決めて書類にする・実行する・見直す・改善する〜

ルールを決めてそれを書類に残すこと

GMP省令では作る手順書の種類を具体的に決めています。
医療系のシステム開発では、仕様書や手順書の作成が重要となります。

(手順書等)
第八条 製造業者等は、製造所ごとに、構造設備の衛生管理、職員の衛生管理その他必要な事項について記載した衛生管理基準書を作成し、これを保管しなければならない。
 2 製造業者等は、製造所ごとに、製品等の保管、製造工程の管理その他必要な事項について記載した製造管理基準書を作成し、これを保管しなければならない。
 3 製造業者等は、製造所ごとに、検体の採取方法、試験検査結果の判定方法その他必要な事項を記載した品質管理基準書を作成し、これを保管しなければならない。
 4 製造業者等は、前三項に定めるもののほか、製造管理及び品質管理を適正かつ円滑に実施するため、次に掲げる手順に関する文書(以下「手順書」という。)を製造所ごとに作成し、これを保管しなければならない。
  一 製造所からの出荷の管理に関する手順
  二 バリデーションに関する手順
  三 第十四条の変更の管理に関する手順
  四 第十五条の逸脱の管理に関する手順
  五 品質等に関する情報及び品質不良等の処理に関する手順
  六 回収処理に関する手順
  七 自己点検に関する手順
  八 教育訓練に関する手順
  九 文書及び記録の管理に関する手順
  十 その他製造管理及び品質管理を適正かつ円滑に実施するために必要な手順
 5 製造業者等は、製品標準書、衛生管理基準書、製造管理基準書、品質管理基準書及び手順書(以下「手順書等」と総称する。)を製造所に備え付けなければならない。
・医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令(◆平成16年12月24日厚生労働省令第179号)

ルール実行するための手順書をSOPともいいます。

SOP(Standard Operating Procedures)とは標準業務手順書の略称で、治験の際に必ず守るべき基本的な業務手順をまとめた手順書。
SOPとは | 製薬業界 用語辞典 | Answers(アンサーズ)

ルールの実行結果を記録に残して証拠にすること

GMP省令には「記録を作成し、これを保管すること」がたくさんあります。
医療系のシステム開発では、エビデンスをきっちりと残して管理する必要があります。

(製造管理)
第十条 製造業者等は、製造部門に、手順書等に基づき、次に掲げる製造管理に係る業務を適切に行わせなければならない。<省略>
 三 製品の製造に関する記録をロットごと(ロットを構成しない製品については製造番号ごと。以下同じ。)に作成し、これを保管すること。
 四 製品の資材についてロットごとにそれが適正である旨を確認するとともに、その結果に関する記録を作成し、これを保管すること。
 五 製品等についてはロットごとに、資材については管理単位ごとに適正に保管し、出納を行うとともに、その記録を作成し、これを保管すること。
 六 構造設備の清浄を確認するとともに、その結果に関する記録を作成し、これを保管すること。
 七 職員の衛生管理を行うとともに、その記録を作成し、これを保管すること。
 八 構造設備を定期的に点検整備するとともに、その記録を作成し、これを保管すること。また、計器の校正を適切に行うとともに、その記録を作成し、これを保管すること。
・医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令(◆平成16年12月24日厚生労働省令第179号)

内容を見直して検討・改善していくこと

手順の作成と記録だけではなく、定期的に記録をチェックして状況や環境の変化に合わせた改善が必要になります。

(製造管理)
第十条 製造業者等は、製造部門に、手順書等に基づき、次に掲げる製造管理に係る業務を適切に行わせなければならない。<省略>
 九 製造、保管及び出納並びに衛生管理に関する記録により製造管理が適切に行われていることを確認し、その結果を品質部門に対して文書により報告すること。
・医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令(◆平成16年12月24日厚生労働省令第179号)

国や会社によってばらつきがあります。

ざっくり似ていても世界各国全く同じ基準ではありません。

PIC/Sでは、GMP基準の国際化を目指しています。

  • 正式 : Pharmaceutical Inspection Convention and Pharmaceutical Inspection Co-operation Scheme
  • 日本語 : 医薬品査察協定及び医薬品査察共同スキーム

PIC/Sは、GMPの分野で共通の基準を設け、各国の査察官にトレーニングの機会を提供することによって、世界中の査察基準を整合させることを目指しています。
PIC/Sの基礎知識。PIC/S GMPとは?PIC/Sの目的や成り立ちは? | コラム | 平原エンジニアリングサービス│医薬品施設のエンジニアリング

GMPの歴史

  • 1961年 サリドマイドの薬害について報告される
  • 1963年 (アメリカ)FDA(アメリカ食品医薬品局)が、連邦食品・医薬品・化粧品法に基づいて医薬品等の製造品質管理基準を定めた
  • 1969年 世界保険機関がWHO-GMPを制定し、加盟国に対して医薬品貿易においてGMPに基づく証明制度を採用・実施するように勧告
  • 1980年 (日本)薬事法改正に伴い「医薬品GMP」施行
  • 1990年 (日本)「原薬GMP」施行
  • 1994年 (日本)「医薬品GMP」「原薬GMP」を合わせた「医薬品の製造管理及び品質管理規則」施行し、これが製造業の要件となった
  • 1995年 PIC/S設立
  • 2005年 (日本)「医薬品及び医薬部外品の製造管理及び品質管理規則」が「医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令」へ改正され、製造販売承認の要件となった
  • 2014年 日本がPIC/Sに加盟

WebLogic Serverって何?

WebLogic Serverは、Java EEに準拠したWebアプリケーションサーバです。

https://www.unisys.co.jp/solution/tec/software/weblogic/s33drt000007gu0r-img/img_02.gif
多階層型Javaアプリケーションを実現する統合プラットフォーム Oracle WebLogic Server【日本ユニシス】

買収を経てOracle社が作っています。

  • 歴史
    • 1990年代 WebLogic社が開発
    • 1998年 BEA Systems社が買収
    • 2008年 Oracle社が買収

https://www.fujitsu.com/jp/Images/wls-history_tcm102-2266170.jpg
Oracleミドルウェア製品 Oracle WebLogic Server : 富士通

Java EE は、Javaシステム開発するための標準仕様です。

ponsuke-tarou.hatenablog.com

JPAって何?

JPAは、リレーショナルデータベースを使う時用のJavaフレームワークの仕様の定義です。

http://terasolunaorg.github.io/guideline/5.5.1.RELEASE/ja/_images/dataaccess_jpa_mapping.png
6.3. データベースアクセス(JPA編) — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.5.1.RELEASE documentation

Java EEだけではなくJava SEでも使えます。

JPAJava EEの「Enterprise Application Technologies」に含まれる技術仕様ですが、Servlet/JSPEJBなどと異なり、コンテナ・ベースのアーキテクチャを採用していないためJava SEでも利用可能です。
JPAの基礎1 - Qiita

データベースとJavaを関連付けてくれます。

https://builder.japan.zdnet.com/storage/2015/07/07/8ffc3bda4c104f848f0979154e31cfd1/image5.png
初めてのJPA--シンプルで使いやすい、Java EEのデータ永続化機能の基本を学ぶ - builder by ZDNet Japan

JPAは以下3つの要素から構成されています。

Entityクラスは、データベースにあるテーブルを表すJavaのクラスです。

データベースにある1つのテーブルの1レコードを表すクラスです。
このクラスのインスタンス
データを格納してテーブルを更新したり、
テーブルから取得したデータを格納して使います。

永続性コンテキストは、Entityクラスのインスタンスを集めたものです。

この永続性コンテキストとJPQL*1を使用してデータベースへの問合せを行います。

EntityManagerは、Entityのライフサイクルを管理するためのAPIを提供するインタフェースです。

https://builder.japan.zdnet.com/storage/2015/07/07/13f730bf2cc2d33fca20efa3b6979098/image6.png
初めてのJPA--シンプルで使いやすい、Java EEのデータ永続化機能の基本を学ぶ - builder by ZDNet Japan

JPAの実装

EclipseLink
Hibernate ORM : JPAの仕様作成にHibernateプロジェクトの創始者がいたため、JPAHibernateの影響を受け継いでいます。
Apache Open JPA

*1:Java Persistence Query Language : SQLに似た問合せ言語

アプリケーションサーバとJava EE

アプリケーションサーバ

  • 英語 : Application Server

ビジネスロジックなどを実装したアプリケーションソフトウェアを実行することを専門とするコンピュータネットワーク上のサーバコンピュータ、もしくはそのようなコンピュータ上でのアプリケーションの実行を管理補助するミドルウェアのこと。
ウェブアプリケーションサーバは、ウェブクライアントからのHTTPのレスポンス要求を処理するWebサーバとバックエンドのデータベース中核層への橋渡しを担い、データの加工などの処理を行う。
プログラムの実行環境やデータベースへの接続機能、複数の処理を連結するトランザクション管理機能などを持ち、業務の処理の流れを制御するビジネスロジックを実装しているのがアプリケーションサーバである。
旧来の、クライアントやバックエンド側にビジネスロジックを実装する方式(2階層システム)に比べ、システムの変更や更新、増強などが容易で、柔軟性が高い。

f:id:ponsuke_tarou:20190604224300p:plain
親水公園の猫

アプリケーションサーバのいろいろ

Java EE アプリケーションサーバは、「Java EEに準拠したアプリケーションサーバ」のこと

たとえば・・・
WebLogic*1JBoss、WebSphere、GlassfishCosminexusGeronimoiPlanetOracle 9iAS

.NETフレームワークに準じたアプリケーションサーバ

たとえば・・・
Internet Information Services (IIS) 、Base4アプリケーションサーバZope

その他のアプリケーションサーバ

Java EE以外の言語セット・フレームワークを使用し、ビジネスロジックを実装し得るアプリケーションサーバ

f:id:ponsuke_tarou:20190604224332p:plain
花壇の豆

Java EE は、Javaシステム開発するための標準仕様です。

  • 正式 : Java Platform, Enterprise Edition

Java拡張機能セット
コミュニティ主導のエンタープライズ・ソフトウェアの標準です。Java EEJava Community Processを使って開発されており、業界の専門家、営利団体オープンソース団体、Javaユーザー・グループ、さらに数え切れないほど多くの個人が貢献しています。
技術リソース | Oracle 日本

JavaでWebアプリケーションを中心とした業務アプリケーションを構築するために選定された数々の仕様と、その実装
Java EE 6 環境の構築 (1/4):CodeZine(コードジン)

サーバー中心の複数層アプリケーションの開発、デプロイおよび管理にかかるコストと複雑さを大幅に削減する組織的なテクノロジのセットを含み、広く使用されているプラットフォーム(標準仕様)です。Java EEJava SEプラットフォーム上にビルドされ、移植可能、堅牢、スケーラブル、信頼性、およびセキュリティに優れたサーバー側アプリケーションを開発および実行するための一連の API を提供します。
Java EEおよびJava Webの学習

規定されている機能

Java Servlet
  • サーバ上でウェブページなどを動的に生成したりデータ処理を行うために、Javaで作成されたプログラム及びその仕様
  • (Java EE 7) JSR-340
Java Server Pages ( JSP)
  • HTML内にJavaのコードを埋め込んでおき、Webサーバで動的にWebページを生成してクライアントに返す技術
  • Javaのコードは、<%と%>記号で囲まれた部分に書かれる(スクリプト言語チックにJavaを書く)
  • JSR-53

Java Servletとの違いは、記述方法にあり!
例えば、画像を表示する・・・

  • Java Servlet : Javaプログラムと同様に作成
    • out.print("<img src=\"/img/" + img.getName() + "\">");
  • JSP : HTMLにタグをつけて入れ込む
    • < img src="/img/<%= img . getName ( ) %>">

他にもいろいろ比較して特徴を知ろう!
出展 : JSPの特徴を理解する:Tomcatを使う「JSPプログラミング」(1) - @IT

比較対象 JavaScript JavaScript Java Applet*2 CGI*3 CGI CGI
同じところ HTMLにタグを入れて使う - - 実行するところ - -
違うところ - 実行するところ 実行するところ - 使えるプログラム言語 起動の仕方
JSPの場合 <% %> サーバ側 サーバ側 サーバ側 Java 複数アクセスがあっても1度起動していればその内部で実行
比較対象の場合 <script> </script> クライアント側 クライアント側(アプレット自体はサーバにおいてあるが使う時にクライアントに持って行って実行する) サーバ側 特定のプログラミング言語に依存しない(JavaでもCでもどんとこい) アクセスがあるたびに新しいプロセス起動
Java Server Faces ( JSF)

JSFコンポーネントベースのフレームワークであり、Strutsなどのアクションベースとは異なります。
https://www.dcom-web.co.jp/wp-content/uploads/2015/06/img_dcom_jsf1_19.jpg
【JavaEE】今からでも間にあうJSF入門

Java Naming and Directory Interface ( JNDI)
  • ネーミング・サービス / ディレクトリー・サービス を扱うためのインターフェイスを規定した仕様
  • ディレクトリ・サービスが提供するデータやオブジェクトを名前で発見し、参照するのためのAPI
  • 他システムに対するインターフェースであり、具体的な実装からは独立している
  • サービス・プロバイダ・インターフェース(SPI)が規定されており、フレームワークディレクトリ・サービスの実装をプラグインすることができる
  • ディレクトリ・サービスの実装はサーバでもフラットファイルでもデータベースでもよく、サービスの提供側が任意に選択できる
  • JSR-907
Java Transaction API ( JTA)
JPAは、リレーショナルデータベースを使う時用のJavaフレームワークの仕様の定義です。

ponsuke-tarou.hatenablog.com

ほかにもいろいろあります。

f:id:ponsuke_tarou:20190604230702p:plain
花壇のクレソン

*1:ponsuke-tarou.hatenablog.com

*2:クライアント側のWebブラウザ上で動作するJavaのプログラムです。 ブラウザは読み込んだHTML文書内に、アプレット読込を指示する記述があると、サーバに対してアプレットのプログラムを送るよう要求します。 要求を受信したサーバは、クライアントにプログラムを返します。 クライアントは、アプレットプログラムを受け取り、Webブラウザ上で実行します。

*3:e-words.jp

*4:e-words.jp

ストアドプロシージャって何?

ストアドプロシージャは、データベースへの複数処理を1つのプログラムにまとめたものです。

  • 英語 : stored procedure
    • stored : サーバー上に保管(ストア)されるという意味

e-words.jp

https://image.itmedia.co.jp/ait/articles/1703/10/si_plsql-01-1b.jpg
PL/SQLとは何か プログラムの特徴と基本構造を理解する (1/2):超入門「PL/SQL」(1) - @IT

プログラムは専用言語で書きます。

規格またはRMDB 言語
(標準SQLの規格)SQL99 SQL/PSM
Persistent Stored Module
Oracle Database PL/SQL
Procedural Language Extensions to SQL
Microsoft SQL Server Transact-SQL
T-SQL

ストアドプロシージャの友達にストアドファンクションがいます。

ストアドプロシージャは、戻り値がありません。

ストアドプロシージャやストアドファンクションを使うと複数処理を1回でできるので実行速度が早くなります。

https://2.bp.blogspot.com/-iovzQkOLg90/W986Mda8_uI/AAAAAAAByPw/fATEQTmMGskdtHKo6PtP0s3Y5Fg56P5bACLcBGAs/s640/2018-11-04_11h25_09.png
https://1.bp.blogspot.com/-lVOmCKoIt7U/W987oFnsvNI/AAAAAAAByQQ/id2tbYS86b8gpgw3K3vM0UhJg51tmtwBACLcBGAs/s640/2018-11-04_11h32_48.png
Oracle ストアド・プロシージャとストアド・ファンクションの基本と違い|Everything you do is practice


f:id:ponsuke_tarou:20190603204533j:plain
栃木県八幡自然研究路

コンピュータ化システムバリデーションってなんだろう?

ピュータ化システムバリデーションは、製薬業界や医療機器業界で使われる品質保証のことです。

  • 英語 : Computerized System Validation
  • 略称 : CSV

一般工業製品の品質保証となぜ分けているのか?

一般工業製品の場合は「価格」と「品質」が比例します。
安ければある程度の不良は許容されます。

医薬品は、生命にかかわるため不良は許容されないから

医薬品の場合は「価格」にかかわらず「不良」は許容されません。
そのため、世界的にCSVへの取組が求められています。

日本医療機能評価機構のサイトでシステムに関わる医療事故を見ることができます。

日本医療機能評価機構のサイトから「分析テーマ」で「その他」を選ぶと見られます。
www.med-safe.jp

GMP省令が基礎となっています。

ponsuke-tarou.hatenablog.com

GMPの対象のうち製薬や医療に関わるコンピュータ化システムが対象になります。

医療機器に組み込まれるシステムだけではなく、文書を管理するシステムまで
医療に関わる広範囲のシステムが対象になります。

2. 適用の範囲
このガイドラインは、コンピュータ化システムを使用してGQP省令及びGMP省令が適用され る業務を行う製造販売業者等に適用する。
このガイドラインの対象となるコンピュータ化システムの例として、(1)~(7)が考えられる。また、対象外となるコンピュータ化システムは別紙2に記載する。
(1) 医薬品、医薬部外品市場への出荷の可否の決定に係るシステム及び市場への出荷に係る記録を 作成、保存管理するためのシステム
(2) 製造指図書、製造に関する記録等を作成及び保存管理するためのシステム
(3) 製造工程を制御又は管理するためのシステム及びその管理データを保存管理するためのシステム
(4) 原材料及び製品の保管、出納等の生産を管理するシステム
(5) 品質試験に用いる機器を制御又は管理するためのシステム並びに品質試験結果及び管理データを保存管理するためのシステム
(6) 空調、製造用水製造設備など、製品の品質に重大な影響を及ぼす可能性のある製造支援設備・施設を制御又は管理するためのシステム及びその管理データを保存管理するためのシステム
(7) 文書(手順書類、品質標準書、製品標準書等)を作成、承認、保存管理するためのシステム
医薬品・医薬部外品製造販売業者等におけるコンピュータ化システム適正管理ガイドライン

バリデーションとは、製造工程及びその手順を検証して文書化することです。

検証を行い証拠となる文書を作成することにより、継続的に証拠を積み上げ高度な品質を保証していくことをバリデーションといいます。

「バリデーション」とは、製造所の構造設備並びに手順、工程その他の製造管理及び品質管理の方法が期待される結果を与えることを検証し、これを文書とすることをいう。
医薬品及び医薬部外品の製造管理及び品質管理の基準に関する省令

差分の機能仕様書や設計仕様書を作成してはならない。
最新の当該システムの機能がどうなっているかを一瞥して分かるようにしておかなければならないのである。<省略>
計画書、報告書、仕様書等は、最新バージョンのみをバインダーに綴じておかなければならない。
それに対して、テストスクリプトやテストログは全てのバージョンをバインダーに綴じておかなければならない。
なぜならば、最新のテストログのみを綴じておくとすべてのテストが合格しているからである。
規制当局のレビュでは、成功したテストを調査したいのではなく、エラーになったテストを参照し、解決された経緯を調査したいためである。
https://ecompress.co.jp/wp-content/uploads/2018/08/11.png
【ワンポイント】CSVにおける成果物の種類と管理方法 – eCompress

バリデーションの対象となるのは、開発したシステム自体だけではなくそれを使用する業務プロセスも含みます。

コンピュータ化されたシステム(Computerized System)とは、「コンピュータシステム」と「業務プロセス」を統合したものである。
「コンピュータシステム」は、ハードウェアとソフトウェアから構成され「業務プロセス」は、人、標準業務手順書(SOP)と、設備(例えば測定機器、CRF、筆記具など)から構成される。
コンピュータバリデーションとは イーコンプライアンス

https://jpn.nec.com/process/pharma/images/validatin02.jpg
GxP規制対応・CSVコンサルティングサービス: 製薬ソリューション | NEC

目的は、システムが意図したとおりに動作することを保証することです。

「医薬品、医薬部外品、化粧品及び医療機器の品質管理の基準に関する省令」及びGMP省令に基づく業務を行うためのコンピュータ化システムの要件を明確にし、
コンピュータ化システムが意図したとおりに動作することを保証するため、これを開発する際に必要な事項、これを検証するバリデーションに関する事項及び運用管理に関する遵守事項を定め、GQP省令及びGMP省令の適正な実施の確保を図ることを目的とする。

このガイドラインにおいては、コンピュータ化システムの開発から、検証、運用管理及び廃棄までの流れを総合してコンピュータ化システムのライフサイクルという。

f:id:ponsuke_tarou:20190726160605j:plain
コンピュータ化システムのライフサイクルモデル
医薬品・医薬部外品製造販売業者等におけるコンピュータ化システム適正管理ガイドライン

薬や医療機器の品質保証のために、システムの開発から導入および廃棄までを検証・文書化します。

CSVで重要なことは、開発から廃棄までを検証して証拠として文書を残すことです。
それによって薬や医療機器の品質に問題がないことを保証します。

http://www.ymc.co.jp/design/img/chromato/technicalguide/gmp_support/img_0002.png
GMPサポート・メンテナンス|分取LCシステム|株式会社ワイエムシィ

f:id:ponsuke_tarou:20190726221720j:plain
カテゴリ分類表と対応例
医薬品・医薬部外品製造販売業者等におけるコンピュータ化システム適正管理ガイドライン

CSVではドキュメントがたくさん必要となるため、ユーザ企業とシステムを作る企業の間で成果物のイメージに相違がないことを確認することが作業量のズレ防止に大きく繋がります。

サプライヤが、ユーザ企業から CSV 活動のサポート(アウトソーシング)に関する見積依頼を受けた際に困る点を次に例示する。
●漠然とした要求で何をサポートして欲しいのかがよくわからない
●ユーザ企業とサプライヤの役割分担と責任範囲が明確になっていない
CSV に関する規範が明確になっていない
CSV を行うコンピュータ化システムに関する情報が不十分である

(省略)

サプライヤが精度の高い見積を行う上で最低限必要な情報を、次に示す。
●当該コンピュータ化システムがどの規制に準拠すればよいのか
CSV 活動はユーザ企業の規定あるいはサプライヤの方法に任せるのか
●当該コンピュータ化システムの GAMP のカテゴリ分類、システム規模や複雑さ
●成果物(バリデーションドキュメント)
CSV におけるサプライヤの役割

そんなCSVにはガイドラインがあります。

国際的にはGAMPというものがあります。

  • 正式 : Good Automated Manufacturing Practice

ISPE(国際製薬技術協会)が作っていて、欧米ではこのGAMPの考え方が広く使われていて世界標準的なガイドラインです。

https://www.cst.chiyoda.co.jp/images/solution_iyaku_img1.gif
医薬向けソリューション | ITソリューション | CST(千代田システムテクノロジーズ株式会社)

https://www.to-be.co.jp/solution/assets_c/2017/03/CSV01-thumb-530xauto-5281.png
コンピューター化システムバリデーション(CSV)支援サービス|東洋ビジネスエンジニアリング株式会社 B-EN-G

国際的にはPIC/S GMPというのもあります。

PIC/S*1が、欧州のGMPをもとに作ったガイドラインでこの中にコンピュータ化システムについても記載されています。

日本には「医薬品・医薬部外品製造販売業者等におけるコンピュータ化システム適正管理ガイドライン」というものがあります。

ガイドラインなので法的拘束力はありませんが、海外のガイドラインとも整合性があり世界的にも通用するものです。
GAMPとどう違うかはよくわかりません。

このガイドラインは欧米のGAMP5やPIC/S等のCSVガイドラインと整合性があり、コンピュータ化システムの開発から検証、運用、廃棄までのライフサイクルの考え方を採用しています。
CSVとは。コンピュータ化システムバリデーションとは

https://www.gmp-platform.com/files/user/B5-006-01-08_2-500x288.jpg?v=1435036698
厚労省「コンピュータ化システム適正管理ガイドライン」の要点(8) | GMP Platform

ガイドラインがあってもCSVの理解・実施はとても大変です。

理解するのは大変です。
法令がたくさん関わってきます、他業界のシステムを開発をしてきた開発会社にはわかりにくいです。
実施も大変です。
ドキュメントを大量に作らなくてはなりません、実施状況を定期的に確認して記録しなくてはいけません、関わる関連会社に理解してもらうために指導もしなくてはいけません。
なので、CSVの支援サービスを行っている会社もたくさんあります。

www.fujitsu.com
www.to-be.co.jp

製薬や医療業界のシステム開発で使われる工程の略称

各工程の名前や略称は会社やプロジェクトによって異なりますが、CSVを実施している製薬や医療業界ではGAMP4の用語を各工程の略称として使用していることがあります。
最新のGAMP5ではこの略称の一部は記載されなくなったためいつかなくなるかもしれませんが・・・。

日本語の工程名 (GMP4の略称)英語の工程名 ポイント
設計適格性確認 (DQ)Design Qualification テスト工程になって仕様変更が発生しないよう開発ベンダは「作成する要求仕様書」と供給業者から提出される「設計仕様書」が合致しているかどうかを確認し、その記録を残すことが重要
ユーザ要求仕様 (URS)User Required Specification 要求仕様書の作成には関係部門が連携して、必要事項を漏れなくまとめていくことが大切
システム機能仕様 (FS)Functional Specification 作成はサプライヤがしてもそのレビューと承認はユーザ企業(製薬企業、医療機器企業)の責任である
システム設計仕様 (DS)Design Specification -
実装/単体テスト - -
据付時適格性確認(結合テスト) (IQ)Installation Qualification 設計仕様書等に記載された通りに据え付けられ、プログラムがインストールされたことを確認して記録を残す
運転時適格性確認(機能テスト) (OQ)Operational Qualification
性能適格性確認(要件テスト) (PQ)Performance Qualification 承認された条件下で作業を行って動作できることを確認して記録を残す

歴史

*1:Pharmaceutical Inspection Convention and Pharmaceutical Inspection Co-operation Schemeの略。医薬品分野における品質システムの開発・実施・保守を目的とした協力組織で日本も参加している。

*2:アメリカ食品医薬品局

*3:1993-04-01に施行され、2005-03-30に廃止された。廃止の意図は不明らしい。

*4:[読み方]はっしゅつ。起こること。あらわし出すこと。

*5:「コンピュータ使用医薬品等製造所適正管理ガイドライン」を改定したもので2012-04-01に施行された。