2020年整理R软件期末考试复习提纲.pdf
R语言期末知识点汇总
1、R区分大小写2、函数getwd()来查看当前的工作目录,setwd()设定当前的目录。
使用引号””闭合这些目录名和文件名3、getwd()——显示当前的工作目录 ls()——列出当前工作空间的对象 rm(objectlist)——移除(删除)一个或多个对象 help()——显示可用选项说明 options()——显示或者设置当前选项 history(#)——显示最近使用过#个命令(默认值为25)savehistory(“myfile”)——保存命令历史到文件myfile中(默认值为.Rhistory)loadhistory(“myfile”)——载入一个命令历史文件(默认值为.Rhistory)save.image(“myfile”)——保存工作空间到文件myfile中(默认值为.RData)save(objectlist,file=”myfile”)——保存指定对象到一个文件中load(“myfile”)——读取一个工作空间到当前会话中(默认值为.RData)q()——退出R。
将会询问你是否保存工作空间4、R将反斜杠\作为一个转义符5、setwd(“mydirectory”)——修改当前的工作目录为mydirectorysetwd()不会自动创建一个不存在的目录6、dir,create()来创建新目录7、函数source(“filename”)可在当前会话中执行一个脚本。
如果文件名不包括路径,R将假设此脚本在当前工作目录中。
8、函数sink(“filename”)将输出重定向到文件filename中。
但是它对图形输出没有影响。
9、参数append=TRUE可以将文本追加到文件后,而不是覆盖它。
参数split=TRUE可将输出同时发送到屏幕和输出文件中。
10、使用dev.off()将输出返回到终端。
11、数据集通常是由数据构成的一个矩形组,行表示观测,列表示变量。
12、单个向量中的数据必须拥有相同的类型或模式。
R软件复习资料
第一章快速入门变量的作用域只有在函数内部可见的变量对这个函数来说是“局部变量”。
需要注意的是,R函数中的形式参数是局部变量。
在计算函数调用的取值时,R会把每个实际参数复制给对应的局部参数变量,继而改变那些在函数外不可见的变量的取值。
“作用域法”全局变量是在函数之外创建的变量,在函数内部也可以访问。
向量向量类型是R语言的核心。
向量的元素必须属于某种“模式”mode,或者说是数据类型。
一个向量可以由三个字符串组成(字符模式),或者三个整数元素组成(整数模式),但是不能由一个整数元素两个字符串元素组成。
字符串字符串实际上是字符模式(而不是数值模式)的单元素向量矩阵矩阵是向量,不过还有两个附加属性:行数和列数。
第二章向量标量、向量、数值和矩阵R语言中的变量类型称为模式mode。
R中向量是连续储存的,因此不能插入或删除元素,向量的大小在创建时已经确定。
可以使用函数length()获取向量的长度可以用它判断其向量参数,中第一个1所在位置的引索值First1<-function{for(I in 1:length(x)){if (x[i]==1) break}return(i)}声明和大多数脚本语言一样,R中不需要声明变量。
但是,要引用向量中特定的元素,就必须先告诉R。
在函数语言中,读写向量中的元素,实际上由函数来完成,如果R事先不知道Y是一个向量,那么函数将没有执行对象。
循环补齐在对两个向量使用运算符时,如果要求这两个向量具有相同的长度,R会自动循环补齐,即重复较短的向量,直到它与另一个向量长度相匹配。
在相加之前,也可以转换成相同维数的矩阵。
常用的向量运算R中最重要和最常用的一个运算符是引索。
引索向量的格式是向量1[向量2],它返回的结果是,向量1中引索为向量2的那些元素。
>y<-c(1.2,3.9,0.4,0.12)>y[c(1,3)][1]1.2 0.4>y[2:3][1]3.9 0.4负数的下标代表我们想把相应元素剔除>z<-c(4,2,17,5)>z[-1][1]12 13NA和NULL值在统计数据集,我们经常遇到缺失值,在R中表示为NA。
软件工程复习提纲总结3篇
软件工程复习提纲总结3篇七、软件维护1.软件维护的含义及类型?2.软件维护过程?3.◆需要把握的内容:4.1、面对对象分析(OOA)的任务?5.面对对象分析(OOA)过程中包括哪些活动?6.2、三种面对对象模型各自表示的内容?7.3、对象模型的表示工具?动态模型的表示工具?功能模型的表示工具?8.4、结合软件开发实例,理解三种面对对象模型之间的关系9.以及面对对象分析环节完成的主要工作。
10.11.---------------? 课堂练习题目一、填空题1.软件主要包括程序、和三部分内容。
2.软件可行性讨论的任务是从技术、和三个方面分析软件项目的可行性。
3.软件测试的目的是;通常把软件测试方法分为和两大类。
4.结构化分析方法中,功能模型用描述;数据模型用描述。
5.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以根据自己的需要为同名行为设计不同的算法,此性质称为类的__。
二、选择题1.产生软件危机的主要缘由有(C)。
①软件本身的特点②用户使用不当③硬件牢靠性差④程序员水平⑤缺乏好的开发方法和管理手段A.③④B.①②④C.①⑤D.①③2.需求分析阶段,开发人员需从用户那里获得的最重要信息是(C)。
A.用户能接受的开发费用B.用户能接受的开发周期C.用户要让软件做什么D.软件应具有何种结构3.数据流图中的每个处理至少有(B)。
A.一个输入流或一个输出流B.一个输入流和一个输出流C.一个输入流D.一个输出流4.在面对数据流的设计方法中,一般把数据流图划分为(C)两种类型。
A.数据流和事务流B.变换流和数据流C.变换流和事务流D.掌握流和事务流5.数据流图所描述的是实际系统的(A)。
A.规律模型B.物理模型C.程序流程D.数据结构6.由变换型数据流图转换成模块结构图,其中包括变换模块,则(B)。
A.变换模块就是主模块B.变换模块的功能是将规律输入变换为规律输出C.变换模块没有下层模块D.变换模块只能有一个输入量、一个输出量7.为了提高软件测试的效率,应当(C)。
软件工程复习提纲
1.什么是软件?是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。
附:软件的特征:成本高、风险大、维护困难2.什么是软件危机,其内容主要是指什么?原因:1、与软件本身的特点有关;2、与软件开发人员有关;定义:在计算机软件开发和维护过程中所遇到的一系列严重的问题。
1)对软件开发成本和进度的估计常常不准确。
2)用户对“已完成”系统不满意的现象经常发生。
3)软件产品的质量不可靠。
4)软件的可维护程度非常之低。
5)软件通常没有适当的文档资料。
6)软件的成本不断提高。
7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。
3.什么是软件工程?开发、运行和维护软件的系统方法软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。
4.软件工程的目标(PP.41)及其组成部分。
方法、工具和过程。
•软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。
方法:是指产生某些结果的形式化过程,•工具:是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。
•过程:生产特定产品的工具和技术的结合软件工程方法学包含3个要素:方法、工具和过程。
5.软件开发方法的定义。
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。
比如SASD方法、面向对象的软件开发方法。
6.好的软件的一些主要衡量指标。
例如McCall的质量模型。
(1)质量,它的衡量:产品的质量、过程的质量、商业环境背景下产品的质量。
McCall的质量模型:附:开发团队的成员第二章1.什么是软件生命周期?主要分为哪些阶段?各个阶段的主要任务及产生的主要制品? 定义:当过程是在开发软件产品时,把这种软件开发过程称为软件生命周期。
软件工程复习提纲
1 软件危机产生的原因和方法(1)原因:一方面与软件本身的抽象性和复杂性有关,这是客观原因;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因.(2)方法:既要有技术措施(包括方法和工具),又要有组织管理措施2 软件生命周期阶段(1)可行性研究(2)需求分析(3)软件设计(4)编码(5)软件测试(6)软件维护3 常见软件开发模型(1)瀑布模型(2)原型模型(3)增量模型(4)螺旋模型(5)统一软件开发过程4 软件需求分析目标和任务(1)目标:研究用户需求,得到目标系统的需求定义(2)任务:1确定目标系统的具体要求2建立目标系统的逻辑模型5 需求分析步骤(1)获取需求,识别问题(2)分析和描述系统的逻辑模型(3)需求分析的复审6数据流图有四种基本符号:(1).正方形或立方体表示数据的源点或终点;(2).圆角矩形或圆形代表数据处理;(3).开口矩形或两条平行横线代表数据存储;(4).箭头表示数据流,即数据流动得方向.7 实体-联系图(E-R图)的三个基本组成部分:(1).实体。
用矩形框表示实体;(2).关系。
用菱形框表示实体之间的关系;(3).属性。
用椭圆形或圆角矩形表示实体(或关系)之间的属性。
8 软件设计基本原则(1)抽象与分解(2)模块化和信息隐藏(3)模块独立性9 耦合和类聚的分类:(1)耦合:1数据耦合,2控制耦合,3特征耦合,4公共环境耦合,5内容耦合(2)内聚:1偶然内聚,2逻辑内聚,3时间内聚,4过程内聚,5通信内聚,6顺序内聚,7功能内聚10数据流图中数据流的分类: 变换型数据流和事务型数据流11 如何高质量的完成详细设计的目标和任务?(1)目标:设计目标系统,得出新系统软件的详细规格,同时要求设计出规格简明易懂,便于下一阶段用某种程序语言在计算机上的实现(2)任务:①算法过程的设计,②数据结构的设计,③数据库物理设计,④信息编码设计,⑤测试用例的设计,⑥其他设计,⑦编写详细设计说明书12结构化程序设计通常采用自顶向下, 逐步求精的设计方法13 软件测试的分类(1)根据程序是否运行分为:静态分析,动态分析(2)测试数据的设计依据分为:黑盒测试,白盒测试14 黑盒测试含义及分类(1)含义:又称功能测试,,是以用户的观点,从输入数据与输出数据的对应关系出发测试的,不涉及程序的内部结构(2)分类:等价类划分法,边界值分析法,决策表法,因果图法15 白盒测试含义及分类(1)含义:按照程序内部逻辑结构测试程序,检验是否程序能够按照规定正常运行(2)分类:覆盖测试,功能性测试,结构性测试(3)16 软件测试步骤(1)单元测试(2)集成测试(3)确认测试(4)系统测试17 软件维护的种类(1).改正性维护(2)适应性维护(3)完善性维护(4)预防性维护18 软件维护的策略(1) 改正性维护(2)适应性维护(3)完善性维护19 软件维护的过程(1)建立维护机构(2)用户提出维护申请并提交维护申请报告(3)维护人员确认维护类型并实施相应的维护工作(4) 整理维护记录并对维护工作进行评审(5)对维护工作进行评价20 决定软件可维护性的因素(1)可理解性(2)可测试性(3)可修改性21 统一建模语言UML是用一组专用符号描述软件规模的语言,这些符号统一、直观、规范,可以用于任何软件开发过程22. UML分为结构图和行为图,其中共有六种结构图和七种行为图。
软件工程复习提纲(附答案)
软件工程复习提纲(附答案)软件工程第一章软件工程介绍1、软件的特性:P3软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。
2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P135、软件的定义:P3软件是:指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。
第二章过程综述1、软件工程的三个要素:工具,过程,方法P8过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。
工具:为过程和方法提供自动化或半自动化的支持。
2、通用软件过程框架:沟通,策划,建模,构建,部署P9沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。
建模:它包括创建模型和设计两方面。
创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。
构建:它包括编码和测试。
部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P19沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。
(完整版)软件工程期末复习要点归纳总结(可编辑修改word版)
第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。
3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。
5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3 个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3 个时期组成。
RIA复习提纲完结版.doc
1 •简述你对jQuery作用的认识。
query的功能和优势功能:获取网页元素、设置网页外观、更改网页内容、响应用户操作、添加动画效果、实现Ajax交互优势:体积小、支持所有流行的浏览器、基于css选择器、许多操作针对同一个对象(集合 ' 面向集合、详细的文档、丰富的UI控件、与其他JavaScript库共存、免费开源如何配置jquery环境?下载JQUERY库,将JS库文件复制到站点中的某个文件夹,再在DW中引用2•简述RIA的含义及RIA应用开发的原理。
大量的代码在客户端,用js编写,客户端用ajax方式提交请求,在回调函数中生成或更新局部界面3•什么是链式操作,举例说明jQuery的链式操作。
jQuery执行完某方法后,方法返回对象本身,可以继续执行其他方法例如:页面文档载入后,为所有vh3>元素绑定click事件,当鼠标单击某个vh3>元素时会切换其class属性中的highlight属性值,同时它后面的vul>兄弟元素会切换其显示、隐藏状态。
$(function(){$(“h3”).click(function(){$(this).toggleClass(“highlight").next(“ul").toggle();});}举例:S("#Test").css('color','red').show(200).removeClass(,style')在一行代码里,对id为Test的对象进行了三项操作:先设置其字体颜色为红色,再显示对象,最后移除对象的“style”这个样式4•以vdiv id=9,data v/>为例说明DOM对象与jQuery对象是如何相互转换的?Dom Document.getElementByld("data”)Jquery:$(“#data”)Get() /Get(O)$()/jquery()JQuery对象转换为DOM对象:如:1、var $v=$(M#data M);//JQuery 对象varv=$v[0];//DOM 对象2、var $v=$(M#data H);//JQuery 对象var v=$v.get(0);//DOM 对象DOM对象转换为JQuery对象如:var v=document.getElementByld(<l data n);//DOM 对象var $v=$(v);//JQuery 对象5. window, onload 和$ (document). ready ()区别window.onload :必须等待网页全部加载完毕,然后再执行包裹代码,只能执行一次,如果第二次,那么第一次的执行会被覆盖$(document).ready():R需要等待网页中的DOM结构加载完毕,就能执行包裹的代码可以执行多次,第N 次都不会被上一次覆盖,可简写为$ (function() { });6•在下列html中执行了$「label ~ input1*)选择了哪些HTML?用笔画出来。
R统计软件及应用期末试题及答案
R统计软件及应用期末试题及答案一、选择题(每题2分,共20分)1. R语言中,用于将数据按照某一列排序的函数是()。
A. sort()B. order()C. arrange()D. rank()2. 在R中,用于提取矩阵第2行第3列元素的代码是()。
A. matrix[2, 3]B. matrix[3, 2]C. matrix[2][3]D. matrix[c(2, 3)]3. R语言中,以下哪个函数可以对数据进行离散化处理?A. cut()B. merge()C. subset()D. aggregate()4. 在R中,以下哪个函数可以计算两个变量之间的相关系数?A. mean()B. var()C. cor()D. sd()5. 下列哪项操作可以将一个数值向量转换为因子类型?A. as.character()B. as.numeric()C. as.factor()D. as.logical()6. R语言中,用于进行多项式回归分析的函数是()。
A. lm()B. glm()C. nls()D. polr()7. 在R语言中,执行一次循环操作的控制结构是()。
A. if-elseB. whileC. forD. repeat8. R语言中,用于创建一个空的数据框的函数是()。
A. matrix()B. data.frame()C. list()D. cbind()9. 在R语言中,以下哪个函数可以对数据进行缺失值的处理?A. na.omit()B. na.fail()C. na.exclude()D. na.pass()10. R语言中,以下哪个函数用于计算数据的标准差?A. sqrt()B. mean()C. var()D. sd()二、简答题(每题10分,共30分)1. 简述R语言的优点以及应用领域。
R语言是一种功能强大且广泛应用于统计分析和数据可视化的开源编程语言。
其主要优点包括:1)免费开源:R语言是一个开源软件,用户可以自由使用、复制、分发和修改,并且开源社区提供了丰富的扩展包和文档资源。
(完整word版)R软件期末考试复习提纲
#期末考试专项复习#一、矩阵与数据框#1.生成特定的矩阵与数据框#矩阵#方法一a=array(1:10,dim=c(2,5))rownames(a)=1:2colnames(a)=c("one”,"two”,"three”,"four","five”)adimnames(a)=list(1:2,c("one”,”two","three”,"four”,”five”))nrow=nrow(a)ncol=ncol(a)dim(a)#方法二a=matrix(1:10,nrow=2,byrow=F)rownames(a)=1:2colnames(a)=c(”one","two","three",”four","five”)a=matrix(1:10,nrow=2,byrow=F,dimnames=list(1:2,c(”one”,”two”,"three”,"four”,”five”)))#数据框的生成df=data。
frame(Name=c("Alice","Becka","James",”Jeffrey”,"John”),Sex=c(”F",”F","M”,”M",”M”),Age=c(13,13,12,13,12),Height=c(56。
5,65.3,57。
3,62.5,59。
0),Weight=c(84。
0,98。
0,83。
0,84。
0,99.5));dfLst=list(Name=c("Alice”,”Becka",”James","Jeffrey","John"), Sex=c("F","F”,”M”,"M",”M"),Age=c(13,13,12,13,12),Height=c(56。
(完整word)软件工程期末复习要点归纳总结,推荐文档
第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。
3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。
5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。
软件工程复习资料(提纲+答案)
软件工程复习资料(提纲+答案)第一章软件工程的实质1、什么是软件?由什么组成?软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。
可以写作为:软件=程序+数据+文档。
2、什么是软件危机?为什么会产生?(原因)软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高3、为什么要进行软件开发?4、软件工程的三段论?三段论:软件项目管理论、软件项目开发论、软件过程改进论5、软件工程生存期模型概念、类型、每种类型的特点?答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。
6、了解复用的原则第二章软件项目的需求分析1、需求分析的主要任务?(基本任务)答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。
本阶段要主要有以下几方面工作:(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。
(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。
(3)编写文档,也就是完成“需求规格说明书”的编写工作。
2、需求分析分两大块(功能与非功能)功能需求描述系统所预期提供的功能或服务。
非功能需求是对系统提供的服务或功能给出的约束。
包括时间约束、开发过程的约束、标准等。
3、(P27)需求建模的基本方法?答:关联模型、行为模型(数据流模型和状态机模型)、数据模型、面向对象模型、结构化模型(技术:数据流图(DFD)、数据字典(DD)、系统流程图)以及其他方法(如原型法、功能列表等)4、结构化方法的代表?(P29)7状态图活动图8、理解好数据流图为什么要分层?9、UML中常用的9种图?(P32 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。
软件技术基础终极复习提纲辛苦手打欢迎改错
一、数据结构及算法1,算法的概念,几个基本特征及含义;p14算法的概念:算法是对特定问题求解的一种描述,是为了解决一个或一类问题的一个确定的,有限的操作序列。
算法的特征:5个:(1)有穷性;一个算法必须对任何合法的一组输入值,在执行有穷的步骤之后结束,且,每一步都可在有穷的时间内完成。
(2)确定性:算法的每一步操作必须有确切的含义,不会产生二义性,并且相同的输入只能得出相同的输出结果。
(3)可行性:算法中描述的操作都是基本的,可以通过已经实现的基本运算执行有限次来实现。
(4)输入:一个算法有0个或多个输入,这些输入来自于摸个特定对象的集合。
(5)输出:一个算法有一个和多个输出,这些输出是与输入有特定的关系的量,是算法进行信息加工的结果。
2、基本要素3、算法的基本设计方法:穷举法、归纳法、递推、递归、减半递推、回溯法。
4、算法的复杂程度分析(由哪些决定)(1)时间复杂度:是指执行算法所需要的计算工作量。
T(n)=O(f(n))可以采用平均性态和最坏情况复杂性来分析(2)空间复杂度:是指执行算法所需要的存储空间。
S(n)=O(g(n))5、数据结构(1)概念:我们把互相有关联的数据元素的集合称之为数据结构。
(2)表示(图形):逻辑结构的表示、存储结构的表示(3)分类:线性结构和非线性结构(4)存储:顺序存储:空间连续,插入删除不方便,随机(直接)存取链式存储:空间可以不连续,占空间多,插入删除方便,顺序存取索引存储:2.4哈希存储:也称散列存储,2.8.4(5) 运算:查找、排序、插入、删除、修改。
6、线性表的插入和删除(指顺序存储,若为链式存储则称线性链表)算法7、栈(1)概念:栈是限定在表的一端进行插入和删除运算的线性表。
允许插入和删除的一端称为栈顶,另一端称为栈底。
(2)先进后出或后进先出(3)存储结构:顺序栈和链栈存储均可,顺序栈更常见。
(4)相关应用:进制转换,括号匹配问题,中缀表达式转换成后缀表达式(逆波兰表达式)8、队列(1)概念:队列是限定所有插入操作在表的一端进行,而删除操作在表的另一端进行的线性表(头删尾插)(2)特征:先进先出(3)相关问题:约瑟夫问题。
R12020最新考试题库及答案
R12020最新考试题库及答案一、单项选择题(每题2分,共20分)1. R12020软件的主要功能是()。
A. 办公自动化B. 项目管理C. 工程制图D. 数据分析答案:C2. 在R12020中,如何创建一个新的图纸文件?A. 点击“文件”菜单,选择“新建”B. 点击“编辑”菜单,选择“新建”C. 点击“视图”菜单,选择“新建”D. 点击“帮助”菜单,选择“新建”答案:A3. R12020中,哪个工具用于绘制直线?A. 铅笔工具B. 直线工具C. 曲线工具D. 矩形工具答案:B4. 在R12020中,如何快速选择多个对象?A. 使用鼠标左键单击每个对象B. 使用鼠标右键单击每个对象C. 使用鼠标左键拖动选择框覆盖所有对象D. 使用鼠标右键拖动选择框覆盖所有对象答案:C5. R12020中,如何测量两点之间的距离?A. 使用“测量”工具B. 使用“标注”工具C. 使用“计算”工具D. 使用“分析”工具答案:A6. 在R12020中,如何对图形进行缩放?A. 使用“缩放”工具B. 使用“放大”工具C. 使用“缩小”工具D. 使用“视图”菜单中的“缩放”选项答案:D7. R12020中,如何将一个图形复制到另一个位置?A. 使用“复制”工具B. 使用“粘贴”工具C. 使用“剪切”工具D. 使用“编辑”菜单中的“复制”选项答案:D8. 在R12020中,如何设置图层属性?A. 使用“图层”工具B. 使用“属性”工具C. 使用“设置”菜单中的“图层”选项D. 使用“视图”菜单中的“图层”选项答案:C9. R12020中,如何插入一个块?A. 使用“插入”工具B. 使用“块”工具C. 使用“编辑”菜单中的“插入”选项D. 使用“插入”菜单中的“块”选项答案:D10. 在R12020中,如何保存当前图纸?A. 点击“文件”菜单,选择“保存”B. 点击“编辑”菜单,选择“保存”C. 点击“视图”菜单,选择“保存”D. 点击“帮助”菜单,选择“保存”答案:A二、多项选择题(每题3分,共15分)11. R12020中,以下哪些工具用于绘制圆形?A. 圆工具B. 椭圆工具C. 圆弧工具D. 矩形工具答案:A, B, C12. 在R12020中,以下哪些操作可以修改图形属性?A. 使用“属性”工具B. 使用“编辑”菜单中的“属性”选项C. 使用“属性”面板D. 使用“设置”菜单中的“属性”选项答案:A, B, C13. R12020中,以下哪些工具用于绘制多边形?A. 矩形工具B. 多边形工具C. 椭圆工具D. 圆工具答案:A, B14. 在R12020中,以下哪些操作可以创建新的图纸?A. 点击“文件”菜单,选择“新建”B. 点击“编辑”菜单,选择“新建”C. 点击“视图”菜单,选择“新建”D. 点击“帮助”菜单,选择“新建”答案:A15. R12020中,以下哪些工具用于绘制曲线?A. 铅笔工具B. 直线工具C. 曲线工具D. 圆弧工具答案:A, C, D三、判断题(每题1分,共10分)16. R12020软件主要用于办公自动化。
软考复习提纲
软考复习资料一、计算机系统组成运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。
控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。
CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的)。
相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。
CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块)、全相联映像(主存分块)、组相联映像(主存分区,区分块、块成组,CACHE分块成组)。
替换算法:随机、先进先出、近期最少用、优化替换算法。
性能分析:H为CACHE命中率,tc为Cache存取时间、tm为主存访问时间,Cache等效访问时间ta=H tc +(1-H) tm 提高了tm/ta倍。
虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。
RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。
内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。
优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。
廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。
中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法(硬件)、总线仲裁法、中断向量表法(保存各中断源的中断服务程序的入口地址)。
直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉。
根据占据总线方法不同分为CPU停止法、总线周期分时法、总线周期挪用法。
输入输出处理机用于大型机:数据传送方式有字节多路方式、选择传送方式、数组多路方式。
指令流水线:操作周期是最慢的操作的时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#期末考试专项复习 #一、矩阵与数据框 #1.生成特定的矩阵与数据框 #矩阵 #方法一 a=array(1:10,dim=c(2,5))
rownames(a)=1:2 colnames(a)=c("one","two","three","four","five") a
dimnames(a)=list(1:2,c("one","two","three","four","five"))
学海无涯
lines(density(x),col="blue") #添加正态分布分布函数 y=seq(-4,3,0.2) lines(y,dnorm(y,mean(x),sd(x)),col="red") #画随机数的经验分布函数 z=rnorm(50,0,1) plot(ecdf(z),do.p=F,verticals=T) d=seq(-3,2,0.2) lines(d,pnorm(d,mean(z),sd(z)),col="red") y=rpois(100,2) plot(ecdf(y),col="red",verticals=T,do.p=F) x=0:8 lines(x,ppois(x,mean(y)),col="blue") w=c(75,64,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64.0,57.0,69.0 ,56.9,50.0,72.0) hist(w,freq=F) lines(density(w),col="blue") x=44:76 lines(x,dnorm(x,mean(w),sd(w)),col="red") plot(ecdf(w),do.p=F,verticals=T) lines(x,pnorm(x,mean(w),sd(w)),col="red") #编写函数求随机数的各种描述统计量 data_outline=function(x){ n=length(x) m=mean(x) v=var(x) s=sd(x) me=median(x) cv=100*s/m css=sum((x-m)^2) uss=sum(x^2) R=max(x)-min(x)#样本极差 R1=quantile(x,3/4)-quantile(x,1/4)#四分位差 sm=s/sqrt(n)#样本标准误 g1=n/(n-1)/(n-2)*sum((x-m)^3)/s^3 g2=n*(n+1)/(n-1)/(n-2)/(n-3)*sum((x-m)^4)/s^4 -3*(n-1)^2/(n-2)/(n-3) data.frame(N=n,Mean=m,Var=v,std_dev=s, Median=me,std_mean=sm,CV=cv,CSS=css,USS=uss, R=R,R1=R1,Skewness=g1,Kurtosis=g2,s=1) } x=rnorm(100) data_outline(x)
Hale Waihona Puke 学海无涯crossprod(a,b)#t(a)%*%b tcrossprod(a,b)#a%*%t(b) #矩阵的逆 solve(a) b=1:3 solve(a,b)#ax=b 的解 #矩阵的特征值与特征向量 sm=eigen(a) sm e=diag(1:3) svde=svd(e) svde attach(svde) u%*%diag(d)%*%t(v) #与矩阵运算有关的函数 #取维数 a=diag(1:4) nrow(a) ncol(a) #矩阵的合并 x1=rbind(c(1,2),c(3,4)) x2=x1+10 x3=cbind(x1,x2) x3 x4=rbind(x1,x2) x4 cbind(1,x1) #矩阵的拉直 a=matrix(1:6,ncol=2, dimnames=list(c("one","two","three"), c("first","second")),byrow=T) as.vector(a) #apply 函数 apply(a,1,mean) apply(a,2,sum) tapply(1:5,factor(c("f","f","m","m","m")),mean) #第二题 #产生随机数 x=rnorm(100,0,1) x #画随机数的直方图 hist(x,freq=F) #核密度曲线 density(x)
学海无涯
#第三题 #r,p,q,d rnorm(100,0,1) pnorm(1:5,0,1) dnorm(-3:3,0,1) qnorm(seq(0,1,0.25),0,1) rbeta(100,2,2) rbinom(100,100,0.5) pbinom(1:100,100,0.5) dbinom(1:5,100,0.5) qbinom(seq(0,1,0.1),100,0.5) rchisq(100,1) qchisq(seq(0,1,0.2),10) pchisq(1:10,10) dchisq(1:10,10) rexp(100,0.5) rpois(100,2) ppois(1:1000,2) dpois(1:100,2) runif(100,0,1) qunif(c(0,0.2,0.8),0,1) punif(seq(0,1,0.2),0,1) dunif(seq(0,1,0.01),0,1) rt(100,2) qt(0.8,2) pt(-3:3,2) dt(-3:3,2) rf(100,1,2) qf(0.8,1,2)
学海无涯
df=as.data.frame(Lst) df x=array(1:6,dim=c(2,3)) as.data.frame(x) #数据框的引用 df[1:2,3:5] df[["Height"]] df$Weight names(df)#此属性一定非空 rownames(df)=c("one","two","three","four","five") df attach(df) r=Height/Weight r df$r=r names(df) detach() r=Height/Weight #2.矩阵的运算 a=diag(1:3) a[2][1]=1 a #1 转置运算 t(a) #2 行列式 det(a) #3 向量内积 x=1:5 y=2*1:5 x%*%y t(x)%*%y crossprod(x,y) #4 向量的外积 x%*%t(y) tcrossprod(x,y) outer(x,y) x%o%y #矩阵的乘法 a=array(1:9,dim=c(3,3)) b=array(9:1,dim=c(3,3)) x=1:3 a*b a%*%b x%*%a%*%x
#四置信区间 #1 #(1)sigma 已知 interval_estimate1=function(x,side=0,sigma=1,alpha=0.05){ xb=mean(x);n=length(x) if(side<0){ tmp=sigma/sqrt(n)*qnorm(1-alpha) a=-Inf;b=xb+tmp } else if(side>0){ tmp=sigma/sqrt(n)*qnorm(1-alpha) a=xb-tmp;b=Inf} else{
学海无涯
t.test(x,y) -0.03643479 - 0.98699097 #第五题假设检验 #(1)sigam 已知,双侧,检验 mu=mu0 mean.test1=function(x,mu=0,sigma=1){ xb=mean(x);n=length(x) z=(xb-mu)/sigma*sqrt(n) p=pnorm(z) if(p<=1/2) P=2*p else P=2*(1-p) data.frame(mean=xb,Z=z,p_value=P) } x=rnorm(100,0,2) mean.test1(x,mu=0,sigma=2) #(2)sigma 未知,双侧,检验 mu=mu0 mean.test2=function(x,mu=0){ xb=mean(x);n=length(x) z=(xb-mu)/sd(x)*sqrt(n) p=pt(z,n-1) if(p<=1/2) P=2*p else P=2*(1-p) data.frame(mean=xb,Z=z,p_value=P) } x=rnorm(100) mean.test2(x,mu=0) t.test(x,mu=0,alt="two.side") #两个总体 sigma1=sigma2 但未知,检验 mu1=mu2 mean.test3=function(x,y,mu=0){ xb=mean(x);yb=mean(y) n1=length(x);n2=length(y) sw=((n1-1)*var(x)+(n2-1)*var(y))/(n1+n2-2) t=(xb-yb-mu)/sqrt(sw*(1/n1+1/n2)) p=pt(t,n1+n2-1) if(p<=1/2) P=2*p else P=2*(1-p) data.frame(mean=xb-yb,T=t,p_value=P) } x=rnorm(100,0,1)
学海无涯
tmp=sigma/sqrt(n)*qnorm(1-alpha/2) a=xb-tmp;b=xb+tmp} data.frame(mean=xb,a=a,b=b) } x=rnorm(100,0,4) interval_estimate1(x,sigma=4,side=0) interval_estimate1(x,sigma=4,side=-1) interval_estimate1(x,sigma=4,side=1) #(2)sigma 未知 interval_estimate2=function(x,side=0,alpha=0.05){ xb=mean(x);n=length(x) if(side<0){ tmp=sd(x)/sqrt(n)*qt(1-alpha,n-1) a=-Inf;b=xb+tmp } else if(side>0){ tmp=sd(x)/sqrt(n)*qt(1-alpha,n-1) a=xb-tmp;b=Inf } else{ tmp=sd(x)/sqrt(n)*qt(1-alpha/2,n-1) a=xb-tmp;b=xb+tmp } data.frame(mean=xb,a=a,b=b) } x=rnorm(100,0,1) interval_estimate2(x,side=-1) interval_estimate2(x,side=0) interval_estimate2(x,side=1) t.test(x,side=-1) t.test(x,side=0) t.test(x,side=1) #两个总体 sigma1=sigma2 但未知 interval_estimate3=function(x,y,alpha=0.05){ xb=mean(x);yb=mean(y) n1=length(x);n2=length(y) sw=((n1-1)*var(x)+(n2-1)*var(y))/(n1+n1-2) tmp=sqrt((1/n1+1/n2)*sw)*qt(1-alpha/2,n1+n2-2) a=xb-yb-tmp;b=xb-yb+tmp data.frame(mean=xb-yb,a=a,b=b) } x=rnorm(100,0,1) y=rnorm(100,1,1) interval_estimate3(x,y)