`
gdpglc
  • 浏览: 95308 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

由判定树想到的软件设计道理(2008-09-03 13:38)

阅读更多
在Kicknote项目中多次用到了判定树来分析复杂的逻缉判断,但在把判定树转化为代码时,我发现代码并不需要和判定树的判断过程保持一致,具体说就是当判定树的叶子结点的处理方法相同时,则可以在代码中归并到一个地方处理,而在判定树中是分别考虑的。

这使我想到,在问题的不同层次,问题的表现形式是可以不同的。在画出判定树的时候并不会考虑实现,目的就是把所有的情况搞情楚,而在实现时判定逻辑已经清楚了,就可以以最简的形式加以实现。

由此我想到,需求和设计的关系、设计和实现的关系也是类似的。它们之间都是一种转换关系。即然是转换关系,转换本身就是一种学问,不同的转换方法导致了不同的实现。转换的结果可以和原来的内容很象,也可以不象,只要最终的逻辑是等效的。

因此为了得到好的转换结果,不可拘泥于现有的束缚(比如:框架中没有明确的支持)要勇于创新,在软件的创造性设计中可以用一句话概括:“水无常形,兵无定法”。


分享到:
评论

相关推荐

    新版完整标准 IEC 60068-2-11-2021 环境试验- 第2-11部分:Tests- Test Ka:盐雾 - 完整英

    新版完整标准 IEC 60068-2-11-2021 环境试验- 第2-11部分:Tests- Test Ka:盐雾 - 完整英文版.pdf

    软件工程pdl,判定树,判定表

    软件工程中的判定表、判定树和过程设计语言(PDL)的应用 判定表是一种形式化的决策表达方式,由四部分组成:左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种...

    判定树判定表

    在软件设计中,判定树和判定表可以帮助程序员清晰地表达复杂的业务逻辑,减少编程错误,并使代码更易于维护。同时,这些工具也可以用于风险评估、业务流程分析和质量管理,帮助决策者制定策略。 总结来说,判定树和...

    基于EEMD-PCA-LSTM的优化模型:多特征选择与深度学习预测技术,基于EEMD-PCA-LSTM的混合模型:提升预测性能的深度学习框架,EEMD-PCA-LSTM(集合经验模态分解-主成分分析

    将输入特征进行EEMD分解后,通过KPCA判定分解分解累计贡献率,将大于98%的作为新的输入特征同预测序列导入到LSTM进行预测。 与LSTM、EEMD-LSTM进行对比,预测效果获得提升。 该模型可提升度高。 ,核心关键词:EEMD-...

    Ron Patton 的 《软件测试》

    根据给定的信息,我们可以将《软件测试》这本书的内容概括为几个关键部分,这些部分涵盖了软件测试的基本原理、技术以及策略。接下来,我们将深入探讨每个章节的主要知识点。 ### 一、软件测试技术 #### 1.1 测试...

    软件工程试题和答案

    ### 软件工程知识点解析 #### 单选题知识点解析 **1. 软件危机中的质量问题原因** - **选项分析**: - A. 软件研发人员素质太差:虽然人员素质是影响软件质量的因素之一,但并非根本原因。 - B. 用户经常干预...

    测试用例设计白皮书--测试人员的法宝

    ### 测试用例设计白皮书知识点详述 #### 一、测试用例的基本概念 **1.1 测试用例定义** 测试用例是指为了验证软件系统在特定条件下是否能够按照预期工作而设计的一组特定输入、执行条件及其预期结果。简而言之,...

    《软件工程》教案

    - **定义**: 设计软件的总体结构、模块划分、接口定义等。 - **产出**: - 模块结构图: 显示模块之间的关系。 - 数据结构: 描述数据的组织方式。 **4.4 结构化系统设计** - **定义**: 使用结构化编程思想进行设计...

    软件测试笔试题及答案.doc

    ### 软件测试基础知识与实践要点 #### 一、软件可靠性及其子特性解析 - **软件可靠性**:指的是在指定条件下使用时,软件产品能够持续维持规定性能级别的能力。 - **容错性(C)**:在软件发生故障或者违反指定接口...

    2005年10月全国软件工程自考试题

    ### 2005年10月全国软件工程自考试题知识点解析 #### 软件工程概述 - **软件工程定义**:软件工程是一门研究用工程化方法构建和维护有效、实用和高质量软件的学科。它涉及软件生命周期的所有阶段,从需求分析到最终...

    南京工程学院-软件工程复习.doc

    ### 南京工程学院-软件工程复习知识点梳理 #### 一、软件工程方法学的目标与要素 - **最终目标**:实现软件开发工程化。 - **要素**: - **软件开发技术**:关注软件的设计、编码、测试等方面的技术。 - **软件...

    《软件工程》课后答案

    ### 软件工程核心知识点解析 #### 一、可行性研究 **定义**: 可行性研究旨在以最低的成本和最短的时间确定项目的可行性。它不是为了开发软件本身,而是评估该软件项目是否值得继续推进。 **目的**: 分析项目的可行...

    系统测试用例设计方法

    ### 系统测试用例设计方法详解 #### 测试用例格式及写作要点 测试用例作为系统测试的重要组成部分,其格式与写作要点对于保证测试质量和效率至关重要。 **测试用例编号** - **组成**: 通常由字母和数字组合而成,...

    软件工程复习资料

    - **成分**:软件由程序、数据和文档三部分组成。 - **作用**:软件是计算机系统的重要组成部分,用于实现特定的功能或解决特定的问题。 - **软件危机** - **含义**:在软件开发过程中遇到的一系列问题,如成本...

    《软件工程概论》期末测试试卷含答案.doc

    ### 软件工程概论知识点解析 #### 一、单项选择题解析 **1. 对象的概念** - **选项解析:** - A. 结合:不是对象的核心概念。 - B. 隐藏:指对象内部状态的不可见性,与题目描述不符。 - C. 封装:对象的核心...

    软考网络工程师真题

    - **描述**:数据字典中常见的加工描述方法包括结构化语言、判定树和判定表。 - **解析**:加工描述方法用于明确数据字典中各元素的处理逻辑和决策流程。 这些知识点涵盖了计算机科学的基础理论和技术实践,对于...

    CEEMDAN-PE-LSTM时间序列预测模型:一种结合完全自适应噪声集合经验模态分解与排列熵的改进算法,CEEMDAN-PE-LSTM(完全自适应噪声集合经验模态分解-排列熵-长短期记忆网络) 时间

    采用CEEMDAN分解,并判定排列熵值将相近的信号进行合成, 最后逐个进行lstm预测 者后可将CEEMDAN更为VMD等分解算法,或将LSTM更为GRU等进行改进 matlab代码,含有详细注释,使用时替数据集即可; ,核心关键词:...

    基于EEMD-PCA-LSTM的优化模型:特征处理与预测效果提升的新方法,EEMD-PCA-LSTM(集合经验模态分解-主成分分析-长短期记忆网络) 将输入特征进行EEMD分解后,通过KPCA判定分解

    将输入特征进行EEMD分解后,通过KPCA判定分解分解累计贡献率,将大于98%的作为新的输入特征同预测序列导入到LSTM进行预测。 与LSTM、EEMD-LSTM进行对比,预测效果获得提升。 该模型可提升度高。 ,EEMD; PCA; LSTM; ...

    软件测试于质量保证题库.docx

    ### 软件测试与质量保证知识点解析 #### 一、选择题解析 **1. 较实用的软件测试停止标准** - **答案**: D - **解析**: 本题考查的是软件测试的停止标准。选项D提出了一种实用的方法来判断是否应该继续测试或者...

    《实用软件工程》张海潘 吕云翔复习提纲

    ### 《实用软件工程》张海潘 吕云翔复习提纲 #### 一、软件工程概述 **软件工程的概念**: 1. **定义**:软件工程是指将系统化、严格约束的、可量化的方法应用于软件的开发、运行和维护,并且对这些方法的研究。 ...

Global site tag (gtag.js) - Google Analytics