文章目录
1.风险管理
风险识别:建立风险条目检查表,系统化确定对项目的威胁;
风险预测:从风险发成的概率、风险产生的后果,评估风险;
风险评估:定义风险参考水平值,预测影响参考水平值的风险组合;
风险控制:辅助项目建立处理风险的策略,有效策略包括:风险避免、风险监控、风险管理及意外事件计划
2.多态
包含多态:父类的指针指向子类的对象;例如接口需要参数List,可以传入ArrayList或者LinkedList都可以;
参数多态:方法的重载;同一方法名,可以有不同参数(类型或数量)的实现;
过载多态:方法的重写;子类可以重写父类的方法;
强制多态:类型强转;int和Integer转换的自动拆装箱;int+double运算;
3.RUP (Rational Unified Process,统一软件开发过程)
初启阶段:构想文档、有关用例模型的调查、初始业务用例、早期风险评估、显示阶段和迭代的项目计划;
精化阶段:补充需求分析、软件架构描述、可执行的框架原型;
构建阶段:准备交付用户的产品、在适当平台集成的软件产品、用户手册、当前版本描述。
移交阶段:移交给用户发布的版本;
4.可移植性
适应性;易安装性;共存性;易替换性;
5.内聚、耦合
内聚:模块内部各元素之间联系的紧密程度;
耦合:模块间互相联系的紧密程度;
5.1.内聚类型
自上而下,内聚等级降低:
内聚类型 | 描述(同一模块内) |
---|---|
功能内聚 | 完成单一功能,协同合作,缺一不可 |
顺序内聚 | 必须顺序执行 |
通讯内聚 | 访问同一数据结构 |
过程内聚 | 按特定的次序 |
瞬时内聚 | 统一时间间隔内执行(如初始化模块) |
逻辑内聚 | 逻辑相关 |
偶然内聚 | 没有关系或松散关系 |
5.2.耦合类型
自上而下,耦合程度增加
耦合类型 | 描述 (模块之间) |
---|---|
非直接耦合 | 没有直接联系,互相不依赖 |
数据耦合 | 通过参数表传递参数,交换信息 |
标记耦合 | 通过一个数据结构的一部分通信 |
控制耦合 | 传递信息中包含控制模块内部逻辑的信息 |
外部耦合 | 与软件以外环境有关 |
公共耦合 | 多个模块引用同一个全局数据区 |
内容耦合 | 一个模块访问另一模块内部数据;两模块有一部分代码重叠;一个模块有多个入口; |
6.开发模型
开发模型 | 描述 |
---|---|
瀑布模型 | 严格遵守软件生命周期进行软件开发。优点:强迫开发采用规范方法,规定个阶段要提交的文档,每个阶段结束有严格的评审。确定过于理性化,无法在需求不明确时开发。 |
喷泉模型 | 面向对象的开发过程。允许开发活动交叉迭代。无间隙。 |
V模型 | 测试模型 |
快速原型模式 | 抛弃式原型方法。适合需求不明确的项目,有效捕捉需求。快速建立原型给用户使用,根据用户反馈进行修改,原型用于了解需求,需求确定,原型被 抛弃。 |
演化模型 | 渐进式原型方法。初始化模型逐步演化成最终软件的渐进过程。 |
螺旋模式 | 综合瀑布模型和演化模型,增加风险控制,每一圈都对风险进行识别和分析,并采取有效措施。 |
UP统一开发过程
用例驱动,以框架为中心得和受控得迭代式增量开发。
初始阶段 | 确定系统边界,范围、识别用例、需求分析、风险分析 |
构建阶段 | 框架、项目开发计划 |
精细阶段 | 剩余构件、组装、测试 |
提交阶段 | β测试、发布版本 |
CMM软件过程成熟度
初始级 | 无秩序、依赖个人 |
可重复级 | 基本的项目管理过程、对成本,进度,功能特性跟踪。 |
定义级 | 文档化、标准化 |
管理级 | 详细的质量标准、定量的认识和控制 |
优化级 | 持续的过程改进 |
软件维护类型
维护类型 | 描述 |
---|---|
改正性维护 | 纠正错误,改正缺陷 |
适应性维护 | 为适应外部环境,数据环境的变化 |
完善性维护 | 针对新需求,修改在开发软件,增强功能,提高效率 |
预防性维护 | 预先提高可维护性、可靠性 |
极限编程
敏捷开发方法
四大价值观:沟通、简单、反馈、勇气;
五大原则:
十二个最佳实践:
风险
风险识别 | 建立风险条目检查表、识别风险 |
风险预测 | 风险发生的概率及影响 |
风险评估 | 建立风险参照标准 |
风险控制 | 控制、避免 |