📊 COSMIC方法简介
COSMIC(COSMIC
Full Function Points,简称 CFFP
)是一种评估软件开发项目工作量的方法。它由国际功能点用户组(IFPUG
)以外的另一个国际组织COSMIC
(Common Software Measurement International Consortium)发展出来,专门用于测量软件的功能大小。COSMIC
方法被设计来适用于各种类型的软件应用,包括业务应用、实时系统、嵌入式系统等,以及不同的开发环境和技术。
🌌 COSMIC评估工作量的原理
-
🔗 功能用户需求(Functional User Requirements):以用户的视角来测量软件的功能大小,即从用户需求出发来确定软件要实现的功能。
-
🔗 数据移动(Data Movements):识别和计量软件中的数据移动。这些数据移动分为四种类型:入数据(
Entry
)、出数据(Exit
)、读数据(Read
)、写数据(Write
)。通过计算这些数据移动的数量来测量软件功能的大小。- 🔗 入数据(
Entry
):从用户界面向软件内部传送的数据。 - 🔗 出数据(
Exit
):从软件传送到用户界面的数据。 - 🔗 读数据(
Read
):软件从其持久存储(通常是数据库)读取的数据。 - 🔗 写数据(
Write
):软件向其持久存储写入的数据。
- 🔗 入数据(
-
🔗 功能过程(Functional Processes):软件中的功能过程是一组逻辑相关的数据移动,用于实现一个特定的用户目标。每个功能过程都被识别出来,并根据它包含的数据移动数量来进行评估。
-
🔗 度量单位(Measurement Unit):软件功能大小的度量单位是“功能点”(
Function Point
),每个功能点代表了一定数量的数据移动。
🌌 COSMIC方法的评估过程
- 识别和理解软件的功能用户需求。
- 识别软件中的所有功能过程。
- 对每个功能过程中的数据移动进行识别和计量。
- 计算总的功能点数,即所有功能过程中数据移动的总和。
- 根据功能点数评估项目的工作量、成本和时间。
🌌 COSMIC方法的简单公式
📊 COSMIC评估示例
🌌 在线图书商店需求描述
- 用户可以登录系统。
- 用户可以浏览图书列表。
- 用户可以将一本或多本图书添加到购物车。
- 用户可以查看购物车并对其进行修改(增加或删除图书)。
- 用户可以进行结账操作。
🌌 COSMIC评估过程示例
-
识别和理解软件的功能用户需求
我们首先明确用户的基本需求:登录、浏览图书、管理购物车、结账。
-
识别软件中的所有功能过程
- 登录
- 浏览图书
- 添加图书到购物车
- 修改购物车(增加或删除图书)
- 结账
-
对每个功能过程中的数据移动进行识别和计量
-
登录
- 入数据:用户输入用户名和密码(2个数据移动)
- 读数据:系统验证用户信息(1个数据移动)
-
浏览图书
- 出数据:系统显示图书列表(1个数据移动)
-
添加图书到购物车
- 入数据:用户选择图书数量和详细信息(2个数据移动)
- 写数据:系统更新购物车信息(1个数据移动)
-
修改购物车
- 入数据:用户修改图书数量或删除图书(2个数据移动)
- 读数据:系统读取当前购物车状态(1个数据移动)
- 写数据:系统更新购物车状态(1个数据移动)
-
结账
- 读数据:系统计算总价(1个数据移动)
- 写数据:系统生成订单(1个数据移动)
-
-
计算总的功能点数
按照COSMIC方法,我们汇总每个功能过程中的数据移动数量:
- 登录:3
- 浏览图书:1
- 添加图书到购物车:3
- 修改购物车:4
- 结账:2
总计:13个数据移动
-
根据功能点数评估项目的工作量、成本和时间
假设我们已经有了历史数据,可以根据每个功能点的平均开发时间、成本来估算整个项目的工作量和成本。