第一篇概念
1 复杂性
软件复杂性 → 项目延迟、超预算、有缺陷,
即:软件危机 → 人力资源浪费、机会丧失
1.1 复杂系统的结构
世界是复杂的,以下举例论证。
1.1.1 个人计算机的结构
层次化 → 每一层有一组设备协作,为更高层提供服务
各部件协同工作
各部件为独立逻辑整体
(1.1.2提到,Disk中也有NAND门→基本组件可能存在于不同的高级部件中)
1.1.1 植物和动物的结构
【抽象层】:内外之间有清晰边界,不同抽象层的不同部分间,分离关注
如,叶子各部分协同,作为整体提供叶子功能,但与根各组成部分间很少或无直接交互。
此外更层次有相同点,如:根、茎、叶都由细胞构成,且不尽相同。
没有指导层,各部分(层次)独自工作,每一部分对高层功能作贡献。
动物:细胞 →组织 → 器官 → 系统
细胞为跨领域共性,虽动植物细胞也不尽相同。

本文探讨了复杂性在软件开发中的影响,分析了从个人计算机到社会机构的各种复杂系统的结构。软件复杂性源于问题域的复杂性、管理困难、灵活性需求以及描述离散行为的挑战。复杂系统具备层次结构、相对本原、分离关注、共同模式和稳定中间形式等属性。设计是控制复杂性的关键,通过分解、抽象和层次结构来应对复杂性,面向对象设计提供了一种有效的方法,允许通过对象和类的结构来组织和理解系统。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



