软件构造第二章随笔
一、SDLC软件的生命周期
二、传统软件开发模型
1.瀑布模型:
要求-设计-实现-验证-维护
2.增量模型:
以增量的方式实施瀑布模型
通常首先实现优先级最高的需求
当某增量开发完成,则对应的需求被冻结
3.V模型
强调了瀑布模型的测试环节
4原型法
先实现一个系统原型,模拟最终的几个方面,甚至完全不同,细节问题可以忽略。
在项目早期可以获得用户的反馈。
用户判断软件是否符合规格说明。
对软件进行估算。
5螺旋模型
一种风险驱动的过程模拟
6.敏捷开发
提倡适应性规划、演化开发、尽早交付和持续改进,并鼓励对变化作出快速和灵活的响应。
三、SCM 软件配置管理 VCS 版本控制系统
SCM的任务是追踪与控制软件中的变化
SCM实际任务是版本控制和建立基线
SCI:the fundamental structural unit of SCM。软件配置项是软件配置管理的基本单位,任何需要管理的要素都时软件配置项(源代码、数据、文档、软硬件、环境等)
基线是在某时间点上,通过评审和认可后的版本,作为后续变化的基点。
四、git
.git directory (a repository storing all version control data)
Working directory (local file system)
Staging area (in memory)
不重复保存各版本中没有发生变化的文件
每个文件的每个版本只保存一次,多个提交可共享副本