zoukankan      html  css  js  c++  java
  • 软件设计师【软件工程基础知识及相关试题】

       or 

    一.系统开发方法论

       1.结构化分析与设计

        结构化分析方法学也称为生命周期方法学,它采用结构化分析、设计、编程来完成软件开发的各项任务。具有阶段性、推迟实现、文档管理三大特点。

        基本思想:自顶向下,逐层分解

        概要设计:设计软件的结构,确定系统是由哪些模块组成,以及每个模块之间的关系。

        详细设计:确定应该如何具体地实现所要求的系统,得出对目标系统的精确描述。

        

        

      2.面向数据结构的设计

        没有明显的使用软件结构的概念,对于模块独立性原则也重视不足,因此并不适合于复杂的软件系统。

      3.面向对象分析与设计

        引入对象的概念,将数据和方法封装在一起,提高了模块的聚合度,降低了耦合度,更大程度上支持软件复用。 

    二.CMM&CMMI

      1.CMM

         

      2.CMMI

        

    三.软件测试

      1.测试特点

        大量统计资料表明,目前软件测试所花费用已超过软件开发费用的30%。

        目的:在软件投入生产运行之前,尽可能地发现软件(主要是程序)中的错误和缺陷。一次成功的测试是发现至今为止尚未发现的错误。高效的测试是指用少量的测试用例,发现尽可能多的错误。

        

      2.测试分类

        阶段划分:单元测试,集成测试,确认测试,系统测试。

        方法划分:白盒测试,黑盒测试。

        产品划分:α测试和β测试。

      注意:在实际应用中,一旦纠正了程序中的错误,还应该部分或全部进行重新测试,这种测试称为回归测试。

      3.V模型

        V模型是一个以测试为驱动的开发模型,该模型强调开发过程中测试贯穿始终。

        

      4.单元测试

        模块的内聚程度高可以简化单元测试过程。测试的方案也将明显减少,模块内的错误也更容易预测和发现。

      5.集成测试

        非渐增式:讲究一步到位,诊断定位和改正错误困难,只适合一些非常小的软件。

        渐增式:

          自顶向下:先测试上层模块,再测试下层模块,不必编写驱动模块。

          自底向上:先测试下层模块,再测试上层模块,不必编写桩(测试)模块。

      6.白盒测试-覆盖标准

        1.语句覆盖:每个语句至少执行一次

        2.判定覆盖:不仅每个语句至少执行一次,而且每个判定的每种可能都至少执行一次

        3.条件覆盖:不仅每个语句至少执行一次,而且判定表达式中的每个条件都取得各种可能的结果

        4.判定/条件覆盖:同时满足判定覆盖和条件覆盖

        5.条件组合覆盖:使每个判定表达式中的条件结果的所有组合至少出现一次

        6.路径覆盖:使程序中所有可能的路径都至少经过一次(如果程序中有环路,,则要求每条环路至少经过一次)

      注意:满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。然而,条件覆盖还不能保证程序中所有可能的路径都至少经过一次

      注意:条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。

      注意:路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖

      7.McCabe复杂度(环路复杂度)

        V(G) = m - n + 2

        V(G):环路个数

        m:有向弧数

        n:节点数

    四.试题

      1.

      

      2.

      

      3.

      

      4.

      

    五.备注

      

      

      

      

  • 相关阅读:
    Knol of Fabio Maulo
    调用非.net系统的Webservice的探索 ( 二 ) WSE
    在Sql Server 使用系统存储过程sp_rename修改表名或列名
    Who is locking the DB account?
    (python learn) 7 字典
    (python learn) 8 流程控制
    (python learn) 4 number&& string
    where is the data come from after we drop the table
    (healthy recorder) 治疗第6天
    (python learn) 6 列表
  • 原文地址:https://www.cnblogs.com/yszd/p/9739129.html
Copyright © 2011-2022 走看看