什么是营销型的网站杭州公司查询
web/
2025/10/3 3:09:54/
文章来源:
什么是营销型的网站,杭州公司查询,网站开发主要做什么,学python能干嘛目录
前言#xff1a;
一、软件工程中的软件设计种类#xff1a;根据宏观到微观分
#xff08;1#xff09;软件架构设计#xff08;层次划分、模块划分、职责分工#xff09;#xff1a;
#xff08;2#xff09;软件高层设计、概要设计#xff08;功能模块的接…目录
前言
一、软件工程中的软件设计种类根据宏观到微观分
1软件架构设计层次划分、模块划分、职责分工
2软件高层设计、概要设计功能模块的接口与协作细节
3软件详细设计模块内具体实现方式
二、软件设计的性能指标高内聚、低耦合分类
2.1 概述
2.2 内聚类型模块内部高内聚
2.3 耦合类型模块之间低耦合
参考 前言
软件设计按照阶段分为架构设计、高层设计/概要设计、详细设计。结构化设计是软件设计的基础高内聚、低耦合是评估软件设计非常重要的指标。在开始软件设计之前我们先讨论一下这个主题。
一、软件工程中的软件设计种类根据宏观到微观分
软件架构设计、软件高层设计和软件详细设计是软件开发中三个重要的设计层次它们各自关注不同的设计方面如下所述
1软件架构设计层次划分、模块划分、职责分工
确定软件系统的整体结构和组织方式包括系统的分层、模块划分、框架选择等。系统架构设计关注系统的稳定性、可靠性和可扩展性以及系统各个组成部分之间的交互和接口。软件架构设计是从系统整体级别出发通过对系统的组成部分、各部分之间的关系及其所承担的功能等进行梳理和设计确定系统总体的结构风格、包括框架和组件的分配、接口、数据流动等。软件架构设计的目的是为整个系统提供一个坚实、可靠、高效、稳定和可维护的基础需要考虑因素包括系统的可用性、可伸缩性、可维护性、可安全性等。关注整体的非功能性需求
2软件高层设计、概要设计功能模块的接口与协作细节
软件高层设计是在软件架构设计的基础上进行的它关注的是系统中各个模块和组件的功能细节和交互方式确定系统各个模块之间的接口方式和合理的协作关系从而实现系统的预期功能。由于高层设计服务于架构设计其需要考虑到诸如结构合理、功能完备以及后期的扩展和调整等目标。关注接口定义与编程语言无关
3软件详细设计模块内具体实现方式
软件详细设计是在软件高层设计的基础上进一步细化关注的是每个模块和组件的实现和具体实现方式包括数据结构、算法、代码实现等方面的细节问题其目的是为软件开发的人员提供具有可行性和可实现性的详细设计方案。详细设计涉及到诸如如何编写代码、如何测试代码、如何实现功能等具体实现问题其层次较为具体化详细设计直接指导编码实现与具体的编程语言相关
因此软件架构设计、软件高层设计和软件详细设计在软件开发的不同阶段发挥着至关重要的作用。一个好的设计方案可以有效地解决软件开发中的复杂性和不确定性并提高软件的可靠性、可维护性和可扩展性。 二、软件设计的性能指标高内聚、低耦合分类
2.1 概述 高内聚和低耦合是面向对象设计中的两个重要原则它们分别指对象内部的功能关系和对象之间的关系。 1高内聚模块内部
高内聚是指一个对象或一个模块内部的各个元素属性、方法之间的联系越紧密协同工作的完成度越高这个对象或模块的内聚性就越高。
高内聚的设计方法能够带来以下好处
提高了对象或模块的可读性、可维护性和可重用性因为每个元素都具有独立的功能且与对象或模块的整体功能相关降低了系统中出现错误的概率因为缺少的元素会影响到整个对象或模块的功能。
2低耦合模块之间
低耦合是指对象或模块之间的耦合度越低它们之间的关系越少、越简单这个对象或模块的耦合性就越低。
低耦合的设计方法能够带来以下好处
提高了系统的模块化程度各个对象或模块之间相互独立便于分工协作和并行开发降低了系统中出现错误的概率因为更改一个对象或模块不会影响到其他对象或模块减少了错误蔓延的风险。
在面向对象设计中高内聚和低耦合是非常重要的原则它们能够帮助设计出更加稳定、可靠、可维护和可扩展的软件系统。其中高内聚和低耦合被认为是相辅相成的原则一个对象或模块内部高内聚同时和其他对象或模块之间低耦合是最优的设计方法。
如下是高内聚、低耦合 与 低内聚、高耦合的比较 内聚Cohesion和耦合Coupling是软件设计中两个极其重要的概念它们都是衡量软件模块质量的重要标准且密切相关。
内聚是指一个模块内部元素属性、方法之间相互联系的程度即判断一个模块内的元素是否紧密相关的能力。如果一个模块内的元素彼此关联紧密相互依赖程度高那么它就具有高内聚性。高内聚表示模块内的元素能够很好地协同工作以完成共同的任务能够提高模块的可读性、维护性和可重用性。
耦合是指两个模块之间的相互依赖程度。例如一些模块之间需要互相调用传递数据或共享状态。如果两个模块依赖紧密那么它们就具有高耦合性。高耦合表示两个模块之间可能难以独立变更和测试会影响到整个系统的可维护性和可扩展性应该尽量避免高耦合的设计。
因此内聚和耦合都是衡量软件模块质量的重要指标高内聚和低耦合的设计有利于提高软件系统的质量和可维护性。在设计软件时需要尽量保证模块内部具有高内聚模块之间具有低耦合。这可以通过遵循设计原则如单一职责原则、接口分离原则、依赖倒置原则等以及使用设计模式等方法实现。
2.2 内聚类型模块内部高内聚
内聚Cohesion是软件设计中一个重要的概念指的是模块或组件内部元素相互关联程度的度量。 内聚性高意味着模块内部的元素彼此相关联共同完成一个明确的功能或任务而内聚性低则表示模块内部的元素关联性较弱功能不够集中。
根据元素之间的关联程度不同内聚性可分为以下几种类型 功能内聚Functional Cohesion- 业务目标一致模块内的元素共同完成一个明确的功能或任务各个元素之间相关性紧密协同工作完成特定的功能。例如一个计算器模块包括加法、减法、乘法和除法等函数这些函数在功能上紧密相关代表了功能内聚。 顺序内聚Sequential Cohesion- 业务步骤相邻模块内的元素按照一定的步骤或顺序进行操作前一个元素的输出作为后一个元素的输入形成一个操作序列。例如一个文件处理模块包括打开文件、读取文件内容、处理数据和保存结果等步骤这些步骤由于其操作顺序而形成顺序内聚。 通信内聚Communicational Cohesion- 信息传递相邻模块内的元素之间通过共享数据进行通信它们共同处理相关的数据。例如一个邮件发送模块包括输入收件人、输入邮件内容、验证发送权限和发送邮件等元素这些元素通过共享邮件内容进行通信代表了通信内聚。 过程/函数内聚Procedural Cohesion- 函数功能相似模块内的元素执行相似的操作并且在同一个流程或算法中相关联。例如一个排序模块包括选择排序、冒泡排序和快速排序等函数这些函数在相关算法的上下文中执行相似的操作代表了过程内聚。 数据内聚Data Cohesion-- 数据访问相邻或共享模块内的元素对同一数据或数据结构进行操作它们共同对该数据进行处理。例如一个学生信息管理模块包括添加学生信息、修改学生信息和删除学生信息等操作这些操作都是围绕学生信息数据进行的代表了数据内聚。 时间内聚Temporal Cohesion- 代码执行时间相邻模块内的元素在同一时间段内执行并且需要在同一时间段进行调用。例如一个报告生成模块包括收集数据、处理数据和生成报告等操作这些操作需要在同一时间段内执行代表了时间内聚。 逻辑内聚逻辑内聚是高内聚的一种形式指的是在一个模块或对象内部各个元素属性、方法按照其功能逻辑上相关的程度进行组织和协作。 具有逻辑内聚的模块或对象其内部的元素之间存在着紧密的功能联系彼此协同工作以完成共同的任务。 偶然内聚偶然内聚是指在一个模块或对象内部的各个元素属性、方法之间缺乏明确的功能关联或逻辑联系的情况。这种内聚类型是适用于一些临时性或无明确功能划分的模块或对象。 具有偶然内聚的模块或对象往往由于一些历史原因、设计折衷或外部要求等因素而形成它们内部的元素可能缺乏明确的关联功能之间可能相互独立或者无关。 偶然内聚的情况下模块或对象内部的元素之间可能杂乱无章难以理解和维护。
不同类型的内聚都对软件设计和开发有不同的影响高内聚是设计的目标因为高内聚度通常意味着模块的功能清晰易于理解、维护和测试。设计时需要根据具体需求和设计目标选择合适的内聚类型。
2.3 耦合类型模块之间低耦合
耦合Coupling是软件设计中描述模块或组件之间相互依赖程度的概念。
耦合度高表示模块之间的相互依赖程度强耦合度低表示模块之间的相互依赖程度弱。根据模块之间的相互依赖性不同耦合度可分为以下几种类型 无耦合No Coupling模块之间没有直接的相互依赖关系彼此独立存在并且不共享数据或信息。这是理想的耦合类型但在实际设计中很难完全实现。因为模块与外界没有交换就成了孤岛。 数据耦合Data Coupling模块之间通过共享数据进行通信一个模块将数据传递给另一个模块。这种耦合方式通常是通过参数传递来实现的。模块之间只有数据和信息传递没有业务逻辑的耦合。这是最理想的模块间低耦合的情况。 标记耦合Stamp Coupling模块之间通过标记或标识进行通信一个模块将标记传递给另一个模块接收方根据标记来识别并处理相应的操作。这种耦合方式通常需要模块之间有共同的标记定义。 控制耦合Control Coupling一个模块直接控制另一个模块的执行流程通常通过调用另一个模块的方法或函数来实现。这种耦合方式通常需要模块之间有相互调用的关系。 外部耦合External Coupling模块之间通过共享外部实体如文件、数据库、网络等进行通信一个模块通过读取或写入外部实体来与另一个模块进行交互。 公共耦合Common Coupling多个模块共享同一个全局数据或全局变量它们可能同时读取或同时写入该全局数据。这种耦合方式容易导致模块之间的竞争和潜在的冲突。 内容耦合Content Coupling一个模块直接访问另一个模块的内部数据或内部实现细节这种耦合方式是最强的也是应尽量避免的。
降低耦合性是良好软件设计的目标之一。高内聚和低耦合度有助于提高软件的可维护性、可重用性和可测试性。在设计时应尽量选择低耦合度的设计模式和技术以减少模块之间的相互依赖使各个模块能够独立变更和演化。
备注
模块间耦合无法通过两种方式发生耦合关系
数据逻辑
参考
[架构之路-252]目标系统 - 设计方法 - 软件工程 - 软件设计 - 分析VS设计、设计层次架构、高层、详细) 界面设计、结构化设计高内聚低耦合和面向对象设计23种设计模式-CSDN博客
[架构之路-183]-《软考-系统分析师》-13-系统设计 - 高内聚低耦合详解、图解以及技术手段-CSDN博客
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85985.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!