首页 > 装修问答 > 其它 > 为什么在软件开发的设计阶段,要先不考虑实现细节,而是把实现细节封装到抽象的功能模块中,再逐步细化?

为什么在软件开发的设计阶段,要先不考虑实现细节,而是把实现细节封装到抽象的功能模块中,再逐步细化?

浏览次数:2490|时间:2024-04-25

热门回答

2024-04-24xuemei1987
接口化编程。好处是把变化封装在内部,一般需求有变化不影响与外部系统交互的接口。

150

2024-05-05dreamydream
设计阶段考虑细节很容易分心,而且,在实现的时候,还要考虑,重复,而且,在设计阶段考虑细节,设计很容易被细节影响做出全局让步,是个布局问题

248

2024-04-29豆浆煮菠菜
从设计的总体方法上叫做:自顶向下,逐步求精。
简单的说,你可以想一想,给你一副扑克牌,让你归类,按顺序排放,方法一采用直接拿一张就看一张排一张,然后一直排到54张牌;方法二采用先分出红桃、梅花、方块、黑桃四色以及大小王,然后在每一类中从1到K排序。明显第二章方法更规范、可靠性强、效率也一定比第一种方法高。同时,复杂度也低,很容易理解。
放在软件开发设计过程中,就可以这么理解:如果一个软件系统挺大,那么它的细节将会有成千上万,如果先从细节来考虑,一定会出现遗漏、重复、混乱之类问题,效率非常之低,短时间根本搞不来,当然个人觉得给你再多的时间也搞不定,额,给你1年的话,项目已经吹了= =。所以我们会先对需求进行分析,做出概要设计,里面主要是依据需求进行一个总体的功能模块划分,把一个大的系统分成许多子系统,子系统可以分成很多功能模块,再可以细分为许多子模块。而每次就只需要考虑每个子模块有哪些功能就足够了,更详细,具体如何实现的细节,会留待之后讨论,也就是所谓的详细设计阶段了。当概要设计搞出来后,对这个软件系统就有一个比较清晰的理解了,也容易控制这个软件的范围之类。
那么进入详细设计后,这个时候就开始考虑实现细节,并且每次你只需要考虑众多子模块中的一小个,例如一个网站系统后台子系统登陆模块的实现细节,这样就已经把范围给你细化到这么一个小块,思考起来也比较容易,然后再逐个模块的这么搞过去,就可以搞定了。这样很大程度上提高了效率,避免了遗漏和错误,维护起来也很容易,井井有条。
如果要再详细一点,甚至涉及到登陆验证的代码具体怎么写的,例如在验证代码中,我是用的什么方法验证,之类太过细节的问题,就已经不是设计的过程,而是软件实现了。
总的来说,概要设计是撘房子的骨架,详细设计就是添砖加瓦,实现就是装修了(可能不是形容的很准确,理解这个意思就好)。所以说- -没有所以了,就是这样~喵~

150