软件开发中,最难的地方是什么?

软件开发需要三个要素:

1. 软件工程师;

2. 行业专家;

3. 销售推广市场,提供测试环境;

软件工程师懂得软件编程的语法,但不懂软件应用的专业知识,这个也不是一两个月的调研就能搞清楚的,这是跨专业的学习,软件工程师没有这个本事,这需要行业专家;但行业专家也不可能面面俱到,因此还需要一个能不断提出问题的测试环境,第一个客户就是勇于尝鲜的小白鼠,客户也在付诸成本,接受市场的不断测试,才能提升软件的品质。

这里不讨论市场推广的难易,就谈软件开发中的困难。

1. 确定业务;

2. 确定技术架构;

3. 确定界面;

4. 开发之;

业务,软件工程师是肯定不懂的,但经过了调研,总是能不断入门,一开始走偏,会慢慢校准;

技术架构,其实表面上困难,但实际上就是多线程的分解,把锁,信号,消息用好,经验很重要,但任何一个软件公司都必然有软件架构师,群策群力总是能解决的;

大部分软件开发的具体工作都是集成,集成成熟的软件模块,这其实没有什么太难的,当然查找和验证,是不是适合当前产品,这确实要花点时间。

其实最难的是确定界面,界面是软件工程师、产品精力、行业专家、客户的各种诉求汇聚的点,一开始,软件界面都是奔着简洁的方向进行开发,但很快由于客户的各种反馈,软件界面会越来越复杂,各种开关,输入框,下拉表,最后软件变成了工程师们最早讨厌的样子,小功能几千个。很多功能的描述都不齐全,各种条件,让产品经理放弃产品设计。

chatGPT之所以厉害,就是因为它把图灵完备的描述方式,改成了学习和自适应,但不是所有系统都能上AI,因为数据不充分,AI可能反而是歪路。

我认为软件开发中,最难的就是界面的确定,自定义功能都是软件客户需要的功能,这个不靠软件售价便宜来解决,真要使用软件,软件价格实际上是成本最低的。界面确定的工作中,要想保持简洁,只能通过脚本来完成,对于80%的用户,对软件的各种主要开关进行控制就好,对于20%的发烧友客户,他们需要的功能并不需要呈现为开关、单选框等,而是可以以配置脚本的方式呈现。

所以,作为一个高质量的软件,要想维护简洁的界面,最重要的就是要有一个脚本解释器,用来解释用户的各种自定义开发能力。比如,在小猪股票交易软件中,提供了:策略输入脚本,通达信公式解释器,i语言代码/图等多种图灵参数集,这使得小猪股票软件既满足了80%的用户傻瓜式的操作,又满足了高手的操作,而整个软件界面都非常简洁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qurrel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值