:::warning - 記得切雙欄或編輯模式,裡面有偷偷塞 `<!-- -->` 的註解 - 用詞統一! - 共識 - 圖表使用 ==**?**== 製作 - 參考 - [這邊有個範本](https://gaoliwen.gitbooks.io/-/content/di_san_zhang_ruan_ti_she_ji_gui_ge_shu.html) ::: # 目錄 :::success [TOC] ::: # 軟體設計規劃 ## 設計方法與工具 - 前端:React - 後端:Python (flask) - 資料庫:MySQL (SQL) - Server: - 環境:Docker ## 軟體組織架構 ## 系統流程圖 ## 軟體元件設計 <!-- Button, Pages, Fucnctions input, output --> ``` returnValueType functionName( functionInput ) { Action(); } ``` ### 命名規則 > 使用 class 製作 ``` class page { popup button text image } ``` #### 頁面 1. 主頁面:main 2. 登入頁面:login 3. 個人資料頁面:profile 4. 系統說明頁面:system 5. 系統教學頁面:tutorial 6. 最新消息頁面:announcement 7. 訂餐頁面:order 8. 購物車頁面:cart 9. 支付選擇頁面:payment 10. 常見問題頁面:FAQ 11. 回饋意見頁面:feedback 12. 訂單狀態查詢頁面:orderState 13. 訂單統計頁面:orderStatistics 14. 意見管理頁面:feedbackManagement #### 物件名稱 1. 頁面:page 3. 按鈕:button 4. 視窗:popUp 5. 輸入框:inputBox 6. logo:logo 7. 下拉式選單:dropDown 8. 表格:table 9. 核取方塊:checkBox 10. 圖片:image 11. 文字:text 12. footer:footer **物件名稱_頁面_(視窗)_功能** eg. button_login_logout() 登入頁面的登出按鈕 ### 訂餐 - `button_main_order()` ```C= change page from main to order ``` - `popUp_main_warning()` ```C= if user not login: show warning message ``` - `button_main_warning_closePopUp()` ```C= if click: close( warning popUp ) ``` #### 訂餐頁面 - `button_order_breakfast()` ```C= dishes = breakfast dishes show breakfast dishes ``` - `button_order_lunch()` ```C= dishes = lunch dishes show lunch dishes ``` - `button_order_drink()` ```C= dishes = drink dishes show drink dishes ``` - `button_order_other()` ```C= dishes = other dishes show other dishes ``` - `button_order_cart()` ```C= show cart() ``` - `button_order_order()` ```C= show order popUp() ``` - `text_order_dishName()` ```C= show dishName() ``` - `button_order_cart()` ```C= show cart opopUp() ``` #### 餐點 - `popUp_order_dish()` ```C= show order popup ``` - `dropDown_order_dish_customize()` ```C= show dropDown and mark ``` - `checkbox_order_dish_customize()` ```C= if click: mark dishes else: unmark dishes ``` - `button_order_dish_increase()` ```C= increase number of that dish ``` - `button_order_dish_decrease()` ```C= decrease number of that dish ``` - `button_order_dish_addToCart()` ```C= write dishes to cart ``` - `button_order_dish_closePopUp()` ```C= if click: close( dish popUp ) ``` #### 訂單內容 - `popUp_order_content()` ```C= show order list popUp ``` - `button_order_content_pay()` ```C= show payment page ``` - `button_order_content_closePopUp()` ```C= if click: close( content popUp ) ``` ### 系統登入 (login)  - `button_main_login()` ```C= open login pop-up window ``` 要在彈出視窗下 - `button_login_forgotPassword()` ```C= open forgotPassword pop-up window ``` - `button_login_exit()` ```C= close login pop-up window ``` - `button_login_eye()` ```C= show text in inputBox_login_password() ``` - `inputBox_login_account()` ```C= receive input account data ``` - `inputBox_login_password()` ```C= receive input password data ``` - `text_login_login()` ```C= show text ``` - `popUp_login_warning()` ```C= open login_warning pop-up window ``` ### 系統登出 (logout) - `button_main_logout()` ```C= logout, return to default main page ``` ### 忘記密碼 (forgotPassword)  - `popUp_main_forgotPassword()` - `text_forgotPassword_forgotPassword()` - `text_forgotPassword_description()` - `text_forgotPassword_mail()` - `inputBox_forgotPassword_mail()` - `button_forgotPassword_confirm()` - `button_forgotPassword_exit()` - `popUp_forgotPassword_warning()` ### 修改資料 (modifyInfo)  - `inputBox_modifyInfo_email()` - `inputBox_modifyInfo_phoneNumber()` - `inputBox_modifyInfo_newPassword()` - `inputBox_modifyInfo_newPasswordAgain()` - `button_modifyInfo_exit()` - `button_modifyInfo_saveModify()` - `button_modifyInfo_eye()` ## 使用者介面設計 <!-- ## 資料結構設計 --> ## 資料庫設計 ```mermaid erDiagram account ||--o{ order : "" account ||--o{ feedback : "" account ||--o{ announcement : "" account{ varchar student_id PK int grade int class int number varchar email varchar password varchar phoneNumber int level varchar salt } order{ varchar id PK varchar content int price timestamp time varchar student_id FK int grade FK int class FK } feedback{ varchar id PK varchar content timestamp time int receiver varchar student_id FK int grade FK int class FK int number FK varchar email FK varchar phoneNumber FK } announcement{ varchar id PK varchar topic varchar content timestamp createTime timestamp updateTime varchar source int label } ``` ## 例外處理 # 規格追溯表
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up