- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1.
软件工程标准编制的层次分为5个,分别为 :
2.GB/T 25000.51-2010,软件工程 软件产品质量要求和评价(SQUARE) 商业现货(COTS)软件产品的质量要求和测试细则
属于什么层次的标准
A.国际标准 B.国家标准 C.行业标准 D.企业标准
3.ISO 9000系列质量管理与质量保证标准属于哪个层次的标准
A.国际标准 B.国家标准 C.行业标准 D.企业标准
4.IEEE Std 1012-2012,系统和软件验证与确认标准哪个层次的标准?
A.国际标准 B.国家标准 C.行业标准 D.企业标准
解析:IEEE 美国电气与电子工程师学会,属于行业标准
5.GJB与GB,哪一个是行业标准
A.GJB B.GB
解析:GB为中国国家标准,GJB为中国国家军用标准
2.3
1.计算机软件 =______+_______+_______.
2.造成软件危机的原因不包括
A.缺乏管理经验 B.需求不断变化 C.预算不足 D.问题复杂
3.造成软件危机的原因包括
A.缺乏管理经验 B.需求不断变化 C.预算不足 D.问题复杂
4.软件工程的要素有哪三个?
5.以下属于软件开发过程模型的有
A.瀑布模型 B.螺旋模型 C.喷泉模型 D.快速原型模型 E.W模型
软件开发过程模型主要有:_______、_______、_______、_______。
软件的生存周期通常包括 可行性研究、需求分析、?? ??、?? ??、?? ? ?、?? ??、?? ??、?? ??、使用与维护、退役等阶段。
[简答题]
1.软件生命周期“V模型”,简述各测试阶段的关注点
正确答案:
2.软件生命周期V模型中,各测试阶段的依据是什么?
正确答案:
3.分析瀑布模型与V模型的优缺点
正确答案:
1、瀑布模型
优点:
1)为项目提供了按阶段划分的检查点.
2)当前一阶段完成后,您只需要去关注后续阶段.
3)可在迭代模型中应用瀑布模型.
缺点:
1)在项目各个阶段之间极少有反馈.
2)只有在项目生命周期的后期才能看到结果.
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段.
2、V模型
优点:简单、高效
缺点:
1)容易让人误解为测试是在开发完成之后的一个阶段;
2)由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些
bug 可能不容易找到其根源,并且代码修改起来很困难;
3)实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大。
3.1
【简答题】
1.简述SOLID设计原则
正确答案:
SRP(Si,需求的满足情况一直到后期的验收测试才被验证。ngle Responsibility Principle)
单一职责,一个类应该仅有一个引起它变化的原因
(2)OCP(Open-Closed Principle)
开放-封闭,可扩展,不可修改,避免添加新功能之后产生连锁反应。
OCP关注灵活性,功能的改动是通过增加代码进行的,而不是修改现有代码
(3)LSP(Liskov Substitution Principle)
里氏替换,子类型必须能替换基类型
(4)ISP(Interface Segregation Principle)
接口分离,不强迫类实现它不需要的方法。
如果一个接口中包含许多不大而且不相关的方法,那么就应该分离成多个
接口,让实现接口的类只是去实现它所需要的方法。
(5)DIP(Dependency Inversion Principle)
依赖倒置,高层模块不依赖于低层模块,都依赖于抽象;抽象不依赖于细节,细节依赖于抽象
2.简要说明下列软件设计基本原则:
(1)KISS;(2)DRY;(3)Tell,Don’t Ask;(4)YAGNI;(5)SoC。
正确答案:
(1)KISS(Keep It Simple Stupid)
避免不必要的复杂,尽量保持代码的简约
(2)DRY(Don’t Repeat Yourself)
抽取系统中的公共部分,并将其放置在一个地方避免重复
(3)Tell,Don’t Ask
合理封装,将代码方到正确的类中。明确告诉对象我们想要它们去执行怎样的操作,
而不是首先询问对象状态,然后我们决定执行什么操作
(4)YAGNI(You Ain’t Gonna Need It)
防止过度设计,只包含必需的功能,不包含你认为将来可能会用到的功能或特性
(5)SoC(Separation of Concerns)
文档评论(0)