Hang on a sec...

软件技术基础


  • Chapter1 编写单机API
    • 排序
    • 归类
    • 最短路径
  • Chapter2 多进程API
  • Chapter4 SQL =》API
  • Chapter5 数据 =》数据库

1.1. Chapter1 绪论

1.1.1. 软件开发流程

  • 问题分析与抽象
  • 系统结构设计
  • 数据库设计
  • 算法分析与设计
  • 数据结构分析与设计
  • 编译实现
  • 性能分析与改进
  • 编程与测试

1.1.2. 软件系统核心逻辑

  • 数据结构与算法设计类型

1.1.3. 软件系统运行平台

  • 计算机操作系统–”硬件上的第一层软件”(实际不恰当,因为还有BIOS)
  • 管理三大资源:
    • 管理CPU
    • 管理存储
      • 进程管理
    • 管理I/O
    • 提供用户接口
      • 命令行
      • GUI
    • 提供开发接口

发展历史:

  • 纸带阶段
  • 批处理阶段
  • 管理程序阶段
    • 通道:用于控制I/O设备与内存间的数据传输
    • 中断
    • 控制程序发展为executive system,常驻内存
  • 多批批处理
  • 分时系统(Time-Sharing System)
  • 工业化军事金融领域:实时系统(Real-Time System)

操作系统功能:

  • 处理机资源: 以进程或线程为单位完成处理机资源的分配调度
    • 进程控制:创建,撤销,挂起,改变运行优先级等–主动改变进程状态
    • 进程同步:协调并发进程之间的推进步骤–交换信息能力弱
    • 进程通信:进程间的数据传输
    • 进程调度:作业和进程的运行交换
  • 存储器管理: 提高内存利用率,提供足够的存储空间,方便进程并发运行
    • 存储分配与回收
    • 存储保护:保证进程互不干扰,相互保密
    • 地址映射:进程逻辑地址到内存物理地址的映射
    • 内存扩充(覆盖,交换和虚拟存储):提高内存利用率,扩大进程的内存空间
  • 设备管理: 方便设备使用,提高CPU与I/O设备利用率
    • 设备操作:利用设备驱动(位于Kernel)完成对设备的操作
    • 设备独立性(device independence):提供统一的I/O接口,应用程序独立于物理设备
    • 设备分配与回收:多用户间共享I/O设备资源
      • 虚拟设备(virtual device):设备有多个进程共享,比方说虚拟打印机
    • 缓冲区管理:匹配CPU和外设的速度
  • 文件管理: 解决软件资源的存储,共享,保密和保护
    • 文件存储空间管理:解决如何存放信息,提高空间利用率和读写性能
    • 目录管理:解决信息检索问题
    • 文件的读写管理和存储控制:解决信息安全问题,文件权限,系统token
    • 软件管理:软件版本,相互依赖关系,安装和拆除
  • 作业管理: 提供用户访问操作系统的接口
    • 系统命令:供用户用于组织和控制自己的作业运行.命令行或GUI联机,命令脚本-“脱机”
    • 编程接口:供用户程序和系统程序调用操作系统功能.系统调用和高级语言库函数

1.1.4. 软件系统数据管理

  • 数据库体系
    DBMS系统对数据库操作

1.1.5. 软件系统程序编译

  • 编译连接

1.2. Chapter2 软件系统逻辑

1.2.1. 简单物流质询系统最优路线计算案例分析

需要考虑很多因素:

  • 物品的优先级排序
  • 路径的选择问题
  • 采用海陆空哪种运输最便宜

1.2.2. 线性数据结构

23.3.7 上午一二节

  • 线性表的存储结构
    • 顺序存储和链式存储以及存储特点
  • 线性表的基本操作编程实现
    • 查找
    • 插入
    • 删除

1.2.3. 树数据结构

  • 二叉树和树的递归定义和基本性质
  • 二叉树,树和森林的顺序存储及链式存储,各种遍历方法

1.2.4. 图数据结构

  • 图的基本概念,基本操作和存储
    • 邻接矩阵,邻接表(逆邻接表)
    • DFS和BFS

1.2.5. 分治递归和贪心算法

  • 分治递归算法的思想
  • 贪心算法思想
  • 最短路径问题

1.2.6. 查询排序算法

