单片机软硬之争

大漠之洲   2010-4-28 08:29 楼主
引子:单片机系统是非常典型的软硬结合的系统

对软件和硬件能力的要求很平均

软件上,你会得自己处理协议、组织控制逻辑甚至加密解密等

硬件上,你们会用运放调整信号、设计合适的电源稳定的驱动电路等

在开发管理上,常见的有以下两种模式:

一:大家一起完成系统架构,然后软件硬件独立分开,在框架设计时约定接口。分别测试,最后系统联调。

二:由一高手(通常是老工程师)归纳好所有结构框架,组织下面几个单片机工程师(可能各有所长)逐步构建系统。

这两种模式各有优势和不足,你们采取的是哪种?

执行效果怎么样?说说您的感受,也为这个看似简单到不需要管理(其实更需要管理)的行业积累一点你的经验

回复评论 (57)

单片机就是一个人搞定,软硬通吃。不存在团队放入问题。
执行效果很好,常见于中小规模的公司。
点赞  2010-4-28 08:46
引用: 引用 1 楼 azmao 的回复:

单片机就是一个人搞定,软硬通吃。不存在团队放入问题。
执行效果很好,常见于中小规模的公司。


项目的规模足够小的话,那当然一个人做完是最合适的

但这样也带来很多问题:

这个人的工资开多少?

技术积累怎么保障?

这个人被挖走了怎么办?技术传承如何解决?

如果将来的项目他一个人做不下来怎么办?临时招人,这个可是更郁闷的。

我相信有超级明星,但是,除非他自己开的公司、拿公司股份或者是大公司,否则这样的超级明星对中小规模的的公司来说并不能说是很好的模式
点赞  2010-4-28 09:32
技术传承是很大的问题
点赞  2010-4-28 09:40
看你管理的规模,

如果规模大,可以学习一下华为 中兴 这样的团队;

如果规模小,小公司,都是1-2个牛人工程师,1个人一个项目搞定
点赞  2010-4-28 13:05
版主今天那么有空,呵呵,自己搞个帖子。
小公司的话,很多都是自己负责项目的,特别是单片机项目,说难谈不上,大不了就说它复杂。毕竟代码量不会太多。外围的电路也不会太多,就算很多,也是模块式的,很多都已经是成熟的模块,网上电路图一大把。我公司就是小公司,所有的压力都自己扛。

不过,有点规模的公司我就不清楚了,呵呵。

假如真的要二选一的话,我选第一个。
这两种方式的区别就在系统架构上面。软硬件人员协商,考虑到的东西会比较周全吧,毕竟三个臭皮匠顶一个诸葛亮啊,前提是他们有相关的经验,呵呵!
点赞  2010-4-28 13:22
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2010-4-28 13:46
技术的积累和传承很重要~~
点赞  2010-4-28 13:46
现在是一个人软件和硬件都做!希望使用第一种!
点赞  2010-4-28 13:58
一个团队 最好是软硬件方面人才都有吧,但是现在 现实是要一个人丛PCB 搞到 程序部分比较多
点赞  2010-4-28 16:46
"一:大家一起完成系统架构,然后软件硬件独立分开,在框架设计时约定接口。分别测试,最后系统联调。"
虽然是“一起”,但还得有主次之分。主要是指遇到分歧怎么办?必须有人能拿主意。一旦确定后坚决执行。所以,第二种比较理想。由高人总体负责结构,然后分而治之。这样一来也比较容易控制进度,毕竟高人的经验多,对开发时间的掌握比较准确。
点赞  2010-4-28 16:55
纠结中..这是个很复杂的问题,自从单片机系统出来后这个问题就一直困扰着各方人士.
以上为个人瞎说!
回贴,捞分,示以存在!
点赞  2010-4-28 16:59
引用: 引用 8 楼 galle 的回复:

现在是一个人软件和硬件都做!希望使用第一种!


很多公司都这么干的。感觉单片机系统的开发自古以来就这样

也不知道是谁给咱这行数定下了这样的规矩

是何立民哥?还是周立功哥?天知道呢
点赞  2010-4-28 17:48
引用: 引用 5 楼 peasant_lee 的回复:

版主今天那么有空,呵呵,自己搞个帖子。
小公司的话,很多都是自己负责项目的,特别是单片机项目,说难谈不上,大不了就说它复杂。毕竟代码量不会太多。外围的电路也不会太多,就算很多,也是模块式的,很多都已经是成熟的模块,网上电路图一大把。我公司就是小公司,所有的压力都自己扛。

