软件工程课后练习.docx

上传人:b****1 文档编号:1056413 上传时间:2023-04-30 格式:DOCX 页数:25 大小:77.50KB
下载 相关 举报
软件工程课后练习.docx_第1页
第1页 / 共25页
软件工程课后练习.docx_第2页
第2页 / 共25页
软件工程课后练习.docx_第3页
第3页 / 共25页
软件工程课后练习.docx_第4页
第4页 / 共25页
软件工程课后练习.docx_第5页
第5页 / 共25页
软件工程课后练习.docx_第6页
第6页 / 共25页
软件工程课后练习.docx_第7页
第7页 / 共25页
软件工程课后练习.docx_第8页
第8页 / 共25页
软件工程课后练习.docx_第9页
第9页 / 共25页
软件工程课后练习.docx_第10页
第10页 / 共25页
软件工程课后练习.docx_第11页
第11页 / 共25页
软件工程课后练习.docx_第12页
第12页 / 共25页
软件工程课后练习.docx_第13页
第13页 / 共25页
软件工程课后练习.docx_第14页
第14页 / 共25页
软件工程课后练习.docx_第15页
第15页 / 共25页
软件工程课后练习.docx_第16页
第16页 / 共25页
软件工程课后练习.docx_第17页
第17页 / 共25页
软件工程课后练习.docx_第18页
第18页 / 共25页
软件工程课后练习.docx_第19页
第19页 / 共25页
软件工程课后练习.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程课后练习.docx

《软件工程课后练习.docx》由会员分享,可在线阅读,更多相关《软件工程课后练习.docx(25页珍藏版)》请在冰点文库上搜索。

软件工程课后练习.docx

软件工程课后练习

《软件工程》习题集

编写:

陈美成

 

院系:

班级:

姓名:

 

2011年春季

第一部分:

概述

一、选择题

1、软件和程序的区别是()

A、程序价格便宜,软件价格昂贵。

B、程序是用户自己编写的,而软件是由厂家提供的。

C、程序是用高级语言编写的,而软件是由机器语言编写的。

D、软件是程序以及开发、使用和维护所需要的所有文档的总成,而程序是软件的一部分。

2、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称为()

A、软件工程B、软件周期C、软件危机D、软件产生

3、瀑布模型本质上是一种()

A、线性顺序B、顺序迭代C、线性迭代D、早期产品

4、瀑布模型存在的问题()

A、用户容易参与开发B、缺乏灵活性C、用户与开发者容易沟通D、使用可变需求

5、用户要看到软件产品的模样,最早也要到()以后

A、程序代码编写完成B、单元测试C、用户需求基本确定D、验收

6、螺旋模型是一种瀑布模型和()结合起来的软件开发模型。

A、增量模型B、专家系统C、喷泉模型D、变换模型

7、原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。

A、需求不确定性高的B、需求确定的C、管理信息D、实时

8、原型化方法是一种()型的设计方法

A、自外向内B、自顶向下C、自内向外D、自底向上

9、下列有关软件工程的标准,属于国际标准的是()

A、GBB、DINC、ISOD、IEEE

10、结构化方法是一种基于()的方法

A、数据结构B、程序结构C、算法D、数据流

11.软件是一种(B)产品。

A.有形B逻辑C物质D消耗

12.软件工程学最终解决软件生产的(B)问题。

A提高软件的开发效率B使软件生产工程化

C消除软件的生产危机D加强软件的质量保证

13.软件危机的主要原因有(E)

A软件本身的特点B用户使用不当

C硬件可靠性差D对软件的错误认识

E缺乏好的开发方法和手段

14.(A)是计算机程序及其说明程序的各种文档。

A软件B文档C数据D程序

15.准确地解决”软件系统必须做什么”是(C)阶段的任务。

A可行性研究B详细设计

C需求分析D编码

16.瀑布模型本质上是一种(A)。

A线性顺序模型B顺序迭代模型

C线性迭代模型D及早见产品模型

17.软件可维护性的特性中相互矛盾的是(C)

A可修改性和可理解性B可测试性和可理解性

C效率和可修改性D可理解性和可读性

二、问答题

1.软件生产经历了几个阶段?

各有何特征?

3个阶段:

1)、程序设计阶段(1946-1956年)

这个阶段的生产方式是“个体生产方式”,软件开发完全依赖于程序员个人的能力水平。

2)、程序系统阶段(1956-1968年)

