关于软件工程的类比

软件工程经济学计算题 (概念下面有相关计算题) 一:资金的等值 在资金的时间价值计算中,等值的概念是重要的。所谓的资金的等值,是指在时间因素的作用下,不同时点的不同货币值可能会具有相同的价值。举个例子,以前的20块钱可以买3斤肉,现在的20可能买一斤。那么以前的20元就等值为现在的60元。 资金的等值计算题: 小明有1000元,已知年利率为4%,通货膨胀率为1%,求小明的1000元等价于五年后的多少钱? 解: 二:现金流贴现和预计 为了解决不同投资方案实施效果的比较问题,人们常利用等值的概念,将现金流量.. 阅读详情

我不喜欢“码农”“码工”“程序猿”这类自贬身价的词语。

我的爷爷是一名裁缝,在我的记忆里他靠在家里给别人定做衣服谋生,算是一个手艺人。我的职业生涯一直和代码打交道,靠写代码谋生,也算是一个手艺人。当然手艺好的人应该能称得上是代码工匠吧!

我喜欢把这群代码工匠称为软件设计师。为什么是软件设计师而不是软件工程师,这源自于我对软件工程的不同理解。


建筑工程大致可以分为两个阶段,设计阶段和施工阶段。传统软件工程总是习惯与建筑工程进行类比,将需求分析、总体设计、详细设计纳入设计阶段,而将编码,编译,测试,发布等纳入施工阶段。因此编码人员自然就属于“工程师”这一类别。

然而在实际的工作中,软件的模块设计和编码是脱节的,实际情况是:再详细的设计也无法完全指导编码,在编码的过程中往往会有产生很多新的创造,有时甚至需要返工总体设计。因此,我倾向于把编码环节纳入到设计阶段,这就是新的软件工程。其强调的观点是:代码就是设计。因此我们成为了软件设计师。

那么新的软件工程中施工阶段做些什么呢?答案是:从代码编译开始,这一阶段完全可以交给机器来完成。我们需要构造一套自动化的流程,还可以引入分布式编译技术以加快速度,然后需要有自动化的测试用例(当然用例的编写在编码的同时就已经完成)来保障软件的功能,然后就能做到持续发布。当然人工的测试在这一阶段还是不可缺少了,人工测试的工作量投入取决于自动化测试的覆盖程度。

因此新的软件工程的理念是:设计的部分都由人来进行,施工的阶段全都交给机器。据我了解目前只有少数顶尖公司的部分产品能够做到持续发布,它将成为软件工程的一个新课题。

宇宙常数与程序动态平衡的类比 宇宙常数与程序动态平衡的类比 关键词:宇宙常数、程序动态平衡、类比、软件工程、物理学 摘要 本文以宇宙常数与程序动态平衡的类比为主题,探讨了两者之间的相似性及其在各自领域的应用。通过一步步的分析和推理,本文阐述了宇宙常 阅读详情

相关推荐

软件工程成本估算:5种精准预测项目预算的方法

本文为软件项目经理、产品经理、技术负责人提供可落地的成本估算方法论,覆盖从项目启动(需求模糊期)到开发中期(需求明确期)的全阶段估算场景,重点解决“如何用历史数据/行业模型/专家经验精准预测人力、时间、资源成本”的核心问题。本文将按“场景-方法-工具-实战”逻辑展开:先通过“开蛋糕店”的故事引出成本估算的核心矛盾,再拆解5种方法的原理与适用场景,最后用电商平台开发案例演示如何组合使用多种方法,并附Python估算工具代码。项目阶段推荐方法原因启动期(需求模糊)类比法+专家判断法。

软件工程实践的博客 1443

建筑与软件

从一开始接触软件设计,从四人帮的《设计模式》中获知很多的软件设计模式来源于建筑领域,《设计模式》的灵感来源于亚历山大的《建筑的永恒之道》。随着工作经历的增加,接触到了软件项目管理、软件项目组织架构、软件开发生命周期、软件合作模式等更多方面的知识。对软件领域这些方面知识的接触,让我惊讶的发现,这些软件知识很多都脱胎于建筑领域。软件工程与建筑工程都作为典型的工程建设,从工程本质来讲是相通和相连的,两者

张青志的专栏 2189

