02365计算机软件基础(二)复习资料.doc
02365计算机软件基础一知识点汇总第一章1计算机软件:指计算机程序,实现此程序功能所采用的方法、规则以及与其相关联的文档和在机器上运行它所需要的数据。2.计算机软件资源包括:汇编程序,各种高级语言,各种语言的解释或者编译程序,各种标准程序库,操作系统,数据库系统软件,计算机网络软件,各种应用软件。3裸机:一台没有装入任何软件的计算机。4伪指令:汇编语言源程序中的语言分为两大类:一类是与机器指令相对应的可执行汇编语句;另一类是不会被翻译成机器指令的汇编控制语句。前者将会被汇编程序翻译成对应的机器指令,后者并不被翻译成机器指令,它们只是用来控制汇编程序的工作,所以也被称为伪指令。5源程序:高级语言是按照一定的“语法规则”,由表达各种意义的“词”和“数学公式”组成的。和汇编语言一样,用高级语言编制出来的程序称为源程序。6.操作系统:是最基本的系统软件,它直接运行在裸机上,是计算机硬件系统的第一次扩充。是控制和管理计算机硬件软件资源,合理地组织计算机工作流程以及方便用户的程序的集合。7.中断:是指这样一种技术:当接收到外围设备或通道发出的中断要求时,主机暂时停止当前的工作,而转去处理外设提出的要求。8应用软件:处于系统软件的上层,它是帮助计算机用户完成特定领域的工作。属于计算机传统应用的三大领域是:事务处理软件;工程与科学计算软件;实时应用软件。9.汇编程序:为了让计算机完成汇编语言的功能,必须有一个用机器语言书写的程序,该程序的功能是将用汇编语言编写的源程序翻译成机器语言组成的目标程序。这个程序称为汇编程序。10通道:是独立于CPU的专业处理机,用来管理输入输出工作,它替代CPU对输入输出操作进行控制。11.多道程序(批处理)系统:为提高计算机CPU的运行效率,在内存中同时放入多个作业,而这些程序可以交替占用CPU和外部设备,这样从宏观上来看,一台计算机同时运行多道程序,而从微观上来看,CPU的某个时刻只在运行一道程序。这就是多道程序系统。12,分时操作系统:是一种高级的联机操作方式,它位多个用户分别提供了一台可以与系统进行交互会话的终端。13.实时操作系统:实时系统一般采用事件驱动的设计方法,系统接收了某种信息后,自动选择一个程序加以处理,并在严格的计时程序下控制运行。14操作系统分为三类:多道批处理操作系统,分时操作系统,实时操作系统第二章1.数据:是描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序处理的符号的集合。2结点(或记录):数据集合中的个体,即数据的基本单位是用数据元素表示,数据元素也称为结点。3.数据项(或域):在数据结构中,把构成数据元素的这些项目称为数据项,也称为域。4.数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。数据结构要研究的数据不是一二个孤立的数据,而是一批相互关联的数据,描述数据元素之间存在的相互关系的方法称为结构。5.数据的逻辑结构:从逻辑上抽象地反映数据元素的结构关系称之为数据的逻辑结构。分为线性结构和非线性结构两大类。若各数据元素之间的逻辑结构可以用一个线性序列简单的表示出来,称为线性结构,否则称为非线性结构。6.数据的存储结构:数据的逻辑结构在计算机存储设备中得具体实现被称为数据的存储结构,也称为数据的物理结构,其存储方式是顺序存储结构和链式存储结构。7.顺序存储结构:是把逻辑上相邻的数据元素存储在物理上相邻的存储单元中。8.链式存储结构:突破了逻辑上相邻的数据元素必须在物理上相邻的限制,允许把逻辑上相邻的两个元素存放在物理上不相邻的存储单元中。9.循环链表:让单链表的最后一个结点的指针不为空,而是指向链表的第一个结点,使链表构成了一个循环,这就形成了线性链表的另一种形式,称为循环链表。10.栈:是限定只能在表的一端进行插入和删除运算的线性表,允许插入和删除运算的一端称为栈顶,不允许插入和删除运算的一端称为栈底。由于数据的插入和删除只能在栈的一端进行,因此后进入的元素只能先退出,所以这种结构也叫“后进先出”表11.顺序栈:在顺序存储结构上实现的栈称为顺序栈。12.队列:是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表,允许删除的一端称为队头,允许插入的一端称为队尾。在队中,新元素总是加入到队尾,每次删除的总是在队头上的元素,即当前最老的元素,所以这种结构叫做“先进先出”表。13.链队:队列的链式存储结构。它实际上是一个同时带有头指针和尾指针的单链表,头指针指向队头,尾指针指向队尾。14.数组:是最常用的数据结构之一,它是由同种类型的数据元素构造而成。15.需要压缩存储的矩阵分为两种:特殊矩阵和稀疏矩阵。零元素或者值相同的元素在矩阵中的分布有一定规律的矩阵称为特殊矩阵。矩阵中零元素远远多于非零元素,并且非零元素的分布没有规律的矩阵称为稀疏矩阵。16.存储稀疏矩阵时常用的方法:1顺序存储:用顺序存储的方法存储稀疏矩阵时,最基本的做法是用一个三元组表来表示稀疏矩阵。2链式存储:用顺序表的方法存储稀疏矩阵可以大大节省存储单元,但当非零元素增加或减少时,会给插入或删除运算到来不便,这时采用链式存储结构更为恰当。链式存储结构有:带行指针向量的单链表表示法,带列指针向量的单链表表示法及十字链表表示法。17.树:是由一个或多个结点组成的有限集合T,有且仅有一个结点称为根,其余的结点分为m(m大于或等于0)个互不相交的有限集合T1,T2TM.每个集合本身又是一棵树,被称作这个根的子树。18.结点:树的数据元素19.结点的度:结点上分支出得子树个数。20.叶子:度为零的结点,又称为终端结点,即叶子。21:孩子:结点的子树的根称为该结点的孩子。22.双亲:对应称为孩子结点的上层结点称为这些结点的双亲。23.兄弟:同一双亲的孩子之间互称为兄弟。24.结点的层次:从根算起,根为第一层,其他结点的层次等于它的双亲的层次加一。25.深度:或称为高度,是树中结点的最大层次数。26.森林:是n(n大于或等于0)棵互不相交的树的集合。27.二叉树:是n(n大于或等于零)个结点的有限集合,它或是空树(n等于0),或是由一个根结点,以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。28.满二叉树:深度为k(k大于或等于1)且有2(k次方减1)个结点的二叉树。29.完全二叉树:完全二叉树的最下面一层上得结点都集中在最左边的若干位置上,不满足这一条件的二叉树就是非完全二叉树。30.遍历:是指循某条搜索路线巡查某数据结构中得结点,而且每个结点只被访问一次。31查找:也称检索,是在数据结构中找出满足某种条件的结点,它是数据结构中很常用的一种基本操作。32.平均查找长度(ASL):为确定数据元素在表中的位置所进行的和关键字比较的次数的期望值称之为查找算法的平均查找长度。33.线性查找(顺序查找):是一种最基本,也是最简单的查找方法。顺序查找是从表中得第一个元素开始,将给定的值与表中各个元素的关键字逐个地进行比较,一直查到两者相符,则查找成功。34.二分查找:有称折半查找或对半查找,是一种效率较高的线性表的查找方法,它所适用的对象必须是由序表。所谓有序表是以元素的关键字大小顺序排列的表。35散列查找(哈希查找):是希望不经过任何比较,一次存取就能得到所查元素的一种查找方法,它要求在元素的存储位置和它的关键字之间建立一个确定的对应关系,使每个关键字和结构中一个唯一的存储位置相对应。36排序:和查找一样,是一种重要的数据操作,它是将一组记录按其关键字值的递增或递减的次序排列成一个有序序列。37.插入排序:是将等待排序的记录按照其关键字值的大小插入到已排好序的有序表的适当位置上,直到全部插入完毕为止。38.直接插入排序:插入的过程是在已排序的有序表中寻找插入位置的过程,当用线性查找的方法来搜索插人位置时,就是直接插入排序。39.二分插入排序:是通过对已排序的记录的二分查找来确定插入的位置。40.循环链表与单链表数据运算的差别:在查找数据元素的位置时的循环条件,在单链表中是以指针是否为空作为循环条件,而在循环链表中是以指针是否等于头指针作为循环的条件。第三章1.操作系统的功能:处理机管理,存储管理,文件管理,设备管理,作业管理。2.进程:是操作系统中可以并进行工作的最基本单位。一般把进程定义为一个具有独立功能的程序关于某个数据集合的一次运行活动。3进程的状态:就绪,运行,等待。4.就绪状态:进程已获得了除CPU以外的一切所需资源,一旦把CPU分配给它,它就立即可以运行,处于就绪状态的进程可以是多个。5.运行状态:进程已获得了CPU以及其他的一切所需的资源,正在CPU上运行。对于单处理机系统来说,最多只有一个进程处于运行状态。6.等待状态:又称阻塞状态,封锁状态或挂起状态,指进程因等待某种事件而暂时不能运行的状态。7.进程控制块(PCB):为了便于系统控制和描述进程的活动过程,操作系统为进程定义了一个专门的数据结构,称为进程控制块。8.进程控制块含有四类信息:标示信息,说明信息,现场信息,管理信息。9.进程调度算法:1先来先服务调度算法:它是按照进程进入就绪队列的先后次序来选择可占有处理机的进程。2.优先数调度算法:为每一个进程给出一个优先数,进程调度总是让当时具有最高优先数的进程先使用处理机。3.时间片轮转调度算法:它是分先来先服务的原则把处理机分配给排在就绪队列中得第一个进程,但它同时规定了该进程能使用处理机的时间片。10进程:是操作系统中可以独立运行的单元,在同一个系统中有多个进程在开发地执行。11.进程通信:有关的进程之间必须相互协调,彼此之间交换信息,这就是进程的通信。12.临界资源:在系统中,一次仅允许一个进程使用的资源。13临界区:在进程中访问临界资源的那段程序代码。14,系统对临界区的调度原则:1.当没有进程在临界区时,允许一进程立即进入临界区。2.已有进程在临界区时,其他要进入临界区的进程必须等待。3.进程进入临界区的要求必须在有限的时间内得到满足。15.进程的同步:指的是并发进程之间存在的一种制约关系,一个进程的执行依赖于另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息达到才能被执行。15.运行状态的进程的发展的三种可能性:1.如果该进程完成了它自己的任务,它将结束它的生命而消亡,2.如果分配给该进程占用处理机的时间片用完了,那么它将被迫让出处理机而进入就绪态,3.如果进程在运行过程中需要某一条件而不能马上满足时,它将自己主动放弃处理机而进入等待态。16.PV操作:是用一种原语对某个信号量实施操作以实现进程的同步与互斥。17.SP:表示缓冲器是否可以接收产品。18.SG:表示缓冲器中是否存有产品19死锁:在计算机系统中把系统中两个或多个进程无限期地等待永远不会发生的条件,称为死锁。处于死锁状态的进程称为死锁进程。19.死锁产生的原因:1.是系统提供的资源数小于要求使用资源的进程数,2.是多道程序运行时,进程推进的顺序不合适。20.系统出现死锁的四个必要条件:互斥条件,不可抢夺条件,部分分配条件,循环等待条件。21预防死锁的方法:1.预防静态分配,2。有序资源分配,3.抢夺式分配22.死锁检测的方法:是设置两张表来记录进程正在占用的资源和等待的资源的情况,由死锁检测程序定时地检测这两张表格,如果发现有循环等待资源的进程,就有死锁发生。23解除死锁方法:资源抢占法,撤销进程法。24.主存储器(内存)管理:是操作系统主要的功能之一,程序的指令和数据只有存放在处理机能直接访问的 内存中,这部分程序才能被执行。25.存储管理的功能:主存空间的分配,存储的保护,地址的转换,主存空间的共享,主存空间的扩充。26虚拟存储器实现的原理:当作业要求运行时,不是将它的信息全部装入主存,而是把最近要用的那部分程序和数据装入内存,另一部分的程序和数据暂时留在外存之中,等到需要时再把它调入内存而把暂时不用的部分调出内存。27.分区存储管理基本思想:是把内存划分成若干个区,在每一个分区中按照连续分配方式分配给一道作业。分区的划分分两类:固定式分区,可变式分区。28.动态重定位:在移动了已分配分区时,要调整程序中的绝对地址,这种调整不是在程序执行前进行的,而是在程序执行过程中进行的,称为动态重定位。29.块:页式管理是把主存储器分成大小相同的区域,称为块。30.简单页式管理的特点:系统如能满足一个作业所要求的全部块数,此作业就能装入主存,否则不为它分配任何主存。31虚拟存储管理的基本思想:在作业投入运行时,至少把作业的第一页装入主存中,在作业执行过程中,访问到不在主存中得页时,再把它们调入到主存的空闲块中,暂时不用的页可以保存在外存中。32.页面调度算法有三种:先进先出算法,最近最久未用算法LRU,最近最少使用算法LFU.33.段表:由于作业的各段被装入主存的几个互不相干的区域中,系统需要记录下作业各段在主存中得位置,这就是段表。34.DOS:是一个用户单任务的操作系统,它不是一个面向多道程序系统的操作系统。35.86系列CPU的工作模式:实地址模式,保护模式,虚拟86模式。36标志:表示内存控制块是整个内存控制块链中的一块还是最后一块。37.内存块拥有者:表示本内存块是已分配的还是可用的内存块。38.内存块长度:以节为单位的内存块的大小,但不包括MCB本身的一节长度。39.程序名:从DOS4.0开始,在此字段中放有拥有该进程的程序的程序名。40.文件:是一个在逻辑上具有完整意义的一组相关信息的有序集合。41.文件系统的功能:1.实现文件从名字空间到外存地址空间的转换。2.管理文件的存储空间。3.建立文件的目录。4.实现对文件的控制操作和存取操作。5.实现文件的共享、保护和保密。42.文件的分类:1.按文件的性质和用途分系统文件、库文件、用户文件。按文件的保存期限分临时文件、永久文件、档案文件。按文件的保护级别分:执行文件、只读文件、读写文件、无保护文件。按文件的逻辑结构分:记录式文件、流式文件。按文件的物理结构分顺序文件、链接文件、索引文件。按文件的存取方式分顺序存取文件、随机存取文件。43文件的逻辑结构:用户是从使用的角度来组织文件,其目的是为使用者提供一种结构清晰、使用简便的逻辑组织,这种构造方式称之为文件的逻辑结构。文件的逻辑结构分为记录式的结构文件和流式的无结构文件。44.记录式文件:是逻辑记录的集合,记录是一个在逻辑上具有独立意义的信息单位。45.流式文件:是相关信息的有序集合,它是一个字符流。46.文件的存取方法有顺序存取和随机存取。47.顺序存取:按照文件的逻辑地址顺序进行的,每次存取都是在上次存取的基础上进行的。48.随机存取:允许用户以任意的次序读写文件。49.文件的物理结构:是指文件在外存储器上的存放方法,由文件的物理结构决定了文件信息在存储空间的存储位置。三种类型:连续结构、链接结构、索引结构。50.连续结构(顺序结构):是把逻辑上连续的文件信息存放到连续的物理块中,物理块顺序和逻辑顺序一致。具有这类结构的文件称为连续文件或顺序文件。51.链接结构:是把一个逻辑上连续的文件存放在不同的物理块中,每个物理块没有一个链接指针,指向其后继的物理块。这种结构的文件叫链接文件或串联文件。52.链接结构文件的优点:允许用户扩充或缩小文件,只要调整文件的链接指针就很容易插入或删除物理块。缺点:是一般只适宜顺序存取,为了得到后面块的信息,必须从开始读取前面所有的块,才能得到后面的块的存放地址。53.目录文件:文件控制块的集合就成了一个目录表,如果一个文件的内容就是文件目录表,则这样的文件被称为目录文件。54.文件目录按系统的大小分为一级目录结构,二级目录结构和多级目录结构。55.文件共享:是指不同的用户或进程共同使用一个文件。56.设备管理的功能:1.实现对外围设备的分配和回收,2.实现外围设备的启动,3.处理外围设备的中断事件,4.实现虚拟设备。57.外围设备与主机的信息交换方式一般可分为:查询方式,中断方式和直接内存存取DMA方式。58.缓冲:是内存中开辟的专门用于数据传输过程中暂存数据的区域。59.按资源分配的观点,设备可分为独占设备,共享设备和虚拟设备。60.独占设备:是指一个作业在整个执行期间都占用的设备。61.共享设备:是指可以由几个作业同时使用的设备,例如磁盘机。61.虚拟设备技术:为了提高独占设备的使用效率,可以采用虚拟设备技术,它是利用高速的直接存储设备来模拟低速的独占设备。使独占设备转化成逻辑上的共享设备,假脱机系统就是一种虚拟设备技术。62.设备控制表:系统为每一台设备设置了设备控制块,设备控制块的集合就是63.程序级接口:是由一组系统调用命令组成,所谓的系统调用命令就是操作系统所提供的一些字功能,用户可以在程序中调用它们。64.作业:是用户在一次算题过程中,或一次事务处理过程中,要求计算机系统所做工作的集合。65.作业控制级的用户接口分为联机接口和脱机接口。66.联机接口(交互方式接口):由一组操作命令所组成,用户在终端或控制台上输入操作命令,向系统提出要求。67.脱机接口(批处理方式接口):有一组作业控制命令所组成。68.作业管理的主要任务是作业调度和作业控制。69.一个作业从进入系统到执行结束,一般要经历进入、后备、执行、完成四个阶段。70.作业调度算法:是决定了何时挑选以及挑选哪一个后备作业进入执行状态。作业调度的主要任务:完成作业从后背状态到执行状态以及到完成状态的转换。70.常用的调度算法有:1.先来先服务算法,2.最短作业优先算法,3.最高响应比作业优先算法,4.最高优先数算法,5.均衡调度算法。71.最短作业优先算法:该算法选择估计运行时间最短的作业优先执行。它的不公平之处:由于系统是不断地接受新的作业进入输入井,如果新进入的作业的估计的计算时间都比较短,那么对一些计算时间长的作业来说,即使它是很早就进入输入井了,也可能等待太长的时间。71.操作系统的命令大致分为:操作访问命令,编辑命令,文件类命令,调试类命令。72.菜单:是把用户当前使用的一切命令全都显示在屏幕上,以供用户按需选择。73.常用的菜单有全屏幕菜单,条形菜单,下拉菜单,弹出式菜单,图标菜单。第四章1.数据库技术的发展分三个阶段:1.人工管理阶段,2.文件系统阶段。3数据库阶段。2.文件系统的缺点:1.文件系统数据的冗余度大,2.数据和程序之间缺乏独立性。3.数据库系统的特点:1.采用复杂的结构化的数据模型,2.最低的冗余度,3.有较高的数据独立性,4.保证数据的完整性,安全性和并发性。4.数据库:是为一个特点组织从多种应用服务的数据集合,具有尽可能小的数据冗余和较高的数据独立性。5.数据库管理系统(DBMS):为了保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中得数据,同时使数据在统一的控制下位尽可能多的应用服务,这个软件就是 数据库管理系统。6数据库系统:是由计算机系统、数据库、数据库管理系统、应用程序集合和数据库管理员组成。7.数据库的三级结构:用户逻辑结构,数据的整体逻辑结构和物理存储结构。它们分别被定义为外模式、概念模式和内模式。数据库也相应地分作三种级别:用户级、概念级、物理级。8.用户视图:用户数据库对应于外模式,是某个用户所看到并获准使用的那部分数据的逻辑结构,称为用户模式。外模式:又称子模式,是由用户视图中各种记录类型的相应定义所组成的,是用户允许使用的那部分数据的逻辑结构。9.全局视图:概念级数据库对应于概念模式,是对数据库中全体数据的整体结构的描述,是所有用户的公共数据视图,因此称为全局视图。概念模式:简称模式,是对数据库的整体逻辑结构和特征的描述,它与具体的应用程序以及使用的程序设计语言无关,它除了定义数据的逻辑结构以外,还要定义与数据有关的安全性、完整性要求。10.存储视图(内视图):物理级数据库对应于内模式,是最接近物理存储的一层,称为存储视图。内模式:又称存储模式,它要定义所有数据的物理结构和存储方式。11.实体:是客观存在的实物。表征某一类实体的属性之集合称为实体型。12.记录:每一个实体所对应的数据在数据世界中称为记录,它用来描述一个实体,是相对应于这一实体的数据。13.数据项:对应于信息世界中的属性,在数据世界中被称为字段,也称数据项。14.记录的关键字(文件的关键字):在文件中能唯一地标示文件中每个记录的字段或字段集被称为文件的关键字。也叫15.实体集之间的联系有三类:一对一的联系、一对多的联系和多对多的联系。16.数据模型:是实体模型的数据化,是信息世界的实体模型在数据世界中的反映,是对现实世界的抽象。数据模型有以下三种:16.层次模型:是用树型结构来表示实体间的联系,它把现实世界中实体集间的联系抽象为一个严格的自上而下的层次关系。特点和条件:1.有且只有一个结点无双亲,这个结点就是树的根结点。2.其他结点有且只有一个双亲。17.网状模型:是用记录型之间的网状结构来表示实体间的联系。特点:1.允许有一个以上的结点无双亲,2.一个结点允许有多个双亲。18.关系模型:是与格式化模型完全不同的模型,它是用二维表格的形式结构表示实体本身及其实体间的联系。特点:实体本身和实体之间的联系均用关系来描述,或者通过关系之间的连接运算来建立联系。19.关系:是用二维表格的形式结构来表示实体类型及其实体间的联系。关系中的性质:关系中每一列的数据来自于同一个域,这是因为列中是关系的属性值,每一个属性都已规定了它的取值的范围,因此同一列的属性值是来自于同一个域,关系中的列的次序的交换不影响关系的实际含义,同样地,关系中的行的次序的交换不影响关系的实际含义。20.关系代数的运算可分为两类:一类是传统的集合运算:并,差、交和笛卡尔积等,一类是特殊的集合运算:投影、选择、连接等。21.投影(运算):是对一个关系在列的方向上进行选择,消去关系中的某些列,并按要求重新排列的次序。22.选择(运算):是对一个关系在行的方向上进行选择,它把符合某个条件的元组选择出来,重构了一个原关系的子集。23.连接运算:是从两个关系R和S的笛卡尔积中选择属性间满足一定条件的元组。24.字段名:是用户给每个字段所取的名字。25.字段类型主要有以下几种:1.字符型C,2.数值型N,3.浮点型F,4.日期型D,5.逻辑型L,6.备注型M。26.排序:是按照关键字的递增或递减的次序把记录排列成一个有序序列。27.(数据库)工作区:就是在内存中开辟一个缓冲区,用于存放被操作的数据文件。28.并(RUS):设有两个关系R和S,定义R和S的并是由属于R或属于S的元组组成的集合。29.差(R-S):设有两个关系R和S,定义R和S的差是由属于R或属于S的元组组成的集合。30. 关系R与S的自然连接RS:关系R和关系S有相同的属性名BC,对它们进行属性值相同的等值连接,按照等值连接的方法,得到的等值连接关系中属性B和C是重复的属性,把重复的属性去掉以后所得到的就是自然连接,记作RS31. For表达式和while表达式的区别:For表达式是从第一个记录开始顺序读出整个文件,查找使逻辑表达式为真的全部记录。while表达式是从数据库的指针所指的记录开始查找,看其是否满足逻辑表达式的条件。32,索引与排序的不同:索引并不建立一个新的数据库。它只是建立一种“数据信息表格“,该“数据信息表格“告诉FoxPro在以某种顺序进行索引时,记录之间的顺序是怎么样的。第五章1.软件工程原理:1.严格按照计划进行处理,2.坚持进行阶段评审,3.实行严格的产品控制,4.采用现代化的程序设计技术,5.结果要能清晰地审查,6.开发小组成员的素质要好,数量却不宜多,7.要承认不断改善软件工程实践的必要性。2.软件系统的生命期分五个阶段:分析,设计,编写,测试,运行。3,分析阶段的基本任务:理解用户的要求,对用户要求进行可行性分析,估价系统的投资和收益,并将用户要求完整准确地书面表达出来。4.设计阶段的任务:在系统说明书的基础上建立软件系统的结构,包括模块结构和数据结构。5.编写阶段的任务:是按照模块说明书的要求为每个模块编写程序。6.测试阶段的任务:是发现并排除各种类型的错误,它通常又可分为模块测试、联合测试、验收等几步。7.运行阶段的任务:对软件进行维护,继续排错、修改和扩充,而且工作量较大。8.常用的原型有三种形态:纸上原型,工作原型,现有程序。9.软件工程学得最终目的:以较少的投资获得高质量的软件。达到这个目的的途径是:研究软件方法和软件工具。10.软件方法:是指导研制软件的某种规范,它告诉人们“什么时候做什么以及怎么做”。一个软件方法往往规定了:明确的工作步骤,具体的文档格式,确定的评价标准。11.软件工具:是在软件开发和维护中使用的软件系统,它可以用来实现软件研制过程的自动化,提高软件的劳动生产率和可靠性,降低软件生产成本。、12.大型软件系统使用的软件工具:需求分析工具,设计工具,编码工具,确认工具,维护工具。13.软件分析:是软件开发的第一阶段,它的任务是:用户和软件人员双方一起来充分的理解用户的要求,并把共同的理解明确的表达成一份书面资料系统说明书。这个阶段分三个步骤:问题定义,可行性研究,需求分析。14.系统说明书主要有三个作用:1.作为用户和软件人员之间的合同,为双方相互了解提供基础。2.反映出问题的结构,可以作为软件人员进行设计和编写的基础。3.作为验收的依据,即作为选取测试用例和进行形式验证的依据。14.SA方法获得的系统说明书有以下几部分组成:一套分层的数据流图,一本数据字典,一组小说明,补充材料。15.数据流图有四种基本元素组成:数据流,加工,文件,数据流的源点和终点。16.画数据流图的步骤:1.画系统的输入输出,2.画系统的内部,3.画加工的内部,标记数据流和加工。17.分层数据流图的优点:1.分层数据流图适合于由顶向下的分析方式,由此建立的系统说明书也可由顶向下的阅读。2.页与页之间没有联系线,即数据流在页外消失。3.所有的图都可以画在一张大小适中的纸上。18.描绘分层数据流图按照由顶向下的原则进行,注意事项:1.确定父子关系,2.给子图和加工编号,3。检查父图和子图的平衡,4。检查局部文件,5.掌握适当的分解程度,6,确定底层。19.平衡:是指子图的所有输入数据流必须是父图中相应加工的输入,子图的所有输出数据流必须是父图中相应加工的输出。20.什么时候画或不画文件,其原则:当文件被用作数据流图中某些加工之间的交界面时,这个文件就必须作为数据流图中的一个独立 成分画出来,并画出每个加工是读还是写这个文件。21画数据流图可能发生的错误:1.遗漏或多余的数据流和加工,2.容易产生误解的名字和编号,3.不正确的分层,4.包含控制流,5.错误的概念。22.以下几个方面检查数据流图的正确性:1.检查数据流和加工的名字,2.检查数据是否守恒,3.检查对文件的使用,4.排除错误的概念。22.数据守恒:是指一个加工的输出数据流仅由它的输入数据流确定,22.数据不守恒的情况有两种:1.一个加工用以产生输出的数据并没有从输入得来,这时可能是某些数据流被遗漏了,2.是一个加工的某些输入并没有被使用。23.数据词典中有四种类型的条目:数据流,文件,数据项,加工。23.数据流图优点:具有直观、容易理解的优点,容易被一组人同时进行审查,如果图中有错误,也容易被人们发现。24.软件工程学:是采用工程的概念、原理、技术和方法来研制和维护软件的方法体系。25.软件生命周期(瀑布模式):软件工程学从时间角度对软件开发和维护这个复杂问题进行分解,把软件系统生存的漫长周期分为若干个阶段,给个阶段都有确定的任务,并产生一定规格的文档交送给下一个阶段,下一个阶段在前阶段提供的文档的基础上继续开展工作,这种软件工程应用模式叫做软件生命周期。26PSL/PSA系统的优点:改进了文档质量,能保证文档具有完整性,一致性,无二性,从而可以减少管理和维护费用。缺点:由于包含许多分析员不熟悉的定义规则,增加了使用上的困难。2.引入一些在分析阶段明显不合适的术语和概念,3.加工之间的界面态复杂,4.软件价格和用户培训费用过高。27.SA方法(结构分析法)的基本思想:将一个大型复杂的系统逐层分解成许多个足够简单的基本加工,然后分别理解每个基本加工,并为每个基本加工详尽地写下小说明,再将所有这些小说明组织起来就得到了整个系统的说明书。28.除了自然语言之外,SA方法常用的方式还有:结构化语言,判定表,判定树等。29.内层语法的特点:只有祈使语句一种语态,它明确的表达出做什么,而且每一个句子都是简单句,只有一个谓语动词。30.结构化语言:是介于自然语言和形式语言之间的一种半形式语言。31.判定树:本质上同判定表一样,是一种为了解决加工中的组合判定问题而采用的描述方式。32.对象的抽象有以下几种方法:类化,一般化和继承,集约化,组合化。33.类化:就是把在结构上和操作上具有共同性质的对象集中起来当作一个对象看待,这个对象即称为类。34.一般化和继承:一般化的思想是将注意力集中在若干个类普遍具有的共同性质上,只保留它们的共同点,忽略它们在其他方面的不同点,由此而定义出一个更加一般化的类来。35.集约化:当一个对象是由其他若干个对象构成时,则称这个对象是通过那些对象的集约化而定义的。25.组合化:把满足某些规则的对象组合起来,将该组本身看作一个对象而忽略各个组成部分的细节,这就是组合化。36.结构图中的主要成分:模块,调用,数据。37.SA方法分两步进行:1.建立一个满足系统说明书要求的初始结构图,2.对结构图作逐步改进,以提高块内联系和减少块间联系。38.画结构图的一般习惯:输入模块在左,输出模块在右,而计算模块居中。39.块间联系的类型有五种,由低到高依次排列:数据连接,特征连接,控制连接,公共连接,内容连接。40.块内联系有六种类型,强弱依次排列:功能性,顺序性,通信性,瞬时性,逻辑性,偶然性。41.SD方法的步骤:先建立符合系统说明书要求的初始结构图,在从块间联系和块内联系这两个角度对结构图作逐步改进。42.根据数据变换性质,将数据流图分为两类:变换型结构和事务型结构。43.变换型结构的特点:不管其形式多么复杂,最终总是可以分成输入、主加工和输出三部分。44.事务型结构的特点:是一个数据流需要同时进行多种形式的加工,或者依据输入数据流的属性,选择某一加工路径。45.使用变换分析技术过程分三步:1.找出主加工,逻辑输入和逻辑输出,2.设计模块结构的顶层和第一层,3.设计中,下层模块。46,软件测试:“测试”是假定程序中存在错误,因而想通过执行这个程序来发现尽可能多的错误,软件测试的规则,也可以看作定义或目标:1.测试是为了发现程序中的错误而去执行程序的过程,2.好的测试用例是极可能发现至今为止尚未发现的错误的测试用例,3.成功的测试是为了发现至今为止尚未发现的错误的测试。47.设计测试用例的方法:黑盒法和白盒法。48.白盒法:有称逻辑覆盖法,白盒法的前提是可以把程序看成是装在一个透明的白盒子里,即完全了解程序的结构和处理过程,并以此为基础设计测试用例,检验程序中每条路径是否能按照预定要求正确工作。49.常用的覆盖标准:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖。50.黑盒法:是把程序看成是一个黑盒子,即完全不考虑程序的内部结构和处理过程,只检查程序的功能是否能按照 规格说明正常使用,程序是否能适当地接收输入数据,产生正确的输出信息,并保持外部信息的完整性。51.黑盒法有以下几种:等价分类法,边界值分析法,因果图法,错误推测法。52.测试过程可分为三个步骤:模块测试,联合测试,验收。53.模块测试:我们一开始不是测试整个 程序,而是首先测试较小的单元,例如一个个模块,这就是模块测试。54.联合测试:是把各模块连接起来进行测试,测试的依据是模块说明书,这一步的目标是发现设计阶段犯的错误。55,验收(测试):是把软件系统当作单一实体进行的测试,通常有用户来检查系统是否符合他们的期望,而且主要使用实际数据进行测试。56.先进行模块测试的优点:1.易于排错,在发现错误时,我们知道其根源就在这个模块中。2.使测试工作可以并行进行,因为几个测试人员可以同时测试不同的模块。57.检验模块的正确性从五个方面设计测试用例:模块接口,局部数据结构,重要的执行路径,出错处理路径,边界条件。58.决定模块测试顺序的基本原则:1.被测模块的调用模块中至少有一个已经测试过了,2.尽早测试关键的模块。3.尽早测试包含输入输出操作的模块。59.软件维护的内容分四种不同类型:改正性维护,适应性维护,完善性维护,预防性维护。60.语句覆盖:为了暴露程序中的错误,应该在测试中执行程序中的每一个语句。语句覆盖的含义是:选择足够多的测试用例,使得程序中每个语句都能执行一次。61.判定覆盖:又称分支覆盖,它的含义是:选择足够的测试用例,使得每个判定的每一个可能的结构都至少执行一次,换句话说使得程序中的每一个分支都至少通过一次。62.条件覆盖:含义是:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。63.改正性维护:因为软件测试不可能暴露出一个软件系统中隐藏着的所有错误,所以在使用期间用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。我们把诊断和改正错误的过程称为改正性维护。64.适应性维护:计算机的发展日新月异,大约每隔一年多就有新型的硬件出现,同时,外部设备和其他部件也要经常改进,另外,应用软件的使用寿命一般都较长,甚至超过了其运行环境的寿命。为了适应新的变化而进行的修改活动,称为适应性维护。65.完善性维护:在使用软件过程中,用户往往提出增加新功能,修改已有功能,以及一般性的改进要求和提出建议等,为了满足这类需求,需要进行完善性维护。66.预防性维护:为了改进软件未来的易维护性和可靠性,或者为了给未来的改进提供更好的基础而对软件进行的修改,称为预防性维护。67.非渐增式:先独立的测试每个模块,然后将所有这些模块连接到一起运行。68.渐增式:是在已测试过的N个模块的基础上再增加一个模块,再对N+1个模块进行测试,这种每次增加一个模块的方式称为渐增式。69.块间联系的大小从三个角度衡量:1.方式:块间联系是通过怎样的方式进行的,2.作用:块间公用的信息是作什么用的,3.数量:块间共用信息的多少。选择题一、 单项选择题1. 软件是( )。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 2. 软件需求规格说明的内容不应包括( )。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 3. 程序的三种基本控制结构是( )。 A. 过程、子程序和分程序