计算机教程

当前位置:澳门娱乐场网址 > 计算机教程 > 【software construction】第一章 软件构造的多维视角

【software construction】第一章 软件构造的多维视角

来源:http://www.ablakeforum.com 作者:澳门娱乐场网址 时间:2019-10-06 01:10

【software construction】第一章 软件构造的多维视角,construction多维

      理智的战士从来不会赤手空拳上战场杀敌,那样的做法是用鸡蛋碰石头,结果只能是"壮志未酬身先死"。如果把建模比作敌人,那么我们知道很多热血的软件开发人士就败在这个敌人的手上。一个原因就是太过于鲁莽,在不知道建模为何物的时候就开始了战斗。

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

一、什么是建模?

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)】
来源
  - 操作系统自带
  - 语言自带的SDK
  - 第三方
  - 自己编写
链接到类库
  - 编译器形成关于外部库的链表,编译器找到库的目标文件,复制加到程序中

【静态链接】
  - 类库就像是特别的对象文件的集合
  - 编译前就需要知道方法对应的文件
  - 构建时,从类库中提取文件并复制到可执行文件中

【Component-level ;Build-time;Period】
  - 版本控制
  - Software Configuration Item(软件生命周期各个阶段活动的产物,经审核后可称为软件配置项)
  - version:major.minor.patch

-----------未完待续------------

http://www.bkjia.com/Javabc/1306803.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1306803.htmlTechArticle【software construction】第一章 软件构造的多维视角,construction多维 第一章 软件构造的多维视图 Outline 描述软件系统的三个维度 阶段:build...

软件模型之间的多个视图的关系是:"追踪"关系。也就是说,他们反映的是同一个软件系统在不同级别上的抽象。软件系统模型的不同视图,如分析视图,设计视图,实现视图,部署视图等也反映了软件系统开发周期中不同阶段。一般由一种特定的视图来描述。当阶段发生变化时,一种视图中的元素将转换为另一种视图下的对应元素。

澳门娱乐场网址,备注:视图可以理解为软件系统开发周期中不同阶段的模型,因此我们可以认为:分析视图,设计视图,实现视图常常称为领域模型、设计模型、实现模型。

总结:

1.软件模型形象定义:软件产品相关人员对软件系统的观察

2.软件模型视图之间相互联系,相互转化。

3.模型具有焦点,必须取出求精,突出重点。

本文由澳门娱乐场网址发布于计算机教程,转载请注明出处:【software construction】第一章 软件构造的多维视角

关键词: