当前位置:首页 > 社会 >

软件开发方面的知识(软件开发需要哪些知识)

来源:原点资讯(m.360kss.com)时间:2024-04-22 15:27:19作者:YD166手机阅读>>

马克·安德森在2011年写过一篇文章,他判断 “软件将吞噬世界”。这篇文章主要阐述了两个观点:一,许多传统业务正在被软件公司取代; 二,很多公司都发现他们所提供的价值越来越多地来自于软件系统。


1.软件不是魔术
软件在我们看来它像魔术,但它既不是魔术也不是魔法。软件的每一个元素都是人为设计的,存在一定的数学基础,不是凭空变的,它需要设计、构建和维护。就像房屋那样,有地基、结构、房间和家具等多种系统一起工作,它的系统也是由许多个子系统所创建起来。
2.软件基本不会“完成”
软件是一个迭代的过程,根据用户的需求变换,其生命周期中存在不断的升级和修订。我们的工作就是创造一个让大家能认识到这一点的环境。同样,我们也从来不期待市场营销和客户获取会“完成”,因为这也是一个更新迭代的过程,在每个迭代过程中,我们不停的为业务交付价值,不断地学习和成长。即使我们成功做出了一些产品,我们也从不会“停止”做这件事情。
3.软件开发需要团队合作
软件开发需要团队作战,没有人可以做所有的事情,开发人员既不是质量工程师,也不是系统工程师、软件测试工程师或项目总监,组织需要所有的角色。没有哪个老板会建议员工既做销售又做营销,否则就不需要销售团队了,因为营销人员也了解公司的产品,也能做销售的工作。但销售和营销虽然是相关的,却又是不同的,所以两者之间需要明确的分工。


4.设计不是外观,而是工作原理
软件开发设计的不只是外观和感觉,设计就是工作原理,UI设计师不会决定菜单的颜色或按钮的形状,他们决定工作流和交互是什么。使用用户会在屏幕上看到三个选项,或者是一个选项,都是设计师根据心理学和对用户的同理心来决定的,并且不断地进行测试,再测试。
5.安全是每个人的责任
不管你是否知道,是否愿意,我们从事的其实都是安全行业。所有的软件都有安全需求和潜在的安全漏洞,甚至与软件开发相关的系统也都存在安全需求和漏洞。虽然有防火墙和入侵安全检测等基础的设施组件,但还远远不够,还应该使用内置的安全控制来设计、实现和维护软件平台。如果你以为我们不是被攻击的目标,那就错了,所有的计算机系统都是可能被攻击的目标,因为攻击不仅只是为了系统里的信息,更因为它是计算机这样的一个事实。
6.伟大的成功来自成千上万的小进步
伟大的成功来自于很长一段时期内所做的成千上万的小进步(变更)。如果变更的效果不是正面的,那变更将变成回滚。百度也不是一天建成的,它是数百万人改进的结果。搜索质量小组每周开会,工程师提出修改建议,委员会进行辩论和投票表决,几周后,对测量的结果进行评审,并决定保留还是继续回滚更改。在现实世界里,没有一夜成名,成功的背后都是无比艰辛的付出,和一次又一次的进步。


7.技术债不可避免
技术债务是指未来需要做的工作,因为现在我们会选择一个更简单的解决方案,而不是较好的,需要更长时间去完成的一个方案。只要是合理规模的软件项目都有技术债务,技术债务会让我们的进步变得缓慢,但是越忽视它,它就越会像滚雪球一样越滚越大。一些金融管理者听到“债务”时,会认为债务是一种有回报的投资,但技术债务刚好相反。
8.软件不会自己运行
软件并不会自己运行,任何基于软件的系统,特别是网站这类系统,都需要运维人员和运维流程。否则,软件就像一本没有打开的书,得有人打开阅读并管理它。运维比软件开发本身更重要,代码只写一次,却会运行数千万次。我们的工作就是希望运维成为任何软件系统的一部分,它应该像其他项目一样被计划、预算、管理和有效运行。
9.复杂的系统良好运行需要DevOps
复杂的系统最好是通过DevOps来改进,DevOps是一组过程、方法与系统的统称,用于促进(软件、程序等)开发、技术运营和质量保障部门之间的沟通、协作与整合。我们通常理解为是通过快速迭代加速交付价值,而这个过程需要所有相关人员的参与,也就是说他们应该跨职能团队进行协作。

,

栏目热文

软件开发有哪些领域(软件开发技术领域包括哪些)

软件开发有哪些领域(软件开发技术领域包括哪些)

目前软件编程应用的领域还是比较广泛的,不同的编程语言所应用的领域不同,随着相关领域的发展,从事软件编程工作具有比较广阔的...

2024-04-22 15:17:01查看全文 >>

软件开发理论知识(产品开发流程8个步骤)

软件开发理论知识(产品开发流程8个步骤)

  软件开发是典型的知识密集型产业,同时也需要一些工资、办公、设备和服务器成本。软件开发用钱不多,适合我这种缺钱的创业者...

2024-04-22 15:23:37查看全文 >>

软件开发十大常识(关于软件开发中七大原则)

软件开发十大常识(关于软件开发中七大原则)

2011年,马克·安德列森(Marc Andreessen)写了一篇文章,预言“软件吞噬世界”。观点主要有两个:第一,许...

2024-04-22 14:49:11查看全文 >>

软件开发领域最新技术(软件开发最前沿技术是什么)

软件开发领域最新技术(软件开发最前沿技术是什么)

金融界4月18日消息,有投资者在互动平台向中科软提问:请问贵公司有没AIGC布局?公司回答表示:AIGC是人工智能技术在...

2024-04-22 15:34:57查看全文 >>

软件开发实践领域(软件开发的行业领域)

软件开发实践领域(软件开发的行业领域)

根据程序员们的说法,Java是当今最常见的语言,目前有几种设备正在Java平台上运行,Java几乎涉及软件开发的每个领域...

2024-04-22 15:23:57查看全文 >>

如何选择软件开发领域(软件开发的一般流程是怎样的)

如何选择软件开发领域(软件开发的一般流程是怎样的)

APP开发的时代是瞬息万变的,所以,每一年比较热门的APP开发方向和领域都是不一样的,每款APP开发的类型都是可以参考当...

2024-04-22 15:21:14查看全文 >>

软件开发最新的趋势(软件开发行业目前的发展趋势)

软件开发最新的趋势(软件开发行业目前的发展趋势)

软件是科技行业的基石。无论是哪行哪业,从智能手机到复杂的企业系统,软件都是背后的驱动力。在探索数字时代的过程中,了解软件...

2024-04-22 15:14:24查看全文 >>

软件开发中需要的技术(软件开发中的基础知识详解)

软件开发中需要的技术(软件开发中的基础知识详解)

随着现代科技的高速发展,软件开发已经成为了一个重要的行业。软件开发是将计算机硬件、操作系统以及编程语言等综合运用起来,创...

2024-04-22 15:35:33查看全文 >>

软件开发基础知识体系(软件开发过程及规范)

软件开发基础知识体系(软件开发过程及规范)

大家好,今天我将为大家介绍软件开发的基础知识。首先需要了解软件开发的流程。一般来说软件开发包括以下几个步骤:需求分析、设...

2024-04-22 15:31:00查看全文 >>

软件开发经验总结(软件开发学习流程)

软件开发经验总结(软件开发学习流程)

在软件开发的广阔领域中,每一步都蕴含着无尽的挑战与机遇。成功的软件开发不仅依赖于技术实力,更在于对细节的把握和对过程的优...

2024-04-22 15:15:51查看全文 >>

文档排行