软件构造1,3节知识点总结

1.软件构造的多维度视图

Moment:Source code,AST,Interface-Class-Attribute-Method(Class Diagram);Package,File,Static Linking,Library,Test Case,Build Script(Component Diagram);Code Snapshot,Memory dump;Package,Library,Dynamic linking,Configuration,Database,Middleware,Network,Hardware(Deployment Diagram)

Period:Code Churn;Configuration Item,Version;Execution stack trace,Concurrent multi-threads;Event log, Multi-processes,Distributed processes;Procedure Call Graph,Message Graph(Sequence Diagram)

Build-time:Source code,AST,Interface-Class-Attribute-Method(Class Diagram);Package,File,Static Linking,Library,Test Case,Build Script(Component Diagram);Code Churn;Configuration Item,Version;

Run-time:Code Snapshot,Memory dump;Package,Library,Dynamic linking,Configuration,Database,Middleware,Network,Hardware(Deployment Diagram) Execution stack trace,Concurrent multi-threads;Event log, Multi-processes,Distributed processes;Procedure Call Graph,Message Graph(Sequence Diagram)

Code-level:Source code,AST,Interface-Class-Attribute-Method(Class Diagram);Code Snapshot,Memory dump;Code Churn;Execution stack trace,Concurrent multi-threads;Procedure Call Graph,Message Graph(Sequence Diagram)

Component-level:Package,File,Static Linking,Library,Test Case,Build Script(Component Diagram);Package,Library,Dynamic linking,Configuration,Database,Middleware,Network,Hardware(Deployment Diagram);Configuration Item,Version;Event log, Multi-processes,Distributed processes;Procedure Call Graph,Message Graph(Sequence Diagram)

2.软件构造的阶段划分,各阶段的构造活动

从无到有代码:编程,技术手段是ADT/OOP 面向对象的编程

从代码到组件:设计,技术手段是ADT/OOP 面向可复用性和可维护性

从构建阶段到运行阶段: Debug,单元测试或者融合测试,面向健壮性和正确性

从时刻到时段:版本控制,动态链接

所谓开发就是各视图的相应转换,排序,查找,各种计算等。

3.内部/外部的质量指标

外部质量因素影响用户,内部质量因素影响软件本身和它的开发者。外部质量取决于内部质量。

外部:正确性:最重要的质量指标;健壮性:针对异常情况的处理;可扩展性:规模越大,扩展起来越不容易。为什么要扩展:应对变化;可复用性:一次开发,多次使用,发现共性;兼容性:不同的软件系统之间相互可容易的集成;高效性:性能毫无意义,除非有足够的正确性。对性能的关注要与其他质量属性进行折中。过度的优化导致软件不再适应变化和复用;可移植性:软件可方便的在不同的技术环境之间移植。硬件、操作系统;易用性:容易学、安装、操作、监控。给用户提供详细的指南。;功能性: 每增加一小点功能,都确保其他质量属性不受到损失;及时性,可验证性,完整性,可修复性,经济性……

内部:源代码相关因素,例如代码行数、圈复杂度等。与架构相关的因素,如耦合、内聚等。可读性 易懂 清晰度 尺寸。

4.软件配置管理SCM与版本控制系统VCS

SCM:

首先是SCI软件配置管理项,其次是baseline基线区分一次次软件不同版本,CMDB配置数据库存储配置每个版本软件相关信息,Versioning标志不同版本

VCS:一共有三类

1).Local VCS将上述信息存储于开发者本地机器

2).Certralized VCS存储于独立的服务器

3).Distribute VCS存储于独立的服务器和各个开发者的本地机器

5.Git的结构,工作原理,基本指令

Git的结构分为三部分:本地库,暂存区,工作区

Git的工作原理:

将文件分析判断是否为经过修改的文件,只存储修改之后的文件,并不额外存储原来的文件。

Git的基本指令:git init:初始化一个git仓库git clone:clone一个git仓库git config:配置信息git add:添加文件到缓存命令git status:查看文件的状态命令git diff:查看更新的详细信息命令git commit:提交命令git reset HEAD:取消缓存命令git rm:删除命令git mv:移动或重命名命令git branch:查看分支命令git branch (branchname):创建分支命令git checkout (branchname):切换分支命令git merge:合并分支命令git branch -d (branchname):删除分支命令git remote add:添加远程仓库git remote:查看当前的远程仓库git fetch、git pull:提取远程仓仓库git push:推送到远程仓库git remote rm:删除远程仓库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值