美文网首页程序员
10.Python编程之开发方法

10.Python编程之开发方法

作者: DonkeyJason | 来源:发表于2018-03-02 11:03 被阅读0次

软件开发

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

软件开发模式

  瀑布模式
  螺旋模式
  快速原型模式
  喷泉模式
  混合模式
  敏捷开发模式
  • 瀑布模式

     重视各个阶段的顺序性
     当一个阶段的文档获得认可才进入下一阶段。

image.png
  • 螺旋模式

     设计,执行并测试原型
     再设计,执行并测试新特征
     将原型逐步扩展为最终程序

  • 体育竞技分析

 本质:模拟一场比赛simOneGame()
 原型
     假设每个球员都有机会在50对50的概率下赢得有一分
     打了30 会合
     谁会得分或改变球权

原型的例子

import random
def simOneGame():
    scoreA = 0
    scoreB = 0
    serving = 'A'
    for i in range(30):
        if serving == 'A':
            if random.random() < 0.5:
                scoreA = scoreA + 1
            else:
                serving = 'B'
        else:
            if random.random() < 0.5:
                scoreB = scoreB + 1
                
            else:
                serving = 'A'
    print(scoreA)
    print(scoreB)
    
simOneGame()

 阶段一:构建最初的原型
 阶段二:添加两个参数代表两个球员赢球的概率
 阶段三:进行比赛,直到一个球员达到15分
 阶段四:将比赛扩展为多场比赛
 阶段五:建立完整的程序

敏捷开发

 以人为核心,迭代。循环渐进
针对传统的瀑布开发模式的弊端
 分为多个相互联系,独立运行的小项目
 软件一直处于可使用状态
  • 敏捷开发更符合软件开发的规律
 软件---植物
     自底向下
     逐步有序
     遵循软件客观规律
     迭代增量开发
  • 开发效率更高
 在传统方式中
    管理者“控制”团队
    团队成员被动的等待指令,独立工作,协作少
 在敏捷开发方式中
     管理者“激发”团队
     团队成员共同参与
  • 轻量级软件开发方法
Scrum
 极限编程(XP)
 精益开发(Lean Development)
 动态系统开发方法(DSDM)
 特征驱动开发(Feature Driver develpment)
 水晶开发(Cristal Clear)
  • Scrum
 一个开发过程
 几种角色
     产品负责人
     流程管理员
     开发团队
 一套规范的实施方法
  • 敏捷开发典型过程
 1.对成品形成共识
 2.建立和维护产品需求列表,并进行优先级排序
 3.筛选高优先级需求进入本轮迭代开发
 4.细节本轮迭代需求,一次在本轮迭代完成
 5.每日召开站立会议
  • 任务看板
 任务未完成
 任务正在做
 任务已完成
image.png
 6.对每轮迭代交付的可工作软件,进行现验场收和反馈
 7.从第3步开始,开始下一轮迭代

相关文章

网友评论

    本文标题:10.Python编程之开发方法

    本文链接:https://www.haomeiwen.com/subject/cgaoxftx.html