什么是伟大的设计徽标宇宙

你如何凭直觉知道什么是伟大的设计? 我们所有人在各种文化中都有一种伟大的建筑感. 我们都欣赏斯堪的纳维亚设计的精美家用工艺品. 在技​​术中,我们现在都接受图形用户界面的正常使用,但它首次出现时是一个辉煌的启示 (由施乐发明,但首先被苹果成功利用). 凭借这些易于使用的界面和设计优雅的 i-pod,Apple 已经成为全球市值最大的公司, 手机, 等等.

伟大设计的共同特征是适合目的 (或“功能适用性”) 结合简单和优雅, 甚至美丽, 如果可能的话.

COSMIC方法的基本原理

在这种背景下反思 COSMIC 方法的发展很有趣. 基本原则最初是在一次非正式会议上制定的 1999 在蒙特朗布朗, 蒙特利尔北部, 加拿大由一群具有长期功能规模测量经验的软件度量专家组成. 我们中的一些人曾是 ISO FSM 原则工作组的成员.

我们的目标是开发一种可应用于业务的 FSM 方法, 实时和基础设施软件对所有领域使用相同的概念. 我们很快决定了一个软件模型,它由必须响应用户世界中的事件的功能过程组成. 功能流程包括将数据移入和移出软件的入口和出口以及将数据移入和移出持久存储的写入和读取. 度量单位是单个数据移动. 大小尺度是开放式的. 虽然实用, COSMIC 测量的大小应该与开发工作相关联, 我们认为没有必要对四种类型的数据移动应用权重. 本能地, 我们认为,平均而言,四种类型的数据移动各占相同数量的功能.

实际问题

在某些方面, 这个最初的设计很容易; 设计似乎优雅简单. 然而, 我们现在必须编写包含原则的“测量手册”, 规则和定义,以便测量者可以在实践中应用该方法. 这就是问题开始的地方. 例如:

  • 因为我们的目标是能够测量架构的任何层中的软件, 我们需要一个“层”的定义. 我们在 v2.1 中的第一次努力导致了一个定义 94 词和 8 区分层次的原则. 层的这种表征是 COSMIC 独有的; 例如,它不能用于描述 3 层架构的层. 通过 v4.0.1 的方法, 定义已简化为 8 话, 有 5 原则, 我们可以用这些来描述任何架构的层.
  • 我们很快意识到,该方法可以根据定义为“用户”的人或物的“观点”来衡量同一软件的不同大小. 在 v2.2 的方法中, 我们定义了两个标准视点, 最终用户和开发者的, 并承认可能有其他观点. 但是到了 v3.0 我们意识到这个术语并不令人满意. 此外,表达“FUR”可以解释为“功能用户的要求”. 所以现在测量策略阶段指定您必须首先定义功能用户, 在此之后您测量功能 (“毛皮”) 这些用户需要. 通过概括, 我们可以避免定义任何“测量观点”.
  • 最初,我们在尝试描述区分感兴趣对象的规则时遇到了困难, 特别是在进入和退出. 我们引入了“感兴趣的瞬态对象”的概念, 与存储持久数据的感兴趣对象相反. 这是一个错误. 它是 数据组 由可能是暂时的进入和退出移动, 不是感兴趣的对象. 后者是功能用户感兴趣的现实世界中的真实事物. 描述感兴趣对象的数据是持久存储还是仅在出口移动时暂时存在并不重要.
  • 我们最初将度量单位定义为“COSMIC 功能大小单位” (或 Cfsu) 准确地说,这个缩写不容易发音. 后来我们接受了将测量单元称为“COSMIC 功能点”要简单得多 (或 CFP).

简化改进

像这样的例子还有很多. 从这个经验中得到的教训是,改进方法描述的每一步都是通过简化实现的. 自该方法首次设计以来,基本设计及其原理几乎没有变化. 同时,该方法已应用于对来自所有领域的大量软件的 FUR 进行大小调整, 在各个分解层次. 尽管没有将与工作量相关的权重应用于四种类型的数据移动, 我们现在有很多经验表明,在 CFP 中衡量的功能大小与开发工作非常相关.

多年来,每当我们在定义我们的意思或解决特定的测量问题时遇到困难时,都感到非常满意, 解决方案总是通过回到基本设计原则并寻求最简单的解释或解决方案来找到的. 这向我表明我们有一个很棒的, “面向未来”的设计.

 

 

关于作者

查尔斯·西蒙斯 (Charles Symons) 是该组织的创始人和前任主席 通用软件评估国际联盟. 一世如果您发现测量手册或任何其他 COSMIC 出版物的任何部分难以理解, 请让他知道, 通过 mpc-chair@cosmic-sizing.org. COSMIC 一直在寻求简化和改进.

 

博文代表作者个人观点
而并不一定与官方NESMA政策一致.
分享对这个职位:

1 评论

发表评论
  1. 德瓦提 说:

    需要类似 COSMIC 的方法, 可以在各种技术领域统一使用的绝对存在; 随着客户越来越多地要求涵盖不同技术和项目类型的生产力基线. 我们在哪里可以使用 COSMIC 方法的改进定义获得案例研究和生产力基线以供参考?

发表评论