软件技术基础

软件技术基础

第一章

1、什么是程序,有哪些特性?

程序:是一个用计算机语言描述的某一问题的解决步骤,它的表示是静态的。

特性:具有静态与动态属性;

​ 是程序语言抽象的符号表达;

​ 是对数据施行算法的过程;

​ 是分层嵌套的。

2、软件有哪些特性?

特性:功能、性能相对完备的程序系统;

​ 具有使用性能的软设备;

​ 软件是信息商品,易大批量生产,成本低,是极具竞争性的商品,投入的资金主要是人工费,是只有过时而无“磨损”的商品。

3、什么是群件,目前常见的群件产品有哪些?

软件:是近几年开发的一种基于电子邮件的应急系统软件,它拓宽了电子邮件的 内涵,涵盖了很多通信协调功能。

目前常见的软件产品有:IBM公司(国际商用机器公司)的Lotus Notes,

​ Microsoft公司(微软公司)的Exchange Server,

​ Novell公司的Group Wise等。

4、计算机软件是由哪几部分组成的,各自的作用是什么?

软件由:软件程序+数据+文档组成。

软件程序:是解题步骤;

数据:描述事物的属性和状态;

文档:是功能性的说明性信息。

5、什么是程序开发环境,常见的开发环境有哪些?

程序开发环境:现在所用到的编程语言一般是以一个集成环境出现的。

此环境中包含了语言编辑器、调试工具、编译工具、运行工具、图标图像制作工具等。

6、常见的Internet工具有哪些?

Web服务软件、Web浏览器、文件传送工具FTP、远程访问工具Telnet、邮件软件、网络聊天、多媒体。

7、操作系统的作用(功能)是什么?

处理器管理、存储器管理、设备管理、文件管理、作业管理。

8、文件系统足以支持程序运行,那要有数据库干什么?

数据库能克服文件系统的缺陷。

9、软件开发的核心是编制可运行的程序,还有比这更重要的工作嘛?

系统分析和数据分析。

10、程序设计语言的本身是软件嘛?

不光是,而且是系统软件。


第二章

1、程序设计语言有哪两种实现方式,各有什么优缺点?

方式一:编译(优点:可进行优化,目标码效率很高;缺点:费时。)

方式二:解释(优点:可以逐句读入源代码,比较灵活、小巧,解释器不大,工作空间也不大,且能根据程序执行情况决定下一步该做什么;缺点:一句一句的,难以优化,效率低)

2、结构化程序设计语言有哪几种基本控制结构?

顺序、选择、循环。

3、为什么要引进过程,过程和函数有哪些区别?

引进了过程或函数可以让程序语言更清晰,可以多次调用。使用过程还可以降低程序的复杂性,使程序结构变得清晰明了。

过程是不带返回值的,函数带返回值。

4、什么是全局变量,什么是局部变量?

全局变量:出了程序便失去意义,作用范围是整个程序;

局部变量:只在局部的程序块中有定义。

5、什么是指针变量?

指向数据的地址的变量。

6、过程参数传递的方式有哪几种,各有什么特点?

传值:很安全,不会改变全局变量的值|占用双倍存储单位,传值时不能带返回值

引用:能带返回值,存储空间小|局部有可能改变全局变量的值。

7、简述变量的生命周期及变量的种类。

程序中变量的生命周期随其声明时所在的程序块而异。

程序执行完它的所有数据变量后均会失去意义。

种类:持久变量、全局变量、静态局部变量、自动变量、循环控制变量。

8、简述面对对象程序设计语言的基本特点。

封装性,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作系统的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

继承性,继承机制允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

多态性,同一行为具有多个不同表现形式或形态的能力。是指一个实例(对象)得相同方法在不同的情形下有不同的表现形式。多态机制使具有不同内部得对象可以共享相同的外部接口。


第三章

1、算法、数据结构、程序

程序=算法+数据结构

2、什么是算法,它包含的两个要素是什么?

算法:一个有穷规则的集合,规定了解决某段问题的运算序列。它是有穷的、确定的、能行的,并有0/1到多个输出。

包含要素:方法、步骤。