这个阶段的生产方式是作坊式的小集团合作生产,生产工具是高级语言,开发方法仍就靠个人技巧,但开始提出结构化方法。

这个阶段硬件的主要特征是:

速度增大、价格降低、容量增大、工作可靠性增强。

软件特征是:

程序员数量急剧增长,但软件开发技术没有实质性突破。

3)、软件工程阶段(1968年至今)

此阶段的主要任务是为了克服软件危机,适应软件发展的需要,而在软件生产中采用“工程化的生产”方式进行开发。

2.什么是软件危机?

其产生的原因是什么?

当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

产生原因主要有以下几方面:

<1>软件的规模越来越大,结构越来越复杂;

<2>软件开发管理困难而复杂;

<3>软件开发费用不断增加;

<4>软件开发技术落后;

<5>生产方式落后;

<6>开发工具落后,生产率提高缓慢。

3.简述软件工程的目标。

软件工程的目标是指在给定成本、工期的前提下,开发出易于移植、可靠、有效、可重用的,达到软件功能要求,取得较好软件性能的,满足用户需要的软件产品。

此外,还要尽量提高软件质量与生产率,最终实现软件的工业化生产目标。

4.软件开发步骤包括哪些过程?

一个软件的开发包括四个步骤:

(1)需求分析;

(2)概要设计;

(3)详细设计;

(4)编码和测试。

这两个过程是同步进行的。

5.快速原型模型有哪些优点和缺点?

优点:

1)、增进了软件开发人员和用户对系统需求的理解,便于将用户模糊的功能需求明确化。

2)、为用户提供了一种强有力的学习手段。

3)、易于确定系统的性能,是理解和确认软件需求规格说明的良好工具。

4)、按照快速建立渐进原型(RCP)法建立的原型即为最终的产品。

6.增量模型的基本思想是什么?

增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。

整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。

7.增量模型有几种?

各有何特点?

⑴增量构造模型。

它在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。

也就是说在前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。

⑵演化提交模型。

它在瀑布模型基础上,所有阶段都进行增量开发,也就是说不仅是增量开发,也是增量提交。

8.在划分软件生存周期阶段时,应遵循的基本原则是什么?

在划分软件生存周期阶段时,应遵循的一条基本原则是各阶段的任务应尽可能相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

9.软件开发成本的估计方法有哪几种?

(1)自顶向下估算方法。

估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后把它们按阶段、步骤和工作单元进行分配,这样方法称为自顶向下的估算方法。

(2)自底向上估算方法。

自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发量。

(3)差别估算方法。

差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。

(4)专家(或经验)估算法。

依靠一个或多个专家的开发经验对要求的项目做出估算。

(5)类推估算法。

根据类似项目或者本公司原来的开发项目成本进行估算。

(6)算式估算法。

按照代码量估计工作量,按照人月工作量估计成本。

第二部分:

可行性研究

一、选择题

1、软件可行性研究实质上是要进行一次()需求分析、设计过程。

A、简化、压缩的B、详细的C、彻底的D、深入的

2、可行性研究实质上是要在较高层次上,以叫抽象的方式进行()的过程。

A、详细软件设计B、测试设计C、需求分析过程D、深入的需求分析

3、可行性研究的目的是()

A、分析开发系统的必要性B、确定系统建设的方案

C、分析系统风险D、确定是否值得开发系统

4、设年利率为I,现存入p元,不计复利,n年后可得钱数为()

A、p×(1+in)B、p×(i+1)×nC、p×(i+i)nD、p×(i+n)

5、可行性研究是在()之前

A、系统开发B、测试C、试运行D、集成测试

6、经济可行性研究的范围包括()

A、开发过程B、管理制度C、效益分析D、开发工具

7、可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的()

A、1%B、20%C、8%D、50%

8、我国正式颁布实施的()对计算机病毒的定义具有法律性、权威性

A、《计算机软件保护条例》B、《中华人民共和国计算机信息系统安全保护条例》

C、《中华人民共和国著作权法》D、《计算机病毒防止管理办法》

9.进行可行性研究后的需求分析和设计应该是(B)

A详细的B全面的C简化的、压缩的D彻底的

10.在软件工程项目中,参与人数的增加并未使软件的生产率随之增加的主要问题是(D)

A工作阶段间的等待时间长B生产原型的复杂性

C参与人员所需要的工作空间大D参与人员之间的沟通困难

11.系统流程图用于可行性分析中的(A)描述。

A当前运行系统B当前的逻辑模型

C目标系统D新系统

