管理人

SEとして働く管理人「まつ」がつぶやく個人運営サイトになります。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2023/10/28

ライブラリとは

ライブラリ(library) ライブラリってなに? ライブラリ(library)とは、汎用性の高い複数のプログラムを他のプログラムから呼び出して利用できるように部品化したものです。 ライブラリ単体では、動作することはできず(実行ファイルではない)、他のプログラムに機能を提供するコードの集まりです。 上記はライブラリのイメージ図です。ライブラリの中には複数の機能(汎用性の高いプログラム)が入っており、ライブラリを使う側(上記例ではAシステム)は、その機能を呼び出すだけで簡単に使うことができます。 ライブラリ ...

2023/8/4

モジュールとは?ライブラリ、コンポーネントとの違い

モジュール(module) ソフトウェア開発の現場にいると「モジュール」という言葉をよく耳にします。「モジュール」「ライブラリ」「コンポーネント」など、当たり前のように使われている言葉です。 エンジニア同士では、当たり前のように使われている言葉ですが、実際は「モジュールって何?」と検索エンジンで調べたことがあるエンジニアも多いのではないでしょうか。 本記事では、モジュールについて紹介していきます。 モジュールって何? モジュールとは、部品を意味する言葉であり、部品単独でも動作することは可能だが、他の部品と ...

2023/9/2

APIとインタフェースの違い

APIとインタフェースの違いとは ソフトウェア開発に携わっているとよく耳にする言葉である「API」と「インタフェース」。設計書にも「API仕様書」と「インタフェース仕様書」があり、同じような意味の言葉で使用されています。 エンジニア同士では、当たり前のように使われている言葉ですが、実際は 「APIってどんな意味?」 「インタフェースってどんな意味?」 「APIとインフェースはどう違うの?」 と疑問を持ち、1度は検索エンジンで調べたことがある人も多いのではないでしょうか。   本記事では、そんな「 ...

2023/8/4

APIとは

API(Application Programming Interface) ソフトウェア開発に携わっていると「API」という言葉をよく耳にします。 「API」「インタフェース」「ライブラリ」「モジュール」「コンポーネント」など、ソフトウェア開発の現場では、当たり前のように使われている言葉です。 エンジニア同士では 当たり前のように使われている言葉ですが、実際は「APIってどんな意味?」と疑問に思い、検索エンジンで調べているエンジニアは沢山いるのではないでしょうか。 本記事では、そんな「API」について分 ...

2022/12/25

インタフェースとは

インタフェース(interface) インタフェースとは、ものごとの境界となる部分(接点)を表す言葉です。IF や I/Fと略されて表記されることもあります。 接点、境界面などの意味を持つ英単語であり、物と物を接続するために必要な部分をインタフェースと呼んでいます。 インタフェースは様々な物に使用される言葉であり、主に「ハードウェアインタフェース」「ソフトウェアインタフェース」「ユーザインタフェース」に分けられます。 ハードウェアインタフェース ハードウェアインタフェースとは、コンピュータなどの情報機器と ...

2022/12/25

ボトムアップテストとは

結合テストの種類 ソフトウェア開発では、各工程にあわせて様々な試験が存在します。 モジュール(機能)単体の動作を確認する「単体テスト」、そして 複数のモジュールを繋ぎ合わせて実施する「結合テスト」、最後に全体を確認する「システムテスト(総合テスト)」などがあります。   複数のモジュールを繋ぎ合わせて検証する「結合テスト」には、主に次のようなテスト手法があります。 トップダウンテスト ボトムアップテスト サンドイッチテスト(折衷テスト) ビッグバンテスト 結合テストは、複数のモジュールを繋ぎ合わ ...

2022/12/25

トップダウンテストとは

