####程序设计方法
1.自顶向下的设计:基本思想把一个复杂的大问题,分解成多个小问题,再对小问题进行分解,最后一个一个得解决,通过解决所有小问题,达到解决整个大问题。
开发者主要关注问题的分解,每一个小问题与其他小问题的接口(调用关系),每个小问题都可以用函数来表示,符合IPO流程,关注数据的输入(参数传递)和输出(函数返回),并不纠缠在实现细节上。
2.自底向上的执行:通过从顶层分解到的小问题,并且编写了部分小问题对应的实现代码,就要从最底层的模块开始一个一个进行测试。每一个模块的功能假设测试结果符合预期,那么组合起来整个大问题的测试结果也比较容易符合预期。
对于小规模的程序,这种测试可以直接运行;对于中等规模的程序,应该从底层模块开始,进行单元测试,再逐步上升进行整体函数测试。
为了解决软件开发中的质量问题,工期问题,1968年提出了软件工程的概念:
①系统,严格约束,可量化的方法
②应用于软件的开发,运行和维护
实际上是把工程管理的理念,应用到了软件开发领域。
常见的软件开发模式:
①瀑布模式
②螺旋模式
③快速原型模式
④喷泉模式
⑤混合模式
⑥敏捷开发模式