面向对象分析与设计——复杂性

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                        第一篇概念                                                               


1           复杂性

        软件复杂性   → 项目延迟、超预算、有缺陷,
       即:软件危机  → 人力资源浪费、机会丧失

 

1.1   复杂系统的结构

         世界是复杂的,以下举例论证。      

1.1.1    个人计算机的结构

       层次化 → 每一层有一组设备协作,为更高层提供服务
       各部件协同工作
       各部件为独立逻辑整体
       (1.1.2提到,Disk中也有NAND门→基本组件可能存在于不同的高级部件中)

1.1.1    植物和动物的结构

       

【抽象层】:内外之间有清晰边界,不同抽象层的不同部分间,分离关注

       如,叶子各部分协同,作为整体提供叶子功能,但与根各组成部分间很少或无直接交互。  

       此外更层次有相同点,如:根、茎、叶都由细胞构成,且不尽相同。
       没有指导层,各部分(层次)独自工作,每一部分对高层功能作贡献。    

       动物:细胞 →组织 → 器官 → 系统
       细胞为跨领域共性,虽动植物细胞也不尽相同。

1.1.1    物质的结构

恒星、行星、碎块 → 银河系       夸克 → 质子、中子   ;     质子、中子 + 电子 → 原子
        普适性:重力、电磁力、强相互作用、弱相互作用;能量守恒定律、动量守恒定律;

1.1.2  社会机构的结构

       各地办公室 → 分支机构→ 部门 → 子公司 → 跨国公司
       机构与个人寿命差别:有些机构临时,有些长期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值