[软件工程/数据工程] 软件工程&数据工程知识体系
1 概述
本篇是为了重新总结、重新编写5年前(
2018-12-31 00:06),临近毕业时的一篇文章软件工程专业知识体系[求职/就业]而作,至此篇文章发布时,原文文章应已被删除。但第1章节中仍会存在当初的一些内容和观点。
1.1 本科阶段#期望的软件开发能力
Java后端知识体系

Web前端知识体系


1.2 本科阶段#达成的专业素养/开发能力
自己专业能力上又会些什么。总体特点:开发能力全而广,但深度不够。


1.3 本科阶段#达成的软件工程专业的学科知识体系
终究是要毕业走人了,简单回顾一下这三年半专业教育,都学了些什么。


2 软件工程&数据工程知识体系
软件工程的
三要素:方法、工具、过程、 +原理
2.1 硬件层: 数电 / 模电 / 嵌入式
2.2 计算机组成原理 & 汇编
2.3 数据结构与算法
2.4 操作系统
2.6 数据库
2.5 计算机网络
2.7 语言/开发 & 软件应用 & 工具/技术
2.8 程序设计思想 & 系统分析/建模 & 体系结构
- 面向结构/过程的程序设计思想 & 面向对象程序设计思想
- POA(Procedure-Oriented Analysis) vs OOA(Object-Oriented Analysis)
- Procedure-Oriented Programming(POP) vs Object-Oriented Programming(OOP)
- ...
- UML
OOA : Object-Oriented Analysis(面向对象分析) 是指确定需求或者业务的角度,按照面向对象的思想来分析业务。
OOD : Object-Oriented Design(面向对象设计) 是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。
OOP : Object-Oriented Programming (面向对象编程) 是以建立模型体现出来的抽象思维过程和面向对象的方法。
OOT : Object-Oriented Testing (面向对象测试) 对于用OO技术开发的软件,在测试过程中继续运用OO技术,进行以对象概念为中心的软件测试 。
OOSM : Object-Oriented Software Maintenance (面向对象软件维护) 指根据需求变化或硬件环境的变化对面向对象应 用程序进行部分或全部的修改,修改时应充分利用源程序。
OOM : Object-Oriented Method(面向对象方法) 当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个error
- 设计模式
- 软件体系结构 / 软件架构
2.9 软件测试与质量保障
2.10 软件过程 & 软件生命周期
- 瀑布模型 / 敏捷模型 / ...
- Devops
- ...
2.X 软件工程管理 | 思维 & 管理 & 沟通 & ...
- 软件工程
- 项目管理
3 软件工程&数据工程的工具链/技术栈
4 软件工程的阅读清单
5 数据工程的阅读清单
Y 推荐文献
X 参考文献
[软件工程/数据工程] 软件工程&数据工程知识体系的更多相关文章
- Atitit 研发体系建立 数据存储与数据知识点体系知识图谱attilax 总结
Atitit 研发体系建立 数据存储与数据知识点体系知识图谱attilax 总结 分类具体知识点原理规范具体实现(oracle,mysql,mssql是否可以自己实现说明 数据库理论数据库的类型 数据 ...
- 工程造价数据服务云平台(造价BIM)
为响应招标人的<ZQH工程造价数据平台>的技术邀约,特作以下陈述. 经过多次沟通和对招标文件的理解,招标人通过软件平台建立和使用人员库.项目库.材料设备价格库.数据库等四库的真实需求,本着 ...
- sklearn中的数据预处理和特征工程
小伙伴们大家好~o( ̄▽ ̄)ブ,沉寂了这么久我又出来啦,这次先不翻译优质的文章了,这次我们回到Python中的机器学习,看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下我的开发环境是 ...
- 机器学习实战基础(十五):sklearn中的数据预处理和特征工程(八)特征选择 之 Filter过滤法(二) 相关性过滤
相关性过滤 方差挑选完毕之后,我们就要考虑下一个问题:相关性了. 我们希望选出与标签相关且有意义的特征,因为这样的特征能够为我们提供大量信息.如果特征与标签无关,那只会白白浪费我们的计算内存,可能还会 ...
- 机器学习实战基础(八):sklearn中的数据预处理和特征工程(一)简介
1 简介 数据挖掘的五大流程: 1. 获取数据 2. 数据预处理 数据预处理是从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程 可能面对的问题有:数据类型不同,比如有的是文字,有的是数字 ...
- 机器学习实战基础(十):sklearn中的数据预处理和特征工程(三) 数据预处理 Preprocessing & Impute 之 缺失值
缺失值 机器学习和数据挖掘中所使用的数据,永远不可能是完美的.很多特征,对于分析和建模来说意义非凡,但对于实际收集数据的人却不是如此,因此数据挖掘之中,常常会有重要的字段缺失值很多,但又不能舍弃字段的 ...
- 大数据Hadoop-Spark集群部署知识总结(一)
大数据Hadoop-Spark集群部署知识总结 一.启动/关闭 hadoop myhadoop.sh start/stop 分步启动: 第一步:在hadoop102主机上 sbin/start-dfs ...
- Java基础知识强化之网络编程笔记06:TCP之TCP协议发送数据 和 接收数据
1. TCP协议发送数据 和 接收数据 TCP协议接收数据:• 创建接收端的Socket对象• 监听客户端连接.返回一个对应的Socket对象• 获取输入流,读取数据显示在控制台• 释放资源 TCP协 ...
- Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据
1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源 UDP协议接 ...
- Salesforce 数据备份和恢复小知识
数据备份的类型 在Salesforce中可以使用多种API进行数据备份,它们是: REST API SOAP API Buik API Metadata API 数据备份有三种选择: 完全备份(Ful ...
随机推荐
- withRouter
withRouter 可以加工一般组件,让一般组件具备路由组件所特有的api,比如this.props.history withRouter的返回值是一个新组件 import {withRouter} ...
- 面向对象程序设计 第二章 C++简单的程序设计
目录 C++语言的特点 1.兼容C语言 · 它保持了C的简洁.高效和接近汇编语言等特点. · 对C的类型系统进行了改革和扩充. · C++也支持面向过程的程序设计,不是一个纯正的面向对象的语言 2.支 ...
- UE C++教程之接口 UINTERFACE
我是谁不重要,重要的是,我能做什么. 近期笔者在进行UE的开发时,实现多武器的换弹与开火需要用到接口.而笔者以前是做Unity开发的,遂没有使用过UE C++的UINTERFACE,而这个接口在使用过 ...
- 枚举类list序列化与反序列化
//序列化 public class AuthTypeEnumListJsonSerializer extends JsonSerializer<List> { @Override pub ...
- Python抓取数据具体流程
之前看了一段有关爬虫的网课深有启发,于是自己也尝试着如如何过去爬虫百科"python"词条等相关页面的整个过程记录下来,方便后期其他人一起来学习. 抓取策略 确定目标:重要的是先确 ...
- JS第一节课
document.getElementById() id document.getElementsByClassName() class document.getElementsByNa ...
- C语言初级阶段7——指针1
C语言初级阶段7--指针1 地址与指针 1.地址:数据在内存中的存储位置编号,是一个常量. 2.指针:指针的本质就是地址. 指针变量的定义和声明 1.指针变量:存储的数据是地址. 2.定义方法:类型* ...
- vite设置跨域
1. vite.config.ts或者vite.config.js文件 server: { port: 3001, host: '0.0.0.0', open: true, proxy: { // 代 ...
- Python - XSS-Attribute
参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-attribute-xss-attribute/kbid-3 ...
- Docker 修改容器中的mysql密码
1.查看容器服务 docker ps2.进入mysql容器 docker exec -it mysql /bin/bash 注:mysql为容器的名字 3.登录MySQL mysql -u root ...