软件工程
作为系统架构设计的理论支柱,是软考高级资格考试的重要考核内容之一。它涵盖了软件生命周期全过程的理论、方法与模型,是掌握现代软件开发与管理方法的基础。
本节常以单选题、多选题与案例分析题出现,题量大、覆盖面广、理论性强,要求考生系统掌握各类软件过程模型的特点、适用场景、对比差异等关键内容。
软件危机
是指软件开发过程中出现的一系列普遍性、系统性问题,主要表现为:
开发进度难以预测
成本难以控制
功能难以满足用户期望
质量无法保证
后期难以维护
文档资料不完整
这些问题反映出传统开发方式在面临软件规模扩大与复杂度上升时的局限性,催生了软件工程理论的诞生。
阶段串行
、文档驱动
、严格规范
。需求难以一次明确
、变更代价高
、无法快速反馈
。常用于需求稳定、流程规范的大型政府或金融项目。
原型开发阶段
和 目标系统开发阶段
。原型模型分为:
类型 | 特点 |
---|---|
抛弃型原型 |
原型仅用于需求确认,后续使用瀑布模型 |
演化型原型 |
原型逐步完善,最终演变成目标系统 |
适用于需求不确定但需要快速反馈的系统。
瀑布模型
和原型模型
的优点,强调风险管理。可配合面向对象/过程/规格说明等方法使用。
拥抱变化
,强调快速交付、持续反馈、客户参与。主要方法包括:
方法 | 特点 |
---|---|
极限编程(XP) |
强调测试驱动开发 、结对编程 |
水晶方法 |
灵活定制,不同项目不同策略 |
并列争球法(Scrum) |
偏重项目管理,分为冲刺迭代 |
FDD |
按功能特征划分团队角色,如指挥者、类程序员 |
适用于小团队、快速变化的互联网项目。
用例驱动
、以架构为中心
、迭代增量开发
。核心工作流:
业务建模、需求、分析设计、实现、测试、部署、配置与变更管理、项目管理、环境管理。
4+1视图模型:
视图 | 面向对象 | 图示工具 |
---|---|---|
逻辑视图 |
用户 | 类图、对象图、协作图 |
实现视图 |
程序员 | 包图、组件图 |
进程视图 |
集成人员 | 活动图 |
部署视图 |
系统工程师 | 部署图 |
用例视图 |
所有视图基础 | 用例图 |
架构师考试中常出现视图与职责匹配题。
等级 | 名称 | 特点 |
---|---|---|
1级 | 初始级 |
过程混乱,依赖个人能力 |
2级 | 已管理级 |
有基本项目管理制度 |
3级 | 已定义级 |
建立组织级过程标准 |
4级 | 量化管理级 |
对过程性能进行量化管理 |
5级 | 优化级 |
持续改进过程性能 |
重点区分:第3级关注标准化,第4级关注量化预测能力
。
知识点 | 高频考察内容 |
---|---|
瀑布模型 |
顺序性、串行性、缺点 |
原型模型 |
抛弃型 vs 演化型、需求确认作用 |
螺旋模型 |
四阶段内容、风险管理的核心地位 |
敏捷方法 |
各类方法的侧重点:XP→技术、Scrum→管理、FDD→角色 |
RUP |
4+1视图模型匹配、用例驱动和架构中心理念 |
CMMI |
5级特点、特别是3~4级的区分 |
出题形式:
⚠️ 易错陷阱:
用例视图
看成与用户界面
相关; 软件工程
作为架构设计的理论基础,知识点繁多但高度结构化,建议考生:
✅ 梳理各模型的发展演化路径与核心特点;
✅ 理解各模型适用项目类型、优劣取舍;
✅ 高度关注CMMI模型的5级描述与实际意义;
✅ 以“视图+职责”形式记忆RUP中的4+1架构模型。
建议采用“对比+记忆+应用”三步法,将静态知识转化为解决问题的能力,是突破高级系统架构设计师考试的关键路径!