项目开发

本文深入探讨了瀑布模型在软件开发中的应用,介绍了其核心思想、优点和缺点,以及如何在项目中有效实施。同时,文章还详细列出了项目开发中常见的文件结构和开源项目必备文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

瀑布模型

  瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。 "被广泛采用的软件开发模型。
  核心思想:瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

瀑布模型的优点

1)为项目提供了按阶段划分的检查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。
4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

瀑布模型的缺点

1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4)瀑布模型的突出缺点是不适应用户需求的变化。


项目开发的文件结构

   ├── ACKNOWLEDGMENTS	TensorFlow版本声明	
	├── ADOPTERS.md	使用TensorFlow的人员或组织列表	
	├── arm_compiler.BUILD	ARM编译器	
	├── AUTHORS	TensorFlow作者的官方列表	
	├── CODE_OF_CONDUCT.md	代码编程指南。行为守则是一套个人或组织参与开源项目所必须遵循的规则,规范,公约,大多数项目都是采用Contributor Covenant规则。	
	├── CODEOWNERS	code owners	
	├── configure	需要编译tensorflow时,使用命令'configure',则会调用configure.py来配置tf的环境信息	
	├── configure.py	需要编译tensorflow时,配置tf的环境信息	
	├── CONTRIBUTING.md	TensorFlow贡献指导	
	├── ISSUE_TEMPLATE.md	提ISSUE的模板,提ISSUE时Github自动识别读取注入。	
	├── LICENSE	版权许可	
	├── models.BUILD	对tensorflow/models目录进行编译。	
	├── README.md		
	├── RELEASE.md	每次发版的change log	各个release(发布)版本的变更信息,例如Release 1.4.0的新增功能、变更的op等
	└── WORKSPACE	配置移动端开发环境	

开源项目的必备文档

  • README.md
    开源项目的门面,让用户第一时间了解该项目具体是做什么的,一份好的README文件应包含但不仅限于项目标题、描述、徽章、主要内容、如何安装、如何使用、API文档、如何参与贡献、版权类型等等内容。"

  • CHANGELOG.md
    用于记录每一次版本升级后的更新说明,包括Bug修复、新功能等等,一般和项目新Tag一起发布。"

  • CODE_OF_CONDUCT.md
    行为守则是一套个人或组织参与开源项目所必须遵循的规则,规范,公约,大多数项目都是采用Contributor Covenant规则。

  • CONTRIBUTING.md
    全方位指导你如何参与贡献代码,如何进行本地开发,如何提ISSUE,如何提PR等等,参与项目前必看的文档。

  • ISSUE_TEMPLATE.md
    ISSUE模板,提ISSUE时Github自动识别读取注入。

  • PULL_REQUEST_TEMPLATE.md
    PR模板,提PR时Github自动识别读取注入。

  • LICENSE
    声明项目所遵循的版权类型。

目录规范

常见目录结构及文件说明,以下只列出一部分,实际项目可变通。

root/                
├── .github/                # ISSUE&PR模板文件夹
├── bin/                    # 命令行指令入口文件夹
├── build/                  # 工程配置类文件夹
├── dist/                   # 打包输出后的产品文件夹
├── docs/                   # 文档文件夹,最终被静态网站生成器编译
├── examples/               # 使用示例文件夹
├── packages/               # 子模块文件夹
├── lib/                    # es编译后的输出文件夹
├── scripts/                # 脚本命令文件夹
├── src/                    # 源代码文件夹
├── test/                   # 测试文件夹   
├── .babelrc                # babel配置文件
├── .editorconfig           # 编辑器配置文件     
├── .eslintrc               # ESLint配置文件     
├── .eslintignore           # ESLint忽略文件    
├── .flowconfig             # Flow配置文件    
├── .gitattributes          # Git属性配置文件    
├── .gitignore              # Git忽略文件  
├── .npmignore              # NPM忽略文件  
├── .stylelintrc            # StyleLint配置文件   
├── .travis.yml/circle.yml  # CI环境配置文件     
├── CHANGELOG.md/History.md # 版本更新说明文件   
├── CODE_OF_CONDUCT.md      # 行为守则说明文件   
├── CONTRIBUTING.md         # 贡献指导文件    
├── AUTHORS                 # 贡献者列表文件   
├── LICENSE                 # 版权声明文件   
├── PATENTS                 # 专利声明文件   
├── README.md               # 自述文件   
├── Makefile                # Make命令文件
├── Gruntfile.js            # Grunt配置文件    
├── gulpfile.js             # Gulp配置文件    
├── karma.conf.js           # Karma配置文件  
├── webpack.config.js       # Webpack配置文件    
├── rollup.config.js        # Rollup配置文件    
├── bower.json              # Bower入口文件    
├── package.json            # NPM入口文件    
└── yarn.lock               # Yarn生成的模块记录文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值