当前位置:文档之家› 软件工程各章重点

软件工程各章重点

软件工程各章重点
软件工程各章重点

软件工程各章重点

第1章本章的主要题型是选择题和简答题。

1. 软件危机的主要表现是什么?

答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。

2. 软件工程的定义?

答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。

3. 软件工程研究的主要内容是什么?

答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。

4. 软件工程的7条基本原理是什么?

答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。

5. 什么是软件生命周期?

答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。

6. 软件过程的定义?

答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。

7. 你能举出几个典型的软件过程模型吗?

答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。

8. 目前,主流的软件开发方法有哪些?

答:结构化方法和面向对象方法。

9. 软件标准的层次是如何划分的?

为了提高软件开发的效率,保障软件产品的质量,软件工程领域中公布了许多国际标准、国家标准、行业标准、企业标准、项目规范,通常由低级到高级使用。软件工程的标准关系到许多方面,有规范开发过程的标准,有定义产品的标准,还有管理标准和记法符号的标准等等。

10. 软件工程师职业道德规范的8组关键词是什么?

答:1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。

11. 职业化软件工程师要注意的十大问题是什么?

答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。

第2章本章的题型主要是选择题。

1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间内确定问题是否能够解决。

2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。

3. 可行性研究的实质:是要进行一次简化了的系统分析和设计过程。首先要分析和澄清问题定义,导出系统的逻辑模型,探索若可供选择的方案,对每种方案仔细研究它的可行性。推荐一个较好的解决方案和一个初步的计划。

4. 成本效益分析的目的:从经济角度分析开发系统是否有价值。成本效益分析首先估算开发成本,然后与可能的效益比较,有形的效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量。无形的效益主要是从社会影响力和对社会的贡献等方面考虑。

第3章本章的题型有选择题、简答题和应用题。

1. 构化分析方法的核心:用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止。

2. 什么是需求工程?

答:需求工程是指应用有效的技术和方法进行需求分析,确定客户需求,帮助分析人员理解问题,定义目标系统的外部特征的一门学科。需求工程中的主要活动有:需求获取、需求分析、需求规格说明、需求验证和需求变更管理。

3. 软件需求可分解为四个层次:业务需求、用户需求、功能需求和非功能需求。

4. 系统流程图是描述一个系统物理模型的图形工具,使用一些图形符号以黑盒子的形式描绘系统的每个部件,如设备、文件、数据库、程序、通讯和人工过程等。

5. 数据流程图是描绘系统逻辑模型的图形工具,只描绘信息在系统中的流动和处理情况,不反映系统中的物理部件,数据流程图使用四个标准符号。

6. 数据字典主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。数据字典中所有的定义必须是严密的、精确的、无二义性的。

7. 结构化分析的步骤:根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图,实体关系用E-R图描述。以初始数据流程图为基础进行回溯,完善初始的数据流程图。对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。以数据流程图为核心,辅以数据字典和处理说明,将整个软件的功能要求、数据要求和运行要求和扩展要求逐一确认。画出软件功能结构图。修正开发计划。编写需求规格说明书和初始的用户手册。

8. 需求规格说明书的主要内容:软件功能说明,软件性能要求、设计限制、外部接口要求。

