软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
程序备忘录:之六-判定树的用法(2004/08/23 20:06)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站


  软件理论很多很杂,而且有很多是借鉴了其它专业的理论。从软件工程的瀑布模型中知道,编码要依据详细设计来完成。判定树是系统分析和设计期的工具,但编码人员不一定每次都能从详细设计书中找到明确的判定树资料。
  假定有下面的编码需求:有两个状态变量,每个变量有4种状态值,对两个状态的不同组合共有4种处理方式。可以进行下面的编码(Java例)。
    //---------------------------------------------------------
    public void main_deal(String st1,String st2) {
     //取处理方式判断值
     String strJudge = getJudge(st1,st2);
     //依据判断值分别处理
     if ("ret1".equals(strJudge)) {
      sub_deal1();
     } else if ("ret2".equals(strJudge)) {
      sub_deal2();
     } else if ("ret3".equals(strJudge)) {
      sub_deal3();
     } else if ("ret4".equals(strJudge)) {
      sub_deal4();
     } else {
      final_deal();
     }
    }

    private String getJudge(String st1,String st2) {
     String ret = null;
     //取处理方式判断值
     return ret;
    }

    private void sub_deal1() {
     //子处理1
    }

    private void sub_deal2() {
     //子处理2
    }

    private void sub_deal3() {
     //子处理3
    }

    private void sub_deal4() {
     //子处理4
    }

    private void final_deal() {
     //条件判断值之外的处理
    }
    //---------------------------------------------------------
  如果程序的多个分支需要完成相同的工作时,不妨使用判定树思路将杂乱的功能理清,再编写出清晰易懂的代码。上面的例子比较直观,实际的应用可能存在许多不易理清的线索,需要透过现象看清本质。




相关文章

相关软件