1、软件体系结构
三层体系结构:表示层、业务逻辑层、数据库层
软件工程三要素:方法、工具、过程
2、软件配置管理
基线、软件配置项
自由状态->基线->受控状态
3、CMM软件能力成熟度模型,衡量软件组织所处阶段
- 初始级:无序,随意
- 可重复级:基本的项目管理
- 已定义级:标准化,文档化
- 已管理级:可预测
- 优化级:优化
4、开发模型
- 瀑布模型:适合需求明确、解决方案明确的项目
- V模型:与瀑布模型类似,但最性能、安全要求高的项目
- 原型模型:需求不明确,动态变化的项目,如界面的开发,一次交付
- 增量模型:需求大部分明确,系统较为复杂,有一定技术风险,多次交付
- 螺旋模型:原型和瀑布模型的结合,适合庞大、复杂、具有风险的系统
- 喷泉模型:以用户需求为动力,以对象为驱动的模型,用于采用对象技术的软件开发项目
5、开发方法
统一过程RUP:(初始->细化->构建->交付)以用例为驱动,以架构为中心迭代和增量。工件、活动、角色工作流
敏捷方法四大价值观:沟通、简单、反馈、勇气
XP极限编程
结构化方法:用系统的思想,自顶向下,面向数据流的方法
面向对象:分析、设计、实现三个阶段,界限不明确
Jackson:面向数据结构方法
6、结构化分析
数据流图(DFD)
- 根据加工规格说明和控制规格说明进行过程设计
- 根据数据字典和实体关系图进行数据设计
- 根据数据流图进行接口设计
- 根据数据流图进行体系结构设计
数据字典:加工处理逻辑描述
- 结构化语言
- 判定表
- 判定树
7、数据流图设计注意事项
- 保持父图与子图平衡,父图有,子图也有
- 保持数据守恒,输入->输出
- 表现的是数据流而不是控制流
- 每个加工必须既有输入数据流,又有输出数据流
8、系统设计
概要设计:总体布局设计、模块化结构设计
详细设计:代码设计、数据库设计、输入输出设计、用户界面设计、处理过程设计
系统可维护性的评价指标:可理解性、可测试性、可修改性
9、UML
UML是一种建模语言,不是一种方法。一种可视化语言、一种构造语言、一种文档语言
UML的三个要素:事务、关系、图
用例图:从用户角度描述系统功能,并指出各功能的操作者。对系统的需求建模
类图:描述系统中类的静态结构,展现了一组对象、接口、协作之间的关系。对系统的词汇建模,或者对简单的协作建模,或者对逻辑数据库模式建模,
10、用例图
用例之间三种关系:包含关系、扩展关系、泛化关系
如果强调时间和顺序,则使用顺序图。如果强调上下级关系,则选择合作图。
用例图,对系统的语境建模、对系统的需求建模
11、软件质量
软件实现特性的总和,满足明确或隐含需求的能力
软件质量特征:内部质量、外部质量、使用质量
子特征:功能性、可靠性、易用性、效率、维护性、可移植性(功可易、效维移)
- 功能性:适合性、准确性、互操作性、保密安全性、功能依从性
- 可靠性:成熟型、容错性、易恢复性、可靠依从性
- 易用性:易理解性、易学性、易操作性、吸引性、易用依从性
- 效率:时间特性、资源利用、效率依从性
- 维护性:易分析性、易改变性、稳定性、易测试性、维护依从性
- 可移植性:适应性、易安装性、共存性、易替换性、可移植依从性
使用质量是从用户角度看待的质量:有效性、生产率、安全性、满意度
12、软件评价
通用评价过程:确立评价需求、规定评价、设计评价、执行评价
软件评价过程特征:可重复性、可再现性、公正性、客观性
13、项目管理基础知识
风险分析:风险识别、风险预测、风险评估、风险控制
定量分析:数字化、量化
定性分析:直觉、主管性
进度管理:甘特图,无法体现任务间关系