2021级软件工程个人向往年题复习整理(非知识点整理)

依然是notion格式,文末评论区见链接

--------------

2005年软件工程试卷(B)

判断题:

  1. 信息隐蔽原则禁止在模块外使用在模块接口说明的关于该模块的信息。(信息屏蔽是面对对象部分设计原则中的信息隐藏,有些类似分装的概念?所以接口说明的信息是公共可见的,比如getter setter,是可以用的)
  2. X 如果测试数据满足条件覆盖,则必然满足判定覆盖。 (条件覆盖:执行被测程序以后要使每个判断中每个条件的可能取值至少满足一次。 判定覆盖:运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。两者没有必然的强逻辑)
  3. √ 桩模块的编写比驱动模块更困难
  4. X 尽可能推迟程序的逻辑实现是按照瀑布模型开发软件的一条重要的指导思想。(是物理实现)(瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。)

选择题:

  1. 数据流图主要由4种成分 (加工、数据流,数据存储文件、数据源点或汇点)组成

“→”箭头,表示数据流; 〇:圆或椭圆,表示加工; =:双杠(带一边开口,一边闭合),表示数据存储; □:方框,表示数据的源点或终点。

“→”箭头,表示数据流; 〇:圆或椭圆,表示加工; =:双杠(带一边开口,一边闭合),表示数据存储; □:方框,表示数据的源点或终点。

  1. 需求分析阶段的研究对象是 用户要求
  2. 软件测试的目的是A[发现软件的错误]。为了提高测试的效率,应该B[选择发现错误的可能性大的数据作为测试数据]。使用白盒测试方法时,测试数据应该根据C[ 程序的内部逻辑]和指定的覆盖标准。一般来说,与设计测试数据无关的文档是D[ 项目开发计划],软件测试工作最好由E[不属该软件开发组的软件设计人员]来承担,以提高集成测试的效果。

综合应用涉及DFD图、用例图、UM L类图

2007 A卷

判断

  1. X 开发初始原型的目的是为了确定用户的基本需求。(验证 不是确定) 明确并完善需求;探索设计选择方案;发展为最终的产品 建立原型的主要原因是为了解决在产品开发的早期阶段不确定的问题
  2. X 在程序调试时,改正该错误比找出错误的位置和性质更难 (找出更难,ppt上有)

选择

  1. 用例间的关系

Untitled

  1. 系统技术可行性研究涉及的技术应该是( 一定可以获得的 )技术。

简答

  1. 软件开发与程序设计有何不同?

    软件开发将软件的开发过程分为若干阶段,包括需求分析、系统设计、程序设计、编码、测试等等,而程序设计仅是软件开发的一个组成部分,并且软件开发所指的软件不同于一般程序,而是指大型程序及文档。

  2. 试述COCOMOII模型的工作原理。

    COCOMOⅡ的估算过程反映了任何一个软件开发项目的三个主要阶段。在阶段1(计划阶段)中,COCOMOⅡ用所谓的应用点来估计规模。对于阶段2(早期设计),COCOMOⅡ采用了功能点作为对规模的度量。在阶段3(次结构阶段),规模可以用功能点或代码行的形式来表述。

2009 A卷

选择

  1. 计算大概的错误总数

Untitled

  1. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是 运行和维护阶段

  2. 系统要采用国有自主知识产权的中间件系统。 属于设计约束

  3. 软件危机

    Untitled

  4. 系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。____路径测试_____不是系统测试的内容。(其他选项为:可靠性测试;安装测试;安全测试)

  5. 在UML提供的图中,可以采用___ 类图____对逻辑数据库模式建模;___序列图__用于接口、类和协作的行为建模,并强调对象行为的时间顺序;(3)__活动图___用于系统的功能建模,并强调对象的控制流

更正:第一条我们班级按照fault理解

更正:第一条我们班级按照fault理解

2012 A卷

判断

  1. √ RUP(Rational Unified Process:统一软件过程)本质上是重量级的软件过程规范。

  2. X 需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

    需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括( D )。 A.软件设计的依据 B.用户和开发人员对软件要“做什么”的共同理解 C.软件验收的依据 D.软件可行性分析的依据

选择

  1. 以下关于软件测试的叙述中,正确的是___C____。(模拟题中的答案) A. 软件测试不仅能表明软件中存在错误,也能说明软件中不存在错误。 B. 软件测试活动应该从编码开始。(软件测试的生命周期从需求测试开始) C. 一个成功的测试能发现至今未发现的错误。(好的测试用例) D. 在一个被测程序段中,若已发现的错误越多,则残存的错误越少。
  2. 风险预测从两个方面评估风险,即风险发生的可能性以及风险发生所产生的后果
  3. UML中关联的多重度是指 一个类的实例能够与另一个类的多少个实例相关联。
  4. UML是一种面向对象的统一建模语言,它包含九种图。其中用例图中的外部actor指____人员或外部系统____,用例可以用____类____图来描述。协作图描述了协作的____对象____之间的交互和联结。
  5. 按测试数据执行程序逻辑程度判断,判定覆盖___等价于(这版答案是等价于 个人认为是不等价的)____条件覆盖。
  6. 模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为内容耦合
  7. 为了有效地捕获系统需求,应采用原型模型
  8. UML设计视图包含了类、接口和协作,其中,设计视图的静态方面由_ 类图__和__对象图__表现,动态方面由交互图、__ 状态图和活动图___表现。
  9. 在面向对象软件开发过程中,采用设计模式复用成功的设计
  10. 软件___可靠性____是指一个系统在给定的时间间隔内和给定条件下无失效运行的概率。

