### プロジェクト概要
2025年7月から同年9月までは3名体制のチームでWebアプリケーションの新規開発を担当し、10月以降は1人で保守および追加機能の開発に従事している
### 役割・体制
#### 自身のポジションと役割
- 新規開発フェーズでは、要件定義・設計・コーディング・進捗管理などをチームで分担しながら担当
- 保守フェーズ以降は、1人で機能追加・リファクタリング・マニュアル作成などを継続的に実施
#### チーム規模と構成
- 新規開発時:3名(エンジニア3名)
- 保守・追加開発時:1名(自分のみ)
### 実際の取り組み
#### 開発した機能
- IDとパスワードおよびセッション変数による簡単なログイン認証
- 請求書作成、履歴登録・参照
- 要員から申告された実働時間や営業交通費を入力し、顧客への請求金額を計算し、請求書のフォーマットに出力する機能
- 請求履歴の編集・削除・検索
- 要員情報管理
- 稼働状況や勤務形態、個人情報などの情報の登録・編集・削除・検索
- 検索時、チェックボックスによる休・退職者の除外が可能
- 契約情報管理
- 単価や契約開始日などの情報の登録・編集・削除・検索
- 編集履歴の削除・検索
- 顧客情報管理
- 担当者の電話番号や代表者名などの情報の登録・編集・削除・検索
- 契約割当管理
- 要員名や企業名などの情報の登録・編集・削除・検索
- 割り当て履歴の編集・削除・検索
#### 自分の担当領域
- 業務要件のヒアリングから機能の洗い出し、要件定義・設計までを主導
- プロジェクト進捗の管理
- 保守・追加機能の開発およびコードのリファクタリング
- ユーザー向けマニュアルの作成
#### チームでの取り組み
- PHP、JavaScript、HTML、CSSによるコーディングを3名で分担して実施
#### 開発にあたって意識した点
- 対象ユーザー(総務部事務員)への丁寧なワークフローの聞き取り
- 漏れと重複のないユースケースの考慮および要件定義・画面設計
- オブジェクト指向に基づいた適切なクラス設計
- チーム内でのスケジュール・成果物の管理と迅速な報連相
#### 今後の改善点
- セキュリティ向上。パスワードのハッシュ化や外部からのアクセス遮断などが未実装
- 保守性。フレームワークを使用しておらず、コードに統一性がない。また、リンターやフォーマッターを導入していないため、命名規則が厳格に守られておらず可読性が低い。
#### 補足情報
- 使用技術の選定は教育担当者によるもの
- 開発手法はウォーターフォール型
- 新規開発フェーズ(〜9月)はフレームワーク・テンプレートエンジン・ORMなどを使用せず、素のPHPで構築。アーキテクチャはシンプルなMVC
- 保守・追加開発フェーズ(10月〜)では、Composerを用いたツール導入によるリファクタリングを実施