广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >软件开发的核心原则有哪些
  • 715
分享到

软件开发的核心原则有哪些

2024-04-02 19:04:59 715人浏览 安东尼
摘要

这篇文章主要讲解了“软件开发的核心原则有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“软件开发的核心原则有哪些”吧!作为一名程序员,小伙伴们有没有想过这

这篇文章主要讲解了“软件开发的核心原则有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“软件开发的核心原则有哪些”吧!

作为一名程序员,小伙伴们有没有想过这个简单的问题,“软件是什么?”可以闭上眼睛让自己想一会,如果觉得有点抽象不太好回答的话,来看看我的答案。

看完这两个直观的公式,是不是有一种恍然大悟的感觉,“哦,原来这样啊。”

再来看四条对“软件”的定义,虽然比较枯燥,但概念是到位的:

  • 软件是能够完成预定功能,达到预期性能的,可以执行的计算机指令;

  • 软件是能够让程序处理适当信息的数据结构;

  • 软件是描述程序操作和使用的文档;

  • 软件是一种逻辑实体,具备知识性的产品集合,是对物理世界的一种抽象,同时又是一种人脑智力的成果。

在很多自以为是的甲方眼里,软件是廉价的,可以随意复制的,因此他们经常提出一些苛刻的要求,其中有一些让软件开发者感到哭笑不得:“这个需求简单的嘞,你去网上随便找个现成的,改一改就好了呀,花不了多长时间的,一个月可以搞定吧?”每次听到类似的话,我的心里就有一万只草泥马奔腾而过。

软件开发并不是一件轻而易举的事情,需要经历下面这些基本过程:

1)软件计划,确定产品定位和目标用户。这一步是需要甲方去规划和调研的。

2)软件需求分析:根据甲方需求,分析出甲方需要的产品功能。这一步是需要项目负责人(或者产品经理)去和甲方沟通的。

3)根据需求进行设计:包括概要设计和详细设计。这一步是需要项目负责人(或产品经理)做的,并且要正确地传达给开发人员。

4)编码并运行。这一步是需要开发人员去做的。

5)测试:确认甲方需求,对设计和结果进行验证。开发人员要进行单元测试,集成测试,如果有专业的测试团队的话,就需要站在甲方和用户的角度去测试整体产品是否符合要求并达到性能要求。

6)维护:保证软件能够在正式环境下运行,并且对一些缺陷(bug)进行修正,或者对功能进行完善,或者对性能进行改进,不断迭代软件版本。

瞧,软件开发的过程并没有甲方想象中那么简单,如果有小伙伴遇到不讲理的甲方,就把这篇文章扔给他好好看看。

既然软件开发的过程是有难度的,是需要付出时间和精力的,那就有必要遵循一些原则,否则开发成本就会变得很昂贵,开发周期就会拖延很长时间。

软件开发的核心原则有哪些

原则一:Don't Repeat Yourself。

直译叫做“不要重复你自己”,还有另外一个耳熟能详的版本,“不要重复造轮子”。

在你一开始进入软件开发这个领域后,就一定要注意,把你自己写过的一些解决方案汇总到一起,定期梳理一遍,写点文档,不断重构,使它们成为一把把瑞士军刀。如果可以的话,把它们开源出来,服务更多的开发者。

有了自己的工具库后,当你下次遇到类似的需求时,就可以直接拿出来用,省去不少时间。

除此之外,你还应该善于利用那些业界已经开源出来的成熟的技术方案,比如下面这些。

软件开发的核心原则有哪些

GitHub  和码云是两个充满宝藏的地方,如果你觉得自己的能力还不到自己造轮子的份上,那就一定要多上上这两个网站,里面有很多成熟的解决方案供你免费使用。

比如说,你要一套商城系统,那么 marcozheng 的 mall 就可以直接拿来作为原型。比如说,你要一套人事管理系统,那么江南一点雨的 vhr  就可以直接拿来作为原型。(虽然推荐了很多次,但好朋友的,多推荐一次不嫌多。)

原则二:Keep it simple stupid。

