- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《第1章习题
1. 美国一家公司在1982年计划用FORTRAN语言开发一个在VAX 750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。如果平均每人每天可以开发出10条FORTRAN指令,请问:
(1)开发这个应用程序将用多少人日?
(2)假设程序员的月平均工资为4000美元,每月按20个工作日计算,这个软件的成本是多少美元?
(3)1982年VAX 750计算机硬件价格约为125000美元,在那一年这个软件的成本在总成本中占多大比例?
(4)20年后,一台性能远远优于VAX 750的微型计算机的价格约为2000美元,这时软件开发生产率已提高到平均每人每天可以开发出40条指令,而程序员的月平均工资也已涨到8000美元。如果在2002年开发上述FORTRAN应用程序,则该软件的成本在总成本中占多大比例?
答:(1)
开发这个应用程序大约需用1000个人日。需要指出的是,上述工作量包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试等各个开发阶段的工作量,而不仅仅是编写程序所需的工作量。
(2)每月平均工作20天,故开发这个软件需要用
每人每月的平均工资为4000美元,因此这个软件的成本大约为
50×4000=200000(美元)
(3)软件成本与硬件成本之和为计算机系统的总成本。这个软件的成本在总成本中所占的比例为
(4)在2002年开发这个应用程序所需的工作量约为
这个软件的成本大约为
12.5×8000=100000(美元)
该软件的成本在总成本中所占的比例为
2. 根据历史数据可以作出如下的假设。
(1)对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:
(2)存储器的价格按下面公式描述的趋势逐年下降:
如果计算机字长为16位,则存储器价格下降的趋势为:
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。
(1)在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?
(2)假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
(3)假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)(2)题所问。
答:(1)在1985年对计算机存储容量的需求,估计是
如果字长为16位,则这个存储器的价格是
=5789(美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。
在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20=200条指令。
为了开发出4474263条指令以装满存储器,需要的工作量是
程序员的月平均工资是4000美元,开发出4474263条指令的成本为
22371×4000美元)
(3)在1995年对存储容量的需求,估计为
如果字长为32位,则这个存储器的价格是
=7127(美元)
如果一条指令为一个字长,则为使存储器装满程序共指令。
在1995年一名程序员每天可开发出30条指令,每月可开发出6000条指令,为了开发出可装满整个存储器的程序,需用的工作量为
开发上述程序的成本为
122629×6000=735776790(美元)
3. 美国某科幻电影中有一个描写计算机软件错误的故事,很富于戏剧性。故事情节如下:
由计算机HAL控制的宇宙飞船在飞往木星的旅途中,飞行指挥员鲍曼和HAL之间有一段对话。鲍曼命令道:“HAL,请对备用舱进行故障预报测试。”10秒钟后HAL报告:“一切正常。”
但是,地面上的飞行指挥中心在重复做了故障预报测试后,却得出了相反的结论:“鲍曼,我是飞行指挥中心,你的计算机在预报故障时可能犯了错误,我们的两台HAL计算机都得出了和你的计算机相反的结论。”
鲍曼用手指敲着控制台说:“HAL,是不是有什么东西干扰了你,以致出了这个差错?”
“听着,鲍曼,我知道你很想帮助我,但是我的信息处理是正常的。不信就查看我的记录吧,你会看到它是完全正确的。”
“我看过你的服务记录,但是……谁都可能犯错误啊。”
“我并不固执己见,但是,我是不可能犯错误的……”
“喂,我是飞行指挥中心,我们已经彻底分析了你所遇到的麻烦,我们的两台计算机得出了完全一致的结论。问题出在故障预报系统中,我们确信是程序设计有错误。你必须断开你的计算机并改为地面控制模式,我们才能改正这个错误。”
当鲍曼断开计算机时,HAL立即又把自己接了上去。最后,鲍曼只
文档评论(0)