不过,有点规模的公司我就不清楚了,呵呵。

假如真的要二选一的话,我选第一个。
这两种方式的区别就在系统架构上面……


这关于以下几点提出来的:
1.新人不知道学软件还是学硬件,看到坛子里不少这样的贴子
2.个人经历这两种模式,感觉也都对,也都不完整。所以列出来和大伙聊聊

点赞  2010-4-28 17:50
新人想学什么,跟着感觉走最好,看自己喜好什么,就做什么,呵呵,

世间上,没有两全其美的东西吧,呵呵,这个问题就正如用C好还是用汇编好?只有具体到什么公司,什么环境下,什么情况下,才有个取舍的定夺,呵呵,,个人愚见!
点赞  2010-4-28 18:03
引用: 引用 10 楼 jiqiang01234 的回复:

"一:大家一起完成系统架构,然后软件硬件独立分开,在框架设计时约定接口。分别测试,最后系统联调。"
虽然是“一起”,但还得有主次之分。主要是指遇到分歧怎么办?必须有人能拿主意。一旦确定后坚决执行。所以,第二种比较理想。由高人总体负责结构,然后分而治之。这样一来也比较容易控制进度,毕竟高人的经验多,对开发时间的掌握比较准确。


通常要面对的问题是:

这样的高人不好找,而且,咱周边的高手呢,有很多都是专家型的到管理上不一定能体现出水平

第一种:这个存在很大的问题是成员间的通信,《人月神话》里就对这个问题做出了很好的解答,但是,这样的构建成本和风险对于小公司来说相对是比较低的,它不怕人走,当然集体跳槽那没办法。能保证一定的人才积累,随着公司的成长,有可能会慢慢熬出一两个高手。这将迎来团队的春天!

其实,我个人比较认同第二种方案,也是典型的外科手术团队的形式(手术团队不需要太多的外科医生(牛人、高手),有且仅有一个就够了,然后给他配备相应的护士和麻醉师等辅助其工作,让他专心设计同时助手们也能得到提高和成长),现在大多数老板也都采用这种方案,只不过他们都习惯性的只要一个牛人,然后,把它当成一神牛,一人拉着公司项目的重车。让一牛X的医生一个人去完成一例手术!这显然比较荒唐,可是我们单片机工程师很多人每天都在做着这样的事。呵呵(所有依据来自《人月神话》)
点赞  2010-4-28 18:05
引用: 引用 15 楼 lbing7 的回复:
引用 10 楼 jiqiang01234 的回复:
这样的高人不好找,而且,咱周边的高手呢,有很多都是专家型的到管理上不一定能体现出水平

第一种:这个存在很大的问题是成员间的通信,《人月神话》里就对这个问题做出了很好的解答,但是,这样的构建成本和风险对于小公司来说相对是比较低的,它不怕人走,当然集体跳槽那没办法。能保证一定的人才积累,随着公司的成长,有可能会慢慢熬出一两个高手。这将迎来团队的春天!

其实,我个人比较认同第二种方案,也是典型的外科手术团队的形式(手术团队不需要太多的外科医生(牛人、高手),有且仅有一个就够了,然后给他配备相应的护士和麻醉师等辅助其工作,让他专心设计同时助手们也能得到提高和成长),现在大多数老板也都采用这种方案,只不过他们都习惯性的只要一个牛人,然后,把它当成一神牛,一人拉着公司项目的重车。让一牛X的医生一个人去完成一例手术!这显然比较荒唐,可是我们单片机工程师很多人每天都在做着这样的事。呵呵(所有依据来自《人月神话》)

《人月神话》开始我是想提及一下的,不过感觉在单片机论坛提还是稍微有点太“虚空”,不实在。
实际项目中,根据我的经验,还是比较喜欢软硬分开,但二者都对对方的内容有相当的了解,然后由一个人主导制定总体方案,然后分头开发,最终合并调试。这样都可以发挥自己的长处,毕竟软硬都强的牛人太可遇而不可求。
点赞  2010-4-28 21:42
不知道楼主说的单片机的软都要做哪些工作?  我认为单片机的软实际上也是硬。
点赞  2010-4-29 09:44
软硬件通吃
点赞  2010-4-29 10:38
引用: 引用 17 楼 sherlock_lai 的回复:

不知道楼主说的单片机的软都要做哪些工作?  我认为单片机的软实际上也是硬。


通信协议实现过没?人机接口界面实现过没?各种不同的控制逻辑实现过没?

这都是硬不起来的,嘿嘿
点赞  2010-4-29 10:43
123下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复