购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第5章
软件工程

知识体系构建

全新考情点拨

根据考试大纲,本章知识点涉及单项选择题和案例分析题,按以往的出题规律,本章内容知识细碎,偏基础,多出现在选择题中,预计分值2~3分,偶有出现在案例分析题中。本章内容属于基础知识范畴,考查的知识点多来源于教材,扩展内容较少。

第1节 软件需求

知识点1 需求的层次

需求的层次

·________:反映组织机构或用户对系统、产品高层次的目标要求,从总体上描述了为什么要达到某种效应,组织希望达到什么目标。

·________:描述的是用户的具体目标,或用户要求系统必须能完成的任务和想要达到的结果。

·________:从系统的角度来说明软件的需求,包括功能需求、非功能需求和约束等。

知识点2 质量功能部署

需求分类

质量功能部署(QFD)将软件需求分为3类:

(1)_________:用户认为系统应该做到的功能或性能,实现得越多,用户会越满意。

(2)________:用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意。

(3)________:意外需求也称为兴奋需求,是用户要求范围外的功能或性能(通常是软件开发人员很乐意赋予系统的技术特性),实现这些需求用户会更高兴,但不实现也不影响其购买的决策。

知识点3 需求分析

1.结构化分析

(1)结构化分析(SA)的核心是________。

(2)结构化分析有3个层次的模型:________、________、________。

(3)_______________________:描述实体、属性,以及实体之间的关系。用来表示________。

(4)__________________:从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。用来表示________。

(5)____________________:通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作。用来表示________。

(6)________:是描述数据的信息集合,是对系统中使用的所有数据元素定义的集合。其最重要的作用是作为________的工具。

(7)数据字典主要包括___________、_________、___________、_________、________。

2.面向对象分析

(1)面向对象分析(OOA)的基本原则:

·__________:抽取共同的、本质性的特征,包括过程抽象和数据抽象。

·__________:把对象的属性和服务结合,尽可能隐蔽对象的内部细节。

·__________:一般类(父)与特殊类(子)的关系。

·__________:把具有相同属性和服务的对象划分为一类。

·__________:又称组装,把事物看成若干比较简单的事物的组装体。

·________:通过一个事物联想到另外的事物。

·________:这一原则要求对象之间只能通过消息进行通信。

·________:考虑全局时,注意其大的组成部分,暂不考虑具体的细节,考虑某部分的细节时则暂时撇开其余的部分。

·________:在由大量的事物所构成的问题中,各种行为往往相互依赖、相互交织。

(2)面向对象分析(OOA)的基本步骤:____________、________、________、________、________。

知识点4 需求规格说明书

基本概念

(1)软件需求规格说明书(SRS)是在________阶段需要完成的文档,是软件需求分析的最终结果,是确保每个要求得以满足所使用的方法。编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。

(2)软件需求规格说明书(SRS)的内容包括___________、___________、__________、__________、____________、______________、__________、__________。

知识点5 需求变更

(1)所有需求变更必须________________;应该由__________________决定实现哪些变更。

(2)变更控制委员会(CCB)是__________机构,不是__________机构,通常CCB的工作是通过评审手段来决定项目__________,但不提出变更方案。

知识点6 需求跟踪

1.需求跟踪的目的

确保所有的____________________。

2.需求跟踪的两种方式

·______________:检查SRS中的每个需求是否都能在后继工作成果中找到对应点。

·______________:检查设计文档、代码、测试用例等工作成果是否都能在SRS中找到出处。

第2节 软件设计

知识点1 结构化设计

1.基本概念

(1)结构化设计(SD)是一种__________的方法,其目的在于确定软件结构。

(2)结构化设计的特点:________、________、________、__________。

(3)结构化设计的两个阶段:________和________。

2.设计原则

在模块的分解中应尽量减少模块的耦合,力求增加模块的内聚,遵循“__________”的设计原则。

知识点2 面向对象设计

1.基本概念

(1)面向对象设计(OOD)的基本思想包括________、________和________。

(2)可扩展性主要通过__________和__________来实现。

(3)面向对象设计的目的:提高软件的________和________。

2.常用的OOD原则

(1)______________:一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。

(2)______________:对扩展开放,对修改封闭。当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

(3)____________:子类可以替换父类,即子类可以扩展父类的功能,但不能改变父类原有的功能。

(4)____________:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程。

(5)____________:使用多个专门的接口比使用单一的总接口要好。

(6)____________:要尽量使用组合,而不是继承关系达到重用目的。

(7)__________________________:一个对象应当对其他对象有尽可能少的了解。其目的是降低类之间的耦合度,提高模块的相对独立性。

知识点3 统一建模语言(UML)

1.UML的结构

(1)UML的结构包括3个部分:______________、____________、________。

(2)UML有3种基本的构造块:______________、____________、____________。

