公共基础知识笔记总结分享
2022-10-19 18:05:09 0 举报
AI智能生成
公共基础知识笔记总结分享
作者其他创作
大纲/内容
数据库
数据模式定义
数据存取的物理构建
数据操纵
数据的完整性
安全性的定义与检查
数据库的并发控制与故障恢复
数据的服务
功能
数据定义语言
数据操纵语言
数据控制语言
数据语言
数据库管理系统
数据库设计
数据库维护
改善系统性能
提高系统效率
数据库管理员
系统平台1—硬件平台
系统平台2—软件平台
数据库系统
人员(数据库管理员和用户)
硬件平台
软件平台
应用软件
应用界面
数据库应用系统
人工管理阶段
文件系统阶段
数据库系统阶段
数据库技术的发展
数据的集成性
数据的高共享性和低冗余性
物理独立性
逻辑独立性
数据的独立性
数据统一管理与控制
数据库系统的基本特点
概念模式
外模式
内模式(物理模式)
三级模式
外模式/概念模式的映射
概念模式/内模式的映射
两级映射
数据库系统的内部结构体系
1.基本概念
概念
数据结构
数据操作
数据约束
三要素
概念模型
数据模型
物理模型
类型
实体
属性
联系
基本概念
一对一
一对多
多对多
基本概念之间的连接关系
E-R图
E-R模型
关系
值域
元组
候选码
主键或主码
外键或外码
常用术语
元组个数的有限性
元组的唯一性
元组分量的原子性
属性名唯一性
属性的次序无关性
分量值域的统一性
性质
实体完整性约束
参照完整性约束
用户定义的完整性约束
完整性约束
关系模型
2.数据模型
差运算
交运算
并运算
笛卡尔积运算
投影运算
选择运算
除运算
连接运算
3.关系代数
过程迭代
逐步求精
基本思想
面向数据的方法
面向过程的方法
方法
需求分析
概念设计
逻辑设计
物理设计
编码
测试
运行
进一步修改
设计过程
概述
结构化分析法(自顶向下、逐层分解)
面向对象的方法
绘制数据流程图
数据分析
功能分析
确定功能处理模块
数据间关系
主要工作
数据库概念设计
数据库逻辑设计
数据库物理设计
设计
第一范式
第二范式
第三范式
范式
4.数据库设计
1.4数据库设计基础
(1)计算机软件是由程序、数据及相关文档构成的完整集合,与计算机硬件组成计算机系统
(2)程序和数据是机器可执行的,文档是不可执行的
定义
<ul><li>软件是一种逻辑实体、具有抽象性</li></ul>
<ul><li>软件没有明显的制作过程</li></ul>
<ul><li>软件在使用期间不存在磨损、老化问题</li></ul>
<ul><li>对硬件和环境具有依赖性</li></ul>
<ul><li>软件复杂性高、价格昂贵</li></ul>
<ul><li>软件开发涉及诸多社会因素</li></ul>
特点
管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件
系统软件
为了应用于特定的领域而开发的软件
介于系统软件和应用软件之间,协助用户开发软件的工具型软件
支撑软件
软件的分类
工具
过程
要素
抽象
信息隐蔽
模块化
确定性
一致性
完备性
可验证性
原则
软件工程
把输入转化为输出的一组彼此相关的资源和活动
软件规格说明
软件开发或软件设计与实现
软件确认
软件演进
进行的基本活动
软件过程
问题定义
可行性研究
软件定义期
概要设计
详细设计
实现
软件开发期
使用和维护
运行维护期
周期
软件的生命周期
需求获取
编写需求规格说明书
需求评审
需求分析相关概念
重点描述软件的目标,软件的功能需求、性能需求、外部接口、属性及约束条件
特点:正确性;无歧义;完整性;可验证性;一致性;可理解性;可修改性;可追踪性
需求规格说明书
面向数据流的结构化方法
面向数据结构的Jackson系统开发方法
面向数据结构的结构化数据系统开发方法
结构化分析方法
静态分析方法
动态分析方法
面向对象分析方法
需求分析方法
数据流图、数据字典、结构化英语、判定表、判定树等
(1)数据流图上的每个元素必须命名
(2)对加工处理建立唯一、有层次性的编号,且每个加工处理既有输出也有输入
(3)数据存储之间没有数据流
(4)数据流图的一致性
(5)父图、子图关系与平衡规则
数据流图 的构造规则和注意事项
结构化分析方法常用工具
2.需求分析及其方法
内聚性
耦合性
从工程管理角度划分
软件结构设计
数据设计
接口设计
过程设计
从技术观点划分
设计软件系统结构
数据结构及数据库设计
编写概要设计文档
概要设计文档评审
任务
结构图(程序结构图)
程序流程图(PFD)
N-S图
PAD图
HIPO图
判定表
PDL
常用设计工具
3.软件设计及其方法
目的:发现软件中的错误
(1)所有软件都应追溯到用户需求
(2)在测试之前指定测试计划,并严格执行
(3)充分注意测试中的群集现象
(4)避免由程序的编写者测试自己的程序
(5)不可能进行穷举测试
(6)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便
准则
目的和准则
代码审查
代码走查
桌面检查
静态分析
代码检查
静态结构分析
代码质量度量
静态测试
测试输入数据
预期输出结果
设计高效、合理的测试用例
动态测试
按是否被执行划分
语句覆盖
路径覆盖
判定覆盖
条件覆盖
判断—条件覆盖
逻辑覆盖测试
基本路径测试
白盒测试
等价类划分法
边界值分析法
错误推测法
因果图
黑盒测试
按功能划分
单元测试
集成测试
确认测试(验收测试)
系统测试
软件测试实施的步骤
4.软件测试
根据错误的迹象确定程序中错误的确切性质、原因和位置
对程序进行修改,排除这个错误
程序调试活动
静态调试
强行排错法
回溯法
二分法
归纳法
演绎法
原因排除法
动态调试
调试方法
5.程序调试
1.3软件工程基础
可行性
有穷性
拥有足够的情报
基本特征
时间复杂度
空间复杂度
算法复杂度
1.算法
逻辑结构
存储结构
二元关系表示
图形表示
(1)根节点
(2)终端节点(叶子节点)
(3)内部节点
由前后件引出的三个概念
数据结构的表示
线性结构
非线性结构
线性结构与非线性结构
2.数据结构基本概念
<span style="font-size: inherit;">(1)只有一个根节点</span><br>
(2)有且只有一个终端节点
(3)除根节点与终端节点外,所有节点有且只有一个前件,也有且只有一个后件
非空线性表结构特征
(1)线性表中所有元素所占的存储空间都是连续的
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的
顺序存储结构
3.线性表及其顺序存储结构
先进后出
栈顶指针top反映栈的状态变化
入栈
退栈
读栈顶元素
栈的三种基本运算
栈与其基本运算
先进先出
队尾指针rear和队头指针front共同反映队列元素的动态变化
队列及其基本运算
front=rear=m,循环队列初始状态为空
s=0,队列为空
s=1且front=rear表示队满
循环队列及其运算
4.栈和队列
线性链表
带链的栈
带链的队列
分支主题
顺序表和链表的比较
线性链表的基本概念
循环链表
5.线性链表
父节点(根)
子节点和叶子节点
度
深度
子树
树的基本概念
(1)在二叉树的第k层上,最多有2^k-1(k>=1)个节点
(2)深度为m的二叉树中,最多有(2^m )-1个节点
(3)任何一颗二叉树,度为0的节点(即叶子节点)总是比度为2的节点多一个
(5)具有n个节点的完全二叉树深度为(log2n)+1
满二叉树和完全二叉树
二叉树基本性质
二叉树存储结构
根左右
先序遍历(前序遍历)
左根右
中序遍历
左右根
后序遍历
二叉树的遍历
6.树与二叉树
最好情况下:1次
最坏情况下:n次
平均情况下:n/2次
顺序查找
最坏情况下:log2n次
二分法查找
7.查找技术
最坏情况下:n(n-1)/2次
冒泡排序
快速排序
交换类排序
简单插入排序
最坏情况下:n^r (1<r<2)
希尔排序
插入类排序
简单选择排序
最坏情况下:nlog2n次
堆排序
选择类排序
8.排序技术
1.1数据结构和算法
源程序文档化
数据说明风格
语句的结构
输入和输出
1.程序设计风格
自顶向下、逐步求精、模块化及限制使用goto语句
顺序结构
选择结构
循环结构
三种结构共同特征:严格地只有一个入口和一个出口
基本结构
程序易于理解、使用和维护
提高了编程的工作效率,降低软件开发成本
优点
2.结构化程序设计
与人类习惯的思维方法一致
稳定性好
可重用性好
容易开发大型软件产品
可维护性好
面向对象方法的优点
数据(属性):对象所包含的信息,表示对象的状态
方法(操作);对象所能执行的功能、所能具有的行为
对象
类和实例
消息
继承
多态性
面向对象方法的基本概念
3.面向对象的程序设计
1.2程序设计基础
公共基础知识笔记总结分享
0 条评论
回复 删除
下一页