《软件工程与计算(卷二)》-Chapter22-23-软件开发过程模型与软件工程职业基础
- Requirements Engineering
- Software Design
- Software Implementation
- Software Testing
- Software Delivery
- Software Maintenance
- follows an ordered sequence of transformations from one stage to another. Require that every activity be validated.
- Allowing iterations to occur, the results of each activity must be verified, "document driven"
- Requirements engineering → software design → software implementation → software testing → software delivery → software maintenance (can be iterative).
- Disadvantages:
- High expectations for documentation
- Linear presets for development activities
- Insufficient client-user engagement
- Milestone granularity is too coarse
- Scope of application: Projects with very mature and stable requirements, reliable technology and moderate complexity.
- The long development cycle is divided into multiple iterations, with one part of the product being submitted at the end of each iteration, and all iterations coming together to deliver the full product
- Organize development activities into multiple iterative, parallel waterfall development activities. "Demand-driven."
- Purpose:
- Iteration
- incremental delivery
- parallel development
- Advantages:
- There is better suitability
- Parallel development can help reduce development time for software products
- Progressive delivery can enhance user feedback
- Reduce development risk
- Disadvantages
- The addition of building blocks does not destroy the already constructed parts
- requires a complete and clear project vision
- Scope of application: relatively stable, mature field
- 在初始开发迭代中,澄清和明确系统的核心需求,建立和交付核心系统。在得到核心系统后,用户在使用的过程中发现变更需求、澄清不确定性需求,反馈给开发人员。开发人员根据用户反馈规划后续迭代,精化和增强系统。
- 多个迭代、并行的瀑布式开发活动。
- 优点:
- 迭代式开发
- 并行开发
- 渐进交付加强用户反馈
- 缺点
- 无法确定项目范围
- 整体项目计划不好把握
- 后续迭代容易蜕变为Build-Fix模式。
- 适用范围:变更比较频繁,不稳定领域的大规模系统开发。
- During the initial development iteration, clarify and specify the core requirements of the system and build and deliver the core system. After getting the core system, users discover change needs and clarify uncertainty needs in the process of using it and feed it back to developers. Developers plan subsequent iterations to refine and enhance the system based on user feedback.
- Multiple iterative, parallel waterfall development activities
- Advantages:
- iterative development
- parallel development
- Progressive delivery to enhance user feedback
- drawback
- Inability to define project scope
- Poor grasp of the overall project plan
- Subsequent iterations easily morph into Build-Fix patterns
- Scope of application: Large-scale system development in the field of frequent changes and instability.
- 需求开发部分迭代(抛弃式原型):原型需求→设计原型→构件原型→评估原型。
- 优点:加强了客户用户的交流,适用于新颖的领域。
- 缺点:原型方法在避免风险时候带来新的风险,不舍得抛弃原型。
- 适用范围:不确定性较多的软件开发。
- focuses on using discarded prototypes (indeterminate parts) rather than evolutionary prototypes (prototypes that become part of the product)
- Requirements development partial iteration (discarded prototype): prototype requirements → design prototype → building blocks prototype → evaluate prototype
- Advantages: Enhanced client-user communication, suitable for novel areas.
- 缺点:The prototype approach introduces new risks when it comes to avoiding them and is not willing to abandon the prototype.
- Scope of application: Software development with high uncertainty.
《软件工程与计算(卷二)》-Chapter22-23-软件开发过程模型与软件工程职业基础相关推荐
- 敏捷软件开发与传统软件工程的比较
敏捷软件开发与传统软件工程的比较 软件工程的开发过程中有两种不同的管理和开发体系,一种是基于"瀑布模型"的预设性传统软件工程,另一种是轻量级的适应性敏捷软件 ...
- [架构之路-131]-《软考-系统架构设计师》-软件工程-1-软件工程方法大全(软件开发过程方法、软件开发过程模型、逆向工程、净室软件工程)
前言: 第3章 软件工程 3.1 软件开发过程方法 3.1.1 什么是软件工程 软件工程是一门研究用工业硬件生产的工程化方法构建和维护有效.实用和高质量的软件的学科. 它涉及程序设计语言.数据库.软件 ...
- UML建模与软件开发过程模型
UML建模与软件开发过程模型 现在谈到软件开发过程,大家可能也不会陌生,学过软件工程的人都能随口说上几个软件过程模型,现在要把这两种不同的模型拿到一起来讨论,一方面是软件开发的实际需要,另一方面也是U ...
- 想要成为一名软件开发人员?这个职业道路指南可以了解下
有无数种方法可以进入软件开发.有些人在中学或大学中发现了他们对编码的热情:其他人在职业生涯的中途偶然发现了发展. 但无论你对软件开发的介绍如何通过,所有有抱负的程序员最终都需要问自己同样的问题:我怎样 ...
- 软件开发过程模型 软件过程模型 软件开发过程几种模型对比
软件开发过程模型主要有:51Testing软件测试网@$H5K2K2e0x/k8O 瀑布模型(V模型.喷泉模型 )51Testing软件测试网tQ5e8r8E#E 螺旋模型51Testing软 ...
- 保研笔记一 软件工程与计算卷二(1-7章)
目录 第一.二章 软件工程概论 1.软件工程(名词解释) 2.从1950s-2000s之间的特点(简答) 第三.四章 项目启动 1.团队结构:主程序员团队:民主团队:开放团队 2.质量保障有哪些措施? ...
- 【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。
(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同. (张海藩,吕云翔)著-软件工程 复习记录 文章目录 一.瀑布模型 二.快速原型模型 三.增量模型 四.螺旋模 ...
- 计算传递函数乘法_软件开发教程:计算机科学最重要的32个算法
软件开发的根本在于解决各种业务功能需要,实现数字化和自动化,而算法(Algorithm)是对解决方案的准确而完整的描述,是一系列解决问题的清晰指令.算法代表着用系统的方法描述解决问题的策略机制.在计算 ...
- 软件工程导论08-基于构件的软件开发
基于构件的软件开发 长期以来的软件开发状况 多数软件都是针对某个具体的应用系统从头进行开发的. 导致:出现了大量的同类软件重复开发,造成大量人力.财力的浪费,而且软件的质量也不高. 对比:汽车工业的生 ...
最新文章
- 关于命名空间namespace
- 使用Bootstrap制作导航栏
- 剑指offer java版(一)
- index加载显示servlet数据_[WEB篇]-JavaWeb基础与应用-02-Servlet开发
- python爬携程酒店评论_python爬虫爬取携程网的酒店评论数据时,有个请求参数不知道是怎么生成的?...
- ecshop 手机版的php代码在哪里,PHP 在ecshop上集成 手机网页支付_php
- Mint-Ui的mt-search点击选中
- 阿里架构师的工作总结:Spring Cloud在架构演进中起到的作用
- Glide 加载圆角图片(解决设置圆角后和centerCrop冲突的问题)
- ass字幕导入Premiere的另一种思路 用ffmpeg把ass转换成颜色通道和透明度通道两个视频
- Ubuntu问题:E45: ‘readonly‘ option is set (add ! to override)错误解决
- 下载CyanogenMod c8650源代码
- 【USACO 2019 February Bronze】Sleepy Cow Herding
- mac笔记本怎么外接显示屏_Mac电脑外接显示器全攻略
- 艾克姆 STC15W4K56S4 IAP15W4K58S4 51开发板 大赛esp8266开发板 STC15W4K56S4
- 理想是只被狼强奸的羊
- 【工具】-10 UML时序图(Sequence Diagram)学习笔记
- M91A人脸识别布控球机人脸AI视频分析功能
- bilibili_Linux网络基础5_SSH远程管理服务
- mysql主从复制、读写分离集群/etc/my.cnf配置文件
热门文章
- 100%成功王者荣耀战区修改(亲测)
- 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)
- nginx+php 上传含有php脚本的木马图片文件的漏洞解决
- 柳维尔定理与代数基本定理
- 三角函数反函数c语言,高中数学反函数有哪些 反三角函数的所有公式
- Linux-curl指令
- CSR频率校准定频工具
- Nginx缓存、静态文件缓存配置
- Maven 的下载安装和配置
- 彻底解决问题:签名不对,请检查签名是否与开放平台上填写的一致