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

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

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

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

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

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


分享到:
评论

相关推荐

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

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

    判定树判定表

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

    Ron Patton 的 《软件测试》

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

    《软件工程》教案

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

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

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

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

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

    系统测试用例设计方法

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

    软件工程复习资料

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

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

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

    软考网络工程师真题

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

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

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

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

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

    软件工程试卷及答案

    - **工具**:结构化语言、判定表和判定树是结构化分析中常用的描述加工逻辑的工具,它们可以帮助分析师清晰地表达复杂的逻辑处理过程。 29. **结构化语言的定义** - **定义**:结构化语言是一种介于自然语言和...

    软件工程复习题

    ### 软件工程复习题知识点解析 #### 1. 软件危机 - **概念**: 开发软件所需的高成本与产品的低质量之间的尖锐矛盾被称为“软件危机”。这反映了早期软件开发中存在的严重问题,如开发过程缺乏有效管理、缺乏标准化...

    2020年11月软考-软件设计师-知识点总结

    ### 2020年11月软考-软件设计师-知识点总结 #### 白盒测试相关 **白盒测试**是一种软件测试方法,它基于对程序内部结构和逻辑的理解来进行测试,通常用于验证程序的逻辑正确性和完整性。以下是几种常见的白盒测试...

Global site tag (gtag.js) - Google Analytics