文档库 最新最全的文档下载
当前位置:文档库 › 《软件工程》试题及参考答案(第3套)

《软件工程》试题及参考答案(第3套)

《软件工程》试题及参考答案(第3套)
《软件工程》试题及参考答案(第3套)

第一部分选择题

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.Putnam成本估算模型是一个()模型。

A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量

2.在McCall软件质量度量模型中,()属于面向软件产品修改。

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.程序的内部逻辑B.程序的复杂结构

C.使用说明书D.程序的功能

10.结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于( ) A.它强调编程风格 B.选择良好的数据结构和算法

C.有限制地使用GOTO语句 D.只有三种基本结构

11. 在结构化分析方法中,()表达系统内部数据运动的图形化技术。

A 数据字典

B 实体关系图

C 数据流图

D 状态转换图

12、()意味着一个操作在不同的类中可以有不同的实现方式。

A 多态性

B 多继承

C 类的复用

D 封装

13.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为( )

A.有形实体 B.作用 C.事件 D.性能说明

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

A.软件工程

B.软件周期

C.软件危机

D.软件产生

15. COCOMO模型可用来()

A 度量程序复杂程度

B 计算软件开发成本

C 估计程序的故障总数

D 估计软件开发所需时间

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

A、DFD

B、PAD

C、SC

D、ER

17.软件复杂性度量的参数包括()

A.效率 B.规模 C.完整性 D.容错性18.设计测试方案最困难的问题是()

A 确定要测试的功能

B 确定预期的正确输出

C 确定要测试的对象

D 设计测试用例

19.类库这种机制是( )级别的信息共享。

A.同一类

B.不同类

C.同一应用

D.不同应用

20.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。

A.工作无序,项目进行过程中经常放弃当初的计划

B.建立了项目级的管理制度

C.建立了企业级的管理制度

D.软件过程中活动的生产率和质量是可度量的

第二部分非选择题

二、填空题(本大题共10小题,每小题2分,共20分)

1.软件工程方法分两类:方法和对象方法

2.在基于计算机的系统中,不允许程序停止运行的系统,称为。如空中交通管理系统。

3.Putnam模型揭示了软件项目的工作量、和三者之间的关系。

4.面向对象(Object-Oriented,简称OO)的需求分析方法通过提供对

象、等语言机制让分析人员在解空间中直接模拟问题空间中的对象及其行为,从而削减了语义断层,为需求建模活动提供了直观、自然的语言支持和方法学指导。

5. 一个部件可能是一个文件、一个文件或一个可执行文件。

6.构件图用于理解和分析软件各部分之间的。

7.实体—关系图是的基础,它描述、属性、及其关系

8.按照软件工程的观点,程序是软件设计的自然结果,程序的质量主要取决

于的质量,而在很大程度上影响着程序的可读性、可测试性和可维护性。

9.快速原型的构造过程可以归纳为、实现、检查、四个步骤。

10.软件设计在技术上可分为总体结构设计、设计、过程设计和设计四个活动。

三、名词解释题(本大题共5小题,每小题3分,共15分)

1.软件生存周期

2.白盒测试

3.预防性维护

4.构件图

5.场景

四、简答题(本大题共5小题,每小题5分,共25分)

1、简述软件工程目标。

2、简述CMM优点和缺点。

3、用SD方法将数据流图转换为软件结构,简述其过程。

4、试述软件测试过程。

5、面向对象程序设计语言最基本的机制包括哪些?

五、综合应用题(第一小题8分,第二小题7分,第三小题5分,共20分)1.下面是某程序的流程图:

(1)计算它的环路复杂性。

(2)为了完成基本路径测试,求它的一组独立的路径。

2.根据下列条件使用等价划分法设计测试用例。

某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如

0X13,0X6A,-0X3c。

3、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。

现在提出一个新的需求:"一个教师也可以是某些课程的学生",那么下面设计A~C中哪一个是最好的?为什么?

设计A:

设计B:

设计C:

《软件工程》试题(第3套)参考答案

第一部分选择题

一、单项选择题(本大题共20小题,每小题1分,共2 0分)

1、D

2、C

3、B

4、B

5、C

6、 C

7、 D

8、D

9、A 10、D

11、C 12、A 13、C 14、C 15、B

16、C 17、B 18、D 19、D 20、D

第二部分非选择题

二、填空题(本大题共10小题,每小题2分,共20分)

