项目开发

小编 2026-07-07 阅读:402 评论:0
瀑布模型   瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果...

瀑布模型

  瀑布模型(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生成的模块记录文件
版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表