著名的 KISS 原则,即“保持简单、保持愚蠢”,和史蒂夫·乔布斯的名言“stay hungry, stay foolish”有着异曲同工之妙。

从苹果产品的设计上也可以体现出来这个原则,起初的手机,比如说诺基亚智能机,带很多实体键,但苹果只有一个 home  键,其他全部虚拟键代替,彻底革了诺基亚的命。

在我们设计软件的过程中,千万不要想得太复杂,越简单越好,等成型了以后再丰富效果,否则开发成本会变得很昂贵,软件就可以腹死胎中。

原则三:You Ain't Gonna Need It。

英文直译为“你不需要它”,该规则要求程序员在必要之前不应该添加功能。极限编程的联合创始人罗恩·杰弗里斯(Ron  Jeffries)曾经说过:“总是在实际需要时才实现事物,而不是在预见到需要它们时才实现。”

项目负责人(产品经理)更应该坚持这条原则,千万不要过度拆解用户的需求,在产品设计的过程追加过多自己认为应该追加的功能,因为在一个软件使用中,往往 80%  的请求都花费在 20% 的功能上。

很多次要的功能可能需要,因为它们的存在而使软件锦上添花,但没有它们,软件的商业价值依然是存在的。功能越少,开发周期就会越短,这样就更有可能打败竞品。

原则四:Done is better than perfect。

Done is better than perfect because perfect is never done。

很简单的一句英文,能理解吧?

不要总想着把所有的功能做完善,做完美后再上线,应该在产品具有一定的雏形后就立即上线试错,根据用户的反馈,根据市场的需求再去考量是否追加一些其他的功能或者优化

“人无完人,金无足赤”,应该允许一些瑕疵存在,刻意追求完美并不见得是一件好事。乔布斯想要一整块屏幕,但技术达不到的时候,他也是会留一个 home  键的。

我们程序员在开发软件的时候,也应该遵循这条原则,先把功能做出来再说,至于效果,用户的体验,应该往后放,不要总想着尽善尽美,尽善尽美意味着永远也完不成——没有最好,只有更好。

原则五:Choose the most suitable things。

选择最适合的,不要盲目追求时髦。技术日新月异,应接不暇,如果在开发软件的时候,一味追求最前沿的技术,可能就会让产品变成小白鼠。

就好像我们谈一场恋爱,不要一味去追求高不可攀的,往往那些在我们身边的,肯陪伴我们的才是最好的。

技术选型的时候,适合就好。如果产品的目标用户只有一千人不到,就没必要搞分布式,搞大数据,否则就有点“蛇吞象”的意味;等真到了需要搞分布式,搞大数据的时候再升级完全来得及。

感谢各位的阅读,以上就是“软件开发的核心原则有哪些”的内容了,经过本文的学习后,相信大家对软件开发的核心原则有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 软件开发的核心原则有哪些

