《食堂远程下单系统》设计规格说明书
?
?
?
?
?
《食堂遠程下單系統》
設計規格說明書
?
?
課程名稱:軟件需求工程與建模
指導老師:湯世平
?
小組成員:
姓名:金晨 ??學號:1120161943
姓名:方姝曼 學號:1120161940
姓名:夏婕 ??學號:1120161962
姓名:瞿鳳業 學號:1120161944
?
?
?
目錄
1. 引言................................................................................................................ 3
1.1 編寫目的.................................................................................................. 3
1.2 項目風險.................................................................................................. 3
1.3 預期讀者和閱讀建議.............................................................................. 3
2. 設計概述....................................................................................................... 4
2.1 需求概述:.............................................................................................. 4
2.2 限制和約束.............................................................................................. 4
2.3 設計原則和設計要求.............................................................................. 5
2.3.1 完整性原則................................................................................... 5
2.3.2 相關性原則................................................................................... 5
2.3.3 適應性原則?............................................................................... 5
2.3.4 可靠性原則?............................................................................... 5
2.3.5 經濟性原則?............................................................................... 5
3. 系統模塊結構............................................................................................... 6
3.1 系統結構模塊圖....................................................................................... 6
3.2 系統功能模塊設計................................................................................... 6
3.3 模塊結構................................................................................................... 7
4. 界面設計....................................................................................................... 8
5. 系統接口設計............................................................................................ 13
5.1 用戶接口................................................................................................ 13
5.2 外部接口................................................................................................ 14
5.3 內部接口................................................................................................ 14
6. 數據庫設計................................................................................................. 14
6.1 數據庫需求分析.................................................................................... 14
6.2 數據庫邏輯結構設計............................................................................ 15
?
?
?
1. 引言
? 食堂遠程下單系統的設計是在系統分析的基礎上,對軟件需求說明書中的各項內容提出具體的設計方案,即解決“如何做”的問題,以便進一步組織人力、物力,完成系統從邏輯模型到物理模型,再到實際軟件的轉換。
?
1.1編寫目的
? 系統設計階段的工作分為概要設計和詳細設計兩個階段完成。所有設計中的考慮都應以設計說明書的形式加以詳細描述,以供后續工作使用并提交審查。
? 在概要設計中,已經用結構化的程序設計方法,將系統自頂向下進行了功能模塊的劃分。
? 在本說明書中將實施方法具體化,進而對每個模塊要完成的工作進行具體的描述,以便為程序設計打下基礎。
本文檔的讀者:項目組長,系統分析員,數據庫設計員,文檔管理員。
?
1.2項目風險
本軟件開發項目的主要風險承擔者:金晨、方姝曼、夏婕、瞿鳳業
任務提出者:金晨、方姝曼、夏婕、瞿鳳業
軟件開發者:金晨、方姝曼、夏婕、瞿鳳業
產品使用者:在校學生、老師等
?
1.3預期讀者和閱讀建議
本軟件系統概要設計報告的預期讀者包括:用戶、開發人員、項目經理、營銷人員、測試人員、文檔編寫人員等等。
?
?
2. 設計概述
? 概要設計主要是利用比較抽象的語言對整個需求進行概括,確定目標系統的構架,確定整個系統的處理流程和系統的數據結構,定系統由那些模塊組成的,以及這些模塊相互間的關系,實現對系統的初步設計。
?
2.1需求概述
系統目標:實現用戶遠程在食堂下訂單的需求。
本系統的主要輸入項目:
(1) 用戶個人的基本信息,如注冊時的用戶名,學號等。
(2) 食堂菜品商品信息,如價格,口味等。
(3) 用戶取餐需要的時間,聯系方式等。
本系統的主要輸出項目:
用戶瀏覽菜品信息,下單菜品,去食堂取餐。
?
2.2限制和約束
簡要描述起到限制和約束作用的各種可能存在的條件,例如:
- 技術條件:對于Android端的編寫不是非常熟悉,較為復雜的功能無法實現
- 開發環境(包括:工具和平臺):在Android Studio中進行Android端APP的開發
- 時間限制:一個月
?
食堂遠程下單系統的業務規則及約束如下:?
(1) 所有人均可在系統內可以根據菜品名稱搜索菜品信息,但是只有登錄注冊的用戶才能夠提交訂單,給菜品留言及維護自己的賬戶信息。?
(2) 每位用戶由唯一的學號標識,同時,每位用戶的名稱也可以唯一標識用戶信息。?
(3) 用戶登錄系統的賬號為用戶注冊時輸入的用戶名稱。?
(4) 系統管理員可以查看用戶信息,但是不能增加和修改用戶信息,必要時可以刪除用戶信息。?
(5) 系統管理員統一對系統中的數據維護。?
(6) 食堂只能進行菜品訂單查看和匯總。
(7) 訂單需記錄交易狀態,包括交易關閉及交易正常;同時訂單還需要記錄訂單狀態,包括已完成、未完成及已取餐。
(8) 用戶可以查詢自己的訂單。?
(9) 同一個訂單可以訂購多種菜品。?
?
2.3設計原則和設計要求
2.3.1完整性原則
本文所要設計食堂遠程下單系統,應該保障有完整性,因為系統是由各個功能子模塊所組成,每一模塊都是有特定的功能,所設計的系統,盡管由于資金、人力等限制,無法在短時間內將系統設計的那么完善,可是系統的功能是必須要完整的,菜品的訂購,菜品搜索,菜品評價功能等,這些子功能模塊都是不可或缺的,并且將這些功能盡可能的規范化,以便于后期的維護和升級。?
2.3.2相關性原則
食堂遠程下單系統是一個整體,盡管它是由各個功能模塊所組成,各個子模塊聯系起來的。一旦某一個模塊發生了變化,其他模塊也會受到影響,所以在系統開發時,需要考慮到模塊的相關性,把所設計的交易平臺作為一個整體來考慮和設計。?
2.3.3適應性原則?
本文所設計的系統一定要能夠適應用戶的變化和環境的變化,系統在最初始設計時,就要對系統以后可能發生的變化和升級做好預算,為系統的升級留下足夠的空間,這樣才能使系統能夠在校園內長期存在,以方便簡潔的形式為校園服務。?
2.3.4可靠性原則?
所設計的系統必須具有可靠性,這樣穩定運行的系統才會讓用戶覺得可靠,也讓用戶能夠方便使用系統的功能,要求系統具有可靠性,那么就要使硬件可靠同時開發的軟件也是可靠的,同時也要有可靠的安全措施來維護系統的功能。?
2.3.5經濟性原則?
文中所提出的食堂遠程下單系統,相對來講是比較經濟的。只是需要在開發的前期有一定的經濟投入,一旦系統被運行起來,后期的維護就只需要很少的經濟花費,同時,APP也可以通過對用戶收取極少的額外費用(比如一單多收一角錢,打包飯盒都要一角五)和代言廣告(可以在首頁做廣告)來維持APP日常費用,由于本APP是應用于學校的,不是以賺取利益為目的,只需要維護APP花費即可。
?
?
3. 設計概述
?
3.1系統結構模塊圖
?
?
3.2系統功能模塊設計
在系統開發之前,所確定系統的主要功能模塊共有4個主要部分,如下:
(1) 菜品管理模塊
①菜品瀏覽模塊——為用戶提供詳細的菜品清單,如菜品實物圖、菜品名稱、菜品價格、總銷量、好評次數,可給用戶借以參考所需要的菜品。
②菜品窗口模塊——將學校北食堂三樓的菜品按照食堂窗口分為多個窗口模塊,每個窗口模塊中有相應窗口中的菜品,方便用戶根據窗口快速找到自己想要的菜品。?
(2) 用戶管理模塊
①注冊/登陸模塊——用戶只有通過登陸才能進行食堂點單的操作,如果有賬號則登陸,若無賬號要進行注冊,一旦注冊成功就可以享受菜品的瀏覽、購買、點評等功能,它是該系統的入口。
②個人信息管理模塊——為用戶提供個人信息的修改和查看,如:修改頭像、查看歷史訂單、查看收藏的菜品等。?
(3) 訂單管理模塊
①交易模塊——用戶對自己的菜品進行管理,在訂單信息中,用戶需要確定自己所要購買的菜品名稱、數量、價格、取餐時間及交易方式等,如有需要,還可以對自己購買的菜品進行備注,如口味方面和忌口方面。
②購物車模塊——該模塊包含在交易模塊中,在這個模塊里,可對菜品進行增加、刪除的操作。
(4) 管理員管理模塊
管理員管理模塊——管理員可以發布、刪除以及編輯app菜品的內容,因為北食堂三樓的菜品是實時更新實時變化的,方便用戶接收到的菜品信息是最新信息。
?
3.3模塊結構
(1) 菜品管理模塊
①菜品瀏覽模塊
②菜品窗口模塊
?
(2) 用戶管理模塊
①注冊/登陸模塊
?
②個人信息模塊
?
(3) 訂單管理模塊
①交易模塊
?
②購物車模塊
?
(4) 管理員管理模塊
管理員管理模塊
?
?
?
4. 界面設計
?
登錄界面:
| 類型 | 名稱 | 功能 | 備注 |
| Edittext | 用戶名 | 輸入用戶名 | ? |
| Edittext | 密碼 | 輸入密碼 | 輸入不可見 |
| Button | 注冊 | 跳轉注冊頁面 | ? |
| Button | 登錄 | 跳轉到菜品頁面 | 判斷用戶名是否存在于數據庫和與密碼是否匹配 |
| Button | 找回密碼 | 顯示密保問題 | ? |
?
?
注冊界面:
| 類型 | 名稱 | 功能 | 備注 |
| Edittext | 用戶名 | 輸入用戶名 | ? |
| Edittext | 密碼 | 輸入密碼 | 輸入不可見 |
| Edittext | 確認密碼 | 確認密碼 | 輸入不可見,需與密碼相同 |
| Edittext | 密保問題 | 自定義提示問題 | ? |
| Edittext | 密保答案 | 用于忘記密碼時找回密碼 | ? |
| Button | 提交 | 存儲在數據庫中,跳轉登錄界面 | 需先判斷信息是否合理 |
?
?
菜品界面:
菜品
| 類型 | 名稱 | 功能 | 備注 |
| Listview | 窗口名 | 分類為各個窗口 | 點擊可定位到各個窗口 |
| Listview | 菜品 | 展示不同菜品 | 自定義item |
?
菜品item
| 類型 | 名稱 | 功能 | 備注 |
| Imageview | 菜品圖片 | 展示菜品圖片 | ? |
| Textview | 已售 | 展示已售份數 | ? |
| Textview | 價格 | 展示該菜品價格 | ? |
| ImageButton | 收藏 | 加入收藏 | 根據是否收藏改變圖片 |
?
?
訂單界面:
| 類型 | 名稱 | 功能 | 備注 |
| Listview | 已點菜品 | 展示已點菜品 | ? |
| Textview | 備注 | 備注其他要求 | ? |
| Timepicker | 取餐時間 | 取餐時間選擇 | 僅能選擇當前時間后十分鐘及以后的營業時間 |
| Button | 提交訂單 | 提交訂單到食堂并存儲到訂單數據庫 | 根據是否收藏改變圖片 |
?????
??
我的界面:
我
| 類型 | 名稱 | 功能 | 備注 |
| Imageview | 頭像 | 展示個人頭像 | ? |
| Recycleview | 收藏 | 展示收藏圖片 | 可橫向滑動 |
| Listview | 歷史訂單 | 展示最近十條訂單 | 自定義item |
?
歷史訂單item
| 類型 | 名稱 | 功能 | 備注 |
| Imageview | 菜品圖片 | 展示菜品圖片 | 僅展示訂單中第一項圖片 |
| Textview | 點單日期 | 展示點單日期 | ? |
| Textview | 菜品 | 展示菜品名稱及份數 | 僅展示訂單中第一項 |
?
底部導航欄
| 類型 | 名稱 | 功能 | 備注 |
| Imageview | 菜品頁面圖片 | 跳轉菜品頁面 | 在菜品頁面顯示紅色,其余顯示灰色 |
| Imageview | 訂單頁面圖片 | 跳轉訂單頁面 | 在訂單頁面顯示紅色,其余顯示灰色 |
| Imageview | 個人頁面圖片 | 跳轉個人頁面 | 在個人頁面顯示紅色,其余顯示灰色 |
| Textview | 菜品 | 跳轉菜品頁面 | 在菜品頁面顯示紅色,其余顯示灰色 |
| Textview | 訂單 | 跳轉訂單頁面 | 在訂單頁面顯示紅色,其余顯示灰色 |
| Textview | 我 | 跳轉個人頁面 | 在個人頁面顯示紅色,其余顯示灰色 |
????
??
?
5. 系統接口設計
?
5.1用戶接口
(1) 用戶界面整體上選擇比較簡潔的風格,登陸注冊界面為綠色外,其他頁面以粉白為主。
(2) 系統有數據保護和緩存,用戶操作可逆,可通過選擇或滑動退回用戶該操作前的界面。
(3) 登陸/注冊功能:因為涉及到交易,必須需要驗證學生證才能注冊成功。
(4) 查詢功能:用戶可輸入關鍵字查詢所需的商品及相關信息。
(5) 加入購物車與支付:用戶可將自己點的菜加入到購物車,選擇完畢后進行支付。
?
5.2軟件接口
(1) 運行于Android端。
(2) 功能的實現需要實現網上支付,如微信。
(3) 通信接口: 第三方支付平臺。
?
5.3內部接口
客戶端界面獲取用戶的各項輸入,根據不同的操作請求進入相應的操作模塊,每個操作模塊獲取用戶的輸入數據,服務端接受到數據后,利用協議頭解析判斷將數據分配給相應的模塊進行處理,并將處理結果發送回客戶端。各個服務端處理模塊通過JDBC和數據庫進行交互。
?
?
6. 數據庫設計
?
6.1數據庫需求分析
通過對食堂遠程下單系統的內容和數據流圖的分析,設計如下的數據項和數據結構。
(1) 學生信息,包括的數據項有:賬號,密碼,密保問題,密保答案,頭像圖片地址等。
(2) 菜品信息,包括的數據項有:名字,圖片地址,窗口,口味,價格,點單次數,好評次數,差評次數等。
(3) 訂單信息,包括的數據項有:訂單號,價格,備注,取餐時間等。
?
6.2數據庫邏輯結構設計
下面是本食堂遠程下單系統的E-R圖:
?
學生實體的屬性如下:
?
菜品實體的屬性如下:
?
訂單實體的屬性如下:
?
由以上ER圖可以得出在該系統的數據庫管理模塊中相應的信息表如下:
?
| 學生 | ||||
| 字段名稱 | 數據類型 | 說明 | 約束 | 備注 |
| StudentID | tinyint | 學生Id | PK | ? |
| name | string | 昵稱 | ? | ? |
| password | string | 密碼 | ? | ? |
| myImage | string | 頭像地址 | ? | ? |
| question | string | 密保問題 | ? | ? |
| answer | string | 密保答案 | ? | ? |
?
| 菜品 | ||||
| 字段名稱 | 數據類型 | 說明 | 約束 | 備注 |
| FoodID | Char(3) | Id | PK | ? |
| Foodname | Nvarchar(20) | 菜品名 | ? | 中文字符不超過10,英文字符不超過20 |
| Foodaddress | Varchar(30) | 圖片地址 | ? | 可變,最多30位 |
| windowname | Nvarchar(10) | 窗口名 | ? | 中文字符不超過5,英文字符不超過10 |
| flavour | Nvarchar(20) | 口味 | ? | 中文字符不超過10,英文字符不超過20 |
| Price | tinyint | 價格 | ? | ? |
| Num | tinyint | 訂單次數 | ? | ? |
| like | tinyint | 好評次數 | ? | ? |
| dislike | tinyint | 差評次數 | ? | ? |
?
| 訂單 | ||||
| 字段名稱 | 數據類型 | 說明 | 約束 | 備注 |
| orderID | int | 訂單號Id | PK | ? |
| studentID | int | 學生學號 | FK | ? |
| dishID | int | 菜品Id | ? | ? |
| Price | int | 價格 | ? | ? |
| remark | Nvarchar(200) | 備注 | ? | ? |
| time | smalldate | 取餐時間 | ? | ? |
?
| 學生關聯菜品 | ||||
| 字段名稱 | 數據類型 | 說明 | 約束 | 備注 |
| ID | int | Id | PK | ? |
| studentID | int | 學生id | FK | ? |
| foodID | int | 菜品Id | FK | ? |
?
| 訂單關聯菜品 | ||||
| 字段名稱 | 數據類型 | 說明 | 約束 | 備注 |
| ID | int | Id | PK | ? |
| orderID | int | 訂單id | FK | ? |
| foodID | int | 菜品Id | FK | ? |
?
?
?
?
?
轉載于:https://www.cnblogs.com/emmm666/p/9186787.html
總結
以上是生活随笔為你收集整理的《食堂远程下单系统》设计规格说明书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Week09_day05(Hbase的安
- 下一篇: elementUI中如何在Tabs标签页