两种基本的构架表述方法(上):DFD方法
在架构设计的探讨中,战略问题的讨论对于高层抽象的概念至关重要。如果我们急于跳入具体方法而忽略设计初衷,所有努力都将变得毫无意义。正如解释《道德经》时所强调的,它是一套做“大事”的战略框架,而非解决日常具体问题的工具。许多人对此不以为然,甚至试图用生活中的小事来证明“道德经同样适用”,然而这完全忽视了问题的本质——道德经与解决特定问题无关,其核心在于战略和大局观。
架构表述方法的核心在于准确对准目标。一旦偏离目标,DFD(数据流图)将只是一张无意义的图表,Class Diagram(类图)也将仅仅是一次代码的重复,丧失其价值。然而,尽管如此,DFD和Class Diagram仍然在架构设计中扮演着至关重要的角色。它们帮助我们聚焦于问题的核心,让我们能够欣赏和理解设计的精妙之处。
接下来,我们将分别探讨DFD方法和Class Diagram这两种描述方法在架构表述中的意义。读者应理解以下两点:
这两者实际上是从不同角度解决同一问题。
即便在架构设计中不使用这两种图形,它们仍然是整个设计过程中的基本概念模型,承载着所有其他表述方法的根基。
本篇将专注于介绍DFD方法。DFD是大多数结构化分析和设计的基本元素之一。它的核心假设是:在所有变化中,算法是最不可能变化的要素。因此,架构师或设计师倾向于接受限制,因为限制有助于降低分析工作的复杂性。例如,当需要为某种机器构建BCD编码器时,首先需要决定使用哪种编程语言,而限制条件将选择这一决策。如果存在明确的限制(如只能使用C语言),设计过程将变得更清晰、更直接。
DFD方法强调数据加工的能力,即把一个形态的数据变化为另一个形态的数据。在实现过程中,我们与物理世界产生关联,因此在DFD之外,我们为系统增加更多的约束,比如增加数模转换部分。这不仅是在设计过程中人为增加的约束,也是对虚拟世界与物理世界界限的明确划分。
扩展DFD(EDFD)将这种物理世界的选择纳入DFD中,以更好地理解如何构建系统。例如,在播放器设计中,我们可能会选择使用文件或tuner输入mp4码流,但EDFD帮助我们明确在任何其他设计之前的第一个选择。这有助于我们理解在物理世界中做出的决策,并确保这些决策与我们的内心欲望保持一致。
DFD的核心功能不是设计本身,而是选择过程。设计者需要在抽象层面做出决策,而不是仅仅描述一个系统的详细工作流程。通过建模,我们能够清晰地看到约束所在,从而为未来的变化留出足够的自由度。
通过图示(如DFD和EDFD)进行建模时,我们实际上是在探索在核心需求下,设计者做了哪些选择。这有助于我们在遇到变化时,能够根据先前的决策灵活应对。即便不需要实际绘制这些图,我们大脑中的决策过程同样遵循这一逻辑。
在架构设计中,正确理解并应用DFD方法至关重要。它不仅帮助我们明确问题的核心,而且在面对变化时提供必要的灵活性。通过DFD和后续的模块承载建模,我们可以确保设计的清晰性和可扩展性,为未来的调整和扩展打下坚实基础。
多重随机标签
在西安建筑公司只做招投标这方面一个月大概能拿多少 司建滨背景事件 网页设计热点在哪 漠河当地报团旅游 猫咪为什么要猫抓板 信阳浉河三期两座桥建哪儿 长安汽车出厂就有问题造成车祸还拒付责任 分类目录分类目录和搜索的区别 南京市建设工程交易中心中心简介 员工合同到期可以带走吗 国内较知名的大数据服务平台有哪几家 东莞奇石网络科技有限公司怎么样 兴化安丰有建行营业厅吗 华中农业大学专属ppt模板免费领取华中农大同学的专属福利来了 葡萄酒可以做什么点心 陆金所和平安什么关系 mysql索引优化order by与group by 沙僧是什么样的人 乐至县基础建设 南京金奥卡信息科技有限公司怎么样 企业宣传片画册平面设计的价格是多少钱一页 北京erp软件企业有哪些 vi设计都包含哪些 网络速配当前网络速配平台所面临的问题 扬州人才引进计划 上海碧嘉管理咨询有限公司怎么样 网站建设结束后还需要做哪些工作 济宁各县区教 邳州麻将开发影响棋牌游戏价格因素有哪些 仪征有什么名人