1.传统、面向对象、

2.不可修复系统、

3.软件开发时间、程序代码长度

4.对象间消息传递、语义断层、

5. 资源描述、二进制

6.相互影响程度

7.数据模型,数据对象

8.设计、编程的风格

9.分析与规划、改进

10.数据、界面

三、名词解释题(本大题共5小题,每小题3分,共15分)

1.软件生存周期软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。

2.白盒测试是已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行。

3.预防性维护是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。

4.构件图描述软件实现系统中各组成部件以及它们之间的依赖关系。

5.场景从单个执行者的角度观察目标软件系统的功能和外部行为。

四、简答题(本大题共5小题,每小题5分,共25分)

1、软件工程目标:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可适应性、可追踪性、可移植性、可互操作性并满足用户需求的软件产品。

2、 CMM优点和缺点:

优点

CMM模型概念清晰、层次分明、易于操作。

为组织负责人和管理者提供指导组织逐步成熟的、明确的、有效的、单一路途。

缺点

在阶段式模型中,属于较高级别成熟度的过程域不支持较低级别的过程域,如在L2级就无法安排属于L3级的“同行评审”过程域的实践活动。

CMM过程域的度量只有通过或不通过,度量比较粗糙没有反映优势和一般。

3 用SD方法将数据流图转换为软件结构,其过程分为:

确定信息流的类型;划定流界;

将数据流图映射为程序结构; 提取层次控制结构;

通过设计复审和启发式策略精化结构。

4、试述软件测试过程:

可概括为用单元测试保证模块正确工作,用综合测试保证模块集成到一起后正常工作,用确认测试保证软件需求的满足,用系统测试保证软件与其他系统元素合成后达到系统各项性能要求。

5、面向对象程序设计语言最基本的机制包括:

类、子类、对象和实例的定义,单继承和多继承,对象的部分—整体关系,消息传递和动态链接等等。

五、综合应用题(第一小题8分,第二小题7分,第三小题5分,共20分)1.答:(1)环路复杂性=判断数+1=6+1=7(个)

(2)路径1:(0)-①-(13)-(19)

路径2:(0)-②-③-(14)-(19)

路径3:(0)-②-④-⑤-(15)-(19)

路径4:(0)-②-④-⑥-⑦-(16)-(19)

路径5:(0)-②-④-⑥-⑧-⑨-(17)-(19)

路径6:(0)-②-④-⑥-⑧-⑩-(18)-(19)

路径7:(0)-②-④-⑥-⑧-⑩-(12)-(19)

2.答:等价划分法

① 划分等价类并编号,如下表所示。

3、

设计C最好。

学生和教员均可以从Candidate类继承而来;抽象出Role类,使Candidate 类与Role类之间形成多对多的关联关系,实现了"一个人既是教师又是某门课的学生"这个需求。

软件工程复习试题及答案.

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7 中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程习题答案

软件工程习题及答案 一、选择题: 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、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 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. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。 A、软件投机 B、软件危机 C、软件工程 D、软件产生 16. 瀑布模型把软件生存周期划分为软件定义、软件开发和三个阶段,而每一阶段又可细分为若干更小的阶段。 A、详细设计 B、可行性分析 C、运行及维护 D、测试与排错 17. 软件的设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 A、概要 B、抽象 C、逻辑 D、规划

软件工程

1.2软件的特性: ①软件是设计开发的,而不是传统意义上生产制造的; ②软件不会“磨损”; ③虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的 1.4.1遗留软件的质量 2.1软件工程 软件工程是:将系统化、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化的方法应用于软件。 2.2过程框架 沟通:与客户之间大量的交流和协作,还包括需求获取以及其他相关活动 策划:为后续的软件工程工作制定计划 建模:包括创建模型和设计两方面 构建:包括编码和测试 部署:软件交付到用户,用户对其惊醒评测并给出反馈意见 在通用的过程框架中,建模活动包括分析和设计两个动作。 2.3能力成熟度模型集成(CMMI) 2.6.1个人软件过程(PSG) 个人软件过程强调产品以及产品质量的个人测量。 2.6.2团队软件过程(TSP) TSP的目标是建立一个能够“自我管理”的项目团队,团队能自我组织惊醒高质量的软件开发。 3.2瀑布模型 瀑布模型,又被称为经典生命周期,它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建。和部署的过程,最终提供一个完整的软件并提供持续的技术支持。 v-mod:瀑布模型的改进。 3.3增量过程模型 ①增量模型以迭代的方式运用瀑布模型。 ②运用增量模型的时候,第一个增量往往是核心产品。 RAD模型 快速应用程序开发(RAD)是一种侧重于短暂的开发周期的增量软件过程模型。 3.4.1使用原型开发的情况 ①客户提出了软件的一些基本功能,但是没有详细的定义输入、处理和输出需求; ②开发人员可能对算法的效率、操作系统的兼容性和人机交互的形式等情况不确定。

