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

为了复试_2010软件工程试题

 
阅读更多

名词解释

1.信息隐蔽:信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

 

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

 

3.软件可靠性:软件可靠性定义为在某个给定时间间隔内,程序按照规格说明成功运行的概率。

 

4.软件测试:指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。

 

5.调试:指确定错误的原因和位置,并改正错误的过程,也称纠错。

 

6.对象:在应用领域中有意义的,与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为概念,或者是任何有明确边界和意义的东西

 

7.多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

 

8.风险分析:是论证在给定的约束条件下,能否实现系统所需的功能和性能。风险分析包括:风险标识、风险估算、风险评价和风险管理四部分。

 

四、简答题

1.简述瀑布模型的优缺点。

优点:

1)为项目提供了按阶段划分的检查点

2)当前一阶段完成,我们只需要关注后续阶段。

3)可强迫开发人员采用规范的方法

4)   严格规定了每个阶段必须提交的文档

5)要求每个阶段都交出的所有产品都必须经过质量保证小组的仔细检验

缺点:

1)在项目各个阶段之间极少有反馈。

2)只有在项目生命周期的后期才能看到结果。

3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

4) 瀑布模型的突出缺点是不适应用户需求的变化.

2、为什么软件需要维护?简述软件维护的过程。

原因:1)改正在特定使用条件下暴露出来的一些潜在程序错误或设计缺陷;

           2)因在软件使用过程中数据环境发生变化(如所要处理的数据发生变化)或处理环境发生变化(如硬件或软件操作系统等发生变化),需要修改软件,以适应这种变化;

           3)用户和数据处理人员在使用时常提出改进现有功能、增加新功能、以及改善总体性能的要求,为满足这些要求,需要修改软件。

 

 

软件维护的过程:首先建立维护的机构,申明提出维护申请报告的过程及评价的过程,为每一个维护申请规定标准的处理步骤,建立维护活动的记录保管,并规定复审的标准。

 

3、简述软件生命周期各阶段的基本任务

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

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

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

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

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

6、实现:编码和测试

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

 

4、简述开发中文档的重要性(这道题到处都没找到,不过考的机会也不大)

软件文档的编制在软件开发工作中占有突出的地位和相当的工作量。高效率、高质量地开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产品的效益有着重要意义。需求分析旨在回答系统做什么的问题,确保将来开发出来的软件产品符合客户需要。概要设计将软件系统需求转换为未来系统的设计,逐步开发强壮的系统构架,使设计适合于实施环境,为提高性能而进行设计,结构应该被分解为模块和库。详细设计的目的旨在指导编码。

 

5、什么是结构化程序设计?简述结构化程序设计的基本要点。

 

结构化程序设计是一种典型的面向数据流的软件总体设计方法。它采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构,并且只包含顺序、选择和重复3种结构。

 

基本基本要点是:

① 采用自顶向下、逐步求精的程序设计方法:详细设计中某个模块内部处理过程仍然可以逐步求精,降低处理细节的复杂程度。

② 使用3种基本控制结构(顺序、选择和重复,其共同点是单入口、单出口)构造程序:

       用顺序方式对过程分解,确定各部分的执行顺序。

       用选择方式对过程分解,确定某个部分的执行条件。

       用循环方式对过程分解,确定某个部分进行循环的开始和结束的条件。

       对于处理过程仍然模糊的部分反复使用以上分解方法,最终将所有细节确定下来。

③ 主程序员的组织形式:突出主程序员的领导,设计责任集中在少数人身上,有利于提高软件质量和软件生产率。其组织形式是:

       一个主程序员:负责全部技术活动。

       一个后备程序员:协调、支持主程序员。

       一个程序管理员:负责事务性工作,如收集、记录数据,文档资料管理等。

       一些专家(如通信专家、数据库专家)。

       其他技术人员。

 6、软件开发环境应具有高度的通用性,在此,通用性包括哪些方面?

① 能适应最常用的几种语言;

② 能适应和支持不同的开发方法;

③ 能适应不同的计算机硬件及其系统软件, 对这些方面应具有最小的依赖性(尤其是对硬件);

④ 能适应开发不同类型的软件;

⑤ 能适应并考虑到不同用户的需要(如程序员、系统分析员、 项目经理、 质量保证人员、初学者与熟练人员)。 

 

 

五、应用题

1、某旅馆的电话服务如下: 
可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。 
要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。 
答: 
电话号码=[分机号|外线号码 ] 

分机号=7201...7299 
外线号码=9+[市话号码|长话号码] 
长话号码=区号+市话号码 
区号=100...300 
市话号码=局号+分局号 
局号=[455|466|888|552] 
分局号=4{数字}4 

 

3、这道题还是很有深度的,基本上2级DFD图,我就看的不太懂了

下面那个几个图要连起来看, 比如说范围图的0在1级DFD中被分解成了0.1、0.2、0.3.2级DFD图类似



 
 

 
 


 

 
 

 

 

 

 

  • 大小: 22.8 KB
  • 大小: 32.2 KB
  • 大小: 24.5 KB
  • 大小: 26 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics