COSMIC软件评估:数据移动与功能点详解

需积分: 0 0 下载量 167 浏览量 更新于2024-08-05 收藏 378KB PDF 举报
COSMIC是一种全面的软件规模度量方法,它旨在提供一种标准化的方式来估算软件产品的功能复杂性和规模。本文档主要关注于通用软件模型和COSMIC功能点的概念,以及如何在评估软件制品时发现和计数数据移动。 1. **通用软件模型** 通用软件模型描绘了软件与用户、存储介质之间的交互,包括三种主要角色:硬件设备、其他应用软件和人类用户。软件功能与这些角色互动涉及四种数据移动类型:功能用户输入数据给功能过程,功能过程输出数据给用户,数据写入持久性存储介质,以及从存储介质读取数据到功能过程。这四个类别是COSMIC度量的基础,用来量化软件功能的复杂程度。 2. **COSMIC功能点(CFP)** 是COSMIC的核心概念,它定义为单个数据移动的度量单位,代表软件的一个功能。COSMIC功能点区分四种数据移动类型:输入(E)、输出(X)、读(R)和写(W),它们分别对应于功能过程中的数据交换。COSMIC可以用来衡量软件的规模,无论是最大、最小还是不同阶段的软件产品,以及跨不同形式开发的软件。 3. **识别数据移动** 功能需求文档提供了软件功能过程的描述,而功能用户通过发送与事件相关的数据来触发操作。功能过程通常包括数据移动和处理,但在评估时,为了简化,数据处理子过程通常不单独计算。软件开发者需要分析这些文档和流程图,如图2所示,来识别所有功能过程和数据移动,确保测量的一致性。 例如,如果一个软件包含一个单一的数据移动,每种类型各有一次,其功能规模将是4CFP;如果有两次相同的移动,规模则为8CFP。通过这种方式,COSMIC帮助软件开发团队和管理人员理解软件的复杂性,并支持项目管理和成本估算。 COSMIC是一种实用的工具,用于系统地评估软件规模和复杂性,通过对数据移动的计数,它提供了软件工程中的重要度量,有助于决策制定和项目管理。理解和应用COSMIC原则对于软件生命周期管理至关重要。