- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程期末试考类型
选择题(20/2)
1/3是期中考试中的题。
辨析题(3/5)
回答对错,并说明原因
简答题(2/5)
面向对象设计原则,判断是否合理
面向对象的(类)设计原则:
单一职责原则:一个类应该仅有一个职责。
此原则基本途径就是提高内聚性,如果一个类承担的职责过多,那么这些职责就相互依赖,一个职责的变化可能会影响另一个职责的履行。
其实OOD的实质,就是合理的进行类的职责分配。
开放-封闭原则:
对于扩展是开放的,对于修改是封闭的;
OCP原则的关键是“抽象”;
多态保证了扩展的开放性;
开放意味着实现是可替换的。
依赖倒置原则:
面向接口编程;
抽象不应该依赖于细节,细节应该依赖于抽象;
高层模块和低层模块以及客户的模块和服务模块都应依赖于接口,而不是具体实现;
依赖倒置原则的核心是“抽象”和“间接”,抽象的稳定性决定了系统的稳定性
接口隔离原则(ISP)
从一个客户类的角度来讲,一个类对另外一个类的依赖性应当是建立在最小的接口上的。
不能强迫用户去依赖那些他们不使用的接口。
使用多个专门的接口比使用单一的总接口要好
里氏替换原则(Liskov Substitution Pinciple)
最少知识原则( Least Knowledge Principle)
合成/聚合复用原则(Composite/Aggregate
甘特图:
甘特图以水平线段表示任务的工作阶段;线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。
特点:从甘特图上可以很清楚地看出各子任务在时间上的对比关系,可以标明各任务的计划进度和当前进度,能动态地反映软件开发进展情况。但是,它难以反映多个任务之间存在的复杂的逻辑关系。
工程网络:
它是采用网络图来描述一个项目的任务网络。
特点:不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况,分析某些子任务完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个项目的完成。
能力成熟度模型:
五个等级从低到高是:初始级、可重复级、已定义级、已管理级和优化级
各级别特点:
1. 初始级
软件过程的特征是无序的,有时甚至是混乱的。几乎没有什么过程是经过定义的,项目能否成功完全取决于个人能力,管理是反应式(消防式)
2. 可重复级
建立了基本的项目管理过程,以追踪成本、进度和功能性。必要的过程规范已经建立起来了,使得可以重复以前类似项目所取得的成功。
在这一级,有些基本的软件项目管理行为、设计和管理技术,是基于相似产品中的经验确定的,因此称为“可重复”。
3. 已定义级
用于管理和工程活动的软件过程已经文档化和标准化,并且已经集成到整个组织的软件过程中。
所有项目都使用文档化的、组织批准的过程来开发和维护软件。
这一级包含了第2级的所有特征。
4. 已管理级
已收集了软件过程和产品质量的详细度量数据,使用这些详细的度量数据,能够定量地理解和控制软件过程和产品。
这一级包含了第3级的所有特征。
处于第4级的公司为每个项目都设定质量和生产目标,并不断地测量这两个量,当偏离目标太多时,就采取行动来修正。
5. 优化级
通过定量的反馈能够实现持续的过程改进,这些反馈是从过程及对新想法和技术的测试中获得的。
这一级包含了第4级的所有特征。
计算题(1/5)
考作业题
(1)刚开始测试时程序中总共有多少个潜藏的错误?
(2)为使MTTF达到60h,必须再改正多少个错误?
回答的内容
(1)本体采用的是分别测试法,所以可以估计出测试前程序中的错误总数:
B0:表示t=0时错误总数;B1:表示T=T1时测试员一发现的错误;B2:表示T=T1时测试员二发现的错误;bc:表示两个测试员共同发现的错误。
则:B0=B2/bc*B1=24/6*20=80;
(2)测试员一发现并改正20个错误时,MTTF达到10,则
MTTF=1/k(ET/IT-Ec/IT) 即 10=24000/k(80-20) ---k=40
为使MTTF达到60,则 60=24000/(40*(80-Ec)) 则Ec=70
所以还需要改正70-20=50个错误 标准答案:标准答案:
3、划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。标准答案:
1、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
标准答案:标准答案:
阅卷教师 得 分 三、
简答题(本大题共2小题,每题5分,共10分。)
1. 多个软件工程师合作开发一个项目,各开发者之间需要两两互相通信。假设每一条通信路径的开销为300 LOC/年(LOC为代码行数)。
(1)设有6名软件工程师,如
文档评论(0)