搜索
bottom↓
回复: 32

一个大项目想要模块化开发加快开发进度,请问架构图怎么画比较好?

[复制链接]

出0入0汤圆

发表于 2020-5-14 10:49:22 | 显示全部楼层 |阅读模式
如题所示:
目前有一个大的单片机软件项目,涉及多个协议交互,前后台任务,UI界面处理,如果要用模块化,分给多个人怎么架构比较好!

如:有读ID卡、IC卡、CPU卡、蓝牙、网络、串口等交互,各个口又会涉及修改FLASH参数等,如果用架构图规划,建议用什么图来表示,UML?

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出10入18汤圆

发表于 2020-5-14 10:50:53 | 显示全部楼层
成本不敏感的话,分成几个MCU负责不同功能,内部走通信,参考大疆。

出0入0汤圆

 楼主| 发表于 2020-5-14 10:59:04 | 显示全部楼层
qtechzdh 发表于 2020-5-14 10:50
成本不敏感的话,分成几个MCU负责不同功能,内部走通信,参考大疆。 ...

成本非常敏感,打算榨干M0

出0入34汤圆

发表于 2020-5-14 11:12:45 | 显示全部楼层
就区块图加甘特图吧。

出0入0汤圆

发表于 2020-5-14 11:15:04 | 显示全部楼层
你所谓的大项目 具体有多大

出110入0汤圆

发表于 2020-5-14 11:29:46 | 显示全部楼层
GUI / 蓝牙 / 网络
现在刚坑过的项目就类似,用了一颗M4
很好奇什么M0的RAM可以大到容纳这些需求

出0入46汤圆

发表于 2020-5-14 12:07:47 | 显示全部楼层
这关键好像不在架构图上,上个OS或核心开发人员确定一个整体程序框架之后,才能拆分任务,并且需要总体协调每个任务之间的耦合关系,到时候画图能讲清楚就行了

出0入0汤圆

 楼主| 发表于 2020-5-14 13:40:11 | 显示全部楼层
jasonzhu8888 发表于 2020-5-14 12:07
这关键好像不在架构图上,上个OS或核心开发人员确定一个整体程序框架之后,才能拆分任务,并且需要总体协调 ...

现在就是拆分任务,耦合处理,头疼呢

出0入0汤圆

 楼主| 发表于 2020-5-14 13:40:46 | 显示全部楼层
Flyback 发表于 2020-5-14 11:29
GUI / 蓝牙 / 网络
现在刚坑过的项目就类似,用了一颗M4
很好奇什么M0的RAM可以大到容纳这些需求 ...

有些用的是模块,不是直驱

出0入328汤圆

发表于 2020-5-14 14:10:38 来自手机 | 显示全部楼层
画架构图可以参考一下C4模型

出140入8汤圆

发表于 2020-5-14 15:10:50 | 显示全部楼层
这玩意算一个大项目么?
看完楼主的大项目描述
我自信心膨胀了一下...

出0入4汤圆

发表于 2020-5-14 16:42:05 | 显示全部楼层
用m0的,项目应该不大吧,,一个人都搞定了吧。

出0入0汤圆

 楼主| 发表于 2020-5-14 17:27:31 | 显示全部楼层
cwei 发表于 2020-5-14 16:42
用m0的,项目应该不大吧,,一个人都搞定了吧。

只能说也不小,还追求时间,一个人2礼拜真干不完

出0入98汤圆

发表于 2020-5-14 17:28:03 | 显示全部楼层
我习惯是先用xmind打草稿,主要是速度快,用着顺手,免费
然后在用visio图把思维导图里的东西整理出来,画成框图

出0入0汤圆

发表于 2020-5-14 17:46:28 | 显示全部楼层
本帖最后由 zy473551 于 2020-5-14 17:47 编辑

用什么不是关键

关键是,找个核心的人能梳理出来整个项目目标,然后从上到下逐级分解,分解到不能再分的任务。(项目管理叫 WBS)

然后找到不同的人完成不同的任务,且要规划好各个任务(功能)如何验证是否符合要求。

总之,目标明确,分解细致,过程监控(检验)

出0入0汤圆

发表于 2020-5-14 18:00:50 来自手机 | 显示全部楼层
分模块 每个模块定接口 上层模块只调用接口

出10入18汤圆

发表于 2020-5-14 19:51:23 来自手机 | 显示全部楼层
gsq19920418 发表于 2020-5-14 17:27
只能说也不小,还追求时间,一个人2礼拜真干不完

你想多了,两礼拜?
俩月之后你再来看帖。

出0入9汤圆

发表于 2020-5-15 10:07:50 | 显示全部楼层
2礼拜好好梳理分工吧。

出0入34汤圆

发表于 2020-5-15 10:45:31 | 显示全部楼层
qtechzdh 发表于 2020-5-14 19:51
你想多了,两礼拜?
俩月之后你再来看帖。

估计两年后此帖还是在的,呵呵~  

出0入46汤圆

发表于 2020-5-15 13:42:56 | 显示全部楼层
gsq19920418 发表于 2020-5-14 13:40
现在就是拆分任务,耦合处理,头疼呢

