FXとはなにか

パフォーマンスレベルの評価手順

パフォーマンスレベルの評価手順
代表 松尾

形成的評価と総括的評価の違い(比較表付き) - 2022 - ブログ

教育心理8枚目(ブルームの診断的評価・形成的評価・総括的評価 ハロー効果 ピグマリオン効果 有意味受容学習 プログラム学習 イエナプラン)

評価とは、何かの評価を指します。 学習に関しては、学生は教育機関によって評価され、学習グラフ、理解レベル、および進捗状況を分析します。 また、さらなる学習資料の計画にも役立ちます。 評価には2つのタイプがあります。つまり、形成的または要約的です。 形成的評価(FA)は、学習プロセス中に実施されます。

それどころか、 総合評価(SA)は、コースまたはユニットの終了時にのみ実施されます。 形成的評価と総括的評価の主な違いは、その性質と発生頻度にあります。 違いを単純化したこの記事を見てみましょう。

内容:形成的評価と総括的評価

比較の根拠形成的評価総合評価
意味形成的評価とは、学習プロセス中に教育を調整するために必要な情報を提供するさまざまな評価手順を指します。総合評価は、学生の学習を評価するための標準として定義されています。
自然診断評価的
それは何ですか?学習の評価です。それは学習の評価です。
周波数毎月または四半期ごと学期終了
目指します学習の強化学生の能力の測定。
ゴール学生の学習を監視します。学生の学習を評価します。
グレードの重量低い高い

形成的評価の定義

総合評価の定義

総合評価は、学生の評価を指します。 結果に焦点を当てています。 これは、通常はコース、期間、またはユニットの終了時に、参加者に定期的に与えられる採点プロセスの一部です。 目的は、生徒の知識、つまり生徒がどの程度教材を学んだかを確認することです。

コールセンターの評価について制度や基準を解説

コールセンターの評価について制度や基準を解説

代表 松尾

こんにちは、サイシードの松尾です。
GWも終わり、過ごしやすい気温から汗ばむ気温になりましたね。自粛生活のおかげで春の気持ちよさを堪能しきれなかったことが心残りです。
今回は、コールセンターの評価について紹介します!
また、記事の最後では 「ここまで自動化できる!3年後の未来のコールセンターガイドブック」 をプレゼントいたしますので、ぜひ最後までお付き合いくださいね!

  • コールセンターってどのような評価指標を作るべきなの?
  • 不満の出ない評価制度の設定を考えるのが難しい

コールセンターの評価制度でやってはいけないこと

結論から言うと、コールセンター毎に目的やビジョンが異なり、これといった決まった評価制度はありません
一口に、コールセンターといっても多岐に渡りますし、評価制度はその現場ごとの現場に合わせて項目の設計をする必要があります。

収益性が高いかどうかだけを基準にするのは間違い

顧客の不満、悩みに寄り添って考えず、生産性のみを考えてしまうと顧客満足度が低下し、結果的に収益性の向上からは遠ざかります。
目先の利益のみを追い求めるのではなく、顧客満足度の向上を忘れてはいけません。

画一的な評価制度を作るべきではない

コールセンターの評価基準の参考例

サポートサービス業界の評価機関であるHDIでは「クオリティ」パフォーマンス」に加え、「Webサポート」という3つのカテゴリーに分け、それぞれの評価項目ごとに審査します。

  • Webサポートとサポートセンターとが一貫したサービスを提供できるか
  • Webサポートの延長上にサポートセンターがあるか

クオリティに関する評価項目

【1.サービス体制 】
サービス体制が充実しているかを指します。顧客に協力的であり、敬意を払っているか。コールセンターに問い合わせれば悩み・不安が全て解決できるかどうかなどを見ます。

【2.コミュニケーション】
顧客としっかり相互コミュニケーションが取れているかを指します。顧客の悩み・不安に共感し心理的なニーズにも対応しているのか。また地域、文化、業種によって適切な対応をそれぞれ取れているかを見ます。

【3.対応スキル】
顧客対応をする人の能力を指します。相手の話を聞くのはもちろんのこと、話しやすくするため、話すペースや話し方を相手に合わせているのか。対応に自信を持っており、適切な対応をしているのかを見ます。

【4.プロセス/対応処理手順 】
対応の流れが適切な手順でできているのかを指します。対応が始まってから終わるまでの流れや、適切に転送や保留をしているのか。自部門での対象外のサポートに対しても代替案の提供など適切な対応が取れているかを見ます。

【5.困難な対応 】
難しい内容の問合せについての対応を指しています。怒り心頭の顧客に対し、真摯にお話を聞き、不適切な対応があった場合には、言い訳をせずに謝っているかなどを見ます。

パフォーマンスに関する評価項目

平均応答速度
電話がつながるまでの時間を指します。どれだけ顧客を待たせずに対応できるかを見ます。

放棄率
問合せを諦めてしまう顧客の割合を指します。問合せまでに多くの時間がかかってしまうと、顧客は途中で問合せを放棄してしまいます。また途中で電話を切りたくなるほどの応対品質ではないかを見ます。

