加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《软件工程导论》综合练习一参考答案

(2013-12-05 16:40:29)
标签:

软件工程

综合练习

参考答案

it

分类: 软件工程

一、名词解释题(每小题3分,共15分)

1.面向对象的方法:是使描述问题的问题空间与解决问题的方法空间在结构上尽可能一致。

2.白盒测试:是一种以程序的内部逻辑结构为依据设计测试用例的方法,也称结构测试或玻璃盒测试。

3.数据流图:是表示系统逻辑模型的常用工具,图中不存在任何具体的物理元素,只表示信息在系统中流动和处理的情况。数据流图是逻辑系统的图形化表示,因此,它是系统分析员与用户进行交流的极好的工具。

4.软件工程:开发、运行、维护和修复软件的系统方法,是指导计算机软件开发和维护的工程性学科。

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

 

、填空题(每小题2分,共20分)

1.硬件与(软件 )一起构成完整的计算机系统。

2.软件是一种( 逻辑  )产品,它与物质产品有很大区别。

3.瀑布模型是将( 生存周期 )各活动规定为依( 线性顺序 )联结的若干阶段的模型。

4.快速原型是一种快速建立起来的能够展示目标系统的( 关键功能 )的可实际在计算机上运行的(软件 )。

5.结构化方法由结构化分析、( 结构化设计 )、结构化程序设计构成,它是一种面向( 数据流 )的开发方法。

6.软件结构是以( 模块 )为基础而组成的一种控制层次结构。

7.反映软件结构的基本形态特征是( 深度 )、( 宽度 )、( 扇入 )和( 扇出 )。

8.一个模块把数值作为参数传送给另一个模块,这种耦合方式称为(数据耦合 )。

9.低耦合是软件设计的一个重要标准,在面向对象设计中,耦合主要指不同(对象)之间相互关联的紧密程度。

10.为便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。

 

三、选择题(每小题1分,共20分)

1.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( A )。

   A. 数据流图    B. 数据字典    C. 结构化英语    D. 判定树和判定表

2.需求分析阶段的任务是确定(D)

   A. 软件开发方法      B. 软件开发工具   

  C. 软件开发费用      D. 软件系统的功能

3.模块( C ),则说明模块的独立性越强。

   A. 耦合越强    B. 扇入数越高    C. 耦合越弱    D. 扇入数越低

4.在设计测试用例时,( A )是用的最多的一种黑盒测试方法。

    A. 等价类划分   B. 边界值分析    C. 因果图    D. 判定表

5.面向对象的主要特征除对象惟一性、封装、继承外,还有( A )

   A. 多态性   B. 完整性    C. 可移植性    D. 兼容性

6.Jackson方法是一种面向( B )的方法。

   A. 对象   B. 数据结构    C. 数据流    D. 控制流

7.模块间的信息可以作“控制信息”用,也可以作为( D )用。

   A. 控制流   B. 数据结构    C. 控制结构    D.数据

8.为了提高模块的独立性,模块内部最好是(C)

   A. 逻辑内聚   B. 时间内聚    C. 功能内聚    D.通信内聚

9.结构化分析方法(SA)是一种面向( C )的需求分析方法。

    A. 对象   B. 数据结构    C. 数据流    D.控制流

10.模块的( B )定义为受该模块内一个判断影响的所有模块集合。

    A. 控制域   B. 作用域    C. 宽度    D.接口

11.在进行软件结构设计时应遵循的最主要的原理是( C )原理。

    A. 抽象   B. 模块化    C. 模块独立    D.信息隐藏

12.因果图法是根据( A )之间的因果关系来设计测试用例的。

    A. 输入与输出   B. 设计与实现   C. 条件与结果   D.主程序和子程序

13.( A )数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。

    A. 变换型     B. 事务型     C. 结构化     D.非结构化

14.在进行软件测试时,首先应当进行单元测试,然后进行( B ),最后再进行有效性测试。

     A. 组合测试    B. 集成测试     C. 有效性测试     D. 确认测试

15.详细设计的结果基本决定了最终程序的(C)。

     A. 代码的规模    B. 运行速度     C. 质量     D. 可维护性

16.在采用逻辑覆盖法设计测试用例时,下列几种方法中,( D )的覆盖程度是最强的。

     A.语句覆盖    B. 判定覆盖    C. 条件覆盖     D. 条件组合覆盖