参考驱动开发,定义一堆结构,里面一堆函数指针。
这样耦合就轻了。

出0入0汤圆

 楼主| 发表于 2020-5-15 14:03:38 | 显示全部楼层
zy473551 发表于 2020-5-14 17:46
用什么不是关键

关键是,找个核心的人能梳理出来整个项目目标,然后从上到下逐级分解,分解到不能再分的任 ...

这个适合小组管理,关键是多组配合

出0入0汤圆

 楼主| 发表于 2020-5-15 14:04:10 | 显示全部楼层
xyz543 发表于 2020-5-15 10:45
估计两年后此帖还是在的,呵呵~

论坛好像不能删帖

出0入0汤圆

 楼主| 发表于 2020-5-15 14:04:45 | 显示全部楼层
jasonzhu8888 发表于 2020-5-15 13:42
参考驱动开发,定义一堆结构,里面一堆函数指针。
这样耦合就轻了。

有书或者介绍吗?争取这个项目做完了,模块都可以复用

出0入0汤圆

发表于 2020-5-15 15:17:46 | 显示全部楼层
qtechzdh 发表于 2020-5-14 19:51
你想多了,两礼拜?
俩月之后你再来看帖。

按照lz说的这些模块,没有积累,从零开始要是两周能完成,
我真的得审视自己的能力还能继续干这行不。

出0入46汤圆

发表于 2020-5-15 19:54:05 | 显示全部楼层
gsq19920418 发表于 2020-5-15 14:04
有书或者介绍吗?争取这个项目做完了,模块都可以复用

其实这就是接口设计思路。这块我也是零散了解。你如果没有上os,应该也可以很快定义出一套类似的东东。
然后,总体框架就针对这些结构模块进行设计——初始化、间隔循环调用、回收等等。一些中断之类的可能需要统一用框架管理。
做下去就会发现和os的思路就有点接近了。

每个结构代表一个模块,内部提供部分数据参数和函数指针,这样实现者就针对这个结构体做模块开发,本质就是实现结构体中每个函数指针所规定函数。
然后每个模块最终提供这个结构体对象给框架。框架不需要了解具体实现,只需要调用相关的函数指针即可。
当然,除了函数指针,可能还需要在框架部分做一些公共内存区域,已便于一些数据交换。这些数据区域,可能会成为每个模块所需要的参数。

这部分内容,建议你从总体上直接开始做,自己再做1-2个模块配合调整测试,差不多可以之后,就可以分配任务了。当然,第一次估计还会有些折腾,
反正盯住每个模块开发的进展,碰到问题该调整架构就调整,该改接口就改。

以上仅凭我个人经验分享,我也没做过上述过程,但相信思路还是有点用的。希望能帮到你

出0入34汤圆

发表于 2020-5-16 16:16:35 | 显示全部楼层
gsq19920418 发表于 2020-5-15 14:04
论坛好像不能删帖

所以您应要努力给完成这个项目,然后再于坛内发一帖项目心得篇,不然此贴还真是会留在坛子内好多年的哈~

出0入0汤圆

发表于 2020-5-16 22:42:19 | 显示全部楼层
jasonzhu8888 发表于 2020-5-15 19:54
其实这就是接口设计思路。这块我也是零散了解。你如果没有上os,应该也可以很快定义出一套类似的东东。
...

Linux的驱动就是这么弄的

出0入0汤圆

 楼主| 发表于 2020-5-18 08:55:45 | 显示全部楼层
simplorer 发表于 2020-5-15 15:17
按照lz说的这些模块,没有积累,从零开始要是两周能完成,
我真的得审视自己的能力还能继续干这行不。 ...

有一定的积累,但是目前就是来个着急项目,一个人加班到累死,别人不能做,不熟悉流程

出0入0汤圆

 楼主| 发表于 2020-5-18 08:56:33 | 显示全部楼层
jasonzhu8888 发表于 2020-5-15 19:54
其实这就是接口设计思路。这块我也是零散了解。你如果没有上os,应该也可以很快定义出一套类似的东东。
...

目前也是这么想的,在完善

出0入0汤圆

 楼主| 发表于 2020-5-18 09:34:47 | 显示全部楼层
https://blog.csdn.net/weixin_40079894/article/details/102817433

找到一篇比较有意思的文章

出10入18汤圆

发表于 2020-5-18 10:04:15 来自手机 | 显示全部楼层
gsq19920418 发表于 2020-5-18 09:34
https://blog.csdn.net/weixin_40079894/article/details/102817433

找到一篇比较有意思的文章 ...

工期快过了一半了,还不赶紧去搬砖,工头要着急了

出0入0汤圆

 楼主| 发表于 2020-5-19 13:10:49 | 显示全部楼层
qtechzdh 发表于 2020-5-18 10:04
工期快过了一半了,还不赶紧去搬砖,工头要着急了

并不着急,工期还没开始,人都没有配全

出0入90汤圆

发表于 2020-5-19 15:50:22 | 显示全部楼层
关键词:芯片M0, 时间2周。
这能写出啥大项目来?一般最小的项目我才用M0。我们现在正常的项目是用的3000块钱的ZYNQ核心板。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-28 09:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表