一、什么是分而治之
(定义展示环节)
"分而治之"(Divide and Conquer)是一种算法设计策略,通过将问题分解为更小的子问题来解决复杂的问题。这个策略的核心思想是:将原始问题划分为若干个规模较小、结构与原问题相似的子问题,然后递归地解决这些子问题,最后将它们的解合并起来得到原始问题的解。分而治之的优点包括简单、高效和易于实现。它能够有效地减小问题的规模,降低解决问题的复杂度,提高算法的效率。因此,分而治之是一种常用且有效的算法设计策略。
(个人看法)
经典的顾名思义即可,语文稍微学过的应该都能理解,就是大化小来解决,一般来说一个问题很大的时候,会让人无从下手,甚至心生畏惧,这时候将他分开来做可能会好一些,单说心理上就比较能接受。但是定义中也提到了另外的,就是将原始问题划分为小的但是和原问题结构相似的子问题,再递归解决。单看源语文中的意思是没这层面的,毕竟不是每个大问题都能化分成结构类似的小问题,从这方面来说,这种方法的运用面也更小了些。不过在算法层面上,这种思想倒是更合适一些。
二、Quora精选: 为什么软件开发周期总是预估的2~3倍?
简单说就是计划赶不上变化。一般人在做一件事之前都会事先规划,但实际上人并不是独立的孤岛,会受到外界的各种影响,包括但不限于:白事,交通事故,天灾,人身健康等等。这些计划之外的东西很可能令原本的计划延迟甚至中断。同样在软件开发过程中也存在许多不确定因素,如每个人可能会有的刚才描述的意外,还有开发人员的错误、管理不到位或方法不当等。举例来说,需求分析阶段通常需要花费相当长的时间,毕竟需要对用户进行提问,还需要设计师冥思苦想,而如果用户没有充分参与,就会导致需求不完整,从而难以进行分析,并导致后续一系列问题。如后期发现和解决需求问题的成本会增加,同时开发周期也会延长。再加上软件开发是一个多阶段过程,每个阶段都需要完成相应的任务。如果每个阶段都有问题不能及时发现并解决,那么他们就会逐渐堆积,延长整个的开发周期。
三、WBS
(如定义所示,不做解释)
WBS(工作分解结构)是项目管理中的一种重要工具,用于将项目工作范围分解为可管理的、可跟踪的任务或工作包的层次结构。它以分层结构的方式呈现,从顶层到底层,每一层都是前一层的子集,直至最底层的工作包或任务。WBS具有明确的界定、可管理性和可跟踪性等特点,有助于项目团队理清项目的组织结构和工作分配,确保项目的成功实施和交付。
四、画出入学管理系统的顶层图和1层图
顶层图
1层图