【软考-架构】10.1、软件工程概述-CMM-软件过程模型-逆向工程

✨资料&文章更新✨

GitHub地址:https://github.com/tyronczt/system_architect

文章目录

软件工程基础知识

软件工程概述

软件开发生命周期:定义、开发、运行、维护。

软件系统文档:用户文档和系统文档。

软件工程过程(PDCA):软件规格说明(Plan)、软件开发(Do)、软件确认(Check)、软件演进(Action)。

软件系统工具:软件开发工具、软件维护工具、软件管理和软件支持工具。

软件设计的四个活动:数据设计、架构(体系结构)设计、人机界面(接口)设计和过程设计。

能力成熟度模型

能力成熟度模型CMM

初始级、可重复级、已定义级、已管理级、优化级。

能力成熟度模型集成CMMI

初始级、已管理级、已定义级、定量管理、优化级。

💯考试真题

第一题

答案:B D

【解析】:

  1. 系统分析阶段结束后,主要输出是对系统需求的明确描述和解决方案的初步规划。选项中,**B. 系统方案建议书 **通常是在需求分析后提出的整体解决方案文档,符合该阶段的成果。
  2. 系统测试阶段完成后 ,需要提供给用户的最终文档包括操作指南等。D. 操作手册是系统测试通过后,为用户提供的使用说明,属于该阶段完成后的工作产品。

第二题

答案:B

软件过程模型

瀑布模型(SDLC)

螺旋模型

风险分析 --> 螺旋模型

四个阶段:制订计划、风险分析、实施工程和客户评估。

V模型

V模型用于需求明确和需求变更不频繁的情形。

单元测试 --> 编码和实现 单编

集成测试 --> 详细设计 集详

系统测试 --> 概要设计 系概

验收测试 --> 需求分析 验需

原型化模型

原型化模型适用于需求不明确的情形

增量模型

喷泉模型、基于构件的开发模型、形式化方法模型

💯考试真题

第一题

答案:A

解析:功能清晰,也即需求较明确,有这样的关键字都是考察瀑布模型,牢记总结的记忆关键字。

第二题

答案:D

解析:螺旋模型的特点是风险分析,应对风险的都正确,螺旋模型适合大型软件开发。

敏捷模型

核心思想:

(1)敏捷方法是适应型而非可预测型拥抱变化,适应变化。

(2)敏捷方法是以人为本,而非以过程为本。发挥人的特性。

(3)迭代增量式的开发过程。以原型开发思想为基础,采用法代增量式开发,发行版本小型化。

主要敏捷方法

  1. 极限编程(XP):一种近螺旋式的开发方法,倡导测试先行。
  2. 水晶系列:以人为中心,每个都含有独特的角色、过程模型、工作产品和实践。
  3. 并列争球法(Scrum):一种迭代的增量化过程,把每段时间(如30天)一次的迭代称为一个"冲刺"(Sprint),并按照需求的优先级别来实现产品。
  4. 特性驱动开发方法:一个迭代的开发模型,3个要素:人、过程和技术,5个核心过程:开发整体对象模型、构造特征列表、计划特征开发、特征设计和特征构建。

统一过程模型RUP

四个阶段

  • 初始阶段
  • 细化阶段
  • 构造阶段
  • 移交阶段

三个特点

  • 用例驱动
  • 以体系结构为中心
  • 迭代与增量

逆向工程

逆向工程:软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。逆向工程的四个级别:

  • 实现级
  • 结构级
  • 功能级
  • 领域级

领域级抽象级别最高,完备性最低,实现级抽象级别最低,完备性最高。

💯考试真题

第一题

答案:A D

第二题

答案:B D

解析:软件系统工具通常可以按软件过程活动将软件工具分为软件开发工具、软件维护工具、软件管理和软件支持工具。

软件开发工具:需求分析工具、设计工具、编码与排错工具。

软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。

软件管理和软件支持工具:项目管理工具、酉配置管理工具、软件评价工具、软件开发工具的评价和选择。

相关推荐
MZWeiei16 小时前
Spark SQL 运行架构详解(专业解释+番茄炒蛋例子解读)
大数据·分布式·sql·架构·spark
#金毛16 小时前
一、HAL库的设计理念详解:从架构到实践
stm32·嵌入式硬件·架构
是麟渊16 小时前
【大模型面试每日一题】Day 17:解释MoE(Mixture of Experts)架构如何实现模型稀疏性,并分析其训练难点
人工智能·自然语言处理·面试·职场和发展·架构
好吃的肘子17 小时前
MongoDB 高可用复制集架构
数据库·mongodb·架构
TsingtaoAI17 小时前
医疗系统开发架构和技术路线建议-湖南某三甲医院
架构·医疗ai系统·医疗信息化·医疗系统架构·医疗ai机构
敲代码的 蜡笔小新17 小时前
【行为型之命令模式】游戏开发实战——Unity可撤销系统与高级输入管理的架构秘钥
unity·设计模式·架构·命令模式
码上飞扬18 小时前
MongoDB数据库深度解析:架构、特性与应用场景
数据库·mongodb·架构
九章云极AladdinEdu19 小时前
GPU SIMT架构的极限压榨:PTX汇编指令级并行优化实践
汇编·人工智能·pytorch·python·深度学习·架构·gpu算力
blues_C20 小时前
【专栏启动】开篇:为什么是 Django + Vue3?测试平台的技术选型与架构蓝图
架构·django·测试平台
胡斌附体21 小时前
微服务调试问题总结
java·微服务·架构·调试·本地·夸微服务联调