软件工程答案版

合集下载

(完整word版)软件工程习题及答案解析

(完整word版)软件工程习题及答案解析

软件工程习题及答案一、选择题: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/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。

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. 结构化程序设计主要强调程序的。

软件工程 刘强 课后习题参考答案

软件工程 刘强 课后习题参考答案

软件在不使用其他组件的情况下很容易构造出来 商业组件在很多应用领域中可以得到 )说法是正确的。 (C) 软件危机在 20 世纪 70 年代末期全面爆发
5.
下面的( A.
B. C. D. 6.
当前先进的软件工程方法已经解决了软件危机的问题 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题 软件危机是指在软件产品中存在一系列的质量问题 ) 。 (B)
[选择题] 1. ( A. B. C. D. 2. 下面的( A. B. C. D. 3. )因素促使计算机系统越来越复杂。 (D) 计算机内存和存储容量上的巨大增长 外部输入/输出选项的更加多样性 计算机体系结构方面的深刻变化 以上所有选项 )不再是现代软件工程师关注的问题。 (A) 为什么计算机硬件的成本这么高? 为什么软件需要很长时间才能完成? 为什么开发一个软件的成本这么高? 为什么不能在产品发布前去除软件错误? ) 。 (C)
工作量影响因素f状态等级工作量系数软件可靠性对人身会造成威胁很高139数据库规模数据量比较少094产品复杂性与设备定时有关的操作极高165可重用性一般正常100要求文档量一般正常100执行时间限制将占用70的可用时间111存储限制使用16mb存储容量106平台变动基于商业微处理器硬件正常100分析员能力优秀的高级分析人员083程序员能力优秀的高级程序员087应用领域经验正常100平台经验110语言和工具经验12个月正常100人员连续性一般正常100软件工具的使用处于基本微型机工具层112多地点开发基本上集中在一个地点很高084开发进度限制12个月正常100工作量修正因子f190工作量e281012084人月开发时间d2584032某诊所需要开发一个软件系统来管理预约具体要求如下
适用于需求被清晰定义的情况 一种需要快速构造可运行程序的好方法 最适合于大规模团队开发的项目 已不能用于现代环境的过时模型 ) 。 (B)

软件工程 张海藩 课后习题答案

软件工程 张海藩 课后习题答案

《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。

(2)软件产品的质量往往靠不住。

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。

造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。

