软考系统分析师知识点十:软件工程

前言

今年报考了11月份的软考高级:系统分析师。

考试时间为:11月9日。

倒计时:27天。

目标:优先应试,其次学习,再次实践。

复习计划第一阶段:扫平基础知识点,仅抽取有用信息,可有缺失,但得过眼。

第八章:软件工程

内容总结

软件工程

  • 应用科学、数学、管理学解决软件问题。
  • 目标:提高生产率、质量、降低成本。
  • 组成:方法、工具、过程。

软件生命周期:

  1. 概念:软件从需求分析到退役的全过程。
  2. 阶段:可行性研究、需求分析、概要设计、详细设计、实现、测试、运行维护。
  3. 目的:管理软件开发步骤和方法,提高效率和质量。

软件开发方法:

  1. 自顶向下:从整体到细节的开发方法。
  2. 自底向上:从细节到整体的开发方法。
  3. 形式化方法:基于数学基础,适用于高安全级别的软件开发。
  4. 非形式化方法:不强调严格性,体现为各种开发模型。
  5. 整体性方法:适用于软件开发全过程。
  6. 局部性方法:仅适用于开发过程的某个具体阶段。

形式化方法:

  1. 基于严格数学基础的开发方法。
  2. 优点:提高软件可靠性,精确数学语义。
  3. 缺点:需要良好数学基础,难于理解。

净室软件工程(CSE):

  1. 高质量软件开发形式化方法。
  2. 特点:盒结构归约、正确性验证、统计测试。
  3. 缺点:要求高,验证步骤困难。

逆向工程:

  1. 分析程序建立高层次表示的过程。
  2. 相关概念:重构、设计恢复、再工程、正向工程。
  3. 应用:软件维护和改进。

软件开发模型:

  1. 瀑布模型:线性顺序模型,需求→设计→编码→测试→维护。
  2. 演化模型:迭代原型改进,适应需求变化。
  3. 螺旋模型:结合瀑布和演化模型,强调风险分析。
  4. 喷泉模型:面向对象,各阶段重叠反复,无固定次序。
  5. V模型:开发与测试阶段的对应关系,强调测试。

快速应用开发(RAD):

  1. 快速开发方法,强调迭代和用户参与。
  2. 特点:短周期、用户参与、原型构建。

统一过程(UP):

  1. 通用过程框架,用例驱动、架构中心、迭代增量。
  2. 特点:灵活性、迭代、以架构为中心。

敏捷方法:

  1. 强调人的核心作用、迭代开发、客户合作、响应变化。
  2. 原则:个体和交互、可工作的软件、客户合作、响应变化。
  3. 方法:XP、ASD、FDD、TDD、AD、Lean等。

软件开发环境与工具:

  1. 支持软件工程化开发和维护的软件集合。
  2. 分类:按模型、功能、应用范围、开发阶段。
  3. 集成机制:平台集成、数据集成、界面集成、控制集成、过程集成。

软件过程管理:

  1. 软件能力成熟度模型(CMM):5个成熟度等级,从初始到优化。
  2. 关键过程域(KPA):实现各等级目标的实践领域。
  3. 能力成熟度模型集成(CMMI):融合多种模型,提供过程改进的单一集成模型。

软件过程评估:

  1. 基于模型对软件过程的规范评估。
  2. 步骤:成立评估小组、填写问卷、分析问卷、现场访问、撰写报告、绘制剖面图。

不常见概念

软件开发工具:

软件开发工具分类:需求分析工具、设计工具、编码与排错工具。 软件维护工具:版本管理工具、文档分析工具、逆向工程工具。 软件管理和支持工具:项目管理工具、配置管理工具、软件评价工具。

开发工具的选择:

根据功能、易用性、稳健性、硬件要求、性能以及服务和支持等方面来选择。 考虑最终用户需求和开发人员的偏好。 没有绝对标准,需针对具体使用环境和开发方法进行评价。

软件过程评估模型

CMM/CMMI: 能力成熟度模型/能力成熟度模型集成,提供5个成熟度等级,从初始级到优化级。 ISO/IEC 15504(SPICE): 国际标准,定义了软件过程评估的框架和过程能力模型。 其他模型: 如敏捷模型、RUP等,根据不同的软件开发方法论,可能采用特定的评估模型。

写在最后

以上均为粗看教程的总结,目的不是为了百分之百准确,而是为了过手过脑,有所印象。

但是如有发现谬误,感谢各位随时指出。

-- 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。

相关推荐
AI绘画哇哒哒6 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
陈随易12 小时前
Bun v1.4 更新总结:把浏览器、图片、定时任务和工程工具都装进一个运行时
前端·后端·程序员
demo007x14 小时前
DSH harness 中的上下文管理探秘
程序员·agent·deepseek
yuhaiqiang17 小时前
从这两件事就能看出 vibecoding 距离专业作品差距有多大?AI 能抹平技术,但抹不平品味 !
前端·后端·程序员
小贺儿开发18 小时前
Unity 程序员编曲花絮:汪峰《河流》细节修复
科技·学习·unity·程序员·音乐·demo·写代码
阿里嘎多学长18 小时前
2026-08-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
两万五千个小时19 小时前
DeepSeek Harness 从 0 开始:10 Hooks 模块(钩子协议)
人工智能·程序员·架构
桌角的眼镜20 小时前
5\.28文章改写:用 Claude Code 接入 GLM\-5\.1:从安装到终端实战的完整配置指南
后端·程序员·github·开发工具·效率工具
书源1 天前
AI 时代写给前端同行:什么在贬值,什么在涨价
前端·程序员·ai编程
纯爱掌门人2 天前
从 Agent 到 Harness:AI 进入研发流程,真正缺的是什么?
人工智能·程序员·agent