【系统架构】第五章-软件工程基础知识(一)

news2024/10/7 20:36:56

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版)

软件工程

一、软件过程模型
1、瀑布模型
在这里插入图片描述
特点:前一个阶段工作的输出结果,是后一个阶段工作的输入
缺点:

  • 软件需求的完整性、正确性等很难确定,甚至是不可能和不现实的;
  • 瀑布模型是一个严格串行化的过程模型,使得用户和软件项目负责人要相当长的时间才能得到一个看得见的软件系统。如果出现与用户期望不一致,或需求变更,将会带来重大的损失;
  • 瀑布模型的基本原则是在每个阶段一次性地完全解决该阶段的工作,不会出现遗漏、错误等情况,而实际上这是不现实或不可能的。

2、原型化模型
又称为快速原型
在这里插入图片描述
原型模型主要阶段:

  • 原型开发阶段:根据用户提出的软件系统的定义,快速开发一个原型,该原型包含目标系统的关键问题和反映目标系统的大致面貌,展示目标系统的全部或部分功能、性能等
  • 目标软件开发阶段

原型模型后续,按照原型的作用不同,分抛弃型原型和演化型原型

3、螺旋模型
是在快速原型的基础上扩展而成,这种模型把整个软件开发流程分成多个阶段,每个阶段都有4个部分组成,适用于大型软件开发

  • 目标设定:需求分析,需求确认,开发计划,生命周期计划
  • 风险分析
  • 开发和有效性验证
  • 评审

二、敏捷模型
1、敏捷方法
特点:适应性和预设性(使用反馈机制对不可预测的过程进行控制)、面向人而非面向过程(提倡面对面交流)
核心思想:适应性非预测型、以人为本,非以过程为本、迭代增量的开发过程
主要的敏捷方法:

  • 极限编程:轻量、严谨,软件项目入手:加强交流、从简单做起、寻求反馈、实事求是
  • 水晶系列方法:提倡“机动性的”方法
  • Scrum:侧重于项目管理,包括了一系列实践和预定义角色过程的骨架(是一种流程、计划、模式、用于有效率的开发软件)
  • 特征驱动开发方法:FDD是一个迭代的开发模型,3个要素(人、过程、技术),5个核心过程(开发整体对象模型、构造特征列表、计划特征开发、特征设计、特征构建)

三、统一过程模型(RUP)
RUP是一种重量级过程,一个二维的软件开发模型,有9个核心工作流:

  • 业务建模:理解待开发系统所在的机构及其商业运作,确保所有参与人员对待开发系统所在的机构有共同的认识,评估待开发系统对所在机构的影响
  • 需求:定义系统功能及用户界面,使客户知道系统的功能,使开发人员理解系统的需求,为项目预算及计划提供基础
  • 分析与设计:把需求分析的结果转换为分析与设计模型
  • 实现:把设计模型转换为实现结果,对开发的代码做单元测试,将不同实现人员开发的模块集成为可执行系统
  • 测试:检查各子系统之间的交互、集成。验证所有需求是否均被正确实现,对发现的软件质量上的缺陷进行归档,对软件质量提出改进建议
  • 部署:打包、分发、安装软件,升级旧系统,培训用户及销售人员,并提供技术支持
  • 配置与变更管理:跟踪并维护系统开发过程中产生的所有制品的完整性和一致性
  • 项目管理:为软件开发项目提供计划、人员分配、执行、监控等方面的指导,为风险管理提供框架
  • 环境:为软件开发机构提供软件开发环境,即提供过程管理和工具的支持

RUP划分软件开发生命周期,每个循环生成产品的一个新版本,每个循环由4个连续的阶段,每个阶段完成确定的任务,4个阶段:

  • 初始阶段:定义最终产品视图和业务模型,并确定系统范围
  • 细化阶段:设计及确定系统的体系结构,制定工作计划及资源要求
  • 构造阶段:构造产品并继续演进需求、体系结构、计划直至产品提交
  • 移交阶段:把产品提交给用户使用

RUP核心概念:

  • 角色:描述某个人或一个小组的行为和职责
  • 活动:是一个有明确目的的独立工作单元
  • 制品:制品是活动生成、创建或修改的一段信息
  • 工作流:工作流描述了一个有意义的连续的活动序列,每个工作流产品一些有价值的产品,并显示了角色之间的关系

RUP的特点:以体系结构为中心、迭代和增量的软件开发过程

  • 用例驱动,需求分析、设计、实现和测试等活动都是用例驱动的
  • 以体系结构为中心:软件的体系结构是一个多维的结构,会采用多个视图来描述软件体系结构,“4+1”视图
    在这里插入图片描述
  • 迭代与增量:把整个项目开发分为多个迭代过程,每次迭代都是在已完成部分的基础上,每次增加一些新功能实现。
    好处:
    1、在软件开发的早期就可以对关键的、影响大的风险进行处理
    2、可以提出一个软件体系结构来指导开发
    3、可以更好地处理不可避免的需求变更
    4、可以较早得到一个可运行的系统,鼓舞团队的士气,增强项目成功的信心
    5、为开发人员提供一个能更有效工作的开发过程

