随笔分类 - 软件建模
摘要:软件设计原则 功能、机制、职责--系统论、还原论。 目的、用途才是设计的核心。 职责分配与依赖箭头指向管理。 https://www.cnblogs.com/feng9exe/p/5568031.html 规范耦合、支持变化 软件设计是寻找、发现对象和机制,操纵、修改对象和机制进行重组。 软件设计的
阅读全文
摘要:架构思维—软件架构—系统架构—系统—大局观、系统观(结构与秩序)、还原论(分与合) 最高层次的规划,难以改变的决定 分解仅仅是加速开发和降低问题复杂度,如果分解后的内容无法集成在一起,那么分解就没有任何意义。分解+集成可以理解为架构最核心的思考方式和方法。 https://zhuanlan.zhih
阅读全文
摘要:软件开发的三次转化: 1)将需求转化为程序模型;业务学习+建模; 2)将程序模型转化为代码;软件的分与合 3)将代码转化为机器码; 软件开发的三次转化 https://www.cnblogs.com/feng9exe/p/7598285.html 没有银弹-软件工程中的根本和次要问题 二、根本困难
阅读全文
摘要:业务决定功能,功能决定技术 业务是系统; 功能是模块; 技术是支持;
阅读全文
摘要:软件的内核和灵魂是软件提供的服务,是软件实现的业务。 软件本身只是这个内核和灵魂的外壳。 软件是信息服务产品;软件开发的最初动力是原始股票市场的信息版,大学校园的信息版,通信,计算。 软件的基础材料有操作系统和编程语言提供,使用计算机硬件的能力; 相对于硬件,软件的开发具盒修改具有灵活性,和在画板上
阅读全文
摘要:A DFD shows what kind of information will be input to and output from the system, how the data will advance through the system, and where the data wil
阅读全文
摘要:1)文档描述; 2)模型描述; 3)架构描述; 4)代码描述;
阅读全文
摘要:快看!看!深入研究自然,你就会明白一切。 - 爱因斯坦 复杂性是被低估的。复杂越高,开发人员会感到不安。对其的理解认知负荷代价就越高,我们就更不快乐。真正的挑战是在构建我们的系统时要保持其有序以及工程师的生产方式。对于这一点,一个简单的物理规律可以帮助我们:构造定律 the Constructal
阅读全文
摘要:抽象、多样性与可变性。 抽象就是把事物归类便于管理 比如自然界也是有动物和植物这样分类的,动物下面也有细分,这就是大类小类。把相同点提出来就是抽象。 抽象的层级越高,可归类的具体越多,多样性就越大,相对软件来说可变性和可扩展型就越多。 抽象是通过对比、分析找出事物的共性,对事物进行归类的过程。
阅读全文
摘要:是程序的基础和稳定的部分(组件与关系) 所以能看清整体, 目的是看清整体或看的层次更高
阅读全文
摘要:抽象的层级越高,联系的稳定度越高; 对象的可扩展性越好; 软件的可复用性越好。
阅读全文
摘要:删繁就简、分而治之、逐步求精。 删繁就简含义:抽象、关注主要因素、忽略次要因素;要素、联系两个方面的抽象。 抽象意味着复用和扩展。 分而治之: 封装、模块化。 自顶向下, 逐步求精. 自顶向下、删繁就简、分而治之,逐步求解
阅读全文
摘要:软件本身是对真实世界的建模;软件的复杂性只会大于建模对象的复杂性。 1)软件功能规模的大小;子系统和模块的个数;大 2)软件业务逻辑的复杂性;线性、非线性;树网图 3)软件本身功能复杂性。
阅读全文
摘要:组件原则 - SRP The Single Responsibility Principle 单一责任原则 当需要修改某个类的时候原因有且只有一个。换句话说就是让一个类只做一种类型的责任,当这个类需要承担其他类型的责任的时候,就需要分解这个类。 - ISP The Interface Segrega
阅读全文
摘要:程序的本质 程序的本质是实现与操作系统或者CPU的沟通。 编程思想与以人为本-编程的本质 编程是把需求打碎然后按照编程思想的指导进行重组的过程; 编程的本质:按照编程思想的指导,将需求拆分然后重装成模型,进一步转化成程序的过程; 需求到程序需要三次转化过程:1)想法转化成需求文档;2)需求文档转化为
阅读全文
摘要:http://www.iso-architecture.org/42010/cm/
阅读全文
摘要:软件模型是软件开发的说明书; 编码工作在软件模型的指导下进行; 就像剧本与演出的关系; 设计图纸与高楼大厦的关系。
阅读全文
摘要:编程是把需求打碎然后按照编程思想的指导进行重组的过程; 编程的本质:按照编程思想的指导,将需求拆分然后重装成模型,进一步转化成程序的过程; 需求到程序需要三次转化过程:1)想法转化成需求文档;2)需求文档转化为程序模型;3)程序模型转化为程序; 三个转化过程,人的世界观、方法论都起到至关重要的作用;
阅读全文