クレジットカードの与信システムで開発の流れを経験

クレジットカードの与信システム開発に携わりました

クレジットカードの与信システムについて、SEとして要件定義から着手し設計、開発、テスト、導入までを通して携わりました。お客様とミーティンを重ね、お客様の意図を漏れなく反映した要件定義書を作成します。それを基に後工程へと進む中で、実現性への難易度、追加要件と納期の調整、開発の成果物が当初の意図を実現しているか等をお客様と密に確認をしていきます。他システムとのインターフェース仕様の確認など、他社エンジニアとの連携も必要となります。テスト仕様の作成もシステムが要件を満たしていることを網羅的に確認できるようテストケースを作成します。コーディングやテストの作業は担当要員に依頼しつつ、自身でもカバーしました。

カードの限度額審査などを判定するシステムです

クレジットカードの新規申込者、および既存カードユーザーの与信管理システムに携わりました。個人信用情報機関に登録されている申込者の信用情報、申込書に記載されている情報等を元にカード発行の可否、利用限度額の判定をします。判定のロジックには、他カードでの支払い状況、延滞の有無、収入などの個々の情報について、どのような属性の持ち主がどれくらいのリスクを持っているか、または利益をもたらすかを統計的に算出した数値を用いる外、貸金業法など法的な規制に適合しているかも判断します。既存のカードユーザーに対しても、定期的に取得する最新の個人信用情報や、過去のカード利用状況を基に利用限度額の増枠、減枠、また利用の停止などの判定を行います。

言語は既存のプログラムやスクールを利用しました

開発言語はJavaでした。多く出版されている書籍等で学べますが、既存システムとして実際に動いている、現場の先人達が作ったプログラムを解析することで得られる知識は貴重です。何を目的とし、何を回避し、何を達成するためにそのコーディングをしているのか、様々な知恵や工夫を得られます。ただ、Javaは、Oracleによるバージョンアップも行われますし、様々なフレームワークや開発ツールが世に出てくるため、新技術のキャッチアップも怠ることはできません。

新技術を知るために、プログラミングスクールに通うこともあります。スキルアップの一環として会社負担で行けるのですが、最新の技術を基礎から学ぶためにはかなり有効な方法となります。

どの言語でどのスクールがいいかなどは、参考になるまとめサイトがあります→プログラミングスクール比較サイト

また、SEとしてお客様をはじめ、プロジェクトマネージャーやメンバーらとのコミュニケーションは重要です。プロジェクトを進めるための情報共有や進捗管理などはツール類が活用されることも多いので、それらツール類の思想、仕組みを把握することで自身のコミュニケーションスキルの向上につなげることもできます。

開発を通して業務を知ることが面白さです

SEとしての面白味は、技術はもちろんシステムが対象とする業務を知ることができることです。クレジットカードの与信等の業務を知ることは社会の仕組みの一端を垣間見ることであり、とても興味深いものです。また、お客様に信頼され評価されることも素直にうれしいものです。技術的な面だけでなく、例えばクレジットカードの法的な知識を得ておけば、要件定義時などにお客様と話が通じ易いですし、要件の漏れや不具合などについてこちらが気付ける範囲も広がります。そのような際に、おっ、頼れるな、と感じてもらえればやりがいにつながっていきます。

ちょっとのミスが全体の影響につながります

ソフトウェアというものは、様々なロジックやデータ構造が緻密に組み上がってできているものです。ほんの少しの意志疎通の齟齬、思い込み、油断、その場しのぎの手抜きが不具合を生むので、システム開発全体を意識しつつも、日々の細かな作業への気配りや集中を途切れさせないようにすることが大変な点です。例えば、既存のプログラミングを改修するにあたり、どこで使用されているメソッドなのか等、影響範囲を十分に確認せず安易に行った変更が思わぬ箇所に不具合を発生させることはありがちです。既存システムで起きた不具合を調べる過程でそのシステム開発時のテスト記録を見ると、考え得る動作パターンのうち単純な数パターンしかテストしていなかったことが判明したこともあります。確認作業等に際して、面倒でもきちんとチェックリスト等を用意し作業漏れを防ぐ必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です