高级软件工程课中,老师带我们学习了软件工程中需求分析的知识,而本文就使用上课所讲的方法对工程实践项目进行需求分析并建立概念原型。
一、项目介绍
该项目是针对制作一款游戏,在本文中,我们只选取其中的一个功能进行分析,我们选择背包系统作为我们的需求分析目标。
背包系统的核心是,背包界面负责显示游戏中玩家拥有的游戏道具,在逻辑上保存玩家的道具物品信息,并对背包中的物品进行使用、出售、升级等操作。
二、需求分析
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概念原型
概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论。
概念原型是一种虚拟的、理想化的软件产品形式。
所以我们可以得到该项目的概念原型:玩家通过点击特定的背包按钮,进入到背包页面,查看背包物品,可以通过属性对物品进行分类查看,然后选择需要使用的物品,或者对物品进行升级,亦或者对物品进行出售。