01软件构造的多维视图和质量目标

文章详细阐述了软件的定义,从系统软件和应用软件的角度出发,探讨了软件作为解决问题工具的重要性。同时,介绍了软件开发的不同阶段,包括瀑布模型和敏捷开发方法,并讨论了代码、组件、运行时环境等多个维度的变化。内容还涵盖了可执行程序的类型、动态链接、配置与数据文件、分布式系统的概念,以及日志记录在软件监控中的作用。最后,提到了质量指标和学习的重点是不同视图间的转化。
摘要由CSDN通过智能技术生成

什么是软件

 

图灵的提出:系统软件、应用软件......

个人理解:软件就是解决问题的工具,未来的软件就像满足人们需求的基础设施一样,和老师讲的软件定义世界是一样的道理

 

 

软件组成的变化:模块、数据 =====>进一步与我们的技术主流相关

 

软件开发过程/软件开发流程:可以参考软件工程中的内容,瀑布模型,以及流行的敏捷开发

多维度视图

 

阶段划分、按动态性划分、按构造对象的层次划分

build time && run time

moment &&period

code-level && component-level

build time && moment && code-level

表达方式:source code、AST、class diagram

build time && period && code-level

code churn:代码改变

build time && moment && component-level

文件目录、分类、类库的引入(library reused可复用设计)

库library

操作系统、编程语言SDK、第三方公司、自己积累的库

静态链接:编译阶段,build阶段

动态链接:

Component Diagram 组件之间的uml

build time && period && component-level

文件目录的变化,版本控制

SCI 配置项

Version 版本

 

run time综述

run time&& code-level:代码中逻辑实体的内存变化

run time &&Component-level:物理试题在物理硬件环境中如何呈现

run time && moment :特定时刻的逻辑、物理实体内存、硬件环境特定时刻状态

run time && period:逻辑、物理实体内存、硬件环境随时间变化

回顾:可执行程序、类库。配置、数据文件、分布系统

可执行程序

原生机器码:速度比较快,编译时间长、与操作系统密切相关

程序完全解释器:不断翻译,比较慢

解释型字节码:介于二者之间,虚拟机要可以跨平台Java

执行时编译成字节码:Python

动态链接

build阶段不加入执行文件只会标记

运行时标记转至内存

发布软件时要讲库均上传

优势:类库变化的时候不需要重新生成可执行程序、共享同一个类库,优化内存

配置、数据文件

分布系统

run time && moment&& code-level

代码快照图snapshot Diagram:描述某时刻内存中变量层面的状态

内存信息转储memory dump:任务管理器

run time && period&& code-level

uml:时序图、顺序图(类似于一种整体框架)

执行跟踪:用日志记录程序变化

run time && moment&& Component-level

依赖图deployment Diagram:部署图

run time && period&& Component-level

事件日志:系统层面

 

日志的细节区别:事件日志、代码层面的日志记录

 

重点学习目标

视图的转化

 

=>code

code=>component

build time=>run time

moment=>period

质量指标

五个最关注的指标

总结

第一节课主要是介绍三维度八视图的知识容量 具体的ppt部分仍然需要咀嚼

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值