6.8

第一部分 完整知识点补充
一、概论

  1. 软件工程三要素
    过程、方法、工具
    过程:规定软件开发的步骤、阶段与活动顺序,是骨架;
    方法:提供软件开发的技术手段、建模、设计、编码等技术;
    工具:为过程和方法提供自动化 / 半自动化支撑,提升效率。
  2. 软件过程定义
    软件过程是软件开发、运行、维护和退役直至淘汰所经历的一系列步骤、活动、任务、角色与规范的集合,也叫软件生命周期过程,用来规范团队如何开发软件。
  3. 常见软件过程分类 & 典型模型
    (1)分类维度
    按开发模式分为:传统线性过程、迭代过程、敏捷过程三大类。
    (2)主流软件过程模型
    瀑布模型:线性顺序模型,阶段依次执行,文档驱动,适合需求稳定的小型项目。
    增量模型:分批次增量交付,逐步完善功能,降低风险。
    螺旋模型:结合原型 + 瀑布,引入风险分析,适合大型、复杂、高风险项目。
    原型模型:快速搭建原型确认需求,再正式开发,适合需求模糊的项目。
    V 模型:测试与开发阶段一一对应,强调测试前置,侧重质量与测试。
    二、软件质量管理
  4. 软件质量定义
    软件质量是软件满足规定需求和潜在用户需求的能力,包含功能性、可靠性、易用性等综合特性,兼顾显性需求与隐性需求。
  5. ISO/IEC 25010:2023 软件质量模型(9 个一级质量特性 + 二级特性)
    该模型分为产品质量模型和使用质量模型,共 9 个一级特性:
    功能性:软件实现指定功能的能力
    二级:功能完整性、功能正确性、功能适用性
    性能效率:资源消耗与响应速度
    二级:时间性能、资源利用率、容量
    兼容性:与其他产品 / 环境协同工作能力
    二级:共存性、互操作性
    易用性:用户使用的难易程度
    二级:可辨识性、易学性、可操作性、用户差错防御、用户辅助、可访问性
    可靠性:在规定条件下稳定运行的能力
    二级:成熟性、可用性、容错性、可恢复性
    安全性:防止非授权访问、数据泄露、破坏的能力
    二级:保密性、完整性、不可否认性、可追溯性
    可维护性:修改、修复、升级软件的难易度
    二级:模块化、可复用性、可分析性、可修改性、可测试性
    可移植性:软件迁移到不同环境的能力
    二级:适应性、可安装性、可替换性
    使用质量:用户使用产品后达成目标的整体效果
    二级:有效性、效率、满意度、免于风险、场景覆盖率
  6. 朱兰质量管理三部曲
    朱兰提出质量管理三大核心环节,贯穿全流程:
    质量策划:确定质量目标、标准、流程与资源;
    质量控制:按照标准执行,监控过程、纠正偏差;
    质量改进:持续优化质量,突破现有水平。
    三、软件项目管理
  7. 基础概念
    (1)项目
    为创造独特产品、服务或成果而进行的临时性工作,具有临时性、独特性、渐进明细三大特征。
    (2)项目管理
    运用知识、技能、工具和技术,在 ** 约束(范围、时间、成本、质量)** 下完成项目目标。
    (3)六大原则
    客户导向、价值驱动、过程规范、风险预防、团队协作、持续改进。
    (4)五个焦点领域
    范围管理、进度管理、成本管理、质量管理、风险管理。
    (5)七个绩效域
    干系人、团队、开发方法与生命周期、规划、项目工作、交付、测量。
  8. 可行性分析 —— 净现值(NPV)
    定义:将项目未来各期净现金流量按照折现率折算为现值,求和后得到的累计值。
    优点:
    考虑了资金时间价值,比静态计算更科学;
    综合项目全生命周期收支,评估结果全面;
    结果直观:NPV>0 项目可行,NPV 越大收益越高。
  9. WBS(工作分解结构)
    定义:把项目整体范围逐层分解为更小、可管理、可分配的工作包,是进度、成本、任务分配的基础。
    原则:逐层分解、粒度适中、责任到人、不重不漏。
  10. 软件工作量估计方法
    (1)常见方法(名称 + 理解)
    专家估算法:依靠行业专家经验估算,简单快捷,主观性强。
    类比估算法:参考历史同类项目数据估算,适合有历史案例的项目。
    参数估算法:建立工作量与规模的数学模型(如公式),定量估算。
    三点估算法:取乐观、最可能、悲观三个时间 / 工作量值计算均值,降低偏差。
    功能点分析法(FPA):基于软件功能规模估算,与编程语言无关。
    (2)IFPUG 功能点方法 五大类功能
    针对信息系统,分为 5 类基础功能:
    外部输入(EI)
    外部输出(EO)
    外部查询(EQ)
    内部逻辑文件(ILF)
    外部接口文件(EIF)
  11. 进度安排技术
    (1)甘特图
    以条形图展示任务起止时间、工期,直观易懂,缺点:难以体现任务间逻辑关系与关键路径。
    (2)关键路径法(CPM)
    核心:识别项目中总工期最长的活动路径(关键路径),关键路径上的活动为关键活动,延误则整体工期延误。
    计算:最早开始 ES、最早完成 EF、最晚开始 LS、最晚完成 LF、总时差 TF;总时差 = 0 的活动组成关键路径。
    (3)关键链法(CCM)
    在关键路径基础上,考虑资源约束,设置缓冲时间(项目缓冲、接驳缓冲),消除资源冲突,应对进度延误。
    计算步骤:
    用关键路径法算出基础进度;
    识别资源冲突,调整活动顺序;
    在关键链末端加项目缓冲,非关键链接入处加接驳缓冲;
    监控缓冲消耗,管控进度。
    (4)PERT 技术(计划评审技术)
    基于三点估算的概率进度技术,适用于活动工期不确定的项目。
    计算公式:
    期望工期
    T
    e

    =
    6
    T
    o

    +4T
    m

    +T
    p

