首页 > 其他分享 >软件工程-五 过程

软件工程-五 过程

时间:2024-06-11 14:12:59浏览次数:14  
标签:工程 模型 过场 软件工程 RUP 过程

 

做过程不是做工程

软件工程这个概念被提出的时候大概是在20个世纪60年代末。它作为成熟的概念的标志是软件工程的瀑布模型的提出。

瀑布模型将软件开发的过程分成需求、分析、设计、开发和测试五个主要阶段,其主要环节关系表现为如下的这样一种形态

在瀑布模型之后,很多人开始研究过程模型的问题。很多从实际工程中提炼出来的过程模型都是值得称道的,例如RAD(Rapid Application Development,快速应用开发)模型、螺旋模型和现在常被提及的RUP(Rational Unified Process,Rational统一开发过程)模型。

模型就是“样子”。人家拿出一个东西来说:这是模型。其言下之意就是要你按照这个样子来做。过程被描述为可重复的模型,实施的结果却可能演变成为相当尴尬的局面,如图所示。

我们看到,按照模型所描述的这个“样子”,做完过程的每一个阶段,并不等于做完了工程。或者说,工程并不是这样就可以做成功的。

换而言之,无论是用RAD模型还是RUP模型来做工程,即使是亦步亦趋,也做不好工程。

如果工程可以那样做成的话,只需要有瀑布模型就足够了。因此“做过程”并不是做工程的精义。

 

做过场

前面那张图就是一个过场。尽管那是一张用来描述“沟通问题”的经典图例

如果每一遍(或者用RUP的那个术语“迭代”)都只是“过场”的话,项目将只是一场无休止的演出而已。

最终呢?观众受不了,就交钱走人;演员受不了,就下台散伙。戏目和项目的结局,竟如此的相似。

 

实现,才是目的

很多人把问题的本质给忘掉了。从最开始,从我们编程开始,我们的目的就是实现一个东西。无论这个东西是小到称手的一个工具,还是大到千万的一个工程,我们的目标,都是要“实现”它。

工程只是一种实现的途径。最初做开发的前辈们,不用什么工程或者过程,也一样编出了程序,也一样解决了问题,也一样实现了目的。

 

工程不是做的,是组织的

不能“做”工程,而是要“组织”工程。项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目。

 

 

大道至简:软件工程实践者的思想 第五章 失败的过程也是过程

标签:工程,模型,过场,软件工程,RUP,过程
From: https://www.cnblogs.com/ooo0/p/18241944

相关文章

  • 软件工程-软件工程层状模型(EHM)
      软件工程-三团队缺乏的不只是管理软件工程-四流于形式的沟通软件工程-五过程 ......
  • 软件项目管理过程全套文档资料(开发&实施&运维&安全&交付)
     前言:在软件项目管理中,每个阶段都有其特定的目标和活动,确保项目的顺利进行和最终的成功交付。以下是软件项目管理各个阶段的详细资料:软件项目管理部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概......
  • 禅道安装过程中出现的问题总结
    虽然最终成功安装了,使用的18.12源码版本安装的mac下面,自带apache,使用起来没问题,但是brewinstallphp因为网速原因无法安装,只能选择在linuxarch64架构下使用源码安装。安装的过程中,确认安装apache,使用yuminstall去安装,配置文件 /etc/httpd/conf/httpd.conf中关注Listen监......
  • DoNet Core的启动过程-WebApplicationBuilder
     1.前言 在NET6开始做ASP.NETCore的开发,我们首先要看的是启动过程,而WebApplication和WebApplicationBuilder类是启动过程好不开的类,WebApplicationBuilder来引导启动,这和前面Core的版本引导启动分为Program和Startup是不同的,.NET6及以上版本直接使用Program中引导启动,而We......
  • Windows系统 在VirtualBox虚拟机上安装搭建OpenEuler操作系统 并用Putty验证是否创建
    目录1.配置虚拟化环境步骤1进入BIOS,开启CPU虚拟化技术,不同电脑开启方式有所不同步骤2下载并安装VirtualBox/VMWare。按照学校给的实验指导书,这里我下载的是VirtualBox(我的电脑是我前段时间自己重新配的win11系统)步骤3 下载openeuler操作系统,在网页搜索openeuler下......
  • 函数递归(C语言)(详细过程!)
    函数递归一.递归是什么1.1递归的思想1.2递归的限制条件二.递归举例2.1求n的阶乘2.2按顺序打印一个整数的每一位三.递归与迭代3.1求第n个斐波那契数一.递归是什么递归是学习C语言很重要的一个知识,递归就是函数自己调用自己,是一种解决问题的方法,下面就使用......
  • 记一次堆外内存泄漏排查过程
    本文涉及以下内容开启NMT查看JVM内存使用情况通过pmap命令查看进程物理内存使用情况smaps查看进程内存地址gdb命令dump内存块背景最近收到运维反馈,说有项目的一个节点的RSS已经是Xmx的两倍多了,因为是ECS机器所以项目可以一直运行,幸亏机器内存充足,不然就可能影响到其他应用......
  • Python爬虫:通过js逆向了解某音请求接口参数a_bogus加密过程
    1.前言需要提前说明以下,本篇文章讲述的内容仅供学习,切莫用于商业活动,如若被相关人员发现,本小编概不负责!切记。。本次分析的接口为:https://www.douyin.com/aweme/v1/web/discover/search/它的请求方式为:GET请求需要的参数有:请求参数中需要进行js逆向是:a_bogus必须需要的请......
  • 打败GPT-4的最强开源中文大模型GLM-4终于亮相了(附:超详细搭建过程)
    GLM-4是由智谱AI推出的新一代基座预处理大模型,具有与GPT-4相近的性能,尤其在中文能力上可以比肩GPT-4。它在多个方面进行了优化和提升,包括支持更长的上下文长度、更快的推理速度、降低推理成本,以及增强了智能体能力。GLM-4能够处理128k的上下文窗口长度,单次提示词可以处理的文......
  • Nginx图片下载不完整的处理过程
    Nginx图片下载不完整的处理过程背景昨天同事进行了nginx的迁移然后晚上发现图片展示不全.自己其实之前遇到过类似的问题但是因为熬夜比较久,脑子已经不转了.所以花了接近半小时才理清楚.感觉一些事情不记录一下,无法加深印象.问题现象客户的nginx从之前的CentOS迁移......