最后
正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
(1)抽象
重点说明一个实体的本质方面,忽略或掩盖不太重要或非本质的方面。
抽象的最底层就是实现该软件的源程序代码。
较低抽象层次的模块是较高抽象层次模块对问题解法描述的细化。
(2)模块化
在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编制的元素,模块是可以组合分解和更换的单元。
【目的】使程序的结构清晰、容易阅读、理解、测试和修改
(3)信息隐蔽
开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,在定义每一个模块时,尽可能少地显露其内部的处理。
【目的】提供软件的可修改性、可测试性、可移植性。
(4)模块独立
每个模块完成一个相对独立的特定子功能,并且与其他模块联系简单。
【衡量标准】:耦合性和内聚性。
2.【耦合】
(1)无直接耦合:两个模块之间【没有】直接关系,【不传递】任何信息。耦合性【最弱】,独立性最高。
(2)数据耦合:两个模块间【有调用】关系,传递的是【简单的数据值】。
(3)标记耦合:两个模块之间传递的是【数据结构】。
(4)控制耦合:一个模块【调用】另一个模块时,传递的是【控制变量】,被调用模块通过控制变量的【值】有选择地执行模块内的某一功能。
(5)外部耦合:通过【软件之外】的环境联结(如I/O将模块耦合到特定的设备、格式、通信协议上)。
(6)公共耦合:通过一个【公共数据】环境相互作用的那些模块的耦合
(7)内容耦合:一个模块调用另一个模块的【内部数据】,或通过非正常入口转入另一个模块内部。
3.【内聚】
(1)偶然内聚:一个模块内各处理元素【没有任何关系】
(2)逻辑内聚:执行若干【逻辑上相似的功能】,通过【参数】确定该模块完成哪一功能。
(3)时间内聚:需要【同时执行】的动作【组合】在一起的模块
(4)过程内聚:一个模块完成【多个任务】,这些任务必须按照指定的过程执行
(5)通信内聚:所有处理元素都在【同一数据结构】上操作,或各处理使用相同的【输入数据】或产生相同的【输出数据】
(6)功能内聚:【最强】的内聚,所有元素共同完成同一功能,缺一不可。
4.【系统结构设计原则】
(1)分解-协调原则
(2)自顶向下的原则
(3)信息隐蔽、抽象的原则
(4)一致性原则
(5)明确原则
(6)模块之间的耦合尽可能小,模块的内聚度尽可能高。
(7)模块的扇入系数和扇出系数要合理。(评价扇入(一个模块调用其他模块的个数)、扇出系数通常是【3或4】,一般【不超过7】)
(8)模块的适当规模
5.子系统划分原则
(1)子系统要具有【相对独立性】
(2)子系统之间的【数据依赖尽量小】
(3)划分的结果应使【数据冗余小】
(4)设置应考虑【今后管理发展的需要】
(5)便于【系统分析阶段实现】
(6)考虑到【各类资源的充分利用】
6.【模块的4个要素】
(1)输入和输出:输入和输出都是【同一个调用者】,即一个模块从调用者那里取得输入,进行加工后再返回给调用者。
(2)处理功能:【输入】转换成【输出】所在的工作。
(3)内部数据:仅供该模块【本身】应用的数据
(4)程序代码:【实现】模块【功能】的程序。
7.模块结构图
(1)所有模块其内部的凝聚行要强,模块之间的联系要少,即模块间有较强【独立性】。
(2)所有模块之间的联系可能存在【上下级】之间的调用,不能有同级之间的横向联系。
(3)整个系统呈【树状结构】,不允许有网状结构或交叉。
(4)所有模块必须严格【分类编码】并建立【归档文件】
8.文档
(1)【用户】与系统【分析人员】:(规划、分析阶段):可行性报告、总体规划报告、系统开发合同和系统方案说明书。
(2)系统【开发人员】与项目【管理人员】:(项目期内):系统开发计划、系统开发月报告、系统开发总结报告
(3)系统【测试人员】与系统【开发人员】:系统方案说明书、系统开发合同、系统设计说明书、测试计划
(4)系统【开发人员】与【用户】:用户手册、操作指南
(5)系统【开发人员】与系统【维护人员】:系统设计说明书、系统开发总结报告(研制报告、技术报告、技术手册
(6)【用户】与【维修人员】:(运行维护期间):技术手册
(二)结构化分析方法
1.【处理】任何【复杂问题】的两个基本手段
(1)抽象
(2)结构化方法:自顶向下逐层【分解】,自底向上【抽象】。
组成:一套分层的【数据流图】、一本【数据字典】、一组【小说明】(加工逻辑说明)、补充材料
2.【数据流图(DFD)组成】
数据流:(数据的流向)
加工:【输入】数据流到【输出】数据流的变换
数据存储:存储数据(介质有:磁盘、磁带、其他存储介质)
外部实体:系统所需数据的【源】(发源地)、【宿】(数据的归宿地)
(*“与”、+“或”、异或“互斥”)
3.分层数据流图的【审查】
(1)父图与子图【平衡】。输入/输出数据流保持一致。
(2)数据【守恒】。输出数据流数据从输入数据流中获得,或通过该加工的处理而产生。
加工未使用其输入数据流中的某些数据项。
(3)【局部】数据存储。
(4)一个加工输出数据流【不能】与该加工输入数据流【同名】。
4.数据字典(DD)
内容:数据流、数据项、数据存储、基本加工。
5.加工逻辑说明
(1)结构化语言(外层:顺序、选择、循环;内层)
(2)判定表
(3)判定树
(三)结构化设计(SD)方法
1.步骤
(1)建立一个满足软件需求的初始【结构图】(自顶向下、逐步求精、信息隐蔽、高内聚低耦合)
(2)对结构图【改进】
(3)书写设计文档
(4)设计评审
2.DFD信息流分类
(1)变换流:外部形式转换为内部表示
(2)信息流:信息沿着输入通路到达另一个事务中心,选择一个来执行。呈辐射状。
最后
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容
心,选择一个来执行。呈辐射状。
最后
[外链图片转存中…(img-wXH6ZVMT-1715625667222)]
[外链图片转存中…(img-y9YBUKAB-1715625667223)]
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容