二、简答题

1.可行性研究包括哪些步骤?

1).确定项目规模和目标

2).建立新系统的高层逻辑模型。

3).找出多种方案。

4).写出《可行性研究报告》。

5).进行审查。

2.项目工作计划有哪些内容?

(1)项目概况  ;

(2)项目进度  ;

(3)人员构成  ;

(4)项目组联系方式  ;

(5)费用支出 ;

(6)客户资料 。

3.可行性研究报告有哪些主要内容?

1)产品定义、项目背景

2)项目组织

3)可行性研究的前提

4)条件、假定和限制

5)产品方案

6)销售重点

7)对现有系统的分析

8)所建议的系统在技术上的可行性分析

9)可选择的其他系统方案

10)市场分析

11)技术可行性评价

12)投资及效益分析

13)社会和法律因素方面的可行性。

第三部分:

需求分析

一、选择题

1、结构化需求分析是面向()进行需求分析的方法。

A、过程B、对象C、用户D、数据流

2、软件需求具有()、不确定性、多变性、主观性。

A、模糊性B、二义性C、可变性D、客观性

3、软件需求分析产生的重要文档有两个,一个是软件需求规格说明书,另一个可能产生的文档是()。

A、软件维护说明书B、概要设计说明书

C、可行性报告C、初步用户手册

4、效率是一个性能要求,因此应当在()阶段规定。

A、可行性分析B、需求分析C、概要设计D、详细设计

5、需求规格说明书的作用不包括()。

A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解

C、软件可行性研究的依据D、软件设计的依据

6、数据字典是用来定义()中的各个成分的具体含义的。

A、程序流程图B、功能结构图C、系统结构图D、数据流程图

7、数据流程图()方法用于表示系统逻辑模型的一种图型的一种图形工具。

A、SAB、SDC、SPD、SC

8、DFD中的每一个加工至少有()。

A、一个输入流或一个输出流B、一个输入流和一个输出流

C、一个输入流D、一个输出流

9、需求分析时,开发人员要从用户那里了解的最重要的问题是()。

A、要让软件做什么B、要给该软件提供哪些信息

C、要求软件工作效率怎样D、要让该软件具有何种结构

10、需求分析阶段的关键任务是确定()。

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

C。

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

11、从本质上说,面向对象是“先”确定()后确定执行的动作。

A、动作的主体B、属性C、关系D、方法

12、()是对象的静态特征。

A、方法B、属性C、关系D、操作

13、对象的()是对象的动态特征。

A、特征B、属性C、关系D、操作

14、属于某个类的一个具体对象成为该类的()。

A、实例B、虚拟C、关系D、操作

15、UML是一种()语言。

A、程序设计B、概要设计C、建模D、过程描述

16、UML是()。

A、一种可视化的建模语言

B、一种可视化的程序设计语言

C、一种过程

D、一种方法

17、封装的作用是()

A、复用B、对象C、实例D、方法

18、面向对象分析的核心在于()。

A、建立正确的模型B、识别问题域对象

C、识别对象之间的关系C、上面所有

19、面向对象分析过程中建立的模型有()。

A、数据模型、功能模型、活动模型B、对象模型、功能模型、测试模型

C、属性模型、功能模型、对象模型D、对象模型、功能模型、动态模型

20、下列的()不是分析建模的目的。

A、定义可验证的软件需求B、描述客户需求

C、开发一个简单的问题解决方案D、建立软件设计的基础

21、下列的()不属于面向对象分析模型。

A、用列图B、类图C、实体—关系图D、顺序图

22、()用于描述系统中概念乘此的对象。

A、分析类B、界面类C、实体类D、控制类

23、在分析类中,()用于描述一个用例所具有的时间流控制行为。

A、实体类B、界面类C、接口类D、控制类

24、在基于用例的面向对象分析过程中,定义交互行为的关键在于通过你奥术分析类实例之间的()将用例的职责分配到分析类中。

A、消息传递B、关联关系C、继承关系D、上下文关系

25、用例的职责通常分配给()的对象。

A、用例说明B、用例图C、活动图D、顺序图

26、用例的职责通常分配给()的对象。

A、发送消息B、接收消息C、发送和接收消息D、分析类

27、组织机构图是()。

A、UML的一个最新图B、类图的一种

C、用于之别角色的辅助图D、用例图的一种

28.需求分析(D)

A要回答“软件必须做什么”B可以概括为“理解、分解、表达”六个字

C要求编写需求分析说明书D以上都对。

