软件构造复习手册1

第一到二章:软件构造基础知识,出现在选择题

1、软件构造的多维视图

        

code-level=代码的逻辑组织:接口、类、方法、属性

component-level=代码的物理组织:包文件、静态链接、库、etc

构建时=侧重于工程的原始时期。瞬间视角,则包括源码、包文件等,某段时期的视角,则包括代码的变化、VCS等

运行时=侧重于程序已经运行起来,程序被载入特定机器。逻辑实体在内存中体现(memory dump、代码快照属于code-level)、物理组织(包、库、动态链接、构型、数据库、中间件、网络)在硬件中体现等。

moment=某个瞬间的形态。一瞬的包结构、源码结构、代码快照、内存转储(也是对内存的一种快照)等。静态链接是程序的构建时的一瞬行为,动态链接是程序运行起来,运行时的一瞬行为。部署示意图等均是侧重于对系统的一瞬间状态的刻画,所以都属于moment视角。

period=某段时间内对系统变化的刻画。代码层面上,一段时间内的代码变化,执行时期栈的追踪,多线程等。组件视角上,版本变化、事件日志等

2、质量因素

外部因素:正确性、健壮性、可复用性、可扩展性等影响软件使用者的因素

内部因素:代码可读性、代码行数、代码逻辑、代码结构(内聚、耦合)、清晰度、规模等影响软件开发者的因素

正确性是最重要的外部质量因素

3、版本控制

SCM(软件配置管理)>=VCS(版本控制系统)

SCM:

  • 追踪和控制软件的变化
  • 软件配置项SCI:软件中发生变化的基本单元(文件:Component-Level

VCS:

  • 本地版本控制系统:仓库存储于开发者本地机器,无法共享和合作
  • 集中式版本控制系统:仓库存储于独立的服务器,支持多开发者之间的协作
  • 分布式版本控制系统:仓库存储于:独立的服务器 + 每个开发者的本地机器

关于Git

基本指令:

git add:添加文件

git commit -m "message":提交到本地仓库

git commit -a:直接提交到本地仓库

git push origin master:提交到远程仓库

git pull origin master:从远程仓库pull

分支管理:

新建分支:git checkout -b branch_name
切换分支:git checkout branch_name | git checkout master
选择一个分支与当前分支合并:git merge

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值