本文链接: https://www.lsjlt.com/news/84613.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 软件开发的核心原则有哪些
    这篇文章主要讲解了“软件开发的核心原则有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“软件开发的核心原则有哪些”吧!作为一名程序员,小伙伴们有没有想过这...
    99+
    2022-10-19
  • 开发智能小程序有哪些原则
    这篇文章给大家分享的是有关开发智能小程序有哪些原则的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。开发智能小程序四大原则。第一、定位要准确。 现在每天都有大量的小程序上线,在这种情况下,如何脱颖而出,开发前的精确定...
    99+
    2023-06-27
  • java开发语言的软件开发平台有哪些
    Eclipse :Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java De...
    99+
    2014-09-16
    java入门 java
  • win10打开软件非常慢的原因有哪些
    Win10打开软件非常慢的原因可能有以下几个:1. 硬件配置低:如果计算机硬件配置较低,例如内存容量较小,处理器速度较慢,硬盘读写速...
    99+
    2023-08-26
    win10
  • Git、JavaScript 和 Java 容器:为何它们是现代软件开发的核心?
    现代软件开发中,Git、JavaScript 和 Java 容器已经成为了不可或缺的核心。这三个技术分别负责着代码管理、前端开发和后端开发,它们各自的作用不可替代,而它们一起的配合更是让开发效率和质量得到了极大提升。 首先,我们来看一下Gi...
    99+
    2023-09-12
    容器 git javascript
  • 小程序开发的重心有哪些
    今天小编给大家分享一下小程序开发的重心有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1,明确您的发展方向小程序开发的功...
    99+
    2023-06-27
  • PHP开发者必备的Windows IDE软件有哪些?
    PHP是一种流行的Web编程语言,广泛用于开发Web应用程序。对于PHP开发人员来说,选择一个合适的Windows IDE软件是必不可少的。在这篇文章中,我们将介绍一些PHP开发人员必备的Windows IDE软件。 PhpStorm ...
    99+
    2023-11-02
    windows ide 编程算法
  • Web前端开发工程师需要掌握的核心技能有哪些
    Web前端开发工程师需要掌握的核心技能有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Web前端开发所涉及的内容主要包括W3C标准中的结构、行为和表现,那么...
    99+
    2023-06-08
  • Web开发者不可不知的编码原则有哪些
    这篇文章主要讲解了“Web开发者不可不知的编码原则有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Web开发者不可不知的编码原则有哪些”吧!1、善用DI...
    99+
    2022-10-19
  • Java开发中的规则有哪些
    今天就跟大家聊聊有关Java开发中的规则有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、关键字&标识符关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词...
    99+
    2023-05-31
    java ava
  • 种软件开发职位的技能需求有哪些
    本篇内容主要讲解“种软件开发职位的技能需求有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“种软件开发职位的技能需求有哪些”吧!1.面向对象的程序设计语言是J...
    99+
    2022-10-19
  • 电脑软件闪退的原因有哪些
    这篇文章主要讲解了“电脑软件闪退的原因有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“电脑软件闪退的原因有哪些”吧! 原因:...
    99+
    2023-03-19
    电脑
  • 开源软件的优缺点有哪些
    这篇文章主要介绍“开源软件的优缺点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“开源软件的优缺点有哪些”文章能帮助大家解决问题。优点:1、开源软件解决方案很容易压缩和携带,会耗费更少的硬件资源...
    99+
    2023-07-05
  • Uber回馈开源的软件有哪些
    今天就跟大家聊聊有关Uber回馈开源的软件有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。当地时间 5 月 10 日上午,出行巨头 Uber 在纽交所挂牌上市,股票代码为“UBE...
    99+
    2023-06-05
  • 手机软件项目开发中的常用语言有哪些
    1、Java Java:Java是Android开发的传统语言,有着广泛的社区支持和丰富的开发资源。Java的跨平台性使得它可以运行在不同的操作系统和硬件上,但Java的运行效率相对较低。 Java的设计哲学更倾向于跨平...
    99+
    2023-10-29
    手机软件 常用 语言
  • 面向初学者的免费软件开发资源有哪些
    本篇内容介绍了“面向初学者的免费软件开发资源有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. De...
    99+
    2022-10-19
  • Golang常见的应用场景在软件开发中有哪些?
    Golang作为一种开发语言,具有简洁高效、并发性能强等特点,因而在软件开发中有着广泛的应用场景。下面将介绍一些常见的应用场景。网络编程Golang在网络编程方面表现出色,特别适合构建高并发、高性能的服务器。它提供了丰富的网络库,开发人员可...
    99+
    2023-12-28
    云计算 web开发 分布式系统
  • java并发编程的原则和技巧有哪些
    这篇文章主要为大家展示了“java并发编程的原则和技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java并发编程的原则和技巧有哪些”这篇文章吧。并发编程的原则和技巧  1、单一职责原则...
    99+
    2023-06-27
  • 电脑软件卸载不了的原因有哪些
    电脑软件卸载不了的原因可能有以下几种:1. 程序正在运行:如果软件正在运行,系统会阻止卸载操作。在卸载软件前,确保先关闭软件。2. ...
    99+
    2023-09-12
    电脑
  • ubuntu安装软件不成功的原因有哪些
    1. 源列表配置错误:可能是由于源列表配置错误导致软件无法安装。可以通过检查源列表配置文件是否正确,并更新源列表来解决该问题。2. ...
    99+
    2023-10-08
    ubuntu
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作