【软考篇】中级软件设计师 第四部分(二)


读前须知: 【软考篇】中级软件设计师 学前须知
上一章节: 【软考篇】中级软件设计师 第四部分(一)
下一章节: 【软考篇】中级软件设计师 第四部分(三)


三十一. 数据结构

最难知识点之一,只提供概念需要自行深入了解

31.1 线性结构


线性结构: 一个出度,一个入度。分顺序存储和链式存储。

链式存储: 单链表、循环链表、双向链表


性能指标顺序链式
空间存储密度=1<1
空间容量分配事先确定动态改变
时间查找运算O(n/2)O(n/2)
时间读运算O(1)O([n+1/2]),最好O(1),最坏O(n)
时间插入运算O(n/2)O(1)
时间删除运算O([n-1/2])O(1)

队列: 先进先出,分队头和队尾。

栈: 先进后出,只有栈顶能进出。

循环队列: head:头指针,tail:尾指针

​ (1)队空条件:head=tail

​ (2)队满条件:(tail + 1)% size = head

​ (3)长度:(tail - head)% size

串: 分空串,空格串,子串。


31.2 数组


数组: 定长线性表在维度上的扩展

特点: 数据元素数目固定,数据元素类型相同,数据元素的下标关系具有上下界的约束且下标有序,一般不做修改,使用于顺序结构。


31.4 矩阵

矩阵
对称矩阵
对角矩阵
三角矩阵
稀疏矩阵

31.5 树

二叉树
满二叉树
完全二叉树
线索二叉树
最优二叉树
哈夫曼树
查找二叉树
平衡二叉树

31.5 图

无向图
有向图
完全图
无向完全图
有向完全图

三十二. 算法

最难知识点之一,只提供概念需要自行深入了解


算法: 对特定问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。

复杂度: 时间复杂度,空间复杂度。

时间度量: O(1) < O(log2n) < O(n) < O(nlog2n) < O(n^2) < O(n^3) < O(2n)


类别排序方法平均时间复杂度最坏时间复杂度空间复杂度(辅助空间)稳定性
插入直接插入O(n^2)O(n^2)O(1)稳定
插入Shell插入O(n^1.3)O(n^2)O(1)不稳定
选择直接选择O(n^2)O(n^2)O(1)不稳定
选择堆排序O(nlog2n)O(nlog2n)O(1)不稳定
交换冒泡排序O(n^2)O(n^2)O(1)稳定
交换快速排序O(nlog2n)O(n^2)O(nlog2n)不稳定
-归并排序O(nlog2n)O(nlog2n)O(n)稳定
-基数排序O(d(r+n))O(d(r+n))O(r+n)稳定

算法
分治法(快速,归并)
回溯法(一般用于迷宫类问题)
动态规划法(最优解)
贪心法(局部最优)
0-1背包
部分背包
分支限界法
概率算法(四类)
近似算法
数据挖掘算法

三十三. 软件工程

理论知识最多,提供考察点概念,需多刷题

33.1 软件过程


CMM: (1)初始级(2)可重复级(3)可定义级(4)已管理级(5)优化级

CMMI: 结合多个已有的CMM

阶段式模型:

(1)初始的(过程不可预测且缺乏控制)

(2)已管理的(过程为项目服务)

(3)可定义的(过程为组织服务)

(4)定量管理的(过程已度量和控制)

(5)优化的(集中于过程改进)

连续型模型: 关注每个过程域的能力,一个组织对不同的过程域可以达到不同的过程域能力级。


33.2 统一过程UP


开发四阶段

(1)初始(立项)

(2)精华(需求分析)

(3)构建(编码)

(4)移交(维护、测试)


33.3 软件过程模型


软件过程模型: 软件开发模型,是软件开发全部活动和任务的结构框架。


软件过程模型描述
瀑布模型只适用于需求明确或二次开发(需求稳定)
V模型瀑布模型的变体,增加了很多轮测试且贯穿于软件开发的各个阶段
原型模型快速原型开发,针对需求不明确的情况,一般为了演示。
螺旋模型多种模型混合,与原型类似,但增加了风险分析,适合大型项目
增量模型先开发核心,用户确认,在开发次核心。每一次增量版本都可作为独立可操作的作品
喷泉模型适合面向对象的开发方法

33.4 软件开发方法


软件开发方法: 结构化,jackson,原型,面向对象

结构化设计: 体系结构设计,数据设计,接口设计,过程设计


33.5 敏捷开发


敏捷开发: 针对中小项目,为程序员减负,去掉不必要的会议和文档。

自适应开发,水晶方法,特征驱动开发,SCRUM,极限编程

四大价值,五大原则,12个最佳实践,基本原则,开发宣言


33.6 软件项目管理


有效的项目管理集中在: 人员,项目,产品,过程。

成本估算: 自顶向下,自底向上,差别估算,专家估算

规模估算:

(1) COCOMO模型(代码评估)

​ ①基本:静态单变量

​ ①中间:基本的基础上,产品,硬件,人员,项目等

​ ①基本:中间的基础上,分析,设计

(2)COCOMOⅡ模型(COCOMO模型的升级)

​ ①应用组装模型:前期阶段

​ ①早期设计阶段模型:需求稳定且体系建立

​ ①体系结构阶段模型:构建过程


33.7 进度管理


基本原则: 划分,相互依赖,时间分配,工作量确定,确认责任,明确输出结果,确定里程碑

Gantt图: 反应活动并行关系,无法反应依赖及关键路径

**PERT图:**与Gantt相反


33.7 关键路径

知识点复杂,但考点有技巧型,建议简单了解一波


概念: 最早开始时间ES,最早完成时间EF,关键路径,最晚完成时间LF,最晚开始时间LS,松弛时间


33.8 软件项目的组织


组织: 项目型,职能型,矩阵型

程序设计小组

(1)主程序员制: 有个大佬,适合大型项目

(2)民主制: 地位平等,适合小型项目

(3)层次式: 一组长配多个高级程序员,一高级程序员配多个中低级程序员


33.8.1 软件质量管理


软件质量管理: ISO/IEC9126软件质量模型:质量特征和子特性


功能性可靠性易使用性效率性可维护性可移植性
适合性成熟性易理解性时间特性易分析性适应性
准确性容错性易学性资源特性易改变性易安装性
互用性易恢复性易操作性稳定性一致性
依从性易测试性易替换性
安全性

33.9 软件度量


McCabe度量法: 环路复杂度

有向边:m,节点:n,复杂度:m-n+2


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值