ソフトウェア開発の用語11選【第3回】
「OBOE」は“あの楽器”じゃなかった? 必修IT用語の意味
「SOLID」「ORM」「OBOE」は、ソフトウェア開発の効率性や信頼性を高める上で理解しておくべきIT用語だ。それぞれの意味や使い方を解説する。
ソフトウェア開発の効率性や信頼性を高める上で役に立つのが、「SOLID」「ORM」「OBOE」といった、ソフトウェア開発の原則を示すIT用語だ。開発者なら知っておくべき各用語の意味や使い方を解説する。
開発者なら知っておくべき「SOLID」「ORM」「OBOE」とは?
併せて読みたいお薦め記事
連載:ソフトウェア開発の用語11選
開発分野のトレンド記事
SOLID
SOLIDとは、ソフトウェア開発における設計の原則をまとめたもので、より保守しやすい、拡張しやすいソフトウェアを設計するための指針だ。SOLIDの原則を守ることで、アプリケーションの信頼性や、システムのメンテナンス性向上につながる。
SOLIDは、以下5つの原則から成り立つ。
- Single Responsibility Principle(単一責任の原則)
- クラス(データとメソッドの定義を含むオブジェクトの設計図)やモジュールは単一の機能や役割を受け持つべきだ。
- Open-Closed Principle(開放閉鎖の原則)
- クラスやモジュールは、修正に対しては閉鎖的で、拡張に対しては開放的であるべきだ。つまり、新しい機能を追加するときに既存のソースコードを変更せずに済むように設計する必要がある。
- Liskov Substitution Principle(リスコフの置換の原則)
- サブクラス(子クラス)は、その基となるスーパークラス(親クラス)の代わりとして機能する必要がある。つまり、スーパークラスのオブジェクト(データとメソッドをまとめたもの)をサブクラスのオブジェクトに置き換えても、プログラムの正しさは保たれていなければならない。
- Interface Segregation Principle(インタフェース分離の原則)
- クライアント(クラスやモジュール)は、不要なメソッド(操作)に依存すべきではない。インタフェースを複数の小さなインタフェースに分けて、それぞれのクライアントが必要なものだけを使うようにする。
- Dependency Inversion Principle(依存関係逆転の原則)
- 高水準のモジュール(抽象的な部分)が低水準のモジュール(具体的な部分)に依存してはいけない。
例えば、コードレビューで「ここはSOLIDの開放閉鎖の原則を守れていない」と指摘し、ソースコードの改善点を議論するといった具合で使われる。
ORM
ORMは、「Object Relational Mapping」(オブジェクトリレーショナルマッピング)の略称。オブジェクト指向プログラミングとリレーショナルデータベース(RDB)の間のデータ変換を助ける技術を指す。
ORMツールを使うと、データベースを直接操作するよりも簡単にデータを扱うことができる。オブジェクト指向コードとリレーショナルデータベースの仕組みの不一致を緩和するため、RDBを利用するアプリケーションは、「Hibernate」「JPA」「Toplink」などのORMツールを使用することがある。
例えば、データベースアクセス部分の設計を検討する際に、「ここはORMを使って実装した方がいい」と提案されることがある。
OBOE
OBOEは「Off By One Error」(オフバイワンエラー)の略称。プログラムを書く際に、カウントやループの開始条件や終了条件が1つだけずれてしまうエラーを指す。
例えば、条件論理演算で、不等号演算子の「より小さいか等しい」(≤)と不等号演算子「より小さい」(
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
[サイボウズ株式会社] DXに必要な「Dスキル」「Xスキル」を持った人材を育成するには? -
市場調査・トレンド
[サイボウズ株式会社] データで見る、DXが「順調に進む企業」と「つまずく企業」の違い -
製品資料
[サイボウズ株式会社] 賛否が割れがちな「Notesからの移行」 新環境への移行を納得してもらうには? -
事例
[ServiceNow Japan合同会社] 農林中金に学ぶ内製開発 処理効率を約2倍に高めAI活用も加速させた方法とは? -
事例
[ServiceNow Japan合同会社] NTTグループのデジタル変革術、17万人が利用する決裁プロセス刷新の全貌
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
2
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
5
GitHubが指摘 AIが書いた「おそらく動くコード」が招くシステム崩壊
-
6
「高すぎるGPU」を捨てAI推論をCPUへ Armが示す電力とコストの現実解
-
7
Anthropicが明かす AIは入力データを「どこまで覚えているのか」
-
8
【漫画付き】"RAG導入失敗3例"と処方箋 「入れても使われない」を終わらせる
-
9
「にゃんこ大戦争」がAWSを脱出した理由 無停止移行に潜む“わな”
-
10
なぜ10億円払って“高額な塩漬け”を作るのか? SAPクラウド移行の闇
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
-
9
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
10
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー