软件工程及数据库相关知识篇(持续更新)

python基础知识点总结之语言篇
python基础知识点总结之第三方库篇
1.软件
单元测试主要针对模块的5个基本特征进行:模块接口测试,局部数据结构测试,重要的执行路径的检查,检查模块的错误处理能力,影响以上各点及其他相关点的边界条件测试。
在数据流图中,用标有名字的箭头表示数据流。在程序流图中,用标有名字的箭头表示控制流。
结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句
软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循-定的要求,以保证模块划分合理,并进- 步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。软件工程三要素是方法、具和过程。
模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计, 应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,耦合性是模块间互相连接的紧密程度的度而内聚性是指-个模块内部各个元素间彼此结合的紧密程度
软件测试过程一般按4个步骤进行, 即单元测试、集成测试、确认测试和系统测试。通过这些步骤的实施来验证软件是否合格,能否交付用户使用。
测试又称功能测试或数据驱动测试,着重测试软件功能,是把程看成-只黑盒子,测试者完全不了解,或不考虑程序的结构和处理过程。它根据规格说明书的功能来设计测试用例,检查程序的功能是否符合规格说明的要求。白盒测试是把程序看成装在一只透明的白盒子里, 测试者完全了 解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。
算法的空间复杂度是指算法在执行过程中所需要的内存空间。算法执行期间所需的存储空间包括3个部分:输入数据所占的存储空间;程序本身所占的存储空间;算法执行过程中所需要的额外空间。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
2.数据库
数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。
数据独立性包括物理独立性和逻辑独立性,物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构。也不会引起应用程序的改动,逻辑独立性指数据库的总体逻辑结构的改变,不会导致相应的应用程序的改变。
数据库领域公认的标准结构是三级模式结构,它包括外模式、概念模式、内模式, 有效地组织、管理数据, 提高了数据库的逻辑独立性和物理独立性。用户级对应外模式,概念级对应概念模式,物理级对应内模式,使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中"的反映,很显然,不同层次(级别)用户所”看到"的数据库是不相同的。
数据库设计有需求分析设计、概念设计、逻辑设计、物理设计、编码、测试、运行、进-步修改等几个阶段。 在需求分析设计阶段形成需求说明书,概念设计阶段形成概念数据模型(作为进一步设计数据库的依据, 概念设计通常采用E- R模型),逻辑设计阶段形成逻辑数据模型 (从ER图向关系模式转换、关系视图设计、模式规范化) , 物理设计阶段形成数据库内部模型(此时涉及具体软件硬件环境)。
概念模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画,与具体的DBMS (数据库管理系统)无关。
1维数据由对等关系的有序或无序数据构成, 采用线性方式组织; 2维数据,也称表格数据,由关联关系数据构成,采用二维表格方式组织;高维数据由键值对类型的数据构成,采用对象方式组织。
数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、 改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。