29.进行需求分析可以使用多种工具,但是(C)是不适用的。

A数据流图B判定表CPAD图D数据字典

30.软件需求分析报告的内容是不应该包括对(B)的描述。

A主要功能B算法的详细过程

C用户界面及运行环境D软件的性能

31.加工是对数据流图中不能再分解的基本加工的精确说明,下述(D)是加工的最核心成分。

A加工顺序B加工逻辑

C执行频率D激发条件

32.对一个模块处理过程的分解,以下正确的说法是(B)。

A用循环方式对过程进行分解,确定各个部分的执行顺序

B用选择方式对过程进行分解,确定各个部分的执行条件

C用顺序方式对过程进行分解,确定某个部分进行重复的开始和结束条件

D对处理过程仍然模糊的部分反复使用循环方式对过程进行分解

33.下列叙述正确的是(A)

ANS图可以用于系统设计BPDL语言可以用于运行

CPAD图表达软件的过程呈树型结构D结构化程序设计强调效率第一

二、阅读下列说明和数据流图,回答问题1至问题4。

图1:

顶层图

图2:

0层图

图3:

一层图1

图4一层图2

【说明】:

数据流图是采用结构化分析方法画出的某考务处系统的数据流程图(DFD),图中圆角矩形表示加工;箭头表示数据流;直角矩形表示数据源终点;开口矩形表示文件。

该系统有如下功能:

●对考生送来的报名表进行检查。

●对合格的报名表编好准考证号将准考证送给考生,并将汇总后的考生名单送给阅卷站。

●对阅卷站送来的成绩清单进行检查,并根据考试中心制定的合格标准审定合格者。

●制作考生通知单送给考生。

●进行成绩分类统计(按地区、年龄、文化程度、职业和考试级别等分类)和试题难度分析,产生统计分析表。

部分数据流的组成如下所示:

报名单=地区+序号+姓名+性别+年龄+文化程度+职业+考试级别+通信地址

正式报名单=报名单+准考证号

准考证=地区+序号+姓名+准考证号+考试级别

考生名单=(准考证号+考试级别)

统计分析表=分类统计表+难度分析表

考生通知单=考试级别+准考证号+姓名+合格标志+通信地址

完成下面的问题:

1.指出如图3所示的数据流图中

的数据流名称。

:

不合格报名单;

报名单

考生通知单

2.指出0层(如图2)的数据流图中有什么成分可删除,以及文件1的名称是什么?

0层(如图2)的数据流图中:

错误成绩单可以删除。

文件1的名称:

考生名单

3.指出如图4所示的数据流图中在哪些位置遗漏了哪些数据流,也就是说,要求给出漏掉了哪个加工的输入或输出数据流的名字。

【2.1】遗漏输入的数据流“成绩清单”

【2.4】遗漏输出的数据流“(分类)统计分析表”。

4.指出考生名册文件的记录至少包括哪些内容。

考生名册文件的记录至少包括:

地区、序号、姓名、准考证号、考试级别、性别、年龄、文化程度、职业、考试级别、通信地址。

第四部分:

软件设计

一、选择题

1、在SD方法中全面指导模块划分的最重要的原则是()

A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性

2、在模块的3中基本属性中,反映模块内部特性的是()

A、接口B、功能C、逻辑D、状态

3、模块的耦合性可以按照耦合成都的高低进行排序,以下哪一项符合从低到高的正确次序()。

A、数据结构耦合、公共耦合、控制耦合、内容耦合

B、数据耦合、控制耦合、数据结构耦合、公共耦合

C、无直接耦合、数据结构耦合、内容耦合、公共耦合

D、无直接耦合、数据耦合、控制耦合、内容耦合

4、PDL是描述处理过程()

A、做什么B、为什么做C、怎么做D、对谁做

5、()工具在软件详细设计过程中不采用。

A、判定表B、IPO图C、PDLD、DFD图

6、为高质量的开发软甲项目,在软件结构设计时,必须遵循()原则。

A、信息隐蔽B、质量控制C、程序优化D、数据共享

7、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()

A、数据耦合B、公共耦合C、标记耦合D、内容耦合

8、详细设计与概要设计衔接的图形工具是()

A、DFD图B、SC图C、PAD图D、程序流程图

9、以下几种类型中,耦合性最弱的是()。

A、内容型B、控制型C、公共型D、数据型

10、软件结构使用的图形工具,一般采用()图。

A、DFDB、PADC、SCD、ER

