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

可编辑修改精选全文完整版一、单选题(共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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 )。