首页 > 其他分享 >软件构造过程与配置管理

软件构造过程与配置管理

时间:2024-05-28 15:22:50浏览次数:22  
标签:Git 配置管理 构造 版本 commit 软件

软件构造过程与配置管理

3-Software Construction Process and Configuration Management

生命周期

从无到有,从有到好,从好到无

计划->分析->设计->是诶吸纳->测试与集成->运维->迭代->消亡

软件开发模型

基本为线性过程/迭代过程

典型模型:瀑布、V、W、增量、原型、螺旋、敏捷开发(XP&SCRUM)

不再展开叙述,都是隔壁项目管理讲的东西

敏捷开发:增量+迭代 每次迭代处理一个小增量 对“小步快跑”与用户参与及确认验证做到极致

软件配置管理

追踪和控制软件的变化

软件中发生变化的基本单元:软件配置项(文件等,不是代码行)

基线:软件持续变化过程中的“稳定时刻”(确定不会再产生相对变动的——如对外发布的版本)

CMDB:配置管理数据库 存储软件配置项的变化信息与基线

版本:软件某一特定时刻形态的“身份证号”

版本管理:回滚、差异比较、备份、获取备份、版本合并、共享协议、项目审计等

对版本控制系统:本地的/集中式的(云端有)/分布式的(云端和本地兼备)

典型软件配置管理方法:Git & Github

对Git概念一些注意的点:

  • Git库的三部分:本地CMDB、工作目录与隔离前二者用的暂存区(git add与git commit的区分)
  • 每个软件配置项的三个阶段:修改、暂存(add)、提交(commit)
  • commit与parent指向关系:通常一指一,合并一指多,分支多指一
  • branch是一个commit'指针'的名称,HEAD是当前commit的'指针'
  • Git中仅存储发生变化的文件,不同版本间未变化则不重复存储
    img

img

下面两张图是课内例图,一个对git指令的简单应用,方便理解
img

img

软件构造一般流程

编程->构建->代码评审->性能分析->测试->调试->重构->编程(循环)

  • 编程:使用建模语言(UML,系统化的建模方法,专门软件)/编程语言(不用举例了,集成开发环境下运作)/配置语言(XML,源码偏描述性,描述各参数的配置情况)/构建语言(XML)等。从形态上可以划分成基于语言学的/数学的形式化/基于图形的可视化

  • 静态代码分析与评审:开展会议,使用工具,自动化等

  • 动态代码分析:执行程序,观察收集,分析结果

  • 测试:发现错误,“有没有”

  • 调试:最后手段,定位错误,“在哪里”

  • 重构:一系列小的,语义保留的代码转换

狭义上认为软件构造的过程即是项目构建的过程(Build),from build time to run time。可借助工具将软件构造各阶段的活动“自动化”执行,提高构造效率。

标签:Git,配置管理,构造,版本,commit,软件
From: https://www.cnblogs.com/HaoranLuo/p/18218109

相关文章

  • 软考-2024年5月上半年-软件设计师真题及答案(部分题目)
    根据自己的考试记忆和网络部分资料整理。转载请注明本来源。个人评估通过率50%。更多信息,欢迎扫码入Q群,一起讨论。群内有全部题目链接、学习资料等。题目图例选项选项选项选项正确答案(参考)用于收回SQL访问控制权限的操作是()。GRANTDELETEREVOKEDROPREVO......
  • 软件工程作业6
    问题:如果你要开发一个中小学生学习数学的软件你应该找谁去做用户调研?开发一个针对中小学生的数学学习软件时,进行有效的用户调研至关重要,这能确保产品贴合目标用户的需求和学习习惯。以下是一些适合参与用户调研的对象:中小学生:直接用户群体,他们的反馈能直接反映产品的实用性......
  • 【c++基础(三)】类和对象中--构造和析构函数
    1.前言本章重点本篇文章着重讲解类中的两个默认函数,分别为:构造函数,析构函数这是c++六个默认成员函数中的两个(其他四个在后面章节讲解) 我们平时在写基础的数据机构时,例如栈和队列如果自己没有注意没有进行初始化,就有可能导致出错,同理,在写完代码后,忘记销毁开辟好......
  • 边缘计算|Hadoop——边缘计算,有没有对应的软件?例如数据中心或云计算环境进行数据处理
    边缘计算确实没有直接对应于Hadoop这样的单一软件框架,因为边缘计算更多的是一个概念或技术架构,它涵盖了在网络的边缘(即设备或数据源附近)进行数据处理和计算的能力。然而,这并不意味着边缘计算没有相应的软件支持或解决方案。在边缘计算环境中,通常会使用各种软件、工具和框架来支持......
  • LOTO示波器软件新增导览功能
     新版本的大部分型号LOTO示波器的上位机软件我们改成了导航工具条方式。原来的方式是把所有功能都显示在不同的标签页中,这样的优点是非常快捷方便,基本上用鼠标一两次点击就能直达想要的功能设置。但是缺点是不熟练的客户可能记不住各种功能的标签位置在哪里,反而变得不快捷。为了......
  • 第一章 设计模式、UML图、软件设计原则
    本系列博客主要参考黑马程序员的Java设计模式详解视频教程1.设计模式概述1.1软件设计模式的概念软件设计模式(SoftwareDesignPattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生......
  • 这款信创FTP软件,可实现安全稳定的文件传输!
    信创,即信息技术应用创新,2018年以来,受“华为、中兴事件”影响,国家将信创产业纳入国家战略,并提出了“2+8+n”发展体系。“8”具体指金融、石油、电力、电信、交通、航空航天、医院、教育等主要行业。目前企业使用比较多的是FTP应用,随着技术的进步和企业需求的多元化,弊端也更加明显,需......
  • 软件测试之接口自动化学习
    首先我们要知道什么是接口自动化测试?接口自动化测试是指使用自动化测试工具或脚本,通过模拟用户的操作来测试接口的正确性、稳定性和性能。通过自动化测试,可以提高测试效率、减少测试成本,并能够快速发现接口中的问题和缺陷。接口自动化测试可以对接口的输入和输出进行验证,检查......
  • 关于软件开发模型(什么是结对编程?)
    结对编程是敏捷软件开发中的一种方法,它涉及两个程序员在同一台计算机上共同工作。这种方法的核心在于两个人的紧密协作,通常由一人负责输入代码,而另一人则审查这些代码,确保其正确性和可读性。结对编程它通过促进程序员之间的紧密合作,不仅提高了代码质量,还增强了团队的协作能力和适......
  • 开发一个中小学生学习数学软件的用户调研
    如果要开发一个中小学生学习数学的软件应该找以下几类人进行用户调研:教师:教师是中小学生学习数学过程中的重要参与者,他们对于教学内容、教学方法和学生需求有深入的了解。通过与教师进行沟通和访谈,可以了解到学生在数学学习中面临的困难、需求和偏好,从而设计出更贴近实际教学需......