软件构造 第一章第一节软件构造的多维视图

软件构造 第一章第一节软件构造的多维视图

从八个维度解释软件构造的对象是什么,并简单介绍在每个维度的刻画技术。

Outline

描述软件系统的三个维度元素、关系和各种视角的模式

阶段:build-time && run-time
动态:moment && period
级别:code && component

不同视角间的转换

Notes

【软件的构成要素】

– 软件=算法+数据结构
  - 软件=程序+数据+文档(80年代)
  - 软件=Modules(Components)+Data/Control Flow 模块(组件)+数据流/控制流

【软件系统的组成】

Software system =
Programs(UI,算法,utilities(实用工具 function),APIs,test cases)

  • Data(files,database)
  • Documents(SRS(需求规格声明),SDD(设计规格声明),user manuals)
  • Users(谁来使用)
  • Business Objective(为什么使用它)
  • Social Environment(法规)
  • Technological Environement(如何部署)
  • Hardware / Network(硬件)
    (前三个是主要)
【软件构造的多维视角】

1.阶段:构建 || 运行
2.动态:时刻 || 周期
3.级别:代码 || 组件

Buildtime概述

想法 -> 需求 -> 设计 -> 代码 -> 可安装可执行的包

  • 代码是如何组建起来的赖关系)
  • 体系架构 源代码如何组成文件
  • 时间角度 源代码在特定的时间什么样,随着时间如何变化

【Code-level;Build-time;Moment】

三种相互关联的形式

  • 面向词法 半结构化源代码
  • 面向语法 (AST抽象语法树)半结构化的源代码变成语法树(编译器能够处理)
  • 面向语义 UML(参考软件工程课程内容)
    关于词法、语法、语义的更多内容
    https://www.cnblogs.com/lightsong/p/6107310.html

【Code-level;Build-time;Period——Code Churn(代码变化)】

  • Churn Trends
  • 代码变化包括添加、修改、删除

【Component-level ;Build-time;Moment】

  • 源代码如何组织成文件——通过类库
  • 文件被压缩进package,逻辑上进入components(组件)and sub-systems(子系统)
  • 链接技术(动态 / 静态)

【类库(Library)】

【Component-level ;Build-time;Period】

– 版本控制(Git、SVN)

【Code level;Run-time;Moment】
  - 快照图:着眼于目标计算机内存中的变量级执行状态,体现某时刻内存中变量的情况。

【Component level;Run-time;Moment】
  - UML部署图:程序中的各个模块在物理上如何分布;表明客户端、服务器之间的关系。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月14日
下一篇 2019年2月14日

相关推荐