当前位置:   article > 正文

无锡学院----软件工程导论----李振宏知识点整理_软件有关学生心理健康的一个核心功能的判定表和判定树表达复杂条件组合

软件有关学生心理健康的一个核心功能的判定表和判定树表达复杂条件组合

1.判定表和判定树的特点及适用应用场合?

          判定表特点:1.能够简洁而又无歧义地描述处理规则

                                2.不适应于作为一种通用的设计工具

                               3.有四部分组成:左上:列出所有条件,左下:所有可能的动作,右上:各种   条件组合的矩阵,右下:每种条件组合相应的动作

适应于:能清楚地表示复杂的条件组合和应做的动作之间的对应关系

判定树特点:

不仅能清楚地表示复杂的条件组合和应做的动作之间的对应关系而且形式简单,简单到不需要任何说明,一眼就可以看出其含义,初学者更易于掌握和使用

适应于:数据元素多的时候,和初次接触的人群

2.逻辑覆盖测试包含哪些类型的测试

   语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 点覆盖 边覆盖 路径覆盖

  1. 软件可行性研究包括哪几方面

   技术可行性、经济可行性、操作可行性,必要时还有法律、社会效益的可行性(注意无政治的可能性)

  1. 软件维护分为哪几种类型?各自适用于何种场合?(这次考到了简答题)
    1. 改正性维护 :在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。
    2. 适应性维护(为了适应外部环境的变化而进行的适应性维护如(新软硬件的配置问题))
    3. 完善性维护(为了改进原有的软件而进行的完善性维护(如用户提供新的功能))
    4. 预防性维护(改进将来的可维护性和可靠性而进行的预防性维护)
  2. 判定表的使用方法?

     p127例子,已经理解了

  1. 耦合有哪几种类型?耦合强度如何

耦合:模块间互相依赖的紧密程度

内聚:模块内部各个元素彼此结合的紧密程度

耦合:数据耦合,特征耦合,控制耦合,公共耦合,内容耦合。(越来越高)

  1. 内聚有哪几种类型?内聚程度如何?

偶然内聚,逻辑内聚,时间内聚,过程内聚,通信内聚,顺序内聚,功能内聚

(内聚程度按照递增顺序)

  1. 模块独立性对耦合和内聚的原则是什么?

原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合

原则:设计时,尽量使用内聚高的模块(顺序内聚,功能内聚),中内聚也可以(过程内聚,通信内聚),但低内聚很坏,不要采用

  1. 结构化程序设计包含哪几种基本结构?

   顺序,选择,循环

  1. 软件工程学科与软件危机有何关系?

为了寻找消除软件危机的途径,不断总结计算机软件失败的历史教训,形成了软件工程学科

  1. 什么是软件测试?软件测试的目的是什么?

软件测试:为了发现程序中的错误而执行程序的过程

目的:就是暴露程序中的错误

  1. 什么是白盒测试?白盒测试有哪些方法?

     已知产品内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有成分都要经过检查,白盒测试的方法:逻辑覆盖法(语句覆盖,判断覆盖,条件覆盖,判断条件覆盖,条件组合覆盖),基本路径测试法

  1. 什么是黑盒测试?黑盒测试有哪些方法?

已知产品的功能设计规格,可以进行测试证明每个实现的功能是否符合要求

黑盒测试方法:边界值法和等价划分和因果图和错误推测

  1. 白盒测试技术中确定测试用例的依据是什么?

    测试用例:每种内部操作是否符合设计规格要求,要求所有成分都要经过检查

  1. 什么是软件的可靠性?什么是软件的可用性以及区别

  软件的可靠性的定义:程序在给定的时间间隔内,按照规格说明书的规则成功运行的概率

  可用性的定义:程序在给定的时间点,按照规格说明书的规定,成功运行的概率

  1. 常用的软件生命周期模型有哪些?其中适用于面向对象的软件开发的模型有哪几种?(这个考到了大题,可惜我没写完整)

   瀑布模型,快速原型模型,增量模型,螺旋模型,(喷泉模型,RUP模型,极限模型,微软过程)适合面向对象软件开发过程

  1. 瀑布模型有哪些优点与缺点?适用于哪些应用领域?

    优点:是规范的,文件驱动的方法

缺点:最终开发出来的软件产品可能并不是用户真正需要的

