1 系统设计的基本原理
(1)抽象
(2)信息隐蔽
(3)模块化
将待开发软件分解为多个可独立开发、测试的模块,分而治之,最后组装。
(4)模块独立
每个模块完成一个相对独立的子功能,与其他模块联系相对简单。
模块关联性判断标准:耦合性、内聚性
耦合性
耦合性指模块间的相对独立性,取决于模块间接口的复杂程度、调用模块的方式、通过接口的信息类型。
耦合方式有七种类型(由上到下耦合性增加、独立性降低):
内聚性
内聚性指一个模块内部各元素联系紧密程度,理想情况下一个内聚性高的模块应只做一件事。
内聚性有七种类型,由上到下内聚性增加、模块独立性增加。
2 数据流图
(1)基本图形元素(主要通过英文字母来区分E、D、P、无)
外部实体
当前系统之外的人、物、系统。
数据存储
存储输出数据、提供输入数据
加工
将输入数据(至少一个)加工得到输出数据(至少一个)
只有输入没有输出:黑洞
只有输出没有输入:白洞
输入不足以产生输出:灰洞
数据流
数据流的起点和终点必须有一个是加工,经加工后数据流应有变化,不能不变。
(2)父图子图平衡
父图仅包含要开发的系统和外部实体,描述了它们之间的输入和输出。
方式1:两幅图中数据流应一一对应。
方式2:加工既有输入又有输出(输入输出数量不要求相同)。
方式3:数据守恒。
阶段补充:
过程设计:根据加工规格说明和控制规格说明进行
数据设计:数据字典和实体关系图
接口设计、体系设计:数据流图