【软考-架构】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

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

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

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

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

相关推荐
孪生质数-2 小时前
SQL server 2022和SSMS的使用案例1
网络·数据库·后端·科技·架构
強云3 小时前
界面架构 - MVVM (Qt)
qt·架构
努力的小Qin4 小时前
银河麒麟V10 aarch64架构安装mysql教程
数据库·mysql·架构
SimonKing5 小时前
因为不知道条件注解@Conditional,错失15K的Offer!
java·后端·架构
Lei活在当下5 小时前
【NowInAndroid架构拆解】(7)UI层解析——MainActivity构建过程
架构
Clank的游戏栈5 小时前
《全栈+双客户端Turnkey方案》架构设计图
架构
強云5 小时前
界面架构 - 主流架构(Qt)
qt·架构
DemonAvenger5 小时前
深入剖析 sync.Once:实现原理、应用场景与实战经验
分布式·架构·go
Goboy6 小时前
从崩溃到升职:腾讯云EdgeOne Pages MCP拯救了我的996危机
后端·程序员·架构