印刷会社の顧客預託金
管理システムの​​開発

印刷会社の顧客預託金管理システム

概要

低コストのリプレイス案件で、2.5名体制で8カ月間の開発期間でした。
当初は1名での開発予定でしたが、期間内の完了が難しいため、増員として途中から参画しました。既存メンバーはサポートに回り、私がメインとなり開発を進めました。
参画後は、上司同伴のもと先方への進捗報告や、修正内容・新規画面の仕様などのヒアリングを担当しています。

案件詳細

現行システムはWindows XP専用で、保守や運用面に制約がありました。
また、印刷物も専用用紙・専用プリンタに依存していたことから、Web化によるリプレイスが進められていました。
現行の仕様が資料として残っていなかったため、顧客先のPCからテーブル構造やクエリをスクリーンショットで取得し、それを基に仕様を読み解いて再構築する流れでした。

担当業務
設計
  • 既存システムの移植を中心に担当
  • 新機能追加に伴いテーブルに必要なカラムの追加
  • ビュー用の一時テーブルの設計と実装
フロントエンド
  • UIデザイン全般および印刷用帳票のデザインを担当
  • CSS設計はFLOCSSを採用
バックエンド
  • ASP.NET Core MVC環境
  • データアノテーション属性を活用したバリデーション
  • LINQ構文によるクエリ作成
  • 基本的なデータ操作・マイグレーション(複雑なカスタマイズは少なめ)
運用・保守
  • システムのバージョンアップ
  • IISへのアプリケーションのデプロイ
  • 自己証明書の適用
  • 改修や軽微な不具合の修正
補足
  • 環境構築やテスト工程は他のメンバーが担当
開発環境
フロントエンド
言語: HTML5, CSS3, JavaScript, C#
フレームワーク: Razor
バックエンド
言語: C#
フレームワーク: ASP.NET Core MVC(.NET 7 → .NET 8)
ORM: Entity Framework Core
データベース
DBMS: SQL Server
管理ツール: SQL Server Management Studio
パッケージマネージャ
NuGet
インフラ
OS: Windows Server
Webサーバー: IIS
環境: オンプレミス
バージョン管理
GitHub
デプロイ方法
リモートデスクトップ接続によるIISへの手動デプロイ
エディタ
Visual Studio Code
データフロー
印刷会社の顧客預託金管理システムの​​開発_データフロー
参画期間
2023年9月~2024年2月 (約6カ月)

UI・帳票設計の改善

リプレイス前は、ボタンといくつかの入力項目だけがある非常にシンプルなWindowsアプリでした。
ボタンの並び順は適切ではなく、テキストもプログラマ思考の表現で直観的ではなく、余白の設計も不十分なため、操作感は最適とは言えませんでした。
Web化にあたり、導線の整理や文言の調整、レイアウトを再設計し、一般的なWebアプリの操作性・視認性に落とし込みました。

印刷物の計算書(お客様控え・返送用の申込書類)は、専用の用紙での印刷でしたが、Web化に伴い汎用の用紙での印刷に変更となりました。そのため、html, cssで再現し、封筒に収まる適切なサイズとなるように調整をしました。

各帳票に関してもhtml, cssで再現しましたが、ブラウザでの印刷の仕様上、全ページ数の取得が困難でした。また、低コスト案件だったため、シンプルにブラウザ印刷時のヘッダ・フッタ機能で対応しています。
この点に関しては、将来的にはPDF生成による帳票出力で改善可能です。

所感

フレームワークの自動生成コードをベースに、 既存システムからの移植や機能追加の要件に合わせて、柔軟に調整する力が身につきました。

C#や.NETは初めてでしたが、Javaでの学習経験があったため、スムーズに習得できました。実務を通して、MVCモデルに基づいた堅牢なシステム構造の構築を経験でき、大きな収穫となりました。

.NET 7での開発では、下位互換の切り捨てに伴う情報不足に直面しましたが、公式ドキュメントや関連情報を自力で調査し、調べる力が身に付きました。