【软件需求评估(竞品软件调研)】的基础上,我们开始要对产品的软件模块进行划分,从如下几个角度来谈一下模块划分

一、模块划分的目的

模块划分的目的,本质上是分解系统的复杂度。如果一个整体系统直接开发,那么这个整体的复杂度较高,个人或者团队难以完成。

同时,对系统进行模块划分,则可以将不同的模块交由不同的工程师负责,便于团队开发。

那么,模块划分要做到什么粒度呢?是粗一点好,还是越细越好呢?

我觉得模块划分的粒度要适中(好中庸的想法,似乎是万能标准答案),适中到某一个粒度,此时模块的复杂度可以让工程师接受,工程师有能力完成模块。

二、模块划分的方法

划分的方法有很多,我现在使用得比较多的有如下几种方法:

1.场景划分

嵌入式设备可以用于各种场景下面,那么可以根据场景对模块进行划分

2.软件层次划分

软件分层进行开发,像操作系统、网络协议都是分层。对于我们的系统而言,也是可以分层进行划分

3.开发阶段划分

在开发过程中,早期重点在于功能的开发,中期后期重点在性能优化。因此,可以通过开发阶段来对模块进行划分

三、场景划分

对于嵌入式软件而言,涉及嵌入式产品的生产方面,因此一般会分成两种模式,分别是:

1.用户模式

2.产测模式

四、软件层次划分

对于用户模式而言,我一般会再分成三种类型,如下:

1.驱动层

2.系统层

3.应用层

五、开发阶段划分

对于整个开发阶段,可以分成前期、中期、后期。在每个周期里面,软件的重点不一样

1.前期:功能开发

2.中期:性能优化

3.后期:修改bug&证明思维的自测

六、查漏补缺保证完整性

在分析完需求之后,整个系统会清楚很多,但还是会有很多不清楚的地方,所以这次的模块划分是初步的,后续要持续进行。

只有每隔一段时间(建议以周为单位)进行模块划分回顾,才能保证查漏补缺,保证整个系统划分模块的完整性。

七、智能音箱项目的模块划分

划分的情况如下图所示

results matching ""

    No results matching ""