软件工程基础篇(四):软件设计阶段
推荐思维导图:https://www.jianshu.com/p/fca183849535
回顾:可行性研究——值不值得做
需求分析——做什么
设计(总体设计,详细设计)——怎么做
软件设计的概念
模块化
模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,每个子模块解决一定的问题,所有子模块的组合构成满足系统需要的整体。
模块具有以下几种基本属性:
接口:指模块的输入与输出。
功能:指模块实现什么功能。
逻辑:描述内部如何实现要求的功能及所需的数据。
状态:该模块的运行环境,即模块的调用与被调用关系。
功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。
模块独立
耦合
耦合性:是对一个软件结构内不同模块之间互连程度的度量。
耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。