2021

  1. 面向对象开发是一种软件开发方法,(数据结构)是其中的重要内容。
  2. 在模块的耦合中,一组模块访问数据结构,这属于(公共耦合)(访问公共数据存储区)
  3. 在软件维护阶段,为软件的运行增加监控设施属于(完善性)维护。
  4. 顺序图反映对象之间发送消息的时间顺序,它与(协作图)是同构的。
  5. UML的软件为用例驱动中心,以基本体系架构为框架进行开发,显示了一种(迭代)的特性
  6. 在实际的软件开发过程中如何发现类?
    1. 简述如何在实际工作中发现类。 答:在与客户的交谈中,要注意客户用来描述业务实体的名词术语。这些名词可作为领域模型中的类。 还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。 当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。他们的回答将告诉你这些类的职责。
    2. 如何在面向对象分析过程中识别类 (identifying classes)。 发现类的一种简单而有效的方法是使用一种被称为名词/动词的技术分析语法检查。这涉及到深入研究高层次的需求文件、营销材料和其他能洞察问题的材料域 (换句话说,就是由新系统应该面对的问题定义的领域解决)。请参阅使用UML进行用例驱动对象建模, 以获得如何执行的示例使用一套文本要求进行语法检查。

Untitled

其他班课上模拟题

  1. 复审内容相关

    复审是为了提高质量(复审属于质量控制)

    Untitled

  2. 关于敏捷开发的最佳实践细节

    Untitled

  3. 风险相关内容

    Untitled

  4. 如下

    Untitled

  5. (第14题) 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了__风险分析。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对风险 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个_概念项目__ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。

  6. √ 由于功能测试是一次测试系统的一个功能, 有时若需要,功能测试可以早于 整个系统的集成来进行。「史老师ppt:由于一次测试一个功能,若需要,功能测试可以早于整个系统的集成来进行.(某些重要功能)」

  7. X 结构化程序设计方法能改善程序结构,提高程序的运行效率。

不知来源试卷

Untitled

试卷合集

  1. X 代码走查(code walkthrough)类似于代码检查(code inspection),但是前者实施时更正式。

  2. X 类的行为可以基于用例图进行测试。

  3. X 当软件系统的效率与可维护性产生抵触时,应强调效率。

  4. X 抽象是面向对象的开发方法中独有的策略,在传统的开发方法中不需使用。

  5. 以下关于封装在软件复用中所充当的角色的叙述,正确的是____A_____。 A:封装使得其他软件开发人员不需要知道一个软件组件内部如何工作。

  6. 针对应用在运行期的数据的特点,修改其排序算法使其更高效,属于____B_____维护。 A:正确性 B:完善性 C:适应性 D:预防性。

  7. 关于过程改进,以下叙述中不正确的是____ D_____。 A:软件质量依赖于软件开发过程的质量,其中包括个人因素。 B:要使过程改进有效,需要制定过程改进目标。 C:要使过程改进有效,需要进行培训。 D:CMMI成熟度模型是一种过程改进模型,仅支持阶段性过程改进而不支持连续性过程改进。

  8. 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)及(C)的完整集合。其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文资料。 A: 程序 B:数据 C:文档

  9. 造成软件危机的主要原因是(软件本身特点)、(缺乏好的开发方法和手段)和(开发效率低)。

    软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

    Untitled

  10. 软件测试方法中,黑盒测试法主要是用于测试 软件的外部功能

  11. 软件测试的目的是A[  发现软件的错误 ]。为了提高测试的效率,应该B[ 选择发现错误的可能性大的数据作为测试数据 ]。使用白盒测试方法时,测试数据应该根据C[ 程序的内部逻辑 ]和指定的覆盖标准。一般来说,与设计测试数据无关的文档是D[ 项目开发计划 ],软件测试工作最好由E[ 不属该软件开发组的软件设计人员 ]来承担,以提高集成测试的效果。

  12. 关于UML图

    Untitled

  13. 给出一个使用原型开发但没有节省大量时间的例子,并分析最适合原型设计的系统的特征。

    答:原型处理密集型应用程序不会节省大量的开发时间。如果不首先完全实现必要的操作和流程,就不可能为这样的系统创建一个原型。如数学方程求解的应用程序为例,如果没有方程解析和求解算法,原型将只用于描述用户界面,并且不会节省大量开发时间。

    适合原型化设计的系统的特征:

    ①具有高用户交互性的系统。

    ②具有复杂协议或事务的系统。

  14. (开放题)

    Untitled

    答: 字处理系统:压力测试,容量测试。 工资单系统:压力测试,安全性测试,计时测试,恢复测试。 自动银行连线柜员系统:压力测试,安全性测试,计时测试,恢复测试。 水质监测系统:环境测试。 核电站控制系统:环境测试。

  15. √ 单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试

  16. 一个沟通成本计算题

    2014上高项真题解析:某软件的工作量是20000行,由4人组成的开发小组开发,每个程序员的生产效率是5000行/ - 试题库 - 信管网

  17. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。(错) 原型化开发方法包括生成原型和实现原型两个步骤。 (错)(不一定准确:第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。在实际中原型化经常在需求分析定义的过程进行。) 软件过程改进也是软件工程的范畴。 (正)

