软件工程第1章习题.doc
10页软件工程第1章例题分析与解答一、填空题1.软件与物质产品有很大的区别,软件是一种____逻辑___产品2.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于___建造一个软件系统____3.概要设计主要是把各项功能需求转换成系统的__体系结构______4.最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是__瀑布模型_____5.简单实用、应用广泛、技术成熟的开发方法是__结构化方法______二、选择题1.同一软件的大量软件产品的生产主要是通过( B )而得到 A.研究 B.复制 C.开发 D.研制2.作坊式小团体合作生产方式的时代是( C )时代 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于( C ) A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务 A.编码 B.需求分析 C.详细设计 D.测试5.软件生存周期中时间最长的是( D )阶段。
A.需求分析 B.概要设计 C.测试 D.维护一、填空题答案1.逻辑2.建造一个软件系统3.体系结构4.瀑布模型5.结构化方法二、选择题答案1.B2.C3.C4.A5.D第1章自测题及参考答案一、名称解释1.软件 2.文档 3.软件工程4.软件生存周期 5.软件工程过程 6.软件生存周期模型7.软件开发方法 8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与_____软件___2.程序设计时代的生产方式是___个体手工劳动_____3.软件工程涉及到几个学科,它是一门__综合性交叉___学科4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能_____相同___5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是_瀑布_______模型6.喷泉模型是一种以用户需求为动力,以____对象___为驱动的模型7.结构化方法是一种面向数据流的开发方法由结构化分析、__结构化设计_____、结构化程序设计构成8.软件工程研究的主要内容是软件开发管理和___软件开发技术____两个方面9.软件工具是支持软件开发人员的开发和维护活动而使用的____软件____。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种_开发方法_______,使用相应的工具来进行三、选择题1.软件是一种( B )产品 A.物质 B.逻辑 C.有形 D.消耗2.软件产品的开发主要是( D ) A.复制 B.再生产 C.拷贝 D.研制3.个体手工劳动生产方式的时代是( A ) A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程4.与计算机科学的理论研究不同,软件工程是一门( C )学科 A.理论性 B.原理性 C.工程性 D.心理性5.软件重用的单位是( A ) A.软件模块 B.性能 C.系统 D.功能6.软件开发费用只占整个软件系统费用的( B ) A.1/2 B.1/3 C.1/4 D.2/37.软件开发中大约要付出( C)%的工作量进行测试和排错 A.20 B.30 C.40 D.508.准确地解决“软件系统必须做什么”是( B )阶段的任务。
A.可行性研究 B.需求分析 C.详细设计 D.编码9.软件生存周期中最长的是( D )阶段 A.需求分析 B.概要设计 C.测试 D.维护 四、简答题1.软件产品的特性是什么?2.软件生产有几个阶段?各有何特征?3.什么是软件危机?产生的原因是什么?4.软件工程的性质、目标和内容是什么?5.软件工程面临的问题是什么?6.软件工程过程有哪些过程?7.软件生存周期有哪几个阶段?8.软件生存周期模型有哪些主要模型?9.有哪些主要软件开发方法?参考答案二填空题1.软件 2.个体手工劳动3.综合性交叉 4.相同5.瀑布 6.对象7.结构化设计 8.软件开发技术9.软件 10.开发方法三、选择题1.B 2.D 3.A 4.C5.A 6.B 7.C 8.B 9.D第一章仿真试题1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( D) A、详细计划 B、可行性分析 C、 运行阶段 D、 测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。
A、详细设计阶段 B、概要设计阶段 C、 需求分析阶段 D、 测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A) A、 需求分析阶段 B、 详细设计阶段 C、 概要设计阶段 D、 可行性研究阶段 4、软件工程的出现主要是由于( C ) A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( ) A、 硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、 开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( ) A、 相互排斥 B、 相互补充 C、 独立使用 D、 交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( ) 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、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型螺旋模型将瀑布模型和演化模型相结合,并增加了(1),它建立在(2)的基础上,沿着螺线自内向外每旋转一圈,就得到(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、 开发过程不分段 答案:1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.A 11.A 12.C 13.⑴B⑵D⑶A⑷D⑸A《软件工程》习题参考答案 第一章1﹑软件产品的特性是什么?产品特性: ⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品⑶软件产品不会用坏,不存在磨损,消耗 ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵2﹑软件生产有几个阶段?各有何特征?⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件3﹑什么是软件危机?产生原因是什么?软件开发技术的进步未能满足发展的要求在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机产生原因: ⑴ 软件规模越来越大,结构越来越复杂⑵ 软件开发管理困难而复杂⑶ 软件包开发费用不断增加⑷ 软件开发技术落后⑸ 生产方式落后,仍采用手工方式⑹ 开发工具落后,生产率提高缓慢4﹑什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可。





