宜信(刘志波)技术培训

第 1 章 第一部分 软件项目管理

1.1 传统的 软件项目管理流程

可行性分析阶段:可行性分析报告
 需求阶段:需求说明书、需求规格(分析)说明书
 设计阶段:概要设计说明书、详细设计说明书
 开发阶段:软件开发框架、重点难点攻关
 测试阶段:测试用例、测试报告
 运维阶段:运维手册、运维报告
 运营阶段:运营手册、运营报告
小结:
测试工作 简述: 软件 的实际承载能力, 例如Tomcat实际承受 并发350 、 独立接口 和集成阶段测试 。
运维工作 简述:7*24 小时 服务,每天系统的报告,异常数量连接数 。
运营工作 简述 : 生产环境出问题怎么解决,需要完整解决系统问题 的 流程,统计业务量 、需求 指 标量 报告。

1.2 敏捷 的软件项目管理流程

 需求阶段:产品需求说明书
 设计阶段:流程设计、数据库设计、接口设计
 开发阶段:软件开发框架、重点难点攻关
 测试阶段:测试用例、测试报告
 运维阶段:运维手册、运维报告
 运营阶段:运营手册、运营报告
小结:
对于 复杂度高的项目需要一个稳定的团队,大家的思路和框架流程都熟悉 ;
对于 简单的项目增删改查,这时需要的 只是 简单的人员

1.3 项目 评审

 需求评审:对需求进行质询,明确需求内容、范围
 设计评审:确认设计方案、重点难点解决方案,依据评审结果进行开发工作量评估
 测试用例评审:确认用例覆盖度
小结:
项目真正 的目 、 明确需求 、 内容 、范围 、 并 构建最终 明确文档( 只可 微调) 。
会议评审 主要 对于 每个人的对于 方案 的解决方法,
解决 需求确认,评审确认后的时间概念:选择团队中的某一个人( 中间 人只做参考-中级程序员) , 根据中间点来确定工作量的完成 时间 。
沟通 交流培育的成本,五个人和十个人不一定 时间 就能提前 , 技术是细节 重要 的是 测试 和评审

1.4 测试流程

 开发人员自测、交叉测试
 第一轮测试
 第二轮测试
 UAT (用户验收)测试
 准生产环境测试
 生产环境验证
小结 :
第一轮: 是代码提交测试
第二轮:测试 人员  集成测试 
主要 解决 版本 问题 等git 的版本控制根据我们的环境来定义我们的版本,例如truck 版本
测试 人员发布版本  UAT测试  内网测试
准生产 环境  和 上产环境时 保持 一致  生产环境验证
注意 : 测试环节是保证系统安全上线的最关键环节,每一轮测试都需要提供独立的测试环境。

1.5 上线 流程

 产品人员提出上线申请
 测试人员将代码部署至 UAT 环境
 产品人员进行 UAT (用户验收)测试
 运营人员进行准生产环境测试
 运营人员进行生产环境验证

第 2 章 软件 架构设计

2.1 业务架构 分解

2.2 技术 架构 —部署 要求

 高可用架构 的重要性
 数据 的前瞻性 提前 备份防范
 安全 十分总要 、例如 :增加安全组 进行 安全扫描才能上线
 安全 漏洞:框架漏洞 黑客 脚本,
 根据 业务线选择 上线时间
 各类数据 缓存要求
缓存小结 :
字典 类数据 采用本地缓存效率 更高
用户数据动态 数据采用 分布式 缓存
其余 放在 表结构 等定长 文本 放入 mysql

2.3 技术架构—分布式 CAP 理论

 一致性( C ):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
 可用性( A ):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
 分区容忍性( P ):一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里

应用 服务器集群架构

业务 拆分

分布式 数据的一致性解决 方法 :
每 500 万 一个库 群组 做分库
冷热 数据的区分和隔离 时间 的分片原则 每一小时 就会生成一个库

基于 所有的东西都拆分开

2.4 技术 架构 —— 架构设计 误区

一味追随大公司的解决方案
为了技术而技术
企图用技术解决所有问题

第 3 章 技术杂谈

3.1 技术 杂谈 ——jvm 调尤

 jvm 优化
 j vm 学习 方向
 jvm 逻辑 问题

3.2 技术杂谈—内存参数设置

vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-vmargs 说明后面跟随的是JVM的参数设置
-Xms128m JVM初始分配的堆内存
-Xmx512m JVM最大允许分配的堆内存,按需分配
-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

3.3 技术杂谈—数据库的四个隔离级别

 数据库操作面临的问题:脏读、不可重复读、幻读、更新丢失。
 为了避免上面出现的几种情况,在标准 SQL 规范中,定义了 4 个事务隔离级别:
 读未提交( Read Uncommitted )
 读已提交( Read Committed )
 可重复读取( Repeatable Read )
 序列化( Serializable )

3.4 技术杂谈— Spring 中的事务传播特性

 PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启
 PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行
 PROPAGATION_MANDATORY: 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
 PROPAGATION_REQUIRES_NEW: 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。
 PROPAGATION_NOT_SUPPORTED: 总是非事务地执行,并挂起任何存在的事务。
 PROPAGATION_NEVER: 总是非事务地执行,如果存在一个活动事务,则抛出异常
 PROPAGATION_NESTED :如果一个活动的事务存在,则运行在一个嵌套的事务中 . 如果没有活动事务 , 则按 TransactionDefinition.PROPAGATION_REQUIRED 属性执行

3.5 技术杂谈—程序员的职业生涯

 1-3 年,初级:做好增删改查功能,熟练使用开发框架,培养良好的思维习惯
 3-5 年,中级:能够完成简单系统的设计,独立完成系统的开发
 5-10 年,高级:深入理解技术原理,配合架构师完成架构落地,解决重点难点问题
 10 年以上,架构师:项目评审、架构设计、技术选型、重点难点分析、技术攻关、沟通与协调、提升理论知识

第 4 章 指出 问题

接口 流程: 写完代码 要给接口 方 提供可用完成的接口 。
评估 工作: 项目的评估到个人工作的评估,工作 量 评估 范围 取决 于中间 评估人。
任务 完成: 每个人 接任务的时候要清除自己的工作目标必须有时间的约束 。
工作 范围: 说任何话 做任何事都要有范围的,不然都是错的 。
测试 人员:测试 人员是 最重要的 环节 ,决定项目能否上线的必须流程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值