当ライフプランソフトの内部設計・拡張性
このページでは、当ライフプランソフト内部の技術的仕組みや、他システムとも連携できる拡張性を持たせて開発していることを解説しています。
※全体的に、技術的な記述となっています。
システムを3階層で開発
ライフプランソフトFinancial Teacher Systemの内部は、次の3階層で設計されています。
この構成は、企業向けのコンピュータシステムを設計する時に用いられる一つの設計技法です。
この3階層を連携して動作させることで、大規模開発も効率よく行え、機能拡張に強い仕組みにできるのです。
3つの階層の解説
金融計算ロジック層
最初に、真ん中の金融計算ロジック層についてご説明します。
金融計算ロジック層には、各種金融計算機能や、シミュレーション実行機能が詰め込まれた部分で、ライフプランソフトの核になる部分です。
保険の必要保障額の計算、住宅ローン返済額の計算、老齢年金や遺族年金の計算、各種税額の計算、資産運用シミュレーション、キャッシュフロー表の構築など、あらゆる金融計算をこの層が担当します。
ファイナンシャルプランナー、税理士、金融機関の職員など、金融コンサルタントがビジネスを行う上で重要となる業務上のロジックが詰まった層です。
この金融計算ロジック層は、多数のAPIを公開しています。
他のシステムと連携しやすく、また改変が容易なように工夫して開発しています。
そのため、ファイナンシャルプランニングに関して、多様な機能拡張が容易に実現できるのです。
データアクセス層
システムで使うデータを呼び出したり、保存する機能を専門的に扱う部分です。
データの保存先を変更したり、データの読み書き方式を変更する場合に、この層に修正を加えます。
例えば当ライフプランソフトをベースとした新しいライフプランシステムを作るときには、他社が保有するデータベースと読み書きするように改変するだけで済みます。
また、データベースソフト(SQLServer、Oracle、MySQLなど)を切り替えたり、データベースソフト自体のバージョンアップにも、柔軟に対応できます。
他、シミュレーションで使用する各種統計情報のファイルから、計算で必要なデータを読み取るのもこの層が担当します。
UI・UX層
ライフプランソフトのユーザーが直接触れる部分となる、ユーザーインターフェースを提供する部分です。
たとえば、ソフト画面に表示する各種計算結果やグラフを、ブラウザが解釈できるHTML形式で出力します。
皆さんが画面で入力した内容を、金融計算ロジック層に渡して計算を依頼する役割も担います。
ブラウザで操作するウェブ型ソフト、パソコンインストール型ソフト、タブレット・スマートフォンアプリのそれぞれの形態に応じて、適した画面UI機能を提供します。
家計分析レポートやキャッシュフロー表を、ExcelファイルやPDFファイルに出力するのも、この層が担当します。
他のシステムとの連携をする場合には、外部APIを公開する役割も担います。
シミュレーション結果やキャッシュフロー表のデータを、別システムで活用できるデータ形式に変換することもできます。
3階層構造で開発している理由
FPの皆様のご要望を、迅速に反映できる
この3階層で開発することで、ソフトウェアが果たす役割を分担させることができ、その結果FPの皆様のご要望を柔軟に素早く実現できます。
いくつかの具体例でご紹介しましょう。
情報の見せ方を変える場合
例えば、画面レイアウトを変えたり、グラフを追加表示させたい場合です。
このケースでは、UI・UX層に変更を加えれば実現できます。
(計算ロジックを変える必要はないので、金融計算ロジック層の改変は不要です)
税制改正・法改正に対応する場合
たとえば税制改正や法改正などに対応する場合、次のようにして対応が可能です。
- 計算ロジックが変わるので、金融計算ロジック層を修正
- ウェブ画面や家計分析レポートの表示内容を変えたり、追加の入力欄が必要になれば、UI・UX層も修正
- 新しくソフトに登録すべき項目が増えるなどの理由で、データの保存形式を変更する必要があれば、データアクセス層も修正
データの保存形態を変えたい場合
たとえば次のような場合に、計算ロジックや画面に影響を受けず、独立して作業を行うことができます。
- データの保存先データセンターを変えたい場合
- データベースに保存されているデータを暗号化する場合
- 高速なデータベースシステムに置き換える場合
- 統計データのファイル形式が、CSVからExcel形式に変化する場合
他システムへの移植・転用もしやすい
当ライフプランソフトは、全体として複雑に入り組んだシミュレーションシステムになっています。
しかし、機能ごとに部品化して作っています。
その部品となるプログラムを柔軟に組み合わせることで、難易度の高いシステムもスピーディに開発できる強みをもたせています。
当ライフプランソフトを転用、移植する場合も、すべてを一から作る必要がなく、各層の必要な部分だけをカスタマイズするだけで済みます。
複数人での役割分担がしやすい
3層に分けた設計方針なので、次のような役割分担が可能です。
- UI・UX層は、主にウェブデザイナーとウェブエンジニアが担当
- 金融計算ロジック層は、ファイナンシャルプランナーと金融系エンジニアが担当
- データアクセス層は、データベースエンジニアとセキュリティ担当者が担当
他のシステム、ソフトと連携させることも可能
他のシステム・ソフトと、当ライフプランソフトとを連携させて動かすことも可能です。
例えばこのソフトの金融計算ロジック層をWebAPIの仕組みに載せ、ウェブ経由でのシステム連携も行えます。
入力値を投入すれば、シミュレーション結果やキャッシュフロー表をJSON形式・XML形式で返却させるシステムも可能です。
当ライフプランソフトの金融計算ロジック層のプログラムを、dllファイルで生成し、クラスライブラリAPIの役割も果たすこともできます。
マネー・FPに関するメールマガジンを発行しています。
(全て登録無料。姉妹サイトのメールマガジン案内ページへ移動します)