T
o

:乐观工期,
T
m

:最可能工期,
T
p

:悲观工期
6. 资源管理
资源定义:项目所需人力、硬件、软件、场地、设备等生产要素。
资源分配直方图:以柱状图展示不同时间段各类资源的使用数量,用于排查资源过载、闲置,优化分配。
7. 风险管理
(1)风险定义
项目中不确定的事件,一旦发生会对目标(进度、成本、质量)产生正面 / 负面影响。
(2)风险管理框架
风险识别 → 风险定性分析 → 风险定量分析 → 风险规划 → 风险监控与控制。
(3)风险处理方法
规避、转移、减轻、接受。
8. 挣值分析(进度 & 成本综合监控,必考计算)
三大基本参数:
PV(计划价值):按计划当前节点应完成工作的预算成本
EV(挣值):当前节点实际已完成工作的预算成本
AC(实际成本):当前节点已完成工作实际花费的成本
核心指标 & 公式:
成本偏差
CV=EV−PV
进度偏差
SV=EV−AC
成本绩效指数
CPI=EV/AC
进度绩效指数
SPI=EV/PV
判断规则:

:成本节约;反之成本超支

:进度提前;反之进度落后
9. 配置管理
(1)配置管理任务
配置项标识、版本控制、变更控制、配置审计、状态报告、发布管理。
(2)配置项
软件生命周期中产生的所有可独立管理的产物:文档、代码、测试用例、安装包、需求规格、设计图纸等。
四、经典软件过程管理

  1. CMM / CMMI
    (1)CMM(软件能力成熟度模型)
    出发点:评估、提升软件组织的过程能力成熟度,规范软件开发过程。
    体系结构:分为5 个成熟度等级(初始级、可重复级、已定义级、已管理级、优化级),逐级提升。
    关键过程域(KPA):每个等级对应的必达目标与过程领域。
    关键实践活动:支撑关键过程域落地的具体操作、制度、流程。
    (2)CMMI 与 CMM 的联系 & 区别
    联系:CMMI 由 CMM 发展而来,核心思想一致,均用于过程成熟度改进。
    区别:
    CMM 仅针对软件;CMMI 集成软件、系统、硬件等多领域;
    CMM 只有 5 级分级;CMMI 支持两种表示方法。
    (3)CMMI 两种表示方法
    阶段式表示:沿用 CMM 五级成熟度模式,逐级升级;
    连续式表示:按过程域单独改进,组织可按需选择优化方向。
  2. PSP(个人软件过程)
    结构:以个人过程改进为核心,规范程序员个人开发行为。
    两种日志:时间日志、缺陷日志(记录耗时、缺陷类型与数量)。
    评审比测试有效的原因:评审在早期发现缺陷,缺陷修复成本低;测试多在后期,缺陷扩散、修复成本高。
    四个设计模板:高层设计、概要设计、详细设计、接口设计模板。
  3. MSF(微软解决方案框架)
    六个角色:产品管理、程序管理、开发、测试、用户体验、发布管理。
    五个过程阶段:构想阶段、计划阶段、开发阶段、稳定阶段、部署阶段。
  4. RUP(统一软件过程)
    四个阶段:初始阶段、细化阶段、构建阶段、交付阶段。
    九个软件过程:业务建模、需求、分析设计、实现、测试、部署、配置变更管理、项目管理、环境。
    六大经验(最佳实践):迭代开发、需求管理、基于构件架构、可视化建模、持续质量验证、控制变更。
    五、敏捷软件开发
  5. 敏捷宣言(四大核心)
    个体和互动 高于 流程和工具
    可工作的软件 高于 详尽的文档
    客户合作 高于 合同谈判
    响应变化 高于 遵循计划
  6. 常见敏捷过程
    (1)Scrum
    核心角色:产品负责人、Scrum 主管、开发团队;
    核心活动:产品待办列表、迭代待办列表、冲刺(Sprint)、每日站会、迭代评审、迭代回顾。
    (2)极限编程 XP
    核心:极限实践,包含结对编程、持续集成、测试驱动开发(TDD)、小型发布、现场客户等。
posted @ 2026-06-08 21:25  为啥不懂就问  阅读(23)  评论(0)    收藏  举报