0%

软件过程模型

瀑布模型(需求明确)

线性顺序,以文档为驱动,项目的阶段评审和文档控制为手段对开发过程作为指导。适用于软件需求明确,客户必须能够完整、正确、清晰的表达需求

瀑布模型

V模型

瀑布模型的变体,描述了质量保证活动和沟通、建模相关活动及早期构建相关的活动之间的关系

V模型

阅读全文 »

算法策略

分治法

特征:把一个问题拆分成多个小规模的相同子问题,一般可用递归解决

经典问题:斐波那契数列、归并排序、快速排序、矩阵乘法、二分搜索、大整数乘法、汉诺塔

贪心法

特征:局部最优,但整体不见得最优。每步有明确的、既定的策略。

经典问题:背包问题(如装箱)、多机调度、找零钱问题、最小生成树问题

部分背包可以得到最优解,0-1背包不一定是最优解、迪杰斯特拉算法

动态规划法(用于求解最优解)

特征:划分子问题,使用数组存储子问题,利用查询子问题结果构造最终问题结果。使用最优子结构+递归式。与分治法不同的是,动态规划算法经分解得到的子问题往往不是独立的。若用分治法解决的话,则相同的子问题会被求解多次

经典问题:斐波那契数列、矩阵乘法、背包问题、LCS最长公共子序列

回溯法

特征:系统地搜索一个问题的所有解或任一解,是一种选优搜索法,按选优条件先前搜索,以达到目标。但当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。这种走不通就退回再走的技术就是回溯法

深度优先算法

经典问题:N皇后问题、迷宫、背包问题

分支界限法

类似于回溯法,但是目标不同,分支界限法以广度优先或以最小耗费优先的方式搜索解空间树

广度优先算法

软件生存周期

软件生存周期

设备管理

IO管理软件

  • 硬件:完成具体的I/O操作
  • 中断处理程序:I/O完成后唤醒设备驱动程序
  • 设备驱动程序:设置寄存器,检查设备状态
  • 设备无关程序:设备名解析、阻塞进程、分配缓冲区
  • 用户级I/O层:发出I/O调用

磁盘调度

存取时间 = 寻道时间+等待时间+读取时间

  • 寻道时间是指刺头移动到磁道所需的时间(找磁道的时间)
  • 等待时间是等待读写的扇区转到磁头下方所用的时间(找扇区的时间,也就是旋转延迟的时间)
  • 读取时间就是传输时间

磁盘

多个磁片的同一个磁道形成一个柱面,有时候磁道也称为柱面

在扇区上读取数据时是顺序读取的,跨扇区读取的话是随机读取的

阅读全文 »