当前位置:文档之家› 软件工程 第2章过程模型

软件工程 第2章过程模型

软件工程课后参考答案

第一章课后参考答案 1.什么是软件危机它们有哪些典型表现为什么会出现软件危机 “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的主要原因 (1)与软件本身的特点有关 (2)与软件开发和维护过程中使用的方法不正确有关

2.假设自己是一家软件公司的总工程师,当把图给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢”应该怎么反驳他 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。 3.什么是软件工程它有哪些本质特征怎么用软件工程消除软件危机 软件工程是指导知道计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 本质特征: (1)软件工程关注于大型软件的构造 (2)软件工程的中心课题是控制复杂性 (3)软件经常变化

软件工程(习题与参考答案)

第1章概述(习题与参考答案) [判断题] 1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。(×) 2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。(×) 3. 购买大多数计算机系统所需的硬件比软件更昂贵。(×) 4. 大多数软件产品在其生命周期中不需要增强功能。(×) 5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。(√) 6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。(×) [选择题] 1. ()因素促使计算机系统越来越复杂。(D) A. 计算机内存和存储容量上的巨大增长 B. 外部输入/输出选项的更加多样性 C. 计算机体系结构方面的深刻变化 D. 以上所有选项 2. 下面的()不再是现代软件工程师关注的问题。(A) A. 为什么计算机硬件的成本这么高? B. 为什么软件需要很长时间才能完成? C. 为什么开发一个软件的成本这么高? D. 为什么不能在产品发布前去除软件错误? 3. 软件会逐渐退化而不会磨损,其原因在于()。(C) A. 软件通常暴露在恶劣的环境下 B. 软件错误通常发生在使用之后 C. 不断的变更使组件接口之间引起错误 D. 软件备件很难订购 4. 大多数软件仍然是定制开发的,其原因在于()。(C) A. 软件组件重用是十分普遍的 B. 可重用的组件太昂贵而无法使用 C. 软件在不使用其他组件的情况下很容易构造出来 D. 商业组件在很多应用领域中可以得到 5. 下面的()说法是正确的。(C) A. 软件危机在20世纪70年代末期全面爆发

B. 当前先进的软件工程方法已经解决了软件危机的问题 C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题 D. 软件危机是指在软件产品中存在一系列的质量问题 6. 软件工程的基本目标是()。(B) A. 消除软件固有的复杂性 B. 开发高质量的软件 C. 努力发挥开发人员的创造性潜能 D. 更好地维护正在使用的软件产品 7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方 法、工具和过程三个要素。(D) A. 软件产品 B. 软件过程 C. 软件测试 D. 软件工程 8. 软件工程的基本要素包括方法、工具和()。(C) A. 软件系统 B. 硬件环境 C. 过程 D. 人员 9. 软件工程师在从事软件工作时应使用下面的()准则。(E) A. 从来不为个人获利而窃取数据 B. 从来不散布或出售项目中自己工作的信息 C. 从来不故意毁坏或修改别人的程序、文件或数据 D. 从来不侵犯个人、小组或组织的隐私 E. 以上所有选项 第2章软件过程(习题与参考答案) [选择题] 1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、 软件确认、软件改进等活动组成。(A) A. 软件过程 B. 软件工具 C. 软件产品 D. 软件工程 2. 软件过程的基本活动是()。(A) A. 分析、设计、实现、测试、演化 B. 沟通、计划、建模、构造、部署 C. 计划、分析、设计、实现、调试 D. 沟通、风险管理、度量、产品化、评审 3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。(B) A. 真 B. 假

软件工程试题与答案 (6)

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任

务的工作步骤。

?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑布模型需求分析入手难的问题。 优点:关注满足需求。

软件工程课后参考答案

第一章课后参考答案 1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机? “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的主要原因 (1)与软件本身的特点有关 (2)与软件开发和维护过程中使用的方法不正确有关

2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。 3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机? 软件工程是指导知道计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 本质特征: (1)软件工程关注于大型软件的构造 (2)软件工程的中心课题是控制复杂性 (3)软件经常变化

软件工程课后练习1

第一章 1、软件由计算机程序、数据和组成。 2、软件与硬件有很大的区别,它是一种抽象的实体。 3、软件的发展经历了三个时期:程序设计、程序系统和。 4、软件工程的三个基本要素包括、和。 5、瀑布模型是将软件生存周期的各个活动规定为以顺序连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序。 6、原型模型是一种非整体开发模型。先开发一个软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意产品。 7、螺旋模型将开发过程分为若干个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计划、、实施工程、。 1、软件产品的生产过程主要是 ____。 A. 制造 B. 复制 C. 开发 2、是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护。 A. 软件过程 B. 软件生存周期 C. 软件工程 3、全面准确地描述“软件系统必须要做什么”是以下____阶段的主要任务。 A. 可行性研究 B. 需求分析 C. 软件设计 D. 程序编码 4、软件生存周期中持续时间最长的是____阶段。 A. 需求分析 B. 软件设计 C. 软件测试 D. 软件运行/维护 5、以下叙述中不属于软件危机的主要表现是____。

