软件基础
- 1 计算机结构
- 2 软件的定义
- 3 操作系统的定义
- 4 软件的生命周期
- 5 瀑布模型
- 6 模块化开发
- 7 软件测试
- 8 数据结构类型
- 9 查找
- 10 排序
- 11 三级存储结构
- 12 调度
1 计算机结构
冯·诺依曼式:CPU(控制器、运算器)、存储器、输入设备、输出设备。
2 软件的定义
软件 = 计算机程序 + 说明文档
3 操作系统的定义
操作系统是管理计算机硬件与软件资源的计算机程序。
4 软件的生命周期
- 可行性分析
- 需求分析
- 概要设计
- 详细设计
- 编码开发
- 测试
- 维护
5 瀑布模型
每一开发阶段完成后,经评审确认,在进入下一阶段。
优点:按阶段划分了检查点;当前阶段完成后,只需要关注后序阶段。
缺点:阶段划分评估需要大量的文档,增加了工作量;用户只有等到整个过程的末期才能见到开发成果,增加了开发风险;不适应用户需求的变化。
6 模块化开发
模块化开发是把一个复杂的开发项目自顶向下逐层把它划分成若干模块进行开发的过程。
优点:降低项目的复杂性,提高开发效率;避免重复代码的编写,节省开发成本;有利于后期维护。
7 软件测试
白盒测试 | 黑盒测试 |
---|---|
了解程序结构进行的测试 | 不了解程序结构进行的测试 |
α测试 | β测试 |
---|---|
内部人员开发环境的测试 | 用户实际使用环境的测试 |
8 数据结构类型
数据类型 | 常用存储结构 |
---|---|
集合 | set |
数列 | vector |
栈 | stack |
队列 | queue |
树 | 链式、数列 |
图 | 邻接矩阵 |
9 查找
查找方式 | 时间复杂度 |
---|---|
顺序查找 | O(n) |
二分查找(有序) | O(log2n) |
红黑树查找 | O(log n) |
哈希表查找 | O(1) |
10 排序
排序方式 | 时间复杂度 | 稳定性 |
---|---|---|
冒泡排序 | O(n2) | 稳定 |
选择排序 | O(n2) | 不稳定 |
插入排序 | O(n2) | 稳定 |
快速排序 | O(n long n) | 不稳定 |
归并排序 | O(n long n) | 稳定 |
11 三级存储结构
高速缓存、内存、硬盘
12 调度
高级调度(作业调度):选取外存上的作业进入内存
中级调度(中程调度):选取挂起的进程进入内存
低级调度(短程调度、进程调度):为进程分配CPU资源,即从就绪状态到运行状态的转换
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!