(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。

3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。

在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。

总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

《软件工程》课后习题答案

《软件工程》课后习题答案

1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。

2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。

3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。

4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。

6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。

7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。

可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。

8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。

重视用户界面的设计,不断的采用新理论和新技术。

软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。

9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。

10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。

13、详细描述处理过程常用三种描述工具:图形、表格和语言。

14、数据流图中,每个加工至少有一个输入流和一个输出流。

15、结构化设计以数据流为基础映射成软件结构。

16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。

17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。

18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。

《软件工程》复习题及答案

《软件工程》复习题及答案
软件工程复习题
第一部分
一、选择题:
1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生
2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品
3.瀑布模型存在的问题是(B)。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
数据流图的基本符号的意思:
1.矩形表示数据的外部实体;
2.圆角的矩形表示变换数据的处理逻辑;
3.少右面的边矩形表示数据的存储;
4.箭头表示数据流。
8.什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。
作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。
32.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的(C)上。
A.配置项B.程序C.基线D.过程
33.在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。
A.耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合
二、简答题
1.什么是软件工程?软件工程的目标是什么?
A、1%B、20%C、8%D、50%
13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》
B.《中华人民共和国计算机信息系统安全保护条例》
C.《中华人民共和国著作权法》
D.《计算机病毒防治管理办法》

《软件工程》课后习题答案

《软件工程》课后习题答案

1、可行性研究的目的是用最小的代价,在尽可能短的时间,确定该项目是否能够开发。

2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。

3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。

4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。

6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。

7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。

可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。

8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。

重视用户界面的设计,不断的采用新理论和新技术。

软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。

9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。

10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。

13、详细描述处理过程常用三种描述工具:图形、表格和语言。

14、数据流图中,每个加工至少有一个输入流和一个输出流。

15、结构化设计以数据流为基础映射成软件结构。

16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。

17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。

18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。

软件工程习题答案参考

软件工程习题答案参考软件工程习题一:软件开发过程及其特点软件开发过程是指通过一系列的活动和任务,将软件需求转化为可运行的软件系统的过程。

软件工程师通过在这个过程中使用不同的方法和技术来确保软件系统的质量和可靠性。

下面是对软件开发过程中常见的几种模型及其特点的详细解答:1. 瀑布模型:瀑布模型是最早提出的软件开发过程模型之一。

它将软件开发过程划分为几个连续的阶段,包括需求分析、系统设计、编码、测试和维护。

这种模型的特点是每个阶段必须按序完成,并且每个阶段的输出成果是下一个阶段的输入。

瀑布模型适用于需求比较稳定且项目规模较小的软件开发。

2. 增量模型:增量模型是一种迭代的软件开发过程模型,它将软件开发过程分为多个增量,每个增量都可以独立开发、测试和交付。

每个增量都会增加软件系统的功能或性能。

增量模型适用于需求不明确或需求变化频繁的软件开发。

3. 原型模型:原型模型是通过与用户密切合作,迅速开发出一个初步的软件原型,然后根据用户的反馈和需求修改和改进原型,最终得到满足用户需求的软件系统。

原型模型适用于用户需求不确定或需要快速验证软件功能的情况。

4. 敏捷模型:敏捷模型是一种注重实践和团队合作的软件开发过程模型。

它强调通过频繁的迭代和交付来满足用户需求,并鼓励团队成员之间的沟通和合作。

敏捷开发适用于需求变化频繁或项目时间紧迫的软件开发。

总结来说,不同的软件开发过程模型适用于不同的项目和需求情况。

软件工程师在实际工作中需要根据项目的具体情况选择合适的开发过程模型,并结合各种软件开发方法和技术来确保软件系统的质量和可靠性。

软件工程习题二:软件需求分析与规格说明软件需求分析是软件开发过程中至关重要的一步,它涉及到对用户需求进行详细的调查和分析,以确定软件系统的功能和性能需求,并将其形式化为规格说明。

下面是对软件需求分析及规格说明的常见问题的解答:1. 需求获取:需求获取是指获取用户需求的过程。

常用的需求获取技术包括面谈、问卷调查、原型演示等。

软件工程(习题与参考答案)

第1章概述〔习题与参考答案〕[判断题]1. 由于今天个人计算机不断开展壮大,人们不再采用软件团队的开发方式。

〔×〕2. 由于软件是产品,因此可以应用其他工程制品所用的技术进展生产。

〔×〕3. 购置大多数计算机系统所需的硬件比软件更昂贵。

〔×〕4. 大多数软件产品在其生命周期中不需要增强功能。

〔×〕5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。

〔√〕6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。

〔×〕[选择题]1. 〔〕因素促使计算机系统越来越复杂。

〔D〕A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系构造方面的深刻变化D. 以上所有选项2. 下面的〔〕不再是现代软件工程师关注的问题。

〔A〕A. 为什么计算机硬件的本钱这么高?B. 为什么软件需要很长时间才能完成?C. 为什么开发一个软件的本钱这么高?D. 为什么不能在产品发布前去除软件错误?3. 软件会逐渐退化而不会磨损,其原因在于〔〕。

〔C〕A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其原因在于〔〕。

〔C〕A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到5. 下面的〔〕说法是正确的。

〔C〕A. 软件危机在20世纪70年代末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的根本目标是〔〕。

〔B〕A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品7. 〔〕是将系统化的、标准的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

软件工程(习题与参考答案)

第1章概述(习题与参考答案)[判断题]1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。

(×)2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。

(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵。

(×)4. 大多数软件产品在其生命周期中不需要增强功能。

(×)5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。

(√)6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。

(×)[选择题]1. ()因素促使计算机系统越来越复杂。

(D)A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系结构方面的深刻变化D. 以上所有选项2. 下面的()不再是现代软件工程师关注的问题。

(A)A. 为什么计算机硬件的成本这么高?B. 为什么软件需要很长时间才能完成?C. 为什么开发一个软件的成本这么高?D. 为什么不能在产品发布前去除软件错误?3. 软件会逐渐退化而不会磨损,其原因在于()。

(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其原因在于()。

(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到5. 下面的()说法是正确的。

(C)A. 软件危机在20世纪70年代末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的基本目标是()。

(B)A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

软件工程习题及参考答案

软件工程习题及参考答案判断题软件也会磨损和老化。

(某)完善性维护是提高或完善软件的性能。

(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(某)软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码。

(某)软件模块之间的耦合性越弱越好。

(√)如果通过软件测试没有发现错误,则说明软件是正确的。

(某)快速原型模型可以有效地适应用户需求的动态变化。

(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

(√)集成测试主要由用户来完成。

(某)确认测试计划应该在可行性研究阶段制定(某)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。

(某)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。

(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。

(╳)模块越多,开发成本越小。

(╳)软件测试的目的就是证明软件没有错。

(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。

(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

(某)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。

(√)HIPO法既是需求分析方法,又是软件设计方法。

(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。

(某)加工小说明是对系统流程图中的加工进行说明。

(某)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。

(某)需求分析的主要方法有SD法、OOA法及HIPO法等。

(某)分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。

(某)信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精品文档 随意编辑 一、概念题: 1、软件危机: 在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2、软件工程: 是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 3、软件生命周期: 由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。 4、模块的内聚性: 标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。 5、软件测试: 为了发现程序中的错误而执行程序的过程。 6、软件的可维护性: 维护人员理解、改正、改动或改进这个软件的难易程度。

7、数据流图DFD: 一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 8、模块的耦合(性): 对一个软件结构内不同模块之间互连程序的度量。耦合的强弱取决于模块间接口的复杂程序,进入或访问一个模块的点,以及通过接口的数据。 9、形式化方法: 描述系统性质的基于数学的技术。 10、软件重用: 指同一事物不作修改或稍加改动就多次重复使用。广义地说,软件重用可分为以下3个层次:知识重用、方法和标准的重用和软件成分的重用。 11、软件维护: 就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 12、对象: 是由描述该对象属性的数据以及对这些数据施加的所有操作封装在一起构成的统一体。 13、软件可靠性: 是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。

二、填空题: 1、软件工程包括技术和管理两方面内容,是(技术)与(管理)紧密结合所形成的工程学科。管理就是通过(计划)、(组织)和(控制)等一系列活动。软件工程方法学包含3个要素:(方法)、(工具)和(过程)。 2、任何计算机系统均由(硬件)和(软件)两部分组成。 3、通常使用软件生命周期模型简洁地描述软件过程。请举出几种典型的软件过程模型如(瀑布模型)、(快速原型模型)、(增量模型)等等。 4、可行性研究其实质上是要进行一次大大压缩简化了的系统分析和设计过程。一般对可供选择的主要系统实现方案的可行性,至少应该从(技术可行性)、(经济可行性)和(操作可行性)等3个方面研究每种实现方案的可行性。 5、需求分析的任务包括(系统综合要求)、(数据要求)、(导出逻辑模型)和(修正系统开发计划)等。其中常见的接口需求有(用户接口)、(硬件接口)、(软件接口)和(通信接口需求)等等。 6、需求分析过程应该建立3种模型,它们分别是(数据模型)、(功能模型)和(行为模型)。 7、按照形式化的程度,可以把软件工程使用的方法划分成(非形式化)、(半形式化)和(形式化)等3类。 8、软件设计一般包括(总体设计阶段)和(详细设计阶段)等两个阶段,在软件设计过程中应该遵循的基本原理和相关概念有(模块化)、(抽象)、(逐步求精)、(信息隐藏和局部化)和(模块独立)。 9、软件设计的基本任务可以概括地说包括以下四个任务(体系结构设计)、(人机界面设计)、(数据设计)和(过程设计)。 10、在设计人机界面的过程中,必须充分重视并认真处理好(系统响应时间)、(用户帮组设施)、(出错信息处理)和(命令交互)等四个问题。 11、(白盒测试)和(黑盒测试)是软件测试的两类基本方法,通常在测试过程的早期阶段主要使用( 白盒测试 ),而在后期阶段主要使用( 黑盒测试 )。 精品文档 随意编辑 12、软件的结构程序设计按照控制结构的应用特点可以分为(经典的结构程序设计)、(扩展的结构程序设计)和(修正的结构程序设计)。 13、用面向对象方法学开发软件过程,是一个主动地多次反复迭代的(演化过程)。传统方法学强调(自顶向下)顺序地完成软件开发的各阶段任务。 14、程序复杂程度的定量度量使用较广泛的两种方法是(McCabe)方法和(Halstead)方法。 15、一般组成软件系统的物理元素包括( 程序 )、( 文件 )、( 数据库 )、( 人工过程 )和( 文档 )等。 16、软件配置管理主要包括有5项任务:(标识)、(版本控制)、(变化控制)、(配置审计)和(报告)。 17、大型、复杂系统的对象设计一般由下述5个层次组成:(主题层)、(类与对象层)、(结构层)、(属性层)和(服务层)。 18、软件重用是提高软件(开发生产率)和目标系统(质量)的重要途径,它基本上始于设计。其中软件成分重用可划分成以下3个级别即代码重用、设计成果重用和分析结果重用。 19、面向数据流的设计方法把信息流映射成软件结构,信息流有(变换)和(事务)等两种类型。 20、大型软件系统的测试过程基本上由(模块测试)、(子系统测试)、(系统测试)、(验收测试)和(平行运行)等。 21、一般说来,软件调试途径主要有以下3种即(蛮干法)、(回溯法)和(原因排除法)。 22、需求分析的任务包括系统综合要求、数据要求、导出逻辑模型和修正系统开发计划等。其中设计约束或实现约束常见的有:(精度)、(工具和语言约束)、(设计约束)、应该使用的标准和应该使用的(硬件平台)等。 23、COCOMO是(构造性成本模型)(constructive cost model)的英文缩写。 24、软件定义时期通常划分为3个阶段,它们分别是( 问题定义 )、( 可行性研究 )和( 需求分析 )。 25、程序的三种基本控制结构是( 顺序 )、( 选择 )和( 循环 )。 26、软件系统响应时间有两个重要属性,分别是(长度)和(易变性)。 27、在软件项目的组织方式典型的有(民主制程序员组)、(主程序员组)、(现代程序员组)等三种。 28软件维护通常包括四类活动即(改正性维护)、(完善性维护)、(适应性维护)和(预防性维护)。 29传统方法学强调(硬件接口)顺序地完成软件开发的各阶段任务。用(软件接口)开发软件过程,是一个主动地多次反复迭代的演化过程。 30、估算软件规模的方法主要有(码行技术)和(功能点技术)等等。 31、软件过程中的一个任务集合包括一组(软件工程任务)、(里程碑)和应该交付的产品(软件配置成分)。通常使用软件生命周期模型简洁地描述软件过程。请举出几种典型的软件过程模型如微软过程、(瀑布模型)、(快速原型)、(增量模型)、(螺旋模型)、(喷泉模型)等。 32、解决软件危机,既要有技术措施(方法和工具),又要有必要的(组织管理)措施。 33、CMM是软件过程能力成熟度模型(capability maturity model)的简称。其5个等级从低到高依次是(初始级)(又称为1级)、(可重复级)(又称为2级)、(已定义级)(又称为3级)、(已管理级)(又称为4级)和(优化级)(又称为5级)。 34、结构化分析方法需求分析过程应该建立3种模型,它们分别是(行为模型)、(功能模型)和(数据模型)。 35、用面向对象方法开发软件,需要建立3种形式的模型,它们分别是(对象模型)、(动态模型)和(功能模型)。 36、验证软件需求应该从以下4个方面进行验证,即(一致性)、(完整性)、(现实性)和(有效性)。 37、大型软件的测试应该分阶段地进行,通常至少分为(单元测试)、(集成测试)和(验收测试)等3个基本阶段。 38、软件成分重用可划分成以下3个级别即(代码重用)、(设计成果重用)、和(分析结果重用)重用。 精品文档 随意编辑 三、判断题: 1、传统方法学强调自顶向下顺序地完成软件开发的各阶段任务,用面向对象方法学则是一个主动地多次反复迭代的演化过程。( × ) 2、软件重用或称为复用仍然是降低软件成本和提高软件质量的唯一合理的方法。( × ) 3、在软件设计过程中,对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。考虑到现在人机界面在系统中所占比例越来越大的现实,可以将人机界面设计放到软件的编码实现阶段同时考虑,即由程序员基于过程算法完成编码实现的同时,同时按照软件规格说明书和业务逻辑要求实现人机界面,这样就降低了软件的开发代价。( × ) 4、即使采用了形式化方法,软件重用仍然是降低软件成本和提高软件质量的唯一合理的方法。(× ) 5、模块独立是良好软件设计的关键,而维护又是决定软件质量的关键环节。( × ) 6、软件测试的目的是“建设性”的,即为了竭力证明已经建造好的软件系统的正确性和适用性。(×) 7、软件质量是软件工程目标之一,保证模块独立是良好软件设计的关键,而维护又是决定软件质量的关键环节。( × ) 8、软件测试一般包括黑盒测试和白盒测试两种方法,测试目的是为了竭力证明已经建造好的软件系统的正确性和适用性。(×) 9、可以用形式化方法证明软件的需求和设计的正确性和合理性,因此,软件重用并不是降低软件成本和提高软件质量的合理方法之一。如果为了降低软件的测试成本和改正错误代价等,可以不用对软件进行测试,也可以保证软件的质量和降低开发成本等软件工程的目标。( × ) 10、形式化方法有许多优点,因此在实际软件工作中应该依赖形式化方法来保证开发出的软件绝对正确和降低由于设计缺陷产生的维护代价。( × ) 11、开发同一个软件(即LOC固定或功能点)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量,更加完善了软件的设计工作,提高软件编码的效率。( × ) 12、程序员知识、软件可移植性要求、软件应用领域和工程规模及系统用户的要求等是在软件开发中选择程序设计语言的主要实用标准。( √ ) 13、详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。( √ ) 14、在可行性研究过程中只需要找出几种技术方案就可以了,等到需求分析的时候再去考虑成本效益问题。( × ) 15、在软件开发中选择程序设计语言的主要实用标准包括程序员知识、软件可移植性要求、软件应用领域和工程规模及系统用户的要求等。( √ ) 16、采用形式化方法进行软件系统的建模、分析与设计有许多其它方法不可替代的优点,因此在实际软件工作中应该依赖形式化方法来保证开发出的软件绝对正确,并降低由于设计缺陷产生的维护代价。( × ) 17、请根据你所学的软件工程原理和常识,判断下述说法是否正确:开发同一个软件(即LOC固定或功能点)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量,更加完善了软件的设计工作,提高软件编码的效率。( × ) 18、必须用评审、测试等其他方法来验证软件正确性,因为无法用形式化方法证明从非形式化需求到形式化规格说明转换是正确的。( √ ) 19、在软件系统开发中,选择程序设计语言的主要实用标准是依据程序员的知识。( × ) 20、通过较长的开发时间可以对复杂问题和软件系统的能够进行深入的分析,因此开发同一个软件(即LOC固定或功能点相同)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量。( × )

相关文档
最新文档