耦合:耦合度越高模块独立性越低,模块独立性越高越好,所以要解耦合。耦合取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的信息类型
无直接耦合 | 数据耦合 | 标记耦合 | 控制耦合 | 外部耦合 | 公共耦合 | 内容耦合
无直接耦合:指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,之间不传递任何信息。
数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
标记耦合:指两个模块之间传递的是数据结构。
控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一功能。因此,被调用模块应具有多个功能,哪个功能起作用受调用模块控制。
外部耦合:模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式上)时称为外部耦合。
公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。 内容耦合:当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时,这种模块之间的耦合称为内容耦合。
内聚:内聚度越高模块独立性越高,
偶然内聚(巧合内聚)。指一个模块内的各处理元素之间没有任何联系。
逻辑内聚。指模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
时间内聚。把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。 特定时间过程内聚。指一个模块完成多个任务,这些任务必须按指定的过程执行。
通信内聚。指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。
顺序内聚。指一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
功能内聚。这是最强的内聚,指模块内的所有元素共同作用完成一个功能,缺一不可。
系统结构设计原则:
自顶向下原则。优先抓住核心功能,逐层向下分解,先决定上层功能再决定下层功能
模块耦合度尽可能小,内聚程度尽可能高,模块的扇入扇出系数要合理。模块调用其他模块叫做扇出,被其他模块调用叫做扇入,不能过大。
模块的作用域在控制域内,模块规模合适最好,过大分解不充分,过小接口会复杂
系统文档:要用到系统文档的人员有系统开发人员、项目管理人员、系统维护人员、系统评价人员、用户
系统规划-系统分析阶段:可行性研究报告、总体规划报告、系统开发合同、系统方案说明书供给用户和开发人员使用
项目开发阶段:系统开发计划(任务分解表、PERT图、甘特图)、系统开发月报、系统开发总结、项目管理文件供系统开发人员和项目管理人员使用
系统测试阶段:系统方案说明书、系统开发合同、系统设计说明书、测试计划供系统测试人员和开发人员使用
系统运行阶段:用户手册和操作指南供系统开发人员和用户使用
系统运维阶段:系统设计说明书、系统开发总结报告供系统开发人员和系统运维人员使用。系统运行报告、维护修改建议、开发留下的技术手册供用户和系统运维人员使用
数据字典:包含数据流、数据项、数据存储、基本加工。加工逻辑常用的表述方法有结构化语言、判定树、判定表。选择题中常考判定表和判定树