史上最全的软件工厂考试简答题教程

软件工程考试简答题

1. 有人认为软件开发时,一个错误发现得越晚,为改正它所付出的代价越大。提出你的观点并解释原因?

(1)在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;

(2)在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;

(3)在软件“已经完成”时在引入变动,付出的代价更高。

2.你认为一个好的软件开发人员应该具备哪些基本素质?

(1)掌握计算机软件的基本知识和技能;

(2)善于分析综合问题,具有严密的逻辑思维能力;

(3)工作踏实细致,遵循标准和规范,具有严格的科学作风;

(4)工作有耐心、有毅力、有责任心;

(5)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;

(6)具有良好的书面核口头表达能力。

3.在校园里设置自动售货机是否可行,请大家说明理由。

建议自己百度

我的小意见就是要用到软件工程的思想的话就要从可行性分析去分析这个问题,经济可行性、操作可行性、法律可行性、技术可行性

4.以学生选课系统为例,谈一谈如何进行界面设计

一. 用户的帮助设施: 学生选课系统要给用户提供帮助信息,如学生选课的操作流程可以提示信息

二. 系统的响应:学生进行操作是的响应应该在0.5内,尽量在不影响用户操作体验。

三. 错误信息处理:当学生操作异常时,系统自动的给出出错提示,如选课的时候,学生选择相同的课程,可以给出重复提示。

四.命令交互:选课系统的界面应该提供良好的命令交互。例如,提供菜单项、窗口界面等。 五.输入输出:输入尽量简单,输出形式多样化。例如让学生选课的时候可以采用下拉的方式来学生来选择课程,学生的选择的课程可以采用图表形式展示。

5. 如何将数据流图映射成软件结构图?

按照我自己的思维来说我觉得就是先判断是事务流还是交换流

不管是这两种的哪一种最上面都是写这是一个什么系统

事务流的话就是分为输入和处理两个部分去画出软件结构图

交换流就是分为三个部分输入、处理、输出来画出软件结构图

在这两个部分中数据是用空心圆箭头,控制信息是用实心圆箭头、正方形用来写模块和操作

6.有人认为“软件工程过于耗费时间,并且妨碍开发人员的编程效率。”你是否认同这种观点?请阐述理由。 

答:这一观点是不正确的。

软件开发远不只是编程,管理不当导致的混乱、工作重复、交流不畅等才是大多软件项目效率低下的主要原因。虽然直接编程在开发前期看来效率高,但是不完整的、不清晰的或错误的需求和设计将导致在开发后期反复地修改程序,反而降低了整个开发效率,其质量也无法保证,甚至导致软件开发最终失败的结果。

软件工程是帮助人们在有限的时间、金钱预算和人力、物力资源的约束下开发出质量尽量高的软件的一系列理论和工具,虽然它在编程之外的工作上花费了大量时间,但所耗费的时间与精力并不像其表面上所看起来的那样冗余与低效,而是从总体上做好整个体系的设计与把握,全方位地规划开发过程,对节省成本、提高效率、保证最终产品质量起到了事半功倍的作用。

7.软件工程是以系统的、可控的、有效的方式产生高质量的软件,请说明你对“高质量软件”含义的理解。

软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来进行描述,包括正确性、可靠性、有效性、可用性、复用性、可维护性、可移植性等。例如,除了要求软件正确运行之外,人们可能还希望软件运行的响应时间符合要求、软件使用方便快捷、程序代码易于理解等,而“程序代码易于理解”往往是一种用户没有明确提出的需求,但却是影响软件演化的重要因素。

9. (简答题) 机票预定系统中涉及的状态是机票的状态。当新的航空公司入驻之后,系统管理员会向数据库中添加机票相关信息,该机票进入审核状态,当该机票审核通过后,则处于待售状态;在销售过程中,如果该机票全部销售完毕,则进入售罄状态;销售过程中,如果航班取消,机票会进入下架状态,机票售罄或下架后,管理员清空机票信息,机票会进入退出流通状态,最后管理员删除机票。请根据上述描述画出相应的状态转换图。

