软件设计与开发体系

作者:陆金龙    发表时间:2024-02-25 04:25   

关键词:  

一、软件开发的六大基石(Foundation)
1.操作系统原理  (内存模型和并发)
2.数据结构与算法 (Java、C语言类型设计)
3.网络技术(网络模型、通讯协议、安全通讯) 
4.存储技术(关系型数据库和NoSQL)
5.编译型高级语言原理(Java及Java虚拟机、编译原理)
6.编程思想(面向对象与设计模式)
 
二、软件开发的六大技术栈(Development Skill)
1.嵌入式、NDK(略)
2.网络通讯(HTTP、HTTPS、MQTT(Socket、SSL Socket)、WebSocket、证书、跨域、统一身份验证)
3.服务端架构:Ngix及集群 、Java 微服务(SSM SpringBoot Eureka )及集群、Redis集群和MyBatis MySQL集群、时序数据库influxDB、PostgreSQL、Kafka、消息中间件及集群(EMQ RabbitMQ)、分布式(文件图片、前端、后端、消息中间件、数据库)
4.前端框架:Webpack+Vue+相关组件(框架、UI)+Echarts+Map、兼容性处理、网页资源大小控制、加载速度
5.移动端框架(Android):架构(应用与module、APP框架(如路由等)与业务组件、基础库和组件)、Android Framework、View体系和自定义UI组件、UI卡顿和内存泄漏处理、复杂布局及UI的自适应与兼容性处理、热更新
6.开发运行管理环境:GitLab、Docker、Jenkins、k8s
 
三、软件工程与系统架构(Architecture)
1.开发管理:1)沟通与管理(会议、Jira项目进度、Confluence文档、周月报) 2)团队建设(职级:助理、工程师、前后端组长、研发主管/架构师、部门经理;岗位:产品、测试、前端、后端、架构;分享与培训)3)KPI考核与反馈(产品岗、测试岗、开发岗、开发管理岗)
2.业务与需求的研究
3.系统架构设计和整体技术方案(存储、服务端技术选型、前端技术选型、通讯机制、安全机制、高性能、高并发和可扩展方案)
4.UML设计与技术文档(开发、部署、测试)
5.编程语言和技术的预研