A. 软件成本太高 B. 软件产品无法满足用户需求 C. 软件开发人员明显不足 D. 软件开发效率低 6、在以下软件过程模型中,___适合于大型软件的开发,并引入了风险分析的概念。 A. 瀑布模型 B. 原型模型 C. 螺旋模型 D. 增量模型 7、为保证软件开发过程能够跟上技术的进步,必须不断地灵活地改进软件工程____。 A. 工具 B. 过程 C. 方法 8、软件工程中描述瀑布模型一般包括计划、____、设计、编码、测试、维护几个阶段。 A. 需求分析 B. 需求调查 C.问题定义 D. 可行性研究 1、什么是软件,有哪些特点。 2、软件危机的主要表现有哪些? 3、什么是软件工程,包括哪些基本要素,简要说明这些要素的作用。 4、什么是软件生存周期,通常划分为哪些阶段? 5、比较瀑布模型、增量模型、原型模型和螺旋模型各自的特点。 6、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该软件将被抛弃。选用哪种软件过程模型比较合适?说明选择的理由。 7、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

软件工程模型

软件开发的V模型的优缺点? V模型是最广为人知的测试模型。 最典型的V模型版本一般会在其开始部分对软件开发过程进行描述 图1 V模型的各级开发阶段 这是古老的瀑布模型。作为开发模型, 在V模型中,测试过程被加在开发过程的后半部分,如下图所示: 图2 V模型示意图 单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。 预验收测试 可行性分析-------> 验收测试 ↘预系统测试↗ 需求分析-----> 系统测试 ↘预集成测试↗ 概要设计----> 集成测试 ↘预单元测试↗ 详细设计-> 单元测试 ↘↗ 编码 这就是软件测试的V模型 V模型的缺陷 仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段 忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。 W 模型: 上次说到V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则。在V模型中增加软件各开发阶段应同步进行的测试,演化为W模型。在模型中不难看出,开发是“V”,测试是与此并行的“V”。基于“尽早地和不断地进行软件测试”的原则,在软件的需求和设计阶段的测试活动应遵循IEEE1012-1998《软件验证与确认(V&V)》的原则。 W模型由Evolutif公司提出,相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。 W模型也有局限性。W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。 W模型也被称为双V模型,在每个开发阶段,测试都可以介入,并执行编写、评审、基线化的过程。双V模型的第一条线代表开发,第二条线代表测试准备,第三条线是测试执行。他的模型是这样的: SRS编写 STP编写 SRS评审STP评审 ST系统测试 SRS基线化 STP基线化HLD编写 ITP编写 HLD评审 ITP评审IT集成测试 HLD基线化 ITP基线化 LLD编写UTP编写 LLD评审 UTP评审 UT单元测试

软件工程课后参考答案

第一章 1.1什么是计算机软件?软件的特点是什么? 计算机软件是指计算机系统中的程序及其文档 软件的特点: ●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。 ●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可, 但其维护的工作量大。 ●软件的使用没有硬件那样的机械磨损和老化问题。 1.2简述软件的分类,并举例说明 1.系统软件 系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。例如:编译软件、操作系统。 2.支撑软件 支撑软件是支撑软件的开发和维护的软件。例如:数据库管理系统、网络软件、软件工具、软件开发环境。 3.应用软件 应用软件是特定应用领域专用的软件。例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。 1.3简述软件语言的分类,并举例说明。 1.需求定义语言 是用于书写软件需求定义的语言。例如:PSL/PSA。 2.功能性语言 是用于书写软件功能规约的语言,通常又称为功能规约语言。例如:广谱语言、Z 语言。 3.设计性语言 是用于书写软件设计规约的语言。例如:PDL。 4.实现性语言 也称为程序设计语言,是用于书写计算机程序的语言。例如:C、java、PROLOG、FORTRAN、COBOL、Modula。 5.文档语言 是用于书写软件文档的语言。通常用自然语言或半形式化语言书写。 1.4什么是软件工程? 软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。 1.5简述软件工程的基本原则。 软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。 1.选取适宜的开发模型 必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。 2.采用合适的设计方法

软件工程—理论与实践-课后答案(许家怡-白忠建-吴磊-著)-高等教...

