软件工程常见考点 期末复习必备,通俗易懂"/>
软件工程常见考点 期末复习必备,通俗易懂
软件工程常见考点 期末复习必备,通俗易懂
- 目录
- 1.软件的定义:
- 2.磨损和退化:
- 3.为什么要变更:
- 4.软件工程的定义:
- 5.软件的三要素:
- 6.六个过程框架框架活动:
- 7.适应过程模型:
- 8.通用的过程模型:
- 9.过程流:
- 10.任务集:
- 11.过程模型
- 12.什么是敏捷?
- 13.什么是敏捷过程?
- 14.敏捷原则:
- 15.XP极限编程:
- 16:Scrume会议:
- 17.各种图形画法
- 18.桥接:
- 19.域分析:
- 20.数据对象:
- 21.属性:
- 22.实体类:
- 23.边界类:Dao
- 24.控制类:Controler(实际上还包括其他的控制层)
- 25.评审CRC模型
- 26.(建模)分析模型到设计模型的映射:
- 27.设计的基本概念
- 28.模式
- 29.体系结构:
- 30.高内聚低耦合的内涵:
- 31.横切:
- 33.体系结构的类别:
- 34.体系结构模式特性:
- 35.体系结构设计步骤:
- 36.体系结构的复杂性:
- 37.分割体系结构:
- 38.什么是构件?
- 39.设计原则:自己看,常考为开闭原则、依赖倒置原则等
- 40.软件测试:
目录
笔记本: 默认笔记本
团队标签: 分析图画法, 软件工程
1.软件的定义:
数据和数据结构,指令的集合,文档描述
2.磨损和退化:
时间随着时间的推移,料想失败率曲线会随着的推移而减少,但实际上因为需求的变更,曲线反而上升。
3.为什么要变更:
适应新的网络环境,适应新的计算资源,满足商业需求,提高和拓展与新数据库的交互能力
4.软件工程的定义:
将系统化、规范化、可量化的方法应用于软件的开发、运行和维护阶段,将工程化方法应用于软件;对上述方法进行研究
5.软件的三要素:
方法,工具和过程。关注质量关注点。
6.六个过程框架框架活动:
沟通(和利益相关者沟通项目的需求、项目进度、质量保证点等因素),策划(制定项目计划,描述软件工程的工作,包括技术任务,可能的风险,资源需求,工作产品,工作进度等),建模(需求分析(构建模型分析需求)和设计(根据构建的模型来设计软件)),构建(编码和测试),部署(部署软件到服务器,交付交付软件,用户来评定是否按照项目需求书的要求,并做出评价)
7.适应过程模型:
规定了过程模型的活动,动作和任务的内容,以及他们的依赖关系。其他的普适性活动,包括质量保证的方式,风险防范的方式,进度的跟踪等。
8.通用的过程模型:
明确了通用的架构,即软件过程-过程框架-普适性活动框架活动-任务集-动作
9.过程流:
线性过程流,迭代过程流,演化过程流,并行过程流
10.任务集:
规定了完成特定软件工程任务所需要的一系列动作
11.过程模型
瀑布流:一个通用过程模型的过程
V模型: 需求设计-体系结构设计-构件级设计-代码设计
映射:验收(确认)测试+系统测试-系统测试-集成测试-单元测试
演化模型:基于一个个软件的增量开发的方式;螺旋进行方式,包含风险分析的阶段;协同方式:测试和评审的过程
原型开发:快速、原型
UP统一过程模型:使用螺旋方式-统一某几个框架活动,增量迭代开发
12.什么是敏捷?
有效地响应变更,快速增量交付,客户来团队,有效沟通
13.什么是敏捷过程?
从敏捷的定义来思考这个过程。除此之外还有意识到变更是常有的,要基于场景驱动开发(有目的性地开发)。
14.敏捷原则:
业务和开发一起工作,用人必信,快速、增量交付、面对面交谈、有目的性地开发
15.XP极限编程:
属于敏捷过程的一种 XP策划阶段:用户故事开始,将故事分配到开发增量中,承诺交付日期,当本阶段增量完成后,基于该阶段指定下一个增量计划。
XP建模:KIS原则,CRC卡原则
XP编码:结对编程,重构
XP测试:每天执行所有单元测试,验收测试由用户定义。
16:Scrume会议:
每一个工作增量为一个冲刺,简单说了就开干
17.各种图形画法
用例图:一种基于用户场景的图,描述系统线程的使用。包含参与者(火柴人)、系统边界(边框)、系统功能
(圆),注意前提条件,一般是主要参与者在左边,次要参与者在右边
用例图中包括三种元素,参与者,用例,它们之间的关系。下面说说参与者与用例之间,用例与用例之间都有哪些关系。
1.关联关系
定义:参与者与用例之间通常用关联关系来描述。
表示方法:带箭头的实线,箭头指向用例。
如图所示:
2. 泛化关系
定义:一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。
泛化关系在类间也有。
子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变已继承的行为。
表示方法:带空心箭头的实线,箭头指向被泛化(被继承)的用例,即父用例。
(PS:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。) 如图所示:
机房收费系统中可以这样应用:
当系统中具有一个或多个用例是一般用例的特化时,就使用用例泛化。
3.包含关系
定义:其中一个用例(基础用例)的行为包含了另一个用例(包含用例)的行为。基础用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。
表示方法:虚线箭头+<<include>>字样,箭头指向被包含的用例。 如图所示:
使用情况:
- 如果两个以上用例有重复的功能,则可以将重复的功能分解到另一个用例中。其他用例可以和这个用例建立包含关系。
- 一个用例的功能太多时,可以用包含关系创建多个子用例。
4.扩展关系(extend)
定义:是把新行为插入到已有用例的方法。
个人感觉可以叫做特殊情况处理。比如去食堂用饭卡打饭,绝大部分人是刷卡,拿饭,两个步骤就完成了。但是如果某个学生的饭卡里没钱了,假定不用现金或者借钱或者赊账等等其他的方式来打饭,而是必须用自己的饭卡来打饭。那么他就要先去给饭卡充值。“饭卡充值”就是“刷卡”的一个扩展用例。“饭卡充值”与“刷卡”就是扩展关系。
表示方法:虚线箭头+<<extend>>字样,箭头指向被扩展的用例(即基础用例)。
如图所示:
作用:为处理异常或构建灵活系统框架提供了一种有效的方法。
对比:
包含与扩展的区别。在扩展关系中,基础用例没有扩展也是完整的,而在包含关系中,基础用例依赖于包含用例的执行结果。
总结:
所有的箭头指向都是“被”的一端。 找关系,是一件挺复杂的事儿。从不同的角度看会有不同的结果。找到大前提,再理顺特定环境下的关系,会更加顺手。
关于用例图画法的参考链接:
类图:
状态图:
活动图:
涌道图:
协作图
18.桥接:
分析模型处于系统描述和设计模型的桥接地位
19.域分析:
对软件的特定领域展开分析,分析改领域的需求、现状,提取可复用的需求部件。
20.数据对象:
数据的一组复合信息表示,存放数据和数据的描述,不存引用
21.属性:
描述了包含在分析模型的类操作:做语法解析的处理说明,关注动词。
22.实体类:
从问题提取的对数据描述的类
23.边界类:Dao
24.控制类:Controler(实际上还包括其他的控制层)
25.评审CRC模型
26.(建模)分析模型到设计模型的映射:
分析模型(基于类的、基于场景的、基于状态的、面向流的)->设计模型(从上往下依次是:构件级、接口级、体系结构级、数据/类级设计)
27.设计的基本概念
28.模式
29.体系结构:
软件的整体结构和为这种结构提供概念完整性的方式。包括:结构特性、外部功能特性和相关功能族(从属哪一类,探索可重用体系结构构件)
具体:应用领域,模式和风格,分析类的关系、协作和行为。
30.高内聚低耦合的内涵:
内聚是模块功能内聚,耦合是与模块间的耦合程度
31.横切:
B横切A,不考虑需求A时,需求B的功能不能得到正常的满足。
B*是需求B的设计表示。B*横切需求
A*。32.方面:横切关注点的一个表示。如果B是网站登录,则B*为网站的一个方面。
33.体系结构的类别:
以数据为中心的体系结构,数据流体系结构,层次体系结构,树形
34.体系结构模式特性:
并发性、持久性、分布性
35.体系结构设计步骤:
将待开发的软件放在所处的环境中,设计体系结构的原型,根据原型完善体系结构。
36.体系结构的复杂性:
评估因素:共享依赖(生-生 消-消)、流依赖(生消)、约束依赖(活动控制流的约束)
37.分割体系结构:
水平分块
垂直分块
分解方法:一般映射(一二级分解,分割输入输出),变换映射(除开输出输出外,在分流出分割出来形成一颗子树, 可以从下往上的输入或输出
根和根的一些直接间接子树为老板,带叶子树为打工人)
38.什么是构件?
构件是一组模块化的、可替换、可部署的部件,封装了实现并暴露一组接口。
39.设计原则:自己看,常考为开闭原则、依赖倒置原则等
40.软件测试:
- 单元测试
- 集成测试
- 回归测试:对已经测试过的程序部件进行再测试
- 冒烟测试:每日集成程序各个部件进行测试
- 白盒测试:
关键词:覆盖
包含:基本路径测试等。
基本路径测试
其中V(G)为环复杂性,V(G)=迭代部件+1
图矩阵
控制结构的测试
- 数据流
数据流测试方法[Fra93] 就是根据变量的定义和使用位置来选择程序测试路径。假设程序的每条语句都赋予了独特的语句号,而且每个函数都不改变其参数或全局参量。对于语句号为S的语句
DEF(S) = {X |语句S 包含X的定义}
USE(S) = {X | 语句S 包含X的使用}
变量X的定义-使用链(或称DU链)的形式为
[X,S, S’ ],其中S 和S’为语句号,X 在
DEF(S) 和USE(S’ )中,且在语句S中定义的X 在语句S’中有效。
- 条件测试:循环、嵌套
(6)黑盒测试
更多推荐
软件工程常见考点 期末复习必备,通俗易懂
发布评论