四、软件能力成熟度模型
5个成熟度等级:

  • Level 1 初始级:
    过程随意混乱,能产出产品和服务,但经常超出预算与成本
  • Level 2 已管理级:
    确保策划、文档化、执行、监督和控制项目级的过程,需要为过程建立明确的目标,实现成本、进度和质量目标等
  • Level 3 已定义级
    根据自身特殊情况定义适合的标准流程,将这套管理体系和流程制度化,同时进行项目积累,企业资产的收集
  • Level 4 量化管理级
    建立产品质量、服务质量以及过程性能的定量目标
  • Level 5 优化级
    通过增量式的与创新式的过程与技术改进,不断地改进过程性能

作者其他要推荐的文章,欢迎来学习:
基于Spring Boot 3.1.0 系列文章

  1. Spring Boot 源码阅读初始化环境搭建
  2. Spring Boot 框架整体启动流程详解
  3. Spring Boot 系统初始化器详解
  4. Spring Boot 监听器详解
  5. Spring Boot banner详解
  6. Spring Boot 属性配置解析
  7. Spring Boot 属性加载原理解析
  8. Spring Boot 异常报告器解析
  9. 使用GraalVM 构建 Spring Boot 3.0 原生可执行文件
  10. Spring Boot 3.x微服务升级经历

Prometheus 系列文章

  1. Prometheus 的介绍和安装
  2. 直观感受PromQL及其数据类型
  3. PromQL之选择器和运算符
  4. PromQL之函数
  5. Prometheus 告警机制介绍及命令解读
  6. Prometheus 告警模块配置深度解析
  7. Prometheus 配置身份认证
  8. Prometheus 动态拉取监控服务
  9. Prometheus 监控云Mysql和自建Mysql

Grafana 系列文章,版本:OOS v9.3.1

  1. Grafana 的介绍和安装
  2. Grafana监控大屏配置参数介绍(一)
  3. Grafana监控大屏配置参数介绍(二)
  4. Grafana监控大屏可视化图表
  5. Grafana 查询数据和转换数据
  6. Grafana 告警模块介绍
  7. Grafana 告警接入飞书通知

Spring Boot Admin 系列

  1. Spring Boot Admin 参考指南
  2. SpringBoot Admin服务离线、不显示健康信息的问题
  3. Spring Boot Admin2 @EnableAdminServer的加载
  4. Spring Boot Admin2 AdminServerAutoConfiguration详解
  5. Spring Boot Admin2 实例状态监控详解
  6. Spring Boot Admin2 自定义JVM监控通知
  7. Spring Boot Admin2 自定义异常监控
  8. Spring Boot Admin 监控指标接入Grafana可视化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人力资源外包系统(社会实践管理系统)需求分析文档

该系统主要针对当前在校大学生、中专院校学生寒、暑假社会实践而设计的管理系统; 主要用户群为人力资源外包公司,也可以是各个学校管理学生使用; 主要功能有维护企业信息,招工信息,企业宣传资料;维护学校…

基于JavaSpringBoot+uniapp制作一个记账小程序

你不理财,财不理你,制作一个记账小程序对自己的收入/支出明细进行管理,守护好自己的钱袋子。 一、小程序1.1 项目创建1.2 首页1.3 收支报表页1.4 记账提交页1.5 记账列表页

NCI Core Framework

