当前位置: 首页 > news >正文

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

✨资料&文章更新✨
GitHub地址:https://github.com/tyronczt/system_architect

文章目录

  • 软件工程基础知识
  • 软件工程概述
  • 能力成熟度模型
    • 能力成熟度模型CMM
    • 能力成熟度模型集成CMMI
  • 💯考试真题
    • 第一题
    • 第二题
  • 软件过程模型
    • 瀑布模型(SDLC)
    • 螺旋模型
    • V模型
    • 原型化模型
    • 增量模型
    • 喷泉模型、基于构件的开发模型、形式化方法模型
  • 💯考试真题
    • 第一题
    • 第二题
  • 敏捷模型
    • 主要敏捷方法
    • 统一过程模型RUP
  • 逆向工程
  • 💯考试真题
    • 第一题
    • 第二题

软件工程基础知识

软件工程概述

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

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

软件工程过程(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

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

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

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

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

http://www.dtcms.com/a/98197.html

相关文章:

  • Pycharm (十)字符串扩展:统计小串在大串中出现的次数
  • C++23:现代C++的模块化革命与零成本抽象新高度
  • 笔记:遇见未来——6G协同创新技术研讨会
  • FPGA调试笔记
  • 从代码学习深度学习 - 含并行连结的网络(GoogLeNet)PyTorch版
  • 淘宝双十一大促监控系统开发:实时追踪爆品数据与流量波动
  • 谷粒微服务高级篇学习笔记整理---异步线程池
  • SQL Server数据库引擎服务启动失败:端口冲突
  • 电源系统的热设计与热管理--以反激式充电器为例
  • 1688 店铺清单及全商品数据、关键词检索 API 介绍
  • 【蓝桥杯】每日练习 Day15
  • 【自用记录】本地关联GitHub以及遇到的问题
  • 从代码学习深度学习 - 使用块的网络(VGG)PyTorch版
  • 谈谈你对多态的理解
  • coding ability 展开第七幕(前缀和算法——进阶巩固)超详细!!!!
  • 算法基础——二叉树
  • Java 程序员面试题:从基础到高阶的深度解析
  • Elasticsearch 完全指南
  • 【HarmonyOS 5】初学者如何高效的学习鸿蒙?
  • Bitnode和Bitree有什么区别 为什么Bitree前多了*
  • 缴纳过路费--并查集+优先队列
  • Qt进阶开发:Graphics View图形视图框架
  • QT 跨平台发布指南
  • 枚举算法-day2
  • python 列表-元组-集合-字典
  • 软件工程之软件开发模型(瀑布、迭代、敏捷、DevOps)
  • 综述速读|086.04.24.Retrieval-Augmented Generation for AI-Generated Content A Survey
  • 深度学习处理时间序列(6)
  • 自学-python-基础-注释、数据类型、运算符、判断、循环
  • 树莓派超全系列文档--(13)如何使用raspi-config工具其二