关于黑盒白盒测试:

2007 设计路径覆盖的测试用例(表格:路径 | 测试用例)

2011 给代码 设计判定覆盖和条件覆盖的测试用例

2012 给代码,1 画出该程序的控制流图。2 设计路径覆盖的测试用例。

下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 (1)画出该程序的控制流-找考题网

2018 黑盒测试 设计测试用例

黑盒测试 等价分类法和边界值分析法

《软测》期末复习 黑盒测试内容+题型总结-CSDN博客

2019 黑盒 等价分类法+白盒路径覆盖 判断输入是不是三角形

白盒:

语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖-CSDN博客

流图(见第八章ppt白盒测试)

UML相关图整理

往年题涉及画图(也有对已有图的错误指出):DFD 用例图 类图 状态图 (白盒测试中的控制流图)

(5类10种/2类9种 分清图表示的内容和长什么样)

Untitled

用例图

静态图(类图、对象图、(包图))

行为图(状态图、活动图)

交互图(顺序图、协作图)

实现图(构件图、部署图)

用例图

用例图捕捉了模拟系统中的动态行为,并且描述了用户、需求以及系统功能单元之间的关系

用例图展示了一个外部用户能够观察到的系统功能模型图。

用例图由主角,用例和它们之间的关系组成。

Untitled

类图

类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。

类图不仅用于可视化描述和记录系统的不同方面,也为构建可执行代码的软件应用程序。

类图描述一类的属性和操作,也对系统的约束。被广泛应用于类图的建模的面向对象的系统中,因为它们是唯一的,可以直接映射到面向对象语言的 UML 图。

类图显示集合的类,接口,关联,协作和约束,它也被称为作为结构图。

Untitled

对象图

UML 对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。

UML 对象图显示某时刻对象和对象之间的关系。一个UML对象图可看成一个类图的特殊用例,实例和类可在其中显示。

Untitled

组件图/构件图

描述的是在软件系统中遵从并实现一组接口的物理的、可替换的软件模块

组件图 = 构件(Component)+接口(Interface)+关系(Relationship)+端口(Port)+连接器(Connector)。

Untitled

部署图

部署图描述的是系统运行时的结构,展示了硬件的配置及其软件如何部署到网络结构中。

部署图通常用来帮助理解分布式系统,一个系统模型只有一个部署图。

部署图用于可视化的软件组件部署的系统中的物理组件的拓扑结构。

Untitled

序列图/时序图/循序图/顺序图

一种UML行为图。它通过描写叙述对象之间发送消息的时间顺序,显示多个对象之间的动态协作。它能够表示用例的行为顺序,当运行一个用例行为时,时序图中的每条消息响应了一个类操作或状态机中引起转换的触发事件。

序列图展示对象之间的交互,这些交互是指在场景或用例的时间流中发生的,序列图属于动态建模。

序列图的重点在消息序列上,也就是说,描写叙述消息是怎样在对象间发送和接收的,表示对象之间传送消息的时间顺序。

序列图的组成元素:对象、生命线、激活、消息。

Untitled

协作图

强调参加交互的各对象结构的信息。协作图是一种类图,包含类元角色和关联角色,而不仅仅是类元和关联。协作图强调参加交互的各对象的组织

序列图的组成元素:对象、链接、消息。

Untitled

状态图

主要用于描述对象具有的各种状态、状态之间的转换过程以及触发状态转换的各种事件和条件

UML状态图描述了一个状态机,可以被定义为一台机器,它定义了一个对象,这些状态控制外部或内部事件的不同状态。

状态机由状态、转换、事件、活动和动作五部分组成。

Untitled

活动图

UML活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。

UML活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程

UML活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。

UML活动图基本上是代表流程形成一个活动到另一个活动的流程图。活动可以被描述为一个系统的操作。

Untitled

另:DFD

Untitled

九种常见UML图(分类+图解) - HZX↑ - 博客园

数据流图DFD --详细介绍_dfd图-CSDN博客

posted @ 2024-01-16 01:52  Meowki  阅读(51)  评论(1)    收藏  举报