本篇呈現校友錄系統的整體架構設計,並詳細拆解前台功能需求,為後續資料庫模型與程式碼實作奠定基礎。
一、系統架構總覽

採用經典三層式架構:
- 表現層:ASP.NET MVC + Razor + jQuery + Metro UI 風格
- 業務邏輯層:Service/Manager 類別,協調資料存取與業務規則
- 資料存取層:Entity Framework Code First,操作 SQL Server Compact 資料庫
二、前台核心功能需求
A. 註冊與登入系統
- 開放註冊,無實名認證限制(由管理員事後審核/刪除異常帳號)
- 表單驗證:使用者名稱唯一、密碼強度、Email 格式
- 登入支援「記住我」(Cookie)、驗證碼防暴力破解
B. 班級全生命週期管理
班級是系統核心聚合根,所有社交功能皆以班級為邊界:
| 功能 | 說明 |
| 查找班級 | 依學校、關鍵字搜尋現有班級 |
| 建立班級 | 輸入班級名、選擇/新增學校、上傳封面圖 |
| 加入班級 | 點擊申請,若班級設定需審核則進入待審狀態 |
| 退出班級 | 會員自行退出,保留歷史發文/相簿(軟刪除關聯) |
C. 班級內社交功能
- 相簿/照片:建立相簿、批次上傳、刪除自己上傳的照片
- 留言/評論:班級牆發文、巢狀回覆、刪除自己的留言
- 通訊錄/小紙條:查看班級成員公開資訊、發送站內信(小紙條)
D. 個人資料與設定
- 基本資料編輯(暱稱、生日、性別、Email、大頭照)
- 隱私設定:控制哪些欄位對班級成員可見
- 修改密碼、綁定第三方登入(規劃中)
三、非功能性需求
- 操作體驗:單頁應用感覺(AJAX 非同步)、Metro 磚塊佈局、響應式設計
- 效能:首頁載入 < 2 秒、圖片延遲載入、靜態資源 CDN
- 擴展性:模組化領域模型、介面導向設計、支援未來微服務拆分
- 安全性:XSS/CSRF 防護、SQL 注入防護(EF 參數化)、檔案上傳驗證
四、下一步規劃
- 根據上述需求設計實體模型(ER 圖)
- 建立 Code First 實體類別與 `DbContext`
- 實作資料庫遷移種子資料
- 開發核心 Repository/Service 介面
架構圖與需求文件是團隊溝通的共同語言,投入時間在前期設計,能避免後期大量重構成本。