适用的领域:用户的需求非常的清楚和全面,且在开发的过程中没有或者很少的变化,开发工作需要用户参与的程度比较低

  1. 边界值分析方法如何使用?

     选取的测试数据刚好是等于小于大于边界值

  1. 未整理完)对数据流图或软件结构图需要进行分层表示,每一层分解为下一层是有何标准?

      自顶向下,逐层分解;数据流必须有加工的过程,数据存储环节一般作为两个加工环节的界面来安排;适当地为数据流、加工、数据存储、外部实体命名;编号;保持父图与子图的平衡,保持数据永恒

  1. 什么是结构化的维护?什么是非结构化的维护?

  非结构化的维护:软件配置的唯一成分就是程序代码,那么维护活动就是从评价代码开始

结构化的维护:有一个完整的软件配置存在,那么维护工作从评价设计文档开始,确定软件的特点、性能特点

  1. 快速原型模型有何特点?

   克服了瀑布模型的缺点,通过快速构建一个可以在计算机上运行的原型系统,让用户使用原型收集用户反馈意见的方法,获取用户真实需求

  1. 成本-效益分析有何用途?属于软件生命周期中哪一个阶段的工作?

    从经济的角度评价开发一个软件是否可行,属于软件定义阶段工作

  1. 在设计软件界面时有哪些需要注意的问题?

   系统响应时间; 用户帮助设施; 出错信息处理; 命令交互

  1. 详细设计阶段的任务是什么?

确定怎样具体地实现用户需要的软件系统,也就是要设计出程序的蓝图

  1. 什么是调试?其目的是什么?

   调试是在测试发现错误之后排除错误的过程,目的:修改错误,使程序正常运行

  1. ER图包括哪几种图形元素?如何使用?

实体,关系,属性

  1. 软件设计包含哪几个阶段?

    数据设计,系统结构设计,过程设计

  1. 什么是软件的可维护性?

     维护人员理解、改正、改动、或改进这个软件的难易程度

  1. 软件生命周期中,哪个阶段的事件最长,代价最高?

      详细设计

  1. 什么是深度、宽度、扇入、扇出

深度:表示软件结构中控制的层数

宽度:是软件结构内同一个层次上模块总数的最大值

扇出:是一个模块直接控制(调用)的模块数目

扇入:表明有多少个上级模块直接调用它

  1. 成本-效益分析中使用了哪些数据

货币的时间价值;投资回收期;纯收入;投资回报率

  1. 软件同硬件相比有何特点?

可塑性大,多变,灵活

  1. 什么是穷举测试

     是在一个可能存在可行状态的全集中遍历所有元素

  1. 环形复杂度如何计算?有何用途?

   估算出软件中错误的数量,以及软件开发需要用的工作量

  1. 什么是软件的可移植性?

用一种编程语言在一个系统上编写程序,经过很少的改动或不用改动就可以在其他平台上运行

  1. 概要设计阶段完成哪些文档?

  系统功能简介,系统结构设计,系统接口,模块设计和接口设计

  1. 什么是错误推测法

   在很大程度上靠直觉和经验进行,基本思想是列举出程序中可能有点错误和容易发生错误的特殊情况

  1. 数据字典有何用途?和数据流图有何关系?

用途:作为分析阶段的工具,关系:数据字典是数据流图中包含所有元素定义的集合,数据流图和数据字典共同构成了系统的逻辑模型。

  1. 什么是软件工程方法学的三要素

方法、工具和过程

  1. N_S图有何特点?
  1. 功能域明确(一眼就能看出来)
  2. 盒图没有箭头,不允许随意转移控制
  3. 很容易确定局部和全局的作业域
  4. 很容易表现嵌套关系,也可以表示模块的层次结构
  1. 软件的需求由谁给出

软件的用户

  1. 可行性研究的实质是什么?

可行性研究最根本的任务是对以后的行动方针提出建议

  1. 结构化程序设计对三种基本结构有何要求?(这次考到了简答题)

      结构化程序中任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系

  1. 增量模型有哪些优点与缺点?

优点:可在软件开发的早期阶段使投资者获得明显的回报和较易维护的优点

缺点:必须要求软件具有开放的结构

  1. 使用面向数据流的设计方法确定软件结构时,可以把信息流分成哪几种类型?

