课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习软件编程开发技术,而今天我们就一起来了解一下,软件开发架构设计步骤都有哪些。
1.设计文档
只要进入编程领域,大家都知道要高内聚、低耦合,分模块、分层设计。
但是具体需要怎么做?
如何在规定好的项目周期内把事情做好,而且让自己没那么累?
如何为自己后期的维护做好铺垫?
。。。
这些问题可能在项目初期的时候,都规划的比较好。
但是在执行过程中,就会越来越偷懒,越来越偏离预定义的方向。
我的建议是:
无论项目的大小,无论项目周期的长短,一定要有设计文档,设计文档的详细程度就需要根据项目的实际情况进行灵活把握了。
在设计文档中,就要把架构方面的设计体现出来。在实现的过程中,严格按照文档中的要求来做。
取乎其上,得乎其中;取乎其中,得乎其下。
2.程序文件的物理模型
(1)分层设计
业务层
功能模块层
驱动层
(2)分模块设计
根据功能来划分模块
模块之间通过API接口函数进行数据交互
设计灵活的API接口函数
3.进程与线程的选择
在嵌入式系统中,实现产品的功能,可以通过多个进程相互配合来完成,也可以用多线程来实现,这个选择没有固定的标准,视项目的具体情况而定。
我一般的做法是:
如果产品功能不复杂,尽量用多线程来实现;
如果产品设计到的功能比较多,那么就把强相关的模块放到独立的进程中。
(1)使用进程
各模块独立编译,不会相互影响。
出现类似SegmentFault问题,很容易定位到肇事者。
方便分布式部署。
代码安全:除了整合人员,其他人只需要clone自己负责的模块代码,没有权限、也不需要访问别人的代码。
但是:需要考虑到进程之间的通信问题,比如:IPC调用、socket通信、总线。(我一般都会采用在本地系统内使用一条MQTT总线来挂接所有的通讯模块)
(2)使用线程
创建线程成本低。
线程之间共享全局变量(换个角度,这也是一种缺点)。
模块之间调用方便,因为函数地址直接可见。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。