软件工程复习题

一、单选题 1.软件结构图的形态特征能反映程序重用率的是() a)A、深度 B、宽度C、扇入 D、扇出 2.在大型数据处理系统的功能分析和设计中,数据库的概念设计对应于系统开发的( ) a)A、需求分析 B、概要设计C、详细设计 D、程序设计 3.为了提高模块的独立性,模块内部最好是() a)A、逻辑内聚 B、时间内聚C、功能内聚 D、通信内聚 4.需求分析最终结果是产生() a)A、项目开发计划 B、需求规格说明书C、设计说明书D、可行行分析报告 5.软件是一种() a)A、程序 B、数据C、逻辑产品 D、物理产品 6.信息隐蔽概念与()概念有直接的关系 a)A、模块的独立性 B、模块类型的划分C、软件结构定义 D、软件生命周期 7.不属于序言性注释的有() a)A、模块设计者B、修改日期C、程序的整体说明D、语句功能 8.单元测试阶段主要涉及()的文档。 a)A、需求设计 B、编码和详细设计C、详细设计D、概要设计 9.在软件测试中,白盒测试方法是通过分析程序的()来设计测试用例的方法。( ) a)A、应用范围B、内部逻辑C、功能 D、输入数据 10.需求分析是系统分析师经了解用户的需求,认真仔细的调研、分析,最终建立目标系统 的逻辑模型并写出() a)A、模块说明书B、软件规格说明书C、项目开发计划 D、合同文档 11.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( ) a)A、系统软件B、容错软件C、测试软件 D、操作系统 12.产品管理包括版本管理和() a)A、质量管理 B、性能管理C、开发过程管理 D、配置管理 13.ISO9001质量管理体系认证等同于能力成熟度模型中的第几级() a)A、CMM1 B、CMM2 C、CMM3 D、CMM4 E、CMM5 14.ISO9001质量管理体系认证只做到() a)A、历史记录可查询B、错误原因可查询 15.为了克服软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。 a)A、数据B、软件学C、运筹学D、工程学 16.可行性研究的目标是() a)A、开发项目B、项目是否值得开发C、规划项目 D、维护项目 17.结构化程序设计思想的核心是要求程序只由顺序、循环和()三种结构组成A、 选择 B、单入口C、单出口D、有规则的GOTO 18.纠错是由()完成的

软件工程作业3

软件工程第六章作业 9、某公司为本科以上学历的人重新分配工作,分配原则如下:如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士,不分男女,任课题组组长;如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士,不分男女,任课题组组长。要求:画出分析过程,得出判定表,并进行化简。 条件分析表: 条件名称取值符号取值数性别男M M1=2 女 F 年龄不满18岁T M2=3 满18岁小于50岁Y 超过50岁O 文化程度硕士S M3=2 本科 B 判定表: 1 2 3 4 5 6 7 8 9 10 11 12 性别M M M M M M F F F F F F 文化程度S S S B B B S S S B B B 年龄O Y T O Y T O Y T O Y T 组长√√√√√√ 领导√√ 科研√ 行政√资料员√ 考研√ 简化表: 1,2,3,7,8,9 4 5,11 6 10 12 性别------ M ----- M F F 文化程度S B B B B B 年龄------ O Y T O T 组长√ 领导√ 科研√ 行政√ 资料员√ 考研√

10、研究下面的伪码程序,画出对应的程序流程图。 开始 Input X,N Dim A(N),F(N) I=1 Input F(i) I>N I++ K=0 否是 A(K)=0;J=1 A(K)=A(K)+F(J)*F(J+K)/(N-K+1) J++ K>N-K 否 Print K*X,A(K) K++ K

软件工程试题答案