対応時間
電話対応の時間を指します。顧客の悩み・不安を解決できる情報をどれだけ迅速に提供できるかを見ます。

初回コンタクト解決率
初めてのお問い合わせでどれだけ悩み・不安が解決したかを指します。

顧客満足度
顧客の満足度を指します。製品およびサービスの満足度がどうなのかを見ます。

コールセンターの評価についての事例

【1. つながりやすさ(サービスレベル、ASA、応答率)】
電話のつながりやすさを指しています。顧客が問い合わせた際に、どれだけつながったのか、どれだけつながるまでに時間がかかったのかを表しています。

【2. 対応の速さ・正確さ(一次完結率、ATT、ミス率、保留率)】
顧客が抱えている悩み・不安をどれだけ正確かつ迅速に解決できるのかを指しています。顧客満足度に直結する評価指標です。

【3. 非対面コミュニケーションの齟齬(モニタリング・スコア)】
電話越しでの会話になってしまうため、どれだけ細かいニュアンスが伝わるかを表した指標です。

弊社ではAIを活用したFAQシステム『sAI Search』を提供しています。sAI Searchを使うことで、

  • 顧客がFAQページで自己解決できる割合が高め、問い合わせの絶対数が減る
  • オペレーターの知識がなくても、リアルタイムに検索できることで回答品質とスピードがあがる

代表 松尾

最後までお読みいただき、ありがとうございます。
コールセンター評価の基準を紹介してきました。
それぞれに合った、基準が見つかれば幸いです。
こちらのフォームから、 「ここまで自動化できる!3年後の未来のコールセンターガイドブック」 をDLいただけます!
コールセンターの効率化を検討する際の参考として、ぜひご活用くださいね。

プリンシプルオブプログラミング 個人的重要箇所

前提、原則、思想、習慣、視点、法則、などのことをプリンシプルという。 プリンシプルを身につけると、なぜその技術が必要なのか、が理解することができる。 プリンシプルとは普遍的な知識であり、様々な技術に対して当てはめることができ、エンジニアの土台としての知識になる。プリンシプルは抽象的なものであり、大きな原則になる。
ときにはプリンシプル同士の主張が相反するものになる。その場合にはより良い解になるよう、状況に応じて判断する。

1章 前提

1.1 プログラミングに銀の弾丸はない。

ソフトウェアには複雑性、同調性、可変性、不可視性の4つの困難性を示す性質がある。 ソフトウェアは概念の集積であり、製品そのものやプロセス、意思決定の経緯なども見ることはできない。図面にされていても、情報は捨象されている。

本質的、偶有的
物事には本質的なものと偶有的なものがある。本質的なものとはそれがないと対象物とは言えなくなる性質のもの、偶有的なものはそれがなくても対象物が成り立つ性質のもののこと。
偶有的なものは容易に改善がしやすい。偶有的なものは自動化などで効率化し、本質的なものに多くの時間が避けるようになると好ましい。

1つのツールや技法が全てに当てはまるということはない。地道にソフトウェアの歴史や手法、考え方を学び複雑さを軽減することが大事。

1.2 コードは設計書である

ロゼッタストーン
ロゼッタストーンは継続的なプログラミング活動において重要と思われるドキュメント、将来の保守担当者に対する簡潔な手引書。ソフトウェアの開発環境を理解するための情報と、ソフトウェアのアーキテクチャを理解するための情報を記述する。ソフトウェアの開発環境の情報はビルドとテストを実行する方法を記述する。ソフトウェアのアーキテクチャはコードからは読み取れない全体像などのコード全体を俯瞰して見た図を記述する。
コードから読み取れないWhy(コードにはHow, Whatが含まれている)、設計理由をドキュメントに残しておくと修正の判断材料として役立つ。

1.3 コードは必ず変更される

コードは無常であり、変更されるもの。変更に強いコードにするためには、コードが読みやすいということがもっとも大切。コードは書いている時間よりも読んでいる時間の方がはるかに長い。書くのにどれだけ時間がかかっても、読む時間を短縮できるなら十分にもとを取ることが可能。

2章 原則

2.1 KISS

less is more
より少ないことはより豊かなことである。余分なコードを書かないことによってコードをシンプルに保ち、様々な問題を回避することができる。もとは建築分野の言葉で、表層的要素や内的な要素を減らし、単純化すること、様々な外的要因耐えうる建築物が計画でき、より豊かな空間が生まれるという思想。

