软件工程的发展是个交叉学科不断引入的过程。
工程方面像福特8D 报告制度、
从问题定义、直接影响和间接影响范围、
怎么暂时性解决、怎么通过流程永久性解决。这个处理问题的思路就很好。
单一模块方面:像Selinux,系统级安全模块。
思想来源美国国家安全部,参考了他们对敏感文件的管理策略。
将传统基于用户组的策略改变为标签化访问、分为各种域,
2个人可以分1组、3个人可以分2组 、4个6组 ,n 个 分为n-1的阶和组。高斯公式。
更网状,更灵活。实际不需要那么多。
设计模式的思想又来源于建筑学,结构化组件、抽象、统一外观、输入和输出。
将门、窗、壁纸颜色 对等 类抽象、虚函数和子函数的继承、重写。
还有资源管理,树的枝节点思想引入,用于文件快速索引。
一个节点挂个数据,树上挂数啊。
再往后
人工智能,又会引入了制药、基因分析、脑科学。
福特的八级报告制度
福特作为第一个引入生产线的公司、在工程管理方面创建8D报告制度。
概述为:
1、问题确认、定义、分析。
2、产生原因、直接影响结果、影响范围。
2、暂时性解决方式、系统流程--》永久解决方式。
这个思想不仅在工程领域、在个人学习、工作都可以引用。
Selinux
Selinux 思想来源于美国五角大楼、 用于文件资源权限管理。
可以这样理解,一个图书馆,根据访问者权限区分为:校长、老师、学生。
但是这种比较刻板,校长能看的书籍里面如何定向开放给学生、同时不打乱校长的资源设置。
selinux 将访问者、图书、行为标签化,这样是一个网状结构。
通过访问者和图书进行规则绑定,形成规则,完成定制化访问策略。