信息系统项目管理师(软考高级)是很多技术人迈向管理岗的"敲门砖"。薛大龙老师的课程以其"考点化、条理化、实战化"著称,深受考生喜爱。
要想拿下这个高级资格,吃透十大知识领域(基于PMBOK体系)是关键。虽然软考新教材和PMBOK第七版在理念上有所更新,但核心考点依然集中在经典的五大过程组和十大知识领域上。
下面我按照薛大龙老师的授课逻辑,梳理十大领域的核心考点,并附上一些 Python 代码工具,帮助你更直观地理解那些晦涩的计算题。
一、 整体管理:项目的"大脑"
核心考点:
- 项目章程:项目正式授权的文件,包含项目经理的权责。
- 项目管理计划:所有子计划的集合(范围、进度、成本、质量等)。
- 变更控制:变更必须走流程(提出 -> 分析 -> 批准/拒绝 -> 更新 -> 通知)。
- 配置控制:版本管理(基线)。
薛大龙口诀:章程启动计划,变更控制全程。
二、 范围管理:明确"做什么"和"不做什么"
核心考点:
- 需求收集技术:访谈、问卷、观察、原型法、群体创新技术(头脑风暴、德尔菲法)。
- WBS(工作分解结构) :考试常考 WBS 层级和分解原则(100%原则)。
- 范围确认 vs 范围控制:前者是正式验收(客户签字),后者是防止范围蔓延。
代码辅助:WBS 生成器
python
复制
class WBSTree:
def __init__(self, root_name):
self.root = {'name': root_name, 'children': []}
def add_child(self, parent_path, child_name):
"""
在指定路径下添加子节点
parent_path: 列表,如 ['项目', '阶段一']
"""
current_level = self.root['children']
# 导航到父节点
node = self.root
for name in parent_path:
found = False
for child in node['children']:
if child['name'] == name:
node = child
found = True
break
if not found:
print(f"[!] 未找到父路径: {parent_path}")
return
# 添加子节点
node['children'].append({'name': child_name, 'children': []})
def print_tree(self, node=None, level=0):
if node is None:
node = self.root
print(" " * level + "- " + node['name'])
for child in node['children']:
self.print_tree(child, level + 1)
# 使用示例:构建一个软件开发项目的 WBS
project_wbs = WBSTree("ERP系统开发")
project_wbs.add_child([], "需求分析")
project_wbs.add_child([], "系统设计")
project_wbs.add_child(["系统设计"], "数据库设计")
project_wbs.add_child(["系统设计"], "接口设计")
project_wbs.add_child([], "编码实现")
project_wbs.add_child([], "测试")
project_wbs.print_tree()
三、 进度管理:解决"何时做"
核心考点:
- 关键路径法(CPM) :总时差为 0 的路径,决定项目最短工期。
- 资源平衡 vs 资源平滑:前者改变工期,后者不改变工期。
- 三点估算(PERT) :公式 (O+4M+P)/6(O+4M+P)/6。
代码辅助:关键路径计算器
python
复制
def calculate_critical_path(activities):
"""
计算关键路径(简化版:假设活动列表已按依赖关系排序)
activities: 字典,格式 {'活动名': {'duration': int, 'preds': []}}
"""
# 正推法:计算最早开始(ES)和最早完成(EF)
es = {act: 0 for act in activities}
ef = {act: 0 for act in activities}
# 简单的拓扑顺序(实际项目中需更复杂算法)
for act in activities:
preds = activities[act]['preds']
if preds:
es[act] = max([ef[p] for p in preds])
else:
es[act] = 0
ef[act] = es[act] + activities[act]['duration']
project_duration = max(ef.values())
# 逆推法:计算最晚开始(LS)和最晚完成(LF)
ls = {act: 0 for act in activities}
lf = {act: 0 for act in activities}
# 初始化 LF
for act in activities:
lf[act] = project_duration
# 按逆序处理
acts_list = list(activities.keys())
for act in reversed(acts_list):
# 找到以当前活动为前置的所有后续活动
successors = [a for a in activities if act in activities[a]['preds']]
if successors:
lf[act] = min([ls[s] for s in successors])
ls[act] = lf[act] - activities[act]['duration']
# 计算总时差
slack = {act: ls[act] - es[act] for act in activities}
# 找出关键路径(时差为0)
critical_path = [act for act in activities if slack[act] == 0]
print(f"项目总工期: {project_duration}")
print(f"关键路径: {' -> '.join(critical_path)}")
# 测试
network_diagram = {
'A': {'duration': 3, 'preds': []},
'B': {'duration': 4, 'preds': ['A']},
'C': {'duration': 2, 'preds': ['A']},
'D': {'duration': 5, 'preds': ['B', 'C']},
'E': {'duration': 2, 'preds': ['D']}
}
calculate_critical_path(network_diagram)
四、 成本管理:解决"花多少钱"
核心考点:
-
挣值分析(EVA) :这是计算题的必考点,必须背熟公式。
- CV=EV−ACCV=EV−AC (成本偏差)
- SV=EV−PVSV=EV−PV (进度偏差)
- CPI=EV/ACCPI=EV/AC (成本绩效指数)
- SPI=EV/PVSPI=EV/PV (进度绩效指数)
-
完工估算(EAC) :根据当前 CPI 修正的总成本估算。
代码辅助:挣值分析仪表盘
python
复制
def eva_dashboard(pv, ev, ac):
"""
挣值分析计算器
pv: 计划价值
ev: 挣值
ac: 实际成本
"""
cv = ev - ac
sv = ev - pv
cpi = ev / ac if ac != 0 else 0
spi = ev / pv if pv != 0 else 0
# 完工估算 (EAC) - 典型公式
eac = ac + ((pv - ev) / cpi) if cpi != 0 else 0
print(f"{'指标':<10} | {'数值':<10} | {'状态'}")
print("-" * 35)
print(f"{'CV':<10} | {cv:<10.2f} | {'超支' if cv < 0 else '节约'}")
print(f"{'SV':<10} | {sv:<10.2f} | {'落后' if sv < 0 else '超前'}")
print(f"{'CPI':<10} | {cpi:<10.2f} | {'<1 (糟糕)' if cpi < 1 else '>=1 (良好)'}")
print(f"{'SPI':<10} | {spi:<10.2f} | {'<1 (糟糕)' if迪spi < 1 else '>=1 (良好)'}")
print("-" * 35)
print(f"完工估算 (EAC): {eac:.2f}")
# 模拟案例
# 场景:计划100万,干了80万的活,花了90万
eva_dashboard(pv=100, ev=80, c=90)
五、 质量管理:确保"做得好"
核心考点:
-
质量 vs 等级:质量是"符合要求",等级是"功能多少"。
-
质量保证(QA) vs 质量控制(QC) :
- QA:过程审计,关注预防。
- QC:检查产品,关注探测。
-
七种基本工具:因果图(鱼骨图)、控制图、帕累托图(80/20法则)。
代码辅助:帕累托图数据生成器
python
复制
import matplotlib.pyplot as plt
def generate_pareto_chart(issues):
"""
生成帕累托图数据(模拟)
issues: 字典,格式 {'问题类型': 数量}
"""
sorted_issues = sorted(issues.items(), key=lambda x: x[1], reverse=True)
types = [x[0] for x in sorted_issues]
counts = [x[1] for x in sorted_issues]
# 计算累计百分比
total = sum(counts)
cumulative = []
acc = 0
for count in counts:
acc += count
cumulative.append(acc / total * 100)
# 打印数据(实际项目中可画图)
print(f"{'问题类型':<15} | {'数量':<6} | {'累计占比(%)'}")
print("-" * 40)
for i in range(len(types)):
print(f"{types[i]:<15} | {counts[i]:<6} | {cumulative[i]:.1f}%")
return types, counts, cumulative
# 示例:软件Bug分布
bug_data = {
"界面UI": 45,
"功能逻辑": 30,
"性能问题": 15,
"安全漏洞": 8,
"文档错误": 2
}
generate_pareto_chart(bug_data)
六、 人力资源管理:解决"谁来做"
核心考点:
- 激励理论:马斯洛需求层次、赫兹伯格双因素理论(保健因素 vs 激励因素)。
- 团队建设阶段:形成期 -> 震荡期 -> 规范期 -> 执行期 -> 解散期。
- 权力类型:职位权力、惩罚权力、奖励权力、专家权力、参照权力。
代码辅助:团队冲突解决策略选择器
python
复制
def resolve_conflict(conflict_type, urgency, relationship_importance):
"""
根据冲突类型、紧急程度、关系重要性建议解决策略
"""
if urgency == "High" and relationship_importance == "Low":
return "强制/命令" # 快速决策,牺牲关系
elif relationship_importance == "High" and urgency == "Low":
return "合作/解决问题" # 双赢,投入时间
elif conflict_type == "不重要":
return "撤退/回避"
else:
return "妥协/调解"
print(resolve_conflict("技术分歧", "Medium", "High")) # 输出: 合作/解决问题
七、 沟通管理:解决"信息差"
核心考点:
- 沟通渠道数量计算公式:N(N−1)/2N(N−1)/2。其中 NN 是干系人数量。
- 沟通技术 vs 沟通方法:技术是工具(邮件、会议),方法是方式(交互式、推式、拉式)。
- 绩效报告:状态报告(过去)、进展报告(当前)、预测报告(未来)。
代码辅助:沟通渠道计算器
python
复制
def comm_channels(n):
return n * (n - 1) // 2
# 场景:项目组有 10 个干系人
print(f"10 个干系人之间的沟通渠道数: {comm_channels(10)} 条")
八、 风险管理:未雨绸缪
核心考点:
-
风险识别技术:文档审查、信息收集技术(头脑风暴、德尔菲法)、SWOT分析。
-
定性分析:概率影响矩阵。
-
应对策略:
- 负面风险(威胁):规避、转移、减轻、接受。
- 正面风险(机会):开拓、分享、提高、接受。
代码辅助:风险概率影响矩阵
python
复制
risk_matrix = [
# (概率, 影响) -> 风险等级
(0.9, 0.8, "High"), # 高概率,高影响
(0.1, 0.2, "Low"),
(0.5, 0.7, "High"),
(0.3, 0.4, "Medium")
]
for prob, impact, level in risk_matrix:
print(f"概率: {prob:.0%}, 影响: {impact:.0%} -> 风险等级: {level}")
九、 采购管理:管理外部资源
核心考点:
-
合同类型:
- 固定总价(FFP):卖方风险大。
- 成本加固定费用(CPFF):买方风险大。
- 时间材料(T&M):混合型。
-
采购文件:RFP(建议书邀请书)、RFQ(报价邀请书)。
-
合同收尾:审计和正式验收。
十、 干系人管理:管理期望
核心片段:
-
权力/利益方格:
- 高权力高利益:重点管理。
- 低权力低利益:监督。
-
干系人参与度评估矩阵:不知道 -> 抵制 -> 中立 -> 支持 -> 领导。
总结:薛大龙版备考策略
- 背诵口诀:每个领域都有核心口诀(如"章程启动计划,变更控制全程"),务必背熟。
- 计算题专项训练:下午案例分析的最后一题通常是计算题(进度或成本),必须拿满分。
- 论文准备:准备 8-10 个核心主题(如风险管理、质量管理),每个主题都要有自己实战项目的"故事线"。
信息系统项目管理师不仅考查记忆,更考查系统思维。通过上面的代码工具,你可以把抽象的管理概念转化为可计算的逻辑,理解会更深刻。祝你备考顺利!