1. 程式人生 > >C++輪子隊-軟體需求規格說明書初稿

C++輪子隊-軟體需求規格說明書初稿

團隊Github地址:https://github.com/Pryriat/2048.git

軟體規格需求說明書

目錄

1  引言... 2

1.1編寫目的... 2

2  總體描述... 2

2.1產品前景... 2

3  系統功能... 3

3.1  3.2  3.3. 3

4  外部介面需求... 3

4.1使用者介面... 3

5  非功能性需求... 5

5.1效能需求... 5

6  資料字典... 5

6.1實體關係圖  6.2實體定義... 5

7  團隊分工與績效演算法... 5

7.1團隊分工... 5

7.2績效演算法... 6

 

 

 

 

 

 

 

 

 

1  引言

1.1編寫目的

軟體規格需求說明描述了“2048俄羅斯方塊”1.0版本的軟體功能性需求和非功能性需求。
1.2文件約定

描述編寫文件時所採用的標準或排版約定,包括正文風格,提示區或重要符號。例如,說明高層需求的優先順序是否可以被所有細化分需求所繼承,或者每個需求陳述是否都有優先順序。

1.3讀者物件和閱讀建議

該軟體需求規格說明書針對開發人員、測試人員等,用於開發初期確定軟體的系統設計,詳細設計。本文內容包括面向使用者分析、功能性需求、技術需求,闡述了系統的真實性、可用性以及價值所在。
1.4專案範圍

“2048俄羅斯方塊”是在軟體工程第三次大作業由C++輪子隊提出來的一個專案,主要目的是供隊員學習軟體工程的開發過程,並通過此次開發,對C++掌握更加牢固。該遊戲軟體適用於大多數學生和上班族打發零散的空閒時間,我們預計的使用者數量是1000人以上。
1.5參考資料

2  總體描述

2.1產品前景

“2048俄羅斯方塊”1.0版本是由微信小程式“我的方塊2048”的改進版,增加了一些新的功能來吸引更多使用者。

2.2產品的簡述

遊戲規則:合併相同數字方塊,合成2048或更大數字獲得勝利,格子填滿或方塊超出上界遊戲失敗

得分規則:合成塊對應分值 - 遊戲時間

具體操作:左右控制方塊移動,下鍵使懸空方塊立刻落下

2.3執行環境
Linux/X11MacWindowsEmbedded LinuxWindows CE / MobileSymbianMeegoWaylandAndroidIOSAmazon Kindle DX…

QT For Everywhere!                                 


2.4設計和實現上的約束

  1. 為了確保可移植性,本專案使用C++進行編寫,圖形庫、網路庫使用QT內建的實現。
  2. 開發規範:

a)   禁止使用巨集

b)   分號以前不加空格

c)   行寬原則上不超過80

d)   一行只定義一個變數

e)   大括號換行

f)   return 後面的數值不加 ( )

g)   每個檔案應該含有版權資訊及作者

h)   左圓括號之後和右圓括號之前無空格

i)   一目運算子與變數之間不加空格符隔開

j)   函式名與引數同行

k)   換行程式碼縮排4個空格,並且使用四個空格符取代製表符

l)   二目以上的運算子與變數,常量之間用空格隔開(各類括號除外)

m)   不論控制語句,迴圈語句後面的迴圈體有多少行,都必須使用花括號

n)   普通函式,型別(含類與結構體,列舉型別),常量等使用大小寫混合,可包含下劃線

  • o)   除函式定義的左大括號可置於行首以外,包括函式/類/結構體/列舉宣告,各種語句的左大括號必須置於行末,所有右大括號獨立成行
  1. 硬體限制

a)   鍵盤輸入裝置

b)   顯示屏

c)   具體硬體配置需求待測試

 

3  系統功能

3.1 圖形介面

3.2 分數統計

3.3 障礙塊

3.4 難度調整

3.5 線上排名

 

 

4  外部介面需求

4.1使用者介面
總體介面:包括方塊,背景板,計分板,開始按鈕,暫停按鈕,結束按鈕。



4.2硬體介面

描述系統中硬體每個介面的特徵。可能包括支援的硬體型別、軟硬體之間交流的資料和控制資訊的性質以及所使用的通訊協議

4.3軟體介面

描述產品與其它外部元件的連線,包括資料庫,作業系統,工具庫和整合的商業元件。明確並描述在軟體元件之間交換資料或資訊的目的,描述所需要的服務及內部元件通訊的性質,確定將在元件之間共享的資料。如果必須用一種特殊的方法來實現資料共享機制,那麼就必須把它定義為一種實現上的限制

4.4通訊介面

描述與產品所使用的通訊功能相關的需求,包括電子郵件、WEB瀏覽器、網路通訊標準或協議及電子表格等,定義相關的資訊格式、規定通訊安全或加密問題、資料傳輸速率和同步通訊機制

5  非功能性需求

5.1效能需求

點選開始,暫停,結束按鈕時,立刻(1S內)出現相應的反應。

使用者用鍵盤控制方塊左右移動,按下鍵盤←→鍵,在2ms內方塊移動,讓使用者感覺不到延遲。

按↓鍵,方塊應在5ms內到達底部。

還要定義容量需求,例如儲存器和磁碟空間的需求或者儲存在資料庫中表的最大行數。也可能需要針對每個功能需求或特性分別陳述其效能需求

5.2 軟體質量屬性

可用性:在軟體釋出後24小時內可用。(寫明軟體積分最大值,是否無限分值)

健壯性:可支援雙人同時進行遊戲,時間不限。 

6  資料字典

6.1實體關係圖

6.2實體定義

7  團隊分工與績效演算法

7.1團隊分工
圖形介面:澤瀚、秉坤、yy

開發
數字類:秉坤
控制類:(控制方向)育招 (判斷方向)綠豬

文件:湖倩


7.2績效演算法
成員的績效 = 團隊獲得的分數 + 個人的團隊貢獻分

在專案alpha 和 beta 階段評審後, 團隊會得到一個專案分數(每個成員都會得到同樣的分數,做為自己的原始分數的一部分)。團隊成員的努力程度不同,達成目標的程度不同,幫助同伴的付出不同,那就要在“團隊貢獻分” 上有所區分。 所有人貢獻分的總和為 20N,其中N為團隊的人數。 在alpha/beta 之後,團隊按照自己制定的規則,把 (20N)瓜分給每人,這就是 “團隊貢獻分”。

要求:請每人閱讀教材 “人、績效和職業道德”一章,然後團隊開一個討論會,協商討論團隊貢獻分的分配規則。每人得分為自然數,並且每個人分數不能相同。 請寫一個團隊部落格詳細說明每個團隊的成員計劃如何幫助團隊完成任務,以及團隊貢獻分的分配規則。