状态转换图的符号表示

  • 初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。
  • 中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分也是可选的。
  • 状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标出触发转换的事件表达式;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换。

做题的过程很简单就是看开始是什么时候,先写下开始事件到横线上,可以很好的看见题目中都会告诉你状态是什么,例如:审核状态、待售状态、售罄状态这些写在圆角矩形中

10.复印机的工作过程大致如下∶未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入│闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。

试用状态转换图描绘复印机的行为。

活动表也就是在状态的时候会发出什么情况

数据流图需要的东西就是四个东西:

11. (其它) 某图书馆借阅系统有如下功能:

(1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续,修改库存记录及读者档案,超过规定数量不予借阅。对于第一次借阅者则直接办理借阅手续。

(2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅超过规定期限则罚款给图书管理员。

请根据要求画出该问题的数据流图。

数据流图(需求分析阶段是使用的工具)转化为软件结构图(概要设计阶段是使用的工具)有两种:

1.事务流:输入信息、处理

2.交换流:输入、处理、输出三部分

分辨方式:1.事务流一般有两个对象,而交换流只有一个对象,输出是要返回给对象的

软件结构图需要的东西:

12. (其它)某火车售票系统的数据流程图如下所示:请根据数据流图转换成软件结构图。

13.将下列数据流图转换成SC软件结构图。

分析题目:又题目可以很清楚的就知道这是一个变化流的数据流图,因为可以看到分为三个模块分别是输入、加工、输出

答案:

软件测试中基本路径测试法

1.画出流程图(根据程序写,并且要表上顺序)

2.画出控制流图(把顺序连接)

3.计算圈复杂度(小题也可能考,考的是需要几个测试用例)

  1. 给定流图G的圈复杂度V(G),定义为V(G)=Area,Area是流程图中的区域数量(即为封闭区域数量+1);
  2. 推荐:给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流 图中结点的数量;
  3. 给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。

4.导出测试用例(把所有的路都写一次)

5.准备测试用例(每一条路写一个测试用例)

14.案例

分析下面的代码段,设计一组满足基本路径覆盖的测试用例。

案例步骤

  1. 分析代码,画出程序流程图;
  2. 根据程序流程图画出控制流图;
  3. 计算圈复杂度;
  4. 导出测试用例;
  5. 准备测试用例。

代码段

public void function(int x, int y, int z)
{
if ((y > 1) && (z == 0))
{
x  =  x/y;
}
if ((y == 2) || (x > 1))
{
x = x+1;
}
y = x + z;}

流程图

步骤1:导出过程的控制流图:根据流程图分析结点:

(1)结点1:开始;

(2)(y>1)&&(z==0)为逻辑运算符 AND连接的复合条件表达式,需要改为单条件的判定,分解为2个结点,结点2:z==0;结点3:y>1;

(3)结点4:x=x/y;

(4)(y==2)||(x>1)为逻辑运算符 OR连接的复合条件表达式,需要改为单条件的判定,分解为2个结点,结点5:y==2;结点6:x>1;

(5)结点7:x=x+1;

(6)结点8:y=y+z

(7)结点9:结束。

步骤2:确定环形复杂性度量V(G):

(1)V(G)= 5 (个区域)[区域1:2-3-5;区域2:3-4-5;区域3:5-6-7;区域4:6-7-8;区域5:外部];

推荐(不会出错):(2)V(G)=E–N+2=12–9+2=5;其中E为流图中的边数,N为结点数;

(3)V(G)=P+1=4+1=5;其中P为判定结点的个数。在流图中,结点2、3、5、6是判定结点。

步骤3:确定基本路径集合(即独立路径集合)。于是可确定5条独立的路径:

路径1:1-2-5-6-8-9

路径2:1-2-5-7-8-9

路径3:1-2-5-6-7-8-9

路径4:1-2-3-5-6-8-9

路径5:1-2-3-4-5-6-8-9

步骤4:为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。

(1)路径1(1-2-5-6-8-9)的测试条件:z≠0,y≠2,x

(2)路径2(1-2-5-7-8-9)的测试条件:z≠0,y=2;

(3)路径3(1-2-5-6-7-8-9)的测试条件:z≠0,y≠2,x>1;

(4)路径4(1-2-3-5-6-8-9)的测试条件:z=0,y(5)路径5(1-2-3-4-5-6-8-9)的测试条件:z=0,y>1&&y≠2,x

等价分类法

1.划分合理不合理等价类

输入条件

合理等价类

不合理等价类

2.写测试用例表

测试数据

测试范围

预期结果

15.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。

判定树和判断表

1.分析需求:列出所有的条件桩(条件是什么)和条件项(一般都是T or F)

2.分析需求:列出所有组合产生的动作(情况)

3.简化判定表、树(把相同的结果合并)

16.为了节约能源,制定如下两套水费收费方案。如果选择固定费率收费,每人每月用水量少于3吨的用户,水费为5元/吨;超出的用水量,按照费率表A的费率收费。如果选择可变费率收费,则每人每月用水量少于6吨的用户,按照费率表A的费率收费,超出的用水量按照费率表B的费率收费。请用下面方法设计上述水费费用的判断过程。

(1)

条件桩

条件项

用水量

超过/不超过

收费方案

固定费率收费/可变费率收费

(2)

动作:水费为5元/吨、超出的用水量,按照费率表A的费率收费、按照费率表A的费率收费、超出的用水量按照费率表B的费率收费

收费方案

固定费率收费

固定费率收费

可变费率收费

可变费率收费

用水量

不超过

超过

不超过

超过

水费为5元/吨

T

水费为5元/吨;超出的用水量,按照费率表A的费率收费

T

按照费率表A的费率收费

T

按照费率表A的费率收费,超出的用水量按照费率表B的费率收费。

T

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/50977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openai whisper使用

whisper使用 介绍 Whisper是一种通用的语音识别模型。它是在大量不同音频数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。 GitHub:https://github.com/openai/whisper 论文链接:https://arx…

注册Github账号详细过程

目录 一、准备工作 二、注册步骤 一、准备工作 在注册GitHub账号之前,请确保您已经准备好以下信息: 一个有效的电子邮箱地址:用于接收验证邮件和GitHub的后续通知。 用户名:确保该用户名在GitHub上是唯一的,且符合…

turtle画图知识

Turtle库是Python编程语言中的一个库,用于创建各种类型的图形,包括简单圆形、线条、路径和图片。它支持多种图形类型,并且可以绘制出各种复杂的形状。 以下是一些基本的使用方法: 1. 创建一个新的Turtle对象: pytho…

Leetcode JAVA刷刷站(53)最大子数组和

一、题目概述 二、思路方向 这个问题是一个经典的算法问题,称为“最大子序和”(Maximum Subarray Problem)。解决这个问题的一个高效方法是使用“Kadanes Algorithm”,它只需要遍历数组一次,就能在 O(n) 时间复杂度内…

CVPR2023《DNF: Decouple and Feedback Network for Seeing in the Dark》暗光图像增强论文阅读笔记

相关链接 论文链接 https://openaccess.thecvf.com/content/CVPR2023/papers/Jin_DNF_Decouple_and_Feedback_Network_for_Seeing_in_the_Dark_CVPR_2023_paper.pdf 代码链接 https://github.com/Srameo/DNF 摘要 RAW数据的独特属性在低光照图像增强方面展现出巨大潜力。…

C语言典型例题47

《C程序设计教程(第四版)——谭浩强》 习题3.7 输入4个整数,要求按照从小到大的顺序输出 4个数之间进行比较,冒泡排序最最最详细过程,如果想更改为任意数之间相互比较,只需要修改两个地方(数组大…

力扣面试经典算法150题:买卖股票的最佳时机 II

买卖股票的最佳时机 II 今天的题目是力扣面试经典150题中的数组的中等难度题:买卖股票的最佳时机 II。 题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 问…

教程:postman的平替hoppscotch,又叫postwoman,hoppscotch的docker-compose安装过程

目录 1. 背景2. 前期准备2.1 准备docker-compose文件,两个版本,一个3合1,一个分开2.1.1 3合1版本(推荐)2.1.2 独立版本 2.2 准备安装nginx-proxy-manager(可选)2.2 准备.env文件2.2.1 默认ip的.…

Spring Boot OAuth2.0应用

本文展示Spring Boot中,新版本OAuth2.0的简单实现,版本信息: spring-boot 2.7.10 spring-security-oauth2-authorization-server 0.4.0 spring-security-oauth2-client 5.7.7 spring-boot-starter-oauth2-resource-server 2.7.10展示三个服务…

Android高版本抓包总结

方案1 CharlesVirtualXposedJustTrustMe 推荐使用三星手机此方案 VirtualXposed下载链接:https://github.com/android-hacker/VirtualXposed/releases JustTrustMe下载链接:https://github.com/Fuzion24/JustTrustMe/releases/ 下载完成后使用adb命令…

从易车“超级818冠军之夜” 看如何借势体育营销点燃汽车消费热潮

编辑 | 魏力 发布 | 大力财经 导语:这个8月,是属于奥运的8月。 巴黎奥运会虽圆满落幕,但属于奥运健儿们的热度还在持续。在这股奥运热潮的带动下,全民运动热情持续释放,同时也激发出巨大的消费潜力。 赛场外&#…

黄热病疫苗市场调研:预计到 2030 年全球市场规模将达到 1.8 亿美元

一、黄热病疫苗市场研究 (一)发展趋势 1. 市场规模增长:据调研团队报告所示,预计到 2030 年全球黄热病疫苗市场规模将达到 1.8 亿美元,年复合增长率为 3.0%。这表明市场在未来几年将保持稳定增长态势。增长的原因主要…

LSI-9361阵列卡笔记

背景 要将raid0更改为JBOD直通模式 注意的点是要先将raid模式调整为JBOD之后重启机器,即可 备注:转换过程中硬盘中的数据未丢失。 步骤贴图 refer https://zhiliao.h3c.com/questions/dispcont/123250 https://blog.csdn.net/GreapFruit_J/article/…

Android Activity启动流程(Android 13)

文章目录 Android Activity启动流程(Android 13)概述流程图前提流程分析Activity#startActivity()Activity#startActivityForResult()Instrumentation#execStartActivity()ActivityTaskManager#getService() ActivityTaskManagerService#startActivity()ActivityTaskManagerSer…

解决window 端口的占用问题

netstat -nao | findstr "5554" taskkill -pid 5076 -f 本文资料来自 https://cloud.tencent.com/developer/article/1703982

基于机器学习的二手房房价数据分析与价格预测模型

有需要本项目的可以私信博主,提供远程部署讲解 本研究聚焦重庆二手房市场,通过创新的数据采集和分析方法,深入探讨影响房价的关键因素,并开发了预测模型。 我们首先利用Python编写的爬虫程序,巧妙规避了链家网站的反…

Mac文件需要分卷压缩怎么办 Mac上怎么解压分卷压缩的文件

在处理大型文件的传输和存储的时候,Mac用户常面临文件大小超过限制的问题。为了有效管理这些大文件,分卷压缩成为一种必不可少的解决方案。Mac文件需要分卷压缩怎么办?Mac上怎么解压分卷压缩的文件?本文将向你介绍如何使用BetterZ…

探索数据结构:并查集的分析与实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 并查集的引入 1.1 并查集的概念 并查集是一种树型数据结构&#xf…

什么是品牌低价 低价要如何处理

在消费领域,当消费者遭遇商品价格混乱不堪的局面,他们大可以选择敬而远之,放弃购买。但对于品牌商而言,若线上出现低价、乱价的情况,若坐视不管,那必然会引发一系列严重后果。 品牌若是对线上的低价、乱价现…

Linux环境下OpenSSH升级到 OpenSSH_9.8p1(内置保姆级教程并包含openssl升级过程)

文章目录 前言一、下载openssh、openssl二进制包二、升级步骤1.系统开启telnet,防止意外导致shh无法连接2.确认升级前openssh的版本3.升级openssh3.1.备份旧ssh配置文件及目录3.2.备份旧ssh相关的二进制程序文件3.3.安装gcc,并解压9.8p1的安装包3.4.执行openssh编译…