2021年4月软件开发工具真题(2021年4月软件工程答案)

软件开发 57 0

今天给各位分享2021年4月软件开发工具真题的知识,其中也会对2021年4月软件工程答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

2011年三月全国计算机二级c真题及答案

2011年3月计算机二级c真题

一、 选择题

(1)下列关于栈叙述正确的是

A)栈顶元素最先能被删除

B)栈顶元素最后才能被删除

C)栈底元素永远不能被删除

D)以上三种说法都不对

(2)下列叙述中正确的是

A)有一个以上根结点的数据结构不一定是非线性结构

B)只有一个根结点的数据结构不一定是线性结构

C)循环链表是非线性结构

D)双向链表是非线性结构

(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)

A)3 B)4 C)6 D)7

(4)在软件开发中,需求分析阶段产生的主要文档是

A)软件集成测试计划 B)软件详细设计说明书

C)用户手册 D)软件需求规格说明书

(5)结构化程序所要求的基本结构不包括

A)顺序结构 B)GOTO跳转

C)选择(分支)结构 D)重复(循环)结构

(6)下面描述中错误的是

A)系统总体结构图支持软件系统的详细设计

B)软件设计是将软件需求转换为软件表示的过程

C)数据结构与数据库设计是软件设计的任务之一

D)PAD图是软件详细设计的表示工具

(7)负责数据库中查询操作的数据库语言是

A)数据定义语言

B)数据管理语言

C)数据操纵语言

D)数据控制语言

(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是

A)1:1联系 B)1:m联系

C)m:1联系 D)m:n联系

(9)有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是

A)自然连接 B)交 C)除 D)并

(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是

A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}

(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是

A)C语言程序仅可以编译执行

B)C语言程序仅可以解释执行

C)C语言程序既可以编译执行又可以解释执行

D)以上说法都不对

(12)以下叙述中错误的是

A)C语言的可执行程序是由一系列机器指令构成的

B)用C语言编写的源程序不能直接在计算机上运行

C)通过编译得到的二进制目标程序需要连接才可以运行

D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件

(13)以下选项中不能用作C程序合法常量的是

A)1,234 B)'123'

C)123 D)"\x7G"

(14)以下选项中可用作C程序合法实数的是

A).1e0 B)3.0e0.2

C)E9 D)9.12E

(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是

A)a=(b=4)=3; B)a=b=c+1;

C)a=(b=4)+c; D)a=1+(b=c=4);

(16)有以下程序段

char name[20];

int num;

scanf("name=%s num=%d",name;num);

当执行上述程序段,并从键盘输入:name=Lili num=1001回车后,name的值为

A)Lili

B)name=Lili

C)Lili num=

D)name=Lili num=1001

(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是

A)必须是逻辑值 B)必须是整数值

C)必须是正数 D)可以是任意合法的数值

(18)有以下程序

#include

main()

{ int x=011;

printf("%d\n",++x);

}

程序运行后的输出结果是

A)12 B)11 C)10 D)9

(19)有以下程序

#include

main()

{ int s;

scanf("%d",s);

while(s0)

{ switch(s)

{ case1:printf("%d",s+5);

case2:printf("%d",s+4); break;

case3:printf("%d",s+3);

default:printf("%d",s+1);break;

}

scanf("%d",s);

}

}

运行时,若输入1 2 3 4 5 0回车,则输出结果是

A)6566456 B)66656 C)66666 D)6666656

(20)有以下程序段

int i,n;

for(i=0;i8;i++)

{ n=rand()%5;

switch (n)

{ case 1:

case 3:printf("%d\n",n); break;

case 2:

case 4:printf("%d\n",n); continue;

case 0:exit(0);

}

printf("%d\n",n);

}

以下关于程序段执行情况的叙述,正确的是

A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作

C)当产生的随机数n为1和2时不做任何操作

D)当产生的随机数n为0时结束程序运行

(21)有以下程序

#include

main()

{ char s[]="012xy\08s34f4w2";

int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]='0's[i]='9') n++;

printf("%d\n",n);

}

程序运行后的输出结果是

A)0 B)3 C)7 D)8

(22)若i和k都是int类型变量,有以下for语句

for(i=0,k=-1;k=1;k++) printf("*****\n");

下面关于语句执行情况的叙述中正确的是

A)循环体执行两次

B)循环体执行一次

C)循环体一次也不执行

D)构成无限循环

(23)有以下程序

#include

main()

{ char b,c; int i;

b='a'; c='A';

for(i=0;i6;i++)

{ if(i%2) putchar(i+b);

else putchar(i+c);

} printf("\n");

}

程序运行后的输出结果是

