// 在此纪念仅粉丝可见功能被取消
第一章
SDLC(软件开发生命周期)阶段:
- 可行性分析
- 需求分析与说明
- 设计
- 编码
- 测试
- 维护
5种软件开发方法:
- 瀑布方法:将开发过程分为七阶段,进行线性开发
- 原型方法:原型是系统实例,方法用于需求分析阶段,需求冻结后执行剩余阶段
- 螺旋方法:在软件生命周期内不断迭代,有瀑布方法线性+原型方法迭代的特性
- 双赢螺旋方法:在螺旋方法基础上加入了客户的协商确认
- 增量方法:将需求拆分为多个功能单元,只适用于大项目开发
面向对象概念
第二章
UML(统一建模语言unified modeling language)定义:
是创建描绘软件系统结构的标准语言
UML作用:
指定工件 工件可视化 构造工件 记录工件artifact
13种UML关系图:
- 用例图
- 类图
- 对象图
- 通信图
- 序列图
- 状态机图
- 活动图
- 包图
- 组件图
- 部署图
- 时序图
- 复合结构图
- 交互概览图(interaction overview diagram)
交互图(interaction diagram)不是UML关系图,它是4、5、11、13的集合
关系图对应4种建模技术:
- 需求建模:用例图
- 静态建模:类图、对象图、复合结构图
- 动态建模:活动图、状态机图、通信图、序列图、时序图、交互概览图
- 架构建模:包图、组件图、部署图
第三章
需求管理4个阶段:
- 需求收集
- 需求分析和协商
- 需求详述
- 需求验证
故事板设计法用于需求建模,使用图形的形式描述各种流程
角色和用例的关系:
泛化关系 ——▽
关联关系 ——
第四章
系统边界
用例关系:
extend:
include:
第五章
类图各部分描述及作用
类和对象的四种关系:
-
关联(association) (静态的)
- 聚合(aggregation):
- 组合(composition):
- 聚合(aggregation):
-
依赖 (语义上的、动态的)
-
泛化
-
实现
第六章
类的种类:
- 抽象类
- 参数化类
- 工厂类
- 自我链接类
区分接口和抽象类:
都不能被实例化
接口可以多继承,抽象类不行
接口只包含public方法,抽象类包含方法和属性
抽象类可以实现部分方法,接口不行
抽象类作用于同一个包,接口可作用在多个包
第七章
静态建模和动态建模区别:
静态建模表示软件系统静态或结构成分,包含类、对象图,用于描述成分间的依赖和关系。
动态建模表示软件系统静态成分的行为,包含交互、活动、状态图,用于表达系统在一段时间的行为。
序列图:
按时间排列的消息形式表示对象间的交互
第八章
事件类型:
- 调用事件
- 信号事件
- 时间事件
状态机图元素:
- 扩展区域
- 流结束
- fork and join
第九章
架构建模包含:包图、组件图、部署图
组件类型:
- 部署组件
- 工作产品组件
- 执行组件
组件是独立的软件部分,可实现接口集中接口指定类提供的功能,不需要其他组件的服务
第十章
框架:定义了特定领域的类似程序的通用功能,并且可以扩展和自定义这些功能,增加重用性,减少开发时间
模式:为给定问题提供标准解决方案的一套原则和指导
观察者模式:当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被更新
第十一章
质量过程三个方面:
技术(生成内容)、方法(如何生产)、社会(生产人员)
三种扩展元素:
构造型、约束、标记值
第十二章
调整因子=实际生产率/计划成产率
FP技术:
UFP(未调整功能点)=复杂度系数功能复杂度
TUFP(总未调整功能点)=数据FP总和+事务FP总和
TDI(总影响度)=DI总和, DI∈[0,5]
VAF(调整因子)=TDI0.01 + 0.65
AFP(调整功能点)=TUFP*VAF
信息域 | 简单 | 中等 | 复杂 |
---|---|---|---|
EI | 3 | 4 | 6 |
EO | 4 | 5 | 7 |
EQ | 3 | 4 | 6 |
ILF | 7 | 10 | 15 |
EIF | 5 | 7 | 10 |