软件设计子系统的划分通常遵循一定的原则和方法,以确保系统的合理性、可维护性和可扩展性。以下是一些常见的子系统划分方法:
按职能划分
这是最常用的一种方法,根据系统的管理功能进行划分。例如,一个系统可以划分为财务、物资、销售、人事管理等子系统。
按逻辑功能划分
将相类似的处理逻辑功能放在一个子系统里。例如,把所有业务输入数据的编辑功能放在一个子系统里,形成“通用数据输入编辑子系统”。
按时间划分
把要在同一时间段执行的各种处理结合成一个子系统或模块。
按过程划分
即按工作流程划分,从控制流程的角度看,同一子系统或模块的许多功能都应该是相关的。
按通信划分
把相互需要较多通信的处理结合成一个子系统或模块,以减少子系统间或模块间的通信,使接口简单。
按环境划分
根据系统运行的环境进行划分,例如,将系统划分为面向内部使用的子系统和面向外部客户的子系统。
按数据流划分
利用U/C矩阵方法,通过功能与数据类的关系来划分子系统。这种方法有助于理解系统内部的数据流动和处理过程。
按模块划分
在总体设计阶段,将系统划分为若干个子系统,子系统进一步划分为模块,直到每个模块都能作为计算机可执行的单独程序。
在进行子系统划分时,还应遵循一些原则,如:
子系统要具有相对独立性,内部功能和信息凝聚性好,减少子系统间的相互影响。
子系统之间数据的依赖性尽量小,接口要简单明确。
子系统划分的结果应使数据冗余较小,避免大量原始数据和中间结果的需要。
子系统的设置应考虑今后管理发展的需要,以适应未来可能的管理需求变化。
子系统的划分应便于系统分阶段实现,以适应分期分批的开发过程。
通过以上方法和原则,可以有效地对软件系统进行子系统的划分,从而提高软件的质量和开发效率。