• 【软件设计师-从小白到大牛】上午题基础篇:第五章 结构化开发方法


    前言


    本系列文章为观看b站视频以及b站up主@zst_2001系列视频所做的笔记,感谢相关博主的分享。如有侵权,立即删除。
    视频链接:视频链接(注:文章中有关图片、以及网友的相关评论与总结等内容未标明出处均出自该视频,感谢大家的分享!)
    b站up主页:b站up

    结构化设计

    1、基本原则

    在这里插入图片描述

    • 模块的作用范围应该在其控制范围之内=模块的作用域应该在模块之内

    真题链接

    • 在软件设计阶段,划分模块的原则是:一个模块的作用范围应该在其控制范围之内
    • (注:下图来自《软件工程导论》(第6版)(张海藩、牟永敏主编,清华大学出版社))
      在这里插入图片描述
      (说明:当模块的作用范围不在其控制范围之内时的调整方法)

    2、内聚与耦合

    在这里插入图片描述

    内容耦合的耦合程度最高;非直接耦合的耦合程度最低。

    真题链接

    • 模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为 内容耦合
    • 公共耦合:通过公共数据环境相互作用的那些模块间的耦合。
    • 标记耦合:两个模块之间传递的是数据结构。
    • 耦合程度取决于各个模块之间接口的复杂程度调用模块的方式 以及 通过接口的信息类型 等。
    • 内容耦合:当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时,这种模块之间的耦合称为内容耦合。
    • 逻辑内聚:模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
    • 偶然内聚(巧合内聚):一个模块内的各处理元素之间没有任何联系。
    • 通信内聚:模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。
    • 过程内聚:一个模块完成多个任务,这些任务必须按指定的过程执行。
    • 顺序内聚:一个模块中的各处理元素都密切相关与同一个功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
    • 在划分软件系统模块时,应尽量做到 高内聚低耦合

    3、系统结构/模块结构

    在这里插入图片描述

    • (注:下图来自前言中up主视频)image
      (说明:模块分类)
    • (注:下图来自前言中up主视频)image
      (说明:结构化设计各阶段任务)

    真题链接

    • 结构化开发方法中,过程设计 主要包含对数据结构和算法的设计。
    • 在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的 数据流图。接口设计的任务主要是 描述软件与外部环境之间的交互关系,软件内模块之间的调用关系
    • 结构图 是结构化设计的输出。
    • 结构图的基本成分包括 模块、调用和数据

    用户界面设计的黄金原则(补充)

    • Theo Mandel在其关于界面设计的著作中提出了3条“黄金原则”:用户操纵控制减少用户记忆负担保持界面一致

    真题链接

    • Theo Mandel在其关于界面设计的著作中提出了3条“黄金原则”:用户操纵控制;减少用户的记忆负担;保持界面一致
    • 采用MVC(模型-视图-控制器)体系结构进行软件系统开发的优点:有利于代码重用、提高系统的可维护性、提高系统的开发效率

    数据流图(补充)

    注:具体理论内容见下午基础篇:数据流图

    真题链接

    • 顶层数据流图描述了系统的 输入与输出
    • 在结构化分析中,用数据流图描述 数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模
    • 数据字典有以下4类条目:数据流、数据项、数据存储和基本加工
    • 数据流图中的元素在 数据字典 中进行定义。
    • 在采用结构化方法进行系统分析时,根据分解与抽象的原则,按照系统中数据处理的流程,用 数据流图 来建立系统的逻辑模型,从而完成分析工作。
    • 利用结构化分析模型进行接口设计时,应以 数据流图 为依据。
    • 数据流图建模应遵循 自顶向下、从抽象到具体
    • 结构化分析的输出包括:数据流图、数据字典、加工逻辑

    系统文档(补充)

    • (注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))在这里插入图片描述

    真题链接

    • 在开发信息系统时,用于系统开发人员与项目管理人员的主要文档是 系统开发计划
    • 系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,它包括 PERT图预算分配表 等。
  • 相关阅读:
    Python数据分析与机器学习4-Matplotlib
    【c++】搜索二叉树的模拟实现
    公共安全数据协同治理的逻辑框架与网络形式——以兰州市食品安全领域为例
    【MySQL知识点】默认约束、非空约束
    TCP/IP协议栈在内核态的好还是用户态的好
    常用安全产品系统默认口令
    PHP 通过 Redis 解决并发请求的操作问题
    关于QTcreator,19年大学时写的文章了,之前写在印象笔记现在拉过来,往事如烟呐
    纯Python实现遗传算法
    笔记 vue3 如何引入第三方字体
  • 原文地址:https://blog.csdn.net/dzk666123/article/details/133253382