3、算法的控制结构有哪些形式?

顺序、选择、循环。

4、算法的表述有哪几种方式?

自然语言、伪代码、流程图。

5、什么是数据结构,它所研究的内容包括几方面?

数据结构时相互关联的数据元素的集合。

方面:算法、逻辑结构和物理结构,数据结构的图形表示。

6、线性和非线性数据结构的主要区别是什么,包括哪些数据结构?

线性:栈、队、链表、顺序表。

非线性:树、图、文件。

7、一颗度为2的树与一颗二叉树有何区别?

度为2的树:树的最大结点的度为2.

二叉树:不存在度大于 2 的结点.五种基本形态:空二叉树,仅有根节点的二叉树,左子树为空的二叉树,右子树为空的二叉树,左右子树均不为空的二叉数

8、已知某二叉树的前序遍历序列为 ABDEGCFHIJ,中序遍历为 DBGEAHFIJC,写出该二叉树后序遍历的序列

DGEBHJIFCA

9、试分别说明堆栈、队列和数组之间的相同于不同点。

相同:都是线性。不同:堆栈只在一端操作。


第五章

1、什么是多媒体,它由哪些信息表示元素组成?

通过计算机技术,把文字、图形、图像、动画、音频、视频等信息表示元素集成起来而形成的一种新的数字化信息表示媒体。

2、多媒体有哪些特性?

集成性、数字化、时间相关性、交互性、数据量大。

3、对于多媒体的应用,做了简单的讨论后,试再举出几个多媒体应用的例子

教育培训,演示系统,电子出版物,企业应用

4、什么是多媒体计算机系统,多媒体计算机与一般计算机的差别是什么?

多媒体计算机系统:能综合处理多种媒体信息,包括文字,图形,图像,音频,视频,动画等,使多种信息建立联系,并具有交互性的计算机系统。

多媒体计算机相比:处理的数据量大,各种媒体要综合处理。

5、用于多媒体计算机的外部设备有哪些,各有什么用途?

音频设备:实现模拟音频与数字音频之间的转换

视频设备:存储光盘

6、多媒体应用系统的制作过程与一般应用系统的制作有什么不同?

与传统的开发计算机应用程序方法不同,多媒体程序开发是种现代计算机应用软件开发与创意相结台的崭新制作方式,多媒体应用程序制作一般要经过项目的需求分析、脚本编写、软件结构设计、采集和制作多媒体索材、代码编写、运行测试等几个坏节,最后才能究成一个多媒体应用程序的制作。


第六章

1、操作系统主要功能是什么?

处理器管理、存储器管理、设备管理、文件管理、作业管理。

2、简述操作系统与计算机硬件和其他软件的关系

1.操作系统是加到计算机硬件上的第一层软件,它是直接操作计算机硬件的软件,其它的所有软件都是以操作系统为基础运行的虚拟机上。只有首先运行操作系统之后,才能运行其它软件。

2.操作系统是管理和操纵计算机硬件的软件。

3.操作系统是用户与计算机硬件设备之间的接口。

3、操作系统有哪些基本特性,为什么?

1.并发性:所谓“并发”是指两个或两个以上的事件在同一时间间隔中发生。

2.共享性:资源的共享是指计算机系统中的硬件资源和软件资源不仅为某一程序

或者某一用户所独享,多个拥有授权的程序或用户也可以使用。

3.虚拟性:所谓“虚拟”就是把物理实体映射为一个或者多个逻辑实体。物理实

体是实际存在的,而逻辑实体则是“虚拟”的,只是用户的一种看法和感觉。

4.操作系统的体系结构有哪几种,各有什么优缺点?

1)整体武结构:

2)层次式结构:

3)客户/服务器式结构:

5、简述进程与程序的区别与联系以及线程的概念

进程是一个可并发执行的程序在其数据集上的一次运行,是操作系统进行资源分配的单位和运行单位。

程序静态的进程,进程是动态的程序执行。

进程是一个能够独立运行的基本单位。

线程:线程是是进程内的一个可调度实体,是一个执行单元,是更小的轻量级的进程。

6、内存管理的功能有哪些?

1.存储空间的分配和回收;

