go语言项目开发
团队开发
团队开发是软件设计必不可少的一个阶段,特别是当我们需要设计一个功能齐全,使用人数多的软件系统时,团队开发显得尤为重要.目前较为流行的软件开发模型是传统瀑布模型,我们将团队开发流程分为需求分析,开发阶段,测试阶段,发布阶段,运维阶段.前一个阶段完成之后才可以完成下一个阶段,但这种模型需要保证每个流程都按时完成,否则极其影响软件开发效率. 团队开发时,需求分析阶段时,专业团队主要使用PVM设计方法当用户提出一个功能时,我们首先会设计一个简单的功能交付给用户,之后再根据用户新的意见不断改进.同时,我们会按照功能的重要性安排时间,将重要功能放在重要的地位并花费多的时间开发.
开发阶段,如今公司开发软件大都在云原生开发系统中,我们进入公司后直接打开网页便可以开始工作.
测试阶段,技术人员主要进行UI测试,系统测试,集成测试和单元测试.有时小组进行功能测试时仅仅保证程序能正常运行,但在集成测试时会出现许多问题,所以在开发程序时需要程序员有良好的开发能力,避免开发存在较多隐形错误的程序.
发布阶段有蛮力发布,金丝雀发布,滚动发布,蓝绿发布.如今流行的模型是滚动发布.发布时,我们检查服务的日志,监控,发布阶段,我们需要安排值班人员监测发布系统的运行情况.字节跳动使用的发布模式是滚动发布,也就是将发布项目划分成若干模块,之后一个模块发布完成后若系统无误在发布下一个模块.
另一种软件开发模型是敏捷开发模型,我们将系统模块化分为多个小型功能模块,将每个模块分给小型软件开发团队.这样可以加快软件开发效率,节省开发人员精力.
这里有一些专业名称.
PD:研发,PM:产品经理,PRD:需求文档,UED:用户体验设计,QA:测试,Scrum1:敏捷团队1,P0/P1:优先级0和优先级1
老师推荐了一本<<Google软件测试之道>>这本书
总之,团队开发需要开发人员用拥有较强的团队意识,沟通能力和开发能力保证项目开发效率.
企业架构开发
一个软件的
架构分为单机架构,分布式部署,.
如何卖更多蛋糕
爆炸半径大
如何提高做蛋糕效率
微服务相比于SOP解决了解耦问题和过微.解决了SOA的去中心化.
微服务问题:一,数据一致性,统计共交付了多少蛋糕;二,高可用,师傅合作;三,治理,烤箱坏了,怎么容灾;四,解耦vs过微,运维成本高.
企业流行技术
云计算
云计算的架构分为基础框架层,平台层,软件层和功能层.
云原生
云原生技术是将微服务框架,服务网格,DevOps技术和弹性资源结合的动态开发环境. 弹性计算资源类型有服务资源调度的微服务框架,计算资源调度(在线的热销榜单和离线的热销榜单更新),消息队列(在线的肖锋和解耦,离线的大数据分析).弹性存储资源有关系性数据库,元数据,NoSQL,用于宣传视频的对象和大数据(用户消费记录) DevOps是软件交付的自动化流程.
问题
初次学习微服务框架,对单元解耦,业务解构等专业名词还不是很了解. 希望有大佬可以解读.