一.算法的基本概念:
1.算法:是指解题方案的准确而完整的描述。
(1)算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。程序也可以作为算法的一种描述,但程序通常还要考虑程序运行时的环境限制等。
(2)算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
2.基本特征:
(1)可行性。
(2)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;例在特殊情况时,数学公式是正确的,但计算机就是无法操作。
(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义。例如1/3的无理数问题。
3.算法的时间复杂度:
指执行算法所需要的计算工作量,可以执行算法的过程中所需要的基本运算的执行次数来度量。分析算法工作量的方法有:平均性态分析、最坏情况分析。
4.算法的空间复杂度:
指执行这个算法所需要的内存空间。主要包括:算法程序所占的空间;输入的初始数据所占的空间;算法执行过程中所需要的额外空间。
二、软件工程基本概念
1.计算机软件:
包括程序、数据及相关文档的完整集合。是计算机系统中与硬件相互依存的部分。软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。
2.软件危机:
(1)软件危机主要表现在成本、质量、生产率等问题。
(2)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则,软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。
(3)软件工程包括三个要素,即方法、工具和过程。
3.软件生命周期:
通常指软件产品从提出、实现、使用、维护到停止使用(退役)的过程称。
4.软件生命周期分:
软件定义、软件开发及软件运行维护三个阶段。
5.软件生命周期活动阶段:
①可行性研究与计划制定;②需求分析;③软件设计;④软件实现;⑤软件测试;⑥运行和维护。
笔记:软件是程序、数据与相关文档的集合。
软件=程序+数据+相关文档。
软件危机:
(1)经费预算经常突破,完成时间一再拖延。
(2)开发的软件不能满足用户要求。
(3)开发的软件可维护性差。
(4)开发的软件可靠性差。
(5)软件开发费用不断增加。
(6)软件开发生产效率低下。
三、数据库的基本概念:
1.数据库的基本概念
(1)数据:实际上就是描述事物的符号记录。数据的特点:有一定的结构,有型与值之分,如整型、实型、字符型等。而数据的值给出了符合给定型的值,如整型值15。
(2)数据库(DataBase,简称为DB):是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序共享。数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。数据库技术的根本目标是要解决数据的共享问题。
2.数据库系统(DataBaseSystem,简称为DBS)由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成。
(1)数据库管理系统提供以下的数据语言:
①数据定义语言(DDL):负责数据的模式定义与数据的物理存取构建;
②数据操纵语言:负责数据的操纵,如查询与增加、删除、修改等;
③数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。
(2)数据库系统的特点:
①数据的集成性;
②数据高共享性与低冗余性;
③数据独立性:数据独立性是数据与程序之间互不依赖,也就是数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。
3.据库管理系统(DataBaseManagementSystem,简称为DBMS)是系统软件,负责对数据库的数据组织、数据操纵、数据维护、控制及保护和数据服务等。数据库管理系统是数据库系统的核心。
4.数据管理经历了人工管理、文件系统、数据库系统三个阶段。
5.数据独立性:
(1)物理独立性:数据的物理结构(如存储设备更换、物理存储方式)的改变,不影响数据库的逻辑结构,也不引起应用程序的变化。
(2)逻辑独立性:数据库整体逻辑结构(如修改数据、增加新数据类型、改变数据间联系等)改变,不需要修改应用程序。
6、数据库系统在其内部具有三级模式:概念模式、内部模式与外部模式。
(1)概念模式:它是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)的公共数据视图。概念模式主要描述数据的概念记录类型以及它们之间的关系,它还包括一些数据间的语义约束,对它的描述可用DBMS中的DDL语言定义。
(2)内部模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理特性主要体现在操作系统及文件级上,它还未深入到设备级(如磁盘及磁盘操作)上。DBMS一般提供相关的内模式描述语言(内模式DDL)。
(3)外部模式:也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。在一般的DBMS中都提供相关的外模式描述语言(外模式DDL)。
7.数据库系统的两级映射:
(1)数据的物理独立性:当数据库的存储结构发生变化时,通过修改“概念模式到内部模式的映射”,使得数据库的概念模式不变,其外模式不变,应用程序不用修改,保证了数据的物理独立性。
(2)数据的逻辑独立性:当概念模式发生变化时,通过修改“外部模式到概念模式的映射”,使得用户所用的外模式不变,从而应用程序也不用修改,保证了数据的逻辑独立性。
笔记:
数据库管理系统是运行在操作系统之上的支撑软件,是数据库系统的核心。
人工管理阶段无共享,冗余度大;文件管理阶段共享性差,冗余度大;数据库系统管理阶段共享性大,冗余度小。
数据库技术的根本目的是要解决数据的共享问题。
数据库管理系统是数据库系统的核心。
数据库系统需要操作系统的支持。
数据库管理系统中负责数据模式定义的语言是数据定义语言。
数据独立性是指物理独立性和逻辑独立性。
四、程序设计方法与风格
1.良好的程序设计的设计风格,需要考虑:
(1)源程序文档化:①符号名的命名有一定含义,便于理解;②正确的注释帮助读者理解程序;③程序层次清晰。
(2)数据说明的方法:①数据说明的次序规范化;②说明语句中变量安排有序化;③使月注释来说明复杂数据结构。
(3)语句的结构:程序应该简单易懂,语句构造应该简单直接。
(4)输入和输出。
2.注释分序言性注释和功能性注释,语句结构清晰第一、效率第二。
笔记:
程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。清晰第一、效率第二。
五、结构化程序设计
1.结构化程序设计的主要目的是使程序结构良好、易读、易理解、易维护。它的原则主要包括:①自顶向下;②逐步求精;③模块化;④限制使用goto语句。
2.结构化程序设计方法可用三种基本结构实现:①顺序结构;②选择结构;③重复结构。
3.结构化程序设计应注意:
(1)使用程序设计语言中的顺序结构、选择结构、循环结构等控制结构来表示程序的控制逻辑。
(2)选用的控制结构只准许有一个入口和一个出口。
(3)程序语句组成容易识别的程序块,每块只有一个入口和一个出口。
(4)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现。
(5)语言中所没有的控制结构,应该采用前后一致的方法来模拟。
(6)严格控制goto语句的使用。
笔记:
结构化程序设计的原则主要包括:①自顶向下;②逐步求精;③模块化;④限制使用goto语句。
结构化程序设计的3种基本控制结构是:选择结构(分支结构)、循环
结构、顺序结构。
结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。
六、面向对象的程序设计方法
1、对象(object):对象用来表示客观世界中的任何实体。面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。
2、类(class)和实例(instance):将属性、操作相似的对象归为类,类是具有共同属性、共同方法的对象的集合;一个具体对象称为类的实例。
3、消息(message):面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这个机制称为消息。消息是一个实例与另一个实例之间传递的信息,是请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。
4、继承(inheritance):继承是面向对象方法的一个主要特征。继承是使用已有的类作为基础(直接获得已有的性质和特征)建立新类的定义技术。已有的类可以当做基类引用,则新类可当做派生类引用。
5、多态性(polymorphism):对象根据所接受的消息而作出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。
笔记:
对象具有如下特征:标识唯一性、分类性、多态性、封装性、模块独立
性。
向对象程序设计的三个主要特征是:封装性、继承性和多态性。
封装性即只需知道数据的取值范围和可以对该数据施加的操作,而无需知道
数据的具体结构以及实现操作的算法。
继承性是指使用已有的类定义作为基础建立新类的定义技术。
对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致
完全不同的行动,该现象称为多态性。
剩下的将在下一次更新。。。因为小编要去载土豆去啦!