2.2 DRY(Don't repeat yourself)

コードに重複があるとコードを読む作業が難しくなる、コードを修正する作業が難しくなる、テストがない等の困難が発生する。重複のあるようなコードはたいていがレガシーコードであり、テストがない。

インピーダンスミスマッチ
オブジェクト指向とRDBでは抽象化スタイルが異なる。このような場合にコードを作成するとやむをえないDRY違反になるこのようなものをインピーダンスミスマッチという。情報は一箇所にまとめて他の情報を自動生成する仕組みを作ると情報を一元化することもできる。

WET
DRYに対して同じことを繰り返しているコードのことをWETという。

レガシーコード
レガシーコードというと昔のコードという意味になるが、テストによる品質保護の観点からテストのないコードをレガシーコードと言うようにもなった。テストのないコードは悪いコードになるという観点から、レガシーコードと相対することになったときにはエレガントでなくてもまずはテストコードを用意し、修正を行うことが品質を守る上で必須になる。

2.3 YAGNI(You aren't going to need it)

2.4 PIE(Program Intently and Expressively)

コードは書かれることよりも読まれることのほうがずっと多い。よって、書く効率よりも読む効率が優先されることになる。読みやすければ、書くときの効率が多少落ちても、それに見合うだけの価値がある。読みやすさが最優先。

2.5 SLAP(Single Level of Abstraction Principle 抽象化レベルの統一)

コードを書くときに高いレベルの抽象化概念と低いレベルの抽象化概念を分離するようにする。複雑さに応じて多階層に分離する。すると、コードに要約性閲覧性が生まれる。関数の一覧が目次のようになり要約性を持ち、分割された関数は小さなコードの塊になり閲覧性がよくなる。

複合関数
構造化された関数は自身より一段レベルの低い関数を呼び出す処理が中心となる。このような関数を複合関数という。 コードを読んでいて抽象度が急に変わると理解がしにくくなる。

SLAPは文章を書くときの手順が参考になり、内容を書くこと内容をわかりやすく伝えるための構成を考えることを別の作業にする。これをコードを書く際にも当てはめる。

  • 序盤. ファイルの先頭コメント。コードの記述内容を説明し、どのプロジェクトに属するものであるかの説明をする。
  • 目次. 関数の一覧。目次であるがゆえに、先頭に全ての関数リストを記述すべきという考え方もあるが、エディタの機能が発達しているため、遵守する必要はない。
  • セクション. ファイル内の関数を論理的にいくつかのグループに分類できる場合などは、複数の大きなセクションに分割する。セクションの区切りの防波堤コメントを区切りに使うと効果的。コードの量が多くなるときはファイル単位で分割する。
  • 章. 書籍の章は人ひとまとまりの内容に適切なタイトルをつけたもの。コードでは関数に値する。
  • パフォーマンスレベルの評価手順
  • 段落. コードブロックに値する。改行や、空白の区切り、インデントなどにあたる。
  • 文 コード1つ1つのステートメントにあたる。できるだけ短く簡潔に。
  • 相互参照・索引. コード上で相当するものはないので、エディタの機能が担う領域。

2.6 OCP(open-closed principle)

コードは、ソフトウェアを生き続けさせるために、コードの振る舞いを拡張できるという拡張に対して開いている という性質とコードの振る舞いを拡張してもその他コードは影響を受けないという修正に対して閉じているという2つの属性を同時に満たすように設計する。これらを満たしているコードを柔らかい設計という。変更に対して柔軟に対応できない設計を硬い設計といい、脆い設計になってしまう。

2.7 名前重要

  • 多くの情報を入れる
  • 誤解されることのないようにする
  • 手段ではなく効果と目的を説明する
  • 名前を自分自信でチェックしたい場合には処理を書く前にそのテストを書くようにする(コードの使用者側の視点で考えられるようになる)
  • 日常会話で使いやすいよう発音可能なものにする
  • 検索可能なものにする

メンタルマッピング
ある情報から記憶の中のあるべき姿のイメージに変換することをメンタルマッピングという。メンタルマッピングが発生すると読み側の負担になってしまうため、一目でわかるような命名をする。

ループバックチェック
説明→名前→説明の順番にチェックし、説明から名前、名前から説明の説明、推測ができるかをチェックする。

3章 思想

3.1 プログラミングセオリー

3.2 コミュニケーション プログラミングセオリーを支える3つの価値①

3.3 パフォーマンスレベルの評価手順 シンプル プログラミングセオリーを支える3つの価値②

3.4 柔軟性 プログラミングセオリーを支える3つの価値③

3.5 結果の局所化 プログラミングセオリーを実現する6つの原則①

3.6 繰り返しの最小化 プログラミングセオリーを実現する6つの原則②

3.7 ロジックとデータの一体化 プログラミングセオリーを実現する6つの原則③

ロジックとそのロジックが操作するデータはお互いに近くに置くようにする。
これらはコードを修正する際に同じタイミングで変更されるため、コードを読む量が減り変更コストが抑えられる。
ただし、どのロジックとデータを近づけたほうがいいのかのベストな解は最初からはわからないため、仮配置して後から適切な場所に移すのが効率的。コードを書いて動かしてから徐々にわかってくること。試行錯誤の中で明らかになる。

3.8 対称性 プログラミングセオリーを実現する6つの原則④

3.9 宣言型の表現 プログラミングセオリーを実現する6つの原則⑤

3.10 変更頻度 プログラミングセオリーを実現する6つの原則⑥

単一責任の原則
変更理由が複数あるということは責任が複数あるということ。他の箇所に影響を与える脆いものになってしまうので、そのようなモジュールは作ってはならない。

3.11 アーキテクチャ根底技法

  • 抽象化
  • パッケージ化
  • 関数の分離
  • 充足性、完全性、プリミティブ性
  • ポリシーと実装の分離
  • インターフェースと実装の分離
  • 参照の一点性
  • 分割統治

3.12 抽象 アーキテクチャ根底技法①

抽象とは概念的に線引きを行うこと。抽象は捨象一般化の観点からまとめられる。

捨象
複雑な対称からいくつかの性質を捨て去り特定の性質に目を向けること。

一般化
具体的な対称から共通の性質を抽出し、汎用的な概念に定式化すること。

3.13 カプセル化 アーキテクチャ根底技法②

  • コードが見やすい
  • 変更時の影響がモジュール内で済む
  • コードの変更が容易
  • 再利用性が高い
  • 小さい単位で分割されるので複雑な問題に対処できる

3.14 情報隠蔽 アーキテクチャ根底技法③

パルナスの規則
モジュールの利用者は、モジュールを利用するために必要な全ての情報を与え、それ以外の情報は一切見せないこと
モジュールの作成者は、そのモジュールを実装するために必要な情報を与え、それ以外の情報は一切見せないこと。

3.15 パッケージ化 アーキテクチャ根底技法④

モジュールを意味のある単位にまとめグループ化したものをパッケージと呼ぶ。ソフトウェアが大規模になってくるとモジュールが大量になりそれ自体が複雑になってしまう。そのため、パッケージ化が必要

3.16 関心の分離 アーキテクチャ根底技法⑤

アスペクト指向プログラミング
横断的関心をうまく分離する技術のこと。結合ルールによって自動的に後から組み込むことで関心の分離を実現している。

3.17 充足性、完全性、プリミティブ性 アーキテクチャ根底技法⑥

3.18 ポリシーと実装の分離 アーキテクチャ根底技法⑦

ソフトウェアの前提に依存するポリシーモジュール、ソフトウェアの全体に依存しない独立したロジック部分の実装モジュールがあり、ポリシーと実装はわけるようにする。分離が不可能である場合には明確にわかるよう表現する。

3.19 インターフェースと実装の分離 アーキテクチャ根底技法⑧

3.20 参照の一点 アーキテクチャ根底技法⑨

副作用のないプログラミングをするために、定義は一度きりにする、変数に対して再代入をしない単一代入を行う、極力定数を使い変数に対しては極力アクセスするロジックやスコープを減らす、関数は渡された引数のみに作用する等のことをする。

参照透過性

  • 呼び出しの結果が引数のみに依存すること
  • 呼び出しが他の機能の動作に影響を与えない(その後の処理の結果に影響を与える副作用をがない)

3.21 分割統治 アーキテクチャ根底技法⑩

3.22 アーキテクチャ非機能要件

非機能要件で設計
要件定義においてそれぞれの観点についてどの程度必要とされるのかを確認、アーキテクチャの設計の時点で要件を考慮に入れた構造を考え、テストで要件を満たしている確認する工程を踏みアーキテクチャ設計を非機能要件を考慮したものにする。

非機能のテスト
機能のテストではwhatに注目し、非機能のテストではHowに注目する。非機能テストは機能テストと同程度に重要。非機能テストにも合格基準を設けることが必要。

セキュリティ非機能要件 パフォーマンスレベルの評価手順 重要な非機能要件の1つにセキュリティがある。

3.23 変更容易性 アーキテクチャ非機能要件①

保守性、拡張性、再構築、移植性の側面からアーキテクチャを設計するようにすることが大事。

ソフトウェアエージング
ソフトウェアは経年劣化する、年を取るという考え方をソフトウェアエージングという。 正確なドキュメント化、変更時にアーキテクチャを壊さないこと、真摯なレビュー、変更箇所を予測した柔軟な設計などの対抗手段を駆使しソフトウェアエージングの速度を落とす。

3.24 相互作用性 アーキテクチャ非機能要件②

3.25 効率性 アーキテクチャ非機能要件③

時間効率性
時間という観点からリソースの使用効率を定義したもの。

資源効率性
コンピューター資源という観点からリソースの使用効率を定義したもの。

3.26 パフォーマンスレベルの評価手順 信頼性 アーキテクチャ非機能要件④

信頼性とはソフトウェアが例外的な場面、予期しない方法や不正な方法で使用されても機能を維持する能力のこと。信頼性にはフォールトトレランスロバストネスという2つの側面がある。

フォールトトレランス
ソフトウェアに障害が発生したときに正常な動作を保ち続ける能力。

ロバストネス
不正な使用方法や入力ミスから、ソフトウェアを保護する能力。フォールトトレランスと違い、内部的な修復は必ずしも要求しない。ソフトウェアを定義された状態に移行することを保証する。

3.27 テスト容易性 アーキテクチャ非機能要件⑤

テスト容易性とは、ソフトウェアに対して効果的かつ効率的にテストを行う能力のこと。

ソフトウェアは複雑になってくるとテストも難しくなってくるため、テストを容易にするアーキテクチャが求められてくる。
テストコードは本番コードに従属するイメージだが、テストコードが本番にあってもよい。テストをしやすくするための構造が本番コードにあってもという価値観の転換が必要。
テスト容易性のための設計ではモジュール間の依存関係の排除がポイントになる。

3.28 再利用性 アーキテクチャ非機能要件⑤

再利用性とは、全体でも一部でも別のソフトウェアの開発に再利用する能力のこと。
再利用するソフトウェア開発再利用のためのソフトウェア開発がある。

再利用するソフトウェア開発の場合はソフトウェアを既存のモジュールから組み立てるソフトウェア・コンポジションを支援するため、アーキテクチャの構成を既存の構造やモジュールのプラグインできるようにする。

再利用の3の法則

難易度3倍の法則. 再利用可能なモジュールを作るのは単一のソフトウェアで使うモジュールを開発する場合に比べ、3倍難しい。

テスト3種類の法則. 再利用可能なモジュールは共有化する前に3つの異なるソフトウェアでテストする必要がある。

3.29 7つの設計原理

3.30 単純原理 7つの設計原理①

3.31 同型原理 7つの設計原理②

3.パフォーマンスレベルの評価手順 32 対称原理 7つの設計原理③

set/get, start/end などのような命名規則も守ることにより、対称性を保つことができる。

3.33 階層原理 7つの設計原理④

3.34 線形原理 7つの設計原理⑤

3.35 明証原理 7つの設計原理⑥

3.36 安全原理 7つの設計原理⑦

3.37 UNIX思想

3.38 モジュール化の原則 UNIX思想①

3.39 明確化の原則 UNIX思想②

3.40 組み立て部品の原則 UNIX思想③

3.41 分離の原則 UNIX思想④

ポリシーメカニズムを分ける。

  • サービス系アプリケーション. フロントエンドがポリシー、バックエンドがメカニズム。
  • エディタアプリケーション. ユーザーへのインターフェースがポリシー、エディタのエンジンがメカニズム。

3.42 単純性の原則 UNIX思想⑤

コードはシンプルにする。カタログスペックが上がるように機能を増やす考え方をやめる。シンプルを美しいとする文化

3.43 倹約の原則 UNIX思想⑥

3.44 透明性の原則 UNIX思想⑦

ソフトウェアの動作を外からわかりやすくなるように設計する。
透明性. ソフトウェアに動作が一見してわかるようにすること。 パフォーマンスレベルの評価手順
開示性. ソフトウェアの内部状態を監視または表示すること。

3.45 安定性の原則 UNIX思想⑧

3.46 表現性の原則 UNIX思想⑨

3.47 驚き最小の原則 UNIX思想⑩

3.48 沈黙の原則 UNIX思想⑪

3.49 修復の原則 UNIX思想⑫

3.50 経済性の原則 UNIX思想⑬

3.51 生成の原則 UNIX思想⑭

3.52 最適化の原則 UNIX思想⑮

3.53 多様性の原則 UNIX思想⑯

3.54 拡張性の原則 UNIX思想⑰

3.55 UNIX哲学

3.56 小は美なり UNIX哲学①

3.57 1つ1仕事 UNIX哲学②

3.58 即行プロトタイプ UNIX哲学③

前提の誤りを早期に発見できる、要件不備による手戻りを減らせる、早いうちから誤りを取り除く作業を始められる等のメリットがあるため、できるだけ早くプロトタイプを作る。最初から完全なソフトウェアを書くことは不可能なため、継続的な改善作業が必要。

第3のシステム
人間は全てのシステムにおいて第1のシステム、第2のシステム、第3のシステムをリリースしていくことになる。

第1のシステム. 性能は高いが、必要な機能が欠けている。
第2のシステム. 機能は多いが、性能が犠牲になっている。
第3のシステム. 両者の最適なバランスの取れた必要な機能だけが備わっている。

3.59 効率性より移植性 UNIX哲学④

ソフトウェアの設計は選択の連続である。移植性と開発効率性という二律背反の選択に迫られたとき、優先すべきは移植性

3.60 データはテキスト パフォーマンスレベルの評価手順 UNIX哲学⑤

3.61 レバレッジ・ソフトウェア UNIX哲学⑥

よいプログラマはコードを書く。偉大なプログラマはよいコードを借りてくる
自分の仕事に他人に成果を取り込むことで、投資を少なく大きな収入を生み出す。レバレッジがかかる。

3.62 シェルスクリプト活用 UNIX哲学⑦

てこの効果
シェルスクリプトを使用して他のソフトウェアやコマンドをつなげる。

移植性
シェルスクリプトはインタプリンタなので、コンパイル言語に比べ移植性が高くなる。
シェルスクリプトはグルー言語として使用し、小さなソフトウェアをつなげて大きなものにする。

3.63 対話インターフェース回避 UNIX哲学⑧

3.64 フィルタ化 UNIX哲学⑧

90%の解(UNIX小定理)
どんなことであれ100%で物事をこなすのは困難。そのため、ユーザーが90%で満足することを目指し、残りの10%は自分でどうにかしてもらおうという考え方をするとバランスがよくなる。

4章 視点

4.1 凝集度

レベル1 パフォーマンスレベルの評価手順 暗号的強度
暗号とは偶然に物事が一致するという意味。たまたまモジュール内に重複している命令群のパターンがあったので、統合して1つのモジュールにするなどのケース。

レベル2 論理的強度
ある機能を抽象的に捉えてまとめたもの。関連したいくつかの機能を含み、そのうちの1つだけがモジュールによって識別され(論理)、実行されるモジュールのこと。内包される命令群の関連性は弱いため、モジュール強度は下がる。

レベル3 時間的強度
特定の時点に連続して実行する複数の機能を1つのモジュールにまとめたもの。代表的なものは初期処理モジュール。

レベル4手順的強度
問題を処理するために関係している複数個の機能のうちいくつかを実行。複数機能な順番(手順)に実行される。複数機能の1つだけといった使い方ができなくなる。

レベル5連絡的強度
基本的には手順的強度の特性を持つ。モジュール愛機能間でデータの受け渡し(連絡)をしたり、同じデータを参照する点が異なる。

レベル6: 情報的強度
特定のデータ構造を扱う複数の機能を1つのモジュールにまとめたもの。論理的モジュールと違い一口点が複数あり、各々が固有のパラメーターをもつためパラメーターの扱いにくさを解消できる。

レベル7: 機能的強度
モジュール内の全ての命令が1つの役割(機能)を実行するために関連しあっているモジュール。変更理由が他のモジュールとも共通の事情による変更の可能性が高くなる。

4.2 結合度

レベル1 内部結合
モジュールとモジュールが一部を共有するようなモジュール結合。

レベル2 共通結合
共通域に定義したデータをいくつかのモジュールが共同使用するような結合形式。

レベル3 外部結合
外部宣言したデータを共有したモジュール間の結合形式。public宣言された変数など。

レベル4 制御結合
呼び出し側のモジュールが呼び出されるモジュールの制御を指示するデータをパラメータとして渡す結合形式。相手をブラックボックス化しにくいので結合度が強くなる。

レベル5スタンプ結合
共通域にないデータを2つのモジュールで受け渡しする結合形態。データ構造はパラメーターを介す。受け渡すデータの一部を使用しないこともあり、不必要なデータが生まれてしまう点が結合度を強くしている。

レベル6 データ結合
モジュール感のインターフェースとしてスカラ型のデータ要素をパラメーターとして受け渡す結合形式。相手モジュールをブラックボックス化できるので結合度は一番弱くなる。

ハイブリッド結合
ハイブリッドに戻り値が変わってしまう関数などは、使用者側が意識して使用しなければならないため、結合度がやや高い

4.3 直交性

リレーションの直行性
リレーショナル・データベースで正規化と同じぐらい重要なリレーションの直交性という概念がある。複数のリレーションに間の重複に関する概念。データベース全体から重複をなくしていくこと。

Access のパフォーマンスを向上させる

データベースを分割する場合は、データ テーブルをネットワーク パフォーマンスレベルの評価手順 サーバー上のデータベース ファイルに入れて、バック エンド データベースと呼ばれるものにします。 クエリ、フォーム、レポートなどの他のデータベース オブジェクトを、フロントエンド データベースと呼ばれる別のデータベース パフォーマンスレベルの評価手順 ファイルに保存します。 ユーザーは、フロントエンド データベースのコピーを自分のコンピューターに保存します。 データだけがネットワークを越えて送信されるので、パフォーマンスが向上します。

[データベース ツール ] タブの [データの移動] パフォーマンスレベルの評価手順 グループ で、[Access データベース] をクリックします

ページ レベルまたはレコード レベルのロック設定を変更する

レコードの編集中、Access は一定の量のデータをロックします。 ロックされるデータの量は、選択したロック設定によって異なります。 パフォーマンスレベルの評価手順 ページ レベルのロックを選ぶと、パフォーマンスを向上させることができます。 ただし、ページ レベルのロックでは、レコード レベルのロックよりも多くのデータがロックされるので、データの可用性が低下する可能性があります。

ページ レベルのロック レコードを含むページがロックされます (ページは、レコードが格納されているメモリ領域です)。 ページ レベルのロックが有効になっているレコードを編集すると、メモリ内に近くに保存されている他のレコードもロックされる場合があります。 ただし、レコード レベルのロックではなくページ レベルのロックを使用すると、一般的にパフォーマンスが向上します。

レコード レベルのロック 編集中のレコードだけがロックされます。 他のレコードには影響されません。

ページ レベルまたはレコード レベルのロック設定を変更する

[ファイル]、[オプション] の順にクリックして、[Access のオプション] ダイアログ ボックスを開きます。

左側のウィンドウで、[クライアント設定] をクリックします

右側のウィンドウの [詳細設定] セクションで、[レコード レベルのロックを使用してデータベースを開く] チェック ボックスをオンまたはオフにします。

適切なレコード ロック設定を選ぶ

レコードの編集中は、レコードがロックされます。 Access がロックするレコードの数と、それらのレコードがロックされる時間は、選択したレコード ロック設定によって異なります。

ロックなし Access では、ユーザーが変更を保存するまでレコードまたはページがロックされ、データが容易に利用できます。 ただし、この設定を使用すると、データの競合 (同じレコードに同時に変更を加える) が発生する可能性があります。 データの競合が発生した場合、保持するデータのバージョンをユーザーが決定する必要があります。 これは一般的に最も高速なオプションですが、データの競合はパフォーマンスの向上を上回る可能性があります。

編集されたレコード Access では、ユーザーがレコードの編集を開始するとすぐに、レコードがロックされます。 そのため、レコードは長い期間ロックされますが、データの競合が発生する可能性は低くなります。

すべてのレコード Access では、テーブルを使用するフォームまたはデータシートが開いている間、テーブル内のすべてのレコードがロックされます。 これにより、テーブル内のデータを編集しているユーザーのパフォーマンスが向上しますが、他のユーザーが他のオプションよりもデータを編集する機能が制限されます。

レコード ロック設定を変更する

[ファイル]、[オプション] の順にクリックして、[Access のオプション] ダイアログ ボックスを開きます。

左側のウィンドウで、[クライアント設定] をクリックします

右側のウィンドウの [詳細設定] セクションの[既定のレコードのロック] で、必要なオプションをクリックします。

ネットワークの更新と更新の設定を調整する

必要に応じて、更新間隔 (秒)、更新再試行間隔(msec)、更新再試行回数、ODBC 更新間隔(秒)の設定を調整してみてください。

ODBC の更新間隔と更新間隔の設定を使用して、Access がデータを更新する頻度を制御します。 更新は、データシートまたはフォームに既に存在するデータのみを更新します。 更新では、レコードの並べ替え、新しいレコードの表示、クエリ結果から、指定した条件を満たしていない削除済みレコードやレコードの削除は行されません。 このような変更を表示するには、データシートまたはフォームの基になるレコードを再クエリします。

ネットワークの更新と更新の設定を変更する

[ファイル]、[オプション] の順にクリックして、[Access のオプション] ダイアログ ボックスを開きます。

パフォーマンスレベルの評価手順

Tableau のパフォーマンス記録機能は、ワークブックの操作中に主要なイベントのパフォーマンス情報を記録します。次に、Tableau が作成するワークブックでパフォーマンス メトリクスを確認し、パフォーマンスに影響することが知られているさまざまなイベントの分析やトラブルシューティングを行うことができます。

サーバー レンダリング (Tableau Server のみ)

Tableau サポートにより、パフォーマンス問題の診断を支援するため、パフォーマンス ワークブックの作成が要請されることがあります。

Tableau Desktop でパフォーマンスの記録を作成する

[ヘルプ] > [設定とパフォーマンス] > [パフォーマンスの記録の開始]

[ヘルプ] > [設定とパフォーマンス] > [パフォーマンスの記録の停止]

[ファイル] > [保存] をクリックして、選択した場所にワークブックを保存します。Tableau Support に記録を送信する場合は、このワークブックをパッケージド ワークブック (.twbx) ファイルとして保存して、サポートに送信できます。

パフォーマンス記録ワークブックの解釈

パフォーマンス記録ワークブックには、[Performance Summary (パフォーマンス サマリー)] と [Detailed Views (詳細ビュー)] という 2 つの主要なダッシュボードがあります。[Performance Summary (パフォーマンス サマリー)] ダッシュボードには、最も時間のかかるイベントの高度な概要が表示されます。[Detailed Views (詳細ビュー)] ダッシュボードには詳細な情報が表示され、上級ユーザーがワークブックを作成するときに使用することを目的としています。[Detailed Views (詳細ビュー)] ダッシュボードは、パフォーマンス記録ワークブックが Tableau Desktop を使用して開かれた場合にのみ表示されます。

Performance Summary (パフォーマンスレベルの評価手順 パフォーマンス サマリー)

[Performance Summary (パフォーマンス サマリー)] ダッシュボードには、[タイムライン][イベント]、および [クエリ] の 3 つのビューがあります。

タイムライン

[タイムライン] ビューでは、[ワークブック][ダッシュボード][ワークシート] の各列にイベントのコンテキストが識別されます。[イベント] の列には、イベントの性質が識別され、最終列には各イベントの期間と他の記録されたイベントとの時系列比較が表示されます。

パフォーマンス サマリー ダッシュボードの中央のビューには、期間 (長時間から短時間) の順にイベントが表示されます。期間がより長いイベントは、ワークブックを高速化する場合の最初の注目点を識別するのに役立ちます。

このイベントは、Tableau がクエリの生成に費やした時間をキャプチャします。クエリのコンパイル時間が長い場合、生成されるクエリが複雑であるということです。そのような複雑さは、フィルターの数が多すぎたり計算が複雑であることに起因する場合もありますが、一般的にはワークブックが複雑であることに起因します。複雑な計算の例としては、長い計算、LOD 計算、ネストされた計算などがあります。ワークブックの簡略化、アクション フィルターの使用、または参照元データベースへの計算の移動を試みてください。

ライブ接続では、クエリに時間がかかりすぎる場合、参照元のデータ構造が Tableau 用に最適化されていない可能性があります。データベース サーバーのドキュメントを参照してください。代わりに、抽出を使用してパフォーマンスの速度を上げることを検討してください。

抽出でクエリに時間がかかりすぎる場合は、フィルターの使用を見直してください。フィルターの数が多すぎる場合、コンテキスト フィルターの方が適していませんか。フィルターを使用するダッシュボードがある場合は、パフォーマンスの向上に役立つアクション フィルターの使用を検討してください。

抽出の生成を高速化するには、元のデータ ソースからデータの一部だけをインポートすることを検討します。たとえば、特定のデータ フィールドでフィルターしたり、指定された行数やデータのパーセンテージに基づいてサンプルを作成したりすることができます。

別のマシンで追加の VizQL Server プロセスを実行することで、サーバー レンダリングを高速化できます。

パフォーマンス サマリー ダッシュボードの [タイムライン] または [イベント] セクションのいずれかで、[クエリの実行] イベントをクリックすると、そのクエリのテキストが [クエリ] セクションに表示されます。

パブリッシュされたデータ ソースに接続されている場合、クエリのテキストが XML で表示されます。データ ソースに直接接続されている場合、以下のようにクエリが SQL で表示されます。

合理的であれば、データベース チームと協力するクエリ テキストを使用し、データベース レベルでデータを最適化できます。クエリが切り捨てられている場合は、Tableau ログで完全なクエリを検索する必要があります。ほとんどのデータベース サーバーでは、インデックスの追加やその他の方法によりクエリを最適化する方法が提案されています。詳細については、ご使用のデータベース サーバーのドキュメンテーションを参照してください。

効率性を高めるため、Tableau はデータに対する複数のクエリを 1 つのクエリへと組み合わせることがあります。この場合、NULL ワークシートに [クエリの実行] イベントが表示され、名前を付けたワークシートには実行されているクエリが何も表示されない場合があります。

Detailed Timeline (詳細なタイムライン)

このビューは [タイムライン] パフォーマンスレベルの評価手順 ビューの詳細版です。すべてのイベントを表示し、[タイムライン] ビューでグループ化された個々のアイテムを分離して表示します。上級ユーザーがワークブックをデザインする際に使用することを目的としています。

Detailed Views (詳細ビュー)

[Detailed Views (詳細ビュー)] ダッシュボードには、[Depth (深度)][Exclusive CPU (排他的 CPU)][Inclusive CPU (包括的 CPU)][Elapsed Time (経過時間)] ビューがあります。

Depth (深度)

[Depth (深度)] ビューは、[Detailed Views (詳細ビュー)] ダッシュボードの一番上に表示されます。要求が行われたときに何が起きているかを把握できます。このビューは、単一のユーザー要求を表示するようにフィルターした場合に最も役立ちます。ユーザー要求の例としては、ビューの読み込み、マークの選択、フィルターの変更などがあります。

[Depth (深度)] ビューの各バーは、単一のアクティビティを表します。アクティビティとは、ユーザー要求の処理の一部として実行される作業単位です。単一のユーザー要求により複数のアクティビティが実行されます。[Depth (深度)] ビュー上の各バーの長さは、バーが表すアクティビティの経過時間に比例します。

各バー上にカーソルを合わせると、アクティビティに関する詳細情報が表示され、次のセクションで説明する [CPU] および [Elapsed Time (経過時間)] ビューで対応する行がハイライトされます。

CPU および Elapsed Time (経過時間)

[CPU] および [Elapsed パフォーマンスレベルの評価手順 Time (経過時間)] ビューは、[Detailed Views (詳細ビュー)] ダッシュボードの一番下に表示されます。ラジオ ボタンをクリックすると、[Exclusive CPU (排他的 CPU)][Inclusive CPU (包括的 CPU)][Elapsed Time (経過時間)] の各ビューが切り替わります。

[Depth (深度)] ビューは、長時間実行されるアクティビティを視覚的にすばやく識別するのに役立ちます。ただし、各インスタンスの時間が短いアクティビティが複数回発生する場合、そのようなアクティビティがハイライトされるとは限りません。[Exclusive CPU (排他的 CPU)][Inclusive CPU (包括的 CPU)][Elapsed Time (経過時間)] ビューには、各アクティビティの総統計が表示されます。アクティビティが実行された回数が [カウント] 列に表示され、1 つのアクティビティに掛かった合計時間が棒グラフで表示されます。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる