软件工程复习资料(提纲+答案)
软件工程复习资料精选全文完整版
可编辑修改精选全文完整版一、单选题(共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.选择正确答案:(1)在软件生存周期中, A 阶段所占的工作量最大;(2)结构化分析方法产生的软件需求说明书由一套分层的 B 、数据字典和补充说明材料组成;(3)软件的 C 一般可用平均无故障时间和故障平均修复时间来度量;(4)采用 D 编写程序可提高程序的可移植性;(5)仅根据规格说明书描述的程序功能来设计测试用例的方法称为 E 。
A ①分析②设计③编码④测试⑤维护B ①因果图②数据流图③ PAD图④流程图C ①易维护性②可靠性③效率④易理解性D ①机器语言②宏指令③汇编语言④高级语言E ①白盒方法②静态分析法③黑盒方法④人工分析法2.需求分析的主要任务是建立新系统的 A ;总体设计的主要任务是设计出新系统的B ;详细设计的主要任务是完成模块的C ;编码的主要任务是写出各模块的D 。
A:①系统结构②逻辑模型③软件结构④系统流程B:①软件结构②模块结构③逻辑模型④数据流程C:①输入输出设计②逻辑功能设计③过程设计④结构设计D:①PAD ②PDL ③源程序④过程性描述3.软件设计将涉及到软件的结构、过程和模块的设计,其中软件过程设计是指描述。
①模块间的关系②模块的操作细节③软件层次结构④软件开发过程4.模块独立是软件模块化所提出的要求,衡量模块独立的度量标准是模块的。
①抽象和信息隐蔽②局部化和封装③高内聚和低耦合④激活机制和控制方法5.在结构化分析和设计技术(SADT)中,数据流图是用于描述系统的 A 的主要工具,数据字典是定义 B 中关于数据的描述工具。
A ①详细设计②需求分析③总体设计④逻辑模型B ①数据流图②系统流程图③程序流程图④软件结构图6.人们在使用高级语言编码时,首先可通过编译程序发现源程序中的全部 A 和部分语法错误,然后可采用 B 来发现程序中的运行错误并采用纠错来确定错误的性质,设计错误是泛指用户在验收中发现的结果与需求不符的错误。
A的选项:①符号错误②逻辑错误③通路错误④语义错误B的选项:①诊断②测试③检验④排错⑤纠错⑥试探7.用面向对象方法开发软件时,人们通常从三个侧面建立三种不同的模型:一是描述系统静态结构的A对象模型;二是描述系统控制结构的B动态模型;三是描述系统计算结构的C功能模型。
软件工程重要考点复习提纲
CH11、软件危机概念软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题。
2、软件危机体现在哪几方面?主要表现在软件的开发和维护两方面3、软件工程概念软件工程是知道计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
4、软件工程7条基本原理(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用线代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断进取软件工程实践的必要性。
5、软件工程方法学包含的3个基本要素方法、工具和过程6、软件生命周期划分哪些阶段软件定义、软件开发和运行维护。
7、各阶段的基本任务软件定义:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。
软件开发:具体设计和实现定义的软件。
运行维护:使软件持久地满足用户的需要。
8、软件过程概念软件过程描述为了开发出客户需要的软件,什么人、什么时候、做什么事以及怎样做这些事以实现某一个特定的具体目标。
9、软件过程模型有哪些瀑布模型、快速圆形、增量模型、螺旋模型、喷泉模型10、瀑布模型有哪些特点(1)可强迫开发人员采用规范的方法;(2)严格地规定每个阶段必须提交的文档;(3)要去每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
11、在软件生产中为什么强调管理CH21、可行性研究的目的用最小的代价在尽可能短的时间内确定问题是否能够解决。
2、从那些方面进行可行性研究技术可行性、经济可行性、操作可行性、社会可行性。
3、系统流程图的作用4、数据流图的作用利用它作为交流信息的工具,作为分析和设计的工具。
软件工程复习题复习重点及答案
软件工程复习重点一、选择题1、软件工程三要素是指( B )P8A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法2、瀑布模型本质上是一种( A )。
P23A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。
P79A、数据流B、数据流图C、数据库D、数据结构4、概要设计的任务是设计系统的( B物理模型)P70A、逻辑模型B、物理模型C、概念模型D、程序流程图5、描述软件结构的工具有( A模块结构图)A、模块结构图B、PAD图C、数据流程图D、程序6、进行需求分析可以使用多种工具,但( C )是不适用的。
A、数据流程图B、判定表C、PAD图(详细设计)D、数据字典7、可行性研究要进行的需求分析和设计应该是( C )。
A、详细的B、全面的C、简化的、压缩的D、彻底的8、软件生命周期由( C )三个时期组成。
A、概要设计、详细设计和系统实现B、可行性分析、系统设计和编码C、定义、开发和运行维护D、分析、设计和测试9、以下( D )不是模块。
对象是一个实体A、过程B、程序C、函数D、对象10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。
A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78A、扇入数B、扇出数C、宽度D、作用域12、下列工具哪一个是需求分析阶段常用工具?( D )A、PADB、PFDC、N-SD、DFD数据流程图需求分析常用的是数据流程图和数据字典13、为了提高测试的效率,应该( D)A、随机地选取测试数据B、取一切可能的输入数据作为测试数据库C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据14、成功的测试是指( B发现程序的错误)A、运行测试实例后未发现错误项B、发现程序的错误C、证明程序正确D、改正程序的错误15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。
软件工程(研)复习提纲答案
复习提纲第一章软件工程概述1、分析60年代末出现的软件危机的原因。
如何理解“越早潜伏的错误越晚发现,越晚发现的错误,修正的费用越高”。
答:软件危机是指在软件开发过程中遇到的一系列严重问题,如:开发周期延长,成本增加,可靠性降低等。
开发大型软件与编制小程序主要有以下区别:⑴人员:小程序从确定要求、设计、编制、使用,直到维护通常由一个人完成;大型软件则由用户、项目负责人、分析员、程序员、资料员、操作员等组成一支开发队伍来协同完成。
⑵文档:小程序很少有书面文档;大型软件则是集体劳动的“产物”,必须有规范化的文档,便于开发和维护。
⑶产品。
小程序工作量小,如果需作大的修改,可舍弃旧程序而重新编写;但大型软件的开发耗费了大量的人力与物力,一般不会轻易抛弃,而总是在旧软件的基础上一再改动,以延长它的使用期,因此“版本”在不断升级。
大型软件的开发提出了许多新的问题,而开发方法却还停留在编制小程序的方法上,经验和技巧已不能满足开发大型软件的需要,导致软件开发过程混乱;使用的开发方法和技术不当,没有适当的文档,不易交流,维护困难,开发成本高,软件质量低等,这些问题是造成软件危机的主要原因。
2、软件复用的概念及两类软件复用技术:合成技术和生成技术。
答:软件复用是指在构造新的软件系统过程中,对已存在的软件产品(设计结构、源代码、文档等)重复使用的技术。
(1)合成技术利用部件(component,组件,构件)合成软件系统的技术。
部件是可复用的一小段软件(可为二进制形式),可以是对某一函数、过程、子程序、数据类型、算法等可复用软件成分的抽象,封装了功能细节和数据结构,有详细的接口。
(2)生成技术利用可复用的模式,通过生成程序产生一个新的程序或程序段,产生的程序可以看成是模式的实例。
可复用的模式有两种:代码模式和规则模式。
①代码模式可复用的代码模式存在于应用生成器中,通过特定的参数替换,生成抽象软件模块的具体实体。
各种程序生成器。
软件工程复习题答案
一、软件工程复习题答案1.软件工程研究的重要内容有(ABCD)A. 软件开创方法、技巧B. 软件开创对象及情形C. 软件治理技巧D. 软件规范(国际规范)2.今朝典范的软件开创模型有(ABCD):A. 瀑布模型B. 增量模型C.螺旋模型D.喷泉模型3.包含风险分析的软件工程模型是(C):A. 瀑布模型B. 增量模型C.螺旋模型D.喷泉模型4.软件危机的重要表示是(BD)A. 软件成本太高B. 软件产品的质量低劣C. 软件开创人员明显不足D. 软件临盆率低下5.以部属于非功能需求的有(ABC)A. 机构需求B. 产品需求C. 外部需求D. 范畴需求6.需求分析的感化是(ABCD)A. 定义软件的范畴及必须知足的束缚B. 确信软件的功能和机能及与其他体系成分的接口C. 建立数据模型、功能模型和行动模型D. 最终供给需求规格说明,并用于作为评估软件质量的依照7.需求工程的全然活动包含(ABCD)A. 猎取需求B. 需求分析与建模C. 确认需求D. 进化需求8.需求猎取之因此困难,其重要缘故有(ABCD)A. 缺乏范畴常识B. 存在默认的常识C. 存在多个常识源D. 客户可能的成见9.常用的需求分析方法有(BCD)A. 功能分析方法B. 构造化分析方法C. 信息建模法D. 面向对象的分析方法10.数据词典中可包含的条目有(ABCD)A. 数据流B. 数据项C. 文件D. 加工11.属于分布式的软件体系构造有(B)A. 仓库模型B. 客户/办事器模型C. 分布式对象构造D. 中心件12.关于以下给出的几种类型的耦合,按照耦合性由高到低分列的是(A)(1)内容耦合(2)公共耦合(3)操纵耦合(4)复合耦合(5)数据耦合A. 1 2 3 4 5B. 1 3 4 2 5C. 1 2 5 3 4D. 5 4 3 2 113.关于块内部接洽的类型,内聚性由弱到强的是(A)(1)有时型(2)逻辑型(3)瞬时型(4)通信型(5)次序型(6)功能型A. 1 2 3 4 5 6B. 1 2 4 5 3 6C. 3 2 4 1 5 6D. 6 5 4 3 2 1 14.(C)是指雷同的操作(或函数、过程)感化于不合的对象上并获得不合的成果A. 连续性B. 封装性C. 多态性D. 动态绑定15.以下UML的几种图中,属于动态模型的有(ACD)A. 状况图B. 类图C. 合作图D. 次序图16.以下软件复用中,抽象程度最低的是(A)A. 代码的复用B. 设计成果的复用C. 分析成果的复用D. 测试信息的复用17.以下软件复用中,抽象程度最高的是(D)A. 代码的复用B. 设计成果的复用C. 分析成果的复用D. 测试信息的复用18.可复用构件必须具备的前提有(ABD)A. 功能上的自力性和完全性B. 较高的通用性和灵活性C. 严格的质量包管D. 较高的标准化程度19.大年夜多半的构件分类模式能够归纳为(ABC)A. 列举分类B. 刻面分类C. 属性值分类D. 集合分类20.软件测试的基来源差不多则有(BD)A. 尽量由法度榜样设计者本身进行测试B. 重视测试用例的选择C. 尽早地和赓续地进行软件测试D. 充分留意测试中的群集现象21.以下测试方法中属于静态分析方法的有(ABD)A. 桌前检查B. 代码会审C. 白盒法D. 步行检查22.步行检查时,常应用的分析方法有(AB)A. 调用图B. 数据流分析图C. 数据流图D. 状况图23.下面6种常用的逻辑覆盖测试方法,按发明缺点才能由弱到强分列的是(A)(1)语句覆盖(2)剖断覆盖(3)前提覆盖(4)剖断-前提覆盖(5)前提组合覆盖(6)路径覆盖A. 1 2 3 4 5 6B. 6 5 4 3 2 1C. 1 4 3 2 6 5D. 1 6 2 3 4 524.属于黑盒法的测试方法有(ABCD)A. 等价分类法B. 边值分析法C. 缺点推设法主意D. 因果图法25.描述软件开创筹划进度的重要对象有(ABCD)A. 一样的表格对象B. 甘特图C. 时标网状图D. PERT技巧与CPM方法26.C MM 表示(A)A. 软件过程成熟度模型B. 软件过程工业化操纵C. 国际软件质量认证D. 软件同一性标准27.软件过程和产品德量有具体的度量标准,同时获得了定量的熟悉和操纵。
《软件工程》复习提纲
《软件工程》课程要点●每章教学课件中的“本章小结”列出了需要掌握的内容●教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相关文档的集合;用于实现计算机系统所需要的逻辑方法和控制过程(2)软件危机的含义、表现、产生原因(客观、主观)答:计算机软件开发和维护过程中遇到的一系列严重问题。
软件危机的表现:①对软件开发成本和进度的估计很不准确②已完成的软件不能满足用户需求③软件质量差④软件不可维护⑤软件没有开发文档⑥软件成本在计算机系统总成本中所占的比例逐年上升⑦软件生产率跟不上硬件的发展和计算机迅速普及的趋势与软件的特点有关(客观原因):①软件是计算机系统中的逻辑部件,缺乏“可见性”,管理和控制软件开发过程相当困难②软件在使用期间不存在机械磨损和老化问题,一旦发现错误,通常意味着修改原来的设计,因此软件难维护③软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)与软件开发和维护的方法不正确有关(主观原因):①开发无计划②忽视软件需求分析的重要性③轻视软件维护④无过硬评测手段⑤缺乏有力的开发方法和工具⑥不重视开发文档等软件配置(3)软件工程学科包括的内容(三要素)、解决的主要问题答:(1)软件工程定义:1)软件工程是指导计算机软件开发和维护的工程学科 2)采用工程化的概念、原理、技术和方法来开发和维护软件3)将经过时间考验而证明正确的管理技术和开发技术结合起来,以较经济的手段开发出高质量的软件并有效维护它2)软件工程方法学的三要素:①方法:完成软件开发各项任务的技术方法②工具:为方法的高效运用,而提供的自动或半自动的软件支撑环境③过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤(4)软件生命周期的含义、组成阶段及各阶段主要任务答:软件生命周期:一个软件从定义、开发、运行维护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。
软件工程复习提纲答案连同实验答案
软件工程复习提纲第1章概述1、什么是软件危机?产生软件危机的主要原因?P3软件危机是指计算机软件的开发和维护过程中所遇见的一系列严重问题出现软件危机的主要原因是人们在开发软件时使用了错误的方法2、软件工程的定义?P5软件工程是指导计算机软件开发与维护的工程学料,它采用工程的概念,原理、技术和方法来开发与维护软件3、软件生命周期定义,八个阶段,及基本任务是什么?P10软件生命周期是指一个软件从定义、开发、使用和维护,直到最终被废弃,经历了一个漫长的时期。
八个阶段为问题定义(关键问题是:“要解决的问题是什么?”);可行性研究(用最小的代价在尽可能短的时间内确定问题是否解决);需求分析(仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题);概要设计(概括地回答“怎么实现目标系统?”这个问题);详细设计(还不是编写程序,而是设计出程序的详细规格说明);编码和单元测试(写出正确的容易理解、容易维护的程序模块);综合测试(通过各种类型的测试(及相应的调试)使软件达到预定的要求);软件维护(通过各种必要的维护活动使系统持久地满足用户的需求)4、螺旋模型:综合了瀑布模型和快速原型的优点,并增加了风险分析5、5种模型的特点。
瀑布模型具有三个特点:1阶段间具有顺序性和依赖性2推迟实现的观点3质量保证的重点快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的增量模型也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。
每一个构件由多个相互作用的模块构成,并且能够完成特定的功能螺旋模型综合了瀑布模型和快速原型的优点,并增加了风险分析喷泉模型第2章结构化分析1、可行性分析主要是进行哪三个方面的分析?P23技术可行性、经济可行性和操作可行性2、结构化分析主要建立什么模型?P32主要建立功能模型(数据流图)、数据模型(ER图)和行为模型(状态图)3、E-R关系图包含什么信息?P40包含着实体(客观世界中存在的且可相互区分的事物)、联系(客观世界中的事物彼此间往往是有联系的)和属性(实体或联系所具有的性质)4、什么是数据流图?P41数据流图(DFD )是一种形象直观的图形,它描绘数据在软件中从输入移动到输出的过程中所经受的变换(即加工处理)5、会画简单的实体联系图、系统流程图、数据流图?P426、什么是数据字典?P47数据字典是描述数据的信息的集合,是对目标系统中使用的所有数据的定义的集合7、结构化分析的策略是自顶向下逐步求精。
软件工程 期末复习提纲完美版
《软件工程》复习提纲1 软件与软件工程1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)简单地说,软件由程序和文档两部分组成,一是机器可以执行的程序及有关的数据,二是机器不能执行的文档,软件的两种普遍定义:①软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据。
②软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料。
程序:为了解决某一问题而按事先设计的功能和性能要求执行的指令系列,或者说,用程序设计语言描述的适合于计算机处理的语句序列。
数据:使程序能正常操纵信息的数据结构。
文档:描述程序、数据和系统开发以及使用的各种图文资料。
它具有永久性并能供人或机器阅读。
软件的基本特点:·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。
·②软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品。
·③软件具有“复杂性”,其开发和运行常受到计算机系统的限制。
而且,软件投入使用后,仍需要进行维护,这就带来软件维护复杂性的问题。
·④软件不存在磨损,物理上不会老化,但存在软件退化问题。
·⑤软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。
1.2软件危机的概念软件危机是指在软件开发和维护过程中所遇到的一系列严重问题。
【由于软件的规模越来越大,复杂度不断增加,软件需求量增大。
而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。
致使大量质量低劣的软件涌向市场,有的花费大量人力财力,而在开发过程中就夭折。
】“软件危机”主要表现在两个方面:(1)软件产品质量低劣,甚至开发过程就夭折;(2)软件生产率低,不能满足需要。
1.3软件工程学的概念(定义)、研究的内容(三要素)1993年IEEE定义:(1)把系统化的、规范化的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;(2)研究(1)中提到的途径。
软件工程复习提纲(附答案)
软件工程第一章软件工程介绍1、软件的特性:P4软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。
2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P105、软件的定义:P4软件是指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。
第二章过程综述1、软件工程的三个要素:工具,过程,方法P17过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。
工具:为过程和方法提供自动化或半自动化的支持。
2、通用软件过程框架:沟通,策划,建模,构建,部署P8沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。
建模:它包括创建模型和设计两方面。
创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。
构建:它包括编码和测试。
部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P23沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。
软件工程复习提纲
软件工程复习提纲第一章软件与软件工程1. 什么是软件工程?构成软件工程的要素是什么?2. 什么是软件危机?软件危机有那些表现?3.软件开发的三种最主要方法是什么?4.软件工程实践中的五个面向理论的含义是什么?5.用图表方式说明软件的生存周期6.结合软件生存周期理论,阐述几个重要的软件开发模型的特点及适用条件(如瀑布模型、快速原型模型、增量模型、迭代模型等)第四章需求分析基础1.什么是软件需求?软件需求的属性是什么?2.需求分析阶段的一般工作流程是什么?3.什么是需求分析?需求分析的任务、目的是什么?4.什么是需求定义?5.简述软件需求分析的任务与步骤,并以图书管理系统为例说明6.需求的分析的方法与切入点?(过程分析、对象分析;功能分析、对象分析、数据分析?)7.需求分析的描述工具?8.什么是业务流程图?业务流程图的主要绘图元素有哪几种?9.什么是数据流图?数据流图的绘图元素有哪几种?10.分别画出图书管理系统的业务流程图和数据流图11.画出图书管理系统的用例图12.画出一个网上招聘系统(招聘网站)的用例图第五章面向数据流的分析方法1. 阐述数据流图、数据字典和E-R图的构成2. 阐述基于数据流图进行需求分析的大致过程。
3. 归纳总结CASE工具的核心思想。
4. 如何判断数据流图的一致性和完全性?可否用CASE工具自动或半自动地完成这两类检查?如果可以,请给出相应的软件设施途径。
5. 设计一个简单图书信息系统上网E-R模型第六章面向对象的需求分析1. 基本概念:对象、类、消息、继承、聚集2. 简述利用UML尽心需求分析的主要步骤。
3. 简述面向对象的消息传递机制在程序设计语言中的实现过程。
4. 绘制表示“书籍”的UML类图,“书籍”可以描述为:一本书由许多部分组成,每一部分又由许多章组成,每一张由许多节组成。
部分、章和节都具有标题和序号属性。
第八章软件设计基础1.什么是软件设计?软件设计过程的输入和输出是什么?2.理解软件设计的原理3.什么是软件架构?理解软件的三层架构的内容及特点4软件设计有两大类方法是什么?5.面向过程设计的主要任务和内容和方法是什么?6.面向对象设计的内容和步骤是什么?第九章面向数据流的设计方法1. 简述SD方法将数据流图转换为软件结构的过程与步骤。
软件工程复习资料(提纲+答案)
软件工程复习资料(提纲+答案)第一章软件工程的实质1、什么是软件?由什么组成?软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。
可以写作为:软件=程序+数据+文档。
2、什么是软件危机?为什么会产生?(原因)软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高3、为什么要进行软件开发?4、软件工程的三段论?三段论:软件项目管理论、软件项目开发论、软件过程改进论5、软件工程生存期模型概念、类型、每种类型的特点?答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。
6、了解复用的原则第二章软件项目的需求分析1、需求分析的主要任务?(基本任务)答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。
本阶段要主要有以下几方面工作:(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。
(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。
(3)编写文档,也就是完成“需求规格说明书”的编写工作。
2、需求分析分两大块(功能与非功能)功能需求描述系统所预期提供的功能或服务。
非功能需求是对系统提供的服务或功能给出的约束。
包括时间约束、开发过程的约束、标准等。
3、(P27)需求建模的基本方法?答:关联模型、行为模型(数据流模型和状态机模型)、数据模型、面向对象模型、结构化模型(技术:数据流图(DFD)、数据字典(DD)、系统流程图)以及其他方法(如原型法、功能列表等)4、结构化方法的代表?(P29)7状态图活动图8、理解好数据流图为什么要分层?9、UML中常用的9种图?(P32 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。
软件工程复习提纲
软件工程复习提纲I. 软件工程概述A. 定义与目标B. 发展历程C. 软件工程原则与方法论II. 软件开发过程A. 瀑布模型1. 阶段划分与任务2. 优点与缺点B. 增量模型1. 阶段划分与任务2. 优点与缺点C. 喷泉模型1. 阶段划分与任务2. 优点与缺点III. 需求工程A. 需求获取与分析1. 用户需求调研2. 需求规格化B. 需求验证与确认1. 需求评审2. 需求跟踪与控制IV. 软件设计A. 结构设计1. 模块化设计原则2. 模块间接口设计B. 数据设计1. 数据建模2. 数据库设计C. 用户界面设计1. 人机交互原则2. 界面布局与设计规范V. 软件构建A. 编码规范与标准1. 命名规范2. 代码注释B. 单元测试与集成测试1. 测试用例设计2. 测试工具与技术VI. 软件质量保证与控制A. 质量特性及度量1. 功能性2. 可靠性3. 可维护性4. 可测试性B. 缺陷管理1. 缺陷跟踪与报告2. 缺陷分析与修复VII. 软件项目管理A. 项目规划与组织1. 范围管理2. 人力资源管理B. 项目进度与成本控制1. 进度计划与跟踪2. 成本估算与控制VIII. 软件配置管理A. 版本管理1. 版本控制工具2. 分支与合并策略B. 变更管理1. 变更控制流程2. 变更影响分析IX. 软件工程伦理与职业责任A. 代码所有权与知识产权B. 软件开发道德标准X. 结语以上是软件工程复习提纲的架构,通过对各个主题的概要介绍和论述,有助于理解软件工程的基本概念、方法和流程,并为考试或复习提供了一个清晰的框架。
在准备复习时,可以根据这个提纲,进一步深入学习和了解各个主题中的具体知识点和案例。
软件工程是一门重要的学科,对于软件开发和项目管理都有着重要的指导意义,希望通过这个提纲的复习,能够帮助你更好地掌握软件工程领域的核心知识。
软件工程复习及答案
复习思考题(一)软件工程概论1.试说明“软件生命周期”的概念。
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。
2.论述瀑布模型软件开发方法的基本过程。
瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。
并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。
3.软件工程的基本原理有哪些?1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术5.结果应能清楚地审查6.开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性4.从供选择的答案中选出正确答案填入下列叙述中的()内。
(1)软件开发时,一个错误发现得越晚,为改正它所付出的代价就()。
A)越大 B) 越小 C)越不可捉摸 D)越接近平均水平(2)功能模型中描述处理流程的最基本成分为()。
A)数据流图和数据结构图 B) 数据流图和程序流程图C)程序流程图和数据结构图 D) 数据流图和数据词典(3)模块内聚用于衡量模块内部各成分之间彼此结合的紧密程度。
若一组语句在程序的多处出现,为了节省空间把这些语句放在一个模块中,则该模块的内聚类型是()。
A) 功能内聚 B)通信内聚 C)偶然内聚 D)逻辑内聚(5)结构化分析方法(SA)是在软件开发过程中常用的方法,这个方法采用的基本手段是()。
A)分解与抽象 B)分解与综合 C)归纳与推导 D)试探与回溯(6)原型化方法是用户和设计者之间执行的一种交互过程,适用于()系统。
A)需求不确定性高的 B)需求确定的 C)管理信息 D)决策支持(7)软件测试的目的是()。
A)评价软件的质量 B)发现软件的错误C)找出软件中的所有错误 D)证明软件是正确的(8)在软件生存周期中,()阶段所占的工作量最大,约70%。
A)分析 B)设计 C)编码 D)测试 E)维护(二)软件需求分析1.软件需求分析是软件过程中交换意见最频繁的步骤。
08《软件工程》复习提纲.doc
1.填空(每题1分,10题,10分)(1)计算机软件是指计算机系统中的程序及其文档。
pagel(2)在软件发展的第二阶段,由于软件规模的日益增大,设计与编制程序的工作方式逐步从个体方式转向合作方式。
page2(3)需求分析主要解决开发软件要“做什么”的问题。
page8(4)软件设计主要解决待开发软件“怎么做”的问题。
page8(5)1990年我国颁布了《中华人民共和国著作权法》,其中将计算机软件作为著作权法的保护对象。
page44(6)模块独立性比较强的模块应是高内聚低耦合的模块。
page70(7)在结构化分析与设计方法中,模块的内聚度和耦合度是判断结构好坏的主要标准。
page75(8)数据流图用于软件系统的功能建模,描述系统的输入数据流如何经过一系列的加工,逐步变成系统的输出数据流,这些对数据流的加工实际上反映了系统的某种功能或子功能。
page87(9)一个模块的员出是指该模块直接调用的模块数目。
pagell7(10)一个模块的虜△是指能直接调用该模块的模块数目。
pagell7(11)模块的影响范围是指受该模块中决策(如判定条件)影响的所有其他模块。
pagellS(12)模块的控制殖围是指该模块自身以及它可直接或间接调用的所有模块。
pagellS(13)人机界面设计的好坏已成为人们衡量软件可用性的标准之一。
page231(14)系统响应时间是指从用户执行某个控制动作(如按回车键或单击鼠标)到软件做出响应(期望的输出或动作)的时间。
page242(15)一个测试用例由测试输入数据和预期结果组成。
page263(16)等价类是指输入域的某个子集,该子集中的每个输入数据对接露软件中的错误都是等效的。
page277(17)a测试是由一个用户在开发者的场所进行的,软件在开发者对用户的指导下进行测试。
page293(18)经a测试后的软件成为B版软件。
page293(19)B测试是软件的最终用户在一个或多个用户场所进行的,开发者通过不在测试现场。
《软件工程》复习材料(有答案)
一、写出下列缩写英文的中文涵义[30T]CFD DFD OOASA SD SP CMM CMMI UMLCASE XPC/S B/SA TAM PDL SQA MVC CRC MBSCBSD GUISQLMTTR MTTF MTBF FTR PERT SCM CPMRMMP【参考答案】计算流体动力学(CFD)Computational Fluid Dynamics数据流图(DFD)Data FlowDiagram面向对象分析方法(OOA)Object—Oriented Analysis结构化分析方法(SA) Structured Analysis结构化设计(SD)Structureddevise结构化编程(SP)Structured Programming成熟度模型(CMM)CapabilityMaturity Model能力成熟度模型集成(CMMI) Capability Maturity Model Integration统一建模语言(UML)Unified Modeling Language计算机辅助软件工程(CASE) Computer Aided Software Engineering极限编程(XP)ExtremeProgramming客户机/服务器网(C/S) Client/Server浏览器和服务器结构(B/S)Browser/Server构架权衡分析方法(ATAM)Architecture Tradeoff AnalysisMethod页描述语言(PDL)Program DesignLanguage软件质量保证(SQA)SoftwareQualityAssurance模型—视图-控制器(MVC)ModelView Controller循环冗余码校验(CRC)Cyclical RedundancyCheck相互广播系统(MBS)Mutual BroadcastingSystem基于构件的软件开发(CBSD)Component—Based SoftwareDevelopment图形用户界面(GUI)Graphical User Interface结构化查询语言(SQL)Structured Query Language平均恢复前时间(MTTR)Mean TimeTo Restoration平均失效前时间(MTTF)MeanTimeTo Failure平均无故障时间(MTBF)Mean Time Between Failure正式技术复审(FTR)Formal Technical Review计划评审技术(PERT) Program EvaluationAnd Review Technique软件配置管理(SCM)Software Configuration Management关键路径方法(CPM)Critical Path Method二、概念[34][1]在《计算机科学技术百科全书中》,对计算机软件作出如下定义:计算机软件指计算机系统中的程序和文档,前者是计算任务的处理对象和处理规则的描述;后者是为了便于了解程序所需的阐述性资料。
软件工程复习提纲答案连同实验答案
软件工程复习提纲第1章概述1、什么是软件危机?产生软件危机的主要原因?P3软件危机是指计算机软件的开发和维护过程中所遇见的一系列严重问题出现软件危机的主要原因是人们在开发软件时使用了错误的方法2、软件工程的定义?P5软件工程是指导计算机软件开发与维护的工程学料,它采用工程的概念,原理、技术和方法来开发与维护软件3、软件生命周期定义,八个阶段,及基本任务是什么?P10软件生命周期是指一个软件从定义、开发、使用和维护,直到最终被废弃,经历了一个漫长的时期。
八个阶段为问题定义(关键问题是:“要解决的问题是什么?”);可行性研究(用最小的代价在尽可能短的时间确定问题是否解决);需求分析(仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题);概要设计(概括地回答“怎么实现目标系统?”这个问题);详细设计(还不是编写程序,而是设计出程序的详细规格说明);编码和单元测试(写出正确的容易理解、容易维护的程序模块);综合测试(通过各种类型的测试(及相应的调试)使软件达到预定的要求);软件维护(通过各种必要的维护活动使系统持久地满足用户的需求)4、螺旋模型:综合了瀑布模型和快速原型的优点,并增加了风险分析5、5种模型的特点。
瀑布模型具有三个特点:1阶段间具有顺序性和依赖性2推迟实现的观点3质量保证的重点快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的增量模型也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。
每一个构件由多个相互作用的模块构成,并且能够完成特定的功能螺旋模型综合了瀑布模型和快速原型的优点,并增加了风险分析喷泉模型第2章结构化分析1、可行性分析主要是进行哪三个方面的分析?P23技术可行性、经济可行性和操作可行性2、结构化分析主要建立什么模型?P32主要建立功能模型(数据流图)、数据模型(ER图)和行为模型(状态图)3、E-R关系图包含什么信息?P40包含着实体(客观世界中存在的且可相互区分的事物)、联系(客观世界中的事物彼此间往往是有联系的)和属性(实体或联系所具有的性质)4、什么是数据流图?P41数据流图(DFD)是一种形象直观的图形,它描绘数据在软件中从输入移动到输出的过程中所经受的变换(即加工处理)5、会画简单的实体联系图、系统流程图、数据流图?P426、什么是数据字典?P47数据字典是描述数据的信息的集合,是对目标系统中使用的所有数据的定义的集合7、结构化分析的策略是自顶向下逐步求精。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件工程的实质
1、什么是软件?由什么组成?
软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。
可以写作为:软件=程序+数据+文档。
2、什么是软件危机?为什么会产生?(原因)
软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高
3、为什么要进行软件开发?
4、软件工程的三段论?
三段论:软件项目管理论、软件项目开发论、软件过程改进论
5、软件工程生存期模型概念、类型、每种类型的特点?
答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。
6、了解复用的原则
第二章软件项目的需求分析
1、需求分析的主要任务?(基本任务)
答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。
本阶段要主要有以下几方面工作:
(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。
(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。
(3)编写文档,也就是完成“需求规格说明书”的编写工作。
2、需求分析分两大块(功能与非功能)
功能需求描述系统所预期提供的功能或服务。
非功能需求是对系统提供的服务或功能给出的约束。
包括时间约束、开发过程的约束、标准等。
3、(P27)需求建模的基本方法?
答:关联模型、行为模型(数据流模型和状态机模型)、数据模型、面向对象模型、结构化模型(技术:数据流图(DFD)、数据字典(DD)、系统流程图)以及其他方法(如原型法、功能列表等)
4、结构化方法的代表?(P29)
7
状态图活动图
8、理解好数据流图为什么要分层?
9、UML中常用的9种图?(P32 把包图去掉)
静态图:类图、对象图、构件图、实施图和包图。
动态图:用例图、顺序图、协作图、状态图和活动图
10、用例图的4种关系?(PPT)
泛化关系(Generalization)、包含关系(Include/uses)、扩展关系(Extend)、关联
11、类图的4种关系(P69)
继承关系、关联关系(Association)、集合关系(aggregation)、组成关系(composition)
PPT:类与类之间的的关系:关联、泛化(继承)、依赖和实现等4种关系
12、UML建模画图(一定要会)(UML中关系主要有4种:关联、依赖、泛化和实现)
用例图、顺序图(只描述一个用例)、类图(把主要的类图写出来即可)
第三、四章
(设计阶段:概要设计和详细设计)
1、概要设计的主要内容?(页面设计、框架设计、、、、、)
概要设计就是根据软件需求规格完成软件模块的划分并描述软件模块之间的关系。
设计模块:数据设计、架构设计、界面设计、模块设计。
核心设计:框架设计、数据库设计;页面设计;环境设计
2、数据设计
3、功能模块图(扇入、扇出、深度、广度)P61
4、内聚与耦合的概念(PPT)(高内聚,低耦合)
(1)耦合(Coupling):表示软件结构内不同模块彼此之间相互依赖(连接)的紧密程度,是衡量软件模块结构质量好坏的度量,是对模块独立性的直接衡量指标。
(耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。
)
分别有:数据耦合、控制耦合、公共环境耦合、内容耦合
最高程度的耦合是内容耦合。
应该采用如下设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合,完全不用内容耦合。
(2)内聚(Cohesion):内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。
(理想内聚的模块只做一件事情)
分别有:功能内聚信息内聚通信内聚逻辑内聚
功能内聚是最高程度的内聚。
5、模块独立性的重要性?(百度)
模块独立性是指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量。
重要性:具有独立的模块的软件比较容易开发出来。
这是由于能够分割功能而且接口可以简化,当许多人分工合作开发同一个软件时,这个优点尤其重要。
独立的模块比较容易测试和维护。
这是因为相对说来,修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够"插入"模块。
总之,模块独立是优秀设计的关键,而设计又是决定软件质量的关键环节。
6、面向数据流设计
根据数据流,采用自顶向下逐步求精的设计方法,按照系统的层次结构逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。
基本原理:系统的信息以“外部世界”的形式进入软件系统,经过处理后再以“外部世界”的形式离开系统。
7、面向对象的特点?UML的图(以类图为主)
(百度)面向对象的特点:对象唯一性。
分类性。
继承性。
多态性(多形性)
(P64)面向对象设计的主要特点是建立了非常重要的4个软件设计概念:抽象性,信息隐藏性,功能独立性和模块化。
8、ER图的三要素?
实体、关系、属性
9、体系结构(P83)
10、框架(MVC是什么?)P85
11、传统化的详细设计方法?(3种)
12
13、判定表、 PDL(不用会写,但要会看)
第五、六章编码、测试
1、(P151)图5-1
2、(P192)测试
●测试的定义?(有两种描述,要理解好)
软件测试是对软件需求分析、设计、编码实现的审查。
通常有两种描述:
(1)软件测试是为了发现错误而执行程序的过程;
(2)软件测试是根据软件开发的各个阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些用例来运行程序及发现错误的过程。
●测试的分类?(静态、动态)
静态:个人的代码走查、小组的代码检查、代码评审
动态:白盒测试、黑盒测试、灰盒测试
3、黑、白盒测试方法的定义,原理、,测试方法?
●白盒测试:又称为结构测试,是一种逻辑测试。
4、测试级别?分别用于什么阶段?
级别:单元测试、集成测试、系统测试、(接收测试)
每次测试的过程中可能伴随着回归测试。
V测试模型
5、每种测试的主要内容?(要知道是什么)PS:3分超纲题:CMM。