习题一答案 一、选择题 1. 软件的主要特性是(A B C)。 A) 无形 B) 高成本 C) 包括程序和文档 D) 可独立构成计算机系统 2. 软件工程三要素是(B)。 A) 技术、方法和工具 B) 方法、工具和过程 C) 方法、对象和类 D) 过程、模型、方法 3. 包含风险分析的软件工程模型是(A)。 A) 螺旋模型B) 瀑布模型 C) 增量模型 D) 喷泉模型 4. 软件工程的主要目标是(C)。 A) 软件需求 B) 软件设计 C) 风险分析 D) 软件实现 5. 下列属于面向对象开发方法的是(A B C D)。 A) Booch B) UML C) Coad D) OMT 6. 软件危机的主要表现是(B D)。 A) 软件成本太高 B) 软件产品的质量低劣 C) 软件开发人员明显不足 D) 软件生产率低下 7. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型 B) 循环模型 C) 瀑布模型 D) 专家模型 8. 软件工程的目标有(A B C)。 A) 易于维护 B) 低的开发成本 C) 高性能 D) 短的开发期 9. 软件工程学的目的和意义是(A D)。 A) 应用科学的方法和工程化的规 范管理来指导软件开发 B) 克服软件危机 C) 作好软件开发的培训工作 D) 以较低的成本开发出高质量的 软件 二、判断题 1. 软件就是程序,编写软件就是编写程 序。(×) 2. 瀑布模型的最大优点是将软件开发的 各个阶段划分得十分清晰。(×) 3. 结构化方法的工作模型是使用螺旋模 型进行开发。(×) 4. 结构化方法和OO方法都是一种面向 过程的软件开发方法。(×) 5. 原型化开发方法包括生成原型和实现 原型两个步骤。(×) 6. 面向对象的开发方法包括面向对象的 分析、面向对象的设计和面向对象的程序 设计。( √) 7. 软件危机的主要表现是软件的需求量 迅速增加,软件价格上升。(×) 8. 软件工具的作用是为了延长软件产品 的寿命。(×) 9. 软件工程过程应该以软件设计为中 心,关键是编写程序。(×) 10. RCP法与RSP法的主要区别是前者采 用循环渐进的开发方式,原型将成为最终 的产品,而后者原型将被废弃。(√) 三、简答题 1. 软件产品的特性是什么? 答:●软件是一种逻辑产品,具有无形性; ●软件产品的生产主要是研制;主要 是脑力劳动; ●软件不存在磨损和老化问题,但存 在退化问题; ●软件产品的成本非常昂贵,其开发 方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运 行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特 征? 答:①程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设计方法。 ②程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 ③软件工程阶段。 硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3. 什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2) 软件生产率低,不能满足需要。 4. 什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点? 答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简 1

软件工程模拟试卷和答案

《软件工程》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 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、UML术语中,限定符常被用在()。 [A]依赖关系[B]泛化关系[C]关联关系[D]细化关系 7、UML提供的13种图形化工具中,用于概念模型和软件模型静态结构的是() [A]用况图[B]状态图[C]类图[D]活动图 8、RUP的迭代、增量式开发规定的4个阶段不包括()。 [A]评审阶段[B]构造阶段[C]移交阶段[D]精化阶段 9、根据RUP实现的活动,输入为设计类,活动为实现类,则输出为()。 [A]用况[B]子系统[C]接口[D]构件 10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是()。 [A]评审[B]走查[C]形式化证明[D]软件测试 11、黑盒测试技术,又称为()。 [A]功能测试[B]结构测试[C]系统测试[D]集成测试 1/14 12、若有语句if(A<1and C>0)then B=1/C else B=1/A,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B的值,这种测试策略为()。 [A]定义域测试[B]等价类测试[C]路径测试[D]事物流测试

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程试题库

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.下面不属于软件工程的3个要素是() A、工具 B、过程 C、方法

软件工程作业题及答案

软件工程作业题 简答题 1、什么叫软件? 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 这些问题具体表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 3、什么叫软件工程? 版本1:软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发和维护软件;它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;它强调使用生存周期方法学和结构分析和结构技术;经过人们长期的努力和探索,围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努力,逐渐形成了”软件工程学”这一新的学科。 版本2:1968 年在第一届NATO 会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993 年IEEE 的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途经 我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来 4、两种软件工程方法学开发软件时要建立哪些模型? 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性和无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1.管理过程模型。2.瀑布模型(又称为生命周期模型)。3.增量过程模型:包括增量模型、RAD模型。4.烟花过程模型:包括原型开发模型、螺旋模型、协同开发模型。5.专用过程模型:包括机遇构建的开发模型、形式化方法模型、面向方面的软件开发模型。

软件工程复习资料98860