23.3.14

  • 基本排序算法
    • 内部排序(内存)
      • 插入
      • 选择
      • 交换
      • 改进(分治)从$O(n^2)\to O(nlogn)$
    • 外部排序
  • 利用分治递归思想的改进型排序算法
  • 基本查询算法

1.3. Chapter3 软件系统运行平台

1.3.1. 多进程多用户文件一致性读写访问案例分析

1.3.2. 软件并发与进程-进程

  • 程序并发执行
  • 进程的定义与特征
  • 进程的基本状态
  • 进程控制模块的基础知识
  • 线程

1.3.3. 软件并发与进程-同步

  • 进程互斥与同步问题及其解决办法
  • 信号量与管程机制
  • 进程直接通信和间接通信方式
  • 生产者/消费者问题

1.3.4. 程序的装入和链接

  • 现代计算机系统的程序装入和链接机制
  • 程序空间分类
  • 链接技术

1.4. Chapter4 软件系统程序编译

1.4.1. 编译概述

1.4.2. 语言及文法

1.4.3. 词法分析

词法分析器

词:二元组(type,value)
符号表(名称|value)
(*)DFS,NFS

1.4.4. 语法分析

  • 上下文无关文法
  • 下推自动机
    文法:
  • 上-下
    • 使用左递归
      • 不确定-词法分析过程中不确定分析过程
      • 确定-清除回溯-无左递归
        • 1/2
        • 右递归
          (*)First集/Follow集

1.4.5. 语义分析和中间代码生成

  • 词法分析->语法分析->语义分析

词法分析

  • 自上而下(LL)
    • 递归下降
    • 词汇表
      • 构建
      • 递归栈
        • AST树
          • 自下而上构建AST
          • AST树离散
  • 自下而上(LR)
    • 规约
      • 递归栈

语法分析

  • 语法翻译制导
    • 依赖图
    • 语法树

语义分析

  • 依赖图
  • 遍历
    • 自上而下
      • 翻译模式
        • 推导
    • 自下而上
      • 加一个语义化
        • 规约
          最后得到
  • 执行结果
  • 中间代码(AST、三/四地址)
    语法分析
      |
      ├── 语法翻译制导
      |      |
      |      ├── 依赖图
      |      |
      |      └── 语法树
      |
      └── 语义分析
              |
              ├── 依赖图
              |
              └── 遍历
                    |
                    ├── 自上而下
                    |       |
                    |       ├── 翻译模式
                    |       |      |
                    |       |      └── 推导
                    |       |
                    |       └── 执行结果
                    |
                    └── 自下而上
                            |
                            ├── 加一个语义化
                            |        |
                            |        └── 规约
                            |
                            └── 中间代码(AST、三/四地址)

汇总:
词法-语法-「「解释API;生成中间代码」-「什么样子-「三地址,四元式;三元式」;间接三元式-「间接对象(代码执行顺序);三元式表(内容)」;-语义-「自上而下;自下而上」-「OP;Type」

词法
  |
  └── 语法
          |
          ├── 解释API;生成中间代码
          |         |
          |         ├── 什么样子
          |         |      |
          |         |      ├── 三地址,四元式
          |         |      |
          |         |      └── 三元式
          |         |
          |         └── 间接三元式
          |                 |
          |                 ├── 间接对象(代码执行顺序)
          |                 |
          |                 └── 三元式表(内容)
          |
          └── 语义 |
                           └── Type
						              |        
                  |        └── OP
                  |
                  ├── 自上而下
       
                  |
                  └── 自下而上
                          

1.5. Chapter5 软件系统数据管理

1.5.1. 数据库的基本概念,数据库技术发展概述

1.5.2. 关系数据库,及标准语言SQL,数据库安全性

1.5.3. 数据库设计和数据库编程

1.5.4. 数据库新技术:大数据与hadoop


Author: Shiym
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Shiym !
评论
 Previous
Macro Economic Macro Economic
宏观经济学课程的笔记,涵盖了宏观经济学概述、商品市场、货币市场、总需求和总供给、失业、通货膨胀、经济增长和开放经济等主题。解释了宏观经济学相关的基本概念、理论和模型。
2022-12-27
Next 
数据挖掘与大数据分析 数据挖掘与大数据分析
主要介绍了数据挖掘与大数据分析的基础知识,包括大数据的定义与理念、数据挖掘的产生背景及原因、数据挖掘的应用、数据挖掘的主要功能、数据挖掘面临的挑战等内容。
2022-12-27
  TOC