我是一个正在实习的学生。我被要求决定是否可以将现有的C#软件包迁移到Mono。
我已经进行了一次分析,以确定需要用托管代码移植或替换的本地库,并确定了只使用Windows的API调用,需要在Linux/OS上找到对应的API调用。由此,我对每个程序集中需要重写的百分比进行了一些(非常粗略的)估计。
我现在要对这些变化的执行时间作出估计。似乎人们喜欢COCOMO II来完成这类任务。
但是,我很难决定SLOC (源代码行)输入的数字。我已经使用USC的统一码计数工具来确定整个项目和特定的感兴趣的程序集中的逻辑代码行(LLOC)。
根据一种策略,我估计约10%的165 k LLOC项目将需要重写,其余约5%将进行重大修改。利用这些数字,COCOMO II给了我大约30个人工月的努力。这在我看来很高-是真的吗?我不认为我有确切的经验。
我想知道我是否应该在LLOC输入中应用一个循环因子--我知道人们在使用LOC时会这样做(例如:将Python除以6)。我应该用C#来做这件事,如果是,是什么因素?
最后,使用COCOMO-II甚至是一种合理的方法吗?我只想要一个数量级的近似。费米标度不准确在这里没问题。有更好的办法吗?
发布于 2016-03-16 00:25:58
看来COCOMO II可能是合适的工具。我不知道你在使用什么工具,但我在USC网站上展示的建设成本模型COCOMO套房和专家COCOMO II (目前/暂时?(离线)工具方面运气不错。您可能需要将设置更改为COCOMO。
该工具采用了您没有提到的输入--先例、所需的可靠性、过程成熟度、经验、能力、复杂性等等。您还可能希望查看工作的阶段分解--因为这是一项翻译工作,除非您正在添加新功能或反向工程规范,否则您已经在此项目中完成了大部分的Inception和精化工作。
我认为,如果你检查这些因素,去掉已经完成的工作,你就会达到你的数量级。
https://softwareengineering.stackexchange.com/questions/229822
复制相似问题