第一篇:2010年上半年软考软件设计师考试试题及答案(精)
2010年上半年软考软件设计师考试试题及答案 案例分析1 当初为了占领市场,淘宝网等C2C网站前仆后继选择了免费策略。在成功使用免费战略笼络了客户之后,2006年5月,淘宝网尝试性地推出了收费性服务——招财进宝,即“淘宝网将按卖家所出招财进宝价格等条件决定其宝贝在淘宝相关页面或其合作伙伴的相关页面中排名位置,并按照最后的成交情况,来收取服务费”。然而这一朝着赢利方向的尝试,遭到用户的强烈反抗,不少淘宝用户甚至采取罢市的方法,抗议淘宝网失信当初的免费诺言。2006年6月,招财进宝被用户公开投票宣判死刑,淘宝网对C2C电子商务网站盈利模式的首次摸索,以失败告终。
案例简介
在“招财进宝”出道的时候,很受人关注,多数专业人士认为“招财进宝”思路清晰,方式巧妙,和百度的竞价排名异曲同工;在激烈的C2C竞争中,淘宝网找到了一条潜在的赢利道路。但在“招财进宝”的实施过程当中,业绩并不好,最后被撤销。
作为关键字付费点击业务的C2C版本,淘宝网创造新的收入模式,为一部分会员提供增值业务;另一方面,随着商品数量的上升,如何进行有效的商品筛选及排序也是一项难题。
认真阅读以上案例材料,回答以下问题。1.简单概述一下淘宝网的经营模式。2.试分析淘宝网“招财进宝”失败的原因? 3.从淘宝网“招财进宝”失败的案例中,你得到的启示有哪些? 案例分析2 材料1
伊利集团是全国乳品行业的龙头企业之一。为了提升企业的管理水平,1999年,伊利集团开始酝酿上ERP。以伊利集团的财力,上一套国外的管理软件从资金上讲根本没有问题。任何成熟的管理软件,不论是SAP的ERP软件,还是Oracle的ERP软件,都是对一种成熟管理模式的总结,是一种标准的共性产品。
在企业信息化的过程中,是个性文化适应抽象的软件系统,还是抽象的软件适应个性化文化?在资源、管理、文化等诸多方面凝聚的现实面前。与IBM、HP、宝洁等跨国公司的管理品质相比,伊利的管理还处在童年。
ERP诞生于德国,是对成熟制造业管理模式的一种总结,是一种事后管理。而任何企业,要成为全行业的排头兵,一定要有自己独特的管理理念和管理模式。买了一个ERP软件,也就等于买了别人的管理模式。
伊利的目标是成为全国乳品行业的老大,要集中资源“构建中国伊利”,因此,伊利的管理系统一定要“量身定制”。通过用友为其量身定制的分销管理系统,伊利实现了从传统管理到过程管理的转变。
(1改变了管理的思维方式,实现了数字管理和过程管理,达到了真正的目标管理。
以前伊利集团的管理方式也是逐级汇报,一条消息从代理点传到总部至少要两三天;采用信息系统后,代理点—子公司—事业部—总部实现了7×24小时实时数据的输入和查询,从几十个小时缩减到几秒,更重要的是有了后台数据库支持,除了必要的沟通外,多数经营数据可以在数据库内直接查询,将事后控制,变成了过程控制。(2优化了业务流程,提高了效率,一个订单的流转从一周缩短到不足24小时。以前,从客户下订单到配送中心的汽车离开仓库,通常需要一周的时间。采用分销管理系统以后,全部订单的配送当天就可以完成,同时还可对客户进行实时审查。信用额度的问题:某个客户只有100万的额度,但在没有分销管理系统的时候,信用额度就有可能被忽视或者被人情、关系替代,有了分销管理系统以后,超过一分钱都下不了订单。(3大大降低了运营成本,仅产品过期损失一项就从百万元级降低到了十万元级。存货时间敏感:鲜奶的保质期只有3天,冷饮是3个月,液态奶是8个月,奶粉是12个
月。库存管理:仓库管理员只凭“记忆”管理仓库,经常把即将过期的产品留在仓库,而把刚生产出来的产品发走了。有了分销管理系统以后,根据产品的标号,仓库内哪些产品是即将过期的,哪些是新生产的,一目了然,因而大大降低了过期产品的损失。而因为资金周转速度加快、准确预测产量等带来的效益的提高就更多了。
材料2 河南许继集团是以机电装备的研发、生产、销售为主的国有控股大型企业,是国家520家重点企业之一。产品涵盖电力系统一、二次设备、民用机电及电子商务、环保工程、资产管理等行业。
1998年初,许继公司采用Symix公司的产品来实施ERP。
许继上ERP希望解决三个方面问题:规范业务流程、信息的收集整理更畅通、成本计算更准确。备选软件:SAP、Symix、浪潮软件、利玛等国内外厂商,出于价位原因选择Symix。
1998年初签单,同年7月份,许继实施ERP进展顺利。包括数据整理、业务流程重组
及物料清单的建立。厂商售后服务也算到位,基本完成了产品的知识转移。许继在培养自己的而出开发队伍方面也有成效。
1998年8月,许继公司进行了重大机构调整,管理层关注企业的生存、经营的合理化和利润最大化,没有认真考虑结构调整对ERP项目的影响。
企业经营结构变了,当时所用的软件流程已经死了,厂商也想不出好办法,公司项目暂停,只在下属小公司运行,部分功能在使用。造成资源极大的浪费。
结合上述材料回答以下问题。
1.伊利公司运用ERP系统的主要目的是什么?
2.伊利和许继集团引进ERP的案例给我们什么启示? 案例分析3 百度搜索引擎竞价排名服务可将您的网站排在百度搜索结果前列,同时出现在各大搜索引擎的搜索结果中;CNNIC调查报告显示,搜索引擎是用户得知新网站的最重要途径,80%的网民习惯通过搜索引擎以“关键词”搜索的方式查询所感兴趣的信息。
竞价排名是百度国内首创的一种按效果付费的网络推广方式,用少量的投入就可以给企业带来大量潜在客户,有效提升企业销售额。通过本章的案例学习,可以掌握企业在复杂的互联网上如何更好更快的展现自己,立于不败之地。
深圳市新三思材料检测有限公司是国内专业从事材料试验方法研究与材料试验机制造的股份制高新技术企业,是国内最大的材料试验机专业制造商。2001年被授予“中国仪器仪表行业500强企业”。
1996年6月,新三思材料检测有限公司诞生于深圳经济特区,当时公司的注册资本只有100万元。第二年,新三思公司便在上海设立了办事处,并在上海交通大学挂牌成立了“华东地区技术服务中心”,新三思公司的业务量遍及了全中国,除了上海分公司以外,在长春、济南等地也建有分公司,此外还在成都、青岛等全国主要城市设立了26个办事处和七大服务中心。综合实力在中国试验机行业排名首位,市场占有率、人均生产产值与人均销售收入三项指标也在国内同行业连续五年名列首位。
新三思公司从2004年六七月份开始决定在百度上做推广。公司在此之前经过了大量的调查研究工作,对内询问销售员,对外调查客户。调查人员发现从网络上推广或者获取新三思公司的信息是一条非常重要的途径。而百度作为最大的中文搜索引擎网站,天然的具有优
势。于是公司决定在百度上做推广,并牢牢占据前三位的位置。果然很快就有了明显的效果:业务量增加了两成以上,当年8月份新三思公司就一举夺得了南昌大
学试验机台数超过33台的招标合同,刷新了公司8年来发展历程中的合同金额以及销售试验机台数的最新纪录。
结合上述材料回答一下问题 1.搜索引擎都有哪些?(至少写出3个 2.百度竞价排名的优势有哪些? 3.新三思公司选择百度的理由是什么? 案例分析4 戴尔公司1984年成立;1992年,首次被《财富》评为世界五百强企业;1996年,开始通过网站销售旗下产品,拉开网络直销的序幕。2000年,网上营业额达到每天5,000万美元;自1995年起,戴尔公司一直名列《财富》杂志评选的“最受仰慕的公司”,2001年排名第10位。2006年,首次季度出货量超过1000万台系统,但赖以为生的直销模式开始出现衰退。2008年,季度盈利超过9亿美元,市场占有率却不停下降,已远远低于竞争对手惠普和联想。
戴尔公司定位:全球领先的IT产品及服务提供商。
经营模式:按照客户要求制造计算机,提供客户所信赖和注重的创新技术与服务,并向客户直接发货。
服务:产品服务、安装服务、工厂定制成、企业支持服务、戴尔培训与认证、实行“修理、更换、退货服务”的三包服务
产品:戴尔电脑(除固定配置外,客户也可以根据自身需求选择电脑配置得到真正有个人特色的专属电脑。按照家庭与个人办公、中小企业、公共事务部、大型企业的分类提供产品。产品涉及笔记本、上网本、电子产品、软件电脑附件、显示器打印机。
通过网络直接经营的商业模式,消除中间商。以此减少运营成本、中间代理获利及信息沟通时间。提供各种资讯、优质服务、个人服务。提供额外利益给顾客(在戴尔网上直销站点购置电脑都有至少500元的现金折扣提供社区意识。令顾客拥有全面性的体验自助方式(根据自我意识个性化选择。
从市场份额来看在华中小企业及个人消费者通过网络订购电脑的占20%。戴尔将客户分为两类:一类是大企业、政府和行业客户,约占公司整体业务销售80%;另一部分为中小企
业和个人消费者,仅占20%的比例。
随着电子商务的发展,越来越多的电商的竞争,主要竞争者为,新蛋网,中关村在线,京东商城等。单一网站的竞争力逐渐被综合性商城削弱。网络消费者对于综合性电子商务商城相对熟悉,除电子数码产品外还购买其他服装、配饰、家居、书籍等产品,购买习惯驱使也会影响消费者选择这些非专业性但自己对其有了解的网站。这类商城也有二手产品销售,价格上也有优势。
根据以上材料,回答一下问题。
1.对戴尔这种网络直销模式进行SWOT分析。
第二篇:2010年上半年软考软件设计师考试试题及答案
2010年上半年软考软件设计师考试试题及答案
案例分析1 当初为了占领市场,淘宝网等C2C网站前仆后继选择了免费策略。在成功使用免费战略笼络了客户之后,2006年5月,淘宝网尝试性地推出了收费性服务——招财进宝,即“淘宝网将按卖家所出招财进宝价格等条件决定其宝贝在淘宝相关页面或其合作伙伴的相关页面中排名位置,并按照最后的成交情况,来收取服务费”。然而这一朝着赢利方向的尝试,遭到用户的强烈反抗,不少淘宝用户甚至采取罢市的方法,抗议淘宝网失信当初的免费诺言。2006年6月,招财进宝被用户公开投票宣判死刑,淘宝网对C2C电子商务网站盈利模式的首次摸索,以失败告终。案例简介 在“招财进宝”出道的时候,很受人关注,多数专业人士认为“招财进宝”思路清晰,方式巧妙,和百度的竞价排名异曲同工;在激烈的C2C竞争中,淘宝网找到了一条潜在的赢利道路。但在“招财进宝”的实施过程当中,业绩并不好,最后被撤销。作为关键字付费点击业务的C2C版本,淘宝网创造新的收入模式,为一部分会员提供增值业务;另一方面,随着商品数量的上升,如何进行有效的商品筛选及排序也是一项难题。
认真阅读以上案例材料,回答以下问题。1.简单概述一下淘宝网的经营模式。2.试分析淘宝网“招财进宝”失败的原因?
3.从淘宝网“招财进宝”失败的案例中,你得到的启示有哪些?
案例分析2 材料1 伊利集团是全国乳品行业的龙头企业之一。为了提升企业的管理水平,1999年,伊利集团开始酝酿上ERP。以伊利集团的财力,上一套国外的管理软件从资金上讲根本没有问题。任何成熟的管理软件,不论是SAP的ERP软件,还是Oracle的ERP软件,都是对一种成熟管理模式的总结,是一种标准的共性产品。
在企业信息化的过程中,是个性文化适应抽象的软件系统,还是抽象的软件适应个性化文化?在资源、管理、文化等诸多方面凝聚的现实面前。与IBM、HP、宝洁等跨国公司的管理品质相比,伊利的管理还处在童年。ERP诞生于德国,是对成熟制造业管理模式的一种总结,是一种事后管理。而任何企业,要成为全行业的排头兵,一定要有自己独特的管理理念和管理模式。买了一个ERP软件,也就等于买了别人的管理模式。
伊利的目标是成为全国乳品行业的老大,要集中资源“构建中国伊利”,因此,伊利的管理系统一定要“量身定制”。通过用友为其量身定制的分销管理系统,伊利实现了从传统管理到过程管理的转变。
(1)改变了管理的思维方式,实现了数字管理和过程管理,达到了真正的目标管理。以前伊利集团的管理方式也是逐级汇报,一条消息从代理点传到总部至少要两三天;采用信息系统后,代理点—子公司—事业部—总部实现了7×24小时实时数据的输入和查询,从几十个小时缩减到几秒,更重要的是有了后台数据库支持,除了必要的沟通外,多数经营数据可以在数据库内直接查询,将事后控制,变成了过程控制。(2)优化了业务流程,提高了效率,一个订单的流转从一周缩短到不足24小时。以前,从客户下订单到配送中心的汽车离开仓库,通常需要一周的时间。采用分销管理系统以后,全部订单的配送当天就可以完成,同时还可对客户进行实时审查。信用额度的问题:某个客户只有100万的额度,但在没有分销管理系统的时候,信用额度就有可能被忽视或者被人情、关系替代,有了分销管理系统以后,超过一分钱都下不了订单。(3)大大降低了运营成本,仅产品过期损失一项就从百万元级降低到了十万元级。存货时间敏感:鲜奶的保质期只有3天,冷饮是3个月,液态奶是8个月,奶粉是12个月。库存管理:仓库管理员只凭“记忆”管理仓库,经常把即将过期的产品留在仓库,而把刚生产出来的产品发走了。有了分销管理系统以后,根据产品的标号,仓库内哪些产品是即将过期的,哪些是新生产的,一目了然,因而大大降低了过期产品的损失。而因为资金周转速度加快、准确预测产量等带来的效益的提高就更多了。
材料2 河南许继集团是以机电装备的研发、生产、销售为主的国有控股大型企业,是国家520家重点企业之一。产品涵盖电力系统一、二次设备、民用机电及电子商务、环保工程、资产管理等行业。
1998年初,许继公司采用Symix公司的产品来实施ERP。
许继上ERP希望解决三个方面问题:规范业务流程、信息的收集整理更畅通、成本计算更准确。备选软件:SAP、Symix、浪潮软件、利玛等国内外厂商,出于价位原因选择Symix。
1998年初签单,同年7月份,许继实施ERP进展顺利。包括数据整理、业务流程重组及物料清单的建立。厂商售后服务也算到位,基本完成了产品的知识转移。许继在培养自己的而出开发队伍方面也有成效。
1998年8月,许继公司进行了重大机构调整,管理层关注企业的生存、经营的合理化和利润最大化,没有认真考虑结构调整对ERP项目的影响。
企业经营结构变了,当时所用的软件流程已经死了,厂商也想不出好办法,公司项目暂停,只在下属小公司运行,部分功能在使用。造成资源极大的浪费。
结合上述材料回答以下问题。
1.伊利公司运用ERP系统的主要目的是什么? 2.伊利和许继集团引进ERP的案例给我们什么启示?
案例分析3 百度搜索引擎竞价排名服务可将您的网站排在百度搜索结果前列,同时出现在各大搜索引擎的搜索结果中;CNNIC调查报告显示,搜索引擎是用户得知新网站的最重要途径,80%的网民习惯通过搜索引擎以“关键词”搜索的方式查询所感兴趣的信息。
竞价排名是百度国内首创的一种按效果付费的网络推广方式,用少量的投入就可以给企业带来大量潜在客户,有效提升企业销售额。通过本章的案例学习,可以掌握企业在复杂的互联网上如何更好更快的展现自己,立于不败之地。
深圳市新三思材料检测有限公司是国内专业从事材料试验方法研究与材料试验机制造的股份制高新技术企业,是国内最大的材料试验机专业制造商。2001年被授予“中国仪器仪表行业500强企业”。
1996年6月,新三思材料检测有限公司诞生于深圳经济特区,当时公司的注册资本只有100万元。第二年,新三思公司便在上海设立了办事处,并在上海交通大学挂牌成立了“华东地区技术服务中心”,新三思公司的业务量遍及了全中国,除了上海分公司以外,在长春、济南等地也建有分公司,此外还在成都、青岛等全国主要城市设立了26个办事处和七大服务中心。综合实力在中国试验机行业排名首位,市场占有率、人均生产产值与人均销售收入三项指标也在国内同行业连续五年名列首位。新三思公司从2004年六七月份开始决定在百度上做推广。公司在此之前经过了大量的调查研究工作,对内询问销售员,对外调查客户。调查人员发现从网络上推广或者获取新三思公司的信息是一条非常重要的途径。而百度作为最大的中文搜索引擎网站,天然的具有优势。于是公司决定在百度上做推广,并牢牢占据前三位的位置。果然很快就有了明显的效果:业务量增加了两成以上,当年8月份新三思公司就一举夺得了南昌大学试验机台数超过33台的招标合同,刷新了公司8年来发展历程中的合同金额以及销售试验机台数的最新纪录。
结合上述材料回答一下问题
1.搜索引擎都有哪些?(至少写出3个)2.百度竞价排名的优势有哪些? 3.新三思公司选择百度的理由是什么?
案例分析4 戴尔公司1984年成立;1992年,首次被《财富》评为世界五百强企业;1996年,开始通过网站销售旗下产品,拉开网络直销的序幕。2000年,网上营业额达到每天5,000万美元;自1995年起,戴尔公司一直名列《财富》杂志评选的 “ 最受仰慕的公司 ”,2001年排名第10位。2006年,首次季度出货量超过1000万台系统,但赖以为生的直销模式开始出现衰退。2008年,季度盈利超过9亿美元,市场占有率却不停下降,已远远低于竞争对手惠普和联想。
戴尔公司定位:全球领先的IT产品及服务提供商。
经营模式:按照客户要求制造计算机,提供客户所信赖和注重的创新技术与服务,并向客户直接发货。
服 务:产品服务、安装服务、工厂定制成、企业支持服务、戴尔培训与认证、实行“修理、更换、退货服务”的三包服务
产 品:戴尔电脑(除固定配置外,客户也可以根据自身需求选择电脑配置得到真正有个人特色的专属电脑)。按照家庭与个人办公、中小企业、公共事务部、大型企业的分类提供产品。产品涉及笔记本、上网本、电子产品、软件电脑附件、显示器打印机。通过网络直接经营的商业模式,消除中间商。以此减少运营成本、中间代理获利及信息沟通时间。提供各种资讯、优质服务、个人服务。提供额外利益给顾客(在戴尔网上直销站点 购置电脑都有至少500元的现金折扣)提供社区意识。令顾客拥有全面性的体验自助方式(根据自我意识个性化选择)。从市场份额来看在华中小企业及个人消费者通过网络订购电脑的占20%。戴尔将客户分为两类:一类是大企业、政府和行业客户,约占公司整体业务销售80%;另一部分为中小企业和个人消费者,仅占20%的比例。
随着电子商务的发展,越来越多的电商的竞争,主要竞争者为,新蛋网,中关村在线,京东商城等。单一网站的竞争力逐渐被综合性商城削弱。网络消费者对于综合性电子商务商城相对熟悉,除电子数码产品外还购买其他服装、配饰、家居、书籍等产品,购买习惯驱使也会影响消费者选择这些非专业性但自己对其有了解的网站。这类商城也有二手产品销售,价格上也有优势。
根据以上材料,回答一下问题。
1.对戴尔这种网络直销模式进行SWOT分析。
第三篇:2015年软考软件设计师模拟试题及答案解析
2015年软考软件设计师模拟试题及答案解析[1] 【网络综合-2015年软考软件设计师模拟试题及答案解析】:
41.不是C语言提供的合法关键字是(46)
(45)A.switch
B.begin
C.case
D.default
参考答案:(46)B。
解析:因C语言的关键字表中没有begin,它不是C语言的关键字。所以解答是B。
42.下列字符列中,能作为单个标识符是(47)
(47)A.?a
B.a=2
C.a.3
D.a___3
参考答案:(47)D。
解析:在C语言中,规定标识符是这样一种字符序列,由英文字母或下线字符开始,后接任1个英文字母、下线字符和数字符组成。所以问题所列的字符列只有a_3是标识符,其余都l是标识符,一个是由字符’?’开头、一个中间有字符’=’,另一个有字符’.’。所以解答是D。
43.在C语言中,下列说法中错误的是(48)
(47)A.函数定义可以分为两个部分:函数说明部分和函数体
B.主函数可以调用任何非主函数
C.任何非主函数可以调用其它任何非主函数
D.程序可以从任何函数开始执行
参考答案:(48)D。
解析:每个C函数的定义分两部分,函数说明部分和函数体,所以叙述①是正确的叙述。C语言中,函数可以递归调用,主函数可以调用程序中的任何函数,当然可以调用任何非主教的其它函数,所以叙述②是一个正确的叙述。同样理由,叙述③也是正确的。C语言规,C程序只有一个主函数,并总是从主函数开始执行,不能从非主函数开始执行。所以,说程可以从任何函数开始执行是错误的。所以解答是D。
44.为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。其中,(49)适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。
(49)A.状态迁移图
B.时序图
C.Petri网
D.HIPO图
参考答案:(49)C。
解析:为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。常用的动态分析方法有状态迁移图、时序图和Petri网。
状态迁移图是描述系统的状态如何响应外部的信号进行推移的一种图形表示。
时序图用于对比在系统中处理时间的时序与相应的处理时间,进行系统分析。
Petri网方法本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。
在结构化设计中,分层输入-处理-输出图(HIPO图)既可以描述软件总的模块层次结构,又可以描述每个模块的输入/输出关系、处理内容、模块的内部数据和模块的调用关系。它是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。
46.函数调用语句“f((el,e2),(e3,e4,e5));”中参数的个数是(51)
(51)A.1
B.2
C.4
D.5
参考答案:(51)B。
解析:上述函数调用中,(e1,e2)和(e3,e4,e5)是两个带括号的表达式,所以函数调用只提供两个实参,其中第一个实参先计算el的值,然后计算e2,并以e2的值为实参。第二个实参顺序计算e3,e4,e5,并以e5的值为实参。所以解答是B。
47.C语言中,函数的隐含存储类型是(52)
(52)A.auto
B.static
C.extern
D.无存储类别
参考答案:(52)C。
解析:由于C函数内不能再定义函数,C函数的存储类型只能是静态的或外部的之一。若定义函数时不指定存储类型是静态的,则它的存储类型就是外部的(extern),即函数允许被程序的其它函数调用。所以解答是C。
48.测试是保证软件质量的重要手段。根据国家标准GB 8566-88《计算机软件开发规范》的规定,应该在(53)阶段制定系统测试计划。
(53)A.需求分析
B.概要设计
C.详细设计
D.系统测试
参考答案:(53)A 49.以下对C语言函数的有关描述中,正确的是(54)
(54)A.在C语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
B.C函数既可以嵌套定义,又可以递归调用
C.函数必须有返回值,否则不能定义成函数
D.C程序中,有调用关系的所有函数必须放在同一个源程序文件中
参考答案:(54)A。
解析:C语言规定,调用函数时,只能把实参的值传递给函数的形参。函数调用时,形参从实参表达式得到初值,报参也是函数的一种局部变量,其值可以改变,但形参的值不能传回给对应的实参。当函数设置非指针类型的形参时,实参可以是同类型的一般表达式;当函数设置指针类型的形参时,对应的实参也必须是同类型的指针表达式。所以叙述A是正确的。C语言虽可以递归调用,但同时规定,在函数内不能再定义函数,所以叙述B是错误的。通常C函数会有返回值,但也可以没有返回值。有许多情况,函数的执行是完成某种预定的工作,并没有返回值,所以叙述C是不正确的。在C程序中,如函数未指定是静态的,则就是外部的,能让别的文件中的函数调用。但函数要调用别的文件中的函数,在调用代码之前,需对它作说明,所以叙述D也是不正确的。正确的解答只有A。
50.某软件产品在应用初期运行在Windows 2000环境中。现因某种原因,该软件需要在Linux环境中运行,而且必须完成相同的功能。为适应该需求,软件本身需要进行修改,而所需修改的工作量取决于该软件的(55)。
(55)A.可复用性
B.可维护性
C.可移植性
D.可扩充性
参考答案:(55)C。
解析:软件的可复用性指软件或软件的部件能被再次用于其他应用中的程度。软件复用性取决于其模块独立性、通用性和数据共享性等。
软件的可维护性是指一个软件模块是否容易修改、更新和扩展,即在不影响系统其他部分的情况下修改现有系统功能中问题或缺陷的能力。
软件的可移植性指将软件系统从一个计算机系统或操作系统移植到另一种计算机系统或操作系统中运行时所需工作量的大小。可移植性取决于系统中硬件设备的特征、软件系统的特点和开发环境,以及系统分析与设计中关于通用性、软件独立性和可扩充性等方面的考虑。
软件的可扩充性指软件的体系结构、数据设计和过程设计的可扩充程度。可扩充性影响着软件的灵活性和可移植性。
由以上分析可知,该软件产品从Windows 2000环境中迁移到Linux环境中运行,为完成相同的功能,软件本身需要进行修改,而所需修改的工作量取决于该软件产品的可移植性。
51.进程的五态模型包括运行状态、活跃就绪状态、静止就绪状态、活跃阻塞状态和静止阻塞状态。针对图5的进程五态模型,为了确保进程调度的正常工作,(a)、(b)和(c)的状态分别为(56)。
软件设计师练习试题及答案解析
图6 进程的五态模型图
(56)A.静止就绪、静止阻塞和活跃阻塞
B.静止就绪、活跃阻塞和静止阻塞
C.活跃阻塞、静止就绪和静止阻塞
D.活跃阻塞、静止阻塞和静止就绪
参考答案:(56)D。
解析:在多道程序系统中,进程在处理器上交替运行,在运行、就绪和阻塞3种基本状态之间不断地发生变化。由于进程的不断创建,系统资源(特别是主存资源)已不能满足进程运行的要求。此时就必须将某些进程挂起,对换到磁盘镜像区,暂时不参与进程调度,以平衡系统负载的目的。如果系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题。
在图6具有挂起状态的进程状态及其转换图中,活跃就绪是指进程在主存并且可被调度的状态。(1)空缺处各选项中,静止就绪是指进程被对换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。因此,图6的(c)空缺处应填入“静止就绪”这一状态。
活跃阻塞是指进程在主存中。一旦等待的事件产生,便进入活跃就绪状态。因此,图6的(a)空缺处应填入“活跃阻塞”。
静止阻塞是指进程对换到辅存时的阻塞状态。一旦等待的事件产生,便进入静止就绪状态。故图6的(b)空缺处应填入“静止阻塞”。
由以上分析可知,(56)空缺处的正确答案是选项D。
另外,对于一张完整的进程五态模型图,则需在图3-4模型图中增加一条从“运行”态到“活跃阻塞”态的边,其状态转换原因是“等待”事件(如I/O请求)发生,以及增加一条从“运行”态到“静止就绪”态的边,其状态转换原因是“挂起”。
52.基于构件的开发(CBD)模型,融合了(57)模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。
(57)A.瀑布
B.螺旋
C.喷泉
D.快速应用开发(RAD)
参考答案:(57)B。
解析:螺旋模型是演化软件过程模型的一种,最早由Boehm提出,它将原型实现的迭代特征与线性顺序模型中控制的和系统化的方面结合起来,使软件增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。
面向对象技术为软件工程的基于构件的过程模型提供了技术框架。基于构件的开发模型融合了螺旋模型的许多特征。它本质上是演化型的,要求软件创建迭代方法。
基于构件的开发模型是利用预先包装好的软件构件来构造应用的。统一软件开发(RUP)过程是在产业界提出的一系列基于构件的开发模型的代表。
53.设有定义“inta=3,b,*p=&a;”,则下列语句中使b不为3的语句是(58)
(58)A.b=*&a;
B.b=*p;
C.b=a;
D.b=*a;
参考答案:(58)D。
解析:定义有inta=3,b,*p=&a;对b赋值的表达式有*&a、*p、a、*a。引用变量。的值有两种方法,一是直接引用a,二是通过a的指针间接引用a。对于后者,又有多种表达方法,通过指向a的指针p,间接引用a的内容,如*p。或通过求地址运算符由变量a得到其指针&a,再由这指针表达式间接引用a的内容,如*&a。所以表达式*&a、*p和a都能引用变量a的值,而使b的值为3。而表达式。a是错误的,因为a不是指针变量,不能对它施行取内容运算符。所以解答是D。
54.设指针x指向的整型变量值为万,则“printf(”%d “,++*x);”的输出是(59)
(59)A.23
B.24
C.25
D.26
参考答案:(59)D。
解析:若指针变量x指向某个变量,例如指向变量v,并且变量v的值是25,则表达式++*x的值是26。这是因为表达式的计算顺序可加圆括号表达成(++(*x)),首先是*x,是对X所指变量V的引用,所以++*X就是++V。++V是先让变量V增1,并以增至后的V的值为表达式++V的结果,所以其值是26。所以解答是D。
55.若有说明:“inti,j=7,*p=&i;”,则与“i=j;”等价的语句是(60)
(59)A.i=*p;
B.*P=*&j;
C.i==&j;
D.i=**p;
参考答案:(60)B。
解析:指针变量p指向变量i时,表达式i=*p等价于i=i;表达式*p=*&j等价于i=j;而表达式i=&j企图将整型变量的指针赋给整型变量,这是错误的;表达式i=**p也是一种错误的表达式。p是指针,*p是p所指变量j,**p是企图将整型变量j当作指针,并想通过j间接引用某个变量。所以解答是B。
56.以下关于软件质量度量指标的叙述中,说法正确的是(61)。
(32)A.正确性就是用每千行代码的故障(fault)数来度量
B.软件完整性是指软件功能与需求符合的程度
C.软件维护的工作量比开发阶段的工作量小
D.可用性与用户的操作效率和主观评价有关
参考答案:(61)D。
解析:最主要的软件质量度量指标有正确性、可维护性、完整性和可用性。软件的正确性是指软件完成所需功能的程度,尽管这种程度与每千行代码的故障数有关,但不完全等同。
软件完整性是指软件在安全方面抗攻击的能力。
软件维护的工作量比开发阶段的工作量大,通常的估计是,开发阶段的工作量占软件生命期整个工作量的40%,而维护阶段的工作量则占60%,甚至更多。
软件可用性用来度量软件的“用户友好性”,可以从①学会操作软件所需的体力和智力、②对系统的使用达到中等效率所需的时间、③当系统由一个中等效率的人使用时测量到的生产率增长值和④用户对系统的主观评价等4个方面来度量可用性。
第四篇:软考软件设计师必做练习题及答案
软考软件设计师必做练习题及答案
软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希赛小编整理的软考软件设计师考前必做的练习题。试题一分析
本题主要考查类图和顺序图。【问题1】
需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock中含有锁编号和锁状态这两个属性。又因为题中有:在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock中还有锁的安全级别。
【问题2】
首先,(1)、(2)是FingerReader和LockController之间的交互。所以我们看题目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,(2)应填“读取指纹”。(3)是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以(3)应是从UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。(5)是MainFrame向自己发送的一条消息,从题目中的“主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,则将锁打开;否则系统报警”可以看出,主机在得到所有信息后要判断用户是否能开锁,所以(5)应填“判断用户是否能开锁”。
【问题3】
这是纯理论题,请直接阅读参考答案。
试题一参考答案
【问题1】
锁的编号、安全级别、锁的当前状态。
【问题2】
(1)中断事件(2)读取用户指纹
(3)读取用户开锁权限(4)读取锁的安全级别
(5)判断用户是否有权限开锁,或用户是否可以开锁
【问题3】
组装和聚集都表示实例之间的整体/部分关系。组装是聚集的一种形式。
聚集是概念性的,只是区分整体与部分。
组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。
试题二分析
本题考查的是UML类图和顺序图的基本知识。
【问题1】
由于一个商品分类中可以有多个商品,而一个商品仅仅对应一个商品分类,所以商品分类与商品之间的关系是1:0..*,即第(1)空填“0..*”,第(2)空填“1”。
促销活动与商品之间的关系是这样的:一个促销活动至少得有一种促销商品,否则就无法成为促销活动;而一种商品可以参与多个促销活动,所以促销活动与商品之间的关系有些特别,应是0..*:1..*,故第(3)空填“0..*”,第(4)空填“1..*”。
再看订单与促销活动之间的关系:由于题目中说明“用户可选择参与某一个促销(Promotion)活动”,同时对于一个促销活动可以有多个客户下订单,所以它们之间的关系为1:0..*,所以第(5)空填“1”,第(6)空填“0..*”。
【问题2】
在顺序图中,消息的执行顺序为:在垂直方向自上至下地执行,其中的虚线表示消息结果的返回。在图2-38中,包含着两个操作,第一个操作是得到某个商品的信息,其流程是:先在商品分类列表中找到相应的分类,再从分类中找到具体的商品,从此商品对应的类中得到相应信息。所以第(7)空应填“getCategories”,第(8)空应填“getCommodities”。第二个操作是创建一次促销活动,并为其指定促销品,所以第(9)空应填“createPromotion”,第(10)空应填“addCommodities”。
【问题3】
这是一个纯理论问题,请直接阅读参考答案。
试题二参考答案
【问题1】
(1)0..n或1..n(2)1(3)0..n
(4)1..n(5)1(6)0..n
【问题2】
(7)getCategories(8)getCommodities
(9)createPromotion(10)addCommodities
【问题3】
关系:聚集(聚合)是关联的特例。(聚集是关联的一种)
不同点:聚集表示部分与整体关系的关联。
试题三分析
本题考查类图和状态图。
【问题1】
根据“每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家及演奏这首歌曲的艺术家”和图2-39中类A与类B之间约束为“编写”、“演奏”,所以类A与类B只能是艺术家和歌曲,又根据图上标示的关联关系(1,0..*),可以确定类A为艺术家(Artist);类B为歌曲(Song)。类B与类E之间是聚集关系,根据题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,可以得到类E为音轨(Track)。
接下来看类E与类F之间存在组成的关系,根据“每张唱片由多条音轨构成”得到,类F为唱片(Album)。再来看类C和类D,它们与类A存在泛化关系,根据“艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队”可知,类C与类D为歌手和乐队,又因为类C与类D存在聚集关系,根据题中“一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”可知,类C为乐队(Band),类D为歌手(Musician)。
【问题2】
类C为乐队,类D为歌手,题中“一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”,则第(1)空应填“0..*”,第(2)空应填“2..*”。类B与类E存在聚集关系,题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,所以第(3)空应填“0..1”,第(4)空应填“1..*”。
类E与类F存在泛化关系,题中“每张唱片由多条音轨构成”,所以第(5)空应填“1..*”,第(6)空应填“1”。
特别要说明一下,是“0..*”还是“1..*”,要看表述和实际情况,比如第(5)空,一张唱片至少有几条音轨,当然至少有一条,否则就不是唱片了,故是从1开始的。
【问题3】
本问题考查的是类/对象关联中的一种特殊关联:递归关联,它描述的是同一个类的不同实例之间的关系。而类Track的不同实例之间恰好具有这种关系(因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么)。所以缺少的那条联系的两端都是类Track,其多重度都为0..1。下限为0,是对应不存在上一条或下一条音轨的情况。
【问题4】
问题4给定了两个状态“关闭”和“播放”,要求找出从“关闭”到“播放”的最短事件序列。这就要求我们能够在状态图上找到连接这两个状态的最短迁移,然后将迁移上的事件记录下来就可以了。
从“关闭”状态到“播放”状态可以选择经过迁移“连接电脑”到达“联机”状态,再经过迁移“断开连接”到达状态“打开”,再从“打开”状态的初始状态“歌曲待选”,经过迁移“选择歌曲”到达“播放状态”。这样经过的事件序列为:连接电脑电量饱和/完成复制断开连接选择歌曲。显然这样的事件序列远比“关闭”经过“按任意键”直接到达“打开”状态要长得多。所以从“关闭”到“播放”的最短事件序列是:按任意键,选择歌曲。
试题三参考答案
【问题1】
A:ArtistB:SongC:Band
D:MusicianE:TrackF:Album
【问题2】
(1)0..*(2)2..*(3)0..1
(4)1..*(5)1..*(6)1
【问题3】
【问题4】
按任意键,选择歌曲。
试题四分析
题目以希赛公司在线会议审稿系统为例,考查考生对UML用例图与活动图的掌握情况。
【问题1】
题目已经给出了4类参与者:用户、作者、审稿人、委员会主席,关键在于弄清楚各个参与者之间的关系,这些关系是通过题目中的系统功能描述来获得的。
(1)“用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人”,从此处可以得知系统中的用户分成了两类:作者和审稿人。
(2)“会议委员会主席是一个特殊审稿人”。
从上面两个条件得知:A1对应用户,A2对应作者,A3对应审稿人,A4对应会议委员会主席。同时由于UML图中不允许出现中文,且题目明确要求用英文名称给出A1~A4所对应的参与者,所以A1~A4处应分别填写User、Author、Reviewer和PCChair。
【问题2】
由“会议委员会主席是一个特殊审稿人,可以浏览提交的稿件,给审稿人分配稿件,罗列录用和(或)拒绝的稿件,以及关闭审稿过程”结合“用例名称列表”可以得知:会议委员会主席能操作的功能有浏览提交的稿件、分配稿件给审稿人、罗列录用或/和拒绝的稿件、关闭审稿过程。而从“其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件”可以看出,用例“关闭审稿过程”与“罗列录用或/和拒绝的稿件”之间有包含关系。从这个关系可以得知,U1对应的用例为:罗列录用或/和拒绝的稿件。同时(2)对应的关系为包含关系,即U1应填“listaccepted/rejectedpapers”,(2)应填“>”。这样,剩余的两项功能“浏览提交的稿件”和“分配稿件给审稿人”对应的为U2与U3,所以U2和U3分别应填“browsesubmittedpapers”和“assignpapertoreviewer”。
【问题3】
该小题考查考生对包含与扩展关系的理解。在对问题2的分析中,已经得出(2)填“>”。现在来看(1),该空是填“登录”与“提交稿件”之间的关系,在提交稿件时,若用户已经登录,则可直接提交;但如果用户没有登录,则需要先登录再提交,所以它们之间的关系应是扩展关系,即(1)应填“>”。
【问题4】
该活动图所描述的是作者提交稿件的过程,对此过程题目有详细的描
述:“作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。”,所以Action1~Action4分别对应:输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置、上传稿件。所以Action1~Action4分别填:entertitleandabstract、selectsubjectgroup、selectpaperlocation和uploadpaper。
试题四参考答案
【问题1】
A1:UserA2:AuthorA3:ReviewerA4:PCChair
【问题2】
U1:listaccepted/rejectedpapersU2:browsesubmittedpapers U3:assignpapertoreviewer
注:U2和U3的答案可互换
【问题3】
(1)>(2)>
【问题4】
Action1:entertitleandabstract Action2:selectsubjectgroup Action3:selectpaperlocation Action4:uploadpaper
试题五分析
本题考查面向对象系统开发时,采用UML模型进行建模的方法。
【问题1】
识别参与者时,考查和系统交互的人员和外部系统。在本题中,与系统交互的人员包括员工、注册到系统的员工(顾客)、餐厅员工、菜单管理员、送餐员以及工资系统。
由“菜单管理员是餐厅特定员工”以及图2-43中A2和图中餐厅员工之间的“是一种”关系可知,A2为菜单管理员;图2-43中还缺少描述中与工资系统的交互,由“……并发送给工资系统”可知,A1为工资系统。
【问题2】
在本题中,由“任何员工都可以查看菜单和今日特价”可知,图2-43中缺少用例查看今日特价,对应参与者是员工;由“系统的顾客是……,注册工资支付、……”可知,图中缺少用例注册工资支付,对应参与者是顾客和工资系统;由“餐厅员工是……,可以进行备餐、生成付费请求……发送给工资系统”可知,图2-43中缺少用例“生成付费请求”,对应的参与者是餐厅员工和工资系统;由“菜单管理员是餐厅特定员工,可以管理菜单”可知,图2-43中缺少用例管理菜单,对应的参与者是菜单管理员。
需要注意的是,在注册工资支付所对应的参与者中,虽然没有明确说明要和工资系统交互,但是由“对于注册工资支付的顾客生成付费请求并发送给工资系统”可知,工资支付是由工资系统控制,所以注册也需要和工资系统交互。
【问题3】
在顾客订餐过程的描述中,在“顾客选菜”之前,图中缺少符号和活动。由说明中顾客“可以订餐(如果未登录,需先登录)”可以判断,在系统“显示菜单和今日特价”之后“顾客选菜”之前,需要判断(判定符号)当前用户身份是否为顾客,如果不是,需先登录;由“……发送E-mail给顾客以确认订餐,同时发送相关订餐信息通知给餐于员工”可知,发送E-mail和通知餐厅员工为并行活动,需要在前后有同步条(或纵向
【问题4】
参与者之间的关系表示子类型“是一种”父类型,即泛化关系。其中父类型通常是一个抽象泛化的参与者,可以完成子类型可完成的共同行为,每个具体的子类型继承它,可以完成父类型参与者同样的任务,并可以补充额外的角色功能。
试题五参考答案
【问题1】)。
A1:工资系统A2:菜单管理员
【问题2】
【问题3】
【问题4】
泛化关系(一般/特殊关系、继承关系)。泛化关系描述了一个参与者可以完成另一个参与者同样的任务,并可补充额外的角色功能。
第五篇:软考软件设计师教程重难点解析
软考软件设计师资讯
http:// 软考软件设计师教程重难点解析
2016下半年软考软件设计师考试即将开始,同学们准备好了吗,希赛小编为正在备战下半年考试的你们准备了一些软件设计师教程重难点解析,希望对大家有所帮助。
死锁(Deadlock)是指多个进程在运行的过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。在软件设计师的考试当中,这个知识点的考查是以选择题的形式出现的,考点主要有:死锁的必要条件、解决死锁的方法,最难高难度会考到“银行家算法”。本文将介绍死锁的相关知识,但不会具体讲解“银行家算法”,该算法将在本系列的下一篇文章中详细说明。
1、死锁发生的必要条件
死锁的发生必须具备四个必要条件,这四个条件相互联系、缺一不可。
(1)互斥条件:指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其他进程请求该资源,则请求者只能等待,直至占有该资源的进程用完并释放。
(2)请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资
软考软件设计师资讯
http:// 源请求,而该资源又已被其他进程占有,此时请求进程阻塞,但又对自己已获得的其他资源保持不放。
(3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
(4)环路等待条件:指在发生死锁时,必然存在一个进程--资源的环形链,即进程集合{P0,P1,P2…Pn}中的P0正在等待一个P1占用的资源,P1正在等待P2占用的资源,……Pn正在等待已被P0占用的资源。
2、判断系统是否可能进入死锁状态
从上面的死锁解决方案来看,无论哪一种方式都不可避免的要增加系统的负担。而同时一个系统是否有可进入死锁状态受系统资源数量,需要使用该资源的进程数量等因素影响。若系统本不可能引起死锁,而我们采用了死锁解决方案,是很不合理的。所以,考试中常考到这样的题型:给出系统的资源数,以及需要使用该资源的进程数量等参数,让考生判断系统有无可能产生死锁。下面我们以例题的方式来说明如何解决这类问题。
例题1:
系统有3个进程:A、B、C。这3个进程都需要5个系统资源。如果系统有多少个资源,则不可能发生死锁。
解答:
在分析这个问题时,我们可以取一些简单的数据代入试题进行验证、分析,以得到相应的规律。
如:
(1)当系统资源数量为9时,若给A与B分别分配了4个资源,C分配了
1软考软件设计师资讯
http:// 个资源,则系统中的每个进程都存在资源不足的情况,而都不放手自己拥有的资源。不能正常运行完毕,发生死锁。
(2)当系统资源数量为12时,若给A、B、C各分配4个资源,则死锁。
(3)当系统资源数量为13时,无论如何分配,总有至少1个进程能得到5个资源,得到5个资源的进程可以正常运行完毕,而后将自己占用的资源分配给其它进程,所以这样能使所有进程运行完毕。
从上面的尝试,我们可以总结出一个规律:先给所有进程分配他们所需要的资源数减1个资源,然后系统如果能再剩余1个资源,则系统不会发生死锁。这样解答本题变得非常容易。
(5-1)*3+1=13。
例题2:
一台计算机有10台磁带机被m个进程竞争,每个进程最多需要三台磁带机,那么m至多为时,系统没有死锁的危险。
A.3 B.4 C.5 D.6
解答
首先从m=6开始考察,首先每个进程分配1台,剩下的4台只能分配给4个进程,还有2个进程没有分配,如果已经分配了2台的4个进程需要3台的话,则系统就会死锁。同样,如果m=5,也会发生这种情况。当m=4时,每个进程可以分得2台,还有2个进程可分得3台,则可正常运行,运行完毕后可释放资源,从而不会死锁。在解这道题时有些学员提出“如果按照答案m=4,则这4个进程都是需要3台磁带机的话,共需要12台磁带机,这样还不会死锁?”。这种想法是错误的,因为并不是同时把所有进程都分配给足够的资源才能完成这
软考软件设计师资讯
http:// 些进程,可以是一个进程先执行完,释放完资源再执行另一个进程。
例如:4个进程中,每个进程分配2台磁带机,用去了8台。剩下2台,仍然可以满足两个进程,直到他们完成,释放他们暂用的磁带机。
流水线
流水线这个知识点在软件设计师考试中是个重点也是个难点,考查的频率比较高。之所以说流水线是个难点,有两方面的原因:一方面是需要理解流水线的理论,了解其工作原理,计算方式;另一方面是在软考当中,对于流水线的相关计算,标准并不是完全统一的,这一点在后面我们将详细介绍。
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
指令流水线是将指令执行分成几个子过程,每一个子过程对应一个工位,我们称为流水级或流水节拍,这个工位在计算机里就是可以重叠工作的功能部件,称为流水部件。
如图1所示,IF,ID,EX,WD分别是流水线的流水部件。
流水线要求所有的流水级部件必须在相同的时间内完成各自的子过程。在流水线中,指令流动一步便是一个机器周期,机器周期的长度必须由最慢的流水级部件处理子过程所需的时间来决定。
软考软件设计师资讯
http://
那么我们为什么要提出流水线这个概念,以及流水线是如何提高系统吞吐量的呢?下面我们来看几个图,概念自然就清楚了。
图2是一个非流水线结构系统执行指令时空图。
我们从图2中可以看到,任意一个系统时间都有大量的设备处于空闲状态,如第一个时间段有ID,EX,WB空闲,则第二个时间段有IF,EX,WB空闲。
我们再来看采用了流水线结构的时空图3。
显然,采用流水线可以大大提升系统资源的利用率,以及整个系统的吞吐量。
流水线的操作周期取决于基本操作中最慢的那个。例如:一个3段流水线,软考软件设计师资讯
http:// 各段的执行时间分别为t,2t,t。则最慢的一段为2t,所以流水线操作周期为2t。
流水线的执行时间公式为:
第1条指令的执行时间+(指令条数-1)*流水线操作周期
例题1
若每一条指令都可以分解为取指、分析和执行三步。己知取指时间t取指=4△t,分析时间t分析=3△t,执行时间t执行=5△t。如果按串行方式执行完100条指令需要(1)△t。如果按照流水方式执行,执行完100条指令需要(2)△t。
供选择的答案
(1)A.1190 B.1195 C.1200 D.1205
(2)A.504 B.507 C.508 D.510
试题分析
本题考查的是计算机系统指令流水线方面的基础知识。根据题意可以看到,在此流水线中按串行方式执行完100条指令要用1200△t。采用流水方式执行,执行的总时间的关键取决于最长的执行时间,所以执行完100条的时间为:4Δt+3Δt+5Δt+(100-1)*5Δt=507Δt。
试题答案
C B 例题2
现采用4级流水线结构分别完成一条指令的取指、指令译码和取数、运算,以及送回运算结果4个基本操作,每步操作时间依次为60 ns,100 ns,50 ns和70 ns。该流水线的操作周期应为A ns。若有一小段程序需要用20条基本指
软考软件设计师资讯
http:// 令完成(这些指令完全适合于流水线上执行),则得到第一条指令结果需B ns,完成该段程序需C ns。
在流水线结构的计算机中,频繁执行D指令时会严重影响机器的效率。当有中断请求发生时,采用不精确断点法,则将E。
供选择的答案
A:①50②70③100④280
B:①100②200③280④400
C:①1400②2000③2300④2600
D:①条件转移②无条件转移③算术运算④访问存储器
E:①仅影响中断反应时间,不影响程序的正确执行
②不仅影响中断反应时间,还影响程序的正确执行
③不影响中断反应时间,但影响程序的正确执行
④不影响中断反应时间,也不影响程序的正确执行
试题分析
本题主要考查对流水线技术的掌握。
对于CPU来说,流水线技术实际上是一种以增加硬件换取性能的方式:把一条指令分解成多条更小的指令,由不同的处理单元来处理,在理想的满负荷运行状态下,执行一条指令的时间虽然没有减少,但是由于多个处理单元同时工作,在同一时间上可以执行不同指令的不同部分,从而使得总体的执行时间大大减少。流水线的操作周期取决于基本操作中最慢的那个。这里最慢的是100 ns,所以操作周期是100 ns。在流水线中,其实每一条指令的执行时间并没有减少,而第一条指令的执行并没有体现流水线的优势,它在4个操作周期后才能执行完
软考软件设计师资讯
http:// 成,这以后每个操作周期都能完成一条指令的执行。
影响流水线效率的重要因素有条件转移指令和中断,因为它们打断了流水线,使得流水线不得不重新装载。
不精确断点法实现简单,但是要等到流水线内的指令完成之后再响应中断。
试题答案
A.③B.④C.③D.①E.②
上面的两个例题,都是软考当中出现过的真题。我们可以看出,两个题在计算流水线时间方面,标准并不是统一的。
在例题1中:
4Δt+3Δt+5Δt+(100-1)*5Δt=507Δt。
而在例题2中:
100ns+100ns+100ns+100ns+(20-1)*100ns=2300ns
这两种计算方法,都是在套用公式:“第1条指令的执行时间+(指令条数-1)*流水线操作周期”,而对于“第1条指令的执行时间”的理解并不相同。在例题1中,第1条指令的执行时间是将指令执行时的几个阶段所需时间相加得到,而在例题2中,认为每一个阶段所需时间都是流水线的周期时间。其中前者是流水线的理论计算方法,而后者是我们在设计硬件流水线时,常用的方式。两种计算方法,从理论上来讲,都是正确的,但考试时,只有一个是正确答案。那么我们应该怎么做呢?由于每次考试中,无论认可的是哪种计算方式,都只会把这种计算方式的正确答案放入选项中,而不会将两个正确答案都放入,所以我们在用一种方式不能得到正确选项时,应采用另一种方式进行计算,来得到正确答案。