软件工程导论习题

2023-11-17

软件工程是软件工程专业的一门重要学科,掌握好软件工程原理是开发软件的重要基础知识。本博客对软件工程导论部分习题解释,以更加深理解。

选择

1、业界存在三种需求分析方法:面向功能分析、面向对象分析和 B 。
A.面向算法分析 B.面向数据分析 C.面向程序分析 D.面向硬件分析


2、软件可维护性的特性中相互矛盾的是 C 。
A.可修改性和可理解性 B.可测试性和可理解性C.效率和可修改性 D.可理解性和可读性


3、下列耦合中,我们尽量采用A ,避免或谨慎地使用其它耦合。
A.数据耦合 B.内容耦合 C.公共耦合 D.控制耦合
【分析】:数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递.数据耦合联系简单,耦合度低,模块独立性好,模块间的影响最小,是最理想的一种耦合形式。
公共耦合:通过一个公共数据环境相互作用的那些模块间的耦合.由于两个模块都要引用同一个公共数据域,因此有较高的耦合度。一旦公共数据有变化,与之有关的模块都应随之而修改,增加了维护的工作量及难度。
内容耦合:内容耦合是指如果一个模块与另一个模块的内部属性有关,不经调用直接使用另一个模块的程序代码或内部数据,那么这两个模块之间就存在内容耦合。这种耦合表明一个模块与另一个模块的内部数据或程序代码有关,当一个模块的程序代码被修改或内部数据出错,必然引起另一个模块出错。而对后一模块的出错是很难查出原因的,这样给模块的修改、维护带来极大困难。内容耦合的耦合度最大,为“病态耦合”,在设计时,应避免这种耦合。
控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。


4、软件测试方法中的 D 属于静态测试方法。
A. 黑盒法 B.路径覆盖 C.错误推测 D.人工检测
【分析】:软件测试若从是否需要执行被测试软件的角度,可以分为静态测试和动态测试方法。若按照功能划分,可以分为黑盒测试和白盒测试。静态测试可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。逻辑覆盖属于白盒测试的主要方法。错误推测属于黑盒测试主要诊断方法之一。


5、结构化分析方法采用的基本手段是 A
A. 分解与抽象 B.分解与综合 C.归纳与推导 D.试探与回溯


6、可行性研究要进行一次(D)需求分析。
A.深入的 B.详尽的 C.彻底的 D.简化的、压缩了的
【分析】:可行性研究之后还有需求分析阶段


7、可维护性的特性中相互促进的是(A)
A.可理解性和可测试性  B.效率和可移植性C.效率和可修改性   D.效率和结构好
【分析】:可理解那么就好维护了,可测试是可以维护的前提


8、(D)是以提高软件质量为目的的技术活动。 
A.技术创新  B.测试  C.技术创造  D.技术评审


9、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成,(C);对象彼此之间仅能通过传递消息互相联系;层次结构的继承
A.开发过程基于功能分析和功能分解  
B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法
D.对既存类进行调整


10、为了提高测试的效率,应该(D)。
A.随机地选取测试数据  B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据


11、软件测试可能发现软件中的( B ),但不能证明软件( )。
A.所有错误,没有错误 B.错误,没有错误 C.逻辑错误,没有错误 D.设计错误,没有错误


12、以下不属于软件维护困难表现的是( C )。
A.读懂别人的程序是困难的。
B.文档的不一致性。
C.源程序及相关文档的错误或丢失。
D.软件开发和软件维护在人员和时间上的差异。E. 软件维护不是一项吸引人的工作。
【分析】:C存储好不就可以了~


13、软件设计一般分为总体设计和详细设计,它们之间的关系是( A )。
A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构


14、一组语句在程序多处出现,为了节省空间,把这些语句放在一个模块中,该模块的内聚度是( C )的。
A.逻辑性 B.瞬时性 C.偶然性 D.通信性
【分析】:模块内聚的种类(内聚度从低到高)有:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚和功能内聚。

  • 偶然内聚:如果一个模块完成一组任务,这组任务彼此之间即使有关系,其关系也是很松散的。
  • 逻辑内聚:一个模块完成逻辑上相关的一组任务,这个模块是逻辑内聚的
  • 瞬间内聚:一个模块所包含的任务必须在同一时间间隔内执行,这个模块属于瞬间内聚
  • 过程内聚:一个模块的处理元素是相关的,而且必须保持特定的次序执行,这个模块属于过程内聚。
  • 通信内聚:一个模块的所有处理元素集中在一个数据结构的区域上,这个模块属于通信内聚。
  • 顺序内聚:一个模块的处理元素是相关的,而且必须顺序执行,这个模块属于顺序内聚。
  • 功能内聚:一个模块完成一个单一的功能,模块中的各部分在此目标下协调工作,而且都是完成这一功能不可缺少的,这个模块属于功能内聚。

