软件系统设计基本原则

软件系统设计基本原则
⼀、抽象
抽象是⼀种设计技术,说明⼀个实体的本质,⽽忽略不重要的⽅⾯。抽象将复杂的现象简化到可以分析、理解的程度。软件⼯程中从软件定义到软件开发要经历多个阶段,每前进⼀个阶段都可以看作是对软件解法的抽象层次的⼀次细化。抽象的最底层就是实现该软件的源程序代码。在进⾏模块化设计时也可以有多个抽象层次,最⾼抽象层次的模块⽤概括的⽅式叙述问题的解法,较低抽象层次的模块是对较⾼抽象层次模块对问题解法描述的细化。
⼆、模块化
欧尚宜家模块在程序总是数据说明、可执⾏语句等程序对象的集合,或是单独命名和编址的元素。模块化是指将⼀个待开发的软件分解成若⼲个⼩的简单部分--模块,每个模块可独⽴开发、测试,最后组装成完整的程序。只是⼀种分⽽治之的原则。模块化的⽬的是使程序的结构清晰,容易阅读、理解、测试和修改。
三、封装
封装是开发程序结构时使⽤的法则,每个程序的成分封装在⼀个单⼀的模块中,在定义每个模块时尽可能少的显露内部的处理。
封装对提⾼软件的可修改性、可测试性和可移植性有重要的作⽤。
四、模块独⽴
模块独⽴是指每个模块完成⼀个相对独⽴的特定⼦系统,并且与其他模块之间的联系简单。模块独⽴有两个标准:耦合性和内聚性。
薄层谱1、耦合是模块之间的相对独⽴性(相互之间的紧密程度)的度量。耦合取决于各个模块之间接⼝的复杂程度、调⽤模块的⽅式以及通过接⼝信息类型等。
耦合按从弱到强的顺序分为以下⼏种:测癌试纸>金正dvd维修
⾮直接耦合:两个模块之间没有直接关系,它们分别属于不同模块的控制与调⽤,它们之间不传递任何信息。因此,耦合性最弱,模块独⽴性最⾼。
数据耦合:两个模块之间有调⽤关系,传递的最简单的数据值,在程序中相当于值传递。
标记耦合:两个模块之间传递的是数据结构。
控制耦合:⼀个模块调⽤另⼀个模块时,传递的是控制变量,被调⽤模块通过该控制变量的值有选择的执⾏模块内的某⼀功能。因此,被调⽤模块应具有多个功能,哪个功能起作⽤受调⽤模块控制。
外部耦合:模块间通过软件之外的环境联结。
公共耦合:通过⼀个公共数据环境相互作⽤那些模块间的耦合。
x射线荧光光谱法内容耦合:当⼀个模块直接使⽤另⼀个模块的内部数据,或通过⾮正常⼊⼝转⼊另⼀个模块内部。
2、内聚是⼀个模块内部各个元素彼此结合的紧密程度的度量。
内聚从低到⾼分为以下⼏种:
偶然内聚(巧合内聚):⼀个模块内的各个元素直接没有任何联系。
逻辑内聚:模块内执⾏若⼲个逻辑相似的功能,通过参数确定该模块完成哪⼀个功能。
时间内聚:把需要同时执⾏的动作组合在⼀起形成的模块称为时间内聚模块。
过程内聚:⼀个模块完成多个任务,必须按照指定的过程执⾏。
通信内聚:模块内的所有处理元素都在同⼀个数据结构上操作,或者各处使⽤相同的输⼊数据或产⽣相同的输出数据。
顺序内聚:⼀个模块中的各个处理元素都密切相关同⼀个功能且顺序执⾏,前⼀个功能元素的输出是下⼀个元素功能的输⼊。
功能内聚:模块内所有元素完成同⼀个功能,缺⼀不可,是最强的内聚。
将软件划分系统模块是,应尽量做到⾼内聚、低耦合,提⾼模块独⽴性。
五、系统深度
表⽰软件结构中控制的层 数,它往往能粗略地标志⼀个系统的⼤⼩和复杂程度。如果层数过多则应该考虑是否有许多管理模块过分简单,能否适当合并。
六、系统宽度动力学模型
是软件结构内同⼀个层次上的模块总数的最⼤值。宽度越⼤系统越复杂。对宽度影响最⼤的因素是模块的扇出 。
七、模块扇出
模块的扇出是指⼀个模块直接控制(调⽤ )的下层模块数⽬ 。扇出过⼤意味着模块过分复杂,需要控制和协调过多的下级模块;扇出过⼩也不好。设计得好的系统平均扇出是3或4。
⼋、模块扇⼊
是指有多少个上级模块调⽤它,扇⼊越⼤则共享该模块的上级模块数⽬越多 。
在模块分解时需要注意:保持模块的⼤⼩适中尽可能减少调⽤的深度直接调⽤该模块的次数应该尽最多,但调⽤其他模块的次数则不宜过多(扇⼊⼤,扇出⼩)。好的软件设计结构顶层⾼扇出,中间扇出较少,底层⾼扇⼊。保证模块是单⼊⼝、 单出⼝的,模块的作⽤域应该在模块之内功能应该是可预测的

本文发布于:2024-09-22 06:57:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/533340.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   内聚   功能   耦合
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议