2.UML中的关系

UML用关系把事物结合在一起,主要有4种关系:

(1)______________:是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。

(2)______________:是指一种对象和另一种对象有联系。

(3)______________:是一般元素和特殊元素之间的分类关系,描述特殊元素的对象可替换描述一般元素的对象。

(4)______________:将不同的模型元素(例如,类)连接起来,其中的一个类指定了由另一个类保证执行的契约。

3.UML 2.0中的图

UML 2.0有14种图,一种图描述系统的组成结构,类似于概念的阐释,叫作______________;另一种图描述系统内部的行为、关系和交互,叫作______________。

(1)______________有6种:

·______________:描述一组类、接口、协作和它们之间的关系。

·__________:描述一组对象及它们之间的关系。

·__________:描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。

·__________:描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。

·__________:描述类中的内部构造,包括结构化类与系统其余部分的交互点。

·__________:描述对运行时的处理节点及在其中生存的构件的配置。

(2)__________有8种:

·__________:是用户与系统交互的最简表示形式。

·__________:描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。

·__________:强调对象间的控制流程。

·__________:用来描述对象或实体随时间变化的状态或值,及其相应的时间或期限约束。它强调消息跨越不同对象或参与者的实际时间,而不只是关心消息的相对顺序。

·__________:强调消息的时间次序的交互图。

·__________:强调收发消息的对象或参与者的结构组织。

·__________:是活动图和顺序图的混合物。

·__________:描述计算机中一个系统的物理结构。

4.UML视图

(1)________:也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。

(2)________:是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。

(3)________:对组成基于系统的物理代码的文件和构件进行建模。

(4)________:把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。

(5)________:是最基本的需求分析模型,从外部角色的视角来展示系统功能。

第3节 软件实现

知识点1 软件配置管理

软件配置管理活动

·________________:明确软件配置控制任务。

·____________:识别要控制的配置项,并为这些配置项及其版本建立基线。

·____________:关注的是管理软件生命周期中的变更。

·________________:标识、收集、维护并报告配置管理的配置状态信息。

·____________:独立评价软件产品和过程是否遵从已有的规则、标准、指南、计划。

·__________________:通常需要创建特定的交付版本,完成此任务的关键是软件库。

知识点2 软件测试

1.测试方法

(1)________:指被测试程序不在机器上运行,只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。

(2)对文档的________主要以________________的形式进行,而对代码的________一般采用________、________和________的方式。

(3)________:指在计算机上实际运行程序进行软件测试,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性能等。一般包括:________和________。

(4)________也称为结构测试,主要用于软件单元测试中。测试人员________程序的结构和处理算法,按照程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按设计规格说明书的设定进行。

(5)_________也称为功能测试,它是通过测试来检测每个功能能否正常使用,__________程序的内部结构和处理算法。

2.测试类型

(1)________:涉及模块接口、局部数据结构、边界条件、独立的路径、错误处理。

(2)________:检测程序结构组装的正确性,发现和接口有关的问题。

(3)________:用于验证软件的功能、性能和其他特性是否与用户需求一致。

(4)________:在真实系统工作环境下,检测完整的软件配置项能否和系统正确连接。

(5)__________:检验软件配置项与SRS的一致性。

(6)________:测试软件变更之后变更部分的正确性和对变更需求的符合性。

第4节 部署交付

部署方式

(1)________:指在部署的时候准备新旧两个部署版本,通过域名解析切换的方式将用户使用环境切换到新版本中,当出现问题的时候,可以快速地将用户环境切回旧版本,并对新版本进行修复和调整。

(2)__________:指当有新版本发布的时候,先让少量的用户使用新版本,并且观察新版本是否存在问题,如果出现问题,就及时处理并重新发布,如果一切正常,就稳步地将新版本适配给所有的用户。

第5节 软件质量管理

1.质量保证的焦点

软件质量保证的关注点集中在一开始就______________。

2.质量保证的主要目标

·____________,例如,着重于缺陷预防而不是缺陷检查。

·尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段。

·作用于________________而不是________,因此它有可能会带来广泛的影响与巨大的收益。

·____________活动之中。

第6节 软件过程能力成熟度

CSMM的5个等级

1级,__________:软件过程和结果具有不确定性。

2级,__________:项目基本可按计划实现预期的结果。

3级,__________:在组织范围内能够稳定地实现预期的项目目标。

4级,__________:在组织范围内能够量化地管理和实现预期的组织和项目目标。

5级,__________:通过技术和管理的创新,实现组织业务目标的持续提升,引领行业发展。 gMn5KD+16L5pmBoal6QE03EF9KySdjkNjT5k97JMSk6HGYB8vuwOaYClg/0RtAHV

点击中间区域
呼出菜单
上一章
目录
下一章
×