`
zy825316
  • 浏览: 10504 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

为了复试_2009软件工程试题

阅读更多

考虑到现在离复试还一段时间,我现在就动手把题都抄好了不太有助于记忆。我决定现在先把电子版的做好。做好了之后再背了,背了之后再写,这样我相信效果会好非常多。

 

由于这张卷子有一大半我都写了,我只是在这里写一些我还没有写到卷子上的。

 

三、名词解释

5 软件生产周期模型:是描述软件开发过程中各种活动如何执行的模型。

 

7.螺旋模型:记住“由风险驱动”, 一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。

 

8.状态转换图:(简称为状态图)通过描绘系统的状态及引起系统状态转换的时间,来表示系统的行为。此外,状态图还指明了作为特定时间的结果系统将做哪些动作(例如,处理数据)。(记着打电话的例子)

 

四、简答题

1.软件生命周期组成、阶段划分及各阶段基本任务

第一种回答是书上的。我也记得比较清楚

 

 生命周期分三个:软件定义,软件开发,运行维护。

再分

软件定义分为:问题定义、可行性研究、需要分析

软件开发分为:总体设计、详细设计、编码和单元测试,综合测试。注意编码和单元测试是一个整体。

软件维护:主要任务是使软件持久地满足用户的需要。

下面的回答有利于记住各阶段的任务。虽然划分的阶段不太一样的,但是大同小异。

软件生命期分为7个阶段:
   1、问题定义:要解决的问题是什么

2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性

3、需求分析:系统必须做什么

4、总体设计:系统如何实现,包括系统设计和结构设计

5、详细设计:具体实现设计的系统

6、实现:编码和测试

7、运行维护:保证软件正常运行。

 

 

2、软件测试的一般过程是和各步骤的目的是什么?软件测试和软件调试在目标上有什么不同?

 软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等。

①测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例。

②测试执行:利用这些测试用例执行程序,得到测试结果。

③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档。修改后的程序还要进行再次测试,直到满意为止。如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例。

 

简述软件测试与软件调试的区别。

软件测试与软件调试在目的、技术和方法等方面存在很大的区别,主要表现在:

① 测试从一个侧面证明程序员的失败,而调试是为了证明程序员的正确。

② 测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的只是程序是否通过测试。调试一般以不可知的内部条件开始,除统计性调试外,结果是不可预见的。

③ 测试是有计划的,并要进行测试设计,而调试是不受时间约束的。

④ 测试是一个发现错误、改正错误、重新测试的过程,而调试是一个推理过程。

⑤ 测试的执行是有规程的,而调试的执行往往要求程序员进行必要的推理及知觉的飞跃。

⑥ 测试经常由独立的测试组在不了解软件设计的前提下完成,而调试必须由了解详细设计的程序员完成。

⑦大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器。

 

3、3

3、简述提高面向对象设计质量的启发性规则(教材261)

   1.设计结果应该清晰易懂

   2.一般-特殊构造的深度应适当

   3.设计简单的类

   4.使用简单的协议(也就是消息中的参数尽量不要超过三个)

   5.使用简单的服务

   6.把设计变动减至最小(设计起初,变动可以大,随着时间的推移,设计方案渐渐成熟,改动应变少)

 

4.简述耦合和内聚的概念并说明为什么要建立弱耦合高内聚的软件系统?

耦合:或称耦合性,也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。

内聚:内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

在设计中应该尽量追求弱耦合的系统,因为在这样的系统中,研究、测试或维护某一个模块,而不需要对系统的其他模块了解太多。此外,由于模块间联系简单,发现在一处的错误传播到整个系统的可能性就非常的小。

高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。

 

 

五、应用题

1、第一道题是关于测试的白盒测试技术的逻辑覆盖的,请将到书上162页,将例子完全读懂,并且自己亲手操作一遍。

 

2、是N-S盒图,程序流程图,PAD图的相互转化。必考题。已做,注意多找几个题来强化。

 

3、画程序流图的题。非常重要,这道也是我做了半天没做出来的题。现在在这里好好思考



 

 

这样这套题就算结束了。其实感觉每天一道题,比较好,既不太累,可能也比较踏实

  • 大小: 26.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics