网络攻防技术 100试题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《网络攻防技术实践》考核口试题 软件工程相关
1.软件的算法是如何定义的?有哪些主要特征?
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。
七个主要特征:有穷性、确定性、可行性、有效性、健壮性、输入项输出项
2.软件中算法的效率如何度量?
空间复杂度、时间复杂度。
3.解释一下算法、程序和软件的概念。
算法:通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的。
程序:程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
软件:计算机系统中与硬件相互依存的一部分,包括程序、数据、相关文档的完整集合。
4.什么是结构化程序设计?有哪几种主要结构?
结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序。任何程序都可由顺序、选择、循环三种基本控制结构构造。5.解释一下C语言中结构体的概念?
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
6.什么是数据结构?数据结构在计算机中如何表示?
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。常用的数据结构有数组、栈、队列、链表、树、图、堆和散列表等。数据结构在计算机中的表示成为数据的物理结构,又称为存储结构,包括数据元素的表示和关系的表示。表示方法有结点、顺序存储结构和链式存储结构。
7.解释一下数据结构中线性表的概念?
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
8.解释一下数据结构中树的概念?
树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构,这个结点称为该树的根结点。
树的递归定义:
树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:
(1)有且仅有一个特定的称为根(Root)的结点;一个根节点
(2)其余的结点可分为m(m≥0)个互不相交的子集Tl,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(Subree)。
9.解释一下数据结构中队列的概念?
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
10.为什么要实施软件工程?
软件的快速发展:需求越来越高、规模越来越大、种类越来越多、结构越来越复杂;
软件危机的存在:软件的特点及传统开发方法使软件危机四伏
11.软件工程的基本内容是什么?
软件工程研究如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,如何把正确的管理技术和当前最好的技术方法结合起来。
主要内容:软件开发技术、软件工程管理。
12.有哪几种主要的软件开发模型?
瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。
13.软件有哪些主要特点?
(1)软件具有抽象性;(2)软件不是制造出来的;(3)软件没有磨损和老化,有生命周期;(4)对计算机系统有依赖性;
14.软件是如何分类的?
一般来讲软件被划分为系统软件、应用软件,管理软件、行业软件、安全防护软件、多媒体软件、游戏软件
(1)按软件功能划分:系统软件、支撑软件、应用软件
(2)按软件规模进行划分:微型、小型、中型、大型、甚大型、极大型、
(3)按工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件
(4)按软件服务对象的范围划分:项目软件、产品软件
(5)按使用的频度进行划分:一次使用、频繁使用
(6)按软件失效的影响进行划分:高可靠性软件、一般可靠性软件
15.什么是软件危机?其主要表现有哪些?
落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
表现:1软件开发成本进度失控;2用户不满意;3软件产品的质量靠不住;4缺乏文档资料;5软件不可维护; 6软件成本占计算机系统总成本的比例上升;7软件开发生产率的提高跟不上计算机普及深入的趋势。
16.什么是软件工程?
软件工程是研究如何以系统性的、规范化的、可定量的过程化方法去开发和维护
软件,如何把正确的管理技术和当前最好的技术方法结合起来。
17.什么是软件工程的三要素?
方法、工具和过程
18.软件工程的知识结构包括哪些主要内容?
软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量
19.什么是软件工程中的配置管理?
配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。
20.软件工程中文档的作用是什么?
1)阶段工作成果和结束标志;2)向管理人员提供软件开发过程中的进展和情况;3)记录开发过程中的技术信息,便于协调以后的软件开发、使用和修改;4)便于各类人员之间相互了解彼此的工作;5)向潜在用户报告软件的功能和性能。
21.软件工程的基本原则有哪些?
1选取适宜开发范型;2采用合适的设计方法;3提供高质量的工程支持;4重视开发过程的管理.
22.如何选择软件过程模型?
1)模型应符合软件本身的性质(规模、复杂性)
2)模型应满足软件应用系统整体开发进度要求
3)模型应有可能控制并消除软件开发风险
4)模型应有可用的计算机辅助工具(如快速原型工具)的支持
5)模型应与用户和软件开发人员的知识和技能相匹配
6)模型应有利于软件开发的管理与控制
23.什么是软件设计?
应用各种技术和原理,详细定义一个设备、程序或系统的物理实现的过程。
24.软件设计的目标和目的是什么?
1付出较低的开发成本、2达到要求的软件功能、3取得较好的软件性能、4开发的软件易于移植、5需要较低的维护费用、6能按时完成开发工作,7及时交付使用
25.软件设计的任务是什么?
数据设计:将分析时创建的信息域模型变换为实现软件所需的数据结构
结构设计:定义软件系统各主要部件之间的关系
接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信
过程设计:把系统结构部件转换成软件单元的过程性描述