软件工程领域项目管理的常见问题及解决办法

软件工程领域的项目管理对于项目的成功交付至关重要。本文章的目的在于系统地分析软件工程领域项目管理中常见的问题,并提供切实可行的解决办法。范围涵盖了从项目启动到结束的整个生命周期,包括需求分析、设计、开发、测试、部署等各个阶段。本文首先介绍了软件工程领域项目管理的背景信息,包括目的、预期读者和文档结构概述。接着详细阐述了核心概念与联系,分析了常见问题的核心原理和架构。然后针对这些问题给出了具体的解决办法,包括核心算法原理和操作步骤。之后通过数学模型和公式进一步解释问题和解决办法的原理,并举例说明。

软件工程实践的博客 885

软件开发不可与建筑类比

不要盲目地拿软件与建筑来类比,建筑是有几百年历史的成熟行业,而软件才几十年... 在软件行业,我们不是在建造,而是在探索!

呦呦鹿鸣 8760

Zotero+Obsidian+Bookxnote联动让文献阅读丝滑般体验

摘录文字或图片到Obsidian

weixin_43694742的博客 1万+

Frida实战:高效dump Android内存中的so文件与修复技巧

本文详细介绍了使用Frida工具dump Android内存中已解密so文件的实战技巧。针对加固应用静态分析失效的痛点,文章提供了从环境搭建、使用frida_dump脚本自动化抓取内存数据,到利用SoFixer工具修复ELF文件结构的完整流程,帮助逆向分析人员高效获取可分析的so文件。

tt34567的博客 527

建筑工程与软件工程

建筑有几千年的积累.而软件却只有几十年.建筑内容比软件固定.建筑的变化比软件少.软件却变化太大.建筑市场比软件市场规范.但是最近这两年发现软件工程在模仿建筑工程.引入电子工程的标准定额,学建筑的预算和决算.引入信息系统工程监理制度,模仿建筑工程中的监理软件中的设计模式在建筑中同样有.建筑设计中分:规划,方案,结构,施工图软件设计中分:信息系统规划,方案,

Technology & Stocks 1882

iPhone存储空间耗尽自救指南:从“白苹果”死锁到成功保数据刷机

本文详细介绍了iPhone存储空间耗尽导致'白苹果'死锁的解决方案,通过保留数据刷机方法成功恢复设备运行。文章分享了从失败尝试到最终成功的完整流程,包括关键操作步骤和预防措施,帮助用户在紧急情况下保住重要数据。

weixin_32578161的博客 287

软件工程和建筑工程

软件工程和建筑工程有异曲同工之处,以下是我的观点:   1.项目经理就是工地的包工头,负责工程的进度   2.常用的Jar就像钢筋水泥,要怎么样的钢筋水泥,要怎么搭配   3.软件设计就是工程设计,设计得好抗震能力就强,也比较美观   4.程序员就像是工地的堆砖砌瓦的工人   5.技术总监就是建筑工程里设计建筑蓝图的人...

zhenyaoMilenfan的专栏 745

Vitis开发环境下的双核ARM通信:Hello World背后的AMP架构解析

本文深入解析了Vitis开发环境下ZYNQ双核ARM Cortex-A9处理器的AMP架构与通信机制。通过详细的硬件配置、内存分配和核间通信实现步骤,展示了如何构建高效的双核Hello World系统,为嵌入式系统开发者提供了实用的开发指南和性能优化技巧。

weixin_29162439的博客 217

单片机通识之UART通信协议(如何用汇编实现)

使用汇编实现UART通信

smart_num_1的博客 996

项目经理和程序员之间的关系

人们通常把软件工程和建筑工程进行类比,总体上说,这两者之间确实很相似。但仔细想来,它们之间也有很大的区别。软件工程和建筑工程都可以说是一种艺术创作,但它们之间最大的区别我认为在于:建筑工程的艺术创作因素中止于设计图纸出来之后,建筑施工人员的任务就是不折不扣的按照图纸上去执行,并没有什么创作的余地。而软件工程的艺术创作因素却是贯串始终的,即使在详细设计出来之后,在编码过程中,如何使程序简洁高效、提高

duzonglin的专栏 2592

手把手教你用RC桥式振荡器生成1Hz-1MHz正弦波(附完整电路图)