トップダウンテスト(top down test) トップダウンテストってなに? トップダウンテストとは、ソフトウェア開発のテスト手法の一つで、上位のモジュール(機能単体)から順に検証する手法です。 結合テストの工程でモジュール間のインタフェースを確認をするために実施します。 複数のモジュールで構成されているソフトウェアの場合、複数のモジュールを一気に繋ぎ合わせて検証すると、問題の発生箇所が特定しにくくなる可能性があります。そこで、すべてを一気に繋ぎ合わせるのではなく、少しずつ繋ぎ合わせて検証していきます。 ...

2022/12/25

「ブラックボックステスト」と「ホワイトボックステスト」の違い

「ブラックボックステスト」と「ホワイトボックステスト」の違い 「ブラックボックステスト」と「ホワイトボックステスト」って何? 「ブラックボックステスト」と「ホワイトボックステスト」は「単体テスト」で実施されるテストのことです。 ソフトウェア開発では、機能(モジュール)単体の検証を行う「単体テスト」、複数の機能(モジュール)を繋ぎ合わせて検証を行う「結合テスト」、そして システム全体の検証を行う「システムテスト(総合テスト)」が存在します。 ブラックボックステストとは ブラックボックステストとは、内部構造を ...

2023/8/4

ホワイトボックステストとは

ホワイトボックステスト(white box test) ホワイトボックステストとは、モジュールの内部構造(プログラムの内容)が意図していた通りに動作するかを確認するテスト手法です。 ホワイトボックステストは、ソフトウェア開発の単体テストの工程で実施されるテストであり、ホワイトボックステストの他にも ブラックボックステストと呼ばれるテスト手法があります。 ブラックボックステストとの違い モジュールの内部構造が正しく動作するかを検証するホワイトボックステストとは違い、 ホワイトボックステストのイメージ図 &n ...

2023/8/4

ブラックボックステストとは

テストの種類 ソフトウェア開発では、各工程にあわせて様々な種類のテストが存在します。有名なテストには「単体テスト」「結合テスト」「システムテスト」があります。 単体テスト 単体テストとは、ソフトウェア開発で作成した部品単体(モジュール)の信頼性を確認する試験のことです。単体テストでは、「ブラックボックステスト」や「ホワイトボックステスト」という手法を用いて検証します。 結合テスト 単体テストが終わると、次に実施するのが結合テストです。結合テストは、複数の部品(モジュール)を繋ぎ合わせて試験を行います。モジ ...

2023/8/4

リグレッションテストとは

リグレッションテスト(regression test) リグレッションテストとは、プログラムの一部を修正したことで、これまで正常に動作していた個所に不具合が出ていないかを確認するためのテストのことです。 「回帰テスト」(回帰:もとの位置 または 状態に戻ること)や「退行テスト」(退行:後ろにさがること)とも呼ばれており、プログラムを修正した後に、他の個所へ影響がないことを検証します。 リグレッションテストが必要な理由 例えば、2人(AさんとBさん)が同じソフトウェアのソースを修正していたとします。 Bさん ...

2022/12/25

アクセシビリティとは

アクセシビリティ(accessibility) アクセシビリティとは アクセシビリティとは、「近づきやすさ」「利用のしやすさ」の意味を持ち、ITの分野では障害者や高齢者でも支障なく利用できる(すべての人が情報サービスを支障なく利用できる)度合いを指す言葉です。 例えば、高齢者にも使いやすいように大きなボタンでデザインされた携帯電話(スマートフォン)、弱視の人でも利用できるように文字を拡大表示する機能など。アクセシビリティを高めることで障害者や高齢者でも支障なく使うことができるようになります。 似たような言 ...

2022/12/25

ユーザビリティとは

ユーザビリティ(usability) ユーザビリティとは、Webサイトやソフトウェアなどの操作性や使いやすさを示す言葉です。 Webサイトやスマートフォンアプリ、ソフトウェアなどで利用される言葉で、利用者が「簡単」に「迷うことなく」、そして「ストレスを感じず」に操作できることを「ユーザビリティが高い」 といいます。 Webサイトなどをデザインする際は、ユーザビリティを考慮しながらボタンなどを配置していくことが大切です。   開発者が制作したWebサイトなどに「ユーザビリティ」が備わっているかを確 ...

