传统的开发模型有两种基本的类型:线性过程、迭代过程。选择合适的过程模型的依据:用户参与程度、开发效率/管理复杂度、开发出的软件的质量。

传统的开发模型有好几种。1、瀑布过程:特点:线性推进、整体推进、非迭代。优点:管理简单。缺点:无法适应需求增加/变化。2、增量过程:特点:线性推进、增量式(多个瀑布的串行)、非迭代。优点:比较容易适应需求的增加3、V模型:V 模型可以看作瀑布模型的优化,它仍然是线性推进的,瀑布模型存在的问题大多在 V-model 中也存在。 每个开发阶段都有相应的测试对齐进行验证,但是测试与开发是串行而非并行进行的,也就是测试需要等开发完成后再开始。4、原型过程:开发出来之后由用户试用/评审,发现问题反馈给开发者,开发者修改原有的实现,继续交给用户评审,循环往复这个过程,直到用户满意为止。重点在于在原型上持续不断地迭代发现用户变化的需求。 特点:迭代推进。优点:开发质量高。缺点:时间代价高。5、螺旋过程:多轮迭代基本遵循瀑布模式。每轮迭代有明确的目标 ,遵循“原型”过程。进行严格的风险分析, 方可进入下一轮迭代。

进入近现代以来,传统的开发模型已经很难适应快节奏的需求了,因此有了一种名为敏捷开发的模型,他是通过快速迭代和小规模的持续改进,以快速适应变化。敏捷宣言有四个维度:个体和互动高于流程和工具。工作的软件高于详尽的文档。客户合作高于合同谈判。响应变化高于遵循计划。

敏捷开发就是增量和迭代的集合,每次只迭代处理很小的一个增量。

接下来要讲的是软件配置管理和版本控制。

版本控制的分类有三种:1、本地版本控制系统:仓库存储于开发者本地机器,无法共享和协作。2、集中式版本控制系统:仓库存储于独立的服务器, 支持多开发者之间的协作。3、分布式版本控制系统:仓库存储于独立的服务器 + 每个开发者的本地机器。Git就是一个分布式版本控制系统。

Git与传统的VCS相比,VCS是存储版本之间的变化(行)而Git:存储发生变化的文件(而非代码行), 不变化的文件不重复存储。

软件构造的一般过程包括编码、重构、调试、测试、性能分析、代码评审、构建。编码从用途上划分:编程语言、建模语言、配置语言、构建语言。从形态上划分:基于语言学的构造语言、基于数学的形式化构造语言、基于图形的可视化构造语言。

【软件构造】过程与配置管理相关推荐

  1. 第三章 软件构造过程与配置管理

    第三章 软件构造过程与配置管理 第三章 软件构造过程与配置管理 Software Development Lifecycle(SDLC)软件开发生命周期 From 0 to 1 从无到有 From 1 ...

  2. HIT 软件构造 过程、系统、工具

    软件构造的一般流程 编码,重构,调试,测试,性能分析,代码评审,构建,发布 coding 从用途上划分:编程语言.建模语言.配置语言.构建语言 从形态上划分:基于语言学的构建语言.基于数学的形式化构造 ...

  3. 1-1 软件构造过程中的多维视图

    本节目标: 本节大纲: 随着时间的推移,人们对软件的认识的变化: 软件不能脱离外部环境: 软件构造的多个维度: 时间:瞬时(某一天某个时间点).周期(变化情况) 编码:构建开发(代码的结构.多少类.类 ...

  4. 2022哈工大软件构造课程总结与经验分享(复习指导)

    一.软构1-3讲 1.软件构造的多维度视图和质量目标 2.软件测试与测试优先的编程 3.软件构造过程与配置管理 二.软构4-8讲 4.数据类型与类型检验 5.设计规约 6.抽象数据类型 (ADT) 7 ...

  5. 软件构造笔记整理1-4

    第一章 软件构造的多维度视图和质量目标 1.多维视图 (1)软件是什么: 系统软件vs应用软件 桌面软件/Web软件/移动软件/嵌入式软件 面向商业软件/面向个人的软件 开源软件与专有软件 (2)软件 ...

  6. 【软件构造】第二章 软件构建的过程和工具(2)

    二.软件构造的编程.系统.工具 [广义软件构造的过程] 1. 编程 (1)开发语言:Java.C.C++.Python等 ·IDE:集成开发环境 - 方便编写代码和管理文件 - 能够编译.构建 - 结 ...

  7. 【软件构造】 软件构建的过程和工具2

    二.软件构造的编程.系统.工具 [广义软件构造的过程] 编程 (1)开发语言:Java.C.C++.Python等 ·IDE:集成开发环境 - 方便编写代码和管理文件 - 能够编译.构建 - 结构清晰 ...

  8. (2019春)软件构造:雨课堂试卷(一)

    文章目录 0-1 试一试Java 单选题 第1题 1分 单选题 第2题 1分 单选题 第3题 1分 单选题 第4题 1分 单选题 第5题 1分 1.1 软件构造的多维度视图 单选题 第1题 1分 单选 ...

  9. 2020春季学期哈工大软件构造学习心得二

    前言 上一章主要讲了软件构造的结果形态以及如何是一个"好"的软件 这一章主要学习软件开发遵循着一个什么样的过程 - 软件生命周期与配置管理 From 0 to 1,from 1 t ...

  10. 2021哈工大软件构造期末考点复习笔记

    第一节 多维视图和质量目标 软件构造多维度视图 红色标注为重点(考试会考选择题) Moment 特定时刻的软件形态 Period 软件形态随时间的变化 AST (Abstract Syntax Tre ...

最新文章

  1. java获取注解的属性值_反射+自定义注解,实现获取注解标记的属性
  2. pandas高级处理-交叉表与透视表
  3. java中native的用法[转]
  4. XML,Object,Json分析转换Xstream采用
  5. Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的基本操作
  6. jqxWidgets 常用代码
  7. 蓝牙遥控开关c语言程序,单片机蓝牙控制开关制作(程序源码+安卓APP分享)
  8. 2019春第六周作业
  9. 虚拟机下载和使用说明
  10. 程序设计中为什么要解耦?
  11. 优客365 v2.9版本 后台存在SQL注入
  12. excel高级筛选怎么用_Excel教程:用高级筛选做超级拆分器
  13. 高质量程序设计指南C/C++阅读笔记
  14. linux修改vnc设置密码,更改root与vnc密码,配置vnc
  15. 源码多多-Discuz x2.5 论坛防灌水机制分析和设置方法
  16. 商用智能显示屏在自动售检票系统(AFC)中的应用
  17. MW150UH驱动程序Linux,Ubuntu驱动Mecury MW150UH无线网卡总结
  18. 版权保护和商标注册有什么关系
  19. 【03】《论道html5》(全)
  20. c语言中如何排出三个数的大小,C语言比较三个数大小

热门文章

  1. android 经纬度方向,Android获取经纬度计算距离介绍
  2. 单词风暴 分享ID:121082704-BJ0B8-L7IJ5
  3. 计算机网络管理员试题实操,网络管理员试题(实操).doc
  4. 迷你迅雷,IE下载加速补丁(转)
  5. 静默安装android,Android静默安装
  6. android 手机屏蔽广告 hosts
  7. 激光投影仪对比激光电视 成像原理和适用范围
  8. 怎样才能提取图片中的文字
  9. TD041S485H完全兼容ISO3080, ISO3086 ISO3082, ISO3088
  10. 办公室服务器文件管理制度,机要文件管理制度