系统架构设计师(第二版)学习笔记----软件工程

【原文链接】系统架构设计师(第二版)学习笔记----软件工程

文章目录

  • 一、软件工程
    • 1.1 软件危机的表现
    • 1.2 软件工程的内容
  • 二、软件过程模型
    • 2.1 软件的声明周期
    • 2.2 瀑布模型
    • 2.3 瀑布模型的缺点
    • 2.4 原型模型
    • 2.5 原型模型开发阶段
    • 2.6 开发原型的途径
    • 2.7 螺旋模型
    • 2.8 螺旋模型每个阶段的组成
  • 三、敏捷模型
    • 3.1 敏捷型方法的特点
    • 3.2 敏捷方法的核心思想
    • 3.3 常见的敏捷方法实践
    • 3.4 极限编程的基础和价值
    • 3.5 FDD认为软件开发需要的3要素
    • 3.6 FDD定义了6中项目角色
    • 3.7 FDD的5个核心过程
  • 四、统一过程模型(RUP:Rational Unified Process)
    • 4.1 RUP的生命周期
    • 4.2 RUP中每个循环中的过程
    • 4.3 RUP中的核心概念
    • 4.4 RUP的特点
    • 4.5 RUP的视图模型
    • 4.6 软件开发采用迭代和增量的好处
  • 五、软件能力成熟度模型
    • 5.1 CMMI的5个成熟度等级

一、软件工程

1.1 软件危机的表现

  • 软件开发进度难以预测
  • 软件开发成本难以控制
  • 软件功能难以满足用户期望
  • 软件质量无法保证
  • 软件难以维护
  • 软件缺少适当的文档资料

1.2 软件工程的内容

  • P(Plan):软件规格说明,规定软件功能及其运行时的限制
  • D(Do):软件开发,开发出满足规格说明的软件
  • C(Check):软件确认,确认开发的软件能够满足用户的需求
  • A(Action):软件演进,软件在运行过程中不断改进以满足客户新的需求

二、软件过程模型

2.1 软件的声明周期

  • 需求分析
  • 软件设计
  • 软件开发
  • 运行维护
  • 淘汰

2.2 瀑布模型

  • 需求分析
  • 系统设计
  • 程序设计
  • 编码实现
  • 单元测试
  • 集成测试
  • 系统测试
  • 运行维护

2.3 瀑布模型的缺点

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

2.4 原型模型

2.5 原型模型开发阶段

  • 原型开发阶段
  • 目标软件开发阶段

2.6 开发原型的途径

  • 利用模拟软件系统的人机界面和人际交互方式
  • 真正开发一个原型
  • 找来一个或几个正在运行的类似软件进行比较

2.7 螺旋模型

2.8 螺旋模型每个阶段的组成

  • 目标设定
  • 风险分析
  • 开发和有效验证
  • 评审

三、敏捷模型

3.1 敏捷型方法的特点

  • 敏捷方法是“适应性”而非“预设性”
  • 敏捷方法是“面向人”而非“面向过程”

3.2 敏捷方法的核心思想

  • 敏捷方法是适应型,而非可预测型
  • 敏捷方法是以人文本,而非以过程为本
  • 迭代增量式的开发过程

3.3 常见的敏捷方法实践

  • 极限编程(XP)
  • 水晶系列方法
  • Scrum
  • 特征驱动开发方法(FDD)

3.4 极限编程的基础和价值

  • 加强交流
  • 从简单做起
  • 寻求反馈
  • 勇于实事求是

3.5 FDD认为软件开发需要的3要素

  • 过程
  • 技术

3.6 FDD定义了6中项目角色

  • 项目经理
  • 首席架构师
  • 开发经理
  • 主程序员
  • 程序员
  • 领域专家

3.7 FDD的5个核心过程

  • 开发整体对象模型
  • 构造特征列表
  • 计划特征开发
  • 特征设计
  • 特征构建

四、统一过程模型(RUP:Rational Unified Process)

