第四章 软件总体设计 1

哎呦,我发现我写的文章这几天点击量稍微高一点的文章开头都是自我吐槽(此处应该放什么表情呢),是不是像我这么善于发现自己缺点且毫不留情吐槽自己的人不多了(偷笑)。没办法我一个学渣非要跟老公学编程和测试,确实有点自不量力。但还就是想要试一下,虽然我真的很笨还有些懒(指学习上的懒)算了还是收住吧,要不然又感觉自己一无是处了。回归正题

软件设计师把软件需求转换为软件表的过程,总体设计师进入软件设计的第一阶段,只描述软件的总体结构,第二个阶段是详细设计,即对结构进一步细化。

4.1软件总体设计的目标和任务

目标:就是回答“概括地说”、系统应该如何实现?这个问题总体设计的另一项任务是软件的总体结构。即确定系统中的每个程序由那些模块组成的,每个模块的功能及模块之间的接口。调用关系等,但所有这些都不要涉及模块内部过程的细节。

4.2软件体系结构设计准则如下

1、体系结构是对复杂事物的一种抽象良好的体系,结构是普遍适用的,它能够描述各种风格的软件系统结构,可以高效地处理多种多样的个体需求。

2、体系结构在一定的时间内保持稳定,确保接口一致既能确保其中一体系结构配置描述,内相关接口描述的一致,又能确保建立关联的两个接口描述一致性。

3、良好的体系结构意味着普通、高效和稳定。

4.2.2软件模块设计准则如下

1、降低模块之间的耦合性,提高模块的内聚性

列4,1图

2、模块结构的深度、宽度、扇出和扇入应适当

深度:指软件结构中模块的层次数,它表示控制的层数。

宽度:指同一层次中最大的模块个数,它表示控制总分布、宽度越大系统结构越复杂,影响宽度的最大因素是模块的扇出,扇出示一个模块自接调用的模块数目。

扇入:指有多少个上级模块直接调用它

一般设计得比较好的软件结构,顶层扇出高、中层扇出少、底层模块有高扇入。

3、模块的作用范围要你管管在控制范围内

4、模块接口设计要简单、以便降低复杂程度和冗余度

5、设计功能可预测并能得到验证的模块。

6、适当划分模块规模、以保持独立性。

4.3模块和模块化

模块是软件结构的基础,是软件元素,是能够单独命名、独立完成一定功能的程序语句的集合,如高级语言中的过程、函数、子程序等

模块化是使得软件能够对复杂问题所应具备的属性,模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。、

4.3.2 抽象

模块最重要的特征有两个:一是抽象、二是信息隐蔽性

模块反映了数据和过程的抽象,在模块化问题求解时,可以提出不同层次的抽象,在抽象的最高层可以使用问题环境语言,以概括的方式叙述问题的解。在抽象的较底层,则可采用过程性术语,在描述问题时,面向问题的术语与面向实现的述语结合起来使用,最终在抽象的最底层,可以用直接实现的方式来说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值