软件工程复习资料精华版

合集下载

软件工程复习资料精选全文完整版

软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。

(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。

(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。

(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。

(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。

(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。

(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。

软件工程复习资料精华版

软件工程复习资料精华版

软件工程复习资料软件工程单元一一单项选择1.软件是一种逻辑产品,它的开发主要是〔A 〕。

A研制B拷贝C再生产D复制2.软件生命周期一般包括:软件开发期和软件运行期,下述〔D 〕不是软件开发期所应包含的内容。

A需求分析 B 结构设计C程序编制D软件维护3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是〔 C 〕。

A喷泉模型 B 增量模型C瀑布模型D螺旋模型4.在软件生存周期中,〔B 〕阶段必须要答复的问题是“要解决的问题是做什么?”。

A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试5.软件产品与物质产品有很大区别,软件产品是一种〔C 〕产品A有形 B 消耗 C逻辑D文档6.〔C 〕把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。

A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

A概要设计 B 详细设计 C 编码 D 测试8.以下软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是〔A 〕。

A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.以下软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是〔 C 〕。

A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型10.以下软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是〔 D 〕。

A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为〔C 〕。

A可修改性B可靠性C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为〔B 〕。

A可移植性B可重用性 C 容错性 D 可适应性13.软件特性中,〔A 〕是指系统具有清晰的结构,能直接反映问题的需求的程度。

软件工程整理资料

软件工程整理资料

软件工程复习(总结)题型:一、选择(1´*10=10´)二、填空(1´*20=20´,20个空)三、名词解释(4´*5=20´)四、综合应用(10´*5=50´)几个英文缩写的含义:1.SE——软件工程 5.CASE——计算机辅助软件工程2.SA——结构化分析 6.OOA——面向对象分析3.SD——结构化设计 7.OOD——面向对象设计4.SP——结构化编程 8.OOP——面向对象编程第一章:软件工程学概述1.软件危机(概念、原因及如何消除,P1—P4)概念(P1):软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生软件危机的原因(P3):(1)软件本身的特点造成;(2)软件开发与维护的方法不正确。

其主要表现:○1忽视软件需求分析;○2开发过程没有统一、规范的方法论指导,文档资料不齐全,认为软件开发就是写程序并使之运行;○3轻视软件维护。

消除软件危机的途径(P4):(1)正确认识软件的概念;(2)充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合共同完成的工程项目。

(3)充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,特别要吸取几十年来人类从事计算机软硬件研究和开发的经验教训。

(4)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和方法;(5)开发和使用更好的软件工具;(6)良好的组织管理措施。

2.生命周期(P3):一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期成为生命周期。

3.软件工程定义(P5):软件工程是指导计算机软件开发与维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和目前能够得到的最有效的技术与方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程概论复习资料

软件工程概论复习资料

软件工程--复习资料第一章软件工程概论1.软件的特点是什么?1) 软件是逻辑实体;具有抽象性;软件的形态不可见;――必须通过观察、分析、思考、判断来了解其功能、性能和其它特性。

2) 软件是人脑思维的产物,其生产过程与硬件不同。

――开发过程的质量控制及软件产品保护问题。

3) 软件的开发和运行受计算机系统限制。

――软件移植问题。

4) 软件的开发技术落后,手工开发方式仍占统治地位。

――开发效率低。

2.2006年发布的国家分类标准是什么?独立式,组合式,集成式,嵌入式。

3.软件危机的表现有哪些?1) 对开发成本和进度的估算偏差太大2) 没有适当的文档3) 软件成本比重上升4) 质量很不可靠5) 供不应求6) 用户很不满意4.产生软件危机的原因是什么?l客观:软件本身特点1逻辑部件2规模庞大l主观:不正确的开发方法1忽视需求分析2“软件开发=程序编写”的错误观念3轻视软件维护5.什么是软件工程三要素?1.方法:为软件开发提供了“如何做”的技术。

2.工具:为软件工程方法提供了支撑环境。

3.过程:定义了方法使用的顺序、要交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。

5.软件工程的基本目标是什么?1) 付出较低的开发成本2) 达到要求的软件功能3) 取得较好的软件性能4) 开发的软件易于移植5) 需要较低的维护费用6) 能按时完成开发工作,及时交付使用7.软件工程的基本原则是什么?1) 抽象2) 信息隐蔽3) 模块化4) 局部化5) 确定性6) 一致性7) 完备性8) 可验证性8.软件工程的基本原理是什么?1) 用分阶段的生命周期严格管理;2) 坚持进行阶段评审;3) 实行严格的产品控制;4) 采用现代程序设计技术;5) 结果应能清楚地审查;6) 开发小组人员应少而精;7) 承认不断改进软件工程实践的必要性。

