2023.10.24
Web開発とは?Web制作との違い、必要なスキル、効果的な開発プロセス
業務の効率を上げるシステムは便利ですが、その開発は容易なものではありません。あらゆるコストやリスクを考慮のうえ検討しなければならず、より安全な方法はないかと考えたときに思いつくのが、自社開発ではないでしょうか。自社開発ができれば、融通がきくうえにコストも削減できます。
しかし、外注か自社開発かを判断するには、Web開発についての知見を深めなければいけません。そこで本記事では、Web開発について解説します。
この記事でわかること
- Web開発について
- Web開発案件の種類
- Web開発に必要なスキル
- Web開発の流れ
目次
Web開発とは
Web開発とは、以下のようなWeb上で利用できるものを開発する仕事です。
- Webアプリ
- Webシステム
- Webサービス
- Webソフトウェア
以前は上記のようなシステムではなく、自社のサーバーやシステムを用いるオンプレミス型が主流でした。しかし、現在はコストや利便性などの観点から、Web上で利用できるものの方が主流になっています。では、混同されやすいWeb制作とは、どのような違いがあるのでしょうか。
Web制作との違い
Web制作とは、Webサイトやホームページを作成したり、ブログなどのコンテンツを投稿、更新したりする仕事です。Web開発とWeb制作の違いは、作るものにアプリ機能があるか否かです。
ブログを投稿できるシステムを例に挙げます。
- Web開発:ブログを投稿できるシステムを作る
- Web制作:ブログを投稿できるシステムのデザインを考える
このように、Web開発は中身、Web制作は見た目を作るというイメージです。なお、Web開発を行う人をWebエンジニアと呼び、Web制作を行う人をWebデザイナーと呼びます。
Web開発案件の例
Web開発の案件には、以下のようなものがあります。
- BtoC系システム
- BtoB系システム
- 社内システム
- CMSサイト
それぞれの特徴を解説します。
BtoC系システム
BtoCとは、Business to Consumerの略称です。つまり、エンドユーザーに向けてサービスを開発することを指します。BtoC系のシステムの例は、以下のとおりです。
- ゲーム
- ECサイト
- Webアプリ
多くのユーザーに提供するものであり、売り上げなど利益の向上を目標にしています。
BtoB系システム
BtoBとは、Business to Businessの略称です。つまり、企業に向けてサービスを開発することを指します。BtoB系のシステムの例は、以下のとおりです。
- 会計システム
- 生産管理システム
- 従業員マッチングサービス
基本的には、業務の効率を上げたり、自動化したりすることを目的として開発されます。企業向けのシステムなので、開発の規模が比較的大きくなることが多く、コストが増えるのも特徴です。
社内システム
社内で利用するシステムの開発も、Web開発案件の一例です。具体的には、以下のようなシステムを開発します。
- 社内連絡システム
- 勤怠管理システム
- タスク管理システム
BtoB系システムと同様、今まで手動やアナログで行ってきた業務を自動で行うようにするために開発することが多いです。社内システムを導入することで、業務の生産性が上がります。ただし、システムエラーが起こると業務に支障をきたすので、十分な注意が必要です。
CMSサイト
CMSとは、Contents Management Systemの略称です。CMSを用いることで、プログラミングコードを書くことなく、文字や画像だけでホームページやブログが作れます。CMSのなかでも有名なのがWordPressで、世界で最も利用されているCMSです。
そのため、WordPressを用いたCMSサイトの開発案件は、需要が増加傾向にあります。なお、CMSサイトは、飲食店から中小企業などが運営します。
Web開発に求められるスキル
Web開発に求められるスキルは以下の4つです。
- プログラミングスキル
- プログラミング言語
- データベース設計力
- フレームワークスキル
それぞれ詳しく解説します。
プログラミングスキル
プログラミングスキルとは、プログラミング言語を用いて、実際にシステムを作ることができるスキルです。プログラミングスキルが高いと、システムのクオリティを改善し続けられたり、読みやすいコードを書いたりできます。
Web開発を依頼する顧客は、はじめにプログラミングスキルを見て、採用するエンジニアを決めることが多いです。そのため、これからWebエンジニアとして活躍したいのであれば、プログラミングスキルを磨きましょう。
プログラミング言語
Web開発では、プログラミング言語を用いてアプリなどを作成します。そのため、プログラミングスキルは必須です。なお、Web開発の場で用いられるプログラミング言語は以下のとおりです。
- HTML
- CSS
- JavaScript
- Java
- PHP
- Ruby
- Python
HTML、CSS、JavaScriptは基本となる言語で、主にフロントエンドで用いられます。一方で、Java、PHP、Ruby、Pythonは、サーバーサイドで用いられる比較的難しい言語です。そのため、プログラミングへの理解が深まってから学習することをおすすめします。
データベース設計力
Web開発には、データベース設計力も必要になります。データベースとは、Webアプリを起動するうえで基盤となるものです。データベースがなければWebアプリは動きません。
本来データベース設計は、ITインフラを担当するエンジニアの仕事です。しかし、Webエンジニアがデータベースのスキルを身につけることで、より多くの現場で活躍できるでしょう。
フレームワークスキル
フレームワークとは、Web開発に必要な機能などをテンプレート化したものです。プログラミング言語ごとに、異なったフレームワークが用意されています。たとえば、PHPだとCakePHP、PythonだとDjangoなどです。
フレームワークには、業務を効率化させるというメリットがあります。しかし、フレームワーク自体を扱うためのスキルが必要です。現在のWeb開発の現場では、フレームワークを用いた開発が主流になっているため、活躍の幅を広げたい方は身につけておきましょう。
Web開発のプロセス
Web開発は以下の順序で行われます。
- 提案依頼書作成
- 要件定義
- 外部設計
- 内部設計
- 開発(コーディング)
- テスト実施
- リリース
- 運用と保守
ひとつずつ解説します。
提案依頼書作成
Web開発では、最初に提案依頼書を作成します。補足として、自社でWeb開発を行う場合は、作成する必要はありません。
なお、提案依頼書にはどのようなシステムを開発したいかという要求を記載します。多くの場合は、以下のとおりです。
- システムの概要
- 解決すべき課題
- システムから得られる効果
- 開発するシステムに繋げる外部システム
- Web開発全体を通しての成果物
- 機能要件
- 非機能要件
- 予算
- スケジュール
- 提案の内容
- 契約の内容
要件定義
要件定義では、システムに必要な機能を明確にしてまとめます。最後に要件定義書を作成するのが一般的です。
なお、要件定義には、機能要件と非機能要件があります。機能要件は、ユーザーの課題を解決するために必要な機能です。一方、非機能要件は、機能要件ではないものの、搭載することでシステムのクオリティが上がる機能です。
非機能要件を決定する際は、ただ単に機能を追加するのではなく、ユーザーにとって本当に必要な機能を追加してください。
外部設計
目に見える部分の設計を行うのが外部設計です。たとえば、画面の見やすさやボタンの操作性などが該当します。
成果が目に見えてわかり、知識がない人でもある程度理解できるため、ユーザーからの意見が出やすい工程です。多くの意見が出ることは、システムのクオリティを上げるという点ではよいことです。
しかし、意見を反映させすぎると、時間もコストも大幅に増えてしまうだけでなく、方向性のズレが生じやすいので注意しましょう。
内部設計
動作や機能といった、システム内部の設計を行うのが内部設計です。たとえば、データベース設計や外部システムとの連携が挙げられます。
外部設計とは異なり、専門的な分野で成果がわかりにくいのが特徴です。そのため、ユーザー側としては、積極的に進捗を確かめなければ認識のズレが起こってしまうおそれがあります。
開発(コーディング)
システムの設計が終わったら、開発に進みます。外注の場合は、開発の現場が近くではないので、ユーザー側が関わる頻度は少なくなります。そのため、定期的に動作確認をしてもらうなどして、進捗を確かめてください。
外注だからといって、開発会社に任せたままでいると、認識のズレが生じる恐れがあります。尋ねるだけでもいいので、積極的にコミュニケーションをとりましょう。
テスト実施
開発が終了したら、システムのテストを行います。システムが開発されたことによる安堵感で、テストに力を入れられていないケースもあるでしょう。
しかし、システムにバグや不具合はつきものです。テストにかける時間やコストを減らしてしまうと、思わぬトラブルに発展するかもしれません。業務に支障をきたすこともあるので、テストも手を抜かずに行いましょう。
リリース
開発されたシステムをユーザーの現場に移す工程です。なお、このリリースには、一斉移行と順次移行の2種類があります。
一斉移行は、システムをまとめてユーザーの現場に移す方法です。時間を節約できますが、一気にすべてのシステムが変更されるので、現場が混乱するリスクがあります。
一方、順次移行では、システムを複数回に分けてユーザーの現場に移します。新しいシステムに徐々に慣れられますが、時間がかかるのがデメリットです。
運用と保守
ユーザーの現場に移したシステムが、正常に動いているかを確認するのが運用です。定期的にメンテナンスも行います。
一方、システムに異常が起きた際、早急に対応して元通りに戻すのが保守です。システムが動かなければ業務ができないユーザーもいるため、迅速な対応が求められます。なお、エンジニアはユーザーの現場で対応する必要があるため、運用や保守のたびに移動が発生します。
まとめ
Web開発とは、Web上で利用できるアプリなどを開発する仕事です。Webサイトのデザインを行うWeb制作とは異なるので注意してください。また、Web開発を行うWebエンジニアには、プログラミングスキルやフレームワークスキルといった複数のスキルが必要です。
案件の種類としては、BtoCやBtoB系システムの開発、社内システムの開発やCMSサイトの開発が挙げられます。なお、Web開発の手順は以下のとおりです。
- 提案依頼書作成
- 要件定義
- 外部設計
- 内部設計
- 開発(コーディング)
- テスト実施
- リリース
- 運用と保守
もし、Web開発の依頼をご検討中であれば、テクノデジタルまでお問い合わせください。経験豊富なエンジニアが、ヒアリングから納品はもちろんのこと、定期的な運用や保守も行います。
投稿者
-
システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。
新着情報
同じカテゴリの記事
新着記事
人気の記事