A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef

(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是

A)scanf("%f",x[6]); B)scanf("%lf",*(x+6));

C)scanf("%lf",p+6); D)scanf("%lf",p[6]);

(25)有以下程序(说明:字母A的ASCII码值是65)

#include

void fun(char *s)

{ while(*s)

{ if(*s%2) printf("%c",*s);

s++;

}

}

main()

{ char a[]="BYTE";

fun(a); printf("\n");

}

程序运行后的输出结果是

A)BY B)BT C)YT D) YE

(26)有以下程序段

#include

main()

{ …

while( getchar()

!='\n');

}

以下叙述中正确的是

A)此while语句将无限循环

B) getchar()不可以出现在while语句的条件表达式中

C)当执行此while语句时,只有按回车键程序才能继续执行

D)当执行此while语句时,按任意键程序就能继续执行

(27)有以下程序

#include

main()

{ int x=1,y=0;

if(!x) y++;

else if(x==0)

if (x) y+=2;

else y+=3;

printf("%d\n",y);

}

程序运行后的输出结果是

A)3 B)2 C)1 D) 0

(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是

A)p=s; B)p=k; C)p=s[0]; D)k=s;

(29)有以下程序

#include

void fun(char *c)

{ while(*c)

{ if(*c='a'*c='z') *c=*c-('a'-'A');

c++;

}

}

main()

{ char s[81];

gets(s); fun(s); puts(s):

}

当执行程序时从键盘上输入Hello Beijing回车,则程序的输出结果是

A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing

(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

#include

#define N 10

void fun(int x[N])

{ int i=0;

while(i

}

在程序中下划线处应填入的是

A)x+i B)x[i+1]

C)x+(i++) D)x[++i]

(31)有以下程序

#include

main()

{ char a[30],b[30];

scanf("%s",a);

gets(b);

printf("%s\n %s\n",a,b);

}

程序运行时若输入:

how are you? I am fine回车

则输出结果是

A)how are you? B)how

I am fine are you? I am fine

C)how are you? I am fine

D)row are you?

(32)设有如下函数定义

int fun(int k)

{ if (k1) return 0;

else if(k==1) return 1;

else return fun(k-1)+1;

}

若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

A)2 B)3 C)4 D)5

(33)有以下程序

#include

int fun (int x,int y)

{ if (x!=y) return ((x+y);2);

else return (x);

}

main()

{ int a=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,c)));

}

程序运行后的输出结果是

A)3 B)6 C)8 D)12

(34)有以下程序

#include

int fun()

{ static int x=1;

x*=2;

return x;

}

main()

{ int i,s=1;

for(i=1;i=3;i++) s*=fun();

printf("%d\n",s);

}

程序运行后的输出结果是

A)0 B)10 C)30 D)64

(35)有以下程序

#include

#define S(x) 4*(x)*x+1

main()

{ int k=5,j=2;

printf("%d\n",S(k+j));

}

程序运行后的输出结果是

A)197 B)143 C)33 D)28

(36)设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是

A)t1=t2; B)t2.num1=t1.num1;

C)t2.mark=t1.mark; D)t2.num2=t1.num2;

(37)有以下程序

#include

struct ord

{ int x,y;}dt[2]={1,2,3,4};

main()

{

struct ord *p=dt;

printf("%d,",++(p-x)); printf("%d\n",++(p-y));

}

程序运行后的输出结果是

A)1,2 B)4,1 C)3,4 D)2,3

(38)有以下程序

#i

nclude

struct S

{ int a,b;}data[2]={10,100,20,200};

main()

{ struct S p=data[1];

printf("%d\n",++(p.a));

}

程序运行后的输出结果是

A)10 B)11 C)20 D)21

(39)有以下程序

#include

main()

{ unsigned char a=8,c;

c=a3;

printf("%d\n",c);

}

程序运行后的输出结果是

A)32 B)16 C)1 D)0

(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是

A)写操作结束后可以从头开始读 B)只能写不能读

C)可以在原有内容后追加写 D)可以随意读和写

二、填空题

(1)有序线性表能进行二分查找的前提是该线性表必须是 【1】 存储的。