3.1 概述 NCI 核心包括以下必需的功能:  通过 NCI 传输命令、响应、通知和数据消息的数据包格式。  用于设备主机和 NFC 控制器之间不同操作(第 4 节中指定)的命令、响应和通知的定义。 (本规范后面的一些部分定义了不属于…

一起学SF框架系列4.7-模块context-MessageResource

Spring通过MessageSource接口提供了国际化(“i18n”)功能。搞明白MessageResource相关接口和类,基本就掌握了国际化功能。 MessageSource接口 定义了消息访问接口。 String getMessage(String code,Object[]args&…

全网唯一!Matlab原神配色包MGenshin

前段时间,在原神官网逛了一圈,发现里面角色的原画配色十分的好看,便突发奇想:要是把原神配色用在SCI论文插图上,emmmmm…… 于是,我默默打开了自己的Matlab,用TheColor工具箱的图片主题色提取功…

数据驱动的商业决策:BI在企业中的重要性

第一章:引言 在当今数字化时代,数据被广泛应用于各个行业和领域。对企业而言,数据是一项宝贵的资源,可以为其带来无限的商机和竞争优势。然而,海量的数据本身并不具备实际意义,只有通过有效的数据分析和洞…

亚马逊云科技中国峰会:Amazon DeepRacer-梦想加速度

零:前言 你是否憧憬在赛车赛道上开车,享受疾驰而过的感觉,感受无与伦比的驾驶乐趣? Amazon DeepRacer可以满足你的梦想,虚竹哥带你了解Amazon DeepRacer。 它为用户提供了一个虚拟仿真环境和一个真实赛车模型&#xf…

【JDK环境配置】| 两种JDK环境能在同一台电脑共存吗?(文末送书)

目录 🦁 前言🦁 基础环境🦁 安装JDK1.8Ⅰ. 下载Ⅱ. 安装 🦁 在项目里更改JDK版本---------------------------------------------福利在下面--------------------------------------------------🦁 福利(送…

《基于同态加密和秘密分享的纵向联邦LR协议研究》论文阅读

论文地址:https://xueshu.baidu.com/usercenter/paper/show?paperid1b7e04e0r41x0ax0976q0gy0m5242465 摘要 提出了一种新颖的两方纵向联邦逻辑回归协议,并在半诚实安全模型下证明了该协议的安全性, 包括模型训练流程和模型推理流程的安全性,且无需对非线性函数使…

C++四种基本类型转换

C四种基本类型转换 1.static_cast2.const_cast3.reinterpret_cast4 .dynamic_cast 1.static_cast 用法: static_cast<type_name> (expression) 说明:该运算符把expression转换为typen_name类型&#xff0c;static_cast在编译时使用类型信息执行转换,在转换执行必要的检测…

spring事务源码详解-spring原码(一)

前面说过了aop源码&#xff0c;这里再稍微回顾一下 我们会用注解EnableAspectJautoProxy开启aop 当我们用了proxytargetClass会强制cglib动态代理 源码里有Import 里面会注册AnnotionAwareAspectJAutoProxyCreator 后面会在beanDefinationMap获取到所有定义的Objects循环 …

2020新基建决赛-crypto-onepiece

onepiece 一、概要 1、标题&#xff1a;onepiece 2、关键字&#xff1a;e2&#xff0c;rabin&#xff0c;凯撒 3、比赛&#xff1a;2020新基建决赛 4、工具&#xff1a;python&#xff0c;米斯特工具 二、开始 1、题目分析 题目给了一个pubkey.pem和onepiece.enc&#xff…

C++右值引用 移动语义 完美转发 引用叠加

右值引用 MyString浅拷贝与深拷贝浅赋值与深赋值 左值与右值左值概念左值右值与函数的结合移动构造函数移动赋值函数移动构造和移动赋值的应用 移动语义 有点问题完美转发引用叠加 MyString 浅拷贝与深拷贝 s1先在堆区申请了空间&#xff0c;然后将p指针指向的字符串复制到该…

设计模式之责任链模式笔记

设计模式之责任链模式笔记 说明Chain of Responsibility(责任链)目录责任链模式示例类图请假条类抽象处理者类小组长类部门经理类总经理类测试类 说明 记录下学习设计模式-责任链模式的写法。JDK使用版本为1.8版本。 Chain of Responsibility(责任链) 意图:使多个对象都有机…

Vue搜索组件,显示热门、近期搜索(结合element ui)

&#x1f680; 注重版权&#xff0c;转载请注明原作者和原文链接 &#x1f96d; 作者&#xff1a;全栈小袁 &#x1f34e; 原创个人开源博客项目(目前V3.0版本)&#xff1a;https://github.com/yuanprogrammer/xiaoyuanboke &#x1f349; 开源项目觉得还行的话点点star&#x…

【P4】Windows 下搭建 DVWA 及命令注入漏洞详解

文章目录 一、Windows 下搭建 DVWA1.1、DVWA 靶场搭建1.2、六步快速搭建 DVWA1.2.1、下载并安装 PHPstudy&#xff1a;http://public.xp.cn/upgrades/PhpStudy2018.zip1.2.2、将解压后的 DVWA 原代码放置 phpstudy 安装目录的 WWW文件夹1.2.3、进入 DVWA/config 目录&#xff0…

2022前端趋势报告(下)

前端博主&#xff0c;热衷各种前端向的骚操作&#xff0c;经常想到哪就写到哪&#xff0c;如果有感兴趣的技术和前端效果可以留言&#xff5e;博主看到后会去代替大家踩坑的&#xff5e; 主页: oliver尹的主页 格言: 跌倒了爬起来就好&#xff5e; 一、前言 本文内容来自于《St…

springBoot学习——spring+springMVC 集成mybatis 拦截器

目录 引出入门案例&#xff1a;登陆和注册 & 用户信息分页 之 固定的步骤&#xff1a;&#xff08;1&#xff09;建普通项目配置pom.xml文件&#xff08;2&#xff09;写主启动类 application.yml文件【bug】pom.xml文件导了mybatis的包&#xff0c;但是application.yml文…

Drag Your GAN论文解读,基于点的交互式操作拖动到生成图像[DragGAN]

只需要鼠标的点击就可以自动修图的产品&#xff0c;火爆问世&#xff0c;可以说是超越PS&#xff0c;神一般的存在了&#xff0c;而且没有门槛&#xff0c;对于普通大众来说直接可以上手使用&#xff0c;这个是PS完全不具备的。更关键的是&#xff0c;这款产品跟PS明显区别在于…

如何系统地自学 Python?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言为什么选择Python作…