软件开发技术基础 作业答案
- 格式:doc
- 大小:31.50 KB
- 文档页数:3
软件系统开发技术试题(一)答案一、单项选择题(本大题共10小题,每小题1分,共10分)1. 设计软件结构一般不拟定( D )A.模块之间的接口B.模块间的调用关系C. 模块的功能D. 模块内的局部数据2. 软件结构化设计中,好的软件结构应当力求做到(BA.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高中间扇出较少,底层模块高扇入C. 顶层扇入较少,中间扇出较高底层模块高扇入D. 顶层扇入较少,中间扇入较高,底层模块低扇入3. 两个模块都使用同一张数据表,模块间的这种耦合称为(AA.公共耦合C. 数据耦合B.内容耦合D. 控制耦合4. 划分模块时,下列说法对的的是(A )A.作用范围应在其控制范围之内B.控制范围应在其作用范围之内C. 作用范围与控制范围互不包含D. 作用范围与控制范围不受限制5. 重用率高的模块在软件结构图中的特性是(BA.扇出数大B.扇入数大C. 扇出数小D. 内聚性高6. 面向对象建模得到的三个模型,其中核心的模型是(A)A.对象模型C. 逻辑模型B.功能模型D. 动态模型7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是(CA.具体设计阶段B.概要设计阶段C. 需求分析阶段D. 测试和运营阶段8. 对U ML的叙述不对的的是( D )A.U ML统一了B ooch方法、OMT方法、OO SE方法的表达方法。
B.U ML是一种定义良好、易千表达、功能强大且普遍合用的建模语言。
C. U ML融入了软件工程领域的新思想、新方法和新技术。
D. U ML仅限千支持面向对象的分析与设计,不支持其它的软件开发过程。
9. 以下哪个软件生存周期模型是一种风险驱动的模型( C )A.瀑布模型C. 螺旋模型B.增量模型D.喷泉模型10. 以下哪一项对模块耦合性没有影响( DA.模块间接口的复杂限度B.调用模块的方式C. 通过接口的信息D. 模块内部各个元素彼此之间的紧密结合限度二、填空题(本大题共10小题,每空2分,共20分)1. 数据流图描绘数据在系统中流动和解决的过程。
Python开发基础(试卷编号1381)1.[单选题]以下选项中,不属于软件调试技术的是A)强行排错法B)集成测试法C)回溯法D)原因排除法答案:B解析:2.[单选题]( )表达式是一种匿名函数,是从数学里的λ得名A)lambdaB)mapC)filterD)zip答案:A解析:3.[单选题]字符类型中char和varchar之间的区别是A)都一样B)char比较高C)varchar比较高D)以上都不对答案:B解析:4.[单选题]以下关于控制结构的描述,错误的是A)Python的单分支结构里,包含else语句B)Python的多分支结构,指的是既包含else语句块,也包含elif语句块C)使用range(1,10)函数,指定语句块的循环次数是9次D)Python的for循环结构是对遍历结构各元素进行处理答案:A解析:5.[单选题]中科院分词提供了()函数进行分词A)open()B)segment()C)lcut()D)cut()6.[单选题]random.randrange(1,20,3)函数生成的数中可能出现的是A)11B)12C)13D)14答案:C解析:7.[单选题]下面( )不是有效的变量名。
( )A)_demoB)bananaC)NumbrD)my-score答案:D解析:8.[单选题]程序执行时,出现“SyntaxError: unexpected indent”错误,表示的是( )。
A)类型错误B)版本兼容性错误C)出现了未知的缩进D)安装失败答案:C解析:9.[单选题]哪个选项不是Python异常处理可能用到的关键字?A)tryB)elseC)ifD)finally答案:C解析:10.[单选题]已知以下程序段,要想输出结果为 1,2,3,应该使用的表达式是:X = [1,2,3]Z = []For y in x:Z.append(str(y))A)print(z)B)print(",".join(x))解析:11.[单选题]关于break的作用,描述正确的是A)跳出所有的for/while循环B)按照缩进跳出除函数缩进外的所有语句块C)按照缩进跳出当前层语句块D)跳出当前层for/while循环答案:D解析:12.[单选题]以下哪个是Python()不支持的函数。
软件工程习题及答案一、选择题:1。
为了提高测试的效率,应该。
A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据2. 与设计测试数据无关的文档是。
A、需求说明书B、设计说明书C、源程序D、项目开发设计3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构4。
概要设计的结果是提供一份。
A、模块说明书B、框图C、程序D、数据结构5。
需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。
A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档6。
注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。
A、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.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. 结构化程序设计主要强调程序的。
1. 研究开发资源的有效性是进行(c)可行性研究的一方面。
A. 技术B. 经济C. 社会D. 操作2. 在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是(B)。
A. 经济可行性B. 技术可行性C. 操作可行性D. 法律可行性3. 在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)。
A. 软件计划、需求分析、系统定义B. 系统定义、软件计划、需求分析C. 需求分析、概要设计、软件计划D. 软件计划、需求分析、概要设计4. 技术可行性要解决(D)。
A. 存在侵权否B. 成本-效益问题C. 运行方式可行D. 技术风险问题5. 在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D)。
A. 工作阶段间的等待时间B. 生产原型的复杂性C. 参与人员所需的工作站数D. 参与人员之间的通信困难6. 制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是(D)。
A. 组织与管理B. 分析与估算C. 设计与测试D. 规划与调度7. 可行性分析中,系统流程图用于描述(A)。
A. 当前运行系统B. 当前逻辑模型C. 目标系统D. 新系统8. 研究软硬件资源的有效性是进行(A)研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 操作可行性9. 可行性研究要进行的需求分析和设计应是(C)。
A. 详细的B. 全面的C. 简化、压缩的D. 彻底的10. 雇员类含有计算报酬的行为,利用面向对象的(A),可以使得其子类专职雇员类和兼职雇员类计算报酬的行为有相同名称,但有不同的计算方法。
A)多态性 B)继承性 C)封装性 D)复用性11. 下面关于UML叙述正确的是(C)。
A)UML是一种建模语言,使用者不能对其扩展B)UML仅适用于系统的分析和设计阶段C)UML是独立于软件开发过程的D)UML仅是一组图形的集合12. 某公司欲开发一个在线交易系统,为了能够精确表达用户于系统的负责交互过程,应采用UML的( A)进行交互过程建模。
作业2参考答案在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?答:(1)开发一个软件时,需要判断原定的系统模型和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度,如果做不到这些,那么花费在这些工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。
可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计过程,就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
(2)一般说来,至少应该从以下三个方面研究每种解法的可行性:a.技术可行性。
对要开发项目的功能、性能和限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现,这些即为技术可行性研究的内容。
这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。
b.经济可行性。
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发,这些即为经济可行性研究的内容对于大多数系统,一般衡量经济上是否合算,应考虑一个“底线”,经济可行性研究范围较广,包括成本—效益分析,长期公司经营策略,开发所需的成本和资源,潜在的市场前景。
c.操作可行性。
有时还要研究社会可行性问题,研究要开发的项目是否存在任何侵犯、妨碍等责任问题。
社会可行性所涉及的范围也比较广,它包括合同、责任、侵权和其他一些技术人员常常不了解的陷阱等。
必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。
2.北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0.校外电话又分为本市电话和外地电话两类。
拨校外电话需要先拨0,若是本市电话则接着拨8位数字(第一位不是0),若是外地电话则拨3位区码后再拨8位电话号码(第一位不是0)。
答:电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+3位数字校外电话号码=[本市号码|外地号码]本市号码=数字零+8位数字外地号码=数字零+3位数字+8位数字非零数字=[1|2|3|4|5|6|7|8|9]数字零=03位数字=3{数字}38位数字=非零数字+7位数字7位数字=7{数字}7数字=[0|1|2|3|4|5|6|7|8|9]其中,[ ]意思是或,从校内电话号码或校外电话号码中选择一个;{ }表示重复,两边的数字表示重复次数的下限和上限;=意思是定义为;+意思是和,连接两个分量。
2024年软件资格考试程序员(基础知识、应用技术)合卷(初级)自测试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、软件工程的基本原则中,强调通过变更来提高软件可维护性的原则是:A. 单一职责原则B. 开放封闭原则C. 依赖倒置原则D. 迪米特法则2、在软件开发生命周期中,以下哪个阶段不属于软件设计阶段?A. 需求分析B. 系统设计C. 详细设计D. 编码实现3、题目:在软件开发过程中,哪个阶段是确定系统需求和规格说明的阶段?A、需求分析阶段B、设计阶段C、编码阶段D、测试阶段4、题目:在面向对象编程中,下列哪个术语表示将一个对象的方法和数据封装在一起?A、继承B、多态C、封装D、抽象5、在软件开发过程中,以下哪个阶段主要关注软件需求的分析和定义?A. 需求分析阶段B. 设计阶段C. 实现阶段D. 测试阶段6、以下关于面向对象编程(OOP)的描述,哪项是错误的?A. 面向对象编程通过封装、继承和多态实现软件重用。
B. 在面向对象编程中,对象是数据和行为(方法)的封装。
C. 继承是面向对象编程中的一种机制,用于实现代码复用。
D. 面向对象编程中的类是对象的抽象,而对象是类的实例。
7、在面向对象编程中,以下哪个不是面向对象的基本特征?A. 封装B. 继承C. 多态D. 静态8、以下哪个不是Java中的数据类型?A. intC. booleanD. string9、在面向对象编程中,以下哪个原则强调的是将不同的职责分配给不同的对象,以降低对象之间的耦合度?A. 单一职责原则(Single Responsibility Principle,SRP)B. 开放封闭原则(Open/Closed Principle,OCP)C. 依赖倒置原则(Dependency Inversion Principle,DIP)D. 接口隔离原则(Interface Segregation Principle,ISP)11、以下哪个操作不是C语言中的基本输入输出函数?A. printf()B. scanf()C. getchar()D. putchar()13、题目:以下关于软件开发生命周期的说法中,错误的是:A. 软件开发生命周期包括需求分析、设计、编码、测试和维护阶段B. 需求分析阶段主要是确定用户需求,设计阶段是根据需求进行系统设计C. 编码阶段是将设计转换为程序代码,测试阶段是验证程序的正确性和性能D. 软件开发生命周期中,每个阶段都需要进行文档编写,但文档的详细程度不同15、题目:以下哪个选项不是Java中的基本数据类型?A. intB. floatD. String17、以下关于面向对象程序设计(OOP)的描述中,错误的是:A. 面向对象程序设计是一种程序设计范式,它将数据和行为封装在一起B. 面向对象程序设计中的对象具有属性和方法C. 在面向对象程序设计中,继承是实现代码复用的关键机制D. 面向对象程序设计中的多态是通过方法重载来实现的19、在面向对象编程中,以下哪个是封装的典型体现?A. 数据和方法的分离B. 数据的封装和私有化C. 类的继承D. 方法重载21、在软件开发过程中,以下哪个不是常见的软件开发模型?A. 水晶模型B. 瀑布模型C. V型模型D. 研发模型23、以下哪种说法不属于面向对象程序设计的基本特征?()A. 封装B. 继承C. 多态D. 静态25、在软件开发过程中,以下哪个阶段是需求分析的输出结果?A. 系统设计B. 系统测试C. 程序编码D. 系统实现27、以下哪个选项是关于面向对象编程(OOP)中继承的概念的正确描述?A. 继承允许一个类使用另一个类的成员变量和方法,而不需要重新定义。
题目:在软件项目开发过程中,下列()过程不会涉及到。
选项A:需求分析
选项B:架构设计
选项C:代码开发
选项D:市场推广
答案:市场推广
题目:下列()技术不属于前端开发技术。
选项A:MySQL
选项B:Reactjs
选项C:jQuery
选项D:Bootstrap
答案:MySQL
题目:下列()技术不属于数据存储技术的范畴。
选项A:IntelliJ IDEA
选项B:PostgreSQL
选项C:MySQL
选项D:Oracle
答案:IntelliJ IDEA
题目:下列()技术不是项目构建工具。
选项A:Gradle
选项B:Thymeleaf
选项C:Maven
选项D:Ant
答案:Thymeleaf
题目:下列()技术不属于Web页面开发的技术范畴。
选项A:JavaScript
选项B:HTML
选项C:Derby
选项D:CSS
答案:Derby
题目:在前端开发框架中,下列()不属于JavaScript框架。
选项A:Thymelaf
选项B:Vue.js
选项C:Angular
选项D:jQuery
答案:Thymelaf
题目:下列()技术不属于Web应用服务器。
一.基本概念1.软件就是程序吗?如何定义软件?答:人们经过长期实践已经逐步认识到,软件≠程序,程序只是软件的关键要素,普遍接受的观点是:软件=程序+数据+文档。
2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。
从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。
文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。
没有文档的软件维护不但不能延长反而会缩短软件寿命。
文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。
3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。
产生的原因是主客观不相适应。
见书图1-2。
●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。
4.软件工程定义有很多说法,用你自己的理解说明软件工程是干什么的?参考:软件工程是指导计算机进行软件计划、开发和维护的工程学科;软件工程是为解决软件危机而诞生的,解决的途径是:用工程化的理论、方法和技术来管理软件开发过程。
任何产品的工程化就是有计划、有目标、有规范、有文档、有标准。
见1.4节。
软件工程就是指导软件产品的工程化。
5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。
见图1-4。
(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。
《操作系统》一、判断题:(bs30)√1. 能影响中断响应次序的技术是中断优先级和中断屏蔽。
(bs30)√3. 在操作系统中,进程是一个具有独立运行功能的程序在某个数据集合上的一次运行过程。
(bs30)×4. 操作系统的存储器管理部分负责对进程进行调度。
(bs30)√5. 分时操作系统通常采用时间片轮转策略为用户服务。
(bs30)√6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。
(bs29)×1. 在设备管理中通道是处理输入、输出的软件。
(bs29)√3. 若无进程处于运行状态,则就绪队列为空。
(bs29)√4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。
(bs29)×5. 分页存储管理中,页面不能映射到不连续的内存块中。
(bs28)×3. Windows是多用户多任务操作系统。
(bs28)√4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。
(bs28)√6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。
(bs28)×8. 中断控制方式适用于外存同CPU之间进行大量数据交换。
(bs27)√3. 进程调度按一定的调度算法,从就绪队列中挑选出合适的进程。
(bs27)√4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。
(bs27)√6. 分页存储管理中,页面可以映射到不连续的内存块中。
(bs27)√7. 通道方式能实现外设与CPU之间直接进行数据交换。
(bs26)×1. Windows是多用户多任务操作系统。
(bs26)√4. 在计算机系统中,操作系统是处于裸机之上的第一层软件。
(bs26)×7. 中断控制方式适用于外设同CPU之间进行大量数据交换。
(bs26)×9. 进程把程序作为它的运行实体,没有程序也就没有进程。
(bs25)×1. 在操作系统中,作业调度和进程调度没有区别。
《计算机软件技术基础》试题答案一、选择题(每题5分,共30分)1. 下列关于软件工程的描述,错误的是(D)。
A. 软件工程是计算机科学的一个分支B. 软件工程的目标是提高软件质量和生产率C. 软件工程包括软件开发、维护和管理等方面D. 软件工程只关注大型软件的开发2. 下列哪种编程范式主要用于描述程序逻辑和数据的结构?(B)A. 面向过程编程B. 面向对象编程C. 函数式编程D. 逻辑编程3. 下列关于软件测试的描述,错误的是(C)。
A. 软件测试是软件开发过程中的重要环节B. 软件测试的目的是发现和修正软件中的错误C. 软件测试无需考虑软件的性能和稳定性D. 软件测试分为单元测试、集成测试和系统测试等阶段4. 下列关于软件维护的描述,正确的是(B)。
A. 软件维护是指对软件进行升级和优化B. 软件维护包括纠正软件错误、改进软件性能和增加新功能等C. 软件维护不需要考虑软件的可维护性D. 软件维护仅限于软件开发完成后5. 下列关于软件项目管理工具的描述,错误的是(D)。
A. 软件项目管理工具可以协助项目经理进行项目规划B. 软件项目管理工具可以协助项目经理进行项目监控C. 软件项目管理工具可以协助项目经理进行项目沟通D. 软件项目管理工具无法协助项目经理进行项目风险管理二、填空题(每题5分,共30分)1. 软件生命周期可以分为______、______、______、______和______五个阶段。
答案:需求分析、设计、实现、测试、维护2. 在面向对象编程中,一个对象通常包括______和______两部分。
答案:属性、方法3. 软件测试的目的是______、______和______。
答案:发现错误、修正错误、提高软件质量4. 软件维护的类型包括______、______、______和______。
答案:纠错性维护、适应性维护、完善性维护、预防性维护5. 软件项目管理工具主要包括______、______、______和______。
软件工程一、软件危机与软件工程1.软件危机是指在开发和()过程中所遇到的一系列严重问题。
A.运行B.设计 C.维护 D.编码2.造成软件危机的原因是:A.用户使用不当 B.对软件的错误认识C.硬件不可靠D.缺乏好的开发方法和手段3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分,其期望达到的最终目标是()。
A.消除软件危机B.软件开发工程化C.程序设计自动化 D.实现软件重用4.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。
A.工程管理 B.成本核算 C.人员培训 D.工具开发5.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是()。
A.设计人员和用户B.分析人员和用户C.分析人员和设计人员 D.编码人员和用户6.软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于()。
A.开发阶段B.计划阶段 C.分析阶段 D.设计阶段7.在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。
通常,计划时期包括问题定义、可行性研究和①,开发时期包括②、详细设计、编码以及③。
① A.需求分析 B.可行性研究 C.经费预算 D.质量保证② A.需求分析 B.可行性研究C总体设计 D模块化设计③ A.文档编制 B.运行维护C.测试 D.验收8.软件开发中常采用的生命周期方法,由于其特征而一般称其为()。
A.层次模型B.瀑布模型 C.螺旋模型 D.对象模型9.描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。
其中,设计阶段又可以分成(B)和(C)两个步骤。
A:①需求分析②可行性研究③需求调查④问题定义B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计10.什么是软件危机软件危机产生的原因11.生命周期阶段的划分每个阶段的任务二、可行性研究1.可行性研究的任务步骤对于各种可能的方案,从哪几个方面进行可行性研究参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。
《软件工程》作业参考答案作业一1.与硬件相比,软件具有哪些特点?答:与硬件相比,软件具有以下不同的特点:(1)软件是逻辑的,而不是物理的产品。
逻辑往往实际只存在于人的头脑当中,软件的开发过程极难加以控制。
(2)软件是由开发或工程化而形成的,没有明显的制造过程。
软件成本集中于"开"上,意味着软件项目不能象硬件制造项目那样来管理。
(3)软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。
(4)大多数软件是自定的,而不是通过已有构件组装而成的。
迄今为止,软件的开发尚未完全摆脱手工的方式。
(5)软件成本相当昂贵。
(6)软件本身是复杂的。
软件比任何其他人类制造的结构更复杂,甚至硬件的复杂性和软件相比也是微不足道的。
软件本质上的复杂性是软件产品难以理解,影响软件过程的管理,并使维护过程十分复杂。
2.系统工程过程主要包含哪些基本阶段?各阶段主要完成什么工作?答:系统工程过程主要包括:系统需求定义阶段、系统设计阶段、子系统开发阶段、系统整合(集成)阶段、系统安装阶段、系统运行与进化阶段、系统退役阶段。
(1)系统需求定义阶段,通过与系统各类用户协商讨论,确定系统整体的需求。
包括系统必须提供的基本功能,非功能的系统总体特性(可用性、性能、安全性等),系统的边界及限制条件等。
(2)系统设计阶段,要做的是如何将不同的组件整合成一个能提供所需功能的系统。
(3)子系统开发阶段,实现在系统设计阶段识别出来的那些子系统,若这个子系统本身又是一个大系统,则可能又进入另一个系统工程过程中。
若子系统是一个软件系统,那么包括需求、设计和实现等这样的一个软件过程就启动了。
(4)系统整合阶段,将一个个独立开发的子系统整合为一个完整的大系统。
(5)系统安装阶段,系统进入实际的工作环境。
(6)系统运行与进化阶段,一旦系统安装完毕就进入运行阶段,运行一个系统可能包括组织操作人员培训并且改变正常的工作过程以适应新的系统,因为系统描述可能包含错误或遗漏,所以未被发现的问题可能在这个阶段出现。
2024年软件资格考试软件设计师(基础知识、应用技术)合卷(中级)复习试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、软件设计的基本目标是:A、提高软件的可维护性B、提高软件的可扩展性C、提高软件的可重用性D、提高软件的性能2、在软件设计过程中,以下哪个阶段不属于软件生命周期?A、需求分析B、系统设计C、编码实现D、市场推广3、在面向对象的设计中,以下哪个概念描述了类之间的继承关系?A. 封装B. 多态C. 继承D. 聚合4、在软件设计中,以下哪种方法适用于将复杂问题分解为更易于管理的部分?A. 类别分析法B. 结构化分析方法C. 逆向工程D. 状态转换图5、在软件工程中,需求工程的主要目标是确定软件系统必须做什么,以下哪项不是需求工程的主要活动?A. 需求获取B. 需求分析C. 需求验证D. 需求管理6、在软件设计中,设计模式是解决特定问题的通用解决方案。
以下哪种设计模式不是行为型设计模式?A. 观察者模式B. 状态模式C. 策略模式D. 装饰者模式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. 单例模式B. 工厂方法模式C. 桥接模式D. 指令模式16、以下关于类和对象的说法中,正确的是:A. 类是对象的实例,对象是类的模板B. 类是对象的模板,对象是类的实例C. 类和对象是同义词,可以互换使用D. 类和对象没有任何关系17、在软件工程中,以下哪一项不属于软件开发生命周期模型?A. 水晶模型B. 瀑布模型C. V模型D. 精益软件开发18、以下哪个选项不是软件质量属性?A. 可用性B. 可维护性C. 可移植性D. 可靠性19、在软件工程中,以下哪个阶段不属于软件开发生命周期?A. 需求分析B. 系统设计C. 编码D. 维护 20、在面向对象编程中,以下哪个概念不属于面向对象的基本特征?A. 封装B. 继承C. 多态D. 模块化21、在软件生命周期模型中,螺旋模型适用于哪种类型的软件开发?A. 小型简单项目B. 需求明确的小型项目C. 大型复杂且风险较高的项目D. 不需要迭代的项目22、以下哪一项不是软件质量保证的主要活动?A. 制定质量保证计划B. 执行管理评审C. 编写软件需求规格说明书D. 进行内部审计23、以下关于软件工程中软件测试的说法,错误的是:A. 软件测试的目的是发现软件中的错误,提高软件质量。
软件⼯程作业含答案软件⼯程第⼀章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。
(1)1.4 什么是软件⼯程? (1)1.5 简述软件⼯程的基本原则。
(1)1.6 软件⽣存周期分哪⼏个阶段?分别简述各个阶段的任务。
(1)1.9 简述各类软件过程模型的特点。
(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统⼯程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可⾏性分析的任务。
(3)3.1需求⼯程的重要性是什么?举出⾝边由于需求分析失败⽽造成整个项⽬失败的例⼦。
(3)3.2需求⼯程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3⼀个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
(4)3.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明⼀个系统的3个不同类型的⾮功能需求 (5)3.8软件需求分析的操作性原则和需求⼯程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?⾃⼰寻找⼀个实例,亲⾃写⼀个需求规约。
(5)3.10需求验证应该有哪些⼈参加?画出⼀个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。
(6)4.6 耦合和软件可移植性的概念有何关系?举例说明⾃⼰的结论。
(6)4.7⽤⾃⼰的话描述信息隐蔽概念,并讨论信息隐藏与模块独⽴两概念之间的关系。
(6)4.8什么是模块独⽴性?设计中为什么模块要独⽴?如何度量独⽴性?模块功能独⽴有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使⽤数据流图进⾏需求分析的过程。
软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。
A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。
A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。
A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。
A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。
s软件测试技术基础-在线作业_2交卷时间2020-12-20 16:03:45一、单选题(每题4分,共20道小题,总分值80分)1.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
(4分)A 结合B 隐藏C 封装D 抽象纠错正确答案C☜✔✔✔解析知识点s软件测试技术基础2.数据字典是对数据定义信息的集合,它所定义的对象都包含于()(4分)A 数据流图B 程序框图C 软件结构D 方框图纠错正确答案A☜✔✔✔解析知识点s软件测试技术基础3.下列几种类型中,耦合性最弱的是()。
(4分)A 内容型B 控制型C 公共型D 数据型纠错正确答案D☜✔✔✔解析知识点s软件测试技术基础4.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为()(4分)A 瀑布模型B 对象模型C 螺旋模型D 层次模型纠错正确答案A☜✔✔✔解析知识点s软件测试技术基础5.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。
(4分)A Booch方法B UML语言C OMT方法D Coad方法纠错正确答案B☜✔✔✔解析知识点s软件测试技术基础6.为改正软件系统中潜藏的错误而进行的维护活动称为()。
1501 (4分)A 纠错性维护B 适应性维护C 改善性维护D 预防性维护纠错正确答案A☜✔✔✔解析知识点s软件测试技术基础7.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和()。
(4分)A 详细计划B 可行性分析C 运行阶段D 测试与排错纠错正确答案C☜✔✔✔解析知识点s软件测试技术基础8.通过执行对象的操作改变对象的属性,但它必须通过()的传递。
(4分)A 接口B 消息C 信息D 操作纠错正确答案B☜✔✔✔解析知识点s软件测试技术基础9.在面向对象软件开发方法中,类与类之间主要有以下结构关系()(4分)A 继承和聚集B 继承和一般C 聚集和消息传递D 继承和方法调用纠错正确答案A☜✔✔✔解析知识点s软件测试技术基础10.以下哪一项不是软件危机的表现形式()(4分)A 成本高B 生产率低C 技术发展快D 质量得不到保证纠错正确答案C☜✔✔✔解析知识点s软件测试技术基础11.需求分析的任务不包括()。
作业答案
第1章软件开发方法
一、填空题
1.(系统软件)、(应用软件)
2.(心理特性)、(工程特性)、(技术特性)
3.(软件配置管理)、(软件工程管理)、(软件过程管理)、(软件质量控制)4.(处理分布于客户机与服务器)、(数据集中在服务器)、(软件驻留在客户机和服务器)5.(客户端要管理许多的、复杂的处理软件)
6.(方法)、(工具)、(过程)
7.(主要过程)、(支持过程)、(组织过程)
8.(单元测试)、(集成测试)、(确认测试)
9.(校正性维护)、(适应性维护)、(完善性维护)、(预防性维护)
10.(软件特点的因素)、(软件开发技术、管理因素)
二、选择题
1.B 2.A 3.A 4.D 5.B
6.C 7.B 8.D 9.D 10.A
三、判断题
1.√2.×3.√4.×5.×
6.×7.√
第2章数据结构及其应用
二、填空题
1.(顺序结构)、(链表结构)
2.(时间复杂度)、(空间复杂度)
3.(顺序)、(线性表)、(相邻)
4.(任意)、(不一定相邻)
5.(数据域)、(指针域)
6.(头指针)
7.(头结点)、(空)
8.(根)、(叶结点)、(2)
9.(前序遍历)、(中序遍历)、(后序遍历)
10.(有向图)、(无向图)、(顶点)、(弧)、(边)
三、判断题
1.×2.×3.×4.×5.×
6.√7.×8.×9.×10.×四、选择题
1.D 2.D 3.C 4.B 5.C 6.B 7.B 8.C
第3章操作系统及相关程序设计技术
一、填空题
1.(独享设备)、(共享设备)
2.(连续文件)、(串联文件)、(索引文件)
3.(先到先服务)、(静态优先数法)、(动态优先数法)
4.(并发性)、(共享性)、(虚拟性)、(不确定性)
5.(分配该进程运行所需要的资源)、(进程就绪排队)
6.(记录进程的特征信息)、(按预定算法分配CPU资源)、(动态调度管理进程)7.(进程中执行运算的最小单位)、(进程)、(线程)、(多个)
8.(源代码设计编辑)、(装入阶段)、(运行阶段)
9.(连续文件)、(索引文件)、(散列文件)
10.(建立设备管理数据记录)、(缓冲区管理)、(实现设备的I/O操作)11.(命令行方式界面)、(窗口方式界面)、(API方式界面)
12.(并发性)、(动态性)、(进程标识)、(进程控制块PCB)
13.(逻辑地址)、(物理地址)、(地址重定位)
二、选择题
1.B 2.B 3.B 4.C 5.AB 6.C 7.B 8.D 9.B 10.D 11.C 12.A 13.D 14.C 15.A 16.A 17.D 18.C 19.D 20.A 21.A 22.A 23.C 24.A
三、判断题
1.×2.×3.×4.√5.×6.×7.√8.√9.×10.×11.√
第4章数据库及应用程序开发
一、填空题
1.(数据库开发)
2.实体在现实中具有某种(客观特征),从而将其与其他实体区分开。
3.(插入异常)、(修改异常)、(删除异常)
4.(模式)的子集,是个别用户的数据视图
5.外模式与模式之间通过(外模式/模式映象)进行转换、模式和内模式之间,通过(模式/内模式映象)进行转换、通过两级转换使数据库系统的数据具有较高的(逻辑)独立性和(物理)独立性
二、选择题
1.B 2.D 3.B 4.A 5.D
6.A
三、判断题
1.×2.×3.√4.×5.√
第5章网络软件开发技术
二、填空题
1.(OSI)、(TCP/IP)
2.(物理层)、(链路层)、(网络层)、(传输层)、(会话层)、(表示层)、(应用层)
3.(语法)、(语义)、(时序)
4.(0~1023)
三、判断题
1.√2.×3.×4.√
第6章多媒体编程技术
一、填空题
1.(以脉冲编码调制格式)
2.(文件头)、(数字化参数)和(实际波形数据)
3.(实时播放,即边下载边播放)
4.(R 红)、(G 绿)、(B 蓝)
5.(RIFF )
6.(位图类型int bmType)
7.(4)
8.(交替地)
9.(资源)
10.(块)、(ID )、(数据大小)、(数据)
二、选择题
1.A 2.C 3.D 4.B 5.B。