第五章:软件工程(5.5部署交付--5.7软件过程能力成熟度)

5.5 部署交付

5.5.1 软件部署

软件部署过程的主要特征有:过程覆盖度、过程可变更性、过程间协调和模型抽象。
已经提出一些抽象的软件部署模型,用于有效地指导部署过程,包括应用模型、组织模型、站点模型、产品模型、策略模型和部署模型。

软件部署模式分为面向单机软件的部署模式、集中式服务器应用部署和基于微服务的分布式部署

5.5.2 软件交付

传统的软件交付过程是指在编程序改代码之后,直到将软件发布给用户使用之前的一系列活动,如提交、集成、构建、部署、测试等。

5.5.3 持续交付

持续交付是一系列开发实践方法,用来确保代码能够快速、安全地部署到生产环境中。持续交付是一个完全自动化的过程,当业务开发完成的时候可以做到一键部署。

5.5.4 持续部署

1.持续部署方案

容器技术目前是部署中最流行的技术,常用的持续部署方案有Kubernetes+Docker和Matrix系统两种。

2.部署原则

a. 部署包全部来自统一的存储库;

b. 所有的环境使用相同的部署方式:

c. 所有的环境使用相同的部署脚本;

d. 部署流程编排阶梯式晋级,即在部署过程中需要设置多个检查点,一旦发生问题可以有序地进行回滚操作;

e. 整体部署由运维人员执行;

f. 仅通过流水线改变生产环境,防止配置漂移:

g. 不可变服务器;

h. 部署方式采用蓝绿部署或金丝雀部署

3.部署层次

完整的镜像部署包括3个环节:Build-Ship-Run

Build: 跟传统的编译类似,将软件编译形成 RPM包或者Jar 包:

Ship: 将所需的第三方依赖和第三方插件安装到环境中:

Run: 就是在不同的地方启动整套环境

4.不可变服务器

现阶段使用容器部署不但继承和优化了虚拟机部署的优点,而且很好地解决了第三方依赖库的重构问题,容器部署就像一个集装箱,直接把所有需要的内容全部打包进行复制和部署。

5.蓝绿部署和金丝雀部署

蓝绿部署 是指在部署的时候准备新旧日两个部署版本,通过域名解析切
换的方式将用户使用环境切换到新版本中,当出现问题的时候,可以快速地
将用户环境切回旧版本,并对新版本进行修复和调整。

金丝雀部署 是指当有新版本发布的时候,先让少量用户使用新版本
并且观察新版本是否存在问题。如果出现问题,就及时处理并重新发布;如
果一切正常,就稳步地将新版本适配给所有的用户。

5.5.5 部署和交付的新趋势(了解为主,这里不提供)

5.6 软件质量管理

软件质量就是软件与明确地和隐含地定义的需求相一致的程度

文档中明确描述的开发标准以及所有专业开发的软件都应具有的隐含特征的程度

从管理角度出发,可以将影响软件质量的因素划分为3组,分别反映用户在使用软件产品时的3种不同倾向和观点。这3组分别是产品运行、产品修改和产品转移

软件质量保证的关注点集中在一开始就避免缺陷的产生

软件质量保证的目标 是以独立审查的方式,从第三方的角度监控软件开发任务的执行

软件质量保证的主要作用 给管理者提供预定义的软件过程的保证

软件质量保证的主要任务 包括:SQA审计与评审、SQA报告、处理不合格问题

5.7 软件过程能力成熟度

成熟度等级::-》

等级结果特征
1级:初始级软件过程和结果具有不确定性
2级:项目规范级项目基本可按计划实现预期的结果
3级:组织改进级在组织范围内能够稳定地实现预期的项目目标
4级:量化提升级在组织范围内能够量化地管理和实现预期的组织和项目目标
5级:创新引领级通过技术和管理的创新,实现组织业务目标的持续提升引领行业发展

PS: 更多关于系统集成项目管理工程师笔记 点击专栏订阅(持续更新~~~)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HappyAcmen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值