9.瀑布模型有什么特点?1.里程碑或基线驱动,或者说文档驱动;2.过程逆转性很差,或者说不可逆转。

软件工程基础期末复习资料完整版

软件工程基础期末复习资料完整版

2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。

从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。

文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。

没有文档的软件维护不但不能延长反而会缩短软件寿命。

文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。

3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生的原因是主客观不相适应。

见书图1-2。

●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。

5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。

见图1-4。

(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。

过程定义的活动集合及其序列见第2章。

(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。

如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。

软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。

(4)“工具”为过程和方法提供自动的或半自动的支持。

这些工具既包括软件也有硬件。

软件工具包括编程、建模、管理等开发工具。

通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程 (Computer Aided Software Engineering,CASE)。

CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。

软件工程复习资料

软件工程复习资料

软件工程复习资料第一篇:软件工程复习资料软件工程复习资料一、熟悉和理解(一)软件工程概述1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动,关键不足在于不能适应需求的动态变更。

2.软件不只是用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,编写程序代码只是软件开发的一个部分。

3.快速原型模型可以有效地适应用户需求的动态变化。

4.生产高质量的软件产品是软件工程的首要目标。

5.软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的一个原因。

6.开发一个软件项目总存在某些不确定性,即存在风险.有些风险如果控制得不好,可能导致灾难性的后果。

7.缺乏处理大型软件项目的经验.是产生软件危机的一个原因。

8.瀑布模型本质上是一种线性顺序模型,增量模型本质上是一种快速原型模型。

9.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出可行或不可行的回答。

10.软件生存周期模型包括瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型等。

11.软件是一种逻辑产品。

12.“软件危机”是指软件开发和维护中出现的一系列问题,成本高、生产率低、质量得不到保证、需求不能充分理解都是是软件危机的表现形式。

13.原型化方法是用户和设计者之间执行的一种交互过程,适用于需求不确定性高的系统。

14.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的各个阶段.15.研究开发所需要的成本和资源是属于可行性研究中的经济可行性研究的一方面。

16.快速原型模型的主要特点之一是及早提供工作软件。

17.软件工程由方法,工具和过程三部分组成,称软件工程的三要素.18.基于计算机系统的软件要素中的软部件由程序,数据和文档组成.19.瀑布模型是以文档为驱动、适合于软件需求明确的软件项目的模型。

20.螺旋模型是风险驱动的,而瀑布模型是文档驱动的。

软件工程复习资料

软件工程复习资料

软件工程复习资料1. 软件工程概述软件工程是一门研究如何构建和维护软件系统的学科。

它涵盖了软件开发的各个方面,包括软件需求、设计、编码、测试、维护等。

本节将对软件工程的基本概念和重要原理进行介绍。

1.1 软件工程的定义软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的系统工程。

它关注软件开发过程中的各个环节,以提高软件质量和开发效率。

1.2 软件工程的目标软件工程的目标是开发高质量的软件系统,满足用户需求,具备良好的可维护性和可扩展性。

通过采用合适的开发方法和工具,提高软件开发过程的可靠性和效率。

1.3 软件工程的原则软件工程遵循一些重要的原则来指导软件开发过程,包括模块化、抽象、信息隐藏、接口规范、单一职责等原则。

这些原则有助于提高软件质量和可维护性。

2. 软件开发过程软件开发过程是指将软件需求转化为可执行软件的过程。

它包括需求分析、设计、编码、验证和维护等阶段。

本节将介绍常用的软件开发过程模型和相应的方法。

2.1 瀑布模型瀑布模型是一种线性的软件开发过程模型,包括需求分析、设计、编码、测试和维护等阶段。

瀑布模型适用于需求稳定的项目,但不适用于需求频繁变更的项目。

2.2 敏捷开发敏捷开发是一种迭代的软件开发过程模型,强调快速反馈和适应需求变化。

敏捷开发方法包括Scrum、XP等。

它适用于需求不确定或频繁变更的项目。

2.3 增量开发增量开发将软件系统划分为多个增量,每个增量包含了一个或多个功能模块。

每个增量的开发和测试独立进行,逐步完善系统。

增量开发适用于大型项目和复杂项目。

2.4 软件开发过程的选择选择适合项目的软件开发过程模型非常重要。

需要考虑项目的规模、需求的稳定性、团队的能力等因素来决定采用哪种开发过程模型。

3. 软件需求工程软件需求工程是软件工程的一项重要活动,旨在准确捕获用户需求,并将其转化为可执行的软件需求规格。

本节将介绍软件需求的定义、分类和常用的需求获取和分析方法。

软件工程复习资料-完整版

软件工程复习资料-完整版

软件工程复习资料-完整版一、概述软件工程是一门关于开发、维护和管理软件的综合学科。

它涵盖了软件开发的各个阶段,包括需求分析、设计、编码、测试和维护。

软件工程的目标是提供高质量的软件,满足用户的需求,同时将开发过程控制在预定的时间和预算范围内。

二、软件生命周期1. 需求分析阶段在需求分析阶段,开发团队与用户沟通,了解用户的需求和期望。

通过需求分析,确定软件的功能和性能要求,制定详细的需求规格说明。

2. 设计阶段在设计阶段,团队根据需求规格说明,设计软件的整体架构和模块。

设计阶段包括概要设计和详细设计,概要设计主要确定软件的整体结构,详细设计则更加具体,包括模块的功能和接口设计。

3. 编码阶段在编码阶段,根据详细设计,实现软件的各个模块。

编码时应遵循编程规范,确保代码的可读性和可维护性。

同时,要进行单元测试,确保每个模块的功能正确。

4. 测试阶段在测试阶段,对软件进行不同层次的测试,包括单元测试、集成测试和系统测试。

单元测试测试各个模块的功能,集成测试测试模块之间的接口,系统测试测试整个系统的功能和性能。

5. 部署和维护阶段在软件开发完成后,需要将软件部署到目标环境中,并进行用户培训。

同时,还需要对软件进行维护和升级,以解决出现的问题和满足用户的需求变化。

三、软件工程的原则1. 模块化将软件划分为多个模块,每个模块负责特定的功能。

模块化能够提高软件的可维护性和复用性,同时有利于团队的协作开发。

2. 可伸缩性软件应该具备可伸缩性,能够满足不同规模和需求的用户。

在设计和实现软件时,需要考虑未来的扩展和升级,保证软件的灵活性。

3. 可测试性软件应该具备可测试性,方便进行各个阶段的测试。

在设计和编码时,需要考虑如何进行自动化测试,提高测试的效率和覆盖率。

4. 可维护性软件应该具备可维护性,方便对软件进行改进、修复和升级。

在设计和编码时,需要遵循良好的编程规范,提高代码的可读性和可维护性。

5. 文档化软件开发过程需要进行详细的文档记录,包括需求文档、设计文档、测试文档等。

软件工程复习资料-完整版

软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为( B ) 。

2、协作图中包含的元素包括(A ) 。

A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。

A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。

A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。

A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。

A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。

A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。

A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。

A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。

A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。

A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。

A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。

软件工程知识点

软件工程知识点

软件工程知识点1.软件工程概述1.1 软件工程定义1.2 软件工程的目标和原则1.3 软件工程的重要性1.4 软件工程发展历程2.软件过程模型2.1 瀑布模型a. 瀑布模型的特点b. 瀑布模型的优缺点c. 瀑布模型的应用场景2.2 敏捷开发模型a. 敏捷开发模型的特点b. 敏捷开发模型的优缺点c. 敏捷开发模型的应用场景2.3 增量模型a. 增量模型的特点b. 增量模型的优缺点c. 增量模型的应用场景3.软件需求工程3.1 软件需求定义与分类3.2 软件需求分析技术a. 面向对象分析b. 数据流图c. 数据字典3.3 软件需求规格说明3.4 软件需求验证与确认4.软件设计4.1 结构设计a. 结构设计的原则b. 结构设计的方法4.2 行为设计a. 行为设计的原则b. 行为设计的方法4.3 界面设计a. 界面设计的原则b. 界面设计的方法5.软件构建5.1 编码规范5.2 软件编码技术a. 面向对象编程b. 结构化编程c. 测试驱动开发5.3 软件测试a. 软件测试的基本概念b. 软件测试的方法5.4 软件集成与发布6.软件项目管理6.1 软件项目计划a. WBS(工作分解结构)b. 进度计划6.2 软件项目团队管理a. 组织结构b. 项目团队沟通与协作7.软件质量保证7.1 质量基础概念7.2 软件质量评估7.3 软件配置管理7.4 软件过程改进8.软件维护与升级8.1 软件维护类型8.2 维护阶段的活动8.3 软件升级与迭代附件:1.示例项目需求规格说明书2.示例项目设计文档3.示例代码库法律名词及注释:1.《著作权法》:保护软件著作权的法律法规。

2.《商标法》:保护软件商标权的法律法规。

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 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。

(完整word版)软件工程考试重点(灰常重要)精选全文

(完整word版)软件工程考试重点(灰常重要)精选全文

可编辑修改精选全文完整版1、软件危机定义、发生原因、常见表现,如何避免软件危机?(1)软件危机定义:课本Page 8(开发和维护过程)(2)发生原因、常见表现:课本Page 8—9,练习册Page 1(3)如何避免:Page 10 (采用软件工程的方法)答案(由于大部分答案参考ppt,故仅供参考,下同)软件危机定义:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.表现在:(1)对于软件开发的成本和进度的估计很不准确.(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。

(3)开发的软件可靠性差。

(4)软件通常没有适当的文档。

(5)软件的可维护性差。

(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势.原因:(1)软件的规模愈发庞大;(2)软件开发的管理困难。

(3)软件本身的独有特点确实给开发和维护造成一些客观困难。

(4)软件开发和维护中千金错误认识和方法的形成可以归结与计算机发展早期软件开发的个体化特点。

(5)软件开发技术落后。

(6)生产方式落后。

(7)开发工具落后,生产率提高缓慢.如何避免(参考,可以自己总结):从软件开发的工程化方法入手,即用现代工程的概念原理、技术和方法去指导软件的开发、管理和维护,这就是软件工程思想和方法。

具体措施:(1)使用好的软件开发技术和方法;(2)要有良好的组织、严密的管理,各类人员协同配合,共同完成任务;(3)使用好的软件开发工具,提高软件生产率;(4)建立严格的文档资料,重视软件开发过程的阶段评审.2、软件生命周期模型(软件生命周期?)的组成,每个阶段的内容?(1)组成:Page 21 (2)内容:Page 22—25)答案:软件生存周期定义:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期.软件生存周期一般可分为以下阶段:(1)问题定义(2)可行性研究(3)需求分析(4)概要设计(总体设计)(5)详细设计(6)编码(7)测试(8)维护也可以分为四个大的阶段:软件分析、软件设计、编码与测试、运行与维护(1)软件分析时期;任务:确定软件项目的目标,软件应具备的功能和性能,构造软件的逻辑模型,并制定验收标准.在此期间,要进行可行性论证,并做出成本估计和经费预算,制定进度安排。

软件工程复习资料(整理)(精)

软件工程复习资料(整理)(精)

什么是软件?什么叫软件工程?它的目标是什么?软件:程序与文档。

定义一:应用于计算机软件的定义,开发和维护的一整套方法、工具、文档、实践标准和工序。

定义二:在软件设计、实现、检查、运行、维护各个过程中适用的立足于科学基础上的实用方法。

软件工程目标:用较少的投资获得高质量的软件。

什么是软件危机?主要表现?软件危机:在计算机软件的开发和维护过程中,所遇到的一系列严重问题,这一系列问题使软件产生了危机。

表现在:⑴对软件开发成本和进度的估计常常很不准确。

⑵用户易对“已完成的”软件系统产生不满。

⑶软件质量不可靠。

⑷软件常常是不可维护的。

⑸软件通常没有适当的文档资料。

⑹软件成本越来越高。

⑺软件开发生产率提高速度慢,跟不上发展。

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

若值得解,则推荐一个较好的方案,并制定一个初步的计划;若无可行解,则建议停止开发工程(以免浪费时间、人力、和金钱数据流图的基本要点是什么?描绘“做什么”,而不考虑“怎样做”。

软件生成期分几个阶段?几阶段的主要工作是?生命周期各阶段的基本任务:1、问题定义:要解决的问题是什么?2、可行性研究:问题是否有行得通的解决办法?3、需求分析:确定目标系统必须具备哪些功能。

4、总体设计:应如何解决这个问题。

5、详细设计:如何具体实现这个系统?6、编码和单元测试:写出正确的、容易理解的、容易维护的程序模块,并测试编写出的每一个模块。

7、综合测试:通过各种类型的测试使软件达到预定的要求。

8、软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。

何为功能模块?设计模块?功能模块:在分析阶段由系统分析员对该系统应完成的功能进行规定的模块。

设计模块:在后面设计阶段对如何实现这些功能进行描述的模块。

HIPO PSL PAD SADT 中文意思SADT:结构分析设计方法。

PSL:问题说明。

PSA:问题说明分析器。

HIPO:H图加IPO,即层次图加输入/处理/输出图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程复习资料软件工程单元一一单项选择1.软件是一种逻辑产品,它的开发主要是(A )。

A研制B拷贝C再生产D复制2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。

A需求分析 B 结构设计C程序编制D软件维护3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。

A喷泉模型 B 增量模型C瀑布模型D螺旋模型4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。

A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试5.软件产品与物质产品有很大区别,软件产品是一种(C )产品A有形 B 消耗 C逻辑D文档6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。

A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

A概要设计 B 详细设计 C 编码 D 测试8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。

A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。

A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。

A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。

A可修改性B可靠性C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。

A可移植性B可重用性 C 容错性 D 可适应性13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。

A可理解性B可靠性C可适应性 D 可重用性14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。

A可理解性 B 可维护性C可适应性 D 可重用性15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ).A可理解性B可修改性C可移植性 D 可重用性16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。

A有效性B可适应性C正确性 D 可靠性17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。

A可修改性B可适应性C可维护性 D 可移植性18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。

A可理解性B可互操作性C可维护性 D 可追踪性19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是( C )。

A 可理解性 B 可互操作性C可追踪性 D 可维护性20.软件的可修改性支持软件的(D )。

A 有效性 B 可互操作性C可追踪性 D 可维护性21.软件的可移植性支持软件的(A )。

A 可适应性 B 可互操作性C可追踪性 D 有效性22.软件的可理解性支持软件的(B )。

A 有效性 B 可移植性C可追踪性 D 可靠性23.在软件工程的原则中,抽象、信息隐藏、模块化和局部化的原则支持软件的(C )。

A 有效性B 可互操作性C可靠性 D 可追踪性24.下列选项中,属于需求分析阶段的任务的是(D )。

A 组装测试计划B 单元测试计划C软件总体设计 D 验收测试计划25.下列选项中,属于概要设计阶段的任务的是(A )。

A 组装测试计划B 单元测试计划C初步用户手册 D 验收测试计划26.下列选项中,属于详细设计阶段的任务的是(B )。

A 组装测试计划B 单元测试计划C初步用户手册 D 验收测试计划27.下列选项中,属于实现阶段的任务的是(C )。

A 组装测试计划B 绘制程序流程图C 单元测试D 验收测试计划28.下列选项中,在验收测试结束时,必须提交给用户的是(D )。

A 项目开发总结报告B 验收测试计划C 需求规格说明书D 最终用户手册二填空1.计算机软件是指与计算机系统操作有关的以及任何与之有关的文档资料。

答案:程序、数据2.是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。

答案:瀑布模型3.是软件生存周期中时间最长的阶段。

答案:维护阶段4.是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。

答案:喷泉模型5.软件生存周期是指一个软件从开始直到该软件最终退役为止的整个时期。

答案:定义6.在软件的生产过程中,总是有大量各种信息要记录,因此,在产品的开发过程中起着重要的作用。

答案:文档7.在软件生存周期中,软件定义过程的基本任务是确定软件系统的。

答案:工程需求8.在软件生存周期中,软件定义过程可以通过软件系统的两个阶段来完成。

答案:可行性研究和需求分析9.在软件生存周期中,软件开发过程可以通过、实现、组装测试、验收测试共5个阶段组成。

答案:概要设计、详细设计10.我们把支持软件项目的的软件叫做软件开发的工具软件。

答案:开发、管理、维护活动11.软件工程由三部分组成,称为软件工程的三要素。

答案:方法、过程和工具四简答题1.软件产品的特点是什么答:①软件开发与硬件研制相比,更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。

②大型软件仍然存在着潜伏的错误。

③软件产品开发成功后,只需对原版软件进行复制,即可生产出任意多的同样的产品。

④还有,软件在使用过程中的维护工作比硬件要复杂得多。

⑤由于软件不是物理产品,所以它不会磨损和老化。

2.软件危机的表现有哪些?答:1)对软件开发成本和进度的估计常常很不准确。

2)用户对已完成的软件不满意的现象时有发生。

3)软件产品的质量往往是靠不住的。

