Python学习笔记·计算生态(软件开发方法)

来源:互联网 发布:淘宝众筹分析报告 编辑:程序博客网 时间:2024/06/05 16:07

Python学习笔记·计算生态

注:在校计算机学生一名,菜鸟一枚,最近开始学习Python的基础知识希望有什么不对的地方各位大佬能够不令赐教!
课程是在中国大学MOOC上学的,有兴趣的同学可以自行搜索
Ps:整理是自己看了一些资料和博客之后写的,尽量将原博客的地址给出来让大家参考,有一些时间可能有些远了还请大家见谅

      • 计算思维
      • 自顶向下的设计
      • 自底向上的执行
      • 软件开发方法
      • 面向过程的程序设计
      • 面向对象的程序设计

计算思维

   2006年,美国CMU计算机系主任周以真提出 计算思维(Computational Thinking) 运用计算机科学基础概念求解问题、设计系统和理解人类行为

  • 计算思维的本质
    抽象(Abstraction)、自动化(Automation)
  • 实证思维(物理学)、逻辑思维(数学)、计算思维 (计算机)

自顶向下的设计

  • 步骤1:将算法表达为一系列小问题;
  • 步骤2:为每个小问题设计接口;
  • 步骤3:通过将算法表达为接口关联的多个小问题来细化算法;
  • 步骤4:为每个小问题重复上述过程。

自底向上的执行

从底层模块开始一个一个进行测试

  • 单元测试
    小规模程序 —-直接运行
    中等规模 —-从就结构图底层开始,逐步上升 ; 先运行每个基本函数,再测试整体函数
    较大规模 —-高级软件测试方法

软件开发方法

软件 :能够完成预定功能和性能的可执行的计算机程序、支持程序正常运行的数据、以及描述程序的操作和使用的文档。
软件工程:将系统的、严格约束的、可量化的方法应用于软件的开发、运行和维护。
软件开发生命周期: 确定问题 ->可行性分析 ->系统分析 ->系统设计 ->编码 ->测试 ->安装、维护

软件开发模式

  • 瀑布模式 :重视各个阶段的顺序性,当一个阶段的文档获得认可才进入下一阶段。
  • 螺旋模式 :设计、执行并测试原型 ->再设计、执行并测试新特征 ->将原型逐步扩展为最终程序。
  • 敏捷开发 : 以人为核心、迭代、循序渐进 ;针对传统的瀑布开发模式的弊端 ; 分为多个相互联系、独立运行的小项目 ; 软件一直处于可使用状态 。

敏捷开发典型过程
(1) 对产品形成共识
(2) 建立和维护产品需求列表,并进行优先级排序
(3) 筛选高优先级需求进入本轮迭代开发
(4) 细化本轮迭代需求,一次在本轮迭代完成
(5) 每日召开站立会议
(6) 对每轮迭代交付的可工作软件,进行现场验收和反馈。
(7)从第(3)步开始,开始下一轮迭代

面向过程的程序设计

  以程序执行过程为设计流程的思想是程序设计中最自然的一种设计方法,是一种结构化编程 。

面向过程程序设计基本步骤:
1、分析程序从输入到输出的各步骤
2、按照执行过程从前到后编写程序
3、将高耦合部分封装成模块或函数
4、输入参数,按照程序执行过程调试

面向对象的程序设计

  面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
  类:某种类型集合的描述
Python中类的定义

 class classname[(父类名)]:[成员函数及成员变量] #_init_构造函数: 初始化对象的各属性 #_del_析构函数:销毁对象 

面向对象的特点

  • 封装
    从业务逻辑中抽象对象时,赋予对象相关数据与操作,把一些数据和操作打包在一起的过程就是封装。对象的实现和使用是独立的。
  • 多态
    对象怎么回应一个依赖于对象类型或种类的消息 ,在不同情况下用一个函数名启用不同方法 ,提高了灵活性。
  • 继承
    一个类(subclass)可以借用另一个(superclass)的行为 ,从而避免重复操作,提升代码复用程度。