IT素人必見!業務システムの役割・開発ってどんな?の疑問にわかりやすくお答え!

IT素人必見!業務システムの役割・開発ってどんな?の疑問にわかりやすくお答え!

業務システムって具体的に何のことなのか、どんな役割を持っているのか、あまりご存知ではない方も多いのではないでしょうか?

今後、IT業界に入りたいので、業務システムの開発についても知っておきたい、という方も多いかと思いますので、一緒にお答えしていきます。

IT事業の中で、業務システム開発、ソフトウェア開発、サービス開発のうち、日本でもっとも売上が高いIT事業は「業務システム開発」です。

そのため、IT業界に従事する方々が業務システムについての知識を持っておくことに損はありません。

まだ概要も全然わからないという方は、この記事を読んで知っていきましょう。




1. 業務システムとは

それでは早速、業務システムとは何ぞや、から知っていきましょう。

業務システムとは、業務をする際に使用するシステムのことです。その名の通りですね。(笑)

給与計算や勤怠管理のシステム、また、企業によっては自社独自のシステム等を保有して、業務の品質、作業効率アップを目的として導入されます。

簡単に言うと、「業務システムは、普段の業務の品質を上げ、作業効率も上げてくれるシステム」と覚えれば良いでしょう。

しかし、この「業務システム」というのは少し曖昧なものがあり、分類によって内容が異なります。

後ほど、業務システムの分類をお伝えしていきますが、話の流れで、どの業務システムの種類に当たるかを判断する必要があります。

先ほど触れたように、企業や個人が業務をするにあたり、利用して作業効率を上げるシステムを業務システムと呼びますが、ここでは、コンピュータシステム(コンピューティング)のことであり、コンピュータ上のソフトウェアを業務に合わせて使用するものを指します。

2. 業務システムの分類

それでは、業務システムを分類ごとに見ていきましょう。

大きく、基幹システム業務支援システムインターネット・セキュリティシステムの3つに分けてお伝えします。

基幹システム

各企業の、基幹となる業務をコンピュータで管理するシステムを指します。

簡潔に言うと、「ビジネスを行う際、必要不可欠な処理をするコンピューティング」のことです。

業種ごとに基幹となる業務が異なるため、一概にどの基幹システムも同じものになるとは言えません。

そのため、基本的に決まった枠組みがある訳ではなく、基幹システムの中に、会計・人事管理、生産購買管理、販売在庫管理といった企業の管理業務を支援するものがあります。

どの基幹システムも、業務効率化が目的であり、これまで人の手で行っていたものをコンピュータでシステム化し、品質を上げ、ミスも削減していくものになります。

最近では、ERP(イー・アール・ピー)と呼ばれる、Enterprise Resources Planning(エンタープライズ・リソース・プランニング)の導入が多く見られます。

ERPは日本語にすると、「企業資源計画」または「経営資源管理」と訳すことが出来、よく「統合基幹システム」と呼ばれるものでもあります。

ERPは企業の業務全体をカバーする大規模なシステムであり、正確には、基幹システムとERPは同一のものではないので、混同して考えないように気を付けましょう。

業務支援システム

販売や営業、企画等の業務を、それぞれのあらゆる視点から支援していくシステムになります。

よく注目されるシステムとしては、SFAとCRMがあります。

一度は耳にしたこともあるのではないでしょうか。

SFA(エス・エフ・エー)とは、Sales Force Automation(セールス・フォース・オートメーション)の略で、「営業の自動化」を表します。

CRM(シー・アール・エム)とは、Customer Relationship Management(カスタマー・リレーションシップ・マネージメント)の略で、「顧客関係管理」を表します。

SFACRMはそれぞれ、元々別のソリューションとして誕生しましたが、最近は同じ括りにされることが多々みられます。

SFAは、営業情報や、業務の自動化を分析して営業の効率化をすることで、ボトルネックを見つけ、売上と利益を上げることをサポートするシステムです。

CRMは、蓄積した顧客に関わるデータを分析し、顧客に適したサービスを提供することで関係性を構築する助けとなるシステムです。

