Cocomo公制计算器

cocomoco的Python项目详细描述


Cocomoco公司

  • E是员工月的工作量
  • a和b是待确定的系数
  • KLOC是数千行代码(注意:cocomco使用LOC,不要输入KLOC值)

使用cocomco,使用 organic modelprint(cocomoco.calculate(100000).effort)->;302.1(人月)。在

项目开发时间、员工规模和生产力

开发时间

  • 时间是发展的时候
  • c和d是待确定的常数
  • E是努力

使用cocomoco,使用 有机模型print(cocomoco.calculate(100000).dtime)->;21.9(月)。在

员工人数

平均员工规模可按以下方式计算:

记住:efforce==Staff Months&Dtime==Months->;将月份和员工剩余部分分开!在

使用cocomco,使用 organic modelprint(cocomoco.calculate(100000).staff)->;平均员工人数14人。在

生产率

每个员工每月可以计算多少行代码:

使用cocomco,计算100000行代码的员工生产力 使用有机模型print(cocomoco.calculate(100000).sloc_per_staff_month)->;331行代码 每个员工和每个月。在

模型

标准型号

模型定义了典型项目的系数a和b。在

  • 有机
    • 2-50千帕
    • 稳定发展
    • 很少创新
  • 半分离
    • 50-300千摄氏度
    • 一般能力
    • 中等时间限制
  • 嵌入
    • 大于300 KLOC
    • 大型项目团队
    • 复杂
    • 创新的
    • 严重制约

标准常数

有机物:

  • a: 2.4款
  • b: 1.05分
  • c: 2.5条
  • d: 0.38

半分离式:

  • a: 3.0款
  • b: 1.12条
  • c: 2.5条
  • d: 0.35

嵌入式:

  • a: 3.6条
  • b: 1.2条
  • c: 2.5条
  • d: 0.32

中级车型

中级cocomo为标准模型引入了成本动因。在

  • 产品属性
    • relay所需的软件可靠性
    • ^{$str}数据库大小
    • CPLX产品复杂性
  • 计算机属性
    • TIME执行时间约束
    • STORMain存储约束
    • VIRT虚拟机波动性
    • TURN计算机周转时间
  • 人员属性
    • ACAP分析功能
    • AEXP应用体验
    • PCAP编程功能
    • VEXP虚拟机体验
    • LEXP编程语言经验
  • 项目属性
    • MODP现代编程实践
    • TOOL软件工具的使用
    • SCED所需的开发计划

Cocomo使用以下类别中的一组预定义值进行通信:非常 低,低,正常,高,非常高,超高。在

展示案例

以下图表通过python3 -m cocomoco --demo-mode创建:

作用力:100k-大于500k LOC

image

生产能力10万->50万LOC

image

安装

通过pip简单地安装这个模块(python2也支持pip)

pip3 install --user cocomoco

使用

作为Python模块

^{pr2}$

作为Python可执行文件

$ python3 -m cocomoco --sloc <number> [--model <modelname>]

参考文献

  • Alan Caine,建设成本模型COC哦,{a1}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过标记名检索多个标记中的元素以进行selenium自动化测试   java iText如何查找最后一行被拆分到下一页   java如何在hudson中的特定jdk上运行Findbugs和PMD?   如何确保java程序与java Environment 6兼容?   对形状进行分组,这样我就可以通过鼠标点击和java处理循环浏览它们   使用生成器映射对象时,java定义无效   maven Java:Struts2和IntelliJ供初学者使用   java子类不继承父类字段   java Android Grid View在Android版本kitkat上崩溃   java Hibernate从缓存返回错误的列表,即使预期的列表与缓存的列表不同   java SendGrid:模板和替换标记   用于普通生产者| Kafka流的java自定义分区器   安卓理解Java内部类中的作用域   无法从Android Studio中的非静态方法调用java非静态方法   比较两个XML响应的JavaXMLUnit   java使用keytool列出密钥   不使用Java客户端库将视频上传到YouTube数据API v3   java My While循环即使在满足条件时也不会结束   自动在外部存储字符串数据,以便以后在Java中使用