




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机软件基础知识 软件基础第1页,共50页。算法算法的基本概念算法:是一组有穷指令集,是解题方案的准确而完整的描述。通俗地说,算法就是计算机解题的过程。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。算法不等于程序,程序不可能优于算法。基本特性可行性:根据实际问题设计的算法,执行得到满意结果确定性:每一步骤必须有明确定义,不允许有多义性。有穷性:算法必须能在有限的时间内做完。输入和输出:拥有足够的情报,方可执行。第2页,共50页。算法的基本要素1.对数据对象的运算和操
2、作算术运算:、等逻辑运算:、=、=、!=等关系运算:and、or、not等数据传输:w、r等2.算法的控制结构算法中各操作之间的执行顺序描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等算法可以用顺序、选择、循环三种基本机构组合而成。第3页,共50页。算法基本设计方法(1)列举法:根据问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。(2)归纳法:通过列举少量的特殊情况,经过分析,最后找出一般的关系。(3)递推:是指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。(4)递归:将问题逐层分解的过程。(5)减半递推技术: “减半”,是指将问
3、题规模减半,而问题性质不变; “递推”,是指重复“减半”过程。(6)回溯法:分析问题,找出一个解决总线索,然后沿着这个线索逐步试探。第4页,共50页。算法效率度量算法的复杂度算法的复杂度:时间复杂度、空间复杂度算法的时间复杂度算法时间复杂度是指执行算法所需要的计算工作量。工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即 算法的工作量=f(n)算法空间复杂度算法空间复杂度是指执行这个算法所需要的内存空间。存储空间包括:算法程序所占的空间、 输入数据所占的空间、算法执行过程中所需要的额外空间第5页,共50页。数据结构基本概念能输入到计算机中并能被计算机程序处理
4、的符号的集合。整数(1,2)、实数(1.1,1.2)字符串(Beijing)、图形、声音。 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第6页,共50页。数据结构基本概念计算机管理图书问题 图书馆里有各种卡片:有按书名编排的、有按作者编排的、有按分类编排。 如何将查询图书的这些信息存入计算机中既要考虑查询时间短,又要考虑节省空间 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第7页,共50页。数据结构基本概念 最简单的办法之一是建立一张表,每一本书的信息在表中占一行,如 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第8页,共50页。数据结构基本概念 如何将0,
5、1,2,3,4,5,6,7,8,9这10个数存放在计算机中能最快地达到你所需要的目的? 目的不同,最佳的存储方方法就不同。 从大到小排列:9,8,7,6,5,4,3,2,1,0输出偶数:0,2,4,6,8,1,3,5,7,9 数据元素在计算机中的表示 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第9页,共50页。数据结构基本概念对数据结构中的节点进行操作处理(插入、删除、修改、查找、排序) 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第10页,共50页。数据结构研究的主要内容 数据结构主要研究以下三个方面的问题:数据的逻辑结构:数据集合中各元素的信息,及元素之间所固有的
6、逻辑关系(前后件关系)数据的存储结构:各数据元素在计算机中的存储关系对各种数据结构进行的运算 主要目的是为了提高数据的效率。所谓提高数据处理的效率,主要包括两个方面:一是提高数据处理的速度,二是尽量节省在数据处理过程中所占用的计算机存储空间。第11页,共50页。数据结构类型 1数据的逻辑结构 2、数据的存储结构 3、数据的运算:检索、排序、插入、删除、修改等。 A线性结构 B非线性结构A 顺序存储 B 链式存储 线性表栈队树形结构图形结构数据结构的三个方面 第12页,共50页。线性结构和非线性结构 线性结构条件(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。(3)首
7、节点无前件,尾节点无后件。 非线性结构:不满足线性结构条件的数据结构注意:在一个线性结构中插入或删除任何一个节点后还应是线性结构;否则,不能称为线性结构。学 生 成 绩 表86胡孝臣986110395刘忠赏9861107100张卓9861109成绩姓名学号第13页,共50页。树形结构全校学生档案管理的树形结构的组织方式非线性结构 树形结构第14页,共50页。树形结构ABCDEFGH树形结构 结点间具有分层次的连接关系HBCDEFGA第15页,共50页。图形结构 图形结构:节点间的连接任意1423 D= 1 , 2 , 3 , 4 R=(1,2) , (1,3) , (1,4) , (2,3)
8、(3,4) , (2,4) 无向图213 D= 1 , 2 , 3 R= (1,2) , (2,3) , (3,2) , (1,3) 有向图第16页,共50页。顺序存储与链式存储Lo+(n-1)*m元素n.元素i.元素2元素1LoLo+mLo+(i-1)*m存储地址存储内容Loc(a)=Lo+(i-1)*m每个元素所占用的存储单元个数 顺序存储常用于线性数据结构,将逻辑上相邻的数据元素存储在物理上相邻的存储单元里。三个弱点插入或删除操作时,需移动大量元数。长度变化较大时,需按最大空间分配。表的容量难以扩充第17页,共50页。顺序存储与链式存储 1346 元素3 1536 . . . 1536
9、元素2 1400 . . . 元素4 1346 1400 元素1 1345 指针 存储内容存储地址1536元素21400元素11346元素3 元素4head1345链式存储的地址映射表第18页,共50页。栈和队列 栈和队列是两种运算时要受到某些特殊限制的线性表,故也称为限定性的数据结构。栈:限定只能在表的一端进行插入和删除的特殊的线性表,此种结构称为后进先出。设栈s=(a1,a2,,ai,an)其中a1是栈底元素, an是栈顶元素。栈顶(top):允许插入和删除的一端;约定top始终指向新数据元素将存放的位置。栈底(bottom):不允许插入和删除的一端。 a1 a2 . an进栈出栈栈顶栈底
10、第19页,共50页。栈和队列队列的主要运算设置一个空队列;插入一个新的队尾(rear)元素,称为进队;删除队头(front)元素,称为出队;读取队头元素; a1 , a2 , a3 , a4 , an-1 , an队头队尾队列:限定只能在表的一端进行插入,在表的另一端进行删除的线性表。此种结构称为先进先出(FIFO)表。第20页,共50页。栈和队列 3 2 1 0 (a)rear=front=0(队空) e3 e4 (c)e1,e2出队,e4入队rear =4front e1 e2 e3 (b)rearfront(b)e1,e2,e3入队队列的主要运算队空时,令rear=front=0; 元素
11、个数rear-front当有新元素入队时,尾指针加1,当有元素出队时,头指针加1。故在非空队列中,头指针始终指向队头元素前一个位置,而尾指针始终指向队尾元素的位置第21页,共50页。栈和队列计算循环队列长度: front=rear,队列长度0; frontrear,队列长度rear+size -front a1 , a2 , a3 , a4 , an-1 , an队头队尾循环队列:首尾相接的队列,逻辑上形成一个环状。第22页,共50页。树与二叉树树的定义:由一个或多个结点组成的有限集合。仅有一个根结点,结点间有明显的层次结构关系。 A C G T2D H I T3J M B E L KT1 F
12、 现实世界中,能用树的结构表示:学校的行政关系、书的层次结构、人类的家族血缘关系等。第23页,共50页。树与二叉树树的基本概念:结点(Node):树中的元素结点的度(Degree):结点拥有的子树数。结点的层次:从根结点开始算起,根为第一层。叶子(Leaf):度为零的结点,也称端结点。孩子(Child):结点子树的根称为该结点的孩子结点。兄弟(Sibling):同一双亲的孩子。双亲(Parent):孩子结点的上层结点,称为其的双亲。深度(Depth): 树中结点的最大层次数。森林(Forest):M棵互不相交的树的集合。 A C G T2D H I T3J M B E L KT1 F第24页,
13、共50页。树与二叉树二叉树(Binary Tree)的定义二叉树的五种基本形态二叉树一种特殊的树型结构,特点是树中每个结点只有两棵子树,且子树有左右之分,次序不能颠倒。 空二叉树 仅有根结点 右子树为空 左子树为空左右子树均非空因为树的每个结点的度不同,存储困难,使对树的处理算法很复杂。所以引出二叉树的理论。第25页,共50页。满二叉树423167891011121314155 特点:所有分支结点都存在左右子树,且所有叶子结点都在同一层上。第26页,共50页。完全二叉树4231678910 11125 非完全二叉树4231678910 11125 完全二叉树 特点:除最后一层外,每一层都取最大
14、结点数,最后一层结点都集中在该层最左边的若干位置。第27页,共50页。二叉树的基本性质A、二叉树的第i层上至多有2i-1(i 1)个结点。B、深度为h的二叉树中至多含有2h-1个结点。C、若在任意一棵二叉树中,有n0个叶子结点(度为0),有n2个度为2的结点,则:n0=n2+1D、具有n个结点的完全二叉树的深度为log2n+1,其中 log2n表示log2n 的整数部分。423167891011121314155第三层 (i=3),有23-1=4个节点深度h=4,共有24-1=15个节点n0=8,n2=7,n0=n2+115个节点,深度=log215+1=4第28页,共50页。二叉树的遍历 遍
15、历是指按某条搜索路线寻访树中每个结点,且每个结点只被访问一次。按先左后右的原则,一般使用三种遍历: 先序遍历(D L R): 访问根结点,按先序遍历左子树,按先序遍历右子树。 中序遍历(L D R): 按中序遍历左子树,访问根结点,按中序遍历右子树。 后序遍历(L R D): 按后序遍历左子树,按后序遍历右子树,访问根结点。 二叉树为空时,执行空操作,即空二叉树已遍历完。第29页,共50页。二叉树的遍历先序遍历:D L R中序遍历:L D R后序遍历:L R DADBCT1T2T3D L RAD L RD L RBDCD L R以先序遍历D L R为例演示遍历过程 ABDCBDAC DBCA第
16、30页,共50页。软件工程基本概念软件的定义 软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分。软件包括三个部分:程序(program)、相关数据(data)、说明文档(document)。软件的特点软件是一种逻辑实体,不是物理实体,具有抽象性。软件没有明显的制造过程。软件在使用过程中,没有磨损、老化问题软件依赖与硬件和环境,导致了移植问题软件是复杂的,而且以后会更复杂软件的成本相当昂贵软件工作牵涉到很多社会因素第31页,共50页。软件工程基本概念软件危机 早期的软件主要指程序,采用个体工作方式,缺少相关文档,质量低,维护困难,这些问题称为“软件危机”,软件工
17、程概念的出现源自于软件危机。软件工程 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本。软件工程基本目标 在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。第32页,共50页。结构化分析方法结构化分析方法 结构化程序设计理论在软件需求分析阶段的运用,其目的是帮助弄清用户对软件的需求。常用工具数据流图、数据字典、判定树、判定表开发策略自顶向下,逐层分解第33页,共50页。结构化分析方法数据流图(DFD):以图形
18、的方式描绘数据在系统中流动和处理的过程,它反映了系统必须完成的逻辑功能,是结构化分析方法中用于表示系统逻辑模型的一种工具。 加工存储文件源、潭数据流加工(转换):输入数据经加工变换产生输出。数据流:沿箭头方向传送数据的通道,旁边标注数据流名。存储文件(数据源):表示处理过程中存放各种数据的文件。源、潭:表示系统和环境的接口,属系统之外的实体。第34页,共50页。结构化分析方法数据字典(DD):对所有与系统相关的数据元素的一个有组织的列表,其作用是对数据流图中出现的被命名的图形元素的确切解释 。数据字典常包括5个部分:数据项、数据结构、数据流、数据存储、数据处理。数据字典是结构化分析方法的核心
19、判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。 判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。第35页,共50页。结构化设计方法需求分析主要解决“做什么”的问题,而软件设计主要解决“怎么做”的问题。 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义。接口设计:描述软
20、件内部、软件和协作系统之间以及软件与人之间如何通信。过程设计:把系统结构部件转换成软件的过程性描述 第36页,共50页。结构化设计方法软件设计基本原理:抽象、模块化、信息隐蔽和模块独立性。抽象:抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。模块化:解决一个复杂问题时自顶向下逐步把软件系统划分成较小的、相对独立但又不相互关联的模块的过程。信息隐蔽:模块的实施细节对于其他模块来说是隐蔽的。模块独立性:软件系统中每个模块只涉及软件要求的具体的子功能,和软件系统中其他模块的接口是简单的。模块独立性指标:耦合性和内聚性模块划分原则是:高内聚度,低耦合度第37页,共50页。结构化设
21、计方法一般模块控制信息数据信息总体设计(概要设计)基本任务1)设计软件系统结构2)数据结构及数据库设计3)编写概要设计文档4)概要设计文档评审软件结构设计工具结构图(程序结构图)程序结构图的基本图符矩形表示模块,箭头表示模块间的调用关系用带注释的箭头表示模块调用过程中来回传递的信息 实心圆箭头表示控制信息,空心圆箭头表示数据信息 第38页,共50页。软件测试目的、意义、人员通过合理的设计测试用例以最少的人力和时间发现潜在的各种错误和缺陷保证系统质量(满足需求规格)和可靠性由开发人员、用户一起完成 测试基本方法人工测试(静态测试):评审软件文档或程序,包括代码检查、静态结构分析、代码质量度量。不
22、实际运行软件,主要通过人工进行。机器测试(动态测试):通过运行软件,来检验结果的正确性。主要包括白盒测试方法和黑盒测试方法。 第39页,共50页。白盒测试白盒测试(结构测试、逻辑驱动测试)将软件看成透明的白盒,根据程序的内部结构和逻辑结构来设计测试例子,对程序的路径和过程进行测试,检查是否满足设计的要求白盒测试基本原则保证所测模块中每一独立路径至少执行一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。 第40页,共50页。黑盒测试黑盒测试(功能测试)将软件看成黑盒子,不考虑程序内部细节、结构和实现方式,仅
23、仅测试软件的基本功能是否满足需要。黑盒测试主要用于软件的确认测试。根据程序的功能说明来设计测试用例,基本设计方法有等价类划分法:典型黑盒测试方法,将程序的所有可能的输入数据划分成若干部分(及若干等价类),然后从每个等价类中选取数据作为测试用例。边界值分析法:它是对各种输入、输出范围的边界情况设计测试用例的方法。错误推测法:人们可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的用例。 第41页,共50页。软件的调试基本任务根据测试时发现的错误,找出其原因和具体的位置,进行相应地更改。在开放阶段,由开发人员来进行,谁开发的程序就由谁来进行调试。基本步骤错误定位、 错误纠
24、正、 回归测试,防止引入新的错误软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。 第42页,共50页。数据库设计基础 数据、信息与数据处理数据:存储在某种媒体上的用来描述事物的能够识别的物理符号。如文字、数字、图形、声音、视频等。信息:一种已经被加工为特定形式的数据。对人们而言是可理解、可用于指导决策的数据。数据处理:对数据进行收集、组织、存储、加工和传播等工作。是将数据转换为信息的过程,如“数据挖掘”。三者之间的关系:数据是信息的载体和具体表现形式信息不随着数据形式的变化而变化 信息数据数据处理第43页,共50页。计算机数据管理的发展 计算机数据管理数据处理中最重要的问题就是数据管理,包括如何对数据分类、组织、编码、存储、检索和维护。随着计算机软、硬件的不断升级,数据管理经历了以下几个阶段:数据库管理文件系统人工管理独立性越来越高,使用越来越方便,技术越来越复杂第44页,共50页。数据库系统DBS:以数据库应用为基础的计算机系统数据库数据库管理系统硬件系统数据库管理员(DBA)组成用户第45页,共50页。数据库系统 数据库相关概念数据库(DB):指存储在计算机内、有组织、可共享的数据集合。它不仅包括数据本身,而且包括相关数据之间的联系。数据库管理系统(DBMS):一种系统软件,用于数据库的建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋装修装饰合同
- 公司股权激励合同书
- 买方土地居间合同
- 三农资源整合利用与优化方案设计
- 大门柱瓷砖施工方案
- 邯郸防爆墙施工方案
- DB3709T 038-2025 泰山茶 山地低产茶园提升改造技术规程
- 充电施工方案
- 钢管脚手架搭拆施工方案
- 寿光市圣发育苗厂生态养殖科普基地项目生态影响类报告表
- 高中语文(统编版)选必下册全册单元教材解读课件
- 医院软式内镜清洗消毒技术规范
- 2024年中央空调市场占有率分析:中央空调国产品牌市场占有率上升至52.57%
- 2024年电力交易员(中级工)职业鉴定理论考试题库-下(多选、判断题)
- 2024年江苏广播电视局事业单位笔试真题
- 轮胎英语词汇
- 按摩技师签订劳动合同注意事项
- 项目保证金协议书范本
- 2022-8口腔质控督查表(培训用)
- TD/T 1054-2018 土地整治术语(正式版)
- JT-GQB-015-1998公路桥涵标准钢筋混凝土圆管涵洞
评论
0/150
提交评论