软考攻略/超详细/系统集成项目管理工程师/基础知识分享15
5.5 部署交付
5.5.1 软件部署(掌握)
软件部署是软件生命周期中的一个重要环节,属于软件开发的后期活动,即通过配置、安装和激活等活动来保障软件产品的后续运行。应用系统的配置是整个部署过程中的主要错误来源。
5.5.2 软件交付(掌握)
传统的软件交付过程是指在编程序改代码之后,直到将软件发布给用户之前的一系列活动,如提交、集成、构建、部署、测试等。
5.5.3 持续交付(掌握)
持续交付是一个完全自动化的过程,当业务开发完成的时候,可以做到一键部署。
5.5.4 持续部署(掌握)
1、持续部署方案
容器技术目前是部署中最流行的技术,常用的持续部署方案有Kubernetes+Docker和Matrix系统两种。
2、部署原则
3、部署层次
部署一套可正常运行的环境,完整的镜像部署包括三个环节:Build-Ship-Run
Build:和传统的编译类似,将软件编译形成RPM包或者jar包
Ship:则是将所需的第三方依赖和第三方插件安装到环境中
Run:就是在不同的地方启动整套环境
4、不可变服务器
很好地解决了第三方依赖库的重构问题,容器部署就像一个集装箱,直接把所有需要的内容全部打包进行复制和部署。
5、蓝绿部署和金丝雀部署
蓝绿部署是指在部署的时候准备新旧两个部署版本,通过域名解析切换的方式将用户使用环境切换到新版本中,当出现问题的时候,可以快速地将用户环境切回旧版本,并对新版本进行修复和调整。
金丝雀部署是指当有新版本发布的时候,先让少量用户使用新版本,并且观察新版本是否存在问题。如果出现问题,就及时处理并重新发布;如果一切正常,就稳步地将新版本适配给所有的用户。
5.5.5 部署和交付的新趋势(了解)
持续集成、持续交付和持续部署的出现及流行反映了新的软件开发模式与发展趋势。
5.6 软件质量管理(掌握)
软件质量就是软件与明确地和隐含地定义的需求相一致的程度。从管理者的角度出发,可以将影响软件质量的因素划分为3组,这三组分别是产品运行、产品修改和产品转移
软件质量保证(SQA)的关注点集中在一开始jiu7避免缺陷的产生。
软件质量保证的目标是以独立审查的方式,从第三方的角度监控软件开发任务的执行。
软件质量保证的主要作用是给管理者提供预定义的软件过程的保证
软件质量保证的主要任务包括:SQA审计与评审、SQA报告、处理不合格问题。