15、在一个课程注册系统中,定义了类CourseSchedule和类Course ,并在类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则类CourseSchedule和类Course之间的关系是( C )。
A.泛化关系 B.组合关系 C.依赖关系 D.包含关系
【分析】:聚合和组合的区别在UML类图中,聚合是空心的菱形,组合是实心的菱形。
组合关系就像一个学生和他的各个器官,手、脚、鼻子、眼睛等器官组合成了一个学生,这些器官离开学生这个个体,也就失去了意义,无法单独生存。
因此,组合关系的类具有相同的生命周期,他们的联系更加紧密聚合就像一个班级有许多学生构成,学生离开了班级,作为一个个体仍然能存活。


16、需求分析的思路是从用户的功能需求出发,由系统的业务流程和数据流程导出系统的(B)和(C),识别出系统的元数据和中间数据,为今后设计(A)做好充分准备。
A)数据模型 B)业务模型 C)功能模型 D)UML模型


17、软件的集成测试工作最好由(D )承担,以提高集成测试的效果。
A)该软件的设计人员 B)该软件开发组的负责人
C)该软件的编程人员 D)不属于该软件开发组的软件设计人员
【分析】:旁观者清


18、在软件开发中软件系统各个组成部分的功能及其互相之间的接口关系的内容应在(D) 中得到阐明:
A)可行性研究报告 B)项目开发计划
C)软件需求说明书 D)概要设计说明书
E)详细设计说明书 F)测试计划 G)测试报告


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件工程导论习题 的相关文章

  • 浅谈人工智能专业,作为普通学生对未来的看法

    一 个人简介 本人是一个普通大学的普通学生 和大多数人一样 经历过高考志愿填报 在身边人的建议下 自己对于人工智能专业那听起来高大上的名字以及对于未知的探索渴望 我最终填报了人工智能专业 二 给普通学生的一段话 我真的和许许多多人一样就是一
  • Intel C and C++ Compilers: Features and Supported Platforms

    Submitted by Jennifer J Intel on April 20 2015 Share Tweet Share Intel C Compiler Features Supported in Different Produc
  • c++ 可变参数的三种实现方式

    c 可变参数 方法一 C语言的 va list1 include
  • 【python零基础入门学习】python基础篇(基础结束篇)之数据结构类型-列表,元组,字典,集合(五)

    本站以分享各种运维经验和运维所需要的技能为主 python零基础入门 python零基础入门学习 python运维脚本 python运维脚本实践 shell shell学习 terraform 持续更新中 terraform Aws学习零基
  • oracle 碎片是什么意思,Oracle碎片整理全面解析

    Oracle 作为一种大型数据库 广泛应用于金融 邮电 电力 民航等数据吞吐量巨大 计算机网络广泛普及的重要部门 对于系统管理员来讲 如何保证网络稳定运行 如何提高数据库性能 使其更加安全高效 就显得尤为重要 作为影响数据库性能的一大因素
  • IRP的同步问题

    转载自 http zhan renren com debugman tagId 178558 page 2 checked true 一 前言 对设备的任何操作都会最终转化为IRP请求 而IRP一般都是由操作系统异步发送的 异步处理IRP有
  • OpenCV(三十三):计算轮廓面积与轮廓长度

    1 介绍轮廓面积与轮廓长度 轮廓面积 Contour Area 是指轮廓所包围的区域的总面积 通常情况下 轮廓面积的单位是像素的平方 轮廓长度 Contour Length 又称周长 Perimeter 表示轮廓的闭合边界的长度 轮廓的边界
  • 搞懂clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop的区别

    https juejin cn post 7018372558999257102
  • Linux系统 Ubuntu18.04安装的详细教程(提供18.04ubuntu镜像)

    文章目录 一 镜像安装 二 vim更新 gcc ifconfig下载 三 共享文件夹设置 设置 使用 测试共享文件夹是否能使用 这步可以省略 四 另外 虚拟机名称 全名 用户名 镜像文件下载 链接 https pan baidu com s
  • 心情不美丽,爬了一些美图,独自欣赏!

    小屌丝 鱼哥 咋了 心情不美丽 小鱼 嗯 小屌丝 晚上撸串去 小鱼 不 小屌丝 蹦迪 小鱼 不 小屌丝 喝酒 小鱼 不 小屌丝 猎艳 小鱼 于是乎 一段代码上来 某网站的美女图片被下载下来 直接上代码 coding utf 8 auth c
  • js中一些常用的正则

    let reg new RegExp 电话号码 let reg 1 35789 d 9 身份证号 let reg 1 9 d 16 dX d 17 d X 18 65年龄 let reg 18 19 2 5 0 9 6 0 5 密码校验 d
  • 数据库分组排序和优化策略

    数据库分组排序和优化策略 1 分组排序 查询每个部门的最高平均工资 select deptno avg sal from emp group by deptno order by avg sal limit 0 1 查询到平均工资大于200
  • Burpsuite xssvalidator测试工具使用方法

    一 安装方法 Extend搜索xss可以找到该工具 选择后点安装就行 下载phantomjs 2 1 1 windows 然后cmd终端里执行 phantomjs exe xss js 开启后是这样的 二 使用测试 打开一个有xss的网页测
  • iPhone手机UDID获取方法

    UDID iOS设备的唯一识别码 每台iOS设备都有一个独一无二的编码 这个编码 就称为识别码 也叫做UDID Unique Device Identifier 一 通过Xcode查看 手机连接电脑 打开Xcode 选择window gt
  • 理解文本编码,ASCII、Unicode、UTF8、字节序和乱码-word打开是乱码

    原文网址提示有风险 基础知识 在计算机的内部 信息都是以二进制的方式存储的 二进制的一位 bit 可以表示0和1 位也叫做比特 位作为单位太小 为了便于使用 通常使用字节 byte 来表示二进制 一个字节有8位 可以表示256种 2的8次方
  • Docker+Jenkins+Golang 持续集成交付实战

    最近因公司发展需要 增加了一些go语言开发 对项目要求使用jenkins go docker自动部署上线 一 安装jenkins 1 安装Jenkins 详情见centos使用docker搭建jenkins jenkins使用方法见jenk
  • 使用face_recognition(一)人脸识别

    关于使用face recognition 安装方面还是有些坑的 之前用的是python3 5 pip安装出错 需要dlib什么的 按照网上的教程弄 还是有问题 搞了一天搞不定 后来看到说用python3 6比较简单 就换了个版本 结果pip
  • Ubuntu 14.04升级openssh7.7p1

    安装流媒体kurento 指定操作系统是Ubuntu 14 04 用户最近安全漏洞扫描 Ubuntu主机的ssh版本太低 OpenSSH 6 6 1p1 需要需要对该主机的SSH版本进行升级 准备升级的安全包 本次升级我准备了三个文件 op
  • 【学术探讨】万能密码原理剖析

    作者主页 士别三日wyx 作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 推荐专栏 对网络安全感兴趣的小伙伴可以关注专栏 网络安全入门到精通 万能密码 顾名思义 就是可以 登录任意网站 的账号和密码
  • ORA-28040: 没有匹配的验证协议 问题解决

    出现这类问题 是因为 jar包不匹配造成 更换ojdbc jar包可以解决 下载ojdbc7 jar 用以前的jar包会出问题 以前的jar包会出现ora 28040 没有匹配的验证协议 项目使用的 ojdbc14报错 更换oidbc6解决