1.什么是软件工程?他的基本原理是什么? 1)软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。 2)用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。 2. 是什么导致了软件工程? 主要是软件危机的出现导致了软件工程 3. 通常我们所见的软件工程模型有哪些? 瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。 21.软件危机的现象: 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。 3)开发工具落后,手工方式,开发效率低。 22.软件工程的三要素 1)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量开发出软件。 2)“方法”为软件开发提供“如何做”的技术。它涵盖了项目计划、需求分析、系统程序()实现、测试与维护灯一系列活动的做法。 3)“工具”可为过程和方法提供自动的或半自动的支持。这些工具既包括软件,也包括硬件,软件工具包括编程、建模、管理等开发工具。通过网络环境把这些软件工具集成起来搭建一个能够支持团队开发的平台,称为计算机辅助软件工程,即CASE。 CASE集成了软件、硬件和()存放开发过程信息的软件工程数据库,形成了一个软件工程环境。 23.简述软件工程的目标,过程和原则 1)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。 软件工程的目标:降低成本,及时交付高质量的软件产品。 实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程 进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的开发范型、适合的设计方法、提供高质量的工程支持、重视开发过程的管理。 24.对比瀑布模型,原型模型,增量模型和螺旋模型 1)瀑布模型:主要体现了分阶段、有控制的思想。活动间强调按顺序、文档化;存在的问题是过于理想化,每一步的工作必须完整准确,否则无法进行下一步工作2)原型模型:需求分析入手快速、表达直观、容易交流。重点解决瀑布模型的需求分析入手难的问题。 3)增量模型:对于需求复杂的系统,采用分块开发、逐步集成的开发策略。增量体现了演进、迭代思想,每一块就是一个增量。每个增量试一次迭代。增量模型的 新版本叫做“极限编程(XP)”。 4)螺旋模型:融合了上述3种模型,融进了循环往复、强化了演进迭代的思想,增加了风险控制环节。但是,风险分析的正确性是左右软件演进的关键因素。25. 当需求不能一次搞清楚,且系统需求较复杂时应选用什么模型? 开发模型不是孤立或排斥的,他们之间需要相互借鉴和参考。螺旋模型是一种综合性

软件工程复习资料

软件工程复习资料

1.什么是软件工程?他的基本原理是什么?1)软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。 2)用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。 2. 是什么导致了软件工程? 主要是软件危机的出现导致了软件工程 3. 通常我们所见的软件工程模型有哪些? 瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。 21.软件危机的现象: 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性

差,软件质量差,可靠性差。 3)开发工具落后,手工方式,开发效率低。 22.软件工程的三要素 1)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质 量开发出软件。 2)“方法”为软件开发提供“如何做”的技术。它涵盖了项目计划、需求分析、 系统程序()实现、测试与维护灯一系 列活动的做法。 3)“工具”可为过程和方法提供自动的或半自动的支持。这些工具既包括软件, 也包括硬件,软件工具包括编程、建模、 管理等开发工具。通过网络环境把这些 软件工具集成起来搭建一个能够支持团 队开发的平台,称为计算机辅助软件工 程,即CASE。CASE集成了软件、硬件和 ()存放开发过程信息的软件工程数据 库,形成了一个软件工程环境。 23.简述软件工程的目标,过程和原则1)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。

软件工程建立模型

(一)建立对象模型。 建立对象模型的工作步骤是:首先确定对象类和关联。分析员通过分析这些类和对象,找出所有候选的类和对象,从类和对象中筛选掉不正确的或者不必要的。 第二步分析员要确定关联关系。这个过程要初步确定关联在筛选,最后进一步完善。 第三步要划分主题,用它作为指导开发者和用户观察整个模型的一种机制。 第四步是要确定属性。确定属性通常有分析和选择两个步骤,分析是在分析需求陈述不能得到所有属性,还须借助领域知识和常识。而选择要根据下述情况,删除不必要的属性: (1)误把对象当属性(考虑实体能否独立存在) (2)误把关联类的属性当作一般对象的属性 (3)存在与其他属性毫无相关的属性时考虑分解类。 第五步是识别继承关系。确定了类中应该定义的属性之后就可以利用继承机制共享公共属性,并对系统中众多的类加以组织。可以使用两种方式建立继承(泛化)关系: (1)自底向上:从现有类泛化出父类; (2)自顶向下:把现有类细化成子类。 最后一步是要反复修改。仅仅经过一次建模过程很难得到完全正确的对象模型,而软件开发过程是一个多次反复修改逐步完善的过程 (二)建立动态模型。 建立动态模型的步骤: (1)第一步,是编写典型交互行为的脚本。编写脚本的目的:保证不遗漏重要的交互步骤。 (2)第二步,从脚本中提取出事件,确定触发每个事件的动作对象,以及接受事件的目标对象。 (3)第三步,排列事件发生的次序,确定每个对象可能有的状态及状态之间的转换关系,并用状态图描绘它们。 (4)第四步,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。 (三)建立功能模型。 功能模型表明了系统中数据之间的依赖关系,及有关的数据处理功能,它由一组数据流图组成。步骤如下:画出基本系统模型图;画出功能级数据流图;描述处理框功能。

相关主题
文本预览
相关文档 最新文档