高級軟件工程課中,老師帶我們學習了軟件工程中需求分析的知識,而本文就使用上課所講的方法對工程實踐項目進行需求分析並建立概念原型。
一、項目介紹
該項目是針對制作一款游戲,在本文中,我們只選取其中的一個功能進行分析,我們選擇背包系統作為我們的需求分析目標。
背包系統的核心是,背包界面負責顯示游戲中玩家擁有的游戲道具,在邏輯上保存玩家的道具物品信息,並對背包中的物品進行使用、出售、升級等操作。
二、需求分析
2.1流程圖
流程圖是流經一個系統的信息流、觀點流或部件流的圖形代表。流程圖是揭示和掌握封閉系統運動狀況的有效方式。該圖直觀地描述一個工作過程的具體步驟。
2.2用例圖
用例(Use Case)的核心概念中首先它是一個業務過程(business process),經過邏輯整理抽象出來的一個業務過程,這是用例的實質。什么是業務過程?在待開發軟件所處的業務領域內完成特定業務任務(business task)的一系列活動就是業務過程。
2.3類圖
類圖(Class diagram)是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關系等。類圖不顯示暫時性的信息。類圖是面向對象建模的主要組成部分。它既用於應用程序的系統分類的一般概念建模,也用於詳細建模,將模型轉換成編程代碼。類圖也可用於數據建模。
BagData:存儲處理所有背包系統相關數據操作
BagManager:處理背包系統相關邏輯操作,負責發送並接受網絡消息並調用BagData中相關方法處理並存儲客戶端數據。
UIBag:背包系統主界面邏輯。
UIBagItem:背包系統中物品使用的模板類,調用時統一使用Instamiateo方法。
UIEquipPop、UIItemPop、UIUseWindow、UIMoneyTop:分別處理背包的裝備物品操作、物品獲得彈出、物品使用操作、貨幣面板刷新等等功能。
2.4數據模型
數據模型(Data Model)是數據特征的抽象,它從抽象層次上描述了系統的靜態特征、動態行為和約束條件,為數據庫系統的信息表示與操作提供一個抽象的框架。
因為該項目只有物品需要進行抽象,因此在這可以得到物品類的數據模型
屬性 | 字段 | 類型 |
---|---|---|
物品編號 | id | Int |
物品名稱 | name | String |
物品描述 | desc | String |
物品分類 | itemClass | Int |
物品種類 | itemType | Int |
物品是否在背包中顯示 | IsInPackage | Int |
物品是否唯一 | isUnique | Int |
物品是否可使用 | canUse | Int |
物品是否可堆疊 | isStack | Int |
物品最高堆疊數 | stackLimit | Int |
物品是否可合成 | canCombine | Int |
物品是否可出售 | canSale | Int |
物品出售價格 | salePrice | Int |
物品額外屬性 | effectParam | Int |
物品圖片資源路徑 | iconPath | String |
物品唯一編號 | tid | Int |
物品數量 | count | Int |
物品鎖定數量 | lockCount | Int |
物品詞綴 | attrInfo | Int |
2.5概念原型
概念是人對能代表某種事物或發展過程的特點及意義所形成的思維結論。
概念原型是一種虛擬的、理想化的軟件產品形式。
所以我們可以得到該項目的概念原型:玩家通過點擊特定的背包按鈕,進入到背包頁面,查看背包物品,可以通過屬性對物品進行分類查看,然后選擇需要使用的物品,或者對物品進行升級,亦或者對物品進行出售。