規格需求說明書
1.引言
1.1編寫目的
本文詳細描述課堂助學軟件Learn in fun的需求。文中結合產品部分使用人群建議及開發方需求,整理出可靠的需求清單,為今后的開發工作提供依據。
1.2開發目的及意義
本軟件開發目的是在windows平台上搭建一個兼具游戲性和教育意義的軟件,主要目標使用者為配備了多媒體平台的小學。軟件通過簡單的游戲能讓老師簡單地調動學生的課堂積極性,並且讓學生學習的過程減少枯燥程度
2.功能性需求
功能需求如圖:
![]
詳情參閱《Learn in fun軟件原型設計》
3.外部接口需求
3.1硬件接口需求
- 本軟件需運行於搭載windows10系統的個人電腦上
- 軟件要求最好搭配教室多媒體平台硬件使用,包括白板,投影儀
3.2軟件接口需求
- 操作系統:本軟件運行於windows10系統,其他平台暫不支持
- 運行本軟件的個人電腦需預安裝windows10版本的講述人語言庫
- 開發工具:本軟件基於Unity2019.3.2開發
- 編程語言:C#
4.其他需求類
4.1界面需求
美術資源及UI資源由開發團隊美術負責人決定,具體布局需求參閱《Learn in fun軟件原型設計》
5.假定與約束
- 開發過程中出現問題,則詢問產品經理,產品經理進行協調
- 軟件功能需求可能會由於獲取到部分使用人群新的建議而更新,但由產品經理決定是否保留
- 開發止於軟件工程作業結束
用戶量分析
根據獲得信息,一座小縣城中,小學一個年級大約有200個班,且全配備多媒體平台。
產品目標為剛開始學習英語的小學三、四年級。
若全縣所有目標班使用我們的產品,假設一個班40名學生,一名教師教兩個班,則有16000名學生,200名教師受益。
算上轉化率與推廣能力,預計用戶量為10個班,即:
5名老師,400名學生
系統意義分析
- 真實性:unity提供成熟的制作游戲方式
- 可用性:項目想法來源於小學教師建議,為現實實際需求
- 價值:為小學教師提供一個新的課堂游戲方式,充分利用學校多媒體平台
團隊任務管理
- 代碼管理 - github網址
https://github.com/WuHuAirport - tower任務截圖
時間計划表
tower日歷截圖所示
團隊責任與分工
成員姓名 | 軟工角色 | 團隊責任 |
---|---|---|
張偉景 | 產品經理 | 協調團隊工作,對作業任務進行整理分配,整理博客工具人 |
黃常旺 | 開發 | 負責制作整合美術、音樂等資源 |
吳宗東 | 開發 | 程序,負責實現功能 |
謝浩傑 | 開發 | 程序,負責整合代碼,管理代碼庫,定制規范,實現功能 |
黃傑 | 測試 | 指定測試計划,對軟件進行測試,漏洞整理 |
成員任務完成情況及感想
謝浩傑 開發
分配的任務及完成情況
編寫代碼規范 - 已完成
學習必要技術 - 已完成
- Unity相關知識
- C#
- windows語言庫
個人感想
由於之前學習實踐過Unity引擎項目及C#相關知識,所以學習必要技術方面輕松了一點,上網搜索了些Unity和C#代碼規范相關資料,博客,並結合自身經驗寫了一份代碼規范,團隊分工分配工作比單獨一個人干完所有工作比起來更有團隊感。
黃常旺 開發
分配的任務及完成情況
熟悉代碼規范 - 已完成
學習必要技術 - 未完成
- Unity相關知識
- C#
- windows語言庫
個人感想
學習一門新語言確實挺麻煩的,再加上自己本身並不怎么勤勞和聰明,但是團隊工作不能落下,所以還是要多通宵開開車,再努力學習才行。
黃傑 測試
分配的任務及完成情況
指定測試計划 - 未完成
學習必要技術 - 未完成
- Unity單元測試
- .NET單元測試
個人感想
組隊初期立下FLAG要做測試人員,找測試相關的學習資料時發現測試方面的知識面非常豐富,但是能夠快速上手的文章較少,多是偏向理論層面的文章。測試這個工作聽起來非常酷,但是工作內容對技術要求比較高,需要快速學習項目相關的技術。剛剛步入測試技術的學習,圖形化的部分暫時只會做手工測試,希望不會拖累團隊的進度。
張偉景 產品經理
分配的任務及完成情況
設計原型 - 已完成
編寫需求規划說明書 - 已完成
編寫團隊博客 - 已完成
分配團隊任務 - 已完成
學習必要技術 - 未完成
- 編寫各種文檔
- 團隊管理方法
個人感想
本以為產品經理是一個主管理的好活,真正做起來還不如寫代碼輕松。主要是一些東西從來沒有接觸過,比如文檔,需求說明書之類的。平時積累的主要是技術方面的東西,現在完全排不上用場,心有余而力不足。但積累過技術方面的東西也讓我分配任務時游刃有余,也算是有點用處。
吳宗東 開發
分配的任務及完成情況
編寫成員PSP表格 - 未完成
學習必要技術 - 未完成
- unity3D存儲
- unity3DUI
個人感想
學習新知識總是快樂的,雖然還是有點半蒙半懂,能按照示例做出結果,但是還不算靈活運用。
Learn in fun原型設計
開始界面
開始游戲按鈕:
轉到使用單詞界面(模式選擇界面待定)
詞庫設置按鈕:
轉到詞庫設置頁面
退出游戲按鈕:
退出游戲
高級需求
游戲設置:音量,分辨率,全屏等
詞庫設置界面
單詞輸入框:
輸入單詞,並在添加過的單詞中篩選(類似於詞典),結果在詞庫搜索框中輸出,當輸入框中的東西改變時,搜索框的結果同步刷新
詞庫搜索框:
上下滑動
用於顯示輸入框的搜索結果
每一個“查詢結果單詞”都是一個可以選中的按鈕
搜索框中的內容會跟隨輸入框的改變而刷新
當輸入框中沒有內容(或為默認內容)時,搜索框顯示詞庫中所有的單詞
添加按鈕:
將輸入框中的單詞放入加入詞庫
如果詞庫中有相同的單詞,按鈕不可用
刪除按鈕:
將在搜索框中選中的單詞從庫中刪除
如果沒有單詞被選中,按鈕不可用
刪除時會出現提示框,羅列所有選中的單詞,並詢問是否刪除
完成按鈕:
返回開始界面
模式選擇界面(待定)
使用單詞界面
搜索框:
輸入單詞,並在添加過的單詞中篩選(類似於詞典),結果在詞庫搜索框中輸出,當輸入框中的東西改變時,搜索框的結果同步刷新
搜索單詞框:
上下滑動
用於顯示輸入框的搜索結果
每一個“查詢結果單詞”都是一個可以點擊的按鈕,單擊按鈕則將該單詞置入游戲中會用到的單詞庫
搜索框中的內容會跟隨輸入框的改變而刷新
當輸入框中沒有內容(或為默認內容)時,搜索框顯示詞庫中所有的單詞
已經在備選單詞庫存在的單詞的按鈕不可用
游戲中用到的單詞框:
上下滑動
用於顯示會在游戲中使用到的單詞
每一個單詞旁邊有一個紅叉,點擊紅叉則將該單詞從備選單詞庫移除
此框有默認存檔功能,默認為上一次的設置
如果上一次的單詞從詞庫移除,則從備選庫移除
返回按鈕:
返回上一個界面(開始界面)
開始游戲按鈕(其實是打錯了):
如果單詞備選庫單詞不為6個及以上,發出提示,且不進入下一個界面
轉到游戲開始前界面
游戲開始前界面
返回按鈕:
返回使用單詞界面
備選單詞數(3-5):
每一波會出現的單詞數
反應秒數(待定):
選擇單詞的時間限制
波數(大於0)(5-10):
單詞波數
開始游戲按鈕:
轉到游戲界面
游戲界面
分數:
當前選擇正確的次數*5
波數:
顯示形式:當前波數/總波數
單詞:
每一波單詞從屏幕下方飄上來,持續一段時間,然后飄走,此為一波
女性人頭立繪:
就圖個好看,假裝是她在讀單詞
游戲流程
候選單詞從屏幕下方飄上來,並且系統播放正確單詞的語言
單詞在屏幕中間停留一段時間
單擊單詞:
如果正確,爆出好看的粒子效果,分數增加,其他氣球飄上去
如果錯誤,爆出不好看的粒子效果,分數不變,正確的氣球變色,持續一小段時間,然后所有氣球飄上去
超過設定時間,所有氣球飄上去
然后下一波,直到完成所有波數
波數完成后,顯示一個好看的Complete,然后跳轉到游戲結算界面
游戲結算界面
波數:
總波數
正確個數:
選擇正確的分數
分數:
總的分數
再來一次:
重玩
重選詞庫:
跳轉至使用單詞界面
選擇模式(待定)
其他可選按鈕
退出游戲(退出游戲)
返回主標題(開始界面)
游戲參數設置(游戲開始前界面)