2.地址映射,即把程序使用的地址映射成内存空间地址;

3.内存的保护,即系统必领保证内存中的进程不会相互干扰。影响整个系统的稳定性、可靠性。

7、设备驱动程序的功能有哪些?

负责接收和分析从设备分配程序转来的信息以及设备控制表中的信息,并结合设备特性进行信息格式转换,把执行信息转换成设备能够执行的形式,驱动设备进行 I/O 操作,进行必要的错误处理。

8、文件的存储方式有哪几种,各有哪些优缺点?

1)连续分配:优点:比较简单,易于实现,只需记录每一个文件用到的第一个磁盘块,文件系统的性能比较高

缺点:必须在创建文件时就确定文件的长度,否则无法分配磁盘空间。

2)链接分配:优点:磁盘利用率高,实现简单

缺点:文件随机读取的效率比较低。

3)索引分配:缺点:每次操作都要首先从磁盘上从头读取链表查找到正确的数据块所在的位置。

4)i-结点分配:

9、目录的用途是什么。采用树形目录有哪些好处?

目录的用途:用来归类文件的,它描述了文件系统中文件的存储结构。

采用树形目录有哪些好处: 树型目录使文章规整有序,提高查找率。使用户减少工作量,提高工作效率。

10、智能手机系统有几类?各是什么?

苹果,安卓,塞班,黑莓,WP。

11、论新一代操作系统应该具有哪些特点。

云计算,可靠性,虚拟化安全性。高性能易用性,移动性,丰富的特性,开放性。

12、死锁

一组竞争系统资源的或相互通信的进程间相互的“永久”阻塞。

13、发生死锁的条件

互斥、占有并等待、非抢占、循环等待

14、死锁解除办法

1.终止所有死锁进程;

2.有选择地终止一个进程,直到消除死锁为止。

15、设置I/O缓冲技术的主要原因

1.解决数据的接收和发送的速率不匹配的矛盾;

2.缓冲器能起到中转站的作用;

3.使用缓冲器,可以使一次输入的信息能够多次使用,减少输入工作量。

4.在通道或控制器内设置局部寄存器作为缓冲器,可暂存I/O信息,以减少中断CPU的次数,提高系统运行效率。

❤总的来说就是为了有效地进行I/O操作,提高CPU与I/O设备之间的并行程度,提高整个系统的运行效率。


第七章

1、试比较星型,环型,网状,总线型网络拓扑结构的特点。

总线型:

优点:可构建简单,可靠的小型网络,易于使用和掌握:需要的电缆数量最少;扩展方便可用中继器扩展总线网络

缺点:网络负载过多时会降任网络的传输速度:出现故障时,难以隔离;一个节点坏了,整个就没用了

星型:

优点:提供集中的资源管理,易于扩展和维护;故障易于隔离。

缺点:要求中央节点的可靠性较高;中心设备出了问题,整个网络会瘫痪。

环型:

优点:每台计算机都有相同的令牌。

缺点:环型网多用于商性能的网络,要求预约宽带,以便提供同步性要求很高的信息,如:视频和音频信号等。在环型网络中,所有计算机平等访问,网络性能均衡。

2、线性表的特点

数据元素呈线性关系,线性表隐含是有序的。他必存在唯一的第一个数据元素和最后一个数据元素,除第一个数据元素外,每个元素有且只有一个前驱元素。除最后一个数据元素外,每个元素有且只有一个后继元素。

3、消息相当于过程语言的过程调用。


第八章

1、为什么要用到数据库?

数据库为数据的查询、添加、删除和修改都提供了很大的方便。除了这些特点之外,数据库还为数据提供了共享、安全等诸多功能。

2、数据库的特点

数据是集成的、数据重复少、程序与数据相对独立、易于提供符合用户不同要求的信息提取方式、易于提供安全保障。

3、数据库用的什么语言?

数据库编程是用 SQL 语言。

4、数据库系统的模式

三级模式结构

模式:逻辑模式;是对数据库中全体数据的逻辑结构和特征的描述、是对型的描述,不涉及具具体值、模式是相对稳定的。