本文详细介绍了如何从零构建RC桥式振荡器,实现1Hz-1MHz正弦波的生成。通过核心元件选型、参数设计、电路搭建与优化等步骤,帮助读者掌握振荡器的工作原理和实战技巧。特别适合电子实验和信号处理领域的初学者和工程师,附完整电路图和常见问题解决方案。

weixin_30338481的博客 466

思维的类比

这便是类比的威力所在,通过大家熟知的意像来对新概念体系进行 “速写”,然后再展开细节,对这些意像进行适当地裁剪,从而达到对真实的逼近。这些概念最初取材于现实的工业生产,我们将其拿来,通过合理地定义这些概念的含义和联系,可以轻松地构造复杂的任务调度系统。在这种模式下,我们可以从更高的维度、全局鸟瞰的视角来在不同的概念间进行穿梭,从而建立新的连接、打开新思路的入口。在专注模式下,缓冲器(图中蓝色的点)很密集,已经学到的知识就像是在小范围内形成的一些固定通路(图中橙色通路)

汤键的博客 614

S32K324 Stack异常分析及解决方案

在项目开发过程中,在一次软件变更时,调整了task优先级之后导致应用层软件中的float数据经常性的变为NAN,导致应用层功能失效。本文记录下这个bug的分析及解决过程。该问题排查了好几天,最开始正向排查不出来,差点放弃了,ETAS OS也没有人支持,只能换一种思路,通过反向推,最终定位到问题,能完美解决,还是很欣慰的。遇到问题不可怕,Bug一直都会有,主要是在解决问题中的思路和方法,不断总结积累,总会越来越好的!

赞的博客 596

Python爬虫教程:微博热点话题抓取与社交媒体分析

微博是中国最大的社交媒体平台之一,拥有海量的用户和丰富的讨论话题。通过爬取微博的热门话题和讨论内容,我们可以深入分析用户的兴趣、舆论走势、社会情绪等。通过爬取微博的热点话题和讨论内容,我们可以获得关于当前热门话题的宝贵数据,并基于这些数据进行多种社交媒体分析。本文将通过Python爬虫技术,详细介绍如何抓取微博上的热门话题、话题讨论内容,并进行社交媒体分析。希望本文为你提供了一个全面的微博数据抓取与分析的指南,帮助你在社交媒体数据分析的道路上迈出坚实的第一步。微博上的一些页面内容是静态的,可以直接通过。

2201_76125261的博客 589

类比法软件_编写软件时如何胜出:汽车类比

类比法软件 我意识到一个普通的类比将是帮助非工程师和非开发人员的有用工具……为什么不买车呢? 现代车辆是工程学的壮举。 以70英里/小时的速度从高速公路上驶下意味着必须消除各种振动和有害振动,以防止车辆自毁。 像我的卡车这样的现代车辆实际上具有类似于LAN的网络,称为CAN(控制器局域网),该网络将传输和无线电之间的所有内容连接到一条数字总线上。 制造车辆需要进行大量的研究和开发,与软件开发...

danpu0978的博客 436

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

软件工程概论

前言  最近在学习软件工程的相关东西,看来好多总结的博客,都还不错,但是总感觉不是很生动形象。所以我也试着总结了一下软件工程概论的一些观点和我的一些浅薄认识。正文  首先说什么是工程,我们常见的工程都由什么呢?或者说我们熟悉的工程都由什么呢?咱们先来看看百度百科上对工程的定义,如下:  工程是科学和数学的某种应用,通过这一应用,使自然界的物质和能源的特性能够通过各种结构、机器、产品、系统和过程,是...

朗福德的博客 791

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

你做不做? 做什么啊——软件工程

    曾经泛泛地看过本叫《代码大全》的书,其他都没记住,只记得讲到一个类比的问题,即“软件的开发”与 哪种人们比较熟知的事务有可比性,以便不熟悉软件开发的人(各级管理层,客户等)可以得到个大致合适概念。很多人都把“软件开发”类比成“房屋的建筑”,我也很同意这个类比。   在上海有很多在建的高楼大厦,路过那些工地,我常常会想:即便是100万行规模的软件开发,难道就比造一幢10来层的楼难度更大吗?