一、填空题(每空1 1.软件生存周期一般可分为__问题定义__、可行 性研究、_需求分析_____、设计编码、__测试 ________、运行与维护阶段。 2.按软件的功能进行划分,软件可以划分为 系统软件、支撑软件和 应用软件。 3.可行性研究主要集中在以下四个方面经济可 行性、技术可行性、 法律可行性和抉择。 4.用户界面的可使用性是用户界面设计 最重要的也是最基本的目标。 5.常见的软件概要设计方法有3大类:以数据流 图为基础构造模块结构的___结构化设计方法 _________,以数据结构为基础构造模块的 __jackson方法__________,以对象、类、继承 和通信为基础的__面向对象设计方法 __________。 6.__数据流图________和__数据字典___共同构成 系统的逻辑模型。 7.软件测试的方法有__分析方法________和___非 分析方法_______(即黑盒法)。 8.单元测试一般以___白盒_____________测试为 主,___黑盒______测试为辅。 9.成本估计方法主要有__自底向上估计 ________、_自顶向下估计_________和算法模型 估计三种类型。 二、单项选择题(每小题2分,共10分) 1.下列哪个阶段不属于软件生存周期的三大阶 段( C )。 A、计划阶段 B、开 发阶段 C、编码阶段 D、维 护阶段 2.需求分析是(A )。 A、软件开发工作的基础 B、软 件生存周期的开始 C、由系统分析员单独完成的 D、由 用户自己单独完成的 3.原型化方法是软件开发中一类常用的方法,它 与结构化方法相比较,更需要(B )。 A、明确的需求定义 B、完整 的生命周期 C、较长的开发时间 D、熟练 的开发人员 4.软件维护时,对测试阶段未发现的错误进行测 试、诊断、定位、纠错,直至修改的回归测试 过程称为( A )。 A、改正性维护 B、适应性维 护 C、完善性维护 D、预防性维 护 5.一般说来,投入运行的软件系统中有错误 (A )。 A、不是不可以理解的

软件、软件工程的基本概念和特点

2017-2018 学年第一学期第四次作业 专业:计算机科学与技术班级:17级3班学号:1701110140姓名:任亚磊 作业内容: 简述软件、软件工程的基本概念和特点 软件: 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操作信息的数据结构;文档是与程序开发,维护和使用有关的图文资料。 软件的特点: 1.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性 2.软件的生产和硬件不同,在它的开发过程中没有明显的制造过程、没有磨损 3.在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 4.软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同的依懒性 5.软件的开发至今尚未完成摆脱手工艺的开发方式,没有实现自动化 6.软件本身是复杂的、实际问题的复杂性、程序逻辑结构的复杂性 7.软件的成本相当昂贵。 8.相当多的软件工作涉及社会因素。 软件的分类: 1.系统软件:操作系统、数据库管理系统、设备驱动程序、通信处理程序 2.应用软件:商业数据处理软件、工程和科学计算软件、系统仿真软件 软件的其他角度分类: a.按规模划分:微型软件、小型、中型、大型、甚大型、极大型 b.按工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件

c.按软件服务对象的范围划分:项目软件、产品软件 软件生产的发展: 1 程序设计时代:这个阶段生产方式是个体劳动,生产工具是机器语言,汇编语言。(1946-1956年) 2 程序系统时代:这个阶段生产方式是小集团合作生产,生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。(1956-1968年) 3 软件工程时代:这个阶段生产方式是工程化的生产,使用数据库,开发工具,开发环境,网络,分布式面向对象技术来开发软件。(1968年至今) 软件工程: 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。主要包括三个方面的内容:软件开发方法,软件过程和软件工具。 软件工程的原则: 1.抽象2.信息隐蔽3.模块化4.局部化5.确定性6.一致性7.完备性8.可验证性。

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 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、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 ?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

软件工程的概念

软件工程的概念 教学目的: 让学生明确软件和程序的区别、软件危机等概念 让学生理解软件开发的基本步骤 理解软件生命周期模型 讲解: 通过本课程,引导学生由程序员向项目经理的过渡 程序设计语言(程序员) 面向对象的分析与设计(高级程序员) 软件工程(项目经理) 提问: 软件与程序的关系 软件包括哪些 1.软件的定义 程序和与程序相关的数据、文档的总称。 举例: Main.exe -- 主程序 Main.ini 或Main.xml -- 配置文件 Main.chm -- 帮助文档 Readme.txt -- 自述文件 /Data -- 程序调用数据的存放目录 /UI -- 主程序界面数据的存放目录 软件的特点 1)逻辑产品 2)复杂性高 3)人工开发 软件危机的概念 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。微观:工期拖后、经费超支、软件交付后存在诸多缺陷 宏观:整个社会对软件的供应赶不上对软件需求的增长 软件危机的表现 1)产品不符合用户的需求 2)软件开发的生产率不能满足客观要求 3)软件产品的质量差 4)对软件开发成本和进度估计不准确 5)软件的可维护性差 6)软件文档资料既不完整也不合格 7)软件的价格昂贵 软件危机的产生原因 没有严格而科学地管理和控制软件开发过程。

