プログラマー日記

【SE作業】銀行システムの次期案件の体験談

要件定義から設計までを携わりました

某銀行のシステムを刷新し、次期システムとする案件に携わりました。

工程としては「要件定義、基本設計、詳細設計」です。

要件定義では、お客様から次期システムに求める仕様を聞き出し、実現の可能性やコストについて話し合いました。

基本設計では、要件定義で決まった仕様をいかに実現していくかを設計としてまとめていきました。

詳細設計では、実際に使用するプログラム言語に合わせてどのように実装していけばよいかまとめていきました。

全体が把握できないほどの業務システム

銀行のあらゆる業務を統括するシステムを作成していましたが、完成前に別の案件に移ってしまったため最後までは携わっていません。

銀行の窓口業務で担当者が入力するシステム、入金や出金を管理するシステム、自動振込などの常に可動し続けるシステム、投資信託の運用のシステムなど、およそ銀行が業務として行うことをすべて管理するシステムであり、全体像が見えにくいほどの巨大なシステム出会ったため、プロジェクトの人数も膨大でした。

主なプログラミング言語はJava

プログラミングの工程には関わらなかったので使用しませんでしたが、理系の大学でJava言語を習得しました。授業で繰り返しプログラムを作成し動作確認をすることの繰り返しでした。

社会人になってからは、足りない知識を「プログラミングスクール」で補いました。僕が通っていたスクールはマンツーマンレッスンスタイルだったので、わからない部分を効率よく学ぶことができて、その後の仕事に大いに役に立ちました。

要件定義の工程では、お客様の業務内容を理解する必要がありました。

お客様に直接確認することもありましたが、市販されている銀行業務の参考書を読むことで学ぶことが多くありました。

基本設計、詳細設計では、プログラミングの知識を活かし、プログラム化が可能であるように設計しました。

人々の生活基盤を支えているというやりがい

多くの人々が日常的に利用しているシステムの作成に携わったことで、人々の生活の基盤を支えているんだ、と思うとやりがいがありました。

また、巨大なプロジェクト、多くのエンジニアが共同して一つのシステムを作り上げるという事自体が貴重な体験でした。

身についたことは、技術者とは全く考え方の違うお客様といかに意思疎通をしていくかという方法であったり、同じ技術者でも全く違う業務を経験してきている人だったり、外国人だったりする人々を相手にコミュニケーションをとるスキルが身につきました。

要件定義では苦労しました

作成したシステムがあまりにも巨大であり、また初期のお客さまのイメージがあまりにも漠然としたものであったため、要件定義の段階でかなり苦労しました。

システム的な可能・不可能はお客様には判断が出来ないため、過去に使っていたシステムでできることは、次期システムとなっても全て使用できるとお客様が思われていたことで、作業が進んだあとに要件定義で決めたことに変更が入ることもあり、今までの作業の大半が無駄になったケースもありました。