知识预备&知识

  • 软件开发过程的由来==>软件危机
  • RUP = Rational Unified Process\
  • UMR = Unified(非专利) Modeling(模型) Language
  • 极限编程简称XP编程

一&软件

功能分类
系统软件 控制和协调计算机 ,例如:操作系统,基本工具(编译器,数据库管理,文件系统,驱动管理,等等)
支持软件 介于操作系统软件和应用软件之间,为了解决当前操作系统下应用软件的使用性和兼容性。
应用软件 办公 / 互联网 / 多媒体 / …软件
工作方式的不同
实时软件 实时地对一个或多个对象进行控制,以期达到给定的指标
分时软件 使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统
交互式软件 可以互动交流的软件 ==> 例:请输入您的密码 答:******
批处理软件 批处理就是对某对象进行批量的执行命令

二&软件开发过程模型

生命周期& (瀑布模型)&(缺点:过程期间不能更变)
1,可行性研究 => 研究报告
2,需求分析 ==> 需求说明书
3,设计软件 ==> 设计文档
4,编码 ==> 程序
5,软件测试 ==> 测试报告
6,软件维护 ==> 维护报告
快速原型模型 ( 建立模板 ==> 增加功能 ==> 测试 ==> 增加功能 ==> 测试…直到达到预期 )
增量模型(分批交付)
定义:把整个软件系统模块化,每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。
优点:相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交
螺旋模型
“螺旋模型” == "瀑布模型"与"快速原型模型"的结合
优点:强调风险分析.更适用于大型复杂的项目开发
喷泉模型
定义:喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程

软件开发统一的万能开发过程:RUP

RUP开发过程需要借助UML建模
RUP开发

敏捷开发及其极限编程

敏捷开发定义 将一个整体的项目,分为多个相互关联的,并且能独立运行的小模块,并进行分别完成,在过程中,软件已知处于适用状态
极限编程 交付时间短 // 强调客户满意度 //
传统编程 强调软件的可预测性