侧边栏壁纸
  • 累计撰写 62 篇文章
  • 累计创建 35 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

3.16 周一 软件架构的传统风格-1 主程序-子过程风格

生榆
2020-03-16 / 0 评论 / 0 点赞 / 610 阅读 / 0 字
温馨提示:
本文最后更新于2022-12-14,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

2.1. 案例:KWIC

Keyword in context的缩写,这是一个讲单词循环移位的系统,后面很多架构风格都将用这个作为案例。

功能需求(他是干什么的)

  1. 接收一组包含单词的文本行
  2. 对文本行按单词进行循环移位
  3. 对文本行进行字母序排序

非功能需求

  1. Modifiable 可修改性
    1. 算法变化
    2. 数据表示方式的变化
    3. 可拓展型
  2. 性能:时空复杂性
  3. 可复用性

2.2. 主程序-子过程风格

早期:非结构化程序,所有程序代码包含在一个主程序文件中

结构化设计:自上而下的设计

(有点像树结构的分解)

逐步分解

主程序的正确性依赖于子程序

主程序-子过程更个的结构

  1. 构件
  2. 连接器
  3. 拓扑结构:层次化结构

硬件基础:寄存器、跳转指令、栈操作指令

四大分解原则

  1. 模块独立性:高聚合、低耦合(模块之间的依赖降低)
  2. 规模适中
  3. 模块复用性(高扇入、低扇出)
  4. 作用域与控制域适当性:作用域包含在控制域之中
    • 控制域:这个模块底下调用的模块
    • 作用域:?

应用:将主程序-子过程应用到KWIC

优点:

  • 模块之间数据共享
  • 不同的计算功能被隔离在不同的模块中

缺点:

  • 对数据存储格式个变化将会影响几乎所有的模块
  • 很难对处理流程作出改变,也很难对系统功能增强;依赖于来控制模块的内部调用次序
  • 难以复用
0

评论区