软件维护是软件开发中的一部分(占55%-70%)。 开发时期引入的问题,在测试阶段没能检测出来的,对今后的维护带来很大的开销。这些开销也是软件开发的费用。 越早发现问题、解决问题对后期的维护工作越有利,对整个软件工程也就越有利。 越早开始写程序,完成它所需要的时间往往越长。 对用户要求没有完整准确的认识,就匆忙着手编写程序是许多软件开发工程失败的主要原因之一。 软件危机的解决途径 1)纠正错误认识。 错误认识举例: 软件就是一个程序 有一个对目标的概括性描述就可以编写程序了,许多细节可以以后补充 所谓软件开发就是编写程序并使它运行 用户对软件的要求不断变化,然而软件是柔性灵活的,可以被轻易地改动 软件投入生产性运行以后,需要的维护工作量不多,而且维护是一种很简单的工作。 将软件开发活动工程化,借鉴其他领域的经验以指导软件开发。 软件开发不是某种个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协同配合共同完成的工程项目。 2)将传统工程学的原理、技术和方法应用于软件开发上,可以使软件生产规范化,有利于提高开发质量,降低成本和控制进度 3)不断开发新的软件工具,以提高软件生产的效率和质量。 如:各种集成开发环境、代码生成环境、集成测试工具、统一建模语言、数据字典、管理系统、流程图绘制工具、项目管理工具。 作业: 谈谈自己对软件危机的认识 软件工程 软件工程的定义 软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科。 简单地讲,软件工程就是制定并使用完整的工程法规、优秀的管理策略、合适的工具和方法,在已知的适当的资源设备条件下,获得具有明确意义的高质量的软件。更具体地讲,就是用工程科学的观点估算费用,指定进度、计划和方案;用管理科学的方法和原理进行生产管理;用数学的方法建立软件开发中的各种模型和算法。 软件工程的目标 1)降低开发成本 2)软件功能达到要求,软件性能良好 3)开发的软件易于移植 4)降低维护费用 5)能按时完成开发任务,及时交付使用 6)开发的软件可靠性高 软件工程研究的问题 软件工程从软件的开发、运行、维护等方面研究软件生存的全过程,主要的研究内容包括开发技术与开发管理两大方面。

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

软件工程