4.1 RUP的生命周期

  • 业务建模
  • 需求
  • 分析与设计
  • 实现
  • 测试
  • 部署
  • 配置与变更管理
  • 环境

4.2 RUP中每个循环中的过程

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

4.3 RUP中的核心概念

  • 角色(Role):Who的问题
  • 活动(Activity):How的问题
  • 制品(Artifacts):What的问题
  • 工作流(Workflow):When的问题

4.4 RUP的特点

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

4.5 RUP的视图模型

  • 用例视图
  • 逻辑视图
  • 实现视图
  • 进程视图
  • 部署视图

4.6 软件开发采用迭代和增量的好处

  • 在软件开发的早起就可以对关键的、影响大的风险进行处理
  • 可以提出一个软件体系结构来指导开发
  • 可以更好的处理不可避免的需求变更
  • 可以较早得到一个可运行的系统,鼓舞开发团队的士气,增强项目成功信心
  • 为开发人员提供一个能更有效工作的开发过程

五、软件能力成熟度模型

5.1 CMMI的5个成熟度等级

  • Level 1 初始级
  • Level 2 已管理级
  • Level 3 已定义级
  • Level 4 量化管理级
  • Level 5 优化级

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcodeTop100(21) 相交链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 双链表…

SAP PO运维(一):系统概览异常处理

打开SAP PIPO Netweaver Administration界面,系统概览下显示异常: 参考SAP note: 2577844 - AS Java Monitoring and Logging parametrization best practice service/protectedwebmethods = SDEFAULT -GetVersionInfo -GetAccessPointList -ListLogFiles -ReadLogFile -Para…

基于微信小程序的宠物用品商城设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

Jmeter配置性能监控插件

一、版本不兼容时,有报错 1、当jmeter版本比较高时,只需要从官网安装jmeter-plugins-manager-1.10.jar一个包 2、当jmeter版本较低时,安装JMeterPlugins-Extras-1.4.0.zip、JMeterPlugins-Standard-1.4.0.zip内两个jar包 3、服务器上传文件…

Vue实现Hello World

<div id"aa"> <p>{{h}}</p> </div> <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> <script> const hello new Vue({ el:#aa, data:{ h : Hello World } }) </script>

『C语言进阶』qsort函数及模拟实现

&#x1f525;博客主页&#xff1a; 小羊失眠啦 &#x1f516;系列专栏&#xff1a; C语言 &#x1f325;️每日语录&#xff1a;没有退路&#xff0c;只能让自己变得强大 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前言 在上篇指针进阶中&#xff0c;我们对函数指针、函数…

Zookeeper-集群介绍与核心理论

Zookeeper集群 4.Zookeeper集群4.1) 介绍4.2) 核心理论 4.Zookeeper集群 4.1) 介绍 Leader选举&#xff1a; Serverid&#xff1a;服务器ID。比如有三台服务器&#xff0c;编号分别是1,2,3。编号越大在选择算法中的权重越大。Zxid&#xff1a;数据ID。服务器中存放的最大数据…

用CNC网关推动工业自动化革命

在当今的工业自动化领域&#xff0c;机床&#xff08;CNC&#xff0c;计算机数值控制&#xff09;已成为制造业的重要支柱。然而&#xff0c;这些复杂的设备在数据收集、通信和集成方面通常面临诸多挑战。其中&#xff0c;CNC转Modbus网关为解决这些问题提供了有效的解决方案。…

异地恋的甜蜜解药:李哥的群晖Videostation电影分享教程

异地恋的甜蜜解药&#xff1a;李哥的群晖Videostation电影分享教程 文章目录 异地恋的甜蜜解药&#xff1a;李哥的群晖Videostation电影分享教程1.使用环境要求2.制作视频分享链接3.制作永久固定视频分享链接 李哥和他的女朋友是一对甜蜜的情侣&#xff0c;但不幸的是&#xff…

大疆御3(DJI Mavic 3)照片格式,设置默认JPG格式