(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 【2】 。

(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】测试。

(4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。

(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称 【5】是关系A的外码。

(6)以下程序运行后的输出结果是 【6】 。

#include

main()

{ int a;

a=(int)((double)(3/2)+0.5+(int)1.99*2);

printf("%d\n",a);

}

(7)有以下程序

#include

main()

{ int x;

scanf("%d",x);

if(x15) printf("%d",x-5);

if(x10) printf("%d",x);

if(x5) printf("%d\n",x+5);

}

若程序运行时从键盘输入12回车,则输出结果为 【7】 。

(8)有以下程序(说明:字符0的ASCII码值为48)

#include

main()

{ char c1,c2;

scanf("%d",c1);

c2=c1+9;

printf("%c%c\n",c1,c2);

}

若程序运行时从键盘输入48回车,则输出结果为 【8】 。

(9)有以下函数

void prt(char ch,int n)

{ int i;

for(i=1;i=n;i++)

printf(i%6!=0?"%c":"%c\n",ch);

}

执行调用语句prt('*',24);后,函数共输出了 【9】 行*号。

(10)以下程序运行后的输出结果是 【10】 。

#include

main()

{ int x=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf("%d %d\n",x,y);

}

(11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k0)开始的后续元素全部向前移动一个位置。请填空。

void fun(int a[N],int k)

{ int i;

for(i=k;i

}

(12)有以下程序,请在 【12】 处填写正确语句,使程序可正常编译运行。

#include

【12】 ;

main()

{ double x,y,(*p)();

scanf("%lf%lf",x,y);

p=avg;

printf("%f\n",(*p)(x,y));

}

double avg(double a,double b)

{ return((a+b)/2);}

(13)以下程序运行后的输出结果是 【13】 。

#include

main()

{ int i,n[5]={0};

for(i=1;i=4;i++)

{ n[i]==n[i-1]*2+1; printf("%d",n[i]); }

printf("\n");

}

(14)以下程序运行后的输出结果是 【14】 。

#include

#include

#include

main()

{ char *p; int i;

p=(char *)malloc(sizeof(char)*20);

strcpy(p,"welcome");

for(i=6;i=0;i--) putchar(*(p+i));

printf("\n-"); free(p);

}

(15)以下程序运行后的输出结果是 【15】 。

#include

main()

{ FILE *fp; int x[6]={1,2,3,4,5,6},i;

fp=fopen("test.dat","wb");

fwrite(x,sizeof(int),3,fp);

rewind(fp);

fread(x,sizeof(int),3,fp);

for(i=0;i6;i++) printf("%d",x[i]);

printf("\n");

fclose(fp);

}

2011年3月计算机二级c答案:

一、选择题

01-10:ABDDB ACDCB

11-20:ADBAA ADCAD

21-30:BDBCD CDCCC

31-40:BBBDB CDDCB

二、填空题

1.有序 2.DEBFCA 3.单元 4.主 5.D 6.3 7.1217 8.09 9.4 10.20 0

11.i-1 12.double avg(double a, double b); 13.13715 14.emoclew 15.123456

软考程序员考试内容有哪些?

程序员属于软考初级资格考试,软考程序员考试包含两个科目:基础知识与应用技术,各科目考试内容有所不同,考试需要在一次考试中各科目都及格才算合格。

程序员属于软考初级资格考试,根据程序员考试大纲,各科目考试内容如下:

考试科目1:计算机与软件工程基本知识

1.计算机科学基础

1.1数制及其转换

二进制、十进制和十六进制等常用数制及其相互转换

1.2数据的表示

数的表示

非数值数据的表示

1.3算术运算和逻辑运算

计算机中二进制数的运算方法

逻辑代数的基本运算

1.4数学应用

常用数值计算(矩阵、近似求解、插值)

排列组合、应用统计

编码基础

1.5常用数据结构

数组

线性表及链表

队列、栈

1.6常用算法

算法与数据结构的关系

算法设计和算法描述

常用的排序算法

查找算法

常用的数值计算方法

字符串处理算法

递归算法

最小生成树、拓扑排序和单源点最短路径求解算法

2.计算机系统基础知识

2.1硬件基础知识

2.1.1计算机的类型和特点

微机(PC机)、工作站、服务器、主机、大型计算机、巨型计算机、并行机

2.1.2中央处理器CPU

CPU的组成

常用的寄存器

指令系统,寻址方式

令执行控制、中断控制、处理机性能

2.1.3主存和辅存

存储介质

高速缓存(Cache)、主存

辅存设备

2.1.4I/O接口、I/O设备和通信设备

I/O接口

I/O设备(类型、特性)

通信设备(类型、特性)

I/O设备、通信设备的连接方法和连接介质类型

2.2软件基础知识

2.2.1操作系统基础知识

操作系统的类型和功能

处理机管理

存储管理

设备管理

文件管理

作业管理(作业调度算法)

图形用户界面和操作方法

2.2.2程序设计语言和语言处理程序的基础知识

语言翻译基础知识(汇编、编译、解释)

程序设计语言的基本成分:数据、运算、控制和传输

程序语言类型和特点

2.3网络基础知识

网络的功能、分类、组成和拓扑结构

基本的网络协议与标准

常用网络设备与网络通信设备,网络操作系统基础知识

Client/Server结构、Browser/Server结构

局域网(LAN)基础知识

Internet基础知识

2.4数据库基础知识

数据库管理系统的主要功能和特征

数据库模式(概念模式、外模式、内模式)

数据模型、ER图

数据操作(关系运算)

数据库语言(SQL)

数据库的主要控制功能(并发控制、安全控制)

2.5多媒体基础知识

多媒体基本知识

常用多媒体设备性能特征,常用多媒体文件格式类型

2.6系统性能指标

响应时间、吞吐量、周转时间

可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性

2.7计算机应用基础知识

计算机常用办公软件操作方法

计算机信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用

远程通信服务

3.系统开发和运行知识

3.1软件工程和项目管理基础知识

软件工程基础知识

软件开发生命周期各阶段的目标和任务

软件过程基本知识

软件开发项目管理基本知识

软件开发方法(原型法、面向对象方法)基础知识

软件开发工具与环境基础知识(CASE)

软件质量管理基础知识

3.2系统分析设计基础知识

数据流图(DFD)、实体联系图(ER图)基本知识

面向对象设计、以过程为中心设计、以数据为中心设计基础知识

结构化分析和设计方法

模块设计、代码设计、人机界面设计基础知识

3.3程序设计基础知识

结构化程序设计、流程图、NS图、PAD图

程序设计风格

3.4程序测试基础知识

程序测试的目的、原则、对象、过程与工具

黑盒测试、白盒测试方法

测试设计和管理

3.5程序设计文档基础知识

算法的描述、程度逻辑的描述、程度规格说明书

模块测试计划、模块测试用例、模块测试报告

3.6系统运行和维护基础知识

系统运行管理基础知识

系统维护基础知识

4.信息安全基础知识

信息系统安全基础知识

信息系统安全管理

加密与解密基础知识

5.标准化基础知识

标准化基本概念

标准的层次(国际标准、标准、行业标准、企业标准)

相关标准(代码标准、文件格式标准、安全标准、软件开发规范和文档标准、互联网相关标准)

6.信息化基础知识

信息、信息资源、信息化、信息工程、信息产业、信息技术的含义

全球信息化趋势、信息化战略、企业信息化战略和策略常识

有关的法律、法规要点

7.计算机专业英语

具有助理工程师(或技术员)英语阅读水平

掌握本领域的英语基本术语

考试科目2:程序设计

1.内部设计

1.1理解外部设计

1.2软件功能划分和确定结构

数据流图(DFD)、结构图

1.3物理数据设计

确定数据组织方式、存储介质、设计记录格式,处理方式

1.4详细输入输出设计

界面设计、报表设计等

1.5内部设计文档

程序接口、程序功能、人机界面、输入输出、测试计划

1.6内部设计评审

2.程序设计

2.1模块划分(原则、方法、标准)

2.2编写程序设计文档

模块规格说明书(程序处理逻辑、输入输出数据格式)

测试要求说明书(测试类型和目标、测试用例、测试方法)

2.3程序设计评审

3.程序实现

3.1编程

编程方法和规范

程序设计语言的选择和使用

人工走查

程序文档化

3.2程序测试

测试环境和测试工具的选择和使用

测试数据的设计

测试报告的编写

4.程序设计语言(C语言为必选,再在C、C++、Java语言中任选一种)

4.1C程序设计语言(C99标准)

4.2C++程序设计语言(ANSIC++标准)

4.3Java程序设计语言(Java2)

温馨提示:因考试政策、内容不断变化与调整,猎考网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

下方免费复习资料内容介绍:2021上半年系统集成项目管理工程师上午真题及答案解析

格式:PDF大小:581.88KB 2022下半年系统集成项目管理工程师考前20问

格式:DO大小:34.25KB

资格考试有疑问、不知道如何总结考点内容、不清楚报考考试当地政策,点击底部咨询猎考网,免费领取复习资料

2021年CSP-S各省试题一样吗

试题是一样的。

CSP-S考试是全国统一的,csp重点考察软件开发者实际编程能力,认证内容主要覆盖大学计算机专业所学习的程序设计,数据结构,算法以及相关的数学基础知识。

报名参加CSP认证者不限年龄,不限学历,不限报考次数,不限国籍,在报名官网注册账户后均可报名参加认证。

软件设计师考试考点分析与真题详解的目录

比特培训-24期(2017年上)-软件设计师培训课件,免费下载

链接:

提取码:2ocw

比特培训-24期(2017年上)-软件设计师培训课件|00.2015年-2016年试题及解析|14.多媒体和知识产权(2017年下半年-打印版本)-软设.doc|13.网络安全(2017年上半年-打印版本-改革版本).docx|12.数据库打印版本(2017年上格式ok).docx|11.面向对象设计模式--打印版本(2017年上-Java版本-24期).docx|10.UML分析与设计(2017年上-第24期打印版本).doc|09.面向对象及Java实践(2017年上--完整打印版本).docx|08.操作系统原理与技术(打印版本-2017年上-24期).doc|07.常用算法设计方法(2017年上-打印版本--邓少勋--有答案--改革版本).docx|06.计算机体系结构-打印版本(24期-2017年上).docx|05.数据结构(2017年上-打印版本).docx|04.数据流图与数据库分析与设计(2017年上-打印版本).doc|03.程序设计语言基础和编译原理(2017年上半年-打印版本).doc|02.计算机网络概述打印版(2017年上).docx。

软件工程试题!帮忙啊!急急急急急!

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.“软件工程的概念是为解决软件危机而提出的”这句话的意思是( )A.强调软件工程成功解决了软件危机的问题B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题2.瀑布模型的主要特点是( )A.将开发过程严格地划分为一系列有序的活动B.将开发过程分解为阶段C.提供了有效的管理模式D.缺乏灵活性3.在软件工程的需求分析阶段,不属于问题识别内容的是( )A.功能需求B.性能需求C.环境需求D.输入/输出需求4.画某系统的数据流图时,顶层图有( )A.0张B.1张C.2张D.3张及其以上5.软件模块内聚性最强的是( )A.功能内聚B.通信内聚C.偶然内聚D.逻辑内聚6.最早提出软件系统维护问题的阶段是( )A.可行性分析B.需求分析C.概要设计D.详细设计7.SD(结构化设计)方法设计的结果是( )A.模块B.模块结构图C.模块的算法D.数据流图8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试( )A.单元测试B.系统测试C.集成测试D.确认测试9.软件详细设计阶段的任务是( )A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计10.下列属于静态测试方法的是( )A.黑盒法B.路径覆盖C.白盒法D.人工检测11.Fortran语言主要作为以下哪个方面的语言( )A.科学工程计算B.系统软件C.事务处理D.人工智能12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是( )A.顺序结构B.选择结构C.嵌套结构D.重复结构l3.可维护软件的主要特性包括( )A.可理解性、可修改性、可移植性B.可使用性C.可维护性、可使用性、可靠性D.可测试性14.程序设计语言不具有的特性是( )A.心理特性B.工程特性C.应用特性D.技术特性15.下列不属于项目进度安排主要方法的是( )A.工程网络图B.Gantt图C.进度结构图D.任务资源表16.下列不属于通常冗余技术的是( )A.结构冗余B.信息冗余C.时间冗余D.代码冗余17.下列工具中,属于需求追踪工具的是( )A.在DBMS上的应用运行工具B.追踪和状态报告C.访问和版本控制机构D.文件和修改管理18.关于软件测试的目的,下面观点错误的是( )A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试19.在制定项目开发计划文档时,不包含的内容是( )A.项目概述B.实施计划C.测试计划D.交付期限20.面向对象的开发方法中,以下哪种方法原是面向Ada语言的,并处于面向对象开发方法的奠基性地位( )A.Booch方法B.Coad方法C.UML语言D.OMT方法二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。21.可行性研究从技术可行性、经济可行性、________三方面进行分析。22.IDEF0方法用来描述系统的功能活动及其联系,建立系统的_______模型。23.结构化方法总的指导思想是_______逐层分解。24.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为________。25.软件部件的内部实现与外部可访问性分离,这是指软件的______。26.用来模拟被测模块的上级调用模块的模块称为_______。27.软件复杂性度量的参数很多,主要有规模、_______、结构、智能度。28.软件开发环境中最主要的组成部分是______。29.软件工程管理的具体内容包括对开发人员、组织机构、用户和______等方面的管理。30.增量模型根据增量方式和形式的不同,分为_____和原型模型。三、名词解释题(本大题共5小题,每小题3分,共15分)31.过程设计语言(PDL)32.可移植性33.渐增式测试34.详细设计35.条件覆盖四、简答题(本大题共4小题,每小题5分,共20分)36.软件生存周期可以分为几个阶段,每个阶段的提交物是什么?37.结构化分析的描述工具有哪些?简述结构化分析的步骤。38.什么是黑盒测试法?常用的黑盒测试方法有哪些?39.简述面向对象的特征。五、应用题(本大题共2小题,第40小题10分,第41小题15分,共25分) 40.某个学生成绩管理系统的部分功能如下:(1)基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;(2)学生选课:学生根据教学执行计划进行选课;(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。请根据要求画出该问题的分层数据流图(要求画出顶层和0层数据流图)。 一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题后的括号内。每小题1分,共20分) 1. “软件危机”是指( ) A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 2. DFD中的每个加工至少需要( ) A. 一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一个输出流 3. 为了提高模块的独立性,模块之间最好是( ) A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 4. 下面关于PDL语言不正确的说法是( ) A. PDL是描述处理过程怎么做 B. PDL是只描述加工做什么 C. PDL也称为伪码 D. PDL的外层语法应符合一般程序设计语言常用的语法规则 5. 详细设计与概要设计衔接的图形工具是( ) A. DFD图 B. 程序图 C. PAD图 D. SC图 6. 不适合作为数据处理与数据库应用的语言是( ) A. SQL B. Cobol C. 4GL D. Lisp 7. 下列关于功能性注释不正确的说法是( ) A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释 8. 下列关于效率的说法不正确的是( ) A. 效率是一个性能要求,其目标应该在需求分析时给出 B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法 C. 效率主要指处理机时间和存储器容量两个方面 D. 程序的效率与程序的简单性无关 9. 测试的关键问题是( ) A. 如何组织对软件的评审 B. 如何验证程序的正确性 C. 如何采用综合策略 D. 如何选择测试用例 10. 结构化维护与非结构化维护的主要区别在于( ) A. 软件是否结构化 B. 软件配置是否完整 C. 程序的完整性 D. 文档的完整性 11. 软件维护困难的主要原因是( ) A. 费用低 B. 人员少 C. 开发方法的缺陷 D. 得不到用户支持 12. 可维护性的特性中,相互矛盾的是( ) A. 可理解性与可测试性 B. 效率与可修改性 C. 可修改性和可理解性 D. 可理解性与可读性 13. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的。 A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 14. 从目前情况来看,增量模型存在的主要问题是( ) A. 用户很难适应这种系统开发方法 B. 该方法的成功率很低 C. 缺乏丰富而强有力的软件工具和开发环境 D. 缺乏对开发过程中的问题和错误具有应付变化的机制 15. 下列有关软件工程的标准,属于行业标准的是( ) A. GB B. DIN C. ISO D. IEEE 16. 下列文档与维护人员有关的有( ) A. 软件需求说明书 B. 项目开发计划 C. 概要设计说明书 D. 操作手册 17. 在屏蔽软件错误的冗错技术中,冗余附加件的构成包括( ) A. 关键程序和数据的冗余存储和调用 B. 为检测或纠正信息在运算或传输中的错误须外加的一部分信息 C. 检测、表决、切换、重构、纠错和复算的实现 D. 实现错误检测和错误恢复的程序 18. ( )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。 A. 质量检测 B. 软件容错 C. 软件维护 D. 系统容错 19. 表示对象相互行为的模型是( )模型。 A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型 20. CASE工具的表示集成是指CASE工具提供相同的( ) A. 编程环境 B. 用户界面 C. 过程模型 D. 硬件/操作系统 二、填空题(每空2分,共20分) 1. 作为计算机科学技术领域中的一门新兴学科,软件工程主要是为了解决________问题。 2. 投资回收期就是使________等于最初的投资费用所需时间。 3. 在IDEF0方法的一个活动图形中控制活动是指________。 4. 划分模块时尽量做到________,保持模块的独立性。 5. PAD图是一种________展开的二维树形结构。 6. 对校正性维护应该从________的严重性开始。 7. 类的实例化是________。 8. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是________和________。 9. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为________。 三、名词解释(每小题3分,共15分) 1. 需求分析 2. 耦合性 3. 结构化程序设计 4. 状态图 5. 软件配置管理 四、简答题(每小题5分,共20分) 1. 简述演绎法调试的具体步骤。 2. 简述增量模型和瀑布模型的本质区别。 3. 简述设计一个容错系统的步骤。 4. 简述在项目开发时,选择程序设计语言应考虑因素。 五、应用题(第1题6分,第2小题8分,第3小题11分,共25分) 1. 某部门要处理大批单据所组成的事务文件,单据分为进货单和发货单两种,每种 单据由多行组成,每行包括零件号、零件名称、数量三个数据项。 要求:用Jackson方法表示事务文件的数据结构。(6分) 2. 根据以下被测试的流程图,选择相应的答案。(8分) (1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1 A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 ①在1-3的答案中满足判定覆盖的测试用例是________ (2分) ②在1-3的答案中满足条件覆盖的测试用例是________ (2分) ③在1-3的答案中满足判定/条件覆盖的测试用例是________ (2分) (4)A=2, B=0, X=4 (5)A=2, B=0, X=4 (6)A=2, B=0, X=4 A=2, B=1,X=1 A=2, B=2, X=1 A=1, B=1, X=1 A=1, B=0,X A=1, B=0, X=3 A=1, B=1, X=4 A=1, B=1,X=1 A=1, B=2, X=2 A=3, B=0, X=3 ④在4-6的答案中满足条件组合覆盖的测试用例是________(1分) ⑤在4-6的答案中满足路径覆盖的测试用例是________(1分) 3. 某电视购物公司采用面向对象技术实现商品销售计算机系统,基本需求如下: (1)公司提供多种类商品,每种商品通过委托订单来进行征订。 (2)公司下属多个分公司,每个分公司负责本地区委托订单的收录,打印收款凭证单。 (3)公司负责分类、统计各分公司送来的委托单,进行分类统计。 要求:按照上述模型建立对象模型。(11分) 一、

1.C 2.D 3.D 4.B 5.D 6.D 7.B 8.D 9.D 10.D 11.C 12.B 13.A 14.C 15.D 16.C 17.D 18.A 19.A 20.B

二、

1.如何建立一个软件系统

2.积累的经济效益

3.所受到的约束条件

4.高内聚低耦合

5.有左往右

6.评价错误

7.对象

8.MTTF MTBF

9.自底向上估算方法

三、

1. 需求分析是指,开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈

述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

2. 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。

3. 结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。 结构化程序设计方法的基本要点是: 1)采用自顶向下、逐步求精的程序设计方法

2)使用三种基本控制结构构造程序 3)主程序员组的组织形式。

4. 状态图是一个标准的计算机概念,它是有限自动机的图形表示,它反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。

5. 软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更;控制变更;确保变更正确地实现;报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。

四、

1.演绎法调试步骤:列出所有可能的错误原因的假设;排除不适当的假设;精化余于的假设;证明余于的假设。

2.瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。 3.(1)按设计任务要求进行常会设计,尽量保证设计的正确

(2)对可能出现的错误分类,确定实现容错的范围

(3)按照“成本—效率”最优原则,选用某种冗余手段(结构,信息,时间)来实现对各类错误的屏蔽

(4)分析或验证上述冗余结构的容错效果

4.(1)项目的应用领域;(2)软件开发的方法 (3)软件执行的环境(4)算法和数据结构的复杂性(5)软件开发人员的知识(选自不倒翁的博客)

2021年最受程序员欢迎的开发工具TOP 50名单出炉-

对于每一个开发者而言,开发工具就相当于他们的武器,选择一个合适的工具能够帮助我们在工作时事半功倍,在互联网逐渐发展成熟的今天,越来越多的开发工具供我们选择,但其中总有一些更好用的,如何选择成为了一大难题。

从而颁布了2021年StackShare第八届顶级工具奖,快来看看有没有你青睐的开发工具吧。

年度最佳新兴工具

1.FastAPI

FastAPI 是一个使用 Python3.6+ 构建 Web API 的高性能框架。根据框架创建者的说法,FastAPI 性能与 NodeJS 或 Golang 相当。

2.GitHub Copilot

作为一款 AI 结对编程工具,Copilot 的主要定位是提供类似 IntelliSense/IntelliCode 的代码补全与建议功能,但在实际表现上有望超越同样由微软合作伙伴 OpenAI 开发的 Codex AI 系统。

3.FiglamFigma

Figma 是一个 基于浏览器 的协作式 UI 设计工具,从推出至今越来越受到 UI 设计师的青睐,也有很多的设计团队投入了Figma 的怀抱,

4.Logtail

Logtail是日志服务提供的日志采集Agent,用于采集阿里云ECS、自建IDC、其他云厂商等服务器上的日志。本文介绍Logtail的功能、优势、使用限制及配置流程等信息。

5.Coder

开发人员工作区平台·

6.Charts.csscss

Charts.css 是用于数据可视化的开源 CSS 框架,帮助用户理解数据,帮助开发人员使用简单的 CSS 类将数据转换为漂亮的图表。·

7.Counter

简单并且免费的网络分析·

8.React Query

React Query是一个库,可为任何类型的异步数据提供ReactJS状态管理功能。根据他们的官方文件,·

9.vscode.dev

将VS Code引入浏览器,构建一个可以在浏览器中完全无服务器运行的开发工具。

10.BookStack

BookStack 是一个开源的、基于 Laravel + Vue.js 构建的知识管理和服务平台。具有简单但功能强大的所见即所得编辑器,允许团队轻松创建详细且有用的文档。·

11.ThunderClient

Thunder Client 为我们提供了一款轻量级、易用、整洁、简单的 Rest API 客户端扩展。·我们可以利用 Thunder Client 在编辑器内快速测试代码库的 API 端点,从而最大限度地减少页面的切换。它可以替代 Postman,作为常用的无脚本测试工具。

12.Quod AI

Quod AI Code Search是一个由人工智能驱动的Chrome扩展,可以自动从Git存储库或Jira问题中搜索代码。

它使用问题的标题和描述,并自动在你的Git存储库中找到匹配的内容。

13.Dendron

Dendron 是典型的开源社区编程思维的解决方案,虽然初看起来有一点学习曲线,但从根本上是给了使用者最大的自由发挥空间,同时又提供了最强大和最彻底的工具生态支持。·

14.Notion API

把概念和你每天使用的工具联系起来·

15.Github1s

只需1秒,就可以用VS Code方式来看GitHub代码。·

16.Ocean

容器的无服务器基础架构引擎·

17.Magic

快速构建应用程序,可定制,无密码登录

·

18.Jina

更简单的一种在云上构建神经搜索的方法,

19.Focalboard

一款开源、本地存储、免费的类 Notion 应用Focalboard 的自我定位是“Trello、Notion 和 Asana 的开源、自托管替代品”。·

20.zx

更好地编写脚本的工具(By Google)

21.OpenSearh

OpenSearch是阿里云开放搜索简称,为解决用户结构化数据搜索需求的托管服务,支持数据结构、搜索排序、数据处理自由定制。·

22.Querybook

一个可以发现、创建和共享数据分析、查询以及表的大数据IDE(通过Pinterest),

23.MangoDB

MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。MongoDB就是数据库,是NoSQL类型的数据库

24.TooIJet

Retool的开源替代品·

25.Kitemaker

Kitemaker是为团队而非经理创建的超快速问题跟踪器。为远程团队创建的Jira的快速替代方案·

26.Appflowy

Appflowy 是一款使用 Flutter 和 Rust 构建的开源笔记软件,它支持Windows、macOS和Linux,可以免费下载使用

27.Kubegres

Kubegres 是一个 Kubernetes Operator,用来部署并维护 PostgreSql 集群,提供开箱即用的数据复制和故障转移功能,简化 PostgreSql 集群生命周期管理,降低数据复制的复杂性

28.Lightning Web Components

Lightning Web Components,业内简称LWC,是Salesforce于Spring 19发布的一款新型Lightning Component,快速的企业级Web组件基础

29.Judo

用无代码构建原生应用体验

30.Apache APISIX

Apache APISIX Apache APISIX是一个动态、实时、高性能的API网关。提供了丰富的流量管理功能,如负载均衡、动态上游、canary释放、断路、认证、可观察性等。

31.Control

提供免费的加速、自动化安全性以及SOC2合规

32.Remix

专注于Web技术和现代 用户体验的框架

33.NocoDB

免费并且开源的Airtable替代方案

34.JetBrainsQodana

评估你拥有的、合同或购买的代码的完整性

35.TabnineAI

只能代码编写

36.Coolify

一个开源的,自适应的Heroku和Netlify的替代品

37.Penpot

开源设计和原型平台

38.Portman

Postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。

39.Devops Stack

持续部署Kubernetes环境

40.Slidev

面向开发人员的演示幻灯片

41.ReScript

ReScript 是一门针对 JavaScript 程序员的新语言,特别是对 TypeScript 和 Flow 的类型安全感兴趣的程序员。ReScript 的语法和 JavaScript 非常相似

42.Fig

自定完成终端

43.FlutterFlow

Flutterflow 是一个在线低码平台,使人们在视觉上以人们在视觉上构建本机移动应用程序。

44.Porter

运行在你自己的云中的Heroku

45.SigmaOS

在 SigmaOS 中,你会看到完全不同的浏览器布局,它更像是一个工作台

46.VictoeiaMetrics DB

快速、低成本的监控解决方案和时间序列数据库

47.CloudflarePages

JAMstack平台为前端开发者提供协作和部署网站的平台

48. Devbook

面向开发者的搜索引擎

49.Front Matter

直接在VS Code中管理静态站点

50.Supacase UI

用于企业仪表的React组件库

以上可以说是集结了开发行业中的所有“神器”,不仅能助力程序员高效工作,也是今后走向开发岗位小伙伴们的加薪工具。小伙伴可以从中挑选适合自己的工具~

关于2021年4月软件开发工具真题和2021年4月软件工程答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码