交换流:(输入不止一个,具有明显的输入、变换和输出界面的数据流图)

事务流:(输入只有一个,数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行)

  1. 软件定义时期、软件开发时期各包含哪几个阶段?

软件定义:确定软件开发工程必须完成的总目标;

确定工作的可行;导出实现工程总目标应该采用的策略及系统必须完成的功能;估计需要的成本和资源;制作工作进程表(又称为系统分析又可以细化为问题定义、可行性研究和需求分析)

软件开发:四个阶段:总体设计,详细设计,编码和单元测试(系统设计和系统实现)

  1. 软件的定义是什么?

  与计算机系统操作有关的计算机程序,规则、以及可能有的文件、文档及数据

  1. 程序设计语言分为哪几种类型?各有何特点?

    命令式语言(模拟数据存储、数据操作的)图灵机,函数式语言(基于数学函数概念的值),逻辑语言(语义基础是基于一组已知规则的形式逻辑系统),面向对象语言(语言的语法形式的语义就是基本对象操作

  1. 单元测试时需要设计哪些附加模块?

   驱动模块:相当于所测模块的主程序,它接受测试数据,把这些数据传送给所测模块,最后输出结果

   桩模块:用以代替所测模块调用的字模块

  1. 集成测试有哪几种方法?

自底向上集成和自顶向下集成测试和混合法和回归测试

  1. 什么是软件的生命周期?

软件的生命周期的阶段划分由软件定义、软件开发和运行维护,直到最终被废弃所经历的时期。

  1. 总体设计的任务是什么?
      1. 将系统划分成物理元素,即程序、文件、数据库和文档等。
      2. 设计软件结构,即将需求规格转换为体系结构,划分出程序的模块组成、模块间的相互关系。确定系统的数据结构、文件结构、数据库模式确定测试方法与策略。
      3. 编写总体设计说明书、用户手册、测试计划,用结构图来描述软件结构,选择分解功能与划分模块的设计原则
  2. 环形复杂度用来衡量程序复杂程度时,有何要求?

环形复杂度定量度量程序的逻辑复杂度

VG =  E  -  N  -  2  (E是流图的条数,N是节点数)

VG =  P  +  1  (其中P是判断节点的数目)

  1. 文档有哪几种类型?各有何用途?

用户文档:主要描述系统功能和使用方法,并不关心这些功能怎么实现的

系统文档:描述系统设计、实现、和测试等方面的内容

  1. 数据流图中各种图形元素的命名有何要求?

      P41

  1. 详细设计阶段可以使用的算法描述方法有哪些

     N-S图描述算法,PAD图描述算法,PDL(伪代码

  1. 总体设计阶段用来描述软件结构的方法有哪些?

       层次图和HIPO图和结构图

  1. 常用的软件调试方法有哪几种?

       蛮干法,回溯法,原因排除法

  1. 软件工程有哪几条基本原理?
  1. 用分阶段的生命周期计划严格管理
  2. 坚持进行阶段评审
  3. 实行严格的产品控制
  4. 采用现代程序设计技术
  5. 结果应能清楚地审查
  6. 开发小组的人员应该少而精
  7. 承认不断改进软件工程实践的必要性
  1. 软件危机有哪些表现?(这次考到了简答题)
  1. 对软件开发成本和进度估算不清楚
  2. 用户对已完成的软件系统不满意的现象
  3. 软件产品的质量往往靠不住
  4. 软件长长不可维护
  5. 软件通常没有适当的文档资料,软件成本在计算机系统中成本所占比例上述
  6. 软件更新的速度比不上计算机应用的普及速度
  1. 什么是结构化程序设计技术?(这次考到了大题)

  定义:是进行以模块功能和处理过程设计为主的详细设计的基本原则

  1. 调试和测试有什么联系、区别?

调试:对错误进行修改,测试,测试出错误,先有测试再有调试

  1. 数据流图中的信息流有哪两种类型?各有何特点?

交换流:(输入不止一个,具有明显的输入、变换和输出界面的数据流图)

事务流:(输入只有一个,数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选一个来执行)

  1. 语句覆盖、分支覆盖、条件覆盖测试用例的设计。(看书例题)
  2. 题型有选择,填空,判断,简答,综合
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/901413
推荐阅读
相关标签
  

闽ICP备14008679号