大疆御3(DJI Mavic 3)照片格式&#xff0c;设置默认JPG格式 一、照片格式。 御3提供两种照片格式&#xff0c;一种是常见的JPG格式&#xff1b;还有一种是DNG格式&#xff0c;这是一种无人机拍摄照片的原始格式&#xff0c;具有较高的图像质量和更多的后期处理空间&#xff0…

利用fiddler正向代理前端请求到本地后端

前景&#xff1a;在实际开发测试环境中&#xff0c;&#xff08;前后端均已上线到测试服务器或前端以上线而后端还在开发中)。在测试过程中&#xff08;前端页面点击&#xff0c;功能测试&#xff09;发现了bug或异常点。 正常排查问题可能是先利用浏览器检查工具查看接口的返回…

vue 监听页面卷去的高度,获取元素离页面顶部的距离

1.首先在mounted生命周期上 mounted() { // 监听页面滚动事件 window.addEventListener("scroll", this.handleScroll, true); }, 2.也别忘了在离开页面前去掉监听 beforeDestroy() { window.removeEventListener("scroll", this.handleScroll, true); …

UCOS-III操作系统(操作系统、任务)

操作系统和实时操作系统 目录 操作系统和实时操作系统 什么是操作系统&#xff1f; 什么是实时操作系统&#xff1f; 任务 什么是任务&#xff1f; 什么是多任务&#xff1f; 什么是任务状态&#xff1f;&#xff08;重要&#xff09; 任务切换&#xff1f; 什么是操作…

Spring Cloud Alibaba Gateway全局token过滤、局部过滤访问时间超过50ms日志提示

文章目录 Spring Cloud Alibaba Gateway验证token在前篇的基础上加入依赖在filter包中创建tokenFilter Spring Cloud Alibaba Gateway局部过滤1.继承AbstractGatewayFilterFactory2.仿照AddRequestHeaderGatewayFilterFactory Spring Cloud Alibaba Gateway验证token 基础搭建…

基于C#的AE二次开发之IQueryFilter接口、ISpatialFilter接口、IQueryDef 接口的查询接口的介绍

一、开发环境 开发环境为ArcGIS Engine 10.2与Visual studio2010。在使用ArcEngine查询进行查询的时候主要使用三种查询接口IQueryFilter&#xff08;属性查询&#xff09; 、ISpatialFilter&#xff08;空间查询&#xff09; 、IQueryDef &#xff08;多表查询&#xff09; 那…

Cpp/Qt-day040920Qt

目录 时钟 头文件&#xff1a;Widget.h: 源文件:Widget.c: 效果图&#xff1a; 思维导图 时钟 头文件&#xff1a;Widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPaintEvent> #include <QPainter> #include <QTime>…

提升科研效率的关键:掌握3D科研绘图技能【文末送书】

提升科研效率的关键&#xff1a;掌握3D科研绘图技能 引言3D科研绘图的重要性和应用领域 3D科研绘图基础3D科研绘图的定义和重要性3D科研绘图的基本概念和技术 书籍简介书籍亮点核心内容内容简介作者简介 购买链接参与方式往期赠书回顾 引言 3D科研绘图的重要性和应用领域 3D科…

从C语言到C++:C++入门知识(1)

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关C语言的相关知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数…

leetcode算法题-移动零Java

这道题的解法,我们可以新建一个等长的数组,初始化后数组中的元素都为零,我们只需要遍历一遍原来的数组,将不为0的数据转移到新数组即可,下面是代码实现: public static void main(String[] args) {System.out.println("移动零:" Arrays.toString(moveZero(new int[…

(1) ESP32获取图像,并通过电脑端服务器显示图像

目录 一、所需器件工具 二、客户端与服务器进行UDP通信 1、客户端代码 2、服务器端代码 3、效果展示 三、客户端拍照&#xff0c;通过UDP传输到服务器进行显示 1、客户端获取图像并UDP传输 2、电脑端服务器显示图像 3、效果展示 四、代码链接 一、所需器件工具 1.ESP3…