软考找老孙
软考找老孙guoruankao.com
付费第25讲 / 共84讲

第25讲:"智慧邻里"的"地基"(数据工程)

 

字数 9734,阅读大约需 49 分钟

第25讲:"智慧邻里"的"地基"(数据工程)

【老孙开篇寄语】

同学们,欢迎来到“工程篇”的第五站。

在过去的几讲中,我们,为“智慧邻里”这座“软件城市”,规划了“功能分区”(用例图),设计了“交通干道”(活动图),搭建了“建筑骨架”(类图),并彩排了“市民的活动”(顺序图)。

今天,我们要来关注,这座城市,最“底层、最核心、最不可或-缺”的基础设施——供水系统

在软件世界里,“”,就是“数据(Data)”。

数据,是现代IT系统的“血液”和“石油”。我们之前,所做的一切“功能”和“流程”,其本质,都是在“处理”和“流转”数据。一个没有“数据”的系统,就像一座“没有市民的空城”,毫无价值。

数据工程(Data Engineering),就是一门,关于“如何,为一座城市,设计、建造、和维护一套‘高效、安全、纯净’的供水系统”的科学。

在这一讲中,我们将扮演“数据总工程师”的角色。

  • • 我们将从“哲学”的层面,去探讨“数据、信息、知识、智慧”之间的“升华之路”,理解我们,做数据工程的“终极目的”。
  • • 我们将穿越“历史”,去亲历一场“数据库的战争”,理解“SQL”与“NoSQL”这两大“门派”,各自的“武功”和“适用场景”。
  • • 我们将深入“实践”,去系统地,学习“数据建模”的“三重境界”,并亲手,为“智慧邻里”项目,绘制出它的“数据蓝图”——E-R图
  • • 最后,我们将挑战,整个数据库理论中,最“烧脑”,但也最“精髓”的部分——数据库范式(Normalization),去学会,如何,设计出“没有冗余、不会出错”的“完美”数据结构。

这是一堂“奠定根基”的课。学好它,你将掌握,构建一个“健壮、可靠、可扩展”的软件系统的“底层密码”。

第一章:上节回顾与热身

1.1 上节核心回顾

在铺设“数据管道”之前,我们先快速回顾一下,上一讲,我们作为“建筑结构师”,所掌握的两大“微观设计工具”:

  1. 1. 工具一:类图——绘制“静态的解剖图”
    • • 我们深刻地认识到,类图,是系统的“静态户籍库”。它,通过“”和“六大关系”,清晰地,描绘了系统的“组成结构”和“基因图谱”。
    • 高项认知: 一个“健康”的系统,其类图,必然“疏朗有致”,充满了“弱关联”。而一个“腐烂”的系统,其类图,一定是“蛛网密布”的。看懂类图的“耦合度”,是项目经理,识别“技术债”的“X光眼”。
  2. 2. 工具二:顺序图——描绘“动态的心电图”
    • • 我们学习了,如何,用“顺序图”,特别是,利用“生命线、消息、和高级片段”,来像“电影分镜”一样,清晰地,描绘一个“功能”背后的“对象交互”过程。
    • 高项认知: 类图,回答了“有什么”;顺序图,回答了“怎么动”。只有,将“静态结构”与“动态行为”,结合起来,我们,才能,完整地,理解一个“设计”。

1.2 上节课后作业精讲

上一讲的第三个作业,是一个“极具实战价值”的“真实两难”问题。它,要求你,戴上“项目经理”的帽子,去“仲裁”一场,关于“技术设计”的“路线之争”。

场景复盘:
在“在线报修”功能的设计评审会上,两位核心程序员,小张和小王,对“工单(RepairOrder)”的处理流程,提出了两种不同的设计方案,并为此,争论不休。

  • 小张(方案A - 简单设计): 他主张,就在RepairOrder表里,增加一个status字段(比如,1-待处理, 2-处理中, 3-已完成)。
    • 理由:快! 今天,就能写完!符合‘敏捷开发、快速迭代’的原则!”
以上为前 20% 预览,完整内容请登录后查看
微信扫码登录

登录查看完整内容

本讲属于"高项精品图文课程"课程内容。微信扫码登录后,系统会自动识别你的课程权限并直接返回本页。

使用微信扫描二维码,授权后自动登录并返回本页

二维码未显示?点此打开

相关推荐

继续深入学习「高项精品图文课程」其他课时

意见反馈
回到顶部咨询