4)软件常常是不可维护的。

5)软件通常没有适当的文档资料。

6)软件成本在计算机系统总成本中所占比例逐年上升。

7)软件开发生产率提高的速度远跟不上日益增长的软件需求。

3.产生软件危机的原因主要有哪些?答:1)用户对软件需求的描述不精确。

2)软件开发人员对用户需求的理解有偏差。

3)缺乏处理大型软件项目的经验。

4)开发大型软件易产生疏漏和错误。

5)缺乏有力的方法学的指导和有效的开发工具的支持。

6)面对日益增长的软件需求,人们显得力不从心。

4.软件工程的7条基本原理是什么?答:1)用分阶段的生存周期计划严格管理。

2)坚持进行阶段评审。

3)实行严格的产品控制。

4)采用现代程序设计技术。

5)结果应能清楚地审查。

6)开发小组的人员应少而精。

7)承认不断改进软件工程实践的必要性5.软件工程的7条原则是什么?答:1.抽象。

2.信息隐藏。

3.模块化。

4.局部化。

5.一致性。

6.完全性。

7.可验证性。

6.软件生存周期如何划分?答:可将软件生存周期划分为3个过程共9个阶段。

软件定义过程:由可行性研究和需求分析2个阶段组成;软件开发过程:由概要设计、详细设计、实现、组装测试、验收测试5个阶段组成;软件使用与维护过程:由使用与维护和退役2个阶段组成。

