システムを開発するエンジニアにも、色々な種類があるように、実際に開発するシステムそのものにも、色々な種類があります。 

 というわけで、今回は

・フロントエンド、バックエンドの違い

・フロントエンドのシステム開発について

・バックエンドのシステム開発の種類や具体例


 これらのポイントに沿って、システム開発の種類について説明していきます。 



1. フロントエンド、バックエンドの違い

 システム開発は、大きく「フロントエンド」と「バックエンド」の2種類に分けられます。

 それぞれの特徴は

フロントエンド → WEBサービスやアプリケーションの見た目に関する部分の開発

バックエンド → WEBサービスやアプリケーションの機能面やデータなどに関する部分の開発


 ざっくり、このように分けることができます。



2. フロントエンドのシステム開発について

 上述したように、 フロントエンドのシステム開発は、 WEBサービスやアプリケーションの見た目に関する部分の開発のことです。

 エンジニア的な視点だけではなく、デザイナーの視点(UI / UXなど)も必要になり、実際にサービスを利用するユーザーがどう感じるか・使いやすいかということを考慮しながら開発を進めていく必要があります。 


(1) UI / UX とは

 UIは「 User Interface 」の略称で、ボタンメニューやアイコンなど、ユーザーが実際に接する部分のことを指しています。

 UXは「 User Xperience 」の略称で、一言でいうと、サービスやアプリを利用した際のユーザー体験のことを指しています。 

 どんなに優れた機能をもっているサービスでも、UI / UX が悪ければ、その価値がきちんと伝わらず、しっかりとサービスを利用してもらえないので、とても重要な要素になります。


(2) CMSなどでも重要な役割を担う

 UI / UXは、私たちが普段からよく利用するWEBサービスやアプリだけでなく、CMS(Content Management System)でも重要になる概念です。というのも、そもそもCMSは、専門知識を持っていない人でも不自由なく作業できることを目的に開発されたものだからです。つまり使いにくいCMSは、そもそも意味がないということになり、UI/UXの観点が特に重要になるわけです。 

▼参考記事:CMS(IT用語集)


(3) フロントエンドのシステム開発に利用する言語について

 フロントエンドのシステム開発に利用する言語は以下のような種類のものです。

・HTML( ページの要素や構造を記述するための言語。)

・CSS( デザインや動きなどを調整するための言語。)

・JavaScriptJquery( 動きや演出を加えるための言語。JavaScriptをよりシンプルにしたものがJquery)


(4) FireBaseなどを使えば、フロントエンドの技術だけでサービスを開発することも可能 

 Googleのサービスである「FireBase」というバックエンドのサービスを利用すれば、フロントエンドの技術だけでWEBサービスを開発することも可能です。さすがに複雑なものは難しいですが、簡単な仕組みのものであれば問題なく機能します。 

 FireBaseのようなサービスは今後もさらに増える(進化する)可能性が高く、エンジニアに求められるスキルや経験も変わってくることになるかもしれません。


3. バックエンドのシステム開発の種類や具体例

 一方で、バックエンドのシステムですが、こちらはユーザーの目には直接見えないシステムの部分を担っているため「バックエンド」と言われており、サービスがしっかりと機能するための仕組みの部分のことを指しています。 


 例えば「情報システムの中にある、必要な情報を検索したい」場合、

・たくさんの情報をまとめて管理するデータベース(倉庫)

・データベースにアクセスして情報を検索する機能

・検索したデータをページに出力する機能

 など、様々な仕組みが必要になりますよね?

 こういった直接目には見えない、裏側の仕組みや機能のことをバックエンドといっています。


 なお、こういったバックエンドのシステムは、サービスやアプリケーションを機能させるための基幹部分になるため、私たちが普段よく利用している「LINE」「Facebook」「Instagram」などの身近な種類のサービスだけではなく、「ERP」や「CRP」などの業務系アプリケーションの開発においても、重要な役割を担っています。


(1) ERP( Enterprise Resources Planning )とは

 ERP( Enterprise Resources Planning )は、人事、会計、在庫・生産管理など、企業の基幹系業務システムを統合してひとつにまとめた業務パッケージのことです。以前までは部署ごとで個別にデータを管理していたため、同じデータのやり取りや二重登録など無駄な業務が多く発生していましたが、ERPパッケージが導入されることによって、より合理的にデータの管理・活用ができるようになり、意思決定のスピードUPにもつながっています。

 ちなみにERPに対して、CRP( Capacity Requirements Planning )というものもあり、こちらは生産管理までのパッケージのことを指しています。

▼参考記事:ERP(IT用語集)



(2) 具体的なERPパッケージ


【GRANDIT】

 WEBベースの国産ERPパッケージで、ソフトバンクなども採用しています。

GRANDIT公式サイト


【Microsoft Dynamics 365】

 マイクロソフトもERPパッケージを導入しています。人事や会計などのバックオフィス業務だけではなく、セールスやマーケティングなどの業務をアシストする機能もあります。

Microsoft Dynamics 365 公式サイト



(3) SaaS(Software as a Service)型のERPパッケージ

 最近はSaaSを利用したクラウド型のERPも増えてきており、多くの企業が、より手軽にERPを導入できるようになってきています。

 

【freee】

 freeeは会計や人事労務などを一元管理するためのERPです。経営状況の把握や意思決定のスピードをあげることだけではなく、人的リソースをより重要な業務に多く充てられることなども期待できます(ちなみにfreeeは、従業員300名に対して、経理1.5名・労務1名体制の実現に成功)。

freee公式サイト


【 CAM MACS(キャムマックス)】

 CAM MACSはスモールビジネスに特化したERPです。店舗ごとの売り上げ・顧客・在庫情報などを一元管理することができます。また初期費用や月額料金が安く、30日間は無料で利用できるため、中小企業も利用しやすくなっています( 初期費用35000円 / 月額35000円 )。

CAM MACS 公式サイト



4. まとめ

最後にもう一度ポイントを整理しておきます。 


(1) システム開発は大きく「フロントエンド」と「バックエンド」の2種類に分けられる。

フロントエンド → WEBサービスやアプリケーションの見た目に関するの部分の開発。

バックエンド → WEBサービスやアプリケーションの機能面・データなどに関する部分の開発。


(2) フロントエンドのシステム開発は、 WEBサービスやアプリケーションの見た目に関する部分の開発のこと。エンジニア的な視点だけではなく、デザイナーの視点(UI / UXなど)も重要になる。


(3) バックエンドのシステムは、ユーザーの目からは直接見えないシステムのこと。サービスの裏側の仕組みや機能を担っているため「バックエンド」と言われている。一般的なサービスだけでなく、ERPやCRPなどのサービスでも重要な役割を担っている。