ソフトウェア開発とは?システム開発との違いや開発の流れについて解説
ソフトウェア開発を検討している企業のご担当者は、「どのような流れで開発を進めるのか」「どんな種類の開発があるのか」などの悩みを抱えているのではないでしょうか。本記事では、ソフトウェア開発の概要、種類、開発の流れなどについてわかりやすく解説します。
ソフトウェア開発とは
ソフトウェアは、コンピューターに命令を出すプログラムのことです。表計算ソフトのExcelや、文章作成ソフトのWordなど、数多くのソフトウェアが存在します。ソフトウェア開発とは、これらのソフトウェアを設計開発してリリースする一連のプロセスのことです。ソフトウェア開発により作られる製品は、WordやExcelなどのアプリケーションソフト、オペレーティングシステム(OS)などのシステムソフトウェア、家電製品などに組み込まれている組込みシステムに分類されます。
このソフトウェアに対し、サーバーやプリンターなどの機器のことをハードウェアと呼びます。ソフトウェアは「形として目に見えないもの」で、「形があり目に見えるもの」をハードウェアと覚えるとよいでしょう。
ソフトウェア開発とシステム開発の違い
ソフトウェア開発と混同されることが多いシステム開発について確認しておきましょう。システム開発は、業務をスムーズに行うために業務の仕組みを改善するシステムを作ることを指します。既存業務の効率化、事業の拡張、新規事業への参入などの課題を解決するための仕組みをつくるプロセスを指すものです。特に現代では、コンピューターやITを活用した業務効率化の仕組みを作り上げることをシステム開発と呼んでいます。
システム開発の具体例としては、スーパーなどのレジのシステムをより効率化するために構築するシステムや、在庫一括管理のためのツールの作成などが挙げられます。
これに対して、ソフトウェア開発とはPCやスマホで使用するツールのソフトウェアの中身を開発します。Webブラウザで欠かせないGoogle ChromeやGmailなどのメールソフト、PowerPointなどのプレゼンソフト、スマホで広く利用されているLINEアプリなどはソフトウェア開発の具体例です。
関連リンク:システム開発とは?開発工程と手法ごとのメリット・注意点、外注先の選び方まで紹介! | ハイブリッドテクノロジーズ
ソフトウェアの種類
ソフトウェアは開発する対象に応じて、以下の3種類に分類されます。それぞれのソフトウェアの特徴をおさえておきましょう。
Webシステムソフトウェア
Webシステムソフトウェアは、Webブラウザ上で動くソフトウェアです。システムがWebサーバーに集約されており、メンテナンスしやすいというメリットがあります。PCでもスマホでも、デバイスに関わらず、インターネット環境下であればどこでも利用できる手軽さが特徴です。インターネット上で動かすため、開発には通信技術に強いエンジニアが必要になる場合があります。Googleのメールサービス“Gmail”や、データ共有システム”Dropbox”などが代表例です。
アプリケーションソフトウェア
特定の目的に応じたプログラムを持つソフトウェアのことです。ユーザーの目的を実行することに特化しているソフトウェアで、数えられないほど多数のアプリケーションソフトウェアがあります。代表例は、文書作成ソフト、表計算ソフト、画像編集ソフトなどです。複数の機能を組み合わせたものも多く、ソフトウェアの規模によっては、開発にかかる期間や費用が変わりやすいことも特徴の一つです。ちなみに、よく使われている「アプリ」という語はアプリケーションの略なので、同じ意味と考えられます。
組み込みシステム
組み込みシステムとは、洗濯機、冷蔵庫、テレビ、エアコンなどの家電製品、さらに自動車やロボットなどに組み込まれた、動きを制御するコンピューターシステムのことです。
一つの機器の機能に特化しており、例えば、洗濯機に乾燥機能などをつけるのも組み込みシステムになります。また、外出時に自宅の暖房の電源をスマートフォンで入れるといった動作はこの組み込みシステムにより動いているのです。機器を制御することから、組み込みシステムの開発には、特にハードウェアに精通しているエンジニアが必須です。
ソフトウェア開発に携わる職業
ソフトウェア開発の仕事というと、主にシステムエンジニアやプログラマーをイメージするのではないでしょうか。しかし、開発には営業担当者も携わります。ここでは、ソフトウェア開発に携わる営業職、システムエンジニア、プログラマーの業務について解説します。
営業職
ソフトウェア開発を始めるには、まず営業職がクライアントから案件を受注しなければなりません。自社開発企業の場合でも、開発したソフトウェアを販売するために営業職が中心になって、何らかの手段で販売し利益を出すことができるのです。そのためソフトウェアを開発して収益化するためには、営業職との連携が必須です。
営業担当は、社外折衝、契約調整などの窓口対応、社内のディレクションを行い、エンジニアと一緒に「どんなソフトウェアを求めているのか」、顧客のニーズや要望をヒアリングします。受託開発では営業担当者は依頼者とエンジニアを繋ぐ存在といえるでしょう。
パッケージ営業では、自社のパッケージソフトを売るために、ソフトの魅力を伝えることなどが営業担当者の役割です。
システムエンジニア
PCやスマートフォンで動作するアプリケーションの開発方針を決定するために、ソフトウェアエンジニアが必要です。ソフトウェアエンジニアは自動車や家電に使われるソフトウェアの開発にも関わっています。
エンジニアというと、通常はシステムエンジニアを思い浮かべるかもしれませんが、厳密に言うと、システムエンジニアは関係する工程においてソフトウェアエンジニアと異なります。システムエンジニアの場合は、システムの要件定義や設計を行うことが多く、ソフトウェアエンジニアよりも、工程の上流部分を作業するのが特徴です。開発に携わることもあれば、ソフトウェア開発の工程全てに携わる場合もあります。システムエンジニアは、端的に言うと、ソフトウェア開発の設計者といえるでしょう。
プログラマー
ソフトウェアが仕様通りに動作するには、プログラミング言語で記述したプログラムが必要です。そのプログラミングを行うのがプログラマーです。エンジニアはソフトウェアの設計を中心に行いますが、プログラマーはその設計に基づいてプログラムを作成していきます。
ただし、企業によってはエンジニアがプログラミングを行うケースも少なくありません。逆に、プログラマーの方でソフトウェアの開発方針を決めることもあり、担当領域においてエンジニアとプログラマーの境界線が曖昧となっている現状もあります。
なお、プログラマーからスタートしてシステムエンジニアを目指すのが一般的です。しかし、仕事内容も求められる能力も異なり、システムエンジニアには対人コミュニケーション能力に優れ、ドキュメント作成能力があることが望まれます。一方、プログラマーには何よりもプログラミング能力が必須です。
ソフトウェア開発の進め方と流れ
ソフトウェアは、一般的に以下の表のような流れで進めます。それぞれのステップの内容について、さらに詳しく説明します。
調査 | 新システムの導入などについて検討する システムエンジニアは調査を実施する |
ヒアリング | 顧客へのヒアリングを行う エンジニアが営業と同席するパターンが多い |
企画・提案 | ヒアリングした内容をもとに対策を検討する |
契約・受注 | 企画提案後に見積もりを提示し、承認されれば契約・受注となる |
要件定義 | 検討事項を落とし込んでいく |
設計 | 基本設計で全体的な仕様を検討する 詳細設計でより具体的な仕様を検討する |
開発 | 仕様書や設計書にもとづきプログラムを記述する |
ユーザーテスト | システムが仕様書どおりに動くかを確認する |
リリース | テストをクリアしたソフトウェアを納品する |
運用・保守 | 運用中のトラブルへの対処、新しい機能の追加と実装を行う |
①調査
ソフトウェア開発プロセスの最初のステップは、調査です。調査では、顧客の現行の業務や新しい業務の効率化について、現行のシステムの改善でできるか、新しくシステムを導入する必要があるかなどを検討し、顧客が抱えている課題について仮説を立案します。システムエンジニアは契約前の段階から調査も行います。
②ヒアリング
営業で収集した情報をもとに、具体的な課題や改善策について検討します。予算や運用時期、同業他社のシステム化状況などについてもヒアリングすることが重要です。顧客ヒアリングでは、顧客がどんなことに困っているのか、課題を解決するために何が必要なのかを、顧客とじっくり話し合いながら洗い出していきます。詳細なヒアリングについてはエンジニアが営業と同席するパターンがほとんどです。
③企画・提案
顧客からのヒアリング内容を整理し、顧客の課題をどのように解決するかを検討していきます。検討の際には、どのようなシステムを開発したらよいか、開発にはどれくらいの費用がかかるか、どのくらいの期間で開発が可能か、またどれくらいの費用対効果があるかなどを検討し、立案します。
企画提案は、複数回行うのが一般的です。企画が一度完成したら、顧客側に提案し、内容を確認してもらい、疑問点などを解決しながら、企画内容に修正を加えていきます。この段階で顧客としっかりすり合わせを行うことで、相互の認識ミスや、開発するソフトウェアの内容についての相違を未然に防ぐことが可能です。顧客との信頼関係も築けるでしょう。
ソフトウェア開発では、顧客の要望を聞き入れ、具体的な企画としてどのくらい落とし込めるかが非常に重要なポイントです。そのため、企画案は顧客の納得がいくまで修正する必要があります。
④契約・受注
企画提案後、企画に沿った見積もりを提示します。ここで合意できれば、契約・受注へと進みます。この段階で注意したいことは、同業他社と比較検討している顧客もいることです。そのためスムーズに契約受注へとつなげるには、顧客とのきめ細かなコミュニケーションが欠かせません。他社と比べて、機能や費用対効果、開発費用などにおける自社の優位性をメリットとして示すことが重要です。
⑤要件定義
顧客と契約し受注したら、次に行うことは要件定義です。要件定義とは、企画提案に基づいて、必要な機能や性能を明確にしていく作業のことです。システム開発を明確化することが目的ですが、開発側と顧客側で役割を「見える化」することにより、行き違いが出ないようにする役目も担っています。この要件定義は、その後の工程である、設計・開発・テストに影響を及ぼすため、プロジェクトの成否は要件定義にかかっているというほど重要なプロセスといえるでしょう。
要件定義では、顧客のニーズ・要望をソフトウェアに落とし込むにはどのようにすべきかを検討し、「要件定義書」という書類に検討事項を記載していきます。要件定義書をつくるためには、既存システムの業務フローの把握、システム設計書の確認が必要です。
⑥基本設計
設計は、基本設計と詳細設計にわかれますが、まず基本設計を行います。基本設計は、要件を満たすソフトウェアの全体的な仕様を検討する工程です。具体的には、入出力、処理方法、テスト・運用方法、納品後の保守・メンテナンスなどの事項を検討します。すなわち、顧客向けの設計で、外から見たときにどのように動かすかを決めるため、外部設計とも呼ばれます。
基本設計では、幅広い視点でさまざまな角度から考えることが大切です。ユーザーの視点を持つことはもちろん、その後の工程を考慮してシステムを実現する必要があります。また基本設計書は、だれでも理解しやすいように、わかりにくい専門用語などは使わずに作成することがポイントです。
⑦詳細設計
基本設計のあとに詳細設計を行います。詳細設計の進め方は基本設計とほぼ同じですが、詳細設計はエンジニアに向けて作成するものであることを覚えておきましょう。そのため、エンジニアがプログラムを組みやすいように、細部にいたるまで落とし込むことが必要です。
基本設計(外部設計)では、前述したように、要件定義書や顧客から聞いた事項を整理して、システムの全体像を構築しますが、詳細設計では、基本設計(外部設計)で決めた基本設計書をもとに、顧客の目には見えないシステムやソフトウェアの内部構造の設計を決めます。すなわち、システムの機能やデータベースなど、基本設計で決めた動きをどのように実現するかを決める作業です。顧客からは見えない部分を設計するため、内部設計とも呼ばれます。これらの事項については、設計書ではなく、仕様書に具体的な開発工程を落とし込みます。
詳細設計をおろそかにすると、後になってから、「機能が実装できない」などのトラブルが起きかねません。詳細設計は顧客にとって納得のいくシステムにするために必要なプロセスであるとともに、プログラマーにとっても重要な役割を担う工程です。
⑧開発
開発では、設計書と仕様書の内容に基づいて、プログラミング言語を使用してプログラムを設計します。ソフトウェア開発で一般的に使われている言語は、JavaやCなどです。導入するエンジニアの数はシステムの規模により変動します。作業はエンジニアとプログラマーでやり取りをしながら、慎重に進めていきます。
⑨ユーザーテスト
開発が終わったら、次のステップはユーザーテストです。ユーザーテストでは、プログラムしたソフトウェアが設計書通りに動くのかどうか、動作確認を行います。テストはプログラム単体だけの単体テスト、複数のプログラムを組み合わせた統合テストなど、いくつかのテストを実行します。不具合が見つかれば、その都度修正を実施し、すべてのテストにおいてエラーがなくなればテスト終了です。
⑩リリース
ユーザーテストをクリアし、正常に動作することが確認されたら、顧客へ納品します。納品では、運用マニュアル、システムの設計書、プログラムを受け渡します。顧客側でソフトウェアの操作に不安がある場合は、必要に応じて、一連のオペレーションなどの操作説明の研修を実施します。
⑪運用・保守
大切なデータのバックアップや運用中のトラブルなども、ソフトウェア開発会社の重要な業務です。安定稼働するまでは、システムの不具合などにも対応が必要となります。また、顧客から新しい機能を追加したい要望があれば、機能追加に対応するケースもあります。
※以上はおおまかな流れです。案件によっては、順番通りの工程で開発するウォーターフォール型、小単位で実装とテストを繰り返すアジャイル型などを使い分けて開発が行われます。
関連リンク:https://hybrid-technologies.co.jp/service/agile/
関連リンク:https://hybrid-technologies.co.jp/service/waterfall/
ソフトウェア開発とマーケティングの関係性
ソフトウェア開発に携わる職業からもわかるように、ソフトウェア開発にはマーケティング的な側面があります。ソフトウェア開発はプログラミングなどを活かして組み立てますが、ユーザーのニーズに沿ったデザインや販路を考慮する点でマーケティングも活かす必要があるからです。
エンジニアは工学的な面を担当しますが、マーケティング的な面は一般的に営業担当者、またはマーケッターが担当します。また、工学・マーケティング両面の知識と経験のある人材が、プロダクトマネージャー、あるいはプロジェクトマネージャーとして、プロジェクトの開発全体を仕切るケースもあります。
ソフトウェア開発で起こりやすいトラブルが、工学面、マーケティング面のそれぞれの担当者間で生じやすいコミュニケーションの行き違いです。お互いの仕事の内容を十分に理解していないことがトラブルにつながり、開発全体の流れが止まってしてしまうこともあります。このようなケースを未然に防ぐためには、マネジメントの観点からプロジェクト全体を推し進めてくれるマネージャーの存在が必要です。
ソフトウェア開発の依頼先の選び方
ソフトウェア開発を外注する際には、どの会社に外注するかによって開発の成否が左右されます。
ソフトウェア開発会社選びでは、まず複数の会社に見積もりを依頼することが大切なポイントです。外注する場合は1社だけですと、相場が判別しにくいですが、複数社から見積もりを取れば、妥当な金額を把握しやすくなります。また金額だけでなく、対応なども比較することができます。
また過去の実績面を確認することも重要です。外注先の実績で、自社で依頼したい内容に近い開発実績があれば、知識と技術があると判断できます。開発会社によって得意な業界や分野が異なるからです。
また、自社開発メインかどうかも確認しておきたい点です。なぜなら、役割の違うエンジニアがチームとして開発にあたる開発プロジェクトの場合、リソースの不足分を下請け企業に頼るケースが少なくないからです。可能であれば開発メンバーの人数についても確認しておくとよいでしょう。少人数体制で動く場合、作業が遅延し、納期に間に合わないケースに陥る可能性があります。
ハイブリッドテクノロジーズの提供サービス
ハイブリッドテクノロジーズでは、ビジネスデザイン、UIUXデザイン、設計、実装、テスト、リリース、運用、保守まで一気通貫してサービスを提供しております。500名以上の経験豊富なエンジニアにより、迅速かつ高品質なシステム開発が可能です。 アジャイル開発、ウォーターウォール開発、ハイブリッド開発と言った様々な開発手法に対応しており、契約形態に関しましてもラボ型契約と受託型契約の2つから選択いただけます。お客様の状況や開発内容に応じて、開発手法と契約形態を柔軟にご指定いただけますが、それぞれの開発手法、契約形態の特徴の親和性から、アジャイル開発ではラボ型契約が、ウォーターウォール開発とハイブリッド開発では受託型契約を選択されるクライアント様が多数を占めます。
ラボ型開発について: ラボ型開発 サービス
受託型開発について: 受託開発 サービス
ハイブリッドテクノロジーズが選ばれる理由
弊社ではクライアント企業様及びエンドユーザー様の声を聞き、UIUXを意識したビジネスデザインを行なっております。 テーマを決めて分析し、仮説を立ててビジネスデザインを行い、プロトタイピング、検証、フィードバックを受け、再度分析から始める。 この一連の流れを、アジャイルスクラム開発に精通した500名以上のエンジニアが高速で回していくことにより、最速でより良いものを実現していきます。 ハイブリッドテクノロジーズには市場の声を現実にするための仕組みとメンバーが揃っています。
システム開発の成功事例
システム開発での成功事例をご紹介します。
外国人の方の利用に特化した就職・進学ポータルサイト(株式会社GIG)
サービス内容
外国人の方の利用に特化した就職・進学ポータルサイト
サービス上の課題/目指したいサービス
課題
今まで運用していたサイトが古く、メンテナンスが困難な状況だったことに加え、手作業で行っている部分が多くあるという背景からフルリニューアルで刷新することが課題であった。
目指したいサービス
今回開発する外国人向け就職・進学ポータルサイトにより、管理側および利用ユーザーにおいて以下の価値の提供を可能にすること。
・管理側は、アカウント情報の管理をシステム化し業務効率化を図ることができること。
・利用ユーザーは、多言語に対応した的確な情報をもとに就職・進学の手厚いサポートが受けられること。
クライアントの課題/要望
・開発部分のリソースが不足している
・予算やスケジュールに柔軟に対応していきたい
当社を選択していただいた理由
当社の幅広いリソースとスピード感を持った開発体制を評価いただいたこと
当社ご提案内容
外国人向け就職・進学ポータルサイトの開発
デザインや設計といった上流部分は、GIG社を中心に担当し、実装フェーズに移った際、円滑なスタートができるよう要件定義フェーズの一部において、日本人PMをアサインし、サポートしました。
実装フェーズではGIG社のライブラリを活用しつつ、ベトナムBrSEを中心にバックエンド、フロントエンドの開発を行いました。
まぐまぐ!リーダーアプリ (株式会社まぐまぐ)
https://www.mag2.com/app/reader/
サービス内容
まぐまぐ!で登録したメルマガコンテンツとまぐまぐ社が運営するメディアを手軽かつシームレスに閲覧できるスマートフォンアプリ「まぐまぐリーダー」
サービス上の課題/目指したいサービス
課題
メルマガはメールのみ、メディアもそれぞれ独自のWebを持っているためユーザービリティが良くない点
目指したいサービス
まぐまぐ!で登録したメルマガコンテンツとまぐまぐ社が提供する4つのニュースメディアを横断して手軽かつシームレスに閲覧できるサービス
クライアントの課題/要望
・新規アプリ開発リソースの不足
当社を選択していただいた理由
内製での開発リソースを保持されていないことと、当社の幅広いリソースとスピード感を持った開発体制が、まぐまぐ様の開発ニーズに合致したため、当社を選ばれました。
当社ご提案内容
ラボ型(ストック)開発+保守にて提案
1.メルマガやニュースメディアといった多様なユースケースに、細やかに対応する開発体制
メールマガジン配信プラットフォーム事業の理解と学習から始まり、要件定義・設計・開発までをアジャイルスクラム開発で担当し、1週間ごとにクライアント様と成果物のレビュー会を行うことで、フィードバックを早いサイクルで受けることで、ユーザーの期待を超える価値体験を追求いたしました。 記事を読むという観点ではニュースサイトなどのメディアに分類されるサービスではありますが、既存の媒体がメールであるためにユースケースには多様性がありました。
2.毎日読む情報収集アプリとしてのファインダビリティとユーザービリティを考慮したUX・UI設計
メールアプリで閲覧するものだったメルマガをスマートフォンアプリで軽快に閲覧できる機能と、まぐまぐ社が提供する4つのニュースメディアを横断して閲覧できる機能を両立しつつ、スムーズに情報収集を行えるUX・UI設計を行いました。メインペルソナである多忙なサラリーマンの方の情報収集アプリとして、短時間での閲覧でも読みやすい視認性や可読性を重視した白基調の配色とタイポグラフィの設定を行い、ボタン類のアクション要素は見落とされない配色設計や、押しやすいサイズ設計、リアルタイムデータベースを使用した同期的な処理、まとめ読みや読み返しが快適にできるようにローカルデータベースを使用したオフラインファーストな設計をすることで既存サービスのユーザー体験をスマートフォンアプリでも損なわないように配慮しました。
Fimple Credit (H.I.F.株式会社)
https://www.hifcorp.co.jp/fimple-credit/
サービス内容
与信における企業信頼度を可視化するWEBサービス
サービス上の課題/目指したいサービス
課題
難解な債権回収リスクの与信判断を、AIを活用して効率化・高精度化できるかという点
目指したいサービス
H.I.F社が独自に収集したデータを元に各企業の与信における信頼度をスコア化し、Web上で手軽に検索・確認することを可能にするサービスを目指しました。
クライアントの課題/要望
・開発リソースの不足
当社を選択していただいた理由
別案件での提案の際のデザイン案が非常に良かったことがあり、短納期の中でも充分に任せられるスピードとクオリティと判断頂き、当社を選ばれました。
当社ご提案内容
ラボ型(ストック)開発にて提案
密なコミニケーションで最適な上流設計を提案
デザイン作成と合わせて画面遷移図と、各画面の要件定義資料の作成を実施。開発フェーズを担当するベンダーへの詳細説明まで弊社が行うことでお客様のシステム開発全体が滞りなく進むよう配慮いたしました。 また短納期ということもあり、お客様からフィードバックをいただく機会を通常以上に密に設けました。早い段階での問題発見・方向修正を心がけ、最適なユーザー体験をクライアント企業様と一緒に、練り上げることができました。
Web 相談予約システムの新規構築(大手物流会社)
サービス内容
窓口相談を事前に予約できるWebアプリ
窓口での相談日時を利用者が事前に予約できるようにし、企業と顧客双方にとって利便性を向上するWebアプリの開発案件です。
サービス上の課題/目指したいサービス
課題
利用者からの問い合わせは、常に窓口で対応している背景があり、
窓口で順に受け付けていたが、待ち時間が長く、顧客から不満の声が上がっていた。
目指したいサービス
・顧客の利便性(満足度)を向上すること。
・システム導入の周知により金融相談業務の認知度を向上させること
・システム導入による効率的な要員配置を目的として、顧客がWeb 上で事前に金融商品に関する相談日時を予約できるシステムを新たに構築すること
クライアントの課題/要望
・社内で開発体制を保持していないこと
・Salesforceを業務の基幹システムとして利用されているため、Saleforceでの機能開発が必須
・金額をミニマムに抑えながら安定的な運用を実現したい
当社を選択していただいた理由
・日本国内での開発より大きな価格メリットがあったこと
当社ご提案内容
受託型開発(フロー)にて提案
1.Salesforceを活用し、ミニマムコストでスピード感を持った機能開発
Salesforceを活用することで0からインフラを構築せずに素早く開発環境を作成することが出来ます。Salesforceの標準機能を基に必要な機能をカスタマイズして開発することで、スピーディな開発〜実装を可能としました。
2.プログラム実装前にプロトタイプ作成し、スピードを保ちつつ認識ギャップを防止
プログラム実装前にプロトタイプを作成することで、リリースというゴールまでスピード感を保ち、的確にコミュニケーションをおこないながら、認識ずれが生じないよう努めました。
3.Salesforce準拠のセキュリティ基準を担保
開発と合わせ、Salesforce準拠のテストコードを作成し、テストを実施することで、リリース後の不具合が発生しにくく、運用保守コストも抑えることができます。またすでにクライアント様が使用されているSalesforceの機能拡張のため、セキュリティー面は今までと同様のものが担保されます。安心感を持ってシステムをご使用いただき、クライアント様、エンドユーザー様双方からご好評いただいています。
まとめ
ソフトウェア開発とは、コンピューター上で動くプログラムを開発することを指します。顧客のニーズを分析し、プログラムを開発し、製品に落とし込んでいく作業です。開発の流れは、調査・ヒアリングから始め、設計・開発と進み、テストを経てリリースとなります。開発工程のなかでプロジェクトの成否に関わる重要なステップが要件定義です。詳細をしっかり決めておかないと、実現したいソフトウェアの開発が難しくなります。また、ソフトウェア開発を外注する場合は、複数の会社に見積もりを依頼したほうがよいでしょう。