哈工大软件构造复习1(1,3章)

                                     1 Views and Quality Objectives oSoftware Construction

软件的多维度视图及质量目标

 

划分:

1.按阶段划分 :build- and run-time views

2.按动态性划分:moment and period views

3.按构造对象的层次划分:code and component views

 

软件构造的五个关键质量目标:
-易理解
-可变化性
-开发成本
-安全性
-性能
 
外部质量因素:correctness(正确性),robustness(健壮性),extendibility(可扩展性),reusability(可复用性),compatibility(兼容性)
除此之外还有可以执行,可修复性,经济性等等
 
内部的质量因素:代码行数、低耦合、可读性、可理解性、清洁度等
 
2021年第一题:

 

 代码可读性属于内部质量属性

 
 
 

 

 

 多维度视图:

concurrent multithreads 并发多线程

concurrent multithreads 并发多线程

code-level:代码层面

component-level:程序块层面

build-time:构造阶段

run-time:运行阶段

AST (Abstract Syntax Tree) 抽象语法树

SCI (Software Configuration Item) 配置项

concurrent multithreads 并发多线程

Moment 特定时刻的软件状态

Period 软件状态随时间的变化

2021年第二题:

 

 答案应当为C

 

                                             3 Software Construction Process and Configuration Management

软件构造过程及配置管理

SCM:软件配置管理,追踪、控制软件的变化

SCI:软件发生变化的基本单元

VCS:

-本地版本控制系统:仓库存储于开发者本地机器,无法共享和合作

-集中式版本控制系统:仓库存储于独立的服务器,支持多开发者之间的协作

-分布式版本控制系统:仓库存储于:独立的服务器 + 每个开发者的本地机器

git命令:

git init
git add :将工作目录下的版本提交到暂存区
git add readme.md:将文件添加到暂存区,开始对这些文件进行跟踪
git commit :将暂存区文件提交到本地仓库
git push:将本地仓库的文件提交到远程仓库
git checkout a:切换到分支a
git checkout -b a1:创建分支并切换分支

每个commit指向一个父亲

合并:一个commit指向多个父亲

分支:多个commit指向一个父亲

习题:

 

 明显看到B选项中,应当是提交暂存区文件

                                                                                                  

posted @ 2022-06-13 16:09  feeling123  阅读(46)  评论(0)    收藏  举报