インターネット・セキュリティシステム

インターネットシステムとは、その名の通り、インターネット上で利用出来るシステムのことです。

ECサイト構築や、ログ解析、CMS(Contents Management System/コンテンツ・マネジメント・システム)と呼ばれるコンテンツ管理システムは、今や必要不可欠なものとなっています。

これらのシステムによって、ECサイトで商品を購入したり、サイトにどのくらいの訪問者がいてどのように閲覧されたのかを解析し、そもそものホームページの作成や更新、運営が出来るようになります。

ここでのセキュリティシステムは、インターネットセキュリティに関してお伝えします。

今や、サイバーテロなんていうことが起こる時代です。

インターネットを介した様々な情報システムのセキュリティ管理をサポートする必要があるのです。

PC管理、ライセンス管理、ログ管理、不正検出等、セキュリティシステムによって守ることが出来るのです。

3. 業務システム開発では何をするのか

業務システム開発では、これまで述べてきたような、ソフトウェアやITを駆使して業務を効率化させる仕組みを構築することになります。

既存業務の効率化や各企業の目的に合わせて、システムを作り上げていきます。

既存の業務の効率化改善や最適化、新たな業務の仕組みを実現させる目的で、ソフトウェアプログラムを使い業務にあわせたシステムを作ることです

業務システム開発には多くの職種の方々が関わりますが、主に、エンジニア・プログラマー・プロジェクトマネージャーが主要なポジションで動きます。

業務システム開発は、主に下記のような流れになります。

①要件定義
②外部設計
③内部設計
④プログラミング
⑤単体テスト
⑥結合テスト
⑦システムテスト
⑧運用テスト
⑨システム移行
⑩運用・保守

①要件定義

顧客企業の要望を調査・分析して、どのようなシステムが求められているのか、実現すべき機能は何かを確定させていくことが必要になります。それが要件定義となります。

動きとしては、システム化の目標、要件の候補洗い出し、要件の選定、選定した要件の優先順位付けをしていきます。

また、工期や予算についても確認して定めていく必要があります。

しかし、要件候補がはっきりしなかったり、システム化の目標が曖昧だったりすることで、要件定義が甘く、大赤字を叩き出してしまうことも多いものなので、注意が必要です。

②外部設計

要件定義で決まった内容に沿って、実現させたい機能を定め、仕様に落とし込んでいきます。

システムにどのような機能を持たせ、どのような結果を求め、データを扱っていくかを決めていきます。

外部設計では、主に、システムの機能や構造を決めていきます。

全体のインターフェースを設計する必要があるため、顧客企業からの目線を持って作成することが重要になります。

③内部設計

内部設計では、外部設計したものに、より詳細な作成方法を決め、システム仕様書を作成していきます。

主に、機能やデータの流れの実装方法を決めていきます。

このシステム仕様書をもって、プログラミングしていくので、明確に詳細に作成することが重要になります。

④プログラミング

システム仕様書を元に、プログラミングを行います。

何らかのプログラミング言語でコードを書いていきます。

このコードを書くことを、プログラミング、コーディング、実装等と呼びます。

ただ、仕様書には必要最低限の内容しか書かれていないこともあり、どのように実現するかはプログラマー任せになる場合もあります。

プログラミングはセンスが必要とも言われており、優秀なプログラマーと普通のプログラマーの生産性は100倍も違うと言われたりもしますが、優れたプログラムを書き写して勉強する等、上達する方法はあります。

⑤単体テスト

プログラミングが出来上がったら、個々のプログラムを検証する単体テストを行います。

動作検証を行い、不具合を出し尽くすのが目的です。

以降の工程で不具合が発生しないように、この単体テストで全ての不具合を洗い出します。

ロジックの確認、手続きや関数といったものを画面ごとに確認するので、以降で発生するテストよりもテストケースが多くなります。

ここで手を抜いてしまうと、後々の工程に響いてしまうので、力を入れて行う必要があります。

⑥結合テスト