17.模块的内部过程描述就是模块内部的(B ),其表达形式就是详细设计语言。

    A.模块化设计   B. 算法设计    C. 程序设计    D. 详细设计

18.软件生命周期中所花费用最多的阶段是(D)

    A.详细设计    B. 软件编码    C. 软件测试    D. 软件维护

19.CASE是一组( B )的集合。

    A.工具      B. 工具和方法    C. 方法     D. 程序

20.描述结构化系统分析方法的工具不包括( B )。

    A. 数据流图    B. 组织结构图    C. 数据词典    D. 结构化语言

 

、简答题(每小题5分,共20分)

1.试述系统开发的生命周期。

    答:系统开发是管理信息系统建设中最重要的一个阶段,从项目开发开始到结束的整个过程,称为系统开发的生命周期。

    系统开发的生命周期一般分为以下阶段:

    (1)系统分析:这一阶段的主要任务是明确用户的信息需求,提出新系统的逻辑方案。需要进行的工作有系统的初步调查、可行性研究、现行系统的详细调查及新系统逻辑模型的提出等。

    (2)系统设计:这一阶段的主要任务是根据新系统的逻辑方案进行软硬件系统的设计,其中包括总体结构设计、输出设计、输入设计、处理过程设计、数据存贮设计和计算机系统方案的选择等。

    (3)系统实现:这一阶段将设计的系统付诸实施,主要工作有软件的程序编制与软件包的购置、计算机与通讯设备的购置、系统的安装、调试与测试、新旧系统的转换等。

 

2.什么是软件危机?产生软件危机的主要原因是什么?

    答:软件危机是计算机软件开发和维护过程中遇到的一系列严重问题的反映。这些问题不仅仅限于所开发出的软件不能正常工作,还包括如何开发软件,如何维护越来越多的现有软件,以及如何满足不断增长的软件需求。

    软件危机的出现,一方面是由于软件本身的特点引起的,如软件越来越复杂、软件故障难于检测、工作量难以估计等;另一方面则是因为软件开发和维护方法不当所造成的,如软件的个体化特征、作坊式生产等。

    软件危机的产生原因也可写出6条,即:软件规模越来越大,结构越来越复杂;软件开发管理困难且复杂;软件开发费用不断增加;软件开发技术落后;生产方式落后,仍采用手工方式;开发工具落后,生产率提高缓慢。

 

3.软件维护的类型与特点是什么?

    答:软件维护的类型主要有4种:改正性维护、适应性维护、完善性维护和预防性维护。

改正性维护:识别和纠正软件错误,改正性能上的缺陷,排除实施中的误使用而进行的诊断和改正错误的活动。约占整个维护的20%。

    适应性维护:使软件适应处理环境或数据要求的变化而修改软件的活动,约占整个整个维护的25%。

完善性维护:修改或再开发软件,以扩充软件功能,增强软件性能等,约占整个维护的50%。

    预防性维护:采用先进的软件工程方法对需要维护的软件或软件的一部分(重新)进行设计、编码和测试。连同其他维护约占整个维护的5%。

 

4.简述面向对象分析模型的建立方法。

   答:进行面向对象分析时,需要建立面向对象的对象模型、功能模型和行为模型。

建立对象模型,首先要确立系统中有哪些对象(或类)和每一个对象(或类)需要哪些属性,然后确定对象(或类)之间的关系。对象模型通常使用类似于实体-关系图这样的图形工具进行表示。

    建立行为模型,是要确定系统的动态行为,即对象能够发送或接收的事件以及系统状态发生转移的情况。行为模型通常使用类似于状态转移图等图形工具进行表示。

    建立功能模型的目的,是要确定如何来完成对数据(即对象中的属性对应的数据结构)进行计算和处理。功能模型通常使用类似于数据流图的图形工具进行表示。

 

五、应用题(共25分)

 

1.请将下面的DFD转换为软件结构图

 

2.用SA方法画出下列问题的顶层和0层数据流图。

   某运动会管理系统接受来自运动员的报名单、裁判担任工作的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次、团体名次发送给发布台。该系统有两部分功能:

  (1)登记报名单:接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存贮。

  (2)统计成绩:接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。

 

3.某公司有许多部门,每个部门有一个唯一的名字;每个部门由一名经理负责,也有的经理并不管理任何一个部门;每个部门生产多种产品,每种产品仅由一个部门生产。该公司有许多员工为之工作,员工又进一步划分为经理和工人两类。每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。

    请画出该公司的对象模型或E-R模型。

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有