wuliaojiushuijiao的专栏 919

软件工程理论视角下的软件开发成本估算模型分析

但它的局限性在于,很难找到完全相同的项目进行类比,项目间细微的差异可能导致成本估算偏差较大,并且难以准确量化这些差异对成本的影响。例如,在评估一个小型移动应用开发项目成本时,专家会回忆以往类似规模和功能的项目成本情况,结合当前项目的独特需求,如是否需要集成特殊的第三方服务、目标用户群体对性能的特殊要求等,给出成本估算值。本文从软件工程理论视角出发,剖析常见的软件开发成本估算模型,探讨其原理、应用场景、优势及局限,为软件项目管理者在成本估算时提供科学的决策依据,以提升软件项目成本管理水平,保障项目经济效益。

2501_91522392的博客 871

软件工程的江湖

每周荐书第三期 纵览武侠江湖,制胜法门不外两项,内功和外功。二者得一可天下去得,但最终皆入内外兼修之境。 倚天是自内而外,先修内功九阳真经,然后以此为基础,加上太极拳和太极剑,最终成就天下第一高手。 笑傲是自外而内,先学独孤九剑,后学吸星大法,最后学易筋经。神雕也不外如是,玉女心经算是外功,内功则是独孤求败之法门。只修内不修外,好比万贯家财而不知用,张无忌也要得传太极方可天下...

十年互联网开发老兵,陪你一起学技术 430

软件 = 程序 + 软件工程

最近和几个同道谈论了一些程序,架构,软件的问题,大家身在此山中,绕来绕去,始终没有能有明确清晰的结论。我把一些想法写在这里,供专家指正。几乎所有程序员都知道“程序 = 数据结构+算法”这句名言。但是在实际的学习和工作中,也有不少人产生了疑问。 例如:1) 我写了二叉树的周游算法实现,在这里,二叉树是数据结构,周游的实现细节是算法。我写的C 程序就是结果。 但是我这个程序有什么用呢? 在

BOPGroup的专栏 2520

编写软件时如何胜出:汽车类比

我意识到一个通用的类比将是帮助非工程师和非开发人员的有用工具……为什么不买车呢? 现代车辆是工程学的壮举。 以70英里/小时的速度从高速公路上驶下意味着必须消除各种振动和有害振动,以防止车辆自毁。 像我的卡车这样的现代车辆实际上具有类似于LAN的网络,称为CAN(控制器局域网),该网络将传输和无线电之间的所有内容连接到一条数字总线上。 很多研究和开发都投入到制造汽车中,那么与软件开发相比又...

danpu0978的博客 168

软件工程项目估算方法课件介绍

软件工程项目估算方法课件介绍 去发现同类优质开源项目:https://gitcode.com/ 资源简介 此仓库包含了一套关于《软件工程项目估算方法》的课件资源,适用于软件工程及相关专业的教学和自学。课件详细介绍了软件项目估算的基本概念、常用方法以及实践应用,旨在帮助学习者理解和掌握软件项目估算的核心技能。 课件内容 课件内容涵盖以下关键部分: 软件项目估算概述:介绍了软件估算的定义、目的及其在...

gitblog_06744的博客 430

浅谈《软件工程》

《软件工程》视频看完了,虽然只是大概的看了一遍,但也是有收获的,先说说总体的感受:         什么是软件工程,我们到底在看什么?         在看视频前先辈就告诉我们软工视频要认真看,关系到我们今后设计软件的方方面面。但软件工程究竟重要在哪里?我认为最重要的是“工程”两个字,重要的是我们把一个虚拟的东西,用工程学的方式去处理他,这样就更科学合理的实现了开发软件,做到了高效率,高效益。

刘玉杰 点滴之笔 1044

0.2 构建之法|类比方式下的目录预览

我打算用足球中的元素来类比本书中的目录。 如果是平时踢野球,那么裁判、教练、俱乐部和观众都是不需要的,训练、战术、赛后分析也是不需要的。但是当你加入一个球队,进而参加一个正式的比赛,同时有很多观众成为你的粉丝,情况会变得不大一样。 ...

PearlyWave的博客 205
上一篇: 避免堆栈溢出
下一篇: 写日志
林 文
博客等级 码龄18年 14粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值