软件开发二三事

来源:互联网 发布:墨子号 知乎 编辑:程序博客网 时间:2024/05/02 02:56

一个人周日闲下来,不由地想起很多事情。

先讲一个我在山东出差做软件开发时候的事情。那时候我们下班了,决定去吃饺子,四个人要了四份饺子,而且口味不同。等到饺子上来的时候,四份饺子被混在了一起,口味当然乱了。我们每个人吃到的好多是别的口味的饺子。店家只图自己下饺子方便了,忘记了我们的需求,但那天我们心情好,原谅了店家的做法。如果在工作中遇到客户的需求,我们没搞清楚,客户是不会原谅我们的,返工是必然的。

再讲一个关于吃的事情,在山东电力的时候,我们经常中午去旁边吃黄焖鸡米饭。味道好自然不必说了,不论你选大份、中份、小份,还是特辣、微辣、与不辣,或是你要在里面加什么东西,他都能在十分钟内给你做好端出来,我们每次去都比较满意。回想我们工作的时候,有时也不能怪客户的需求多,如果我们预先有各种组合的方案,便可见招拆招,被动也将大大减少了。

还要讲一些关于我们去饭店的事情。有一天,我们去了一家兰州拉面馆,当时我们很饿了,在座位上坐了好几分钟,没人搭理我们,都像耳朵聋了一样,表情呆滞地看着我们,点菜也没反应。我们很生气地摔门而出。每到周日,我们总爱去香格里拉小区的一家杭州小笼包店,其实也不是那个小笼包多好吃。只是每次去都是店家积极地招呼你,除了吃饭和付钱,别的根本无需考虑。在工作中也是一样,积极地做完客户的需求,不至于陷入被动。越是拖延,中间的波折越多。

世界上的很多事情都是相通的,由此及彼,举一反三。开发软件的工作,教会了我遇事总要想方法,而不是干着急。有问题就解决问题嘛。

对于一个软件,考虑设计架构,也是一个比较重要的事情。一直有很多人在谈论架构,到底什么是架构,好多人含糊其词。百度百科里是这么写的,软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。

我承认,我会写点代码,对软件架构方面的东西也没有很深刻的理解,只有一些粗俗的见解。

软件架构应该包含设计架构、运行架构和界面架构。

设计架构有点类似于游戏引擎,开发一个新的系统,不需要重头开发第一行代码。应该有一套可以用的API和底层的类库,快速构建出这个软件的各个子系统和雏形,例如用户管理系统、权限控制系统、通用业务子系统。

运行架构是构建与设计架构之上,根据用户需求和业务流程设计的架构,这层架构满足了用户主要的业务需要。业务流和数据流在这层实现,数据库在这一层设计实现。

界面架构是根据用户的自身的行业特点和审美需求出发,实现的架构。



经过几个月的出差,我也获得了一些经验,对开发软件有了一些新的认识。

用户对于自己的业务需求是很明确的,他至少知道自己要干什么。

用户对软件的界面需求不是很明确,绝大多数的需求是在改界面和细节。

如果把重要的业务代码放在界面里,界面调整时会死得很惨。



但是,事情从来不会在开头就是圆满的。我常想,为什么上帝不在创造世界的时候,我们这个世界直接就是很高科技、很美好的。

这个世界是不完美的,但是上帝允许这个世界存在进化和演变的过程。



我一直反对开天辟地式的去设计一个新软件,这样会创造另一个不完美。软件也应该像生物一样不断地演变进化,历经不断的用户考验和测试者的测试,逐渐地走向完善和完美。
一个人周日闲下来,不由地想起很多事情。

   先讲一个我在山东出差做软件开发时候的事情。那时候我们下班了,决定去吃饺子,四个人要了四份饺子,而且口味不同。等到饺子上来的时候,四份饺子被混在了一起,口味当然乱了。我们每个人吃到的好多是别的口味的饺子。店家只图自己下饺子方便了,忘记了我们的需求,但那天我们心情好,原谅了店家的做法。如果在工作中遇到客户的需求,我们没搞清楚,客户是不会原谅我们的,返工是必然的。

再讲一个关于吃的事情,在山东电力的时候,我们经常中午去旁边吃黄焖鸡米饭。味道好自然不必说了,不论你选大份、中份、小份,还是特辣、微辣、与不辣,或是你要在里面加什么东西,他都能在十分钟内给你做好端出来,我们每次去都比较满意。回想我们工作的时候,有时也不能怪客户的需求多,如果我们预先有各种组合的方案,便可见招拆招,被动也将大大减少了。

还要讲一些关于我们去饭店的事情。有一天,我们去了一家兰州拉面馆,当时我们很饿了,在座位上坐了好几分钟,没人搭理我们,都像耳朵聋了一样,表情呆滞地看着我们,点菜也没反应。我们很生气地摔门而出。每到周日,我们总爱去香格里拉小区的一家杭州小笼包店,其实也不是那个小笼包多好吃。只是每次去都是店家积极地招呼你,除了吃饭和付钱,别的根本无需考虑。在工作中也是一样,积极地做完客户的需求,不至于陷入被动。越是拖延,中间的波折越多。

世界上的很多事情都是相通的,由此及彼,举一反三。开发软件的工作,教会了我遇事总要想方法,而不是干着急。有问题就解决问题嘛。

对于一个软件,考虑设计架构,也是一个比较重要的事情。一直有很多人在谈论架构,到底什么是架构,好多人含糊其词。百度百科里是这么写的,软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。

我承认,我会写点代码,对软件架构方面的东西也没有很深刻的理解,只有一些粗俗的见解。

软件架构应该包含设计架构、运行架构和界面架构。

设计架构有点类似于游戏引擎,开发一个新的系统,不需要重头开发第一行代码。应该有一套可以用的API和底层的类库,快速构建出这个软件的各个子系统和雏形,例如用户管理系统、权限控制系统、通用业务子系统。

运行架构是构建与设计架构之上,根据用户需求和业务流程设计的架构,这层架构满足了用户主要的业务需要。业务流和数据流在这层实现,数据库在这一层设计实现。

界面架构是根据用户的自身的行业特点和审美需求出发,实现的架构。

 

经过几个月的出差,我也获得了一些经验,对开发软件有了一些新的认识。

用户对于自己的业务需求是很明确的,他至少知道自己要干什么。

用户对软件的界面需求不是很明确,绝大多数的需求是在改界面和细节。

如果把重要的业务代码放在界面里,界面调整时会死得很惨。

 

但是,事情从来不会在开头就是圆满的。我常想,为什么上帝不在创造世界的时候,我们这个世界直接就是很高科技、很美好的。

这个世界是不完美的,但是上帝允许这个世界存在进化和演变的过程。

 

    我一直反对开天辟地式的去设计一个新软件,这样会创造另一个不完美。软件也应该像生物一样不断地演变进化,历经不断的用户考验和测试者的测试,逐渐地走向完善和完美。

0 0
原创粉丝点击