随机推荐

  • linux环境文件或者文件夹打包

    1 linux zip压缩 压缩当前文件夹下所有文件 压缩为a zip 命令行的方法是怎样 常用格式 zip r fileName zip 文件夹名 1 把 home目录下面的data目录压缩为data zip zip r data zip
  • java for循环删除元素_JAVA中循环删除list中元素的方法总结

    JAVA中循环遍历list有三种方式for循环 增强for循环 也就是常说的foreach循环 iterator遍历 1 for循环遍历list for int i 0 i if list get i equals del list rem
  • 第十二届蓝桥杯 ——左孩子右兄弟

    问题描述 对于一棵多叉树 我们可以通过 左孩子右兄弟 表示法 将其转化成一棵二叉树 如果我们认为每个结点的子结点是无序的 那么得到的二叉树可能不唯一 换句话说 每个结点可以选任意子结点作为左孩子 并按任意顺序连接右兄弟 给定一棵包含 N N
  • 腾讯广告算法大赛冠军、Kaggle Grandmaster倾力打造,涵盖Kaggle、阿里天池等赛题...

    随着互联网时代的到来 以及计算机硬件性能的提升 人工智能在近几年可以说是得到了爆发式的增长 互联网时代带来了大量的信息 这些信息是名副其实的大数据 另外 性能极佳的硬件也使得计算机的计算能力大大增强 这二者结合到一起 人工智能的蓬勃兴盛就变
  • MySQL数据库连接

    1 连接数据库 Class forName com mysql cj jdbc Driver 加载驱动 Connection conn DriverManager getConnection jdbc mysql localhost 330
  • 易云维®医院后勤管理系统软件利用物联网智能网关帮助实现医院设备实现智能化、信息化管理

    近年来 我国医院逐渐意识到医院设备信息化管理的重要性 逐步建立医院后勤管理系统软件 以提高信息化管理水平 该系统是利用数据库技术 为医院的中央空调 洁净空调 电梯 锅炉 医疗设备等建立电子档案 把设备监控 管控 维保 设置等主要管理操作都通
  • UHF超高频RFID应用RFID珠宝盘点管理

    关于UHF超高频RFID技术对RFID珠宝盘点管理的好处 在商场上逛 我们总会看到关于珠宝柜台展示的时候 无论多小的物品都会有一个个条码标签挂着 如果店员想对这些珠宝盘点 传统的做法是一个一个扫 如果实施RFID物联网技术 珠宝贴上RFID
  • qemu调试linux内核

    有了qemu后我们可以使用一台电脑就能模拟出多种cpu架构的单板 不需要去进行重复复杂的编译烧写调试工作了 提高开发的效率 一 主机环境 vmware或者hyper v安装ubuntu20 04 二 gdb安装 这里我们直接用gdb mul
  • vsftpd服务器上传文件,当我将文件上传到 Vsftpd 服务器时,文件被锁定

    我正在使用 FTP 的 spring 集成将文件上传到 FTP 服务器 Bean ServiceActivator inputChannel toFtpChannel public FtpMessageHandler handler Ftp
  • [ACM] 1016 Prime Ring Problem (深度优先搜索)

    Prime Ring Problem Problem Description A ring is compose of n circles as shown in diagram Put natural number 1 2 n into
  • Linux-3种方法快速找出监听特定端口的进程

    Pre 端口是代表通信端点的逻辑实体 并与操作系统中的给定进程或服务相关联 在之前的文章中 我们解释了如何找出 Linux 中所有开放端口的列表 以及如何使用 Netcat 命令检查远程端口是否可达 在这个简短的指南中 我们将展示在 Lin
  • TypeScript 中如何使用 getter 和 setter

    使用 get 和 set 关键字在 TypeScript 中定义 getter 和 setter getter 使我们能够将属性绑定到在访问属性时调用的函数 而 setter 将属性绑定到在尝试设置属性时调用的函数 class Develo
  • Qt助手(assistant):方便查找Qt类

    一个方便查找QT类用法的地方 QT自带的 QT助手 在qt安装路径中找到assistant exe 它就是QT助手 运行之后就可以查找QT中的类和函数了 找到后 将其发送到桌面快捷方式 更名为Qt助手
  • 关于pytorch图像处理模块的数据处理

    文章参考 chsasank github io from future import print function division import torch import torch nn as nn import torch optim
  • egg-jwt egg jwt 使用

    1 安装egg jwt npm install egg jwt save 2 配置 config plugin ts import EggPlugin from egg const plugin EggPlugin jwt enable t
  • MySQL数据库之DDL操作

    1 数据库管理系统的一些常用术语 学习数据库首先要清楚数据库的一些常用术语 行 又叫做记录 每一行都是一组相关的数据 列 又叫做字段 每一列都是一组数据类型相同数据 主键 是唯一的 在一张数据表中只有一个主键 且不能为空 外键 主要用于关联
  • 【牛客101】06,07判断链表中是否有环,找到环的入口

    文章目录 1 判断是否有环 1 1 题目描述 1 2 题目分析 1 3 代码讲解 2 找到环的入口 2 1 题目描述 2 2 问题分析 2 3 代码详解 1 判断是否有环 1 1 题目描述 判断给定的链表中是否有环 如果有环则返回true
  • JAVA中“+”加号用法总结及注意事项

    用法总结 1 若加号左右两边都是数值型时 做的是加法运算 2 若加号左右两边有任一方是非数值型时 做的都是拼接运算 注意事项 若加号左右两侧为方法名时将各方法结果输出后拼接打印 lo setAge 18 lo setName lou Sys
  • 关闭套接字close还是shutdown

    close 这个函数会对套接字引用计数 1 一旦发现引用计数到0 就会对套接字进行彻底释放 并且会关闭tcp两个方向的数据流 因为套接字可以被多个进程共享 你可以理解为我们给每个套接字都设置了一个积分 如果我们通过fork的方式创建了子进程
  • 软件工程导论习题

    软件工程是软件工程专业的一门重要学科 掌握好软件工程原理是开发软件的重要基础知识 本博客对软件工程导论部分习题解释 以更加深理解 选择 1 业界存在三种需求分析方法 面向功能分析 面向对象分析和 B A 面向算法分析 B 面向数据分析 C