软件基础
- 1 计算机结构
- 2 软件的定义
- 3 操作系统的定义
- 4 软件的生命周期
- 5 瀑布模型
- 6 模块化开发
- 7 软件测试
- 8 数据结构类型
- 9 查找
- 10 排序
- 11 三级存储结构
- 12 调度
1 计算机结构 冯·诺依曼式:CPU(控制器、运算器)、存储器、输入设备、输出设备。
2 软件的定义 软件 = 计算机程序 + 说明文档
3 操作系统的定义 操作系统是管理计算机硬件与软件资源的计算机程序。
4 软件的生命周期
- 可行性分析
- 需求分析
- 概要设计
- 详细设计
- 编码开发
- 测试
- 维护
优点:按阶段划分了检查点;当前阶段完成后,只需要关注后序阶段。
缺点:阶段划分评估需要大量的文档,增加了工作量;用户只有等到整个过程的末期才能见到开发成果,增加了开发风险;不适应用户需求的变化。
6 模块化开发 模块化开发是把一个复杂的开发项目自顶向下逐层把它划分成若干模块进行开发的过程。
优点:降低项目的复杂性,提高开发效率;避免重复代码的编写,节省开发成本;有利于后期维护。
7 软件测试
白盒测试 | 黑盒测试 |
---|---|
了解程序结构进行的测试 | 不了解程序结构进行的测试 |
α测试 | β测试 |
---|---|
内部人员开发环境的测试 | 用户实际使用环境的测试 |
数据类型 | 常用存储结构 |
---|---|
集合 | set |
数列 | vector |
栈 | stack |
队列 | queue |
树 | 链式、数列 |
图 | 邻接矩阵 |
查找方式 | 时间复杂度 |
---|---|
顺序查找 | O(n) |
二分查找(有序) | O(log2n) |
红黑树查找 | O(log n) |
哈希表查找 | O(1) |
排序方式 | 时间复杂度 | 稳定性 |
---|---|---|
冒泡排序 | O(n2) | 稳定 |
选择排序 | O(n2) | 不稳定 |
插入排序 | O(n2) | 稳定 |
快速排序 | O(n long n) | 不稳定 |
归并排序 | O(n long n) | 稳定 |
12 调度 【课程|软件基础知识点汇总】高级调度(作业调度):选取外存上的作业进入内存
中级调度(中程调度):选取挂起的进程进入内存
低级调度(短程调度、进程调度):为进程分配CPU资源,即从就绪状态到运行状态的转换
推荐阅读
- #私藏项目实操分享#愚公系列2022年05月 Python教学课程 75-DRF框架之排序
- #私藏项目实操分享#愚公系列2022年05月 Python教学课程 72-DRF框架之认证和权限
- 有趣免费的开源机器人课程实践指北-2019-
- 图灵学院vip课程第四期
- 什么是十二要素应用程序(什么是软件即服务(SAAS)应用程序?)
- 如何为亚马逊软件开发工程面试做准备()
- Android软件开发实战(一本记账.app)
- 专业做app系统软件开发价格多少呢(费用一览表)
- k8s实战课程笔记