2022/12/25

ユニバーサルデザインとは

ユニバーサルデザイン(Universal Design) ユニバーサルデザインとは、利用する人の障害・年齢・性別・国籍などに関係なくできるだけ多くの人が利用できることを目的とした建築・製品・情報などの設計(デザイン)です。   障害者や高齢者が利用しやすいように設計(デザイン)する「バリアフリー」とは異なり、ユニバーサルデザインでは障害者や高齢者に限定せず「できるだけ多くの人が利用可能であるようにデザインすること」を基本コンセプトとしています。 ユニバーサルデザインの7原則 ユニバーサルデザイン ...

2022/12/25

リバースエンジニアリングとは

リバースエンジニアリング(reverse engineering) リバースエンジニアリングって何? リバースエンジニアリング(reverse engineering)とは、出荷された製品や既存のソフトウェアを入手して分解や解析などを行い、プログラムの仕様やソースコードを導き出すことをいいます。   上記図は、リバースエンジニアリングの例です。既存のソフトウェアを入手して、逆コンパイル(ソースコードに戻す)、そして、ソースコードからプログラムの仕様を導き出しています。 既にあるソフトウェアを再利 ...

2022/12/25

マッシュアップとは

マッシュアップ(Mashup) マッシュアップとは マッシュアップ(Mashup)とは、複数のサービスを組み合わせて新しいサービスを作る手法のことです。   下記の図は、マッシュアップの例です。「地図サービス」と「音声サービス」を使い、新しいサービスを作っています。 外部のサービスから利用できるように「Web API」を提供・公開している事業は沢山あります。代表的な例では「地図サービス」などがあげられます。 この外部から利用できるよう提供されている「Web API」を使用して(独自に実装するので ...

2022/12/25

ベンチマーキングとは

ベンチマーキング(benchmarking) ベンチマーキングとは、優れている競合企業や先進企業と自社の活動を比較することです。既存の優れた実践事例(ベストプラクティス)と自社を比較することで、業務改革を効率的に進めていくことができます。 ベンチマーキングの手法 具体的な手法は様々であり、ベンチマーキングが広まるにしたがって、様々な新たな方法論が生まれています。ベンチマーキングについての最初の書籍はコンサルタント会社の Kaiser Associates が出版したもので、7ステップの手法を提案、1989 ...

2022/12/25

【virtualbox】WindowsとUbuntuでファイルを共有する方法

Virtualboxで共有フォルダの設定 Windows上のVirtualboxにLinux(Ubuntu)をインストールした環境で、WindowsとUbuntuでファイルを共有(フォルダ共有)する方法を紹介します。 Virtualboxを起動してUbuntuにログインする Virtualboxを起動してUbuntuにログインします。 共有フォルダの設定 Virtualboxのメニューから「デバイス」→「共有フォルダー」→「共有フォルダー設定」をクリックします。   右端にある「新規共有フォルダ ...

2022/12/25

Windows10上のVirtualBoxにUbuntuをインストールする

【Windows10】VirtualBoxにUbuntuをインストールする手順 Windows10上にインストールした仮想ソフトウェアであるVirtualBoxにLinux(Ubuntu)をインストールする手順を紹介します。   VirtualBoxのインストール手順は、下記の記事をご覧ください。 UbuntuのIOSイメージをダウンロードする Ubuntuのホームページにアクセスし、IOSイメージをダウンロードします。 http://www.ubuntulinux.jp/   「Ub ...

2022/12/25

コアコンピタンスとは

コアコンピタンス(Core competence) コアコンピタンス(Core competence)とは、企業の中核となる強みのことで、他社には真似のできない、企業独自のノウハウや技術などの強みを指す言葉です。 コアコンピタンスという言葉は、1990年に「ゲイリー・ハメル」と「プラハラード」が ハーバード・ビジネス・レビュー Vol.68「The Core Competence of the Corporation」 という論文で発表した概念であり、その後、広められた言葉といわれています。   ...