第一章练习题 一、单项选择题 1、软件是(C).A.处理对象和处理规则的描述B.程序C.程序、数据及文档D.计算机系统 2、下列选项中(D)是软件开发中存在的不正确的观念、方法. A.重编程、轻需求 B.重开发、轻维护 C.重技术、轻管理 D.以上三条都是 3、下列哪个阶段不属于软件生存周期的三大阶段(C).A.计划阶段B.开发阶段C.编码阶段D.维护阶段 4、计算机系统就是(C). A.主机,显示器,硬盘,软驱,打印机等 B.CPU,存储器,控制器,I/O接口及设备 C.计算机硬件系统和软件系统 D.计算机及其应用系统 5、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C). A.软件工程 B.软件周期 C.软件危机 D.软件产生 6、以下属于软件危机现象的是(D)A.软件开发进度难以预测B.软件产品难以维护C.软件缺少适当的文档资料D.以上三条都是 7、软件工程的出现主要是由于(C).A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展 8、以下哪一项不属于项目成功要考虑的因素(D).A.工作范围与成本B.进度计划C.客户满意度D.全都属于 9、以下对软件工程的解释正确的是(D). A.软件工程是研究软件开发和软件管理的一门工程科学 B.软件工程是将系统化的、规范化的、可度量化的方法应用于软件开发、运行和维护的过程 C.软件工程是把工程化的思想应用于软件开发 D.以上三条都正确 10、一个项目是否开发,从经济上来说是否可行,归根结底是取决于(A).A.成本估算B.项目计划C.工程管理D.工程网络图 11、软件生存周期包括可行性分析、需求分析、系统设计、编码、(C)、维护等活动.A.应用B.检测C.测试D.以上答案都不正确 12、一个软件从开始计划到废弃为止,称为软件的(B).A.开发周期B.生存周期C.运行周期D.维护周期 13、软件计划时期的主要任务是:分析用户要求、新系统的主要目标以及(B).A.开发软件B.开发的可行性C.设计软件D.运行软件 二、判断题 1、软件就是计算机系统中的程序、数据及其文档(T). 2、程序是指计算机为完成特定任务而执行的指令的有序集合(T). 3、数据是指被程序处理的信息(T). 4、软件工程与项目管理是为研究克服软件危机应运而生的(T). 5、软件危机是20世纪60年代以前产生的(F). 6、软件缺少适当的文档资料属于软件危机现象之一(T). 7、软件工程是把工程化的思想应用于软件开发(T). 8、软件工程是研究软件开发和软件管理的一门管理科学(T). 9、一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力(F). 10、软件工程学是理论研究,没有实际用途(F). 11、项目管理过程就是制定计划然后按计划工作(T). 12、软件生存周期包括需求分析、系统设计、程序设计、测试、维护,五个阶段(T). 13、软件生存周期是指根据某一软件从被提出并着手开始实现,直到软件完成其使命被废弃为止的全过程(T). 第二章练习题 一、单项选择题 1、以下哪个不属于问题定义的步骤(B).A.调查和调研B.形成高层逻辑模型C.沟通和交流D.问题定义报告 2、以下哪个不属于问题定义的内容(D).A.问题的背景B.开发的条件、环境要求C.实现目标的方案D.体系结构的设计 3、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是该系统是否开发的决策依据,因此必须给出(B)的回答. A.确定 B.行或不行 C.正确 D.无二义 4、以下对可行性分析的任务描述不正确的是(B). A.可行性分析要对以后的行动方针提出建议 B.可行性分析只需要明确做不做,无须对以后的行动方针提出建议 C.可行性分析阶段如果认为问题不可行,分析员要提出停止项目开发的建议 D.可行性分析阶段如果认为问题值得解,分析员需要提出解决方案,并且为工程制定一个初步的计划 5、以下哪一个不属于可行性分析的要素(C).A.经济B.技术C.设备D.社会 6、以下对成功的可行性分析的必备要素描述不正确的是(C). A.准确界定研究任务 B.明确研究的用途 C.确定分析期限和报告的提交时间 D.以上三条都不正确 7、以下不属于可行性分析步骤的是(C).A.准确界定研究任务复查项目目标和规模B.研究目前系统C.问题定义报告D.重新定义问题 8、可行性分析基本步骤中的第三步是(D).A.研究目前系统B.分析技术可行性C.法律可行性分析D.形成高层逻辑模型 9、以下哪个符号在系统流程图中表示处理(A).A. B. C. D. 10、以下说法正确的是(b). A.系统流程图是属于问题定义阶段的工作 B.系统流程图是属于可行性分析阶段的工作 C.系统流程图是属于需求分析阶段的工作 D.系统流程图是属于系统分析阶段的工作 11、以下对系统流程图的理解不正确的是(B). A.系统流程图是概括地描绘物理系统的传统工具 B.系统流程图的基本思想是用图形符号以白盒子形式描绘组成系统的每个部件 C.系统流程图表达的是数据在系统各部件之间流动的情况 D.系统流程图不描述对数据进行加工处理的控制过程 12、以下哪个符号不属于数据流图的四种基本符号(D).A. B. C. D. 13、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作(A). A.可行性分析 B.程序设计 C.详细设计 D.软件维护 14、数据流图和数据字典共同构成系统的(C).A.物理模型B.结构模型C.逻辑模型D.设计说明书 15、在数据流图中,○(椭圆)代表(C).A.源点B.终点C.加工D.模块 16、以下不属于数据字典实现途径的是(D).A.全人工过程B.全自动化过程C.混合过程D.全都属于 17、以下不属于数据字典中定义的元素的是(D).A.数据流B.数据元素C.数据存储和处理D.全都属于 18、数据字典是用来定义(D)中的各个成份的具体含义.A.流程图B.功能结构图C.系统结构图D.数据流图 19、以下哪个不属于成本/效益分析的内容(A).A.公司以前做项目的效益情况B.运行费用C.开发成本D.处理新系统将带来的经济效益 20、以下哪个不属于常用的成本估算方法(B).A.基于代码行B.基于工人人数C.任务分解D.自动估计成本技术