単体テストで合格したプログラムを組み合わせてユニットにします。

そのユニットを検証するのが結合テストです。

機能と機能の連携に問題がないか、その不具合を洗い出す工程になります。

結合テストには、主に、トップダウンテストとボトムアップテストの2つに分けられます。

プログラムのどの部分から組み合わせるかによって変わります。

トップダウンテストは、上位モジュールと呼ばれるものを結合させたユニットからテストをしていきます。

上位モジュールは、システムの処理状態、リソースを把握するもので、システム内で下位モジュールを呼び出す役割を持っています。

上位モジュールを先にテストすることで、必要であるはずの機能の漏れや、仕様違いといった不具合を早い段階で潰すことが出来ます。

ボトムアップテストでは、単体テストで合格した下位モジュールと呼ばれるものを結合させたユニットからテストをしていきます。

下位モジュールは、上位モジュールに呼び出されるもので、それぞれで汎用性の高い機能を有しています。上位モジュールに呼び出されて、単体で動いていくものになります。

下位モジュールを先にテストすることで、開発とテストを並行して進めることが出来ます。ただ、上位モジュールへとテストが進んでいった場合に不具合があれば、戻って下位モジュールを修正する必要があります。

トップダウンテストとボトムアップテストは、上下どちらからテストをするのか、の違いだと認識すると分かりやすいでしょう。

⑦システムテスト

システムテストは、全てのプログラム、データベース、ハードウェア、ネットワークを組み合わせた本番と同じ環境でテストをするものです。総合テストとも呼ばれます。

システムテストにもいくつかの種類があり、負荷テスト、パフォーマンステスト、障害テスト、セキュリティテスト、構成テスト等があります。

作り上げたシステムが、顧客企業から要求されていた機能・性能を満たしていて、品質に不備なく納品出来るものであることをテストします。

本番環境と同じ環境でテストすることで、想定外のデータが存在していないか、使用しているソフトのバージョンでトラブルが発生しないかをチェックしていきます。

⑧運用テスト

運用テストは顧客視点でテストを行います。本番稼働をする前の最終テストになります。

検収して受け入れる際に行われるものであることから、受け入れテストと言われたりします。

システムテストと同様に扱われる場合もありますが、最初にも述べたように、「顧客視点」でテストする目的が大きいです。

これで問題がない、と承認が得られれば業務システムの完成です。

ただ、多くの場合、多少の不具合があっても納品となり、納品後にバグの修正や機能の追加があったりしますので、納品後に何もしないことが発生しないものだと思っておいた方がいいでしょう。

⑨システム移行

完成したシステムを実際の業務で使用出来るように、移行していく必要があります。

完成したシステムにどのデータを取り込み、使えるようにしていくのかを確定し、そのデータをシステムに合わせた形式に変換する必要があります。場合によっては、変換する必要なくデータを取り込める場合もあります。

データを取り込み、システムに移行出来たら、取り込んだデータに問題がないかテストをする必要があります。

テスト以降の本番で、バグや不具合が出てしまうと大変なことになってしまうので、この段階でデータの移行によって不具合が出ないように注意して行う必要があります。

⑩運用・保守

業務システムを納品した後も、システムの不具合修正や追加機能の要望に応えていくことや、顧客企業からの質問に答えたり、システムの不正利用や情報漏洩の防止をしていく必要があります。

このようなものを運用・保守と言います。

ただ、運用・保守とは実際に一括りには出来ない内容となります。

運用とは、システムが停止しないようにする「日々の稼働」に関する業務のことを指します。

保守とは、保守システムに不具合があった時の「トラブル対応やシステムの変更」に関する業務のことを指します。

4. まとめ

業務システムとは何なのか、どのような開発を行うものなのか分かりましたでしょうか?

まずはこの大きな流れを掴んで、次のステップへと進んで知識を深めていきましょう。

IT業界未経験の方でも、まずはざっくりとしたイメージを持ってもらえたら嬉しいです。


人気ブログランキング

ブログランキング・にほんブログ村へ




IT業界についてカテゴリの最新記事