返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 扫码关注
  • 功能模块设计要素有哪些?

    提问:小白 | 时间:2022-12-24 14:45:05

    标签:功能模块,设计要素

回答者:库茂机器人 | 时间:2022-12-28 14:48:26

功能模块是指数据描述、可执行语句和其他程序元素的集合。它是指可以通过名称、函数、子例程或宏调用的单独命名的过程。功能模块化是将程序分成几个功能模块,每个功能模块完成一个子功能,然后将这些功能模块组合成一个整体。满足整个系统所需的功能。

功能模块设计要素

1.提高功能模块的独立性

在获得软件结构后,我们首先应该专注于提高功能模块的独立性,以测试是否应该提取或合并某些功能模块,并努力减少耦合以改善内部聚合。例如,多个功能模块的子功能可以独立形成一个功能模块,这些功能模块可以调用该功能模块。有时,可以通过分解或合并功能模块来减少控制信息的传输和对全局数据的引用,并且可以减少接口的复杂性。

2.功能模块规模适中

经验表明,当功能模块太大时,功能模块的可理解性将迅速降低。但是,当分解过多的功能模块时,功能模块的独立性不应降低。因为当一个大型功能模块被分解时,功能模块之间的依赖性可能会增加。

3.深度、宽度、风扇和风扇应适当

如果深度太大,这意味着某些控制模块可能很简单。如果宽度太大,则表明系统控制过于集中。如果风扇太大,则意味着功能模块太复杂,需要控制和协调太多下级模块。此时,应适当提高中间水平。如果风扇太小,可以将下部模块进一步划分为几个子功能模块,也可以将其合并到上部功能模块中。功能模块的风扇输入表示直接调用了多少上级功能模块。风扇输入越大,共享模块的优势模块越多,这是有益的。

4.模块的功能范围应保持在模块的控制范围内

功能模块的功能范围是指受功能模块中的判断影响的所有功能模块的集合。功能模块的控制范围是指功能模块和直接或间接属于它们的所有功能模块的集合。在一个设计良好的系统中,所有受判断影响的功能模块都应属于做出判断的功能模块,而判断应限于功能模块本身及其较低的模块。修改不满足此条件的软件结构的方法是向上移动判断点,或将功能模块移植到控制范围内,但不在控制范围内。

5.功能模块可以提高模块接口的复杂性和冗余性,提高一致性

功能模块的复杂界面是导致软件错误的主要原因之一。应仔细设计模块接口,使信息传输简单,功能与模块一致。

6.设计为单出口功能模块,以避免不良连接

为了防止内容耦合,如果功能模块从顶部和底部退出,则该软件更易于理解和维护。病理连接是指从中间进入或访问模块。

7.可以预测模块的功能

如果一个功能模块可以用作黑匣子,只要输入数据相同,就会产生相同的输出,并且可以预测模块的功能。具有内部存储器的功能模块可能不可预测,因为它可能记录内部标志并使用该标志来选择处理方案。由于上级功能模块看不到该标志,因此可能会造成混淆。

8.根据设计约束和迁移要求组装软件

汇编是指将软件组合到特定的处理环境中或将其发送到其他地方。有时,设计约束要求程序覆盖内存。如果是这样,则必须重新组织原始设计结构,以根据重复次数、访问频率和调用之间的间隔来组合功能模块。