软件工程复习题答案

软件工程复习题答案 Final approval draft on November 22, 2020

一、选择题 1.软件工程研究的主要内容有(ABCD) 2.A. 软件开发方法、技术 B. 软件开发工具及环境 3.C. 软件管理技术 D. 软件规范(国际规范) 4.目前典型的软件开发模型有(ABCD): 5.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 6.包含风险分析的软件工程模型是(C): 7.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 8.软件危机的主要表现是(BD) 9.A. 软件成本太高 B. 软件产品的质量低劣 10. C. 软件开发人员明显不足 D. 软件生产率低下 11.以下属于非功能需求的有(ABC) 12. A. 机构需求 B. 产品需求 C. 外部需求 D. 领域需求 13.需求分析的作用是(ABCD) 14. A. 定义软件的范围及必须满足的约束 15. B. 确定软件的功能和性能及与其他系统成分的接口 16. C. 建立数据模型、功能模型和行为模型 17. D. 最终提供需求规格说明,并用于作为评估软件质量的依据 18.需求工程的基本活动包括(ABCD) 19. A. 获取需求 B. 需求分析与建模 C. 确认需求 D. 进化需求 20.需求获取之所以困难,其主要原因有(ABCD) 21. A. 缺乏领域知识 B. 存在默认的知识 22. C. 存在多个知识源 D. 客户可能的偏见 23.常用的需求分析方法有(BCD) 24. A. 功能分析方法 B. 结构化分析方法 25. C. 信息建模法 D. 面向对象的分析方法 26.数据词典中可包含的条目有(ABCD) 27. A. 数据流 B. 数据项 C. 文件 D. 加工 28.属于分布式的软件体系结构有(B) 29. A. 仓库模型 B. 客户/服务器模型 C. 分布式对象结构 D. 中间件30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A) 31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合 32. A. 1 2 3 4 5 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 1 33.对于块内部联系的类型,内聚性由弱到强的是(A) 34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型 35. A. 1 2 3 4 5 6 B. 1 2 4 5 3 6 C. 3 2 4 1 5 6 D. 6 5 4 3 2 1 36.(C)是指相同的操作(或函数、过程)作用于不同的对象上并获得不同的结果 37. A. 继承性 B. 封装性 C. 多态性 D. 动态绑定 38.以下UML的几种图中,属于动态模型的有(ACD)

软件工程第1章作业

软件工程第1章作业 一、填空题(每小题1分,共15分) 1、软件与物质产品有很大的区别,软件是一种_____逻辑_______产品。 2、软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于建造一个软件系统____________________。 3、最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是_瀑布模型。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为_生存周期。 5、软件工程是指导计算机软件开发和维护的一门工程学科。 6、软件工程包括___软件开发技术_________和____管理________两方面的内容,是技术与管理紧密结合所形成的工程学科。 7、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为_范型____________。 8、螺旋模型将瀑布模型和快速原型模型结合起来,加入了两种模型均忽略了的__风险分析_________,弥补了这两种模型的不足。 9、____瀑布_____模型不能适应需求可变的软件开发,只有到开发结束时才能见到整个软件系统。 10、将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是__瀑布________模型。 11、喷泉模型是一种以用户需求为动力,以__对象________为驱动的模型。 12、一个软件项目的开发中,要采用一种生存周期模型,要按照某种_开发方法__________,使用相应的工具来进行。 13、软件工程的出现主要是由于_ ____软件危机__________的出现而产生的。 14、软件工程知识体系指南SWEBOK将软件工程知识体系划分为___10____个知识域。 15、Rational统一过程RUP是_用例_______驱动的、以体系结构为核心的、迭代的增量的过程,其迭代过程分为初始、细化、___构建________、移交4个阶段。 二、选择题(每小题2分,共30分) 1、作坊式小团体合作生产方式的时代属于( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 2、软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 3、个体手工劳动生产方式的时代是( A )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 4、软件是一种( B )产品。 A、有形B、逻辑C、物质D、消耗 5、与计算机科学的理论研究不同,软件工程是一门( C )学科。 A、理论性B、工程性C、原理性D、心理性 6、软件工程学科出现的主要原因是( C )。 A、计算机的发展B、其他工程学科的影响

相关文档