外模式:用户模式/子模式,模式的子集;它是用户能够看见和使用的局部数据的逻辑结构和特征的描述,是用户的数据视图,是与某一应用有关的数据的逻辑表示。

内模式:存储模式;它是数据库在物理存储器上具体实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述。一个数据库只有一种内模式。

![1604867682184](D:\资源\Documents\Tencent Files\273266469\FileRecv\MobileFile\1604867682184.jpg)

用户级对应外模式,概念级对应概念模式,物理级对应内模式

5、设计数据库需要考虑什么因素?

  • 按照数据库的生命周期,分阶段进行开发和管理。
  • 遵守结构化程序设计的原则——自顶向下、逐步求精、分而治之。
  • 在每个阶段都应建立适当的文档。
  • 加强数据库设计的管理,人员要合理组织并有层次,设计进度应有计划并加以控制,开发成本要有估算。
  • 着眼于整个生命周期,考虑今后发展,并使使用和维护都比较方便。
  • 重视数据库设计的标准化和规范化

第十章

1、软件生存周期包括哪些过程?

  • 需求分析
  • 设计
  • 构造
  • 测试
  • 维护

2、软件过程模型(包括特性)

  • 瀑布模型:一层接着一层,完成上层步骤之后,接着开展下一项。前一阶段会形成一个文档,后一阶段根据这个文档进行操作。
  • 原型模型:原型对比于瀑布模型,所增加的内容就是变化需求的处理。
  • 增量模型:过程渐增模型,融合了瀑布模型的基本成分和原型实现的迭代特征,它又称为演化模型。
  • 螺旋模型:有利于软件的复用、通过迭代完成原型和完整版本、客户接受和相信比较难。
  • 喷泉模型:在面向对象的开发过程中,喷泉模型实现了各个步骤之间的无缝对接。在整个软件开发过程中,都存在着迭代。
  • RUP统一过程模型:每个循环包括四个阶段,初始、细化、构建和产品化。每个阶段又包括多个迭代过程。
  • 构建组装模型
  • 快速应用开发模型

3、需求分析,分析哪些内容?

  • why——为什么需要进行需求分析
  • what——需求的范围及分类
  • how——需求建模方式

4、软件设计过程中的原则

  • 抽象
  • 求精
  • 分解/模块化
  • 数据隐藏:采用型构(接口),与其他模块/对象关联,以及利用封装性,来进行数据隐藏
  • 耦合性/内聚性
    • 模块与模块之间——低耦合
    • 模块内部——高内聚

第十一章

1、软件测试的目的是为了发现软件产品中存在的软件缺陷,进而保证软

件产品的质量。

2、黑箱测试

只看输入和程序运行结果,不管程序内部执行过程

3、通过黑盒测试主要发现以下错误

  • 是否有不正确或遗漏了的功能。
  • 界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。
  • 是否有数据结构或外部数据库访问错误。
  • 性能是否满足要求。
  • 是否有初始化或终止性错误。

4、黑盒测试技术有

等价类划分、边值分析

5、白箱测试

白箱测试也叫路径测试。所有的语句必须执行一次以上,这是最起码的要求。

6、按实施测试侧重

  • 基于测试者的直觉和经验
  • 基于规格
  • 基于代码
  • 基于故障
  • 基于使用
  • 基于程序本身

7、阿尔法测试、贝塔测试

阿尔法测试:对于商品软件在研制方有客户(订货方)参与的确认测试。

贝塔测试:在若干客户场地有客户组织,由最终用户参与的测试。

8、面向对象测试的特点

  • 测试重点转移
  • 按模型设计测试用例
  • 充分利用测试工具

9、维护模型

日常维护、定期维护

10、软件质量的属性

功能性、正确性、可靠性、易用性、效率、完整性、可维护性、可移植性。

11、软件质量需求

显式的需求、隐式的需求


计算

1、推算出音频文件的存储空间:

MB/min = 采样位数 ✖ 采样频率(kHz) ✖ 采样时间(min) ➗(8*1024)

2、二叉树

posted @ 2020-11-09 03:32  OMG-pan  阅读(1295)  评论(0)    收藏  举报