软件构造学习笔记第三章——软件构造过程与配置管理

目录

1.软件构造过程

1.1传统软件开发流程

1.1.1瀑布过程

1.1.2增量过程

1.1.3 V模型

1.1.4原型模型(重点)

1.1.5螺旋模型(重点)

1.2敏捷开发

1.3强推几篇文章

1.4第一节需要掌握的知识点

2.版本控制工具

2.1基本概念

2.2三种类型的版本控制工具

2.2.1本地版本控制工具

2.2.2集中式版本控制工具

2.2.3分布式版本控制工具

3.Git的使用 (以下都是重点)

4.语言的分类

4.1建模语言

5.代码重构


1.软件构造过程

重点:根据需求,选出最合适的开发过程。

选择合适过程模型的依据:

①用户的参与程度(软件构造过程适应变化的能力)

②开发效率/管理复杂度

③开发出的软件质量

1.1传统软件开发流程

1.1.1瀑布过程

(1)瀑布模型的特点

①线性推进

②阶段划分清楚

③整体推进

④无迭代

⑤管理简单

⑥无法适应变化(因为只有在整个过程结束才能看到软件的全貌,一旦完成了软件的开发,若想改变某一功能则只能从头开始开发软件,类似于面向过程编程)

(2)优点

①直观,符合人们认知,管理简单

(3)缺点

①需要提交大量的文档(由于是分阶段开发,因此每个阶段都需要设计里程碑,提交大量的文档)

②无法适应需求的变化

(4)开发过程

需求--->设计--->编程--->测试--->维护
(5)适用场景

适用于成熟了的项目,团队接手项目之后如庖丁解牛般行云流水。

1.1.2增量过程

(1)与瀑布过程的关系

若软件是由多个功能模块组成的,每个可以拆分出来形成一个小的产品,比如开发教务管理系统,有教师登录过程、教师选择教室、教务处排课等,增量模型就是把软件切块,每一个块都是可执行可被验证的产品,然后在每一个块上边运用瀑布过程。

(2)特点

①线性推进

②增量式(多个瀑布的串行)

③无迭代

④比较容易适应需求的增加(因为只需要推倒某一块即可,无需把整一个软件重建)

(以上引用自博客软件工程--增量模型详解_吴声子夜歌的博客-CSDN博客_增量模型

(3)缺点

 (以上引用自博客软件工程--增量模型详解_吴声子夜歌的博客-CSDN博客_增量模型

(4)增量模型例子

 (以上引用自博客软件工程--增量模型详解_吴声子夜歌的博客-CSDN博客_增量模型

1.1.3 V模型

为了测试,平常只有编码阶段才会写程序,每一个阶段都可被测试,

(摘自V模型_DavidBigHero的博客-CSDN博客

(1)目的

为了改进软件的开发效率和质量。

(2)过程

(摘自V模型_DavidBigHero的博客-CSDN博客

(3)缺点

仅仅把测试作为编码之后的一个阶段,未在需求阶段就进入测试。(怎么在需求阶段就进入测试?)

1.1.4原型模型(重点)

场合:用户需求不明确。先开发个原型(界面。。或代表简单功能的),展现给客户,用户对原型进行修改。问题,把原型设计的特别好,用户以为你做好了,但其实你只有个模型,根本没写代码。

(1)过程

快速设计产品原型,所谓原型,即指一个产品的概念实现,然后展现给客户,接着与客户交流,不断修改原型,把原型设计好后再进行开发。

(2)特点

迭代,降低成本,风险小,缩短开发周期,加快工程进度。

(3)适用范围

客户需求不明确,客户对产品开发的参与度高,可以和客户疯狂交流。

1.1.5螺旋模型(重点)

软件工程--螺旋模型详解_吴声子夜歌的博客-CSDN博客_螺旋模型

(1)特点

迭代

(2)适用范围

大型工程。

1.2敏捷开发

小步快跑,快速迭代。四点。

 (1)本质

小步快跑,快速迭代。

每次产生的都是一个小产品,然后快速迭代,每次迭代处理一个小规模增量。

强调结对编程(即一个人编程一个人观察程序是否对)。

强调自动化测试、集成。

(2)与传统开发的区别(重点)

①人的交流重要于开发过程和开发工具。

②有效的软件重要于完整的文档。

③与客户合作重要于合同的谈判

④及时反馈于需求变化重要于遵循原来的计划

(3)更详细见

只会用传统开发模式?10分钟教你玩转敏捷!

软件开发模式之敏捷开发(scrum)_android_Mr_夏的博客-CSDN博客_敏捷开发

1.3强推几篇文章

​​​​​​软件工程——瀑布模型、快速原型模型、增量模型、螺旋模型_「已注销」的博客-CSDN博客_瀑布模型软件工程 瀑布模型、原型模型、喷泉模型和V模型的优缺点及适用场景_zhang_bryant的博客-CSDN博客_喷泉模型常见的软件开发过程模型优缺点及适用范围 -- 思维导图_proplume的博客-CSDN博客_软件过程模型有哪些软件工程 瀑布模型、原型模型、喷泉模型和V模型的优缺点及适用场景_zhang_bryant的博客-CSDN博客_喷泉模型​​​​​​软件工程——瀑布模型、快速原型模型、增量模型、螺旋模型_「已注销」的博客-CSDN博客_瀑布模型

1.4第一节需要掌握的知识点

①给需求能选出合适的开发过程(重点在原型模型和螺旋模型,选择题)

②传统模型和敏捷模型的区别(四点)

2.版本控制工具

2.1基本概念

①软件配置项:软件中发生变化的基本单元(如文件)

其它:

2.2三种类型的版本控制工具

2.2.1本地版本控制工具

2.2.2集中式版本控制工具

2.2.3分布式版本控制工具

3.Git的使用 (以下都是重点)

(1)指令(重点)

(2)工作目录和本地端仓库是真实存在的两个文件,但是暂存区在本地系统中是没有相对应的区域的,它是通过每个文件的状态来体现的,即文件有一个标识位,为0时表示不在暂存器中,为1表示在暂存区中。

(3)通过版本对象形成的图是有向无环图

(4)每个版本的父版本只可能有三种情况,0、1、2,0就是root结点,1就是通过commit形成的,2就是通过merge形成的。但是每个版本的子版本是任意多的,且创建子版本的时间和版本库的复杂程度是没有关系的,它是一个常量。

(5)head指当前工作的版本。

(6)其余的见word文档

4.语言的分类

4.1建模语言

UML概述及UML图详解_爱书不爱输的程序猿的博客-CSDN博客_uml

本次课重点在类图 。

UML图:类图 --详细介绍_长齐克斯的博客-CSDN博客_uml类图

5.代码重构

指的是不改变功能的前提下优化代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值