####程序设计方法
1.自顶向下的设计:基本思想把一个复杂的大问题,分解成多个小问题,再对小问题进行分解,最后一个一个得解决,通过解决所有小问题,达到解决整个大问题。
开发者主要关注问题的分解,每一个小问题与其他小问题的接口(调用关系),每个小问题都可以用函数来表示,符合IPO流程,关注数据的输入(参数传递)和输出(函数返回),并不纠缠在实现细节上。
2.自底向上的执行:通过从顶层分解到的小问题,并且编写了部分小问题对应的实现代码,就要从最底层的模块开始一个一个进行测试。每一个模块的功能假设测试结果符合预期,那么组合起来整个大问题的测试结果也比较容易符合预期。
对于小规模的程序,这种测试可以直接运行;对于中等规模的程序,应该从底层模块开始,进行单元测试,再逐步上升进行整体函数测试。
为了解决软件开发中的质量问题,工期问题,1968年提出了软件工程的概念:
①系统,严格约束,可量化的方法
②应用于软件的开发,运行和维护
实际上是把工程管理的理念,应用到了软件开发领域。
常见的软件开发模式:
①瀑布模式
②螺旋模式
③快速原型模式
④喷泉模式
⑤混合模式
⑥敏捷开发模式
第①到第⑤是比较传统的开发方法,近年来又诞生了第⑥点敏捷开发方法。
敏捷开发综合了传统开发优点,它具有:
Ⅰ以人为核心,迭代,循序渐进。
Ⅱ把整个问题分解成,多个相互联系,独立运行的小项目。
Ⅲ软件一直处于可使用的状态。
敏捷开发采用轻量级的软件开发:
没有最好的模式,模式之间也并不是对立关系,而是从不同的角度去认识分析问题。
个人理解:说实话这些软件方法太理论了,没啥体会。先做个记录,等实践过程中反复揣摩。
####图形图像
计算机中的图形显示
①图素法:以图形对象为基本元素,也叫矢量图
②图像法:以像素点为基本单位,也叫标量图
以python来说,它的图形有关的库很多,比如
①Tkinter,python标准GUI
②Graphics,基于Tkinter扩展
③Turtle, python内置的图形库
侧重点不一样,都属于python标准库。
个人理解:已经简单学习了turtle库,进阶内容先暂时标记。