9. 本章要求学生掌握数据流程图,并对给出的应用画数据流程图、写数据字典和IPO 过程描述。(应用题

第4章包括选择题、简答题和应用题。

1. 软件设计的主要原则:模块独立性和信息隐藏。

2. 反映模块独立性有两个标准:内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密程度,耦合衡量模块之间彼此依赖的程度。

3. 信息隐藏的核心内容是:一个模块中所包含的信息,不允许其他不需要这些信息的模块访问。

4. 结构化设计是基于模块化的、自顶向下、逐步求精等概念上的设计方法。

5. 结构化设计方法的步骤:首先分析数据流的类型,将数据流程图映射为程序结构图,

用“因子分解”方法定义软件的层次结构,优化设计结构。

6. 数据设计包括:数据结构设计、文件设计和数据库设计。

7. 应用题型:要求学生对给出的数据流程图转换成软件结构图。

第5章本章主要是选择题和简答题。

1. 构化方法存在的主要问题:①分析阶段的主要模型是数据流模型,设计阶段的主要模型是软件模块结构,数据流程图和软件模块结构图之间需要进行转换,转换有一定的随意性。②功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。③结构化设计将数据定义与处理数据的过程相分离,不利于软件复用。

2. 什么是类?答:类是具有相同属性和相同行为的对象集合。对象是类的一个实例。对象之间通过发送消息相互通信。

3. 类封装了属性和方法,封装隐藏了对象内部的处理细节。通过继承,子类拥有父类的所有属性和方法,并可以在继承父类的基础上进行扩展,添加新属性和方法;也可以改写父类的方法。通过多态技术使同一操作作用于不同类的实例时,产生不同的执行结果。

4. UML是一种标准的图形化建模语言,它是面向对象分析与设计方法的表现手段。其本质表现是:它是一种可视化的建模语言,不是可视化的程序设计语言,不是工具或知识库的规格说明,不是过程,也不是方法,但允许任何一种过程和方法使用它。

5. UML提供了5种视图(用例视图、逻辑视图、组件视图、并发视图和配置视图

6. UML有9种图(用例图、类图、对象图、状态图、顺序图、合作图、活动图、组件图、配置图可以描述任何复杂的系统。

7. 简答题中包括画简单的用例图、类图、活动图、顺序图。

第6章本章主要是选择题和简答题。

1. 向对象分析和设计用到的三个内容:一套完善的建模符号、一系列有效的分析步骤和一个方便易用的建模工具。

2. 面向对象的分析模型由功能模型、对象模型和动态模型三部分组成。

3. 功能模型由用例图和顺序图表示,对象模型由类图和对象图表示,动态模型由活动图、状态图和顺序图表示。

4. 在分析对象模型中,分析类是概念层次上的内容,分为实体类、边界类和控制类三种类型。

第7章本章主要是选择题和简答题。

1. 面向对象设计的内聚有:服务内聚和类内聚。耦合有两类:交互耦合和继承耦合。

2. 面向对象的设计活动主要有:系统构架设计、用例设计、类设计、数据库设计和用户界面设计。

3. 构架设计是以分析模型为输入,生成系统的物理构架、逻辑构架(子系统及其接口、概要的设计类。根据分析阶段产生的高层类图和交互图,细化每个用例的类图,描述实现用例的类及其类之间的相互关系。详细设计每个类的属性、方法和关系。

第8章本章主要是选择题和简答题。

1. 选择程序设计语言考虑的因素:编程人员的水平和编程经历,待开发软件的类型,算法和计算复杂性,数据结构的复杂性,软件的开发成本和时间要求,软件的可移植性要求,可用的软件工具。

2. 程序设计的风格主要考虑:基本风格、可读性、正确性和容错性、可重用和可移植

性、输入和输出风格。

3. 代码检查是一种有效的代码错误检测技术,通过阅读代码,并进行提问和讨论,从而发现可能存在的缺陷、遗漏和矛盾的地方。

4. 程序错误一般包括数据缺陷、控制缺陷、计算缺陷、接口缺陷、输入/输出缺陷、存储管理缺陷、异常处理缺陷等类型。

5. 简答题中给出些不良代码,要求学生根据本章的内容对不良代码进行改进。

第9章本章主要是选择题、简答题和应用题。

1. 软件测试的定义:是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。

2. 单元测试集中于每一个独立的模块;集成测试集中于模块的组装;系统测试确保整个系统与系统的功能需求和非功能需求保持一致;验收测试是用户根据验收标准,在开发环境或模拟真实环境中执行的可用性、功能和性能测试。

3. 软件测试技术大体上可以分成结构测试和功能测试。结构测试技术依据的是程序的逻辑结构,主要包括逻辑覆盖方法;功能测试技术依据的是软件行为的描述,主要包括等价类划分、边界值分析测试等方法。

4. 应用题:给出一段程序代码,要求做结构测试用例的设计。

5. 应用题:给出一个简单的应用,要求按照等价类划分或边值分析测试设计功能用例。

第10章本章主要是选择题。

1. 软件维护就是在软件交付使用之后对软件进行的任何改变工作。

2. 维护活动有4种:改正性维护、适应性维护、完善性维护、预防性维护。

第11章本章主要是选择题。

1. 软件项目管理的内容主要包括:人员的组织与管理,软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置管理等。

2. 软件项目组的结构有民主式、主程序员式和现代程序员组三种典型的组织结构。

3. 项目管理者应当合理地选择恰当的沟通方式,建立通畅的沟通渠道,保证能够及时准确地交流项目信息。常用的沟通方式有直接交流、电话、电子邮件和会议的方式。要求学生掌握每种沟通方式的特点和适用环境。

4. 项目计划活动的主要任务是估算项目的进度、工作量、资源和风险。

5. 项目进度常用Gantt图和工程网络图两种方法,Gantt图直观简明、易学易用,但它不能明显地表示各项任务彼此间的依赖关系和关键任务。工程网络图不仅能描绘任务分解情况及每项作业的开始时间和结束时间,还能清楚地表示各个任务之间的依赖关系,容易识别出关键路径和关键任务,因此,工程网络图是制定进度计划的强有力的工具。

6. 软件过程的文档主要分为三类:一类是计算机程序,包括源代码和可执行程序,第二类是描述程序的文档,包括分析、设计、测试和用户指南等,第三类是数据。它们总称为软件配置。

7. 常见的软件项目风险包括以下类型:①软件估算不准确造成的风险。包括系统规模、用户数量、可复用性等②市场影响风险。包括软件产品的利润、管理层重视程度、交付期限的合理性等③与客户相关的风险。包括需求的明确程度、客户配合程度等④技术风险。包括技术成熟程度、开发方法的特殊要求、功能实现的可行性等⑤开发环境风险。包括各种CASE 工具的可用程度和掌握程度,人员培训情况⑥开发人员风险。包括人员的能力和经验、技术培训、人员稳定性等。

8. 软件配置管理是软件质量保证的重要环节,主要目的是控制变化。关键的活动有配置项标识、版本控制、变化控制、配置审计和配置变化报告。

补充:1 画数据流图应注意哪些事项?(考核说明中的题

答:数据流程图是描绘信息在系统中的流动和处理,在数据流程图中不能反映控制流,许多人画数据流程图时总是想加入分支判断或循环,这类控制性的流程属于程序流程图描绘的内容,不要放入数据流程图中。

数据流程图上所有图形符号只限于前述四种基本图形元素,并且缺一不可,每个元素都必须有名字和编号。如果数据流能够反映出信息的含义,为了图面的清晰可以忽略数据流的编号和名称。加工框的编号表明该加工所处层次及上下层的亲子关系。

数据流程图上的数据流必须封闭在外部实体之间。每个加工至少有一个输入数据流和一个输出数据流。

一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。

开始画数据流程图时可以忽略琐碎的细节,集中精力于主要数据流,通过不断细化添加必要的细节。

第1章_软件工程学概述练习题

第一章练习题 一、判断题 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√) 2..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开 发实际上就是编写程序代码。(X) 3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是 生成类的模板。(X) 4.快速原型模型可以有效地适应用户需求的动态变化。(√) 5.类是关于对象性质的描述,由方法和数据组成。(√) 6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 二、名字解释: 1.软件:完成特定功能的程序+数据结构+文档。 2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 3.软件工程:指导计算机软件开发和维护的一门工程学。 4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时 期。 5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可 行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往 是最终产品能完成的功能的一个子集。 8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开 发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件; 增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。 9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模 型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。 对象。

软件工程概述习题及答案

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

软件工程概述课程作业

软件工程作业与解答 第一章软件工程概述 1.简述软件的发展过程。 答:计算机软件的发展经历了三个阶段:(1)程序设计阶段,约50至 60 年代;(2)程序系统阶段,约60至70年代;(3)软件工程阶段, 约70年代以后。各个时期软件开发的特点见课本第7页表1.3。 2.简述软件的定义及特点。 答:软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、数据及其相关文档的完整集合。 特点见课本第1页至第3页。 3.简述软件的种类。 答:见课本第3页至第6页。 4.什么叫软件危机? 答:在软件发展的第二阶段,随着计算机硬件技术的进步,计算机的容量、速度和可靠性有了明显的提高,生产硬件的成本降低了。计算机价格的下跌为它的广泛应用创造了极好的条件。在这一形式下,要求软件能与之相适应。然而软件技术的进步一直未能满足形式发展提出的要求。 在软件开发中遇到的问题找不到解决的办法,致使问题积累起来,形成日益尖锐的矛盾。软件开发时期所面临的这种状态就是所谓的软件危机。 5.软件危机主要有哪几种表现? 答:见课本第8页(1)、(2)、(3)、(4)。

6.什么叫软件工程? 答:开发、运行、维护和修复软件的系统方法。 7.什么叫软件生存周期? 答:软件从孕育、诞生、成长、成熟到衰亡的过程叫软件生存周期。它 包括制定计划、需求分析、设计、程序编码、测试及运行维护。 8.简单介绍软件开发的瀑布型模型和螺线型模型。 答:见课本第11页至第14页。 第二章系统分析 1.简述系统分析的目标 (1) (2) (3) (4) (5) (6)识别用户要求; 评价系统的可行性; 进行经济分析和技术分析; 把功能分配给硬件、软件、人、数据库和其它系统元素; 建立成本和进度限制; 生成系统规格说明,形成所有后续工程的基础。 2.系统分析过程的第一步就是识别用户要求。要求的识别是系统开发的起点。为此,分析员必须回答哪些问题,才能完成这一步骤? (1) (2) (3) (4) (5) (6) (7) (8)所期望的功能和性能是什么可靠性和质量问题是哪些总的系统目标是什么成本与进度限制如何制造的需求是什么 市场与竞争情况怎样 有效的技术有哪些 将来可能有哪些扩充 3.软件项目的可行性研究主要集中在哪个方面? (1)经济可行性。(2)技术可行性。(3)法律可行性。(4)抉择。

软件工程习题解答第一章概述

软件工程习题解答 第一章概述 1.软件产品的特性是什么? a.软件产品是一种逻辑产品。 b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成 后,复制就产生了大量软件产品。 c.软件产品不会用坏,不存在磨损、消耗问题。 d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。 e.软件费用不断增加,成本相当昂贵。 2.软件产品有几个阶段?各有何特征? 阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今) 生产方式个体手工劳动小集团合作生产工程化的生产 工具机器语言、汇编高级语言数据库、开发工具、开发环境、 网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运 行效率 个人技巧,开始提出结构化方法 硬件特征价格贵、存储容量小、运行 可靠性差速度、容量、工作可靠性有明显提 高,价格降低,销售有爆炸性增长 向超高速、大容量、微型化以 及网络化方 软件特征只有程序、程序设计概念, 不重视程序设计方法程序员数量猛增,已意识到软件开 发的重要性,开发技术没有新的突 破,大量软件开发的需求已提出, 开发人员的素质和工程兵的开发技 术不适应规模大、结构复杂的软件 开发,产生了尖锐矛盾,导致软件 危机的产生 开发技术有很大进步,但未能 获得突破性进展,软件价格不 断上升,没有完全摆脱软件危 机 3.什么是软件危机?其产生的原因是什么? 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的: a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加。 d.软件开发技术落后。 e.生产方式落后。 f.开发工具落后,生产率提高缓慢。

华南理工软件工程随堂练习

1.(单选题) 软件工程的出现主要是由于()。A.程序设计方法学的影响B.其他工程科学的影响C.软件危机的出现D.计算机的发展 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.(单选题) 软件工程方法的提出起源于软件危机,其目的应该是最终解决软件的()问题。A.软件危机B.质量保证C.开发效率D.生产工程化 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 3.(单选题) 软件工程学涉及软件开发技术和项目管理等方面的内容,下述内容中()不属于开发技术的范畴。 A.软件工程经济B.软件开发工具 C.软件工程环境D.软件开发方法 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 4.(单选题) ()是将软件生命周期的各个阶段,依线性顺序连接,用文档驱动的模型。A.智能模型B.瀑布模型C.螺旋模型D.喷泉模型 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 5.(单选题) 原型模型是用户和设计者之间的一种交互过程,适用于()系统。 A.需求不确定性较高的B.需求确定的 C.管理信息D.决策支持 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 6.(单选题) 快速原型从设计用户界面开始,首先形成(),然后用户运行界面原行,并就同意什么和不同意什么提出意见。 A.用户使用手册B.系统界面原行 C.界面需求分析说明书D.完善用户界面

答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 7.(单选题) 喷泉模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,喷泉模型的开发过程具有()和无间隙。 A.确定性B.迭代性C.可靠性D.风险性 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 8.(单选题) 要开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果精确到小数点后4位,一旦实现并测试完后,该产品将被抛弃。该项目选择()生命周期模型。A.快速原型B.瀑布模型C.喷泉模型D.螺旋模型 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: A. B. C. A. B. C. A. B. C.

《软件工程》第一章软件工程学概述

第一章软件工程学概述 1.1 软件危机 1.1.1 软件的定义 ——定义:软件=“完成特定功能的程序+数据结构+文档” ——特征:(3个)软件是开发的,而不是制造的;软件不磨损,但退化;自定义。 ——发展问题 1.1.2 软件危机的表现 ——定义:在计算机软件的开发和维护过程中所遇到的一系列严重的问题。 ——表现:(6个) (1)对软件开发成本和进度的估计常常很不准确。 (2)软件产品质量较差,可靠性低。 (3)用户对开发出来的软件产品不满意。 (4)软件常常是不可维护的。 (5)软件产品缺少应有的文档资料。 (6)软件产品的供不应求。 1.1.3 软件危机的原因 ——客观原因 ——主观原因 1.2 软件工程 1.2.1 软件工程的概念 ——定义:指导软件开发与维护的工程科学。采用工程的概念、原理、技术和方法来开发和维护软件,综合运用正确的管理技术和最好的技术方法,以经济 地开发出高质量的软件并有效维护它。 IEEE的定义:①软件工程是把系统的、规范的、可度量的途径应用于软件 开发、运行和维护过程,也就是把工程应用于软件;②对这些途径加以研究。 1.2.2 软件工程的基本原理(7个) ——(1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果可以清楚地审查 (6)开发小组成员少而精 (7)承认不断改进软件工程实践的必要性 1.2.3 软件工程方法学:3个要素(方法、工具和过程) ——传统方法学:结构化技术,软件生命周期 ——面向对象方法学:类+对象+继承+消息,软件开发过程更接近人类认知模式 1.3 软件生命周期 1.3.1 软件生命周期的概念 ——定义:一个软件从定义、开发、使用和维护,直至最终被废弃,要经历的漫长的时期称为软件生命周期。

第一章软件工程概述习题及答案

第一章软件工程概述习题 及答案 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

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

软件工程第一章概述

第一章:概述 目标: 什么是软件工程,为什么它很重要; 开发不同类型的软件系统可能需要不同的软件工程方法; 道德和职业问题对于软件工程的重要性; 介绍3个不同类型的软件系统,这3个系统将作为贯穿全书的例子; 1.1专业化软件开发 一.对于软件工程的一些常见问题 1.什么是软件? 计算机程序和相关文档。软件产品可针对特定客户开发或为通用市场开发。 2.什么是优良软件的特点? 好的软件应具有用户所需的功能与性能,而且应该可维护,可靠,可用。 3.什么是软件工程? 软件工程师关于软件生产的各个方面的工程学科。 4.什么是基本的软件工程活动? 软件描述,软件开发,软件验证以及软件进化。 5.软件工程和计算机科学有何区别? 计算机科学侧重理论和基础,而软件工程则侧重于软件开发和交付的实际活动。 6.软件工程和系统工程有何区别? 系统工程侧重基于计算机系统的开发的所有方面,包括硬件,软件和过程工程。 7.软件工程面临的主要挑战是什么? 不断增长的多样性,减少交付时间以及开发可靠的软件的要求。 8.什么是软件工程的成本? 软件开发成本约占总成本的60%,测试成本占40%。对于定制软件而言,进化成本常常高于开发成本。 9.什么才是最好的软件工程技术和方法? 由于所有的软件项目都必须进行专业化的管理和开发,所以不同的技术应适用于不同类型的系统。例如,游戏开发需要一系列原型,而安全要求极高的控制系统开发需要一个完整的和可分析的描述。因此,你不能单纯的评判一种方法比另一种方法更好。 10.Web给软件工程带来了哪些不同? Web带来了软件服务的可用性,以及开发高品质的基于服务的分布式系统的可能性。基于Web的系统开发极大地促进了编程语言和软件复用的发展。 二.软件产品有以下两类 1.通用软件产品 2.定制软件产品 这两类产品的一个重要区别在于:在通用软件产品中,软件描述由开发者自己完成,而定制软件产品,其软件描述通常是由客户给出,开发者必须按客户要求进行开发。 三.软件除了提供相应的功能外,作为一个产品它还有一系列相关的反映质量的属性。这些属性不直接涉及软件的功能,而是反映软件在执行时的行为以及源程序的结构,组织及相关的文档。软件对用户查询的响应时间和程序代码的可理解性就属于这类属性(有时也称为非

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