分支学科知识
|
知识点
|
概论
|
软件工程的金三角,以及软件过程与管理的重要性
|
|
项目、项目管理、项目过程、软件过程、涉众的概念
|
|
PMBOK的5大项目管理过程和9大项目管理知识域
|
|
ISO12207软件生命周期过程
|
|
典型的生命周期模型,包括线性顺序模型、增量式模型、演化模型、原型、螺旋模型、基于构件的开发、形式化方法模型、面向方面的软件开发、模型驱动的开发等
|
软件开发过程
|
统一软件过程RUP,包括它的阶段、迭代、规范和过程裁剪
|
|
敏捷过程,包括它的起因、特点、核心理念、宣言、指导原则、适用范围
|
|
极限编程XP,包括它的价值观、流程和关键实践,以及XP和RUP的相同点和不同点
|
|
Scrum,包括它的核心准则、流程、角色
|
|
微软产品开发过程MSF,包括MSF for Agile
Software Development 和MSF for CMMI
Process Improvement
|
|
软件过程的选择和实施
|
|
软件过程的评估和改进,重点介绍CMMI和IDEAL
|
软件项目计划
|
项目规划的WBS、步骤、计划大纲
|
|
进度安排。基于关键路径法规划每个活动的最早开始时间、最迟开始时间、最早结束时间、最迟结束时间,绘制出Gantt图或活动图。掌握战胜进度压力的方法。
|
|
人员分配。掌握人员-时间权衡定律和Brooks定律。为项目计划中每个活动分配合适的人员,制订人员配置管理计划,进行资源负荷和资源平衡分析。
|
|
项目计划变更管理
|
|
项目跟踪与监控,包括跟踪与监控的对象、内容、角色、技术和工具,了解挣值分析法(Earned Value
Analysis)
|
软件估算
|
估算的目的和重要性,影响估算准确度的因素
|
|
估算的工程方法和非工程方法。工程方法包括类似项目比较、基于生产率、经验模型等,非工程方法包括专家方法、基于Parkinson 法则、基于价格等。
|
|
通用的估算步骤
|
|
规模估算,包括LOC和功能点的优缺点比较,PSP的PROBE估算方法,功能点估算方法
|
|
经验模型,重点讲COCOMO经验模型的原理
|
|
Steve Mconnell提出的大致估算,包括最短进度、有效进度、普通进度
|
软件需求管理
|
软件需求的挑战和重要性,什么是软件需求、软件需求的三个层次:原始需求、概要需求和详细需求,软件需求的三个方面:功能需求、非功能需求和约束条件,软件需求文档的大纲
|
|
软件需求应满足的特性:完整性、正确性、可行性、必要性(即有效性)、划分优先级、无二义性、可验证性、可理解性、一致性、可跟踪性
|
|
软件需求工程的目的,其主要活动:需求获取、分析、定义、验证、管理
|
|
软件需求管理的方法,包括建立需求基线、变更管理、需求跟踪、使用需求管理工具
|
软件质量管理
|
现代质量观,软件质量的重要性和概念
|
|
软件质量的三种视角:内部、外部、和使用质量
|
|
软件质量成本,包括预防成本、评估成本、内部故障成本、外部故障成本、测量和测试设备成本
|
|
软件质量控制和管理技术,包括验证与确认(V&V)、质量控制图、鱼骨图、Pareto 分析
|
|
软件评审的方法和流程
|
|
软件测试的方法和流程
|
软件风险管理
|
软件风险的概念、特征和分类
|
|
风险管理的成熟度模型,第一级问题阶段,第二级缓和阶段、第三级防范阶段、第四级预知阶段、第五级机会阶段
|
|
风险管理流程:风险识别、风险的概率和影响度分析、划分优先级、风险管理计划制定、风险应对和控制、风险监控、风险管理改进
|
|
软件十大风险的应对方法
|
软件度量
|
软件度量的目的、概念和分类
|
|
软件度量的模型,包括面向产品度量的FCM模型和面向过程度量的GQM模型
|
|
常用的软件度量方法,包括软件规模度量、软件复杂性度量、项目进度度量、生产率度量、可靠性度量、缺陷度量、性能度量、面向对象度量等
|
|
软件度量的步骤 (按CMMI的Measurement & Analysis PA的步骤)
|
|
软件度量的原则
|
|
软件度量的工具
|
团队建设和人的管理
|
团队激励机制,包括内在和外在的激励理论、软件人员14大激励因素
|
|
团队建设,包括项目团队的特性和作用,团队成员的选择准则,提高团队凝聚力的方法、软件工程职业道德
|
|
团队结构。组织的典型结构,项目组的常见团队模式
|
|
沟通管理。沟通的作用、方法和工具,以及如何化解与处理冲突
|
软件配置管理
|
软件配置管理的重要性和参与角色
|
|
配置项、配置管理、版本、基线的概念
|
|
软件配置管理的任务,包括标识、版本控制、变更控制、配置审计、配置报告
|
|
软件配置管理的工具
|