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

概要
低コストのリプレイス案件で、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での開発では、下位互換の切り捨てに伴う情報不足に直面しましたが、公式ドキュメントや関連情報を自力で調査し、調べる力が身に付きました。