7.常见的软件开发模型有哪些?答:有瀑布模型、原型模型、螺旋模型、喷泉模型、变换模型、基于四代技术的模型、基于知识的智能模型等。

8.瀑布模型适合于哪类软件系统的开发?答:瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。

例如操作系统、编译系统、数据库管理系统等系统软件的开发。

9.瀑布模型的缺点主要有哪些?答:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。

10.实现快速原型的开发途径有哪三种?1)仅模拟软件系统的人机界面和人机交互方式。

2)开发一个工作模型,实现软件系统中重要的或容易产生误解的功能。

3)利用一个或几个类似的正在运行的软件向用户展示软件需求中的部分或全部功能。

11.原型模型适于哪种情况的软件开发?答:原型模型适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。

12.螺旋模型的每一个周期包括哪几个阶段?答:螺旋模型的每一个周期都包括计划(需求定义)、风险分析、工程实现和用户评价与阶段评审4个阶段。

13.螺旋模型的优点有哪些?答:螺旋模型的主要优点有:1)支持用户需求的动态变化。

2)原型可看作形式的可执行的需求规格说明,易于为用户和开发人员共同理解,还可作为继续开发的基础,并为用户参与所有关键决策提供了方便。

3)螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力。

4)为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。

14.螺旋模型适于哪种情况的软件开发?答:螺旋模型支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。

