软件工程期末复习北邮讲课讲稿.docx
- 文档编号:26158733
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:13
- 大小:27.97KB
软件工程期末复习北邮讲课讲稿.docx
《软件工程期末复习北邮讲课讲稿.docx》由会员分享,可在线阅读,更多相关《软件工程期末复习北邮讲课讲稿.docx(13页珍藏版)》请在冰豆网上搜索。
软件工程期末复习北邮讲课讲稿
软件工程期末复习-北邮
1、软件是一种(逻辑实体),而不是具体的物理实体,因而它具有抽象性。
2、需求分析研究的对象是软件项目的(用户/客户/功能+性能/功能)要求。
3、需求分析的任务就是借助于当前系统的(逻辑模型)导出目标系统的(逻辑模型),解决目标系统的(“做什么”)的问题。
4、结构化需求分析方法由对软件问题的(信息/数据)和(功能)的系统分析过程及其表示方法组成。
5、确认测试包括:
有效性测试和(软件配置审查,文档审查)。
6、白盒测试的逻辑覆盖方法包括语句覆盖、(判定/判断覆盖)、条件覆盖、(判定/判断-条件覆盖)、条件组合覆盖、(路径覆盖/路径测试/基本路径测试)。
注:
次序无关
7、为了提高模块的独立性,模块之间最好是(数据耦合)
为了提高模块的独立性,模块最好是(功能内聚)
8、下列关于功能性注释不正确的说法是(B)
A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B.注释用来说明程序段,需要在每一行都要加注释
C.可使用空行或缩进,以便很容易区分注释和程序
D.修改程序也应修改注释
9、在UML状态图中,与转移上的事件联系在一起的瞬时操作是(动作)
10、测试的关键问题是(如何选择测试用例)
11、以下说法不正确的是(A)。
A.原型思想是在研究概要设计阶段的方法和技术中产生的。
B.探索型和实验型原型采用的是抛弃策略。
C.进化型原型采用的是追加策略。
D.快速原型方法是利用原型辅助软件开发的一种思想。
12、需求规格说明书的作用不包括( C )
A.软件验收的依据
B.用户与开发人员对软件要做什么的共同理解
C.软件可行性研究的依据
D.软件设计的依据
13、软件结构图中,模块框之间若有直线连接,表示它们之间存在(调用关系)
14、下面关于DFD中的加工的描述正确的是(C)
A.每个加工只能有一个输入流和一个输出流
B.每个加工最多有一个输入流,可以有多个输出流
C.每个加工至少有一个输入流和一个输出流
D.每个加工都是对输入流进行变换,得到输出流
15、在基于数据库的信息管理系统中,数据库概念模型的设计对应于系统开发的(概要设计)阶段。
16、下列关于效率的说法不正确的是(B)
A.效率是一个性能要求,其目标应该在需求分析时给出
B.提高程序效率的根本途径在于采用高效的算法
C.效率主要指处理机时间和存储器容量两个方面
D.程序的效率与程序的算法有关
17、某企业的软件系统希望从Windows平台移植到Linux平台上,软件开发厂商为了满足企业的要求进行的维护属于(适应性维护)
18、软件测试的目的是(为了发现程序中的错误)
19、用白盒测试法设计测试用例的方法包括( 基本路径测试 )
20、导致软件危机的最主要原因是(开发方法和技术不合理)
21、下面关于软件生命周期模型的描述正确的是(C )
A.软件生命周期是指从软件需求分析到上线运行的全过程
B.原型方法只能用于软件的需求分析阶段
C.按照瀑布模型开发系统时,必须完成需求分析才能开始系统设计
D.增量模型又叫做迭代模型
22、(UML)是面向对象技术领域内占主导地位的标准建模语言。
23、模块的作用范围应在控制范围之内,下面哪一种做法是不当的(C)。
A.将判定所在模块合并到父模块中,使判定处于较高的层次
B.将受到判定影响的模块下移到控制范围内
C.将判定所在模块下移到最低层次
D.将判定上移到层次中较高的位置
24、软件的正确性是指(软件产品达到预期的功能)
25、软件测试内容不包括(D)
A.对需求规格说明的确认B.对代码进行桌前检查
C.对性能进行测试D.对代码进行调试
26、某企业的软件系统投入运行一段时间后出现响应速度慢的情况,软件开发厂商为了适应企业的要求,对软件性能进行了优化,提高了运行速度,企业进行的维护工作属于(B)
A.适应性维护B.完善性维护
C.改正性维护D.预防性维护
27、OOA所要完成的工作不包括(D)
A.建立用例模型B.建立领域模型
C.建立操作契约D.定义完善的类的属性和操作
28、白盒测试法中最强的逻辑覆盖是(路径覆盖)
29、下面哪一个不是数据词典的构成之一(C)。
A.数据流词条描述B.数据文件词条描述
C.数据流层次词条描述D.加工逻辑词条描述
30、OOA所要完成的工作不包括(D)
A.建立用例模型B.建立领域模型
C.建立操作契约D.定义完善的类的属性和操作
31、结构化程序设计采用的三种基本控制结构是(顺序、选择、重复)
32、下面哪一个不属于UML中的图(D)。
A.类图B.状态图
C.构件图D.数据流图
33、如果由于某种原因不能修改已有的用例文本,使用以下哪种关系可以解决这个问题(C)。
A.包含关系B.继承关系
C.扩展关系D.聚合关系
34、下面哪种生命周期模型本身不是一个完整的方法论(D)。
A.螺旋模型B.喷泉模型
C.RUPD.敏捷模型
35.软件的可行性研究中不包括(D)。
A.技术可行性B.法律可行性
C.经济可行性D.政治可行性
36.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A.聚合B.组合
C.封装D.抽象
37.面向对象设计模型中不包括(A)
A、操作契约B、类的方法
C、用例实现的顺序图D、对象的状态图
判断:
正确:
1.用例代表的视角色的目标,而不是达到角色目标过程中的一个步骤
2.用例模型是用来说明系统应该具备的功能描述。
3.软件维护的周期远远大于软件开发的周期。
4.在进行软件类设计的过程中可以应用GRASP中的“信息专家”模式决定类中的方法。
5.需求分析需要对系统的数据、功能和行为进行建模。
6.采用黑盒测试系统功能时,完全不需要了解程序内部结构。
7.SRP原则阐述的是对于一个类而言,应该只有一个引起它变化的原因。
8.面向对象设计中最关键的活动是找到对象并给对象分配职责。
9.类是具有相同属性、操作、关系和语义的对象集合。
10.软件测试目的在于发现错误。
11.领域模型就是用来描述业务领域重要概念及其相互关系的模型,一般用UML的类图来表达。
12.除了分析阶段用于明确需求以外,原型方法也可以用于软件工程的其它阶段。
13.原型方法既可以同瀑布模型结合也可以与UP模型结合使用。
14.面向对象设计中最关键的活动是找到对象并给对象分配职责。
15.如果对象A包含或聚合对象B,那么A拥有创建B的职责。
16.
错误:
1.数据词典包括数据流词条、数据元素词条、数据文件词条以及数据加工逻辑词条四个部分。
2.状态图之间不能够发送消息。
3.软件测试只需要测试计划、测试用例和测试工具就可以进行。
4.项目开发计划不属于软件开发类文档。
5.软件是一种逻辑实体,由可执行代码构成。
6.软件质量主要通过软件的功能测试来保证。
7.UML中顺序图和协作图不仅能用来表示对象之间的动态行为,也能表示对象内部的状态变化。
8.单元测试中只能使用白盒测试方法。
9.软件能力成熟度模型是衡量软件项目管理水平的标准。
10.领域模型是面向对象分析和设计的一个组成部分,因而它也是待构建的软件模型的一个部分。
11.在顺序图中,一个对象A发送了一条创建另一个对象B的消息,那么表明对象B具备了处理该条消息的职责。
12.螺旋模型最大的特点是加入了对软件成本的控制。
13.好的软件设计是指按照该设计方案能够实现需求定义的系统功能。
14.软件测试的目的证明提交的软件是正确的。
15.AisaB说明A与B之间存在聚合关系。
16.软件是就是程序,程序就是软件。
17.螺旋模型最大的特点是加入了对软件成本的控制。
18.软件模块划分得越小,总的软件开发成本就越小。
19.面向对象分析(OOA)和面向对象设计(OOD)分别采用不同的概念和表示法。
20.白盒测试不能应用穷举法,黑盒测试可以应用。
21.在项目面临进度延期的情况下,总是可以通过增加人力在后期跟上进度。
22.缺乏处理大型软件项目的经验,是产生软件危机的唯一原因。
23.类图用来表示系统中类以及类与类之间的关系,它是对系统动态结构的描述。
24.UML是一种可视化的程序设计语言。
25.用例模型中,创建系统操作契约是必须的。
26.外观控制器不需要实现系统操作,但用例控制器需要。
1.软件的定义:
软件是计算机程序、规程,以及运行计算机系统可能需要的相关文档和数据
软件是包括程序、数据及其相关文档的完整集合
2.软件的特点:
软件是一种具有抽象的逻辑实体
软件的开发是一种逻辑思维成熟的过程,而无明显的制造过程
软件没有磨损和老化问题,但存在软件退化问题
软件的开发依然很原始
软件是高度复杂的逻辑体
3.软件的分类:
系统软件、应用软件、中间件软件
按照服务对象范围划分:
通用软件、定制软件、可配置软件
按照软件使用方式划分:
单机软件、服务器软件、客户端软件
按照软件功能划分:
办公软件、网络软件、系统工具软件、系统安全软件、多媒体软件、
设计与开发软件、游戏软件、家庭应用软件、行业软件
4.软件危机:
由于落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象
5.软件危机产生的原因:
软件本身存在复杂性,软件开发和维护所使用的方法不合理
6.软件危机解决途径:
软件工程学,即采用工程化的方法从事软件系统的研究和维护。
7.软件工程定义:
软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。
运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
软件工程学是为在成本限额以内按时完成开发和修改软件产品所需的系统生产和维护的技术和管理的学科。
IEEE计算机学会将“软件工程”定义为:
⑴应用系统化的、规范化的、定量的方法来开发、运行和维护软件,即:
将工程应用到软件;⑵对⑴中各种方法的研究。
8.软件工程三要素:
方法、工具、过程
9.软件工程的目标:
生产具有正确性、可用性以及开销适宜的软件产品。
10.软件工程的最终目的:
摆脱手工生产软件的状况,逐步实现软件研制和维护的自动化。
11.软件工程研究的内容:
软件开发技术:
软件开发方法学、开发过程模型、开发工具、软件工程环境
软件工程管理:
软件管理学、软件工程经济学、软件心理学等内容
12.软件工程的原则:
选取适宜的开发模型、采用合适的设计方法、提供高质量的工程支持力度、重视开发过程的管理
13.软件工程管理的基本原理:
用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查、开发小组的人员应少而精、承认不断改进软件工程实践的必要性
14.软件工程的一般原理:
抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性、可验证性
15.工程项目的三个基本目标:
合理的进度、有限的经费、一定的质量
16.软件工程过程:
为了获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。
17.软件工程过程包含4种基本的过程活动:
软件规格说明:
规定软件的功能及其使用限制;
软件开发:
产生满足规格说明的软件;
软件确认:
通过有效性验证以保证软件能够满足客户的要求;
软件演进:
为了满足客户的变更要求,软件必须在使用过程中进行不断地改进。
18.软件生命周期:
指软件产品从考虑其概念开始,到该软件产品不再使用为止的整个时期,一般包括概念阶段、分析与设计阶段、构造阶段、移交和运行阶段等不同时期。
19.软件生命周期的六个基本步骤:
制定计划、需求分析和定义、软件设计、程序编码、软件测试、运行维护
20.影响软件生命周期长短的因素:
不考虑硬件环境的快速发展因素时,……为软件的质量、软件的灵活性和适应能力
21.软件过程模型:
从一个特定角度提出的对软件过程的概括描述,是对软件开发实际过程的抽象,包括构成软件过程的各种活动(Activities)、软件工件(artifacts)以及参与角色(Actors/Roles)等。
22.软件生命周期模型:
是一个框架,描述从软件需求定义直至软件经使用后废弃为止,跨越整个生存期的软件开发、运行和维护所实施的全部过程、活动和任务,同时描述生命周期不同阶段产生的软件工件,明确活动的执行角色等。
是指导软件开发人员按照确定的框架结构和活动进行软件开发的标准。
23.传统模型种类:
瀑布模型、演化模型、增量模型、喷泉模型、V模型和W模型、螺旋模型、构件组装模型、快速应用开发模型、原型方法
24.瀑布模型:
规定了软件生命周期提出的六个基本工程活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
瀑布模型将软件生命周期划分为定义阶段、开发阶段和维护阶段,在定义阶段部署了计划和需求分析活动;在开发阶段部署了设计、编码和测试活动,维护阶段部署了运行/维护活动。
25.演化模型针对需求不是很明确的软件
26.软件需求分析的对象:
用户要求。
27.软件需求分析的任务是:
准确地定义新系统的目标,回答系统必须“做什么”的问题并编制需求规格说明书。
28.需求分析的目标:
借助于当前(业务)系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。
29.需求分析的过程包含哪些方面:
需求沟通、需求获取、需求分析与综合、需求建模、制定需求分析规格说明、需求确认、需求评审。
30.软件文档的作用:
提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。
31.简述用例描述的组成内容:
用例的目标、用例是如何被启动的、角色和用例之间的消息流、用例的执行的多个分支、用例的前置和后置条件
32.简述单元测试、集成测试以及确认测试所对应的测试对象:
单元测试:
代码和详细设计文档
集成测试:
详细设计和概要设计文档
确认测试:
概要设计和需求规格说明
33.简述面向对象开发方法中OOA和OOD要完成的工作。
OOA:
建立用例图、写用例文本描述、创建领域模型、绘制顺序图(可选)、创建操作契约。
OOD:
软件体系结构设计、用例实现设计(用协作图寻找参与用例的对象,对对象职责进行分配,并生成设计类图)、用户界面设计。
34.说明软件测试步骤?
简述每个步骤的测试对象和测试依据。
测试步骤
测试对象
测试依据
单元测试
程序模块
详细设计说明书、源代码
集成测试
已测试的模块
系统概要设计说明书
确认测试
已集成的软件
系统需求规格说明书
系统测试
已确认的软件
系统其他元素
35.什么是软件项目管理?
制定项目计划时包含的项目管理过程有哪些?
软件项目管理就是为了实现软件项目目标,使软件项目获得成功而对软件开发项目的工作范围、可能遇到的风险、需要的资源(人力、硬件和软件)、要完成的任务、经历的里程碑、花费的工作量(成本)以及进度的安排等进行管理的过程。
制定项目计划是建立项目行动指南的基准,包括对软件项目的估算、风险分析、进度安排、人员的选择与配备等。
36.阐述面向对象设计中依赖倒置原则的含义。
37.面向对象分析(OOA)阶段过程中主要包括哪些工作活动?
用例建模、创建领域模型、绘制系统顺序图、创建系统操作契约。
38.ACD图(体系结构语境图)和AFD图(体系结构流程图)都可以基于一个标准的体系结构模板建立,请画出该体系结构模板的组成格式。
39.UML中类图的作用是什么?
UML中类之间包含哪些关系?
UML类图用于描述类以及类之间的关系。
UML中类之间的关系可分为:
关联、聚合、继承和依赖
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 期末 复习 讲课 讲稿
![提示](https://static.bdocx.com/images/bang_tan.gif)