11、详细设计的结果基本决定了最终程序的()。

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

12、在7中耦合中,最低耦合是()。

A、内容耦合B、公共耦合C、数据耦合D、非直接耦合

13、软件设计阶段的输出主要是()。

A、程序B、模块C、伪代码D、设计规格说明书

14、SD方法设计的结果是()。

A、源代码B、伪代码C、模块D、模块结构图

15、在图书管理系统中,假如已经构造了一个一般借书者类,后来法相图书馆的学生和教师在借书中还有不同要求。

请问在面相对西安这几种用()方法可以方便地设计这两个类?

A、信息隐蔽B、继承C、动态联编D、代码复制

16、框架是一组可用于不同应用的()集合。

A、类B、对象C、模块D、代码

17、子系统之间的关系可以是()关系,也可以是平等关系、依赖关系和继承关系。

A、说明—服务关系B、继承关系C、依赖关系D、数据关系

18、每个子系统的接口上定义了若干(),体现了子系统的功能。

A、说明B、操作C、属性D、关系

19、子系统功能的实现应该是隐蔽的,其他子系统只能通过()享受这个子系统提供服务。

A、接口B、调用C、引用D、复用

20、通常将具有共性的非动能要求设计在()以减少重新开发的工作量。

A、接口层B、中间层C、较低层D、最高层

21、每个用例至少应该有一个(),它通常没有属性而只有方法,只是起协调和控制作用。

A、接口类B、实体类C、控制类D、界面类

22、类有3种类型,即()。

A、边界类、实体类、控制类B、实体类、数据类、界面类

C、控制类、实体类、虚类D、界面类、控制类、公共类

23、下面那个选项不是正确的面向对象设计思想()。

A、对接口进行设计B、发现变化并且封装它

C、先继承后聚合D、先聚合后继承

24、定义类的属性类型时尽量使用已有的类型,太多的自定义类型会降低系统的()指标。

A、可维护性B、安全性C、开发效率D、可移植性

25、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应该注意(B)

A)考虑控制流程B)考虑信息隐蔽

C)遵守结构化设计原则D)支持逐步求精

26.可行性研究后得出的结论主要与(A)有关。

A)软件系统目标B)软件的效率

C)软件的性能D)软件的质量

二、简述题

1、阐述结构化设计的主要思想。

在结构化设计的主要工具是模块结构图,它表示出一个软件系统的层次分解关系、模块调用关系、模块之间数据流和控制信息流的传递关系。

模块结构图是由数据流程图转换而得到的。

在将数据流图转换成为软件结构之前,首先要进一步细化数据流图,然后对数据流图分类,确认是事务型还是变换型,不同的数据流图采用不同的设计过程。

2.什么是模块独立性?

模块独立性指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少且接口简单。

3.什么是耦合?

耦合有几种类型?

那种类型最好?

那种类型不好。

耦合是衡量不同模块彼此间互相连接的紧密程度的指标。

分为高耦合和低耦合。

软件设计的模块之间耦合性越低越好,耦合性越高越不好。

4.什么是内聚?

内聚有几种类型?

那种类型最好?

那种类型不好。

内聚是衡量一个模块内部各个元素彼此结合的紧密程度的指标。

分为高内聚和低内聚。

软件设计的模块之间内聚性越高越好,内聚性越低越不好。

5.什么是模块的影响范围?

什么是模块的控制范围?

他们之间应该建立什么关系?

一个模块的影响范围指受该模块内一个判定影响的所有模块的集合。

一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。

一个模块的作用范围应在其控制范围之内,且判定所在模块应在其影响的模块在层次上尽量靠近,如果在设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

6.软件概要设计阶段的基本任务是什么?

即将软件“做什么”的逻辑模型变换为“怎么做”的物理模型,其任务是根据需求分析阶段得到的逻辑模型来设计系统的物理模型。

具体为:

(一)设计软件系统结构(简称软件结构),考虑系统结构时应该从如下几个方面考虑:

(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。

(2)确定每个模块的功能。

(3)确定模块之间的调用关系。

(4)确定模块之间的接口,即模块之间传递的信息。

(5)评价模块结构的质量。

(二)提出候选的推荐方案。

(三)编写概要设计文档。

(四)专家评审。

7.简述SA(结构化分析方法)方法的优缺点是什么?

结构化分析方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,它较适合于开发数据处理类型软件的需求分析。

该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。

但SA方法也存在有不足之处:

(1).传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统“做什么”的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2