软件工程单元二(软件项目管理)一单项选择1.软件项目管理必须(A )介入。

A)从项目的开头B)在可行性研究之后C)在需求分析之后D)在编码之后2.下列选项中,属于成本管理的主要任务的是(B )。

A)人员的分工B)估算软件项目的成本C)对控制软件质量要素D)对软件阶段产品进行评审3.下列选项中,不属于质量管理的主要任务的是( C )。

A)制定软件质量保证计划B)按照质量评价体系控制软件质量要素C)增加软件产品的功能D)对最终软件产品进行确认4.下列选项中,属于软件配置管理的任务的是(D )。

A)人员的分工B)估算软件项目的成本C)对软件阶段产品进行评审D)对程序、数据、文档的各种版本进行管理5.(A )是对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指示。

A)测量B)度量C)估算D)指标6.(B )是对系统、部件或过程的某一特性所具有的程度进行的量化测量。

A)测量B)度量C)估算D)指标7.(C )是对软件产品、过程、资源等使用历史资料或经验公式等进行预测。

A)测量B)度量C)估算D)指标8.(D )是一个度量或度量的组合,它可对软件产品、过程或资源提供更深入的理解。

A)测量B)度量C)估算D)指标9.下列选项中属于产品的内部属性的是(A )。

A)模块耦合度B)软件可靠性C)软件有效性D